# Spark

**Kind:** Class

**Source:** `Pams/Web/Pams.Web/Client/app/models/dashboard/dashboard-data-fields.ts` (line 508)

**Part of:** [Pams](subsystem-pams)

`Spark` represents metadata for a dashboard data field, including its stored name, field name, caption, `Measure` type, and hidden state. Dashboard code reads and updates these values through the class getter and setter methods.

## Methods

| Method | Signature | Returns |
|---|---|---|
| `isHidden` | `isHidden()` | `boolean` |
| `setHidden` | `setHidden(flag: boolean)` | `void` |
| `GetStoredName` | `GetStoredName()` | `string` |
| `SetStoredName` | `SetStoredName(name: string)` | `void` |
| `GetFieldName` | `GetFieldName()` | `string` |
| `SetFieldName` | `SetFieldName(name: string)` | `void` |
| `GetType` | `GetType()` | `Measure` |
| `SetType` | `SetType(ty: Measure)` | `void` |
| `GetCaption` | `GetCaption()` | `string` |
| `SetCaption` | `SetCaption(input: string)` | `void` |
| `SetDataType` | `SetDataType(ty: DataTypeEnum)` | `void` |
| `GetDataType` | `GetDataType()` | `DataTypeEnum` |
| `GetFieldNameAgru` | `GetFieldNameAgru()` | `string` |
| `SetFieldNameAgru` | `SetFieldNameAgru(name: string)` | `void` |
| `GetStoredNameAgru` | `GetStoredNameAgru()` | `string` |
| `SetStoredNameAgru` | `SetStoredNameAgru(name: string)` | `void` |
| `GetTypeAgru` | `GetTypeAgru()` | `DateGroupEnum` |
| `SetTypeAgru` | `SetTypeAgru(dt: DateGroupEnum)` | `void` |

## Diagram

```mermaid
graph LR
  Spark[Spark]
  Spark --> Hidden[isHidden / setHidden]
  Spark --> StoredName[GetStoredName / SetStoredName]
  Spark --> FieldName[GetFieldName / SetFieldName]
  Spark --> Type[GetType / SetType: Measure]
  Spark --> Caption[GetCaption / SetCaption]
```

## Usage

```ts
const spark = new Spark();

spark.SetStoredName("total_sales");
spark.SetFieldName("TotalSales");
spark.SetCaption("Total Sales");
spark.SetType(measure);

if (!spark.isHidden()) {
  console.log(spark.GetCaption());
}

spark.setHidden();
```

## AI Coding Instructions

- Use `GetStoredName`, `GetFieldName`, `GetType`, and `GetCaption` when reading dashboard field metadata.
- Update field metadata through the matching `Set...` methods rather than changing internal properties directly.
- Pass a `Measure` value to `SetType()`.
- Treat `setHidden()` as a state-changing call with no argument; check the result through `isHidden()`.
- Preserve the existing method casing, including `setHidden()` and the PascalCase getter and setter methods.

## Used by

1 reference from 1 file. Each is a place in this repository where the symbol is actually used — go read one rather than trusting an example.

### Imported by (1)

- `DashboardWidgetOperationsService` — `Pams/Web/Pams.Web/Client/app/services/dashboard/dashboard-widget-operations.service.ts`:1
