Skip to content

Operations

reference
2 min readUpdated

Kind: Class

Source: Pams/Web/Pams.Web/Client/app/components/dashboard/dashboard-operations.ts (line 15)

Part of: Pams

Operations contains dashboard data helpers for converting enums, grouping and sorting records, preparing grouped data, and calculating derived values. It also includes display-oriented helpers for remaining-day values, sparkline data, and random colors.

Methods

MethodSignatureReturns
EnumToArrayEnumToArray(Enum: any)EnumItem[]
GroupBy_v1GroupBy_v1(GroupFields: dash.GroupOperation[], DataSource: any[], removeNull: boolean)any[]
GroupBy_SingleGroupBy_Single(GroupQuery: dash.Query, DataSource: any[], removeNull: boolean)any[]
ConstructGroups_WithFieldsConstructGroups_WithFields(GroupFields: dash.GroupOperation[], DataSource: any[], Qtype: dash.QueryTypeEnum, removeNull: boolean, sortGroups: undefined)PreparedDataGroups
SortGroupsSortGroups(Groups: any[], type: dash.SortingType)void
SortGroupedObjectKeysSortGroupedObjectKeys(data: any[], seperated: any[])void
getRemainingDaysgetRemainingDays(CompareDate: any, OrderActivationDate: any, DaystoDelivery: number)number
SparkLineSparkLine(Field: dash.MeasureOperation, Agru: dash.GroupOperation, data: any[])void
getRandomColorgetRandomColor()void
CalculateExpressionCalculateExpression(exp: dash.CalculatedField, data: any[])void
PrepareGroupsPrepareGroups(Queries: dash.Query[], Data: any[], removeNull: boolean)any[]
PrepareSerisePrepareSerise(Queries: dash.Query[], Data: any[], removeNull: boolean)any[]
PrepareGroups_withFieldsPrepareGroups_withFields(Queries: dash.Query[], Data: any[], removeNull: boolean, sortGroups: boolean)PreparedDataGroups
PrepareSerise_withFieldsPrepareSerise_withFields(Queries: dash.Query[], Data: any[], removeNull: boolean, sortGroups: boolean)PreparedDataGroups
BuildGridBuildGrid(Quries: dash.Query[], Datasource: any[])any[]
BuildPieChartBuildPieChart(Quries: dash.Query[], Datasource: any[])any[]
BuildPieChart_chartjsBuildPieChart_chartjs(Quries: dash.Query[], DatasourceOrg: any[])widgetData
BuildWidgetBuildWidget(widget: DashboardWidget)void
BuildGaugeBuildGauge(Queries: dash.Query[], dataSource: any[])void
reSortLabelsreSortLabels(widget: DashboardWidget)void
construct_layerconstruct_layer(data: any[], agrument: any)any[]
buildActiveTotalChartbuildActiveTotalChart(Quries: dash.Query[], Datasource: any[])any
buildFlatChartsbuildFlatCharts(Quries: dash.Query[], Datasource: any[])any
handleSerisehandleSerise(ser: dash.Query[], data: any[], argu: any)any
cloneDeepNotIndexedcloneDeepNotIndexed(arr: undefined)void
ConcatDistinctroupsConcatDistinctroups(T: DimensionField[], S: DimensionField[])DimensionField[]
buildDigitChartbuildDigitChart(Quries: dash.Query[], DatasourceOrg: any[])number
buildFlatCharts_chartjsbuildFlatCharts_chartjs(Quries: dash.Query[], DatasourceOrg: any[])widgetData
buildExpBarChartbuildExpBarChart(Quries: dash.Query[], DatasourceOrg: any[])widgetData
calculatExpcalculatExp(groups: dash.Query[], datasets: any[])any
constructorExpLabelsconstructorExpLabels(type: dash.DateGroupEnum)void
arrangColorsarrangColors(dataset: any[])void
ApplyFiltersApplyFilters(widget: DashboardWidget, Updating: boolean)void
formatDateformatDate(date: any, Type: dash.DateGroupEnum, dashes: boolean)void
FilterByStringFilterByString(FilterString: string, data: any[])any[]
FilterAndGroupFilterAndGroup(FilterString: string, GroupOptions: DashboardDataFields[], Data: any[], FilterFirst: undefined)void
FilterListsFilterLists(FilterList: any[], Datasource: any[])any[]
GroupByGroupBy(fields: DashboardDataFields[], Data: any[])any[]

Properties

PropertyType
MasterFilterany[]
MasterFilterListIDsany[]

Where it refuses work

  • Operations stops the work with an early return when !groupField || !actual || !target.
  • Operations stops the work with an early return when !groups || !groups.length.
  • Operations stops the work with an early return when !actual.
  • Operations stops the work with an early return when !labels.
  • Operations stops the work with an early return when type == dash.DateGroupEnum.Month.
  • Operations stops the work with an early return when FilterString.length > 3.

Diagram

mermaid
graph LR
  Operations --> EnumToArray
  Operations --> GroupBy_v1
  Operations --> GroupBy_Single
  Operations --> ConstructGroups_WithFields
  Operations --> SortGroups
  Operations --> SortGroupedObjectKeys
  Operations --> CalculateExpression
  Operations --> getRemainingDays
  Operations --> SparkLine
  Operations --> getRandomColor

  GroupBy_v1 --> ConstructGroups_WithFields
  GroupBy_Single --> ConstructGroups_WithFields
  ConstructGroups_WithFields --> SortGroups
  SortGroups --> SortGroupedObjectKeys

Usage

ts
import { Operations } from "./components/dashboard/dashboard-operations";

const operations = new Operations();

const enumItems = operations.EnumToArray();
const groupedRecords = operations.GroupBy_v1();
const preparedGroups = operations.ConstructGroups_WithFields();

operations.SortGroups();
operations.SortGroupedObjectKeys();

const remainingDays = operations.getRemainingDays();
const sparkLineData = operations.SparkLine();
const color = operations.getRandomColor();
const calculatedValue = operations.CalculateExpression();

console.log({
  enumItems,
  groupedRecords,
  preparedGroups,
  remainingDays,
  sparkLineData,
  color,
  calculatedValue,
});

AI Coding Instructions

  • Keep grouping logic inside Operations so dashboard components consume prepared group data rather than duplicate grouping behavior.
  • Call sorting methods after building grouped data when the dashboard depends on ordered group output.
  • Preserve the return shapes of EnumToArray, grouping methods, and ConstructGroups_WithFields when changing dashboard data handling.
  • Treat SparkLine, getRandomColor, and CalculateExpression as display and derived-value helpers; keep their output compatible with current dashboard bindings.

Relationships

  • IMPORTS → DashboardDataFields
  • IMPORTS → OperationTypeEnum
  • IMPORTS → DateGroupEnum
  • IMPORTS → FilterOptions
  • IMPORTS → DataTypeEnum
  • IMPORTS → Measure
  • IMPORTS → data
  • IMPORTS → EnumItem
  • IMPORTS → DimensionField
  • IMPORTS → PreparedDataGroups
  • IMPORTS → DashboardWidgetTypeEnum
  • IMPORTS → DateGroupEnum
  • IMPORTS → DashboardWidget
  • IMPORTS → widgetData
  • IMPORTS → AppSettings

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)

  • DashboardWidgetOperationsServicePams/Web/Pams.Web/Client/app/services/dashboard/dashboard-widget-operations.service.ts:1

Was this page helpful?

Download as PDF