ato-water-lib 0.0.79 → 0.0.82

Sign up to get free protection for your applications and to get access to all the features.
@@ -1 +1 @@
1
- {"version":3,"file":"ato-water-lib.mjs","sources":["../../../projects/ato-water-lib/src/lib/ato-water-lib.service.ts","../../../projects/ato-water-lib/src/lib/ato-water-lib.component.ts","../../../projects/ato-water-lib/src/lib/constants/value.const.ts","../../../projects/ato-water-lib/src/lib/models/gojs-editor.model.ts","../../../projects/ato-water-lib/src/lib/constants/key.const.ts","../../../projects/ato-water-lib/src/lib/constants/applicable-prefixes-const.ts","../../../projects/ato-water-lib/src/lib/services/utils/utils.service.ts","../../../projects/ato-water-lib/src/lib/constants/plant.constant.ts","../../../projects/ato-water-lib/src/lib/constants/icon-base64.const.ts","../../../projects/ato-water-lib/src/lib/models/default-gojs-editor.model.ts","../../../projects/ato-water-lib/src/lib/directive/ato-loading.directive.ts","../../../projects/ato-water-lib/src/lib/components/flow-diagram-lib/flow-diagram-lib.component.ts","../../../projects/ato-water-lib/src/lib/components/flow-diagram-lib/flow-diagram-lib.component.html","../../../projects/ato-water-lib/src/lib/constants/base64.const.ts","../../../projects/ato-water-lib/src/lib/constants/components-group-const.ts","../../../projects/ato-water-lib/src/lib/components/asset-params-view/asset-params-view.component.ts","../../../projects/ato-water-lib/src/lib/components/asset-params-view/asset-params-view.component.html","../../../projects/ato-water-lib/src/lib/components/asset-flow/asset-flow.component.ts","../../../projects/ato-water-lib/src/lib/components/asset-flow/asset-flow.component.html","../../../projects/ato-water-lib/src/lib/directive/ng-var.directive.ts","../../../projects/ato-water-lib/src/lib/ato-water-lib.module.ts","../../../projects/ato-water-lib/src/public-api.ts","../../../projects/ato-water-lib/src/ato-water-lib.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AtoWaterLibService {\n\n constructor() { }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'lib-ato-water-lib',\n template: `\n <p>\n ato-water-lib works!\n </p>\n `,\n styles: [\n ]\n})\nexport class AtoWaterLibComponent {\n\n}\n","// import { AnalyticsService } from '@dashboards-shared/services/analytics.service';\n// import { E_Frequency } from './frequency.enum';\n// import { ENUM_RISK_COLOR } from './information.const';\n// import { ABBREVIATION } from './applicable-prefixes-const';\n\n// export const DEFAULT_NAMES_MAPPING: any = {\n// CMS: 'CMS',\n// ETP: 'ETP',\n// ZLD: 'ZLD',\n// RO: 'RO',\n// CMSLabWashing: 'CMS Lab Washing',\n// };\n\nexport const VALUE_NA = 'NA';\nexport const NO_DATA = 'No Data';\nexport const VALUE_NA_SPECIAL = 'N/A';\nexport const TEXT_UNKNOWN = '?';\nexport const TEXT_ERR = '!Err';\nexport const NO_ENOUGH_DATA = 'Not enough data';\n\n// For Element DOM\nexport const KEY_CREATE_DOM_TO_DOWNLOAD = 'newCreateToDownload';\nexport const NO_HIDDEN = 'noHidden';\n\nexport const GROUP_PLANT_CELL_KEY = 3000;\nexport const GROUP_PC_INPUTS_KEY = 1000;\nexport const GROUP_PC_OUTPUTS_KEY = 2000;\nexport const ENUM_ROLES = 'ROLES';\n\nexport enum E_FILTER_KEY {\n VIEW_MODE = 'viewMode',\n WATER_UNIT = 'waterUnit',\n ENERGY_UNIT = 'energyUnit',\n ELECTRICITY_UNIT = 'electricityUnit',\n NATURAL_GAS_UNIT = 'naturalGasUnit',\n FUEL_UNIT = 'fuelUnit',\n CURRENCY_UNIT = 'currencyUnit',\n}\n\nexport enum ATO_ECOMPONENT_PLANT_TYPE {\n WATER = 'water',\n ENERGY = 'energy',\n ELECTRICITY = 'electricity',\n NATURAL_GAS = 'gas',\n FUEL = 'fuel',\n STEAM = 'steam',\n EMISSION = 'emission',\n COST = 'cost',\n\n WATER_PLANT_CELL = 'water-plant-cell',\n ENERGY_PLANT_CELL = 'energy-plant-cell',\n ELECTRICITY_PLANT_CELL = 'electricity-plant-cell',\n NATURAL_GAS_PLANT_CELL = 'gas-plant-cell',\n FUEL_PLANT_CELL = 'fuel-plant-cell',\n STEAM_PLANT_CELL = 'steam-plant-cell',\n EMISSION_PLANT_CELL = 'emission-plant-cell',\n COST_PLANT_CELL = 'cost-plant-cell',\n}\n\nexport const COMPOTYPE_CALL_PLANT_TOPOLOGY_DETAILS: string[] = [\n ATO_ECOMPONENT_PLANT_TYPE.WATER,\n ATO_ECOMPONENT_PLANT_TYPE.WATER_PLANT_CELL,\n ATO_ECOMPONENT_PLANT_TYPE.ENERGY_PLANT_CELL,\n ATO_ECOMPONENT_PLANT_TYPE.ELECTRICITY_PLANT_CELL,\n ATO_ECOMPONENT_PLANT_TYPE.NATURAL_GAS_PLANT_CELL,\n ATO_ECOMPONENT_PLANT_TYPE.FUEL_PLANT_CELL,\n ATO_ECOMPONENT_PLANT_TYPE.STEAM_PLANT_CELL,\n ATO_ECOMPONENT_PLANT_TYPE.EMISSION_PLANT_CELL,\n ATO_ECOMPONENT_PLANT_TYPE.COST_PLANT_CELL,\n];\n\nexport const COMPONENT_TYPE_OF_PLANT_CELL: string[] = [\n ATO_ECOMPONENT_PLANT_TYPE.WATER_PLANT_CELL,\n ATO_ECOMPONENT_PLANT_TYPE.ENERGY_PLANT_CELL,\n ATO_ECOMPONENT_PLANT_TYPE.ELECTRICITY_PLANT_CELL,\n ATO_ECOMPONENT_PLANT_TYPE.NATURAL_GAS_PLANT_CELL,\n ATO_ECOMPONENT_PLANT_TYPE.FUEL_PLANT_CELL,\n ATO_ECOMPONENT_PLANT_TYPE.STEAM_PLANT_CELL,\n ATO_ECOMPONENT_PLANT_TYPE.EMISSION_PLANT_CELL,\n ATO_ECOMPONENT_PLANT_TYPE.COST_PLANT_CELL,\n];\n\nexport const COMPONENT_TYPE_OF_PLANT_CELL_ENERGY: string[] = [\n ATO_ECOMPONENT_PLANT_TYPE.ENERGY_PLANT_CELL,\n ATO_ECOMPONENT_PLANT_TYPE.ELECTRICITY_PLANT_CELL,\n ATO_ECOMPONENT_PLANT_TYPE.NATURAL_GAS_PLANT_CELL,\n ATO_ECOMPONENT_PLANT_TYPE.FUEL_PLANT_CELL,\n ATO_ECOMPONENT_PLANT_TYPE.STEAM_PLANT_CELL,\n ATO_ECOMPONENT_PLANT_TYPE.EMISSION_PLANT_CELL,\n ATO_ECOMPONENT_PLANT_TYPE.COST_PLANT_CELL,\n];\n\n// export enum E_TOPOLOGY_TYPE {\n// OVER_VIEW = 'over-view',\n// PLANT_CELL = 'plant-cell',\n// }\n\nexport enum E_COMPONENT_DATA_TYPE {\n COMPONENT_WATER_FLOW = 'ComponentWaterFlow',\n COMPONENT_ENERGY_FLOW = 'ComponentEnergyFlow',\n}\n\nexport enum E_FLOW_RECORD {\n INFLOW_WATER_RECORD = 'InflowWaterRecord',\n OUTFLOW_WATER_RECORD = 'OutflowWaterRecord',\n INFLOW_ENERGY_RECORD = 'InflowEnergyRecord',\n OUTFLOW_ENERGY_RECORD = 'OutflowEnergyRecord',\n}\n\n// export enum TAB_DASHBOARD {\n// WATER = 'water',\n// WATER_LABEL = 'Water',\n// ENERGY_EMISSION = 'energy & emissions',\n// ENERGY_EMISSION_LABEL = 'Energy & Emissions',\n// }\n\n// export enum TAB_SETUP_COMPLIANCE {\n// PLANT_LEVEL = 'Plant level',\n// PROCESS_LEVEL = 'Process Level',\n// }\n\n// export enum PLANT_ENERGY_DIAGRAM_TABS_INDEX {\n// ENERGY = 0,\n// ELECTRICITY = 1,\n// NATURAL_GAS = 2,\n// FUEL = 3,\n// EMISSIONS = 4\n// }\n\nexport enum TAG_TYPE {\n WATER = 'Water',\n ELECTRICITY = 'Electricity',\n NATURAL_GAS = 'Natural Gas',\n FUEL = 'Fuel',\n STEAM = 'Steam',\n ENERGY = 'Energy',\n EMISSION = 'Emission',\n COST = 'Cost',\n WATER_ANALYTIC = 'Water Analytic',\n}\n\n// export enum TAB_WS_ENERGY_EMISSION {\n// TABLE = 'table',\n// DIAGRAM = 'diagram',\n// }\n\nexport const PLANT_ENERGY_DIAGRAM_TABS: {\n [key in ATO_ECOMPONENT_PLANT_TYPE]: any;\n} = {\n [ATO_ECOMPONENT_PLANT_TYPE.WATER]: {\n keyUnitFromList: 'Water',\n keyUnit: 'waterUnit',\n keyFlowTopology: 'Water',\n keyTab: 'Water',\n indexTab: -1,\n keyComponent: 'waterComponents',\n keyRoute: 'Water',\n subSystemId: 'subWaterSystemId',\n nameTab: 'Water',\n loc: 'locWater',\n keyToUpdateModel: 'waterData',\n topologyType: 'PlantTopology',\n type: 'water',\n componentFlow: E_COMPONENT_DATA_TYPE.COMPONENT_WATER_FLOW,\n topologyViewType: ATO_ECOMPONENT_PLANT_TYPE.WATER,\n iconClassName: 'fa-regular fa-tank-water font-size-16px',\n tagType: TAG_TYPE.WATER,\n inflowRecord: E_FLOW_RECORD.INFLOW_WATER_RECORD,\n outflowRecord: E_FLOW_RECORD.OUTFLOW_WATER_RECORD,\n keyGroupMenu: 'Water',\n },\n [ATO_ECOMPONENT_PLANT_TYPE.ENERGY]: {\n keyUnitFromList: 'Energy',\n keyUnit: 'energyUnit',\n keyFlowTopology: 'Energy',\n keyTab: 'Energy',\n indexTab: 4,\n keyComponent: '',\n keyRoute: 'energy',\n nameTab: 'Energy',\n loc: 'locEnergy',\n keyToUpdateModel: '',\n type: 'water',\n componentFlow: E_COMPONENT_DATA_TYPE.COMPONENT_ENERGY_FLOW,\n topologyViewType: ATO_ECOMPONENT_PLANT_TYPE.ENERGY,\n tagType: TAG_TYPE.ENERGY,\n inflowRecord: E_FLOW_RECORD.INFLOW_ENERGY_RECORD,\n outflowRecord: E_FLOW_RECORD.OUTFLOW_ENERGY_RECORD,\n },\n [ATO_ECOMPONENT_PLANT_TYPE.ELECTRICITY]: {\n keyUnitFromList: 'Electricity',\n keyUnit: 'electricityUnit',\n keyFlowTopology: 'Electricity',\n keyTab: 'Electricals',\n indexTab: 0,\n keyComponent: 'electricComponents',\n keyRoute: 'electricity',\n subSystemId: 'subElectricSystemId',\n nameTab: 'Electricity',\n loc: 'locElectricity',\n keyToUpdateModel: 'electricData',\n topologyType: 'Electricity',\n type: 'electricity',\n componentFlow: E_COMPONENT_DATA_TYPE.COMPONENT_ENERGY_FLOW,\n topologyViewType: ATO_ECOMPONENT_PLANT_TYPE.ELECTRICITY,\n iconClassName: 'fa-regular fa-bolt font-size-16px',\n tagType: TAG_TYPE.ELECTRICITY,\n inflowRecord: E_FLOW_RECORD.INFLOW_ENERGY_RECORD,\n outflowRecord: E_FLOW_RECORD.OUTFLOW_ENERGY_RECORD,\n keyGroupMenu: 'Electricity',\n },\n [ATO_ECOMPONENT_PLANT_TYPE.NATURAL_GAS]: {\n keyUnitFromList: 'Gas',\n keyUnit: 'naturalGasUnit',\n keyFlowTopology: 'NaturalGas',\n keyTab: 'NaturalGases',\n indexTab: 1,\n keyComponent: 'gasComponents',\n keyRoute: 'gas',\n subSystemId: 'subGasSystemId',\n nameTab: 'Natural Gas',\n loc: 'locGas',\n keyToUpdateModel: 'gasData',\n topologyType: 'NaturalGas',\n type: 'naturalgas',\n componentFlow: E_COMPONENT_DATA_TYPE.COMPONENT_ENERGY_FLOW,\n topologyViewType: ATO_ECOMPONENT_PLANT_TYPE.NATURAL_GAS,\n iconClassName: 'fa-regular fa-fire-flame-curved font-size-16px',\n tagType: TAG_TYPE.NATURAL_GAS,\n inflowRecord: E_FLOW_RECORD.INFLOW_ENERGY_RECORD,\n outflowRecord: E_FLOW_RECORD.OUTFLOW_ENERGY_RECORD,\n keyGroupMenu: 'NaturalGases',\n },\n [ATO_ECOMPONENT_PLANT_TYPE.FUEL]: {\n keyUnitFromList: 'Fuel',\n keyUnit: 'fuelUnit',\n keyFlowTopology: 'Fuel',\n keyTab: 'Fuels',\n indexTab: 2,\n keyComponent: 'fuelComponents',\n keyRoute: 'fuel',\n subSystemId: 'subFuelSystemId',\n nameTab: 'Fuel',\n loc: 'locFuel',\n keyToUpdateModel: 'fuelData',\n topologyType: 'Fuel',\n type: 'fuel',\n componentFlow: E_COMPONENT_DATA_TYPE.COMPONENT_ENERGY_FLOW,\n topologyViewType: ATO_ECOMPONENT_PLANT_TYPE.FUEL,\n iconClassName: 'fa-regular fa-gas-pump font-size-16px',\n tagType: TAG_TYPE.FUEL,\n inflowRecord: E_FLOW_RECORD.INFLOW_ENERGY_RECORD,\n outflowRecord: E_FLOW_RECORD.OUTFLOW_ENERGY_RECORD,\n keyGroupMenu: 'Fuels',\n },\n [ATO_ECOMPONENT_PLANT_TYPE.STEAM]: {\n keyUnitFromList: 'Steam',\n keyUnit: 'steamUnit',\n keyFlowTopology: 'Steam',\n keyTab: 'Steams',\n indexTab: 3,\n keyComponent: 'steamComponents',\n keyRoute: 'steam',\n subSystemId: 'subSteamSystemId',\n nameTab: 'Steam',\n loc: 'locSteam',\n keyToUpdateModel: 'steamData',\n topologyType: 'Steam',\n type: 'steam',\n componentFlow: E_COMPONENT_DATA_TYPE.COMPONENT_ENERGY_FLOW,\n topologyViewType: ATO_ECOMPONENT_PLANT_TYPE.STEAM,\n iconClassName: 'fa-regular fa-heat font-size-16px',\n tagType: TAG_TYPE.STEAM,\n inflowRecord: E_FLOW_RECORD.INFLOW_ENERGY_RECORD,\n outflowRecord: E_FLOW_RECORD.OUTFLOW_ENERGY_RECORD,\n keyGroupMenu: 'Steams',\n },\n [ATO_ECOMPONENT_PLANT_TYPE.EMISSION]: {\n keyUnitFromList: 'Emissions',\n keyUnit: 'Emissions',\n keyFlowTopology: 'Emissions',\n keyTab: 'Emissions',\n indexTab: 5,\n keyComponent: 'emissionComponents',\n keyRoute: 'emission',\n loc: 'locEmission',\n keyToUpdateModel: 'emissionData',\n topologyViewType: ATO_ECOMPONENT_PLANT_TYPE.EMISSION,\n tagType: TAG_TYPE.EMISSION,\n inflowRecord: E_FLOW_RECORD.INFLOW_ENERGY_RECORD,\n outflowRecord: E_FLOW_RECORD.OUTFLOW_ENERGY_RECORD,\n },\n [ATO_ECOMPONENT_PLANT_TYPE.COST]: {\n keyUnitFromList: 'Cost',\n keyUnit: 'Cost',\n keyFlowTopology: 'Cost',\n keyTab: 'Cost',\n indexTab: 4,\n keyComponent: 'costComponents',\n keyRoute: 'cost',\n loc: 'locCost',\n keyToUpdateModel: 'costData',\n type: 'cost',\n topologyViewType: ATO_ECOMPONENT_PLANT_TYPE.COST,\n tagType: TAG_TYPE.COST,\n inflowRecord: E_FLOW_RECORD.INFLOW_ENERGY_RECORD,\n outflowRecord: E_FLOW_RECORD.OUTFLOW_ENERGY_RECORD,\n },\n [ATO_ECOMPONENT_PLANT_TYPE.WATER_PLANT_CELL]: {\n keyUnitFromList: 'Water',\n keyUnit: 'waterUnit',\n keyFlowTopology: 'Water',\n keyTab: 'Water',\n indexTab: -1,\n keyComponent: 'waterComponents_PlantCell',\n keyRoute: 'Water',\n subSystemId: 'subWaterSystemId',\n loc: 'locWater',\n keyToUpdateModel: 'waterDataPlantCell',\n topologyType: 'PlantTopology',\n type: 'water',\n componentFlow: E_COMPONENT_DATA_TYPE.COMPONENT_WATER_FLOW,\n topologyViewType: ATO_ECOMPONENT_PLANT_TYPE.WATER,\n tagType: TAG_TYPE.WATER,\n inflowRecord: E_FLOW_RECORD.INFLOW_WATER_RECORD,\n outflowRecord: E_FLOW_RECORD.OUTFLOW_WATER_RECORD,\n },\n [ATO_ECOMPONENT_PLANT_TYPE.ENERGY_PLANT_CELL]: {\n keyUnitFromList: 'Energy',\n keyUnit: 'energyUnit',\n keyFlowTopology: 'Energy',\n keyTab: 'Energy',\n indexTab: 3,\n keyComponent: '',\n keyRoute: 'energy',\n loc: 'locEnergy',\n keyToUpdateModel: '',\n type: 'water',\n componentFlow: E_COMPONENT_DATA_TYPE.COMPONENT_WATER_FLOW,\n topologyViewType: ATO_ECOMPONENT_PLANT_TYPE.ENERGY,\n tagType: TAG_TYPE.ENERGY,\n inflowRecord: E_FLOW_RECORD.INFLOW_ENERGY_RECORD,\n outflowRecord: E_FLOW_RECORD.OUTFLOW_ENERGY_RECORD,\n },\n [ATO_ECOMPONENT_PLANT_TYPE.ELECTRICITY_PLANT_CELL]: {\n keyUnitFromList: 'Electricity',\n keyUnit: 'electricityUnit',\n keyFlowTopology: 'Electricity',\n keyTab: 'Electricals',\n indexTab: 0,\n keyComponent: 'electricComponents_PlantCell',\n keyRoute: 'electricity',\n subSystemId: 'subElectricSystemId',\n nameTab: 'Electricity',\n loc: 'locElectricity',\n keyToUpdateModel: 'electricDataPlantCell',\n topologyType: 'Electricity',\n type: 'electricity',\n componentFlow: E_COMPONENT_DATA_TYPE.COMPONENT_ENERGY_FLOW,\n topologyViewType: ATO_ECOMPONENT_PLANT_TYPE.ELECTRICITY,\n tagType: TAG_TYPE.ELECTRICITY,\n inflowRecord: E_FLOW_RECORD.INFLOW_ENERGY_RECORD,\n outflowRecord: E_FLOW_RECORD.OUTFLOW_ENERGY_RECORD,\n },\n [ATO_ECOMPONENT_PLANT_TYPE.NATURAL_GAS_PLANT_CELL]: {\n keyUnitFromList: 'Gas',\n keyUnit: 'naturalGasUnit',\n keyFlowTopology: 'NaturalGas',\n keyTab: 'NaturalGases',\n indexTab: 1,\n keyComponent: 'gasComponents_PlantCell',\n keyRoute: 'gas',\n subSystemId: 'subGasSystemId',\n nameTab: 'Natural Gas',\n loc: 'locGas',\n keyToUpdateModel: 'gasDataPlantCell',\n topologyType: 'NaturalGas',\n type: 'naturalgas',\n componentFlow: E_COMPONENT_DATA_TYPE.COMPONENT_ENERGY_FLOW,\n topologyViewType: ATO_ECOMPONENT_PLANT_TYPE.NATURAL_GAS,\n tagType: TAG_TYPE.NATURAL_GAS,\n inflowRecord: E_FLOW_RECORD.INFLOW_ENERGY_RECORD,\n outflowRecord: E_FLOW_RECORD.OUTFLOW_ENERGY_RECORD,\n },\n [ATO_ECOMPONENT_PLANT_TYPE.FUEL_PLANT_CELL]: {\n keyUnitFromList: 'Fuel',\n keyUnit: 'fuelUnit',\n keyFlowTopology: 'Fuel',\n keyTab: 'Fuels',\n indexTab: 2,\n keyComponent: 'fuelComponents_PlantCell',\n keyRoute: 'fuel',\n subSystemId: 'subFuelSystemId',\n nameTab: 'Fuel',\n loc: 'locFuel',\n keyToUpdateModel: 'fuelDataPlantCell',\n topologyType: 'Fuel',\n type: 'fuel',\n componentFlow: E_COMPONENT_DATA_TYPE.COMPONENT_ENERGY_FLOW,\n topologyViewType: ATO_ECOMPONENT_PLANT_TYPE.FUEL,\n tagType: TAG_TYPE.FUEL,\n inflowRecord: E_FLOW_RECORD.INFLOW_ENERGY_RECORD,\n outflowRecord: E_FLOW_RECORD.OUTFLOW_ENERGY_RECORD,\n },\n\n [ATO_ECOMPONENT_PLANT_TYPE.STEAM_PLANT_CELL]: {\n keyUnitFromList: 'Steam',\n keyUnit: 'steamUnit',\n keyFlowTopology: 'Steam',\n keyTab: 'Steams',\n indexTab: 2,\n keyComponent: 'steamComponents_PlantCell',\n keyRoute: 'steam',\n subSystemId: 'subSteamSystemId',\n nameTab: 'Steam',\n loc: 'locSteam',\n keyToUpdateModel: 'steamDataPlantCell',\n topologyType: 'Steam',\n type: 'steam',\n componentFlow: E_COMPONENT_DATA_TYPE.COMPONENT_ENERGY_FLOW,\n topologyViewType: ATO_ECOMPONENT_PLANT_TYPE.STEAM,\n tagType: TAG_TYPE.STEAM,\n inflowRecord: E_FLOW_RECORD.INFLOW_ENERGY_RECORD,\n outflowRecord: E_FLOW_RECORD.OUTFLOW_ENERGY_RECORD,\n },\n\n [ATO_ECOMPONENT_PLANT_TYPE.EMISSION_PLANT_CELL]: {\n keyUnitFromList: 'Emissions',\n keyUnit: 'Emissions',\n keyFlowTopology: 'Emissions',\n keyTab: 'Emissions',\n indexTab: 5,\n keyComponent: '',\n keyRoute: 'emission',\n loc: 'locEmission',\n keyToUpdateModel: '',\n topologyViewType: ATO_ECOMPONENT_PLANT_TYPE.EMISSION,\n tagType: TAG_TYPE.EMISSION,\n inflowRecord: E_FLOW_RECORD.INFLOW_ENERGY_RECORD,\n outflowRecord: E_FLOW_RECORD.OUTFLOW_ENERGY_RECORD,\n },\n [ATO_ECOMPONENT_PLANT_TYPE.COST_PLANT_CELL]: {\n keyUnitFromList: 'Cost',\n keyUnit: 'Cost',\n keyFlowTopology: 'Cost',\n keyTab: 'Cost',\n indexTab: 4,\n keyComponent: 'costComponents_PlantCell',\n keyRoute: 'cost',\n loc: 'locCost',\n keyToUpdateModel: 'costDataPlantCell',\n type: 'cost',\n topologyViewType: ATO_ECOMPONENT_PLANT_TYPE.COST,\n tagType: TAG_TYPE.COST,\n inflowRecord: E_FLOW_RECORD.INFLOW_ENERGY_RECORD,\n outflowRecord: E_FLOW_RECORD.OUTFLOW_ENERGY_RECORD,\n },\n\n // // Add water to plant type\n // [ATO_ECOMPONENT_PLANT_TYPE.WATER]: {\n // keyUnitFromList: 'Water',\n // keyUnit: 'Water',\n // keyFlowTopology: 'Water',\n // keyTab: 'Water',\n // indexTab: 5,\n // keyComponent: 'waterComponents',\n // keyRoute: 'water'\n // },\n};\n\n// export enum TARGET_E_TYPE {\n// TARGET = 'Target',\n// GOAL = 'Goal',\n// PROJECT = 'Project',\n// MILESTONE = 'Milestone',\n// }\n\n// const COLOR_STATUS = {\n// RED: {\n// hexColor: '#EC1B24',\n// classColor: 'color-alizarin',\n// },\n// YELLOW: {\n// hexColor: '#E09F25',\n// classColor: 'color-galliano-2',\n// },\n// GREEN: {\n// hexColor: '#199C69',\n// classColor: 'color-elf-green',\n// },\n// };\n\n// export const TARGET_STATUS_COLOR = {\n// [TARGET_E_TYPE.TARGET]: {\n// 0: COLOR_STATUS.YELLOW,\n// 1: COLOR_STATUS.YELLOW,\n// 2: COLOR_STATUS.YELLOW,\n// 3: COLOR_STATUS.GREEN,\n// 4: COLOR_STATUS.RED,\n// 5: COLOR_STATUS.RED,\n// 6: COLOR_STATUS.RED,\n// },\n// [TARGET_E_TYPE.GOAL]: {\n// 0: COLOR_STATUS.YELLOW,\n// 1: COLOR_STATUS.YELLOW,\n// 2: COLOR_STATUS.YELLOW,\n// 3: COLOR_STATUS.YELLOW,\n// 4: COLOR_STATUS.YELLOW,\n// 5: COLOR_STATUS.RED,\n// 6: COLOR_STATUS.RED,\n// 7: COLOR_STATUS.GREEN,\n// 10: COLOR_STATUS.RED,\n// },\n\n// [TARGET_E_TYPE.PROJECT]: {\n// 0: COLOR_STATUS.YELLOW,\n// 1: COLOR_STATUS.YELLOW,\n// 2: COLOR_STATUS.RED,\n// 3: COLOR_STATUS.GREEN,\n// 4: COLOR_STATUS.RED,\n// 5: COLOR_STATUS.RED,\n// 6: COLOR_STATUS.RED,\n// 10: COLOR_STATUS.RED,\n// },\n// [TARGET_E_TYPE.MILESTONE]: {\n// 0: COLOR_STATUS.YELLOW,\n// 1: COLOR_STATUS.YELLOW,\n// 2: COLOR_STATUS.YELLOW,\n// 3: COLOR_STATUS.RED,\n// 4: COLOR_STATUS.GREEN,\n// 5: COLOR_STATUS.RED,\n// 6: COLOR_STATUS.RED,\n// 10: COLOR_STATUS.RED,\n// },\n// };\n\n// export enum DATA_TYPES {\n// STRING = 'string',\n// NUMBER = 'number',\n// BOOLEAN = 'boolean',\n// DATE = 'Date',\n// VALUE_UNIT = 'valueUnit',\n// VALUE_CURRENCY = 'valueCost',\n// VALUE_CURRENCY_PER_UNIT = 'valueCurrencyPerUnit',\n// // VALUE_WATER = 'valueWater',\n// // VALUE_ELECTRICITY = 'valueElectricity',\n// // VALUE_NATURAL_GAS = 'valueNaturalGas',\n// // VALUE_FUEL = 'valueFuel',\n// // VALUE_CO2e_EMISSION = 'valueCO2eEmission',\n// // VALUE_ENERY = 'valueEnergy',\n// SPECIAL = 'special',\n// }\n\n// export enum E_DATE_PICKER_MODE {\n// DATE = 'date',\n// WEEK = 'week',\n// MONTH = 'month',\n// YEAR = 'year',\n// RAW = 'raw',\n// }\n\n// export const DATE_PICKER_MODE: {\n// [key in string]: any;\n// } = {\n// [E_Frequency.current]: {\n// value: E_DATE_PICKER_MODE.DATE,\n// format: 'MM/DD/YYYY',\n// formatPicker: 'MM/dd/yyyy',\n// index: 0,\n// valueAnalytics: AnalyticsService.ENUM_DATE_TYPE.DAY,\n// },\n// [E_Frequency.daily]: {\n// value: E_DATE_PICKER_MODE.DATE,\n// format: 'MM/DD/YYYY',\n// formatPicker: 'MM/dd/yyyy',\n// index: 0,\n// valueAnalytics: AnalyticsService.ENUM_DATE_TYPE.DAY,\n// },\n// [E_Frequency.weekly]: {\n// value: E_DATE_PICKER_MODE.WEEK,\n// index: 1,\n// // format: 'MM/DD/YYYY'\n// },\n// [E_Frequency.monthly]: {\n// value: E_DATE_PICKER_MODE.MONTH,\n// format: 'MM/YYYY',\n// formatPicker: 'MM/yyyy',\n// index: 2,\n// valueAnalytics: AnalyticsService.ENUM_DATE_TYPE.MONTH,\n// },\n// [E_Frequency.yearly]: {\n// value: E_DATE_PICKER_MODE.YEAR,\n// format: 'YYYY',\n// formatPicker: 'yyyy',\n// index: 3,\n// valueAnalytics: AnalyticsService.ENUM_DATE_TYPE.YEAR,\n// },\n// [E_Frequency.annual]: {\n// value: E_DATE_PICKER_MODE.YEAR,\n// format: 'YYYY',\n// formatPicker: 'yyyy',\n// index: 3,\n// valueAnalytics: AnalyticsService.ENUM_DATE_TYPE.YEAR,\n// },\n// [E_Frequency.raw]: {\n// value: E_DATE_PICKER_MODE.RAW,\n// format: 'MM/DD/YYYY',\n// formatPicker: 'MM/dd/yyyy',\n// index: 0,\n// valueAnalytics: AnalyticsService.ENUM_DATE_TYPE.DAY,\n// },\n// };\n\n// export enum E_PRODUCTION_TYPE {\n// PRODUCT = 'product',\n// PRODUCT_LINE = 'product-line',\n// }\n\n// export enum E_PRODUCTION_MEASUREMENT_TYPE {\n// PRODUCT_WATER_IN_SOURCE = 'ProductWaterInSource',\n// PRODUCT_WATER_OUT_SOURCE = 'ProductWaterOutSource',\n// PRODUCT_ENERGY_IN_SOURCE = 'ProductEnergyInSource',\n// PRODUCT_ENERGY_OUT_SOURCE = 'ProductEnergyOutSource',\n// }\n\n// export const E_PRODUCTION_MEASUREMENT_PAYLOAD = {\n// [E_PRODUCTION_MEASUREMENT_TYPE.PRODUCT_WATER_IN_SOURCE]: {\n// createParentPayload: 'CreateProductWaterInSource',\n// updateParentPayload: 'UpdateProductWaterInSource',\n// payload: 'ProductWaterInSource',\n// keyResponse: 'waterInflows',\n// keyForm: 'waterIntakeMeasurement',\n// keyComponent: ['waterComponents'],\n// textAdd: 'intake measurement',\n// componentType: 'Water',\n// },\n// [E_PRODUCTION_MEASUREMENT_TYPE.PRODUCT_WATER_OUT_SOURCE]: {\n// createParentPayload: 'CreateProductWaterOutSource',\n// updateParentPayload: 'UpdateProductWaterOutSource',\n// payload: 'ProductWaterOutSource',\n// keyResponse: 'waterOutflows',\n// keyForm: 'waterOutputMeasurement',\n// keyComponent: ['waterComponents'],\n// textAdd: 'output measurement',\n// componentType: 'Water',\n// },\n// [E_PRODUCTION_MEASUREMENT_TYPE.PRODUCT_ENERGY_IN_SOURCE]: {\n// createParentPayload: 'CreateProductEnergyInSource',\n// updateParentPayload: 'UpdateProductEnergyInSource',\n// payload: 'ProductEnergyInSource',\n// keyResponse: 'energyInflows',\n// keyForm: 'energyIntakeMeasurement',\n// keyComponent: ['electricComponents', 'fuelComponents', 'gasComponents'],\n// textAdd: 'intake measurement',\n// componentType: 'Energy',\n// },\n// [E_PRODUCTION_MEASUREMENT_TYPE.PRODUCT_ENERGY_OUT_SOURCE]: {\n// createParentPayload: 'CreateProductEnergyOutSource',\n// updateParentPayload: 'UpdateProductEnergyOutSource',\n// payload: 'ProductEnergyOutSource',\n// keyResponse: 'energyOutflows',\n// keyForm: 'energyExportMeasurement',\n// keyComponent: ['electricComponents', 'fuelComponents', 'gasComponents'],\n// textAdd: 'export measurement',\n// componentType: 'Energy',\n// },\n// };\n\n// export enum SORT_DIRECTION {\n// ASCEND = 'ascend',\n// DESCEND = 'descend',\n// }\n\n// export enum ROUTE_COMPONENT_TYPE {\n// COMPONENT = 'component',\n// PLANT_CELL = 'plant-cell',\n// }\n\n// export enum PLACEHOLDER_INPUT {\n// FIELD_FILE = 'Enter the file URL',\n// }\n\n// export enum TYPE_SIZE_CONTROL {\n// NORMAL = 'normal',\n// SMALL = 'small',\n// }\n\n// export enum RATE_WATER_QUALITY_INDEX_INFO {\n// EXCELLENT = 'excellent',\n// GOOD = 'good',\n// AVERAGE = 'average',\n// FAIR = 'fair',\n// POOR = 'poor',\n// }\n\n// // export const COLOR_WATER_QUALITY_INDEX_INFO = {\n// // [RATE_WATER_QUALITY_INDEX_INFO.EXCELLENT]: {\n// // color: ENUM_RISK_COLOR.GREEN,\n// // colorClass: 'color-elf-green',\n// // },\n// // [RATE_WATER_QUALITY_INDEX_INFO.GOOD]: {\n// // color: ENUM_RISK_COLOR.LIGHT_GREEN,\n// // colorClass: 'color-yellow-green',\n// // },\n// // [RATE_WATER_QUALITY_INDEX_INFO.AVERAGE]: {\n// // color: ENUM_RISK_COLOR.YELLOW,\n// // colorClass: 'color-grandis',\n// // },\n// // [RATE_WATER_QUALITY_INDEX_INFO.FAIR]: {\n// // color: ENUM_RISK_COLOR.ORANGE,\n// // colorClass: 'color-carrot-orange',\n// // },\n// // [RATE_WATER_QUALITY_INDEX_INFO.POOR]: {\n// // color: ENUM_RISK_COLOR.RED,\n// // colorClass: 'color-sunset-orange',\n// // },\n// // };\n\n// // export const RANGE_COLOR_WATER_QUALITY_INDEX = [\n// // {\n// // from: 0,\n// // to: 25,\n// // colorInfo: COLOR_WATER_QUALITY_INDEX_INFO[RATE_WATER_QUALITY_INDEX_INFO.POOR],\n// // },\n// // {\n// // from: 25,\n// // to: 50,\n// // colorInfo: COLOR_WATER_QUALITY_INDEX_INFO[RATE_WATER_QUALITY_INDEX_INFO.FAIR],\n// // },\n// // {\n// // from: 50,\n// // to: 70,\n// // colorInfo: COLOR_WATER_QUALITY_INDEX_INFO[RATE_WATER_QUALITY_INDEX_INFO.AVERAGE],\n// // },\n// // {\n// // from: 70,\n// // to: 90,\n// // colorInfo: COLOR_WATER_QUALITY_INDEX_INFO[RATE_WATER_QUALITY_INDEX_INFO.GOOD],\n// // },\n// // {\n// // from: 90,\n// // to: 100,\n// // colorInfo: COLOR_WATER_QUALITY_INDEX_INFO[RATE_WATER_QUALITY_INDEX_INFO.EXCELLENT],\n// // },\n// // ];\n\n// export enum ENUM_INSIGHT_TABS {\n// VOLUME = 'Volume',\n// QUALITY = 'Quality',\n// ASSET_PARAMETERS = 'Asset Parameters',\n// }\n\n// export enum ENUM_INSIGHT_MAPPING_STEP {\n// ASSETS = 'assets',\n// TAGS = 'tags',\n// CONFIGURATION = 'configuration',\n// }\n\n// export enum STEAM_OPTION_KEY {\n// MASS_FLOW = 'massflow',\n// MASS_FLOW_RATE = 'massflowrate',\n// PRESSURE = 'pressure',\n// TEMPERATURE = 'temperature',\n// ENERGY = 'energy',\n// }\n\n// export const STEAM_OPTIONS_FILTER = {\n// [STEAM_OPTION_KEY.MASS_FLOW]: {\n// name: 'Mass Flow',\n// key: STEAM_OPTION_KEY.MASS_FLOW,\n// icon: '',\n// urlIcon: 'assets/images/icons/steam/Mass flow.svg',\n// isDisabled: false,\n// keyUnit: 'SteamMassFlow',\n// keyUnitSetting: 'steamMassFlow',\n// listUnits: [ABBREVIATION.g, ABBREVIATION.lbs],\n// },\n\n// [STEAM_OPTION_KEY.MASS_FLOW_RATE]: {\n// name: 'Mass Flow Rate',\n// key: STEAM_OPTION_KEY.MASS_FLOW_RATE,\n// icon: '',\n// urlIcon: 'assets/images/icons/steam/Mass flow rate.svg',\n// isDisabled: false,\n// keyUnit: 'MassFlowRate',\n// keyUnitSetting: 'steamFlowRate',\n// listUnits: [ABBREVIATION.g_hr, ABBREVIATION.lbs_hr],\n// },\n// [STEAM_OPTION_KEY.PRESSURE]: {\n// name: 'Pressure',\n// key: STEAM_OPTION_KEY.PRESSURE,\n// icon: 'fal fa-gauge-high',\n// isDisabled: false,\n// keyUnit: 'SteamPressure',\n// keyUnitSetting: 'steamPressure',\n// listUnits: [ABBREVIATION.MPa, ABBREVIATION.psi],\n// },\n// [STEAM_OPTION_KEY.TEMPERATURE]: {\n// name: 'Temperature',\n// key: STEAM_OPTION_KEY.TEMPERATURE,\n// icon: 'fal fa-temperature-high',\n// isDisabled: false,\n// keyUnit: 'SteamTemperature',\n// keyUnitSetting: 'steamTemperature',\n// listUnits: [ABBREVIATION.degC, ABBREVIATION.degF],\n// },\n// [STEAM_OPTION_KEY.ENERGY]: {\n// name: '​Energy',\n// key: STEAM_OPTION_KEY.ENERGY,\n// icon: 'fa-regular fa-transformer-bolt',\n// keyUnit: 'Energy',\n// keyUnitSetting: 'energyUnit',\n// isDisabled: false,\n// listUnits: [ABBREVIATION.BTU, ABBREVIATION.J],\n// },\n// };\n\nexport enum ATO_ENUM_FLOW_DIRECTION {\n INFLOW = 'Inflow',\n OUTFLOW = 'Outflow',\n NONE = '',\n}\n","import { ATO_ECOMPONENT_PLANT_TYPE } from '../constants/value.const';\n\nexport class AtoGojsEditorModel {\n initialOptions: any;\n data: any; // FlowGoJsComponentModel\n\n constructor(data: any) {\n this.data = data;\n }\n}\n\nexport namespace AtoGojsEditorModel {\n export const GRID_SIZE = 20;\n export const BASIC_GRID_INTERVAL_X = 24;\n export const BASIC_GRID_INTERVAL_Y = 10;\n export const BASIC_GRID_SIZE_WIDTH = GRID_SIZE * BASIC_GRID_INTERVAL_X;\n export const BASIC_GRID_SIZE_HEIGHT = GRID_SIZE * BASIC_GRID_INTERVAL_Y;\n export const DISTANCE_LAST_TO_ADD = 50;\n export const PLANT_CELL_HEIGHT = 160;\n export enum ENUM_LAYOUT_EDITOR {\n AUTO = 'AUTO ALIGN',\n GRID = 'GRID SUPPORTED',\n FREEFORM = 'FREE FORM',\n }\n\n export const LAYOUT_LIST = [\n {\n name: 'Auto-align',\n key: ENUM_LAYOUT_EDITOR.AUTO,\n },\n {\n name: 'Grid Supported',\n key: ENUM_LAYOUT_EDITOR.GRID,\n },\n {\n name: 'Freeform',\n key: ENUM_LAYOUT_EDITOR.FREEFORM,\n },\n ];\n\n export enum ENUM_COLORS {\n RED = '#EC7C4E',\n ORANGE = '#EBB868',\n BLUE = '#81B8FF',\n LIGHT_BLUE = '#F4F6FB',\n LIGHT_SKY_BLUE = '#cfe7fd',\n WHITE = '#FFFFFF',\n GRAY = '#919CA5',\n CERULEAN = '#0062A9',\n VIVID_VIOLET = '#804180',\n RESOLUTION_BLUE = '#2D3B77',\n CASHMERE = '#D6AB95',\n GALLIANO = '#E09F25',\n FOUNTAIN_BLUE = '#54BBBA',\n ELF_GREEN = '#199C69',\n MEDIUM_RED_VIOLET = '#A8438D',\n GRANDIS = '#FBC96C',\n SALMON = '#F47769',\n NIGHT_RIDER = '#2C2C2C',\n ALIZARIN = '#EC1B24',\n LINK_WATER = '#CAD3DB',\n ZIRCON = '#E5EBEB',\n CERULEAN_ALICE_BLUE = '#E6F0F7',\n DANUBE = '#7197CA',\n DANUBE_ALICE_BLUE = '#F1F5FA',\n AZURE = '#EEF8F8',\n OLD_LACE = '#FCF6EA',\n CARROT_ORANGE = '#F69122',\n FLAMINGO = '#E95F47',\n SNOW = '#FEF7F6',\n LIGHT_SKY_BLUE_2 = '#92B9F9',\n REGENT_ST_BLUE = '#87cee7',\n // 98CDE0\n }\n\n export enum ENUM_LINK_TYPES {\n SIMPLE = 'simple',\n PIPE_ANIMATION = 'pipe animation',\n PIPE = 'pipe',\n PIPE_HIDDEN = 'pipe hidden',\n }\n\n // Components types\n export enum ENUM_TEMPLATES {\n STORAGE = 'Storage',\n COOLING_TOWER = 'Cooling Tower',\n\n WATER_TREATMENT = 'Water Treatment',\n DEMIN_WATER_TREATMENT = 'Demin Water Treatment',\n RO_WATER_TREATMENT = 'RO Water Treatment',\n\n DOMESTIC_USE = 'Domestic Use',\n PROCESS = 'Process',\n BOILER = 'Boiler',\n\n WASTEWATER_TREATMENT = 'Wastewater Treatment',\n DAF_WASTEWATER_TREATMENT = 'DAF Wastewater Treatment',\n ETP_WASTEWATER_TREATMENT = 'ETP Wastewater Treatment',\n MBR_WASTEWATER_TREATMENT = 'MBR Wastewater Treatment',\n ZLD_WASTEWATER_TREATMENT = 'ZLD Wastewater Treatment',\n\n OTHER = 'Other',\n LANDSCAPING_IRRIGATION = 'Landscaping/Irrigation',\n TEXT_NODE = 'TextNode',\n VALUE_NODE = 'ValueNode',\n DATA_BOX = 'DataBox',\n VALUE_LABEL = 'ValueLabel',\n EMPTY = 'Empty',\n\n SPECIAL_PROCESS = 'SPECIAL_PROCESS',\n SPECIAL_STORE = 'SPECIAL_STORE',\n SPECIAL_STORAGE = 'STORAGE',\n SPECIAL_DISCHARGE = 'SPECIAL_DISCHARGE',\n SPECIAL_OTHER = 'SPECIAL_OTHER',\n\n // TANKER = 'Tanker',\n // RAIN_WATER = 'Rainwater',\n FRESH_SURFACE_WATER = 'Fresh surface water', // 'RAIN_WATER',\n THIRD_PARTY_SOURCES = 'Third party sources', // TANKER\n THIRD_PARTY_DESTINATIONS = 'Third party destinations',\n GROUND_WATER_NON_RENEWABLE = 'Groundwater - non-renewable',\n PRODUCED_ENTRAINED = 'Produced / entrained water',\n BRACKISH_SURFACE_WATER = 'Brackish surface water/ seawater',\n\n UTILITY = 'UTILITY',\n GROUND_WATER_RENEWABLE = 'Groundwater - Renewable',\n // Energy\n ZONE = 'EnergyZones',\n ZONE_ENERGY_ITEM = 'SubSystem',\n //Electric\n GRID = 'Grid',\n DIESEL_GENERATORS = 'Diesel Generators',\n ELECTRIC_METERS = 'Electric Meters',\n\n BATTERY_ENERGY_STORAGE = 'Battery energy storage',\n TRANSFORMERS = 'Transformers',\n LIGHTING_SYSTEMS = 'Lighting systems',\n LIGHTINGS = 'Lightings',\n\n ELECTRIC_FLYWHEEL_ENERGY_STORAGE = 'Flywheel energy storage',\n PUMPED_HYDRO_STORAGE = 'Pumped hydro storage',\n THERMAL_ENERGY_STORAGE = 'Thermal energy storage',\n SUPER_CAPACITOR_ENERGY_STORAGE = 'Supercapacitor energy storage',\n SWITCH_GEARS = 'Switchgears',\n MOTOR_CONTROLS = 'MotorControls',\n VARIABLE_FREQUENCY_DRIVERS = 'VariableFrequencyDrives',\n ELECTRIC_HVAC = 'Heating, ventilation, and air conditioning (HVAC) systems',\n COMPRESSED_AIR_SYSTEMS = 'Compressed air',\n REFRIGERATION_COOLING_SYSTEMS = 'Refrigeration and cooling',\n PROCESS_CONTROL_AUTOMATION_SYSTEMS = 'Process control and automation',\n OFFICE_EQUIPMENT = 'Office equipment',\n PROCESS_EQUIPMENT_MACHINES = 'Process equipment and machines',\n MATERIAL_HANDLING_EQUIPMENT = 'Material handling equipment',\n POWER_DISTRIBUTION_CONTROL_SYSTEMS = 'Power distribution and control',\n POWER_DISTRIBUTION_SYSTEMS = 'Power distribution systems',\n WIND_POWER = 'Wind Power',\n NATURAL_GAS_GENERATORS = 'Natural gas generators',\n ELECTRIC_INDUSTRIAL_MOTORS = 'Industrial motors',\n GROUNDING = 'Grounding',\n\n // Fuel\n FUELS = 'Fuels',\n DIESEL_FUELS = 'DieselFuels',\n GASON_LINES = 'Gasonlines',\n BIODIESELS = 'Biodiesels',\n KEROSENSE = 'Kerosenes',\n PROPANES = 'Propanes',\n\n TANKER_TRUCKS = 'Tanker Trucks',\n PIPELINE = 'Pipeline',\n\n INDUSTRIAL_BOILERS = 'Industrial boilers',\n GENERATORS = 'Generators',\n INDUSTRIAL_FURNACES = 'Industrial furnaces',\n INDUSTRIAL_OVENS = 'Industrial ovens',\n INDUSTRIAL_VEHICLES_AND_EQUIPMENT = 'Industrial vehicles and equipment',\n\n FUEL_METERS = 'FuelMeters',\n FUEL_DISPENSERS = 'FuelDispensers',\n FUEL_STRORAGE_TANKS = 'FuelStorageTanks',\n FUEL_FILTRATIONS = 'FuelFiltrations',\n FUEL_MANAGEMENTS = 'FuelManagements',\n\n // Gas\n NATURAL_GAS_PIPELINES = 'Natural gas pipelines',\n LIQUEFIED_NATURAL_GAS = 'Liquefied natural gas',\n COMPRESSED_NATURAL_GAS_PIPELINE = 'Compressed natural gas pipeline',\n ON_SITE_PRODUCTION = 'On-site production',\n COMPRESSED_NATURAL_GAS_PRODUCTION = 'Compressed natural gas production',\n BOILERS_AND_HEATERS = 'Boilers and heaters',\n FURNACES = 'Furnaces',\n POWER_GENERATION = 'Power generation',\n COGENERATION = 'Cogeneration',\n COMBINED_CYCLE_POWER_PLANTS = 'Combined cycle power plants',\n FUEL_FOR_VEHICLES_AND_EQUIPMENT = 'Fuel for vehicles and equipment',\n GAS_METERS = 'Gas meters',\n BURNERS = 'Burners',\n FLUE_GAS_ANALYZERS = 'Flue gas analyzers',\n COMBUSTION_CONTROL_SYSTEMS = 'Combustion control systems',\n GAS_STORAGE_TANKS = 'Gas storage tanks',\n GAS_PRESSURE_REGULATORS = 'Gas pressure regulators',\n NATURAL_GAS = 'Natural Gas',\n // Solar\n SOLAR_POWER = 'Solar Power',\n POWER_CONDITIONING_UNIT = 'Power conditioning unit (PCU)',\n INVERTERS = 'Inverters',\n BATTERIES = 'Batteries',\n\n // Uncategorized of Proxy Plant\n UNCATEGORIZED = 'Uncategorized',\n\n // Plant Cell\n PLANT_CELL = 'Plant Cell',\n INPUT_PLANT_CELL = 'Input Plant Cell',\n OUTPUT_PLANT_CELL = 'Output Plant Cell',\n\n PLANT_CELL_INPUT_GROUP = 'PC Input Group',\n PLANT_CELL_OUTPUT_GROUP = 'PC Output Group',\n\n // Image\n IMAGE_TEMPLATE = 'Image Template',\n PARAM_TABLE = 'Param Table',\n MASS_BALANCE = 'Mass Balance',\n\n // Steam Type\n STEAM_PIPELINE = 'Steam pipeline',\n VALUES = 'Valves',\n STEAM_TRAPS = 'Steam Traps',\n PRESSURE_REGULATORS = 'Pressure Regulator',\n SAFETY_VALUES_AND_EQUIPMENT = 'Safety Valves and Equipment',\n CONDENSATE_RETURN_SYSTEM = 'Condensate Return System',\n DEAERATORS = 'Deaerators',\n FEEDWATER_PUMPS = 'Feedwater Pumps',\n BLOWDOWN_TANKS = 'Blowdown Tanks',\n EXPANSION_TANKS = 'Expansion Tanks',\n HEAT_EXCHANGERS = 'Heat Exchangers',\n TURBINES = 'Turbines',\n\n // Plant Basic\n GROUP_BASIC_COMPONENT = 'Group Basic Component',\n TEXT_LABEL = 'label',\n }\n\n // System Types\n export enum ENUM_TYPES {\n STORAGE = 'WaterStorageTanks',\n\n WATER_TREATMENT = 'WaterTreatmentProcesses',\n DEMIN_WATER_TREATMENT = 'DeminWaterTreatments',\n RO_WATER_TREATMENT = 'ROWaterTreatments',\n\n PROCESS = 'GenericProcesses',\n SPECIAL_STORAGE = 'STORAGE',\n\n WASTEWATER_TREATMENT = 'WasteWaterTreatmentProcesses',\n DAF_WASTEWATER_TREATMENT = 'DAFWasteWaterTreatments',\n ETP_WASTEWATER_TREATMENT = 'ETPWasteWaterTreatments',\n MBR_WASTEWATER_TREATMENT = 'MBRWasteWaterTreatments',\n ZLD_WASTEWATER_TREATMENT = 'ZLDWasteWaterTreatments',\n\n DOMESTIC_USE = 'DomesticUse',\n COOLING_TOWER = 'CoolingTowers',\n BOILER = 'Boilers',\n OTHER = 'OtherWaterUse',\n LANDSCAPING_IRRIGATION = 'IrrigationUse',\n\n FRESH_SURFACE_WATER = 'Fresh surface water', // 'RAIN_WATER',\n THIRD_PARTY_SOURCES = 'Third party sources', // TANKER\n THIRD_PARTY_DESTINATIONS = 'Third party destinations',\n GROUND_WATER_NON_RENEWABLE = 'Groundwater - non-renewable',\n PRODUCED_ENTRAINED = 'Produced / entrained water',\n\n // FRESH_SURFACE_WAER = 'Fresh surface water',\n BRACKISH_SURFACE_WATER = 'Brackish surface water/ seawater',\n GROUND_WATER_RENEWABLE = 'Groundwater - Renewable',\n\n TANKER_WATER = 'Tanker Water',\n // ENERGY\n ZONE = 'EnergyZones',\n // Electric\n ELECTRIC_SOURCES = 'ElectricSources',\n GRID = 'Grid Power',\n DIESEL_GENERATORS = 'Diesel Generators',\n ELECTRIC_METERS = 'ElectricMeters',\n TRANSFORMERS = 'Transformers',\n // Electric New\n BATTERY_ENERGY_STORAGE = 'Battery energy storage',\n ELECTRIC_PRODUCTIONS = 'ElectricProductions',\n ELECTRIC_COMSUMINGS = 'ElectricConsumings',\n ELECTRIC_STORAGES = 'ElectricityStorages',\n ELECTRIC_FLYWHEEL_ENERGY_STORAGE = 'Flywheel energy storage',\n PUMPED_HYDRO_STORAGE = 'Pumped hydro storage',\n THERMAL_ENERGY_STORAGE = 'Thermal energy storage',\n SUPER_CAPACITOR_ENERGY_STORAGE = 'Supercapacitor energy storage',\n SWITCH_GEARS = 'Switchgears',\n MOTOR_CONTROLS = 'MotorControls',\n VARIABLE_FREQUENCY_DRIVERS = 'VariableFrequencyDrives',\n LIGHTING_SYSTEMS = 'Lighting systems',\n LIGHTINGS = 'Lightings',\n ELECTRIC_HVAC = 'Heating, ventilation, and air conditioning (HVAC) systems',\n COMPRESSED_AIR_SYSTEMS = 'Compressed air',\n REFRIGERATION_COOLING_SYSTEMS = 'Refrigeration and cooling',\n PROCESS_CONTROL_AUTOMATION_SYSTEMS = 'Process control and automation',\n PROCESS_EQUIPMENT_MACHINES = 'Process equipment and machines',\n OFFICE_EQUIPMENT = 'Office equipment',\n MATERIAL_HANDLING_EQUIPMENT = 'Material handling equipment',\n POWER_DISTRIBUTION_CONTROL_SYSTEMS = 'Power distribution and control',\n POWER_DISTRIBUTION_SYSTEMS = 'PowerDistributions',\n WIND_POWER = 'Wind Power',\n NATURAL_GAS_GENERATORS = 'Natural gas generators',\n ELECTRIC_INDUSTRIAL_MOTORS = 'Industrial motors',\n GROUNDING = 'Groundings',\n Electricals = 'Electricals',\n\n // Gas\n NATURAL_GAS_PIPELINES = 'Natural gas pipelines',\n LIQUEFIED_NATURAL_GAS = 'Liquefied natural gas (LNG) shipments',\n COMPRESSED_NATURAL_GAS_PIPELINE = 'Compressed natural gas pipeline (CNG)',\n ON_SITE_PRODUCTION = 'On-site production',\n COMPRESSED_NATURAL_GAS_PRODUCTION = 'Compressed natural gas production (CNG)',\n BOILERS_AND_HEATERS = 'Boilers and heaters',\n FURNACES = 'Furnaces',\n POWER_GENERATION = 'Power generation',\n COGENERATION = 'Cogeneration',\n COMBINED_CYCLE_POWER_PLANTS = 'Combined cycle power plants',\n FUEL_FOR_VEHICLES_AND_EQUIPMENT = 'Fuel for vehicles and equipment',\n GAS_METERS = 'GasMeters',\n BURNERS = 'Burners',\n FLUE_GAS_ANALYZERS = 'FlueGasAnalyzers',\n COMBUSTION_CONTROL_SYSTEMS = 'ConbustionControls',\n GAS_STORAGE_TANKS = 'GasStorageTanks',\n GAS_PRESSURE_REGULATORS = 'GasPressureRegulators',\n NATURAL_GAS = 'Natural Gas',\n // TYPE_COMPONENT Gas\n GAS_SOURCE = 'GasSources',\n GAS_PRODUCTION = 'GasProductions',\n GAS_CONSUMINGS = 'GasConsumings',\n NATURAL_GAS_SPECIAL = 'NaturalGases',\n\n // Fuel\n FUELS = 'Fuels',\n DIESEL_FUELS = 'DieselFuels',\n GASON_LINES = 'Gasonlines',\n BIODIESELS = 'Biodiesels',\n KEROSENSE = 'Kerosenes',\n PROPANES = 'Propanes',\n\n FUEL_SOURCES = 'FuelSources',\n\n TANKER_TRUCKS = 'Tanker Trucks',\n PIPELINE = 'Pipeline',\n\n FUEL_CONSUMINGS = 'FuelConsumings',\n\n INDUSTRIAL_BOILERS = 'Industrial boilers',\n GENERATORS = 'Generators',\n INDUSTRIAL_FURNACES = 'Industrial furnaces',\n INDUSTRIAL_OVENS = 'Industrial ovens',\n INDUSTRIAL_VEHICLES_AND_EQUIPMENT = 'Industrial vehicles and equipment',\n\n FUEL_METERS = 'FuelMeters',\n FUEL_DISPENSERS = 'FuelDispensers',\n FUEL_STRORAGE_TANKS = 'FuelStorageTanks',\n FUEL_FILTRATIONS = 'FuelFiltrations',\n FUEL_MANAGEMENTS = 'FuelManagements',\n\n // Solar\n SOLAR_POWER = 'Solar Power',\n POWER_CONDITIONING_UNIT = 'Power conditioning unit (PCU)',\n INVERTERS = 'Inverters',\n BATTERIES = 'Batteries',\n\n // Plant Cell\n PLANT_CELL = 'PlantCells',\n PLANT_CELL_INPUT_GROUP = 'PC Input Group',\n PLANT_CELL_OUTPUT_GROUP = 'PC Output Group',\n\n // Steam\n STEAM_SOURCES = 'SteamSources',\n STEAM_PIPELINE = 'Steam pipeline',\n VALUES = 'Valves',\n STEAM_TRAPS = 'Steam Traps',\n PRESSURE_REGULATORS = 'Pressure Regulator',\n SAFETY_VALUES_AND_EQUIPMENT = 'Safety Valves and Equipment',\n CONDENSATE_RETURN_SYSTEM = 'Condensate Return System',\n DEAERATORS = 'Deaerators',\n FEEDWATER_PUMPS = 'Feedwater Pumps',\n BLOWDOWN_TANKS = 'Blowdown Tanks',\n EXPANSION_TANKS = 'Expansion Tanks',\n HEAT_EXCHANGERS = 'SteamConsumings',\n TURBINES = 'EnergyConverters',\n\n STEAM_COMPONENT = 'SteamComponents',\n STEAM_CONSUMING_SYSTEM = 'SteamConsumings',\n ENERGY_CONVERTER = 'EnergyConverters',\n }\n\n export enum ENUM_CATEGORY {}\n\n export enum DATA_COLLECTION_METHOD {\n MEASURED = 'Measured',\n MANUAL = 'Manual',\n COMPUTED = 'Computed',\n ESTIMATED = 'Estimated',\n WATER_CAPACITY = 'Water Capacity',\n KEY_MODEL_COMPUTED = 'M',\n }\n\n export const COLOR_COLLECTION_METHOD: {\n [key in AtoGojsEditorModel.DATA_COLLECTION_METHOD]: any;\n } = {\n [DATA_COLLECTION_METHOD.MEASURED]: {\n name: DATA_COLLECTION_METHOD.MEASURED,\n color: ENUM_COLORS.RED,\n classNameColor: 'color-burnt-sienna',\n },\n [DATA_COLLECTION_METHOD.MANUAL]: {\n name: DATA_COLLECTION_METHOD.MANUAL,\n color: ENUM_COLORS.ELF_GREEN,\n classNameColor: 'color-elf-green',\n },\n [DATA_COLLECTION_METHOD.COMPUTED]: {\n name: DATA_COLLECTION_METHOD.COMPUTED,\n color: ENUM_COLORS.CERULEAN,\n classNameColor: 'color-cerulean',\n },\n [DATA_COLLECTION_METHOD.ESTIMATED]: {\n name: DATA_COLLECTION_METHOD.ESTIMATED,\n color: ENUM_COLORS.MEDIUM_RED_VIOLET,\n classNameColor: 'color-medium-red-violet',\n },\n [DATA_COLLECTION_METHOD.WATER_CAPACITY]: {\n name: DATA_COLLECTION_METHOD.WATER_CAPACITY,\n color: ENUM_COLORS.VIVID_VIOLET,\n classNameColor: 'color-vivid-violet',\n },\n [DATA_COLLECTION_METHOD.KEY_MODEL_COMPUTED]: {\n name: DATA_COLLECTION_METHOD.KEY_MODEL_COMPUTED,\n color: ENUM_COLORS.GRAY,\n classNameColor: 'color-bali-hai',\n },\n };\n\n // export enum WITH_DRAW_TYPES {\n // TANKER = 'Tanker',\n // RAIN_WATER = 'Rainwater',\n // }\n\n export enum WITH_DRAW_SYSTEM_TYPES {\n WATER_SOURCE = 'WaterSource',\n }\n\n // export enum DISCHARGE_TYPES {\n // GROUND_WATER_RENEWABLE = 'Ground Water Renewable',\n // }\n\n export enum DISCHARGE_TYPES_SYSTEM_TYPES {\n GROUND_WATER_RANEWABLE = 'GroundWaterRenewable',\n }\n\n export const WaterWithdrawSources = 'WaterWithdrawSources';\n export const WaterWithdrawSourcesPath =\n 'GetFlowTopology.Plant.WaterWithdrawSources.ComponentWaterFlow.InFlows.InflowWaterRecord.QuantityParams';\n\n export const WaterDischargeDestinations = 'WaterDischargeDestinations';\n export const WaterDischargeDestinationsPath =\n 'GetFlowTopology.Plant.WaterDischargeDestinations.ComponentWaterFlow.InFlows.InflowWaterRecord.QuantityParams';\n\n export const SOURCES_COMPONENTS = [\n WaterWithdrawSources,\n WaterDischargeDestinations,\n ENUM_TYPES.ELECTRIC_SOURCES,\n ENUM_TYPES.ELECTRIC_PRODUCTIONS,\n ENUM_TYPES.GAS_SOURCE,\n ENUM_TYPES.GAS_PRODUCTION,\n ENUM_TYPES.FUEL_SOURCES,\n // ENUM_TYPES.FUEL_STORAGE_TANKS,\n ];\n\n export const SOURCES_WITHDRAW = [\n WaterWithdrawSources,\n ENUM_TYPES.ELECTRIC_SOURCES,\n ENUM_TYPES.ELECTRIC_PRODUCTIONS,\n ENUM_TYPES.GAS_SOURCE,\n ENUM_TYPES.GAS_PRODUCTION,\n ENUM_TYPES.FUEL_SOURCES,\n // ENUM_TYPES.FUEL_STORAGE_TANKS,\n ];\n\n export const SOURCES_DISCHARGE = [\n WaterDischargeDestinations,\n // ENUM_TYPES.ELECTRIC_SOURCES,\n // ENUM_TYPES.ELECTRIC_PRODUCTIONS,\n // ENUM_TYPES.GAS_SOURCE,\n // ENUM_TYPES.GAS_PRODUCTION,\n // ENUM_TYPES.FUEL_SOURCES,\n ];\n\n export const COMPONENTS_HAVE_SPECIAL_CATEGORY = [\n // Water\n WaterWithdrawSources,\n WaterDischargeDestinations,\n\n // ENUM_TYPES.FRESH_SURFACE_WAER,\n // ENUM_TYPES.THIRD_PARTY_SOURCES,\n // ENUM_TYPES.GROUND_WATER_NON_RENEWABLE,\n // ENUM_TYPES.PRODUCED_ENTRAINED,\n // ENUM_TYPES.BRACKISH_SURFACE_WATER,\n // ENUM_TYPES.GROUND_WATER_RENEWABLE,\n\n // Energy\n ENUM_TYPES.ZONE,\n // Electric===================\n ENUM_TYPES.GRID,\n ENUM_TYPES.ELECTRIC_PRODUCTIONS,\n ENUM_TYPES.DIESEL_GENERATORS,\n ENUM_TYPES.NATURAL_GAS_GENERATORS,\n ENUM_TYPES.SOLAR_POWER,\n ENUM_TYPES.ELECTRIC_SOURCES,\n ENUM_TYPES.Electricals,\n // ENUM_TYPES.ELECTRIC_COMSUMINGS,\n // ENUM_TYPES.ELECTRIC_STORAGES,\n // ENUM_TYPES.PROCESS_CONTROL_AUTOMATION_SYSTEMS,\n // ENUM_TYPES.POWER_DISTRIBUTION_CONTROL_SYSTEMS,\n\n // Gas========================\n // ENUM_TYPES.NATURAL_GAS_PIPELINES,\n ENUM_TYPES.GAS_SOURCE,\n ENUM_TYPES.GAS_PRODUCTION,\n ENUM_TYPES.LIQUEFIED_NATURAL_GAS,\n ENUM_TYPES.ON_SITE_PRODUCTION,\n ENUM_TYPES.NATURAL_GAS_PIPELINES,\n ENUM_TYPES.LIQUEFIED_NATURAL_GAS,\n ENUM_TYPES.COMPRESSED_NATURAL_GAS_PRODUCTION,\n // ENUM_TYPES.COMPRESSED_NATURAL_GAS_PIPELINE,\n // ENUM_TYPES.COMPRESSED_NATURAL_GAS_PRODUCTION,\n // ENUM_TYPES.FURNACES,\n // ENUM_TYPES.POWER_GENERATION,\n // ENUM_TYPES.COGENERATION,\n // ENUM_TYPES.COMBINED_CYCLE_POWER_PLANTS,\n // ENUM_TYPES.FUEL_FOR_VEHICLES_AND_EQUIPMENT,\n ENUM_TYPES.NATURAL_GAS_SPECIAL,\n //Fuel========================\n ENUM_TYPES.FUEL_SOURCES,\n ENUM_TYPES.TANKER_TRUCKS,\n ENUM_TYPES.PIPELINE,\n ENUM_TYPES.FUELS,\n ];\n\n export const WITH_DRAW_TYPE_LIST = [\n ENUM_TYPES.THIRD_PARTY_SOURCES,\n ENUM_TYPES.FRESH_SURFACE_WATER,\n ENUM_TYPES.BRACKISH_SURFACE_WATER,\n ENUM_TYPES.GROUND_WATER_RENEWABLE,\n ENUM_TYPES.GROUND_WATER_NON_RENEWABLE,\n ENUM_TYPES.PRODUCED_ENTRAINED,\n ] as string[];\n export const DISCHARGE_TYPE_LIST = [\n ENUM_TYPES.FRESH_SURFACE_WATER,\n ENUM_TYPES.BRACKISH_SURFACE_WATER,\n ENUM_TYPES.GROUND_WATER_RENEWABLE,\n ENUM_TYPES.THIRD_PARTY_DESTINATIONS,\n ] as string[];\n\n export const WITH_DRAW_SYSTEM_TYPE_LIST = [\n WITH_DRAW_SYSTEM_TYPES.WATER_SOURCE,\n ];\n export const DISCHARGE_SYSTEM_TYPE_LIST = [\n DISCHARGE_TYPES_SYSTEM_TYPES.GROUND_WATER_RANEWABLE,\n ];\n\n // system type\n export const TYPE_COMPONENT = [\n ENUM_TYPES.STORAGE,\n\n ENUM_TYPES.WATER_TREATMENT,\n ENUM_TYPES.DEMIN_WATER_TREATMENT,\n ENUM_TYPES.RO_WATER_TREATMENT,\n\n ENUM_TYPES.PROCESS,\n\n ENUM_TYPES.WASTEWATER_TREATMENT,\n ENUM_TYPES.DAF_WASTEWATER_TREATMENT,\n ENUM_TYPES.ETP_WASTEWATER_TREATMENT,\n ENUM_TYPES.MBR_WASTEWATER_TREATMENT,\n ENUM_TYPES.ZLD_WASTEWATER_TREATMENT,\n\n ENUM_TYPES.DOMESTIC_USE,\n ENUM_TYPES.COOLING_TOWER,\n ENUM_TYPES.BOILER,\n ENUM_TYPES.OTHER,\n ENUM_TYPES.LANDSCAPING_IRRIGATION,\n AtoGojsEditorModel.WaterWithdrawSources,\n AtoGojsEditorModel.WaterDischargeDestinations,\n // Energy\n ENUM_TYPES.ZONE,\n // Electricity==========================\n ENUM_TYPES.GRID,\n ENUM_TYPES.DIESEL_GENERATORS,\n ENUM_TYPES.BATTERY_ENERGY_STORAGE,\n ENUM_TYPES.LIGHTING_SYSTEMS,\n ENUM_TYPES.LIGHTINGS,\n ENUM_TYPES.ELECTRIC_METERS,\n ENUM_TYPES.TRANSFORMERS,\n ENUM_TYPES.ELECTRIC_FLYWHEEL_ENERGY_STORAGE,\n ENUM_TYPES.PUMPED_HYDRO_STORAGE,\n ENUM_TYPES.THERMAL_ENERGY_STORAGE,\n ENUM_TYPES.SUPER_CAPACITOR_ENERGY_STORAGE,\n ENUM_TYPES.SWITCH_GEARS,\n ENUM_TYPES.PROCESS_CONTROL_AUTOMATION_SYSTEMS,\n ENUM_TYPES.PROCESS_EQUIPMENT_MACHINES,\n ENUM_TYPES.OFFICE_EQUIPMENT,\n ENUM_TYPES.POWER_DISTRIBUTION_CONTROL_SYSTEMS,\n ENUM_TYPES.POWER_DISTRIBUTION_SYSTEMS,\n ENUM_TYPES.NATURAL_GAS_GENERATORS,\n ENUM_TYPES.MOTOR_CONTROLS,\n ENUM_TYPES.VARIABLE_FREQUENCY_DRIVERS,\n ENUM_TYPES.ELECTRIC_HVAC,\n ENUM_TYPES.COMPRESSED_AIR_SYSTEMS,\n ENUM_TYPES.REFRIGERATION_COOLING_SYSTEMS,\n ENUM_TYPES.MATERIAL_HANDLING_EQUIPMENT,\n ENUM_TYPES.WIND_POWER,\n ENUM_TYPES.ELECTRIC_INDUSTRIAL_MOTORS,\n ENUM_TYPES.GROUNDING,\n ENUM_TYPES.ELECTRIC_STORAGES,\n ENUM_TYPES.ELECTRIC_COMSUMINGS,\n\n // TEST\n ENUM_TYPES.ELECTRIC_SOURCES,\n // Gas==========================\n ENUM_TYPES.NATURAL_GAS_PIPELINES,\n ENUM_TYPES.LIQUEFIED_NATURAL_GAS,\n ENUM_TYPES.COMPRESSED_NATURAL_GAS_PIPELINE,\n ENUM_TYPES.ON_SITE_PRODUCTION,\n ENUM_TYPES.COMPRESSED_NATURAL_GAS_PRODUCTION,\n ENUM_TYPES.BOILERS_AND_HEATERS,\n ENUM_TYPES.FURNACES,\n ENUM_TYPES.POWER_GENERATION,\n ENUM_TYPES.COGENERATION,\n ENUM_TYPES.COMBINED_CYCLE_POWER_PLANTS,\n ENUM_TYPES.FUEL_FOR_VEHICLES_AND_EQUIPMENT,\n ENUM_TYPES.GAS_METERS,\n ENUM_TYPES.BURNERS,\n ENUM_TYPES.FLUE_GAS_ANALYZERS,\n ENUM_TYPES.COMBUSTION_CONTROL_SYSTEMS,\n ENUM_TYPES.GAS_STORAGE_TANKS,\n ENUM_TYPES.GAS_PRESSURE_REGULATORS,\n ENUM_TYPES.NATURAL_GAS,\n\n ENUM_TYPES.GAS_SOURCE,\n // ENUM_TYPES.GAS_PRODUCTION,\n ENUM_TYPES.GAS_CONSUMINGS,\n\n // Fuel==========================\n ENUM_TYPES.DIESEL_FUELS,\n ENUM_TYPES.GASON_LINES,\n ENUM_TYPES.BIODIESELS,\n ENUM_TYPES.KEROSENSE,\n ENUM_TYPES.PROPANES,\n ENUM_TYPES.FUEL_CONSUMINGS,\n ENUM_TYPES.INDUSTRIAL_BOILERS,\n ENUM_TYPES.GENERATORS,\n ENUM_TYPES.INDUSTRIAL_FURNACES,\n ENUM_TYPES.INDUSTRIAL_OVENS,\n ENUM_TYPES.INDUSTRIAL_VEHICLES_AND_EQUIPMENT,\n ENUM_TYPES.FUEL_METERS,\n ENUM_TYPES.FUEL_DISPENSERS,\n ENUM_TYPES.FUEL_STRORAGE_TANKS,\n ENUM_TYPES.FUEL_FILTRATIONS,\n ENUM_TYPES.FUEL_MANAGEMENTS,\n ENUM_TYPES.FUELS,\n\n // Solar =============================\n ENUM_TYPES.SOLAR_POWER,\n ENUM_TYPES.BATTERIES,\n ENUM_TYPES.INVERTERS,\n ENUM_TYPES.POWER_CONDITIONING_UNIT,\n\n // Plant Cell\n ENUM_TYPES.PLANT_CELL,\n\n // Copy form ENUM_TYPES\n ENUM_TYPES.STORAGE,\n\n ENUM_TYPES.WATER_TREATMENT,\n ENUM_TYPES.DEMIN_WATER_TREATMENT,\n ENUM_TYPES.RO_WATER_TREATMENT,\n\n ENUM_TYPES.PROCESS,\n ENUM_TYPES.SPECIAL_STORAGE,\n\n ENUM_TYPES.WASTEWATER_TREATMENT,\n ENUM_TYPES.DAF_WASTEWATER_TREATMENT,\n ENUM_TYPES.ETP_WASTEWATER_TREATMENT,\n ENUM_TYPES.MBR_WASTEWATER_TREATMENT,\n ENUM_TYPES.ZLD_WASTEWATER_TREATMENT,\n\n ENUM_TYPES.DOMESTIC_USE,\n ENUM_TYPES.COOLING_TOWER,\n ENUM_TYPES.BOILER,\n ENUM_TYPES.OTHER,\n ENUM_TYPES.LANDSCAPING_IRRIGATION,\n\n ENUM_TYPES.FRESH_SURFACE_WATER,\n ENUM_TYPES.THIRD_PARTY_SOURCES,\n ENUM_TYPES.THIRD_PARTY_DESTINATIONS,\n ENUM_TYPES.GROUND_WATER_NON_RENEWABLE,\n ENUM_TYPES.PRODUCED_ENTRAINED,\n\n // FRESH_SURFACE_WAER = 'Fresh surface water',\n ENUM_TYPES.BRACKISH_SURFACE_WATER,\n ENUM_TYPES.GROUND_WATER_RENEWABLE,\n\n ENUM_TYPES.TANKER_WATER,\n // ENERGY\n ENUM_TYPES.ZONE,\n // Electric\n ENUM_TYPES.ELECTRIC_SOURCES,\n ENUM_TYPES.GRID,\n ENUM_TYPES.DIESEL_GENERATORS,\n ENUM_TYPES.ELECTRIC_METERS,\n ENUM_TYPES.TRANSFORMERS,\n // Electric New\n ENUM_TYPES.BATTERY_ENERGY_STORAGE,\n ENUM_TYPES.ELECTRIC_PRODUCTIONS,\n ENUM_TYPES.ELECTRIC_COMSUMINGS,\n ENUM_TYPES.ELECTRIC_STORAGES,\n ENUM_TYPES.ELECTRIC_FLYWHEEL_ENERGY_STORAGE,\n ENUM_TYPES.PUMPED_HYDRO_STORAGE,\n ENUM_TYPES.THERMAL_ENERGY_STORAGE,\n ENUM_TYPES.SUPER_CAPACITOR_ENERGY_STORAGE,\n ENUM_TYPES.SWITCH_GEARS,\n ENUM_TYPES.MOTOR_CONTROLS,\n ENUM_TYPES.VARIABLE_FREQUENCY_DRIVERS,\n ENUM_TYPES.LIGHTING_SYSTEMS,\n ENUM_TYPES.LIGHTINGS,\n ENUM_TYPES.ELECTRIC_HVAC,\n ENUM_TYPES.COMPRESSED_AIR_SYSTEMS,\n ENUM_TYPES.REFRIGERATION_COOLING_SYSTEMS,\n ENUM_TYPES.PROCESS_EQUIPMENT_MACHINES,\n ENUM_TYPES.PROCESS_CONTROL_AUTOMATION_SYSTEMS,\n ENUM_TYPES.OFFICE_EQUIPMENT,\n ENUM_TYPES.MATERIAL_HANDLING_EQUIPMENT,\n ENUM_TYPES.POWER_DISTRIBUTION_CONTROL_SYSTEMS,\n ENUM_TYPES.POWER_DISTRIBUTION_SYSTEMS,\n ENUM_TYPES.WIND_POWER,\n ENUM_TYPES.NATURAL_GAS_GENERATORS,\n ENUM_TYPES.ELECTRIC_INDUSTRIAL_MOTORS,\n ENUM_TYPES.GROUNDING,\n ENUM_TYPES.Electricals,\n\n // Gas\n ENUM_TYPES.NATURAL_GAS_PIPELINES,\n ENUM_TYPES.LIQUEFIED_NATURAL_GAS,\n ENUM_TYPES.COMPRESSED_NATURAL_GAS_PIPELINE,\n ENUM_TYPES.ON_SITE_PRODUCTION,\n ENUM_TYPES.COMPRESSED_NATURAL_GAS_PRODUCTION,\n ENUM_TYPES.BOILERS_AND_HEATERS,\n ENUM_TYPES.FURNACES,\n ENUM_TYPES.POWER_GENERATION,\n ENUM_TYPES.COGENERATION,\n ENUM_TYPES.COMBINED_CYCLE_POWER_PLANTS,\n ENUM_TYPES.FUEL_FOR_VEHICLES_AND_EQUIPMENT,\n ENUM_TYPES.GAS_METERS,\n ENUM_TYPES.BURNERS,\n ENUM_TYPES.FLUE_GAS_ANALYZERS,\n ENUM_TYPES.COMBUSTION_CONTROL_SYSTEMS,\n ENUM_TYPES.GAS_STORAGE_TANKS,\n ENUM_TYPES.GAS_PRESSURE_REGULATORS,\n ENUM_TYPES.NATURAL_GAS,\n // TYPE_COMPONENT Gas\n ENUM_TYPES.GAS_SOURCE,\n ENUM_TYPES.GAS_PRODUCTION,\n ENUM_TYPES.GAS_CONSUMINGS,\n ENUM_TYPES.NATURAL_GAS_SPECIAL,\n\n // Fuel\n ENUM_TYPES.FUELS,\n ENUM_TYPES.DIESEL_FUELS,\n ENUM_TYPES.GASON_LINES,\n ENUM_TYPES.BIODIESELS,\n ENUM_TYPES.KEROSENSE,\n ENUM_TYPES.PROPANES,\n\n ENUM_TYPES.FUEL_SOURCES,\n\n ENUM_TYPES.TANKER_TRUCKS,\n ENUM_TYPES.PIPELINE,\n\n ENUM_TYPES.FUEL_CONSUMINGS,\n\n ENUM_TYPES.INDUSTRIAL_BOILERS,\n ENUM_TYPES.GENERATORS,\n ENUM_TYPES.INDUSTRIAL_FURNACES,\n ENUM_TYPES.INDUSTRIAL_OVENS,\n ENUM_TYPES.INDUSTRIAL_VEHICLES_AND_EQUIPMENT,\n\n ENUM_TYPES.FUEL_METERS,\n ENUM_TYPES.FUEL_DISPENSERS,\n ENUM_TYPES.FUEL_STRORAGE_TANKS,\n ENUM_TYPES.FUEL_FILTRATIONS,\n ENUM_TYPES.FUEL_MANAGEMENTS,\n\n // Solar\n ENUM_TYPES.SOLAR_POWER,\n ENUM_TYPES.POWER_CONDITIONING_UNIT,\n ENUM_TYPES.INVERTERS,\n ENUM_TYPES.BATTERIES,\n\n // Plant Cell\n ENUM_TYPES.PLANT_CELL,\n ENUM_TYPES.PLANT_CELL_INPUT_GROUP,\n ENUM_TYPES.PLANT_CELL_OUTPUT_GROUP,\n\n // Steam\n ENUM_TYPES.VALUES,\n ENUM_TYPES.STEAM_TRAPS,\n ENUM_TYPES.PRESSURE_REGULATORS,\n ENUM_TYPES.SAFETY_VALUES_AND_EQUIPMENT,\n ENUM_TYPES.CONDENSATE_RETURN_SYSTEM,\n ENUM_TYPES.DEAERATORS,\n ENUM_TYPES.FEEDWATER_PUMPS,\n ENUM_TYPES.BLOWDOWN_TANKS,\n ENUM_TYPES.EXPANSION_TANKS,\n ENUM_TYPES.HEAT_EXCHANGERS,\n ENUM_TYPES.TURBINES,\n ENUM_TYPES.STEAM_COMPONENT,\n ENUM_TYPES.STEAM_CONSUMING_SYSTEM,\n ENUM_TYPES.ENERGY_CONVERTER,\n ] as string[];\n\n export const ICON_ASSET_PATH: string = 'assets/images/editor/icons';\n export const ICON_ASSET_WITHDRAW_DISCHARGE_ICON: string =\n '/assets/images/icons/hoskote_plant';\n export const IMAGE_RO_WATER_TREATMENT_PATH =\n '/assets/images/ro-water-treatment/RO_WATER_TREATMENT_BG.png';\n export const IMAGE_BOILER_PATH = 'assets/images/boiler/cms_boiler.png';\n export const IMAGE_COOLING_TOWER_PATH =\n 'assets/images/process-water/cooling-tower-4.png';\n export const SPECIAL_ICON_ASSET_PATH: string = 'assets/images/editor/special';\n export const ENERGY_ICON_ASSET_PATH = 'assets/images/editor/energy';\n export const GAS_ICON_ASSET_PATH = 'assets/images/editor/gas';\n export const FUEL_ICON_ASSET_PATH = 'assets/images/editor/fuel';\n export const STEAM_ICON_ASSET_PATH = 'assets/images/editor/steam';\n export const PLANT_CELL_PATH = 'assets/images/editor/plant-cell';\n export const DATA_BOX = 'assets/images/editor/data-box';\n\n export const LINK_TEMPLATES: {\n [key in AtoGojsEditorModel.ENUM_LINK_TYPES]: any;\n } = {\n [ENUM_LINK_TYPES.SIMPLE]: {\n toShortLength: 8,\n strokeWidth: 8,\n arrow: {\n toArrow: 'Triangle',\n visible: true,\n stroke: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n fill: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n scale: 1.7,\n },\n },\n [ENUM_LINK_TYPES.PIPE]: {\n strokeWidth: 8,\n },\n [ENUM_LINK_TYPES.PIPE_ANIMATION]: {\n strokeWidth: 8,\n animation: {\n isPanelMain: true,\n stroke: 'white',\n strokeWidth: 2,\n name: 'PIPE',\n strokeDashArray: [10, 20],\n visible: false,\n },\n },\n [ENUM_LINK_TYPES.PIPE_HIDDEN]: {\n strokeWidth: 0,\n selectable: false,\n arrow: {\n visible: false,\n },\n },\n };\n\n export interface I_TEMPLATE_ITEM {\n name: AtoGojsEditorModel.ENUM_TEMPLATES;\n icon?: string;\n size?: { w: number; h: number };\n systemType?: string;\n }\n\n export const ATTRNAME_COMPONENT: any[] = [\n 'waterWithdrawName',\n 'waterDischargeName',\n 'wasteWaterProcessName',\n 'waterTreatmentName',\n 'waterStorageTankName',\n 'genericProcessName',\n 'boilerName',\n 'coolingTowerName',\n 'facilityFunctionName',\n 'miscWaterUseName',\n 'plantTopologyName',\n ];\n\n // export enum GROUP_COMPONENT_TYPE {\n // WITHDRAW_SOURCES = 'Withdraw Sources',\n // PROCESSE = 'Processe',\n // WASTEWATER_TREATEMENTS = 'WasteWater Treatements',\n // WATER_TREATMENT = 'Water Treatments',\n // DISCHARGE_DESTINATIONS = 'Discharge Destinations',\n // WATER_STORAGE = 'Water Storage',\n // FACILITY_FUNCTIONS = 'Facility functions',\n // OTHER = 'Other',\n // }\n\n export const NODE_TEMPLATES: {\n [key in AtoGojsEditorModel.ENUM_TEMPLATES]: I_TEMPLATE_ITEM;\n } = {\n [ENUM_TEMPLATES.STORAGE]: {\n name: ENUM_TEMPLATES.STORAGE,\n icon: `${ICON_ASSET_PATH}/Raw Water Tank.svg`,\n systemType: ENUM_TYPES.STORAGE,\n },\n [ENUM_TEMPLATES.COOLING_TOWER]: {\n name: ENUM_TEMPLATES.COOLING_TOWER,\n icon: `${ICON_ASSET_PATH}/cooling_tower.svg`,\n systemType: ENUM_TYPES.COOLING_TOWER,\n },\n\n // WATER_TREATMENT\n [ENUM_TEMPLATES.WATER_TREATMENT]: {\n name: ENUM_TEMPLATES.WATER_TREATMENT,\n icon: `${ICON_ASSET_PATH}/water_treatment.svg`,\n systemType: ENUM_TYPES.WATER_TREATMENT,\n },\n [ENUM_TEMPLATES.DEMIN_WATER_TREATMENT]: {\n name: ENUM_TEMPLATES.DEMIN_WATER_TREATMENT,\n icon: `${ICON_ASSET_PATH}/Demin.svg`,\n systemType: ENUM_TYPES.DEMIN_WATER_TREATMENT,\n },\n [ENUM_TEMPLATES.RO_WATER_TREATMENT]: {\n name: ENUM_TEMPLATES.RO_WATER_TREATMENT,\n icon: `${ICON_ASSET_PATH}/RO.svg`,\n systemType: ENUM_TYPES.RO_WATER_TREATMENT,\n },\n\n [ENUM_TEMPLATES.DOMESTIC_USE]: {\n name: ENUM_TEMPLATES.DOMESTIC_USE,\n icon: `${ICON_ASSET_PATH}/Domestic_new.svg`,\n systemType: ENUM_TYPES.DOMESTIC_USE,\n },\n [ENUM_TEMPLATES.PROCESS]: {\n name: ENUM_TEMPLATES.PROCESS,\n // icon: `${ICON_ASSET_PATH}/process.svg`,\n icon: `${ICON_ASSET_PATH}/Generic Process.svg`,\n systemType: ENUM_TYPES.PROCESS,\n },\n [ENUM_TEMPLATES.SPECIAL_STORAGE]: {\n name: ENUM_TEMPLATES.SPECIAL_STORAGE,\n icon: `${ICON_ASSET_PATH}/process.svg`,\n systemType: ENUM_TYPES.SPECIAL_STORAGE,\n },\n [ENUM_TEMPLATES.BOILER]: {\n name: ENUM_TEMPLATES.BOILER,\n icon: `${ICON_ASSET_PATH}/Boiler.svg`,\n systemType: ENUM_TYPES.BOILER,\n },\n\n // WASTEWATER_TREATMENT\n [ENUM_TEMPLATES.WASTEWATER_TREATMENT]: {\n name: ENUM_TEMPLATES.WASTEWATER_TREATMENT,\n icon: `${ICON_ASSET_PATH}/wastewater_treatment.svg`,\n // size: {\n // w: GRID_SIZE * 8,\n // h: GRID_SIZE * 6,\n // },\n systemType: ENUM_TYPES.WASTEWATER_TREATMENT,\n },\n [ENUM_TEMPLATES.DAF_WASTEWATER_TREATMENT]: {\n name: ENUM_TEMPLATES.DAF_WASTEWATER_TREATMENT,\n icon: `${ICON_ASSET_PATH}/DAF.svg`,\n // size: {\n // w: GRID_SIZE * 8,\n // h: GRID_SIZE * 6,\n // },\n systemType: ENUM_TYPES.DAF_WASTEWATER_TREATMENT,\n },\n [ENUM_TEMPLATES.ETP_WASTEWATER_TREATMENT]: {\n name: ENUM_TEMPLATES.ETP_WASTEWATER_TREATMENT,\n icon: `${ICON_ASSET_PATH}/water_treatment.svg`,\n systemType: ENUM_TYPES.ETP_WASTEWATER_TREATMENT,\n },\n [ENUM_TEMPLATES.MBR_WASTEWATER_TREATMENT]: {\n name: ENUM_TEMPLATES.MBR_WASTEWATER_TREATMENT,\n icon: `${ICON_ASSET_PATH}/MBR.svg`,\n // size: {\n // w: GRID_SIZE * 8,\n // h: GRID_SIZE * 6,\n // },\n systemType: ENUM_TYPES.MBR_WASTEWATER_TREATMENT,\n },\n [ENUM_TEMPLATES.ZLD_WASTEWATER_TREATMENT]: {\n name: ENUM_TEMPLATES.ZLD_WASTEWATER_TREATMENT,\n icon: `${ICON_ASSET_PATH}/ZLD.svg`,\n // size: {\n // w: GRID_SIZE * 8,\n // h: GRID_SIZE * 6,\n // },\n systemType: ENUM_TYPES.ZLD_WASTEWATER_TREATMENT,\n },\n\n [ENUM_TEMPLATES.LANDSCAPING_IRRIGATION]: {\n name: ENUM_TEMPLATES.LANDSCAPING_IRRIGATION,\n icon: `${ICON_ASSET_PATH}/Irrigation.svg`,\n // size: {\n // w: GRID_SIZE * 8,\n // h: GRID_SIZE * 6,\n // },\n systemType: ENUM_TYPES.LANDSCAPING_IRRIGATION,\n },\n [ENUM_TEMPLATES.OTHER]: {\n name: ENUM_TEMPLATES.OTHER,\n icon: `${ICON_ASSET_PATH}/other.svg`,\n systemType: ENUM_TYPES.OTHER,\n },\n [ENUM_TEMPLATES.TEXT_NODE]: {\n name: ENUM_TEMPLATES.TEXT_NODE,\n },\n [ENUM_TEMPLATES.EMPTY]: {\n name: ENUM_TEMPLATES.EMPTY,\n },\n\n [ENUM_TEMPLATES.VALUE_NODE]: {\n name: ENUM_TEMPLATES.VALUE_NODE,\n },\n [ENUM_TEMPLATES.VALUE_LABEL]: {\n name: ENUM_TEMPLATES.VALUE_LABEL,\n },\n [ENUM_TEMPLATES.TEXT_LABEL]: {\n name: ENUM_TEMPLATES.TEXT_LABEL,\n },\n [ENUM_TEMPLATES.DATA_BOX]: {\n name: ENUM_TEMPLATES.DATA_BOX,\n },\n\n [ENUM_TEMPLATES.SPECIAL_PROCESS]: {\n name: ENUM_TEMPLATES.SPECIAL_PROCESS,\n icon: `${SPECIAL_ICON_ASSET_PATH}/process.svg`,\n },\n [ENUM_TEMPLATES.SPECIAL_STORE]: {\n name: ENUM_TEMPLATES.SPECIAL_STORE,\n icon: `${SPECIAL_ICON_ASSET_PATH}/Discharge.svg`,\n },\n [ENUM_TEMPLATES.SPECIAL_DISCHARGE]: {\n name: ENUM_TEMPLATES.SPECIAL_DISCHARGE,\n icon: `${SPECIAL_ICON_ASSET_PATH}/Discharge.svg`,\n },\n\n [ENUM_TEMPLATES.THIRD_PARTY_SOURCES]: {\n name: ENUM_TEMPLATES.THIRD_PARTY_SOURCES,\n // icon: `${ICON_ASSET_PATH}/Intake.svg`,\n icon: `${ICON_ASSET_PATH}/Third Party Sources.svg`,\n systemType: ENUM_TYPES.THIRD_PARTY_SOURCES,\n },\n\n [ENUM_TEMPLATES.THIRD_PARTY_DESTINATIONS]: {\n name: ENUM_TEMPLATES.THIRD_PARTY_DESTINATIONS,\n // icon: `${ICON_ASSET_PATH}/Intake.svg`,\n icon: `${ICON_ASSET_PATH}/Third party destinations.svg`,\n systemType: ENUM_TYPES.THIRD_PARTY_DESTINATIONS,\n },\n\n [ENUM_TEMPLATES.GROUND_WATER_NON_RENEWABLE]: {\n name: ENUM_TEMPLATES.GROUND_WATER_NON_RENEWABLE,\n icon: `${ICON_ASSET_PATH}/Groundwater - Non-Renewable.svg`,\n systemType: ENUM_TYPES.GROUND_WATER_NON_RENEWABLE,\n },\n [ENUM_TEMPLATES.PRODUCED_ENTRAINED]: {\n name: ENUM_TEMPLATES.PRODUCED_ENTRAINED,\n icon: `${ICON_ASSET_PATH}/Produced Entrained Water.svg`,\n systemType: ENUM_TYPES.PRODUCED_ENTRAINED,\n },\n [ENUM_TEMPLATES.BRACKISH_SURFACE_WATER]: {\n name: ENUM_TEMPLATES.BRACKISH_SURFACE_WATER,\n icon: `${ICON_ASSET_PATH}/Brackisk Surface Water Seawater.svg`,\n systemType: ENUM_TYPES.BRACKISH_SURFACE_WATER,\n },\n\n [ENUM_TEMPLATES.FRESH_SURFACE_WATER]: {\n name: ENUM_TEMPLATES.FRESH_SURFACE_WATER,\n icon: `${ICON_ASSET_PATH}/Fresh Surface Water.svg`,\n systemType: ENUM_TYPES.FRESH_SURFACE_WATER,\n },\n [ENUM_TEMPLATES.UTILITY]: {\n name: ENUM_TEMPLATES.UTILITY,\n icon: '',\n // `${ICON_ASSET_PATH}/rain.svg`,\n },\n\n [ENUM_TEMPLATES.GROUND_WATER_RENEWABLE]: {\n name: ENUM_TEMPLATES.GROUND_WATER_RENEWABLE,\n icon: `${ICON_ASSET_PATH}/Groundwater - Renewable.svg`,\n systemType: ENUM_TYPES.GROUND_WATER_RENEWABLE,\n },\n [ENUM_TEMPLATES.SPECIAL_OTHER]: {\n name: ENUM_TEMPLATES.SPECIAL_OTHER,\n icon: `${SPECIAL_ICON_ASSET_PATH}/Discharge.svg`,\n },\n // Energy\n // Electric Node Template ====================================================================\n [ENUM_TEMPLATES.GRID]: {\n name: ENUM_TEMPLATES.GRID,\n icon: `${ENERGY_ICON_ASSET_PATH}/Grid.svg`,\n systemType: ENUM_TYPES.GRID,\n // size: {\n // h: GRID_SIZE * 8,\n // w: GRID_SIZE * 6,\n // },\n },\n [ENUM_TEMPLATES.DIESEL_GENERATORS]: {\n name: ENUM_TEMPLATES.DIESEL_GENERATORS,\n icon: `${ENERGY_ICON_ASSET_PATH}/Diesel Generators.svg`,\n systemType: ENUM_TYPES.DIESEL_GENERATORS,\n // size: {\n // h: GRID_SIZE * 8,\n // w: GRID_SIZE * 6,\n // },\n },\n [ENUM_TEMPLATES.BATTERY_ENERGY_STORAGE]: {\n name: ENUM_TEMPLATES.BATTERY_ENERGY_STORAGE,\n icon: `${ENERGY_ICON_ASSET_PATH}/Battery.svg`,\n systemType: ENUM_TYPES.BATTERY_ENERGY_STORAGE,\n },\n [ENUM_TEMPLATES.LIGHTING_SYSTEMS]: {\n name: ENUM_TEMPLATES.LIGHTING_SYSTEMS,\n icon: `${ENERGY_ICON_ASSET_PATH}/Lighting systems.svg`,\n systemType: ENUM_TYPES.LIGHTING_SYSTEMS,\n },\n [ENUM_TEMPLATES.LIGHTINGS]: {\n name: ENUM_TEMPLATES.LIGHTINGS,\n icon: `${ENERGY_ICON_ASSET_PATH}/Lights.svg`,\n systemType: ENUM_TYPES.LIGHTINGS,\n },\n [ENUM_TEMPLATES.ELECTRIC_METERS]: {\n name: ENUM_TEMPLATES.ELECTRIC_METERS,\n icon: `${ENERGY_ICON_ASSET_PATH}/Meter.svg`,\n systemType: ENUM_TYPES.ELECTRIC_METERS,\n },\n\n [ENUM_TEMPLATES.TRANSFORMERS]: {\n name: ENUM_TEMPLATES.TRANSFORMERS,\n icon: `${ENERGY_ICON_ASSET_PATH}/Transformer.svg`,\n systemType: ENUM_TYPES.TRANSFORMERS,\n },\n [ENUM_TEMPLATES.ELECTRIC_FLYWHEEL_ENERGY_STORAGE]: {\n name: ENUM_TEMPLATES.ELECTRIC_FLYWHEEL_ENERGY_STORAGE,\n icon: `${ENERGY_ICON_ASSET_PATH}/Pumped hydro storage systems.svg`,\n systemType: ENUM_TYPES.ELECTRIC_FLYWHEEL_ENERGY_STORAGE,\n },\n [ENUM_TEMPLATES.PUMPED_HYDRO_STORAGE]: {\n name: ENUM_TEMPLATES.PUMPED_HYDRO_STORAGE,\n icon: `${ENERGY_ICON_ASSET_PATH}/Pumped hydro storage systems.svg`,\n systemType: ENUM_TYPES.PUMPED_HYDRO_STORAGE,\n },\n [ENUM_TEMPLATES.THERMAL_ENERGY_STORAGE]: {\n name: ENUM_TEMPLATES.THERMAL_ENERGY_STORAGE,\n icon: `${ENERGY_ICON_ASSET_PATH}/Thermal energy storage systems.svg`,\n systemType: ENUM_TYPES.THERMAL_ENERGY_STORAGE,\n },\n [ENUM_TEMPLATES.SUPER_CAPACITOR_ENERGY_STORAGE]: {\n name: ENUM_TEMPLATES.SUPER_CAPACITOR_ENERGY_STORAGE,\n icon: `${ENERGY_ICON_ASSET_PATH}/Supercapacitor energy storage systems.svg`,\n systemType: ENUM_TYPES.SUPER_CAPACITOR_ENERGY_STORAGE,\n },\n [ENUM_TEMPLATES.SWITCH_GEARS]: {\n name: ENUM_TEMPLATES.SWITCH_GEARS,\n icon: `${ENERGY_ICON_ASSET_PATH}/Switchgear.svg`,\n systemType: ENUM_TYPES.SWITCH_GEARS,\n },\n [ENUM_TEMPLATES.PROCESS_CONTROL_AUTOMATION_SYSTEMS]: {\n name: ENUM_TEMPLATES.PROCESS_CONTROL_AUTOMATION_SYSTEMS,\n icon: `${ENERGY_ICON_ASSET_PATH}/Process control and automation systems.svg`,\n systemType: ENUM_TYPES.PROCESS_CONTROL_AUTOMATION_SYSTEMS,\n },\n [ENUM_TEMPLATES.PROCESS_EQUIPMENT_MACHINES]: {\n name: ENUM_TEMPLATES.PROCESS_EQUIPMENT_MACHINES,\n icon: `${ENERGY_ICON_ASSET_PATH}/Process equipment and machines.svg`,\n systemType: ENUM_TYPES.PROCESS_EQUIPMENT_MACHINES,\n },\n [ENUM_TEMPLATES.OFFICE_EQUIPMENT]: {\n name: ENUM_TEMPLATES.OFFICE_EQUIPMENT,\n icon: `${ENERGY_ICON_ASSET_PATH}/Office equipment.svg`,\n systemType: ENUM_TYPES.OFFICE_EQUIPMENT,\n },\n [ENUM_TEMPLATES.POWER_DISTRIBUTION_CONTROL_SYSTEMS]: {\n name: ENUM_TEMPLATES.POWER_DISTRIBUTION_CONTROL_SYSTEMS,\n icon: `${ENERGY_ICON_ASSET_PATH}/Power distribution and control systems.svg`,\n systemType: ENUM_TYPES.POWER_DISTRIBUTION_CONTROL_SYSTEMS,\n },\n [ENUM_TEMPLATES.POWER_DISTRIBUTION_SYSTEMS]: {\n name: ENUM_TEMPLATES.POWER_DISTRIBUTION_SYSTEMS,\n icon: `${ENERGY_ICON_ASSET_PATH}/Power distribution systems.svg`,\n systemType: ENUM_TYPES.POWER_DISTRIBUTION_SYSTEMS,\n },\n [ENUM_TEMPLATES.NATURAL_GAS_GENERATORS]: {\n name: ENUM_TEMPLATES.NATURAL_GAS_GENERATORS,\n icon: `${ENERGY_ICON_ASSET_PATH}/Natural gas generators.svg`,\n systemType: ENUM_TYPES.NATURAL_GAS_GENERATORS,\n },\n [ENUM_TEMPLATES.MOTOR_CONTROLS]: {\n name: ENUM_TEMPLATES.MOTOR_CONTROLS,\n icon: `${ENERGY_ICON_ASSET_PATH}/Motor control centers (MCCs).svg`,\n systemType: ENUM_TYPES.MOTOR_CONTROLS,\n },\n [ENUM_TEMPLATES.VARIABLE_FREQUENCY_DRIVERS]: {\n name: ENUM_TEMPLATES.VARIABLE_FREQUENCY_DRIVERS,\n icon: `${ENERGY_ICON_ASSET_PATH}/Variable frequency drives (VFDs).svg`,\n systemType: ENUM_TYPES.VARIABLE_FREQUENCY_DRIVERS,\n },\n [ENUM_TEMPLATES.ELECTRIC_HVAC]: {\n name: ENUM_TEMPLATES.ELECTRIC_HVAC,\n icon: `${ENERGY_ICON_ASSET_PATH}/Gas HVAC.svg`,\n systemType: ENUM_TYPES.ELECTRIC_HVAC,\n },\n [ENUM_TEMPLATES.COMPRESSED_AIR_SYSTEMS]: {\n name: ENUM_TEMPLATES.COMPRESSED_AIR_SYSTEMS,\n icon: `${ENERGY_ICON_ASSET_PATH}/Compressed air.svg`,\n systemType: ENUM_TYPES.COMPRESSED_AIR_SYSTEMS,\n },\n [ENUM_TEMPLATES.REFRIGERATION_COOLING_SYSTEMS]: {\n name: ENUM_TEMPLATES.REFRIGERATION_COOLING_SYSTEMS,\n icon: `${ENERGY_ICON_ASSET_PATH}/Refrigeration and cooling systems.svg`,\n systemType: ENUM_TYPES.REFRIGERATION_COOLING_SYSTEMS,\n },\n\n [ENUM_TEMPLATES.MATERIAL_HANDLING_EQUIPMENT]: {\n name: ENUM_TEMPLATES.MATERIAL_HANDLING_EQUIPMENT,\n icon: `${ENERGY_ICON_ASSET_PATH}/Material handling equipment.svg`,\n systemType: ENUM_TYPES.MATERIAL_HANDLING_EQUIPMENT,\n },\n [ENUM_TEMPLATES.WIND_POWER]: {\n name: ENUM_TEMPLATES.WIND_POWER,\n icon: `${ENERGY_ICON_ASSET_PATH}/Wind Power.svg`,\n systemType: ENUM_TYPES.WIND_POWER,\n },\n\n [ENUM_TEMPLATES.ELECTRIC_INDUSTRIAL_MOTORS]: {\n name: ENUM_TEMPLATES.ELECTRIC_INDUSTRIAL_MOTORS,\n icon: `${ENERGY_ICON_ASSET_PATH}/Industrial motors.svg`,\n systemType: ENUM_TYPES.ELECTRIC_INDUSTRIAL_MOTORS,\n },\n [ENUM_TEMPLATES.GROUNDING]: {\n name: ENUM_TEMPLATES.GROUNDING,\n icon: `${ENERGY_ICON_ASSET_PATH}/Grounding systems.svg`,\n systemType: ENUM_TYPES.GROUNDING,\n },\n // Gas ================================================================================\n\n [ENUM_TEMPLATES.NATURAL_GAS_PIPELINES]: {\n name: ENUM_TEMPLATES.NATURAL_GAS_PIPELINES,\n icon: `${GAS_ICON_ASSET_PATH}/Natural gas pipelines.svg`,\n systemType: ENUM_TYPES.NATURAL_GAS_PIPELINES,\n },\n // [ENUM_TEMPLATES.LIQUEFIED_NATURAL_GAS]: {\n // name: ENUM_TEMPLATES.LIQUEFIED_NATURAL_GAS,\n // icon: `${GAS_ICON_ASSET_PATH}/Liquefied natural gas (LNG) shipments.svg`,\n // systemType: ENUM_TYPES.LIQUEFIED_NATURAL_GAS,\n // },\n [ENUM_TEMPLATES.COMPRESSED_NATURAL_GAS_PIPELINE]: {\n name: ENUM_TEMPLATES.COMPRESSED_NATURAL_GAS_PIPELINE,\n icon: `${GAS_ICON_ASSET_PATH}/Compressed natural gas pipeline (CNG).svg`,\n systemType: ENUM_TYPES.COMPRESSED_NATURAL_GAS_PIPELINE,\n },\n // [ENUM_TEMPLATES.ON_SITE_PRODUCTION]: {\n // name: ENUM_TEMPLATES.ON_SITE_PRODUCTION,\n // icon: `${GAS_ICON_ASSET_PATH}/On-site production.svg`,\n // systemType: ENUM_TYPES.ON_SITE_PRODUCTION,\n // },\n [ENUM_TEMPLATES.COMPRESSED_NATURAL_GAS_PRODUCTION]: {\n name: ENUM_TEMPLATES.COMPRESSED_NATURAL_GAS_PRODUCTION,\n icon: `${GAS_ICON_ASSET_PATH}/Compressed natural gas pipeline (CNG).svg`,\n systemType: ENUM_TYPES.COMPRESSED_NATURAL_GAS_PRODUCTION,\n },\n [ENUM_TEMPLATES.BOILERS_AND_HEATERS]: {\n name: ENUM_TEMPLATES.BOILERS_AND_HEATERS,\n icon: `${GAS_ICON_ASSET_PATH}/Boilers and heaters.svg`,\n systemType: ENUM_TYPES.BOILERS_AND_HEATERS,\n },\n [ENUM_TEMPLATES.FURNACES]: {\n name: ENUM_TEMPLATES.FURNACES,\n icon: `${GAS_ICON_ASSET_PATH}/Furnaces.svg`,\n systemType: ENUM_TYPES.FURNACES,\n },\n [ENUM_TEMPLATES.POWER_GENERATION]: {\n name: ENUM_TEMPLATES.POWER_GENERATION,\n icon: `${GAS_ICON_ASSET_PATH}/Power generation.svg`,\n systemType: ENUM_TYPES.POWER_GENERATION,\n },\n [ENUM_TEMPLATES.COGENERATION]: {\n name: ENUM_TEMPLATES.COGENERATION,\n icon: `${GAS_ICON_ASSET_PATH}/Cogeneration.svg`,\n systemType: ENUM_TYPES.COGENERATION,\n },\n [ENUM_TEMPLATES.COMBINED_CYCLE_POWER_PLANTS]: {\n name: ENUM_TEMPLATES.COMBINED_CYCLE_POWER_PLANTS,\n icon: `${GAS_ICON_ASSET_PATH}/Combined cycle power plants.svg`,\n systemType: ENUM_TYPES.COMBINED_CYCLE_POWER_PLANTS,\n },\n [ENUM_TEMPLATES.FUEL_FOR_VEHICLES_AND_EQUIPMENT]: {\n name: ENUM_TEMPLATES.FUEL_FOR_VEHICLES_AND_EQUIPMENT,\n icon: `${GAS_ICON_ASSET_PATH}/Fuel for vehicles and equipment.svg`,\n systemType: ENUM_TYPES.FUEL_FOR_VEHICLES_AND_EQUIPMENT,\n },\n [ENUM_TEMPLATES.GAS_METERS]: {\n name: ENUM_TEMPLATES.GAS_METERS,\n icon: `${GAS_ICON_ASSET_PATH}/Gas meters.svg`,\n systemType: ENUM_TYPES.GAS_METERS,\n },\n // [ENUM_TEMPLATES.BURNERS]: {\n // name: ENUM_TEMPLATES.BURNERS,\n // icon: `${GAS_ICON_ASSET_PATH}/Burners.svg`,\n // systemType: ENUM_TYPES.BURNERS,\n // },\n // [ENUM_TEMPLATES.FLUE_GAS_ANALYZERS]: {\n // name: ENUM_TEMPLATES.FLUE_GAS_ANALYZERS,\n // icon: `${GAS_ICON_ASSET_PATH}/Flue gas analyzers.svg`,\n // systemType: ENUM_TYPES.FLUE_GAS_ANALYZERS,\n // },\n [ENUM_TEMPLATES.COMBUSTION_CONTROL_SYSTEMS]: {\n name: ENUM_TEMPLATES.COMBUSTION_CONTROL_SYSTEMS,\n icon: `${GAS_ICON_ASSET_PATH}/Combustion control systems.svg`,\n systemType: ENUM_TYPES.COMBUSTION_CONTROL_SYSTEMS,\n },\n [ENUM_TEMPLATES.GAS_STORAGE_TANKS]: {\n name: ENUM_TEMPLATES.GAS_STORAGE_TANKS,\n icon: `${GAS_ICON_ASSET_PATH}/Gas storage tanks.svg`,\n systemType: ENUM_TYPES.GAS_STORAGE_TANKS,\n },\n [ENUM_TEMPLATES.GAS_PRESSURE_REGULATORS]: {\n name: ENUM_TEMPLATES.GAS_PRESSURE_REGULATORS,\n icon: `${GAS_ICON_ASSET_PATH}/Gas pressure regulators.svg`,\n systemType: ENUM_TYPES.GAS_PRESSURE_REGULATORS,\n },\n [ENUM_TEMPLATES.NATURAL_GAS]: {\n name: ENUM_TEMPLATES.NATURAL_GAS,\n icon: `${GAS_ICON_ASSET_PATH}/Natural Gas.svg`,\n systemType: ENUM_TYPES.NATURAL_GAS,\n },\n // Fuel==========================================================\n [ENUM_TEMPLATES.DIESEL_FUELS]: {\n name: ENUM_TEMPLATES.DIESEL_FUELS,\n icon: `${FUEL_ICON_ASSET_PATH}/Diesel fuel.svg`,\n systemType: ENUM_TYPES.DIESEL_FUELS,\n },\n [ENUM_TEMPLATES.GASON_LINES]: {\n name: ENUM_TEMPLATES.GASON_LINES,\n icon: `${FUEL_ICON_ASSET_PATH}/Gasoline.svg`,\n systemType: ENUM_TYPES.GASON_LINES,\n },\n [ENUM_TEMPLATES.BIODIESELS]: {\n name: ENUM_TEMPLATES.BIODIESELS,\n icon: `${FUEL_ICON_ASSET_PATH}/Biodiesel.svg`,\n systemType: ENUM_TYPES.BIODIESELS,\n },\n [ENUM_TEMPLATES.KEROSENSE]: {\n name: ENUM_TEMPLATES.KEROSENSE,\n icon: `${FUEL_ICON_ASSET_PATH}/Kerosene.svg`,\n systemType: ENUM_TYPES.KEROSENSE,\n },\n [ENUM_TEMPLATES.PROPANES]: {\n name: ENUM_TEMPLATES.PROPANES,\n icon: `${FUEL_ICON_ASSET_PATH}/Propane.svg`,\n systemType: ENUM_TYPES.PROPANES,\n },\n [ENUM_TEMPLATES.TANKER_TRUCKS]: {\n name: ENUM_TEMPLATES.TANKER_TRUCKS,\n icon: `${FUEL_ICON_ASSET_PATH}/Tanker Trucks.svg`,\n systemType: ENUM_TYPES.TANKER_TRUCKS,\n },\n [ENUM_TEMPLATES.PIPELINE]: {\n name: ENUM_TEMPLATES.PIPELINE,\n icon: `${FUEL_ICON_ASSET_PATH}/Pipeline.svg`,\n systemType: ENUM_TYPES.PIPELINE,\n },\n\n [ENUM_TEMPLATES.INDUSTRIAL_BOILERS]: {\n name: ENUM_TEMPLATES.INDUSTRIAL_BOILERS,\n icon: `${FUEL_ICON_ASSET_PATH}/Industrial boilers.svg`,\n systemType: ENUM_TYPES.INDUSTRIAL_BOILERS,\n },\n [ENUM_TEMPLATES.GENERATORS]: {\n name: ENUM_TEMPLATES.GENERATORS,\n icon: `${FUEL_ICON_ASSET_PATH}/Generators.svg`,\n systemType: ENUM_TYPES.GENERATORS,\n },\n [ENUM_TEMPLATES.INDUSTRIAL_FURNACES]: {\n name: ENUM_TEMPLATES.INDUSTRIAL_FURNACES,\n icon: `${FUEL_ICON_ASSET_PATH}/Industrial furnaces.svg`,\n systemType: ENUM_TYPES.INDUSTRIAL_FURNACES,\n },\n [ENUM_TEMPLATES.INDUSTRIAL_OVENS]: {\n name: ENUM_TEMPLATES.INDUSTRIAL_OVENS,\n icon: `${FUEL_ICON_ASSET_PATH}/Industrial ovens.svg`,\n systemType: ENUM_TYPES.INDUSTRIAL_OVENS,\n },\n [ENUM_TEMPLATES.INDUSTRIAL_VEHICLES_AND_EQUIPMENT]: {\n name: ENUM_TEMPLATES.INDUSTRIAL_VEHICLES_AND_EQUIPMENT,\n icon: `${FUEL_ICON_ASSET_PATH}/Industrial vehicles and equipment.svg`,\n systemType: ENUM_TYPES.INDUSTRIAL_VEHICLES_AND_EQUIPMENT,\n },\n\n [ENUM_TEMPLATES.FUEL_METERS]: {\n name: ENUM_TEMPLATES.FUEL_METERS,\n icon: `${FUEL_ICON_ASSET_PATH}/Fuel meters.svg`,\n systemType: ENUM_TYPES.FUEL_METERS,\n },\n [ENUM_TEMPLATES.FUEL_DISPENSERS]: {\n name: ENUM_TEMPLATES.FUEL_DISPENSERS,\n icon: `${FUEL_ICON_ASSET_PATH}/Fuel dispensers.svg`,\n systemType: ENUM_TYPES.FUEL_DISPENSERS,\n },\n [ENUM_TEMPLATES.FUEL_STRORAGE_TANKS]: {\n name: ENUM_TEMPLATES.FUEL_STRORAGE_TANKS,\n icon: `${FUEL_ICON_ASSET_PATH}/Fuel storage tanks.svg`,\n systemType: ENUM_TYPES.FUEL_STRORAGE_TANKS,\n },\n [ENUM_TEMPLATES.FUEL_FILTRATIONS]: {\n name: ENUM_TEMPLATES.FUEL_FILTRATIONS,\n icon: `${FUEL_ICON_ASSET_PATH}/Fuel filtration systems.svg`,\n systemType: ENUM_TYPES.FUEL_FILTRATIONS,\n },\n [ENUM_TEMPLATES.FUEL_MANAGEMENTS]: {\n name: ENUM_TEMPLATES.FUEL_MANAGEMENTS,\n icon: `${FUEL_ICON_ASSET_PATH}/Fuel management systems.svg`,\n systemType: ENUM_TYPES.FUEL_MANAGEMENTS,\n },\n\n [ENUM_TEMPLATES.FUELS]: {\n name: ENUM_TEMPLATES.FUELS,\n icon: `${FUEL_ICON_ASSET_PATH}/Diesel fuel.svg`,\n systemType: ENUM_TYPES.FUELS,\n },\n\n // Gas new\n [ENUM_TEMPLATES.LIQUEFIED_NATURAL_GAS]: {\n name: ENUM_TEMPLATES.LIQUEFIED_NATURAL_GAS,\n icon: `${ENERGY_ICON_ASSET_PATH}/Natural gas generators.svg`,\n systemType: ENUM_TYPES.LIQUEFIED_NATURAL_GAS,\n },\n [ENUM_TEMPLATES.ON_SITE_PRODUCTION]: {\n name: ENUM_TEMPLATES.ON_SITE_PRODUCTION,\n icon: `${ENERGY_ICON_ASSET_PATH}/Natural gas generators.svg`,\n systemType: ENUM_TYPES.ON_SITE_PRODUCTION,\n },\n\n [ENUM_TEMPLATES.BURNERS]: {\n name: ENUM_TEMPLATES.BURNERS,\n icon: `${ENERGY_ICON_ASSET_PATH}/Power conditioning unit (PCU).svg`,\n systemType: ENUM_TYPES.BURNERS,\n },\n [ENUM_TEMPLATES.FLUE_GAS_ANALYZERS]: {\n name: ENUM_TEMPLATES.FLUE_GAS_ANALYZERS,\n icon: `${ENERGY_ICON_ASSET_PATH}/Power conditioning unit (PCU).svg`,\n systemType: ENUM_TYPES.FLUE_GAS_ANALYZERS,\n },\n // Solar ==========================================================\n [ENUM_TEMPLATES.SOLAR_POWER]: {\n name: ENUM_TEMPLATES.SOLAR_POWER,\n icon: `${ENERGY_ICON_ASSET_PATH}/Solar.svg`,\n systemType: ENUM_TYPES.SOLAR_POWER,\n },\n [ENUM_TEMPLATES.POWER_CONDITIONING_UNIT]: {\n name: ENUM_TEMPLATES.POWER_CONDITIONING_UNIT,\n icon: `${ENERGY_ICON_ASSET_PATH}/Power conditioning unit (PCU).svg`,\n systemType: ENUM_TYPES.POWER_CONDITIONING_UNIT,\n },\n [ENUM_TEMPLATES.INVERTERS]: {\n name: ENUM_TEMPLATES.INVERTERS,\n icon: `${ENERGY_ICON_ASSET_PATH}/Inverter.svg`,\n systemType: ENUM_TYPES.INVERTERS,\n },\n [ENUM_TEMPLATES.BATTERIES]: {\n name: ENUM_TEMPLATES.BATTERIES,\n icon: `${ENERGY_ICON_ASSET_PATH}/Battery.svg`,\n systemType: ENUM_TYPES.BATTERIES,\n },\n\n [ENUM_TEMPLATES.ZONE]: {\n name: ENUM_TEMPLATES.ZONE,\n // icon: `${ENERGY_ICON_ASSET_PATH}/Battery.svg`,\n },\n [ENUM_TEMPLATES.ZONE_ENERGY_ITEM]: {\n name: ENUM_TEMPLATES.ZONE_ENERGY_ITEM,\n },\n\n // UNCATEGORIZED\n [ENUM_TEMPLATES.UNCATEGORIZED]: {\n name: ENUM_TEMPLATES.UNCATEGORIZED,\n icon: '',\n // `${ICON_ASSET_PATH}/rain.svg`,\n },\n\n // Plant Cell\n [ENUM_TEMPLATES.PLANT_CELL]: {\n name: ENUM_TEMPLATES.PLANT_CELL,\n icon: `${PLANT_CELL_PATH}/Cell.svg`,\n systemType: ENUM_TYPES.PLANT_CELL,\n },\n [ENUM_TEMPLATES.INPUT_PLANT_CELL]: {\n name: ENUM_TEMPLATES.INPUT_PLANT_CELL,\n icon: '',\n },\n [ENUM_TEMPLATES.OUTPUT_PLANT_CELL]: {\n name: ENUM_TEMPLATES.OUTPUT_PLANT_CELL,\n icon: '',\n },\n\n [ENUM_TEMPLATES.PLANT_CELL_INPUT_GROUP]: {\n name: ENUM_TEMPLATES.PLANT_CELL_INPUT_GROUP,\n icon: ``,\n },\n [ENUM_TEMPLATES.PLANT_CELL_OUTPUT_GROUP]: {\n name: ENUM_TEMPLATES.PLANT_CELL_OUTPUT_GROUP,\n icon: ``,\n },\n\n [ENUM_TEMPLATES.IMAGE_TEMPLATE]: {\n name: ENUM_TEMPLATES.IMAGE_TEMPLATE,\n icon: ``,\n },\n [ENUM_TEMPLATES.PARAM_TABLE]: {\n name: ENUM_TEMPLATES.PARAM_TABLE,\n icon: ``,\n },\n [ENUM_TEMPLATES.MASS_BALANCE]: {\n name: ENUM_TEMPLATES.MASS_BALANCE,\n icon: ``,\n },\n\n // STEAM\n [ENUM_TEMPLATES.STEAM_PIPELINE]: {\n name: ENUM_TEMPLATES.STEAM_PIPELINE,\n icon: `${STEAM_ICON_ASSET_PATH}/Pipeline.svg`,\n },\n [ENUM_TEMPLATES.VALUES]: {\n name: ENUM_TEMPLATES.VALUES,\n icon: `${STEAM_ICON_ASSET_PATH}/Steam_Valve.png`,\n },\n [ENUM_TEMPLATES.STEAM_TRAPS]: {\n name: ENUM_TEMPLATES.STEAM_TRAPS,\n icon: `${STEAM_ICON_ASSET_PATH}/Trap.png`,\n },\n [ENUM_TEMPLATES.PRESSURE_REGULATORS]: {\n name: ENUM_TEMPLATES.PRESSURE_REGULATORS,\n icon: `${STEAM_ICON_ASSET_PATH}/Pressure_Regulator.png`,\n },\n [ENUM_TEMPLATES.SAFETY_VALUES_AND_EQUIPMENT]: {\n name: ENUM_TEMPLATES.SAFETY_VALUES_AND_EQUIPMENT,\n icon: `${STEAM_ICON_ASSET_PATH}/safety valve.png`,\n },\n [ENUM_TEMPLATES.CONDENSATE_RETURN_SYSTEM]: {\n name: ENUM_TEMPLATES.CONDENSATE_RETURN_SYSTEM,\n icon: `${STEAM_ICON_ASSET_PATH}/Condensate Return System.png`,\n },\n [ENUM_TEMPLATES.DEAERATORS]: {\n name: ENUM_TEMPLATES.DEAERATORS,\n icon: `${STEAM_ICON_ASSET_PATH}/Deaerators.png`,\n },\n [ENUM_TEMPLATES.FEEDWATER_PUMPS]: {\n name: ENUM_TEMPLATES.FEEDWATER_PUMPS,\n icon: `${STEAM_ICON_ASSET_PATH}/Feed Water Pump.png`,\n },\n [ENUM_TEMPLATES.BLOWDOWN_TANKS]: {\n name: ENUM_TEMPLATES.BLOWDOWN_TANKS,\n icon: `${STEAM_ICON_ASSET_PATH}/Blowdown tank.png`,\n },\n [ENUM_TEMPLATES.EXPANSION_TANKS]: {\n name: ENUM_TEMPLATES.EXPANSION_TANKS,\n icon: `${STEAM_ICON_ASSET_PATH}/Expansion Tanks.png`,\n },\n [ENUM_TEMPLATES.HEAT_EXCHANGERS]: {\n name: ENUM_TEMPLATES.HEAT_EXCHANGERS,\n icon: `${STEAM_ICON_ASSET_PATH}/heat exchangers.png`,\n },\n [ENUM_TEMPLATES.TURBINES]: {\n name: ENUM_TEMPLATES.TURBINES,\n icon: `${STEAM_ICON_ASSET_PATH}/steam turbine.png`,\n },\n\n // Plant Basic\n [ENUM_TEMPLATES.GROUP_BASIC_COMPONENT]: {\n name: ENUM_TEMPLATES.GROUP_BASIC_COMPONENT,\n icon: ``,\n },\n };\n\n export const WITHDRAW_DISCHARGE_ICON: {\n [key in string]: any;\n } = {\n [ENUM_TYPES.FRESH_SURFACE_WATER]: {\n name: ENUM_TEMPLATES.FRESH_SURFACE_WATER,\n iconActive: `${ICON_ASSET_WITHDRAW_DISCHARGE_ICON}/Fresh surface water - Duo.svg`,\n iconDisabled: `${ICON_ASSET_WITHDRAW_DISCHARGE_ICON}/Fresh surface water.svg`,\n },\n [ENUM_TYPES.THIRD_PARTY_SOURCES]: {\n name: ENUM_TEMPLATES.THIRD_PARTY_SOURCES,\n iconActive: `${ICON_ASSET_WITHDRAW_DISCHARGE_ICON}/Third party sources - Duo.svg`,\n iconDisabled: `${ICON_ASSET_WITHDRAW_DISCHARGE_ICON}/Third party sources.svg`,\n isHasWaterCapcity: true,\n },\n [ENUM_TYPES.THIRD_PARTY_DESTINATIONS]: {\n name: ENUM_TEMPLATES.THIRD_PARTY_DESTINATIONS,\n iconActive: `${ICON_ASSET_WITHDRAW_DISCHARGE_ICON}/Third party sources - Duo.svg`,\n iconDisabled: `${ICON_ASSET_WITHDRAW_DISCHARGE_ICON}/Third party sources.svg`,\n isHasWaterCapcity: true,\n },\n [ENUM_TYPES.GROUND_WATER_NON_RENEWABLE]: {\n name: ENUM_TEMPLATES.GROUND_WATER_NON_RENEWABLE,\n iconActive: `${ICON_ASSET_WITHDRAW_DISCHARGE_ICON}/Groundwater - non-renewable - Duo.svg`,\n iconDisabled: `${ICON_ASSET_WITHDRAW_DISCHARGE_ICON}/Groundwater - non-renewable.svg`,\n },\n [ENUM_TYPES.PRODUCED_ENTRAINED]: {\n name: ENUM_TEMPLATES.PRODUCED_ENTRAINED,\n iconActive: `${ICON_ASSET_WITHDRAW_DISCHARGE_ICON}/Groundwater - renewable - Duo.svg`,\n iconDisabled: `${ICON_ASSET_WITHDRAW_DISCHARGE_ICON}/Groundwater - renewable.svg`,\n },\n [ENUM_TYPES.BRACKISH_SURFACE_WATER]: {\n name: ENUM_TEMPLATES.BRACKISH_SURFACE_WATER,\n iconiconActive: `${ICON_ASSET_WITHDRAW_DISCHARGE_ICON}/Brackish surface - Duo.svg`,\n iconDisabled: `${ICON_ASSET_WITHDRAW_DISCHARGE_ICON}/Brackish surface.svg`,\n },\n [ENUM_TYPES.GROUND_WATER_RENEWABLE]: {\n name: ENUM_TEMPLATES.GROUND_WATER_RENEWABLE,\n iconActive: `${ICON_ASSET_WITHDRAW_DISCHARGE_ICON}/Groundwater - renewable - Duo.svg`,\n iconDisabled: `${ICON_ASSET_WITHDRAW_DISCHARGE_ICON}/Groundwater - renewable.svg`,\n },\n };\n\n export const WITHDRAW_DISCHARGE_DIAGRAM_HOME = {\n withdrawSourcesChildren: [\n ENUM_TYPES.WATER_TREATMENT,\n ENUM_TYPES.DEMIN_WATER_TREATMENT,\n ENUM_TYPES.RO_WATER_TREATMENT,\n ],\n dischargeDestinationsChildren: [\n ENUM_TYPES.WASTEWATER_TREATMENT,\n ENUM_TYPES.DAF_WASTEWATER_TREATMENT,\n ENUM_TYPES.ETP_WASTEWATER_TREATMENT,\n ENUM_TYPES.MBR_WASTEWATER_TREATMENT,\n ENUM_TYPES.ZLD_WASTEWATER_TREATMENT,\n ],\n };\n\n export enum ACTION_RIGHT_MENU_GROUP {\n PLANT_TEMPLATES = 'Plant Templates',\n PLANT_CELLS = 'Plant Cell',\n DATA_BOX = 'Measurement',\n SYSTEM_TEMPLATES = 'System Templates',\n WATER_COMPONENT = 'Water Components',\n }\n\n export enum DATA_BOX_NAME_OF_COMPONENT {\n INFLOW = 'Inflow Of',\n OUTFLOW = 'Outflow From',\n }\n\n export enum ACTION_RIGHT_MENU {\n APPLY_TEMPLATE = 'ApplyTemplate',\n NEW_PLANT_CELL = 'NewPlantCell',\n NAME_PLANT_CELL = 'NamePlantCell',\n ADD_COMPONENT = 'AddComponent',\n }\n\n export const DATA_MENU = [\n {\n name: 'Plant Templates',\n componentType: ATO_ECOMPONENT_PLANT_TYPE.WATER,\n isFilterType: true,\n groupType: ACTION_RIGHT_MENU_GROUP.PLANT_TEMPLATES,\n children: [\n {\n name: 'Food and Beverages',\n children: [],\n actionType: ACTION_RIGHT_MENU.APPLY_TEMPLATE,\n isDrag: true,\n },\n {\n name: 'Power plant',\n children: [],\n actionType: ACTION_RIGHT_MENU.APPLY_TEMPLATE,\n isDrag: true,\n },\n ],\n },\n\n // {\n // name: 'Plant Cells',\n // groupType: ACTION_RIGHT_MENU_GROUP.PLANT_CELLS,\n // componentType: E_COMPONENT_PLANT_TYPE.WATER,\n // isFilterType: true,\n // children: [\n // {\n // name: 'Beer Production cell',\n // children: [],\n // actionType: ACTION_RIGHT_MENU.NAME_PLANT_CELL,\n // isDrag: true,\n // isViewMode: true,\n // systemType: ENUM_TYPES.PLANT_CELL,\n // type: ENUM_TYPES.PLANT_CELL,\n // inputType: TYPE_INPUT.TEXT,\n // fc: new FormControl('Beer Production cell', Validators.required),\n // fcBackup: new FormControl('Beer Production cell', Validators.required),\n // },\n // {\n // name: 'New Plant Cell',\n // children: [],\n // actionType: ACTION_RIGHT_MENU.NEW_PLANT_CELL,\n // isDrag: false,\n // },\n // ],\n // },\n ];\n\n export const WATER_USING_SYSTEM = [\n ENUM_TYPES.COOLING_TOWER,\n ENUM_TYPES.BOILER,\n ENUM_TYPES.OTHER,\n ENUM_TYPES.PROCESS,\n ENUM_TYPES.DOMESTIC_USE,\n ENUM_TYPES.LANDSCAPING_IRRIGATION,\n ];\n\n export const PARAM_TABLE_STYLE = {\n [ENUM_COLORS.CERULEAN]: {\n borderTable: ENUM_COLORS.CERULEAN,\n bgColor: ENUM_COLORS.CERULEAN_ALICE_BLUE,\n },\n [ENUM_COLORS.DANUBE]: {\n borderTable: ENUM_COLORS.DANUBE,\n bgColor: ENUM_COLORS.DANUBE_ALICE_BLUE,\n },\n [ENUM_COLORS.FOUNTAIN_BLUE]: {\n borderTable: ENUM_COLORS.FOUNTAIN_BLUE,\n bgColor: ENUM_COLORS.AZURE,\n },\n [ENUM_COLORS.GALLIANO]: {\n borderTable: ENUM_COLORS.GALLIANO,\n bgColor: ENUM_COLORS.OLD_LACE,\n },\n [ENUM_COLORS.WHITE]: {\n borderTable: ENUM_COLORS.WHITE,\n bgColor: ENUM_COLORS.WHITE,\n },\n };\n\n // System type include Water\n export const TYPE_COMPONENT_WATER: string[] = [\n ENUM_TYPES.STORAGE,\n\n ENUM_TYPES.WATER_TREATMENT,\n ENUM_TYPES.DEMIN_WATER_TREATMENT,\n ENUM_TYPES.RO_WATER_TREATMENT,\n\n ENUM_TYPES.PROCESS,\n\n ENUM_TYPES.WASTEWATER_TREATMENT,\n ENUM_TYPES.DAF_WASTEWATER_TREATMENT,\n ENUM_TYPES.ETP_WASTEWATER_TREATMENT,\n ENUM_TYPES.MBR_WASTEWATER_TREATMENT,\n ENUM_TYPES.ZLD_WASTEWATER_TREATMENT,\n\n ENUM_TYPES.DOMESTIC_USE,\n ENUM_TYPES.COOLING_TOWER,\n ENUM_TYPES.BOILER,\n ENUM_TYPES.OTHER,\n ENUM_TYPES.LANDSCAPING_IRRIGATION,\n AtoGojsEditorModel.WaterWithdrawSources,\n AtoGojsEditorModel.WaterDischargeDestinations,\n ];\n\n // Template type includes Water\n export const TYPE_TEMPLATE_WATER_NORMAL: string[] = [\n AtoGojsEditorModel.ENUM_TEMPLATES.PROCESS,\n AtoGojsEditorModel.ENUM_TEMPLATES.BOILER,\n AtoGojsEditorModel.ENUM_TEMPLATES.COOLING_TOWER,\n AtoGojsEditorModel.ENUM_TEMPLATES.ETP_WASTEWATER_TREATMENT,\n AtoGojsEditorModel.ENUM_TEMPLATES.ZLD_WASTEWATER_TREATMENT,\n AtoGojsEditorModel.ENUM_TEMPLATES.MBR_WASTEWATER_TREATMENT,\n AtoGojsEditorModel.ENUM_TEMPLATES.DAF_WASTEWATER_TREATMENT,\n AtoGojsEditorModel.ENUM_TEMPLATES.RO_WATER_TREATMENT,\n AtoGojsEditorModel.ENUM_TEMPLATES.DEMIN_WATER_TREATMENT,\n AtoGojsEditorModel.ENUM_TEMPLATES.STORAGE,\n AtoGojsEditorModel.ENUM_TEMPLATES.DOMESTIC_USE,\n AtoGojsEditorModel.ENUM_TEMPLATES.LANDSCAPING_IRRIGATION,\n AtoGojsEditorModel.ENUM_TEMPLATES.OTHER,\n ];\n // ['Process', 'Boiler', 'Cooling Tower', 'ETP Wastewater Treatment', 'ZLD Wastewater Treatment', 'MBR Wastewater Treatment', 'DAF Wastewater Treatment',\n // 'RO Water Treatment', 'Demin Water Treatment', 'Storage', 'Domestic Use', 'Landscaping/Irrigation', 'Other'];\n export const TYPE_TEMPLATE_WATER_WITHDRAW_OR_DISCHARGE: string[] = [\n AtoGojsEditorModel.ENUM_TEMPLATES.FRESH_SURFACE_WATER,\n AtoGojsEditorModel.ENUM_TEMPLATES.BRACKISH_SURFACE_WATER,\n AtoGojsEditorModel.ENUM_TEMPLATES.GROUND_WATER_RENEWABLE,\n AtoGojsEditorModel.ENUM_TEMPLATES.GROUND_WATER_NON_RENEWABLE,\n AtoGojsEditorModel.ENUM_TEMPLATES.PRODUCED_ENTRAINED,\n AtoGojsEditorModel.ENUM_TEMPLATES.THIRD_PARTY_SOURCES,\n AtoGojsEditorModel.ENUM_TEMPLATES.THIRD_PARTY_DESTINATIONS,\n ];\n // ['Fresh surface water', 'Brackish surface water/ seawater', 'Groundwater - Renewable', 'Groundwater - non-renewable', 'Produced / entrained water', 'Third party sources', 'Third party destinations'];\n export const TYPE_TEMPLATE_ELECTRICITY: string[] = [\n AtoGojsEditorModel.ENUM_TEMPLATES.GRID,\n AtoGojsEditorModel.ENUM_TEMPLATES.DIESEL_GENERATORS,\n AtoGojsEditorModel.ENUM_TEMPLATES.NATURAL_GAS_GENERATORS,\n AtoGojsEditorModel.ENUM_TEMPLATES.SOLAR_POWER,\n AtoGojsEditorModel.ENUM_TEMPLATES.TRANSFORMERS,\n AtoGojsEditorModel.ENUM_TEMPLATES.SWITCH_GEARS,\n AtoGojsEditorModel.ENUM_TEMPLATES.MOTOR_CONTROLS,\n AtoGojsEditorModel.ENUM_TEMPLATES.VARIABLE_FREQUENCY_DRIVERS,\n AtoGojsEditorModel.ENUM_TEMPLATES.POWER_DISTRIBUTION_SYSTEMS,\n AtoGojsEditorModel.ENUM_TEMPLATES.LIGHTINGS,\n AtoGojsEditorModel.ENUM_TEMPLATES.GROUNDING,\n AtoGojsEditorModel.ENUM_TEMPLATES.ELECTRIC_METERS,\n AtoGojsEditorModel.ENUM_TEMPLATES.ELECTRIC_INDUSTRIAL_MOTORS,\n AtoGojsEditorModel.ENUM_TEMPLATES.LIGHTING_SYSTEMS,\n AtoGojsEditorModel.ENUM_TEMPLATES.ELECTRIC_HVAC,\n AtoGojsEditorModel.ENUM_TEMPLATES.REFRIGERATION_COOLING_SYSTEMS,\n AtoGojsEditorModel.ENUM_TEMPLATES.PROCESS_CONTROL_AUTOMATION_SYSTEMS,\n AtoGojsEditorModel.ENUM_TEMPLATES.OFFICE_EQUIPMENT,\n AtoGojsEditorModel.ENUM_TEMPLATES.COMPRESSED_AIR_SYSTEMS,\n AtoGojsEditorModel.ENUM_TEMPLATES.PROCESS_EQUIPMENT_MACHINES,\n AtoGojsEditorModel.ENUM_TEMPLATES.MATERIAL_HANDLING_EQUIPMENT,\n AtoGojsEditorModel.ENUM_TEMPLATES.POWER_DISTRIBUTION_CONTROL_SYSTEMS,\n AtoGojsEditorModel.ENUM_TEMPLATES.BATTERY_ENERGY_STORAGE,\n AtoGojsEditorModel.ENUM_TEMPLATES.ELECTRIC_FLYWHEEL_ENERGY_STORAGE,\n AtoGojsEditorModel.ENUM_TEMPLATES.PUMPED_HYDRO_STORAGE,\n AtoGojsEditorModel.ENUM_TEMPLATES.THERMAL_ENERGY_STORAGE,\n AtoGojsEditorModel.ENUM_TEMPLATES.SUPER_CAPACITOR_ENERGY_STORAGE,\n ];\n // ['Grid', 'Diesel Generators', 'Natural gas generators', 'Solar Power', 'Transformers', 'Switchgears', 'MotorControls', 'VariableFrequencyDrives',\n // 'Power distribution systems', 'Lightings', 'Grounding', 'Electric Meters', 'Industrial motors',\n // 'Lighting systems', 'Heating, ventilation, and air conditioning (HVAC) systems', 'Refrigeration and cooling', 'Process control and automation', 'Office equipment', 'Compressed air',\n // 'Process equipment and machines', 'Material handling equipment', 'Power distribution and control', 'Battery energy storage', 'Flywheel energy storage',\n // 'Pumped hydro storage', 'Thermal energy storage', 'Supercapacitor energy storage'];\n export const TYPE_TEMPLATE_NATURAL_GAS: string[] = [\n AtoGojsEditorModel.ENUM_TEMPLATES.NATURAL_GAS_PIPELINES,\n AtoGojsEditorModel.ENUM_TEMPLATES.LIQUEFIED_NATURAL_GAS,\n AtoGojsEditorModel.ENUM_TEMPLATES.COMPRESSED_NATURAL_GAS_PIPELINE,\n AtoGojsEditorModel.ENUM_TEMPLATES.ON_SITE_PRODUCTION,\n AtoGojsEditorModel.ENUM_TEMPLATES.COMPRESSED_NATURAL_GAS_PRODUCTION,\n AtoGojsEditorModel.ENUM_TEMPLATES.BOILERS_AND_HEATERS,\n AtoGojsEditorModel.ENUM_TEMPLATES.FURNACES,\n AtoGojsEditorModel.ENUM_TEMPLATES.POWER_GENERATION,\n AtoGojsEditorModel.ENUM_TEMPLATES.COGENERATION,\n AtoGojsEditorModel.ENUM_TEMPLATES.COMBINED_CYCLE_POWER_PLANTS,\n AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_FOR_VEHICLES_AND_EQUIPMENT,\n AtoGojsEditorModel.ENUM_TEMPLATES.GAS_METERS,\n AtoGojsEditorModel.ENUM_TEMPLATES.BURNERS,\n AtoGojsEditorModel.ENUM_TEMPLATES.FLUE_GAS_ANALYZERS,\n AtoGojsEditorModel.ENUM_TEMPLATES.COMBUSTION_CONTROL_SYSTEMS,\n AtoGojsEditorModel.ENUM_TEMPLATES.GAS_STORAGE_TANKS,\n AtoGojsEditorModel.ENUM_TEMPLATES.GAS_PRESSURE_REGULATORS,\n ];\n // ['Natural gas pipelines', 'Liquefied natural gas', 'Compressed natural gas pipeline', 'On-site production',\n // 'Compressed natural gas production', 'Boilers and heaters', 'Furnaces', 'Power generation', 'Cogeneration', 'Combined cycle power plants',\n // 'Fuel for vehicles and equipment', 'Gas meters', 'Burners', 'Flue gas analyzers', 'Combustion control systems', 'Gas storage tanks',\n // 'Gas pressure regulators'];\n export const TYPE_TEMPLATE_FUEL: string[] = [\n AtoGojsEditorModel.ENUM_TEMPLATES.DIESEL_FUELS,\n AtoGojsEditorModel.ENUM_TEMPLATES.GASON_LINES,\n AtoGojsEditorModel.ENUM_TEMPLATES.BIODIESELS,\n AtoGojsEditorModel.ENUM_TEMPLATES.KEROSENSE,\n AtoGojsEditorModel.ENUM_TEMPLATES.PROPANES,\n AtoGojsEditorModel.ENUM_TEMPLATES.TANKER_TRUCKS,\n AtoGojsEditorModel.ENUM_TEMPLATES.PIPELINE,\n AtoGojsEditorModel.ENUM_TEMPLATES.INDUSTRIAL_BOILERS,\n AtoGojsEditorModel.ENUM_TEMPLATES.GENERATORS,\n AtoGojsEditorModel.ENUM_TEMPLATES.INDUSTRIAL_FURNACES,\n AtoGojsEditorModel.ENUM_TEMPLATES.INDUSTRIAL_OVENS,\n AtoGojsEditorModel.ENUM_TEMPLATES.INDUSTRIAL_VEHICLES_AND_EQUIPMENT,\n AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_METERS,\n AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_DISPENSERS,\n AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_STRORAGE_TANKS,\n AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_FILTRATIONS,\n AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_MANAGEMENTS,\n ];\n // ['DieselFuels', 'Gasonlines', 'Biodiesels', 'Kerosenes', 'Propanes', 'Tanker Trucks',\n // 'Pipeline', 'Industrial boilers', 'Generators', 'Industrial furnaces', 'Industrial ovens', 'Industrial vehicles and equipment',\n // 'FuelMeters', 'FuelDispensers', 'FuelStorageTanks', 'FuelFiltrations', 'FuelManagements'];\n export const TYPE_TEMPLATE_STEAM: string[] = [\n AtoGojsEditorModel.ENUM_TEMPLATES.STEAM_PIPELINE,\n AtoGojsEditorModel.ENUM_TEMPLATES.VALUES,\n AtoGojsEditorModel.ENUM_TEMPLATES.STEAM_TRAPS,\n AtoGojsEditorModel.ENUM_TEMPLATES.PRESSURE_REGULATORS,\n AtoGojsEditorModel.ENUM_TEMPLATES.SAFETY_VALUES_AND_EQUIPMENT,\n AtoGojsEditorModel.ENUM_TEMPLATES.CONDENSATE_RETURN_SYSTEM,\n AtoGojsEditorModel.ENUM_TEMPLATES.DEAERATORS,\n AtoGojsEditorModel.ENUM_TEMPLATES.FEEDWATER_PUMPS,\n AtoGojsEditorModel.ENUM_TEMPLATES.BLOWDOWN_TANKS,\n AtoGojsEditorModel.ENUM_TEMPLATES.EXPANSION_TANKS,\n AtoGojsEditorModel.ENUM_TEMPLATES.HEAT_EXCHANGERS,\n AtoGojsEditorModel.ENUM_TEMPLATES.TURBINES,\n ];\n // ['Valves', 'Steam Traps', 'Pressure Regulator', 'Safety Valves and Equipment', 'Condensate Return System', 'Deaerators',\n // 'Feedwater Pumps', 'Blowdown Tanks', 'Expansion Tanks', 'Heat Exchangers', 'Turbines'];\n export const TYPE_TEMPLATE_SPECIAL: string[] = [\n AtoGojsEditorModel.ENUM_TEMPLATES.SPECIAL_PROCESS,\n AtoGojsEditorModel.ENUM_TEMPLATES.SPECIAL_STORAGE,\n AtoGojsEditorModel.ENUM_TEMPLATES.SPECIAL_STORE,\n AtoGojsEditorModel.ENUM_TEMPLATES.SPECIAL_DISCHARGE,\n AtoGojsEditorModel.ENUM_TEMPLATES.SPECIAL_OTHER,\n ];\n\n export const TEMPLATE_DUPLICATE: any = {\n [AtoGojsEditorModel.ENUM_TEMPLATES.STEAM_PIPELINE]: AtoGojsEditorModel.ENUM_TEMPLATES.PIPELINE\n};\n}\n","// export const GO_LICENSE_KEY =\n// '73f946e5b26328a800ca0d2b113f69ed1bb37f3b9e8c1bf15e5041f0ea08681c3089ee7d02da8b9481fb1aa91a7ac089d5c46c7b9e4b013ce037d38f44e480fbe13f77b4435f559ea25676c599a87aa0ee6872f3c1b568a0c5788d';\n\nexport const GO_LICENSE_KEY =\n '298647e0b2604cc702d90676423d6bf919a175639c841ba4090310f6ee083806329fbb2801d38d90d4af4efe1c7f93d0d9c16f209248063db730d2db44e084aeb73320e5410b479cb40573939ffa78f1fd6a61f1c3b672bddf678ffb';\n","export enum ATO_ABBREVIATION {\n L = 'L',\n KL = 'KL',\n gal = 'gal',\n kGal='Kgal',\n m3 = 'm3',\n m3_Special = 'm³',\n Wh = 'Wh',\n kWh = 'kWh',\n cf = 'cf',\n th = 'th',\n BTU = 'BTU',\n BTU_UNIT = 'BTU/unit',\n MM_BTU = 'MMBTU',\n m3_unit = 'm3/unit',\n m3_unit_Special = 'm³/unit',\n J = 'J',\n Bbl = 'Bbl',\n mg = 'mg',\n // Currency\n ALL = 'ALL',\n AFN = 'AFN',\n ARS = 'ARS',\n AWG = 'AWG',\n AUD = 'AUD',\n AZN = 'AZN',\n BSD = 'BSD',\n BBD = 'BBD',\n BYN = 'BYN',\n BZD = 'BZD',\n BMD = 'BMD',\n BOB = 'BOB',\n BAM = 'BAM',\n BWP = 'BWP',\n BGN = 'BGN',\n BRL = 'BRL',\n BND = 'BND',\n KHR = 'KHR',\n CAD = 'CAD',\n KYD = 'KYD',\n CLP = 'CLP',\n CNY = 'CNY',\n COP = 'COP',\n CRC = 'CRC',\n HRK = 'HRK',\n CUP = 'CUP',\n CZK = 'CZK',\n DKK = 'DKK',\n DOP = 'DOP',\n XCD = 'XCD',\n EGP = 'EGP',\n SVC = 'SVC',\n EUR = 'EUR',\n FKP = 'FKP',\n FJD = 'FJD',\n GHS = 'GHS',\n GIP = 'GIP',\n GTQ = 'GTQ',\n GGP = 'GGP',\n GYD = 'GYD',\n HNL = 'HNL',\n HKD = 'HKD',\n HUF = 'HUF',\n ISK = 'ISK',\n INR = 'INR',\n IDR = 'IDR',\n IRR = 'IRR',\n IMP = 'IMP',\n ILS = 'ILS',\n JMD = 'JMD',\n JPY = 'JPY',\n JEP = 'JEP',\n KZT = 'KZT',\n KPW = 'KPW',\n KRW = 'KRW',\n KGS = 'KGS',\n LAK = 'LAK',\n LBP = 'LBP',\n LRD = 'LRD',\n MKD = 'MKD',\n MYR = 'MYR',\n MUR = 'MUR',\n MXN = 'MXN',\n MNT = 'MNT',\n MZN = 'MZN',\n NAD = 'NAD',\n NPR = 'NPR',\n ANG = 'ANG',\n NZD = 'NZD',\n NIO = 'NIO',\n NGN = 'NGN',\n NOK = 'NOK',\n OMR = 'OMR',\n PKR = 'PKR',\n PAB = 'PAB',\n PYG = 'PYG',\n PEN = 'PEN',\n PHP = 'PHP',\n PLN = 'PLN',\n QAR = 'QAR',\n RON = 'RON',\n RUB = 'RUB',\n SHP = 'SHP',\n SAR = 'SAR',\n RSD = 'RSD',\n SCR = 'SCR',\n SGD = 'SGD',\n SBD = 'SBD',\n SOS = 'SOS',\n ZAR = 'ZAR',\n LKR = 'LKR',\n SEK = 'SEK',\n CHF = 'CHF',\n SRD = 'SRD',\n SYP = 'SYP',\n TWD = 'TWD',\n THB = 'THB',\n TTD = 'TTD',\n TRY = 'TRY',\n TVD = 'TVD',\n UAH = 'UAH',\n AED = 'AED',\n GBP = 'GBP',\n USD = 'USD',\n UYU = 'UYU',\n UZS = 'UZS',\n VEF = 'VEF',\n VND = 'VND',\n YER = 'YER',\n ZWD = 'ZWD',\n\n\n // For Steam\n g = 'g',\n lbs = 'lbs',\n g_hr = 'g/hr',\n lbs_hr = 'lbs/hr',\n MPa = 'MPa',\n GPa = 'GPa',\n psi = 'psi',\n degC = 'degC',\n degF = 'degF',\n degC_unit_Special = '°C',\n degF_unit_Special = '°F',\n ton = 'ton',\n kg = 'kg',\n\n // Emission\n CO2 = 'CO2',\n CO2_Special = 'CO₂'\n}\n\nexport enum METRIC_PREFIXES {\n K = 'K',\n Mn = 'Mn',\n Bn = 'Bn',\n //\n M = 'M',\n MM = 'MM',\n B = 'B',\n //\n G = 'G', // 1000000000\n}\n\nexport enum ROUNDED_NUMBER {\n THOUSAND = 1000,\n MILLION = 1000000,\n BILLION = 1000000000,\n}\n\nconst PREFIXES_CURRENCY = {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.Mn,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.Bn,\n};\n\nexport const APPLICABLE_PREFIXES: {\n [key in ATO_ABBREVIATION]: any;\n} = {\n [ATO_ABBREVIATION.KL]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.Mn,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.Bn,\n },\n [ATO_ABBREVIATION.L]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.Mn,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.Bn,\n },\n [ATO_ABBREVIATION.gal]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.Mn,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.Bn,\n },\n [ATO_ABBREVIATION.kGal]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.Mn,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.Bn,\n },\n [ATO_ABBREVIATION.m3]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.MM,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.B,\n },\n [ATO_ABBREVIATION.m3_Special]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.M,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.MM,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.B,\n },\n\n [ATO_ABBREVIATION.m3_unit]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.M,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.MM,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.B,\n },\n [ATO_ABBREVIATION.m3_unit_Special]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.M,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.MM,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.B,\n },\n\n [ATO_ABBREVIATION.Wh]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.M,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.G,\n },\n [ATO_ABBREVIATION.kWh]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.M,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.G,\n },\n [ATO_ABBREVIATION.cf]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.MM,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.B,\n },\n [ATO_ABBREVIATION.th]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.Mn,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.Bn,\n },\n\n [ATO_ABBREVIATION.BTU]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.MM,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.B,\n },\n [ATO_ABBREVIATION.BTU_UNIT]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.MM,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.B,\n },\n [ATO_ABBREVIATION.MM_BTU]: {},\n [ATO_ABBREVIATION.J]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.M,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.G,\n },\n [ATO_ABBREVIATION.Bbl]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.Mn,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.Bn,\n },\n [ATO_ABBREVIATION.mg]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.M,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.B,\n },\n\n // For Steam\n [ATO_ABBREVIATION.g]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.Mn,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.Bn,\n },\n [ATO_ABBREVIATION.lbs]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.Mn,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.Bn,\n },\n [ATO_ABBREVIATION.g_hr]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.Mn,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.Bn,\n },\n [ATO_ABBREVIATION.lbs_hr]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.Mn,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.Bn,\n },\n [ATO_ABBREVIATION.MPa]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.Mn,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.Bn,\n },\n [ATO_ABBREVIATION.GPa]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.Mn,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.Bn,\n },\n [ATO_ABBREVIATION.psi]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.M,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.G,\n },\n [ATO_ABBREVIATION.degC]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.Mn,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.Bn,\n },\n [ATO_ABBREVIATION.degF]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.Mn,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.Bn,\n },\n [ATO_ABBREVIATION.degC_unit_Special]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.Mn,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.Bn,\n },\n [ATO_ABBREVIATION.degF_unit_Special]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.Mn,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.Bn,\n },\n [ATO_ABBREVIATION.kg]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.Mn,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.Bn,\n },\n [ATO_ABBREVIATION.ton]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.Mn,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.Bn,\n },\n\n // Currency\n [ATO_ABBREVIATION.ALL]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.AFN]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.ARS]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.AWG]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.AUD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.AZN]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.BSD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.BBD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.BYN]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.BZD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.BMD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.BOB]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.BAM]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.BWP]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.BGN]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.BRL]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.BND]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.KHR]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.CAD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.KYD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.CLP]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.CNY]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.COP]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.CRC]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.HRK]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.CUP]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.CZK]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.DKK]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.DOP]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.XCD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.EGP]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.SVC]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.EUR]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.FKP]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.FJD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.GHS]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.GIP]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.GTQ]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.GGP]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.GYD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.HNL]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.HKD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.HUF]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.ISK]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.INR]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.IDR]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.IRR]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.IMP]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.ILS]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.JMD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.JPY]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.JEP]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.KZT]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.KPW]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.KRW]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.KGS]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.LAK]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.LBP]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.LRD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.MKD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.MYR]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.MUR]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.MXN]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.MNT]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.MZN]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.NAD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.NPR]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.ANG]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.NZD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.NIO]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.NGN]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.NOK]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.OMR]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.PKR]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.PAB]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.PYG]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.PEN]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.PHP]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.PLN]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.QAR]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.RON]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.RUB]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.SHP]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.SAR]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.RSD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.SCR]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.SGD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.SBD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.SOS]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.ZAR]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.LKR]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.SEK]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.CHF]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.SRD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.SYP]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.TWD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.THB]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.TTD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.TRY]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.TVD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.UAH]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.AED]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.GBP]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.USD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.UYU]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.UZS]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.VEF]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.VND]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.YER]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.ZWD]: PREFIXES_CURRENCY,\n\n // Emission\n [ATO_ABBREVIATION.CO2]: null,\n [ATO_ABBREVIATION.CO2_Special]: null,\n};\n","import { DecimalPipe } from '@angular/common';\nimport { Injectable } from '@angular/core';\nimport { ATO_ABBREVIATION, APPLICABLE_PREFIXES, ROUNDED_NUMBER, } from '../../constants/applicable-prefixes-const';\nimport { v4 as uuidV4 } from 'uuid';\nimport _ from 'lodash';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class UtilsService {\n static convertPrefixesData(data: { value: number | string | any; unit: string | any; isChangeUnitKwh?: boolean }): {\n shortenedNumber: number | string | null;\n unitPrefixes: number | null | string;\n } {\n if (!data?.unit || (!+data?.value && data?.value !== '0')) {\n return {\n shortenedNumber: data?.value ?? '0',\n unitPrefixes: '',\n };\n }\n\n const [unitToConvert, suffixUnit] = data?.unit?.split('/');\n\n if (unitToConvert === ATO_ABBREVIATION.kWh) {\n return this.getDataFormatSpecialKwh(data?.value, data?.isChangeUnitKwh);\n }\n\n return this.getDataFormatUnit(data?.value, unitToConvert);\n }\n\n static getDataFormatSpecialKwh(value: any, isChangeUnitKwh: any) {\n const _DecimalPipe = new DecimalPipe('en');\n\n if (!!isChangeUnitKwh) {\n // 1.000.000 KWh => 1 GWh\n if (Math.abs(value) >= ROUNDED_NUMBER.MILLION) {\n return {\n shortenedNumber: _DecimalPipe.transform(+(value / ROUNDED_NUMBER.MILLION) ?? 0, '1.0-2'),\n unitPrefixes: APPLICABLE_PREFIXES?.[ATO_ABBREVIATION.kWh]?.[ROUNDED_NUMBER.BILLION],\n };\n }\n // 1000 KWh => 1 MWh\n if (Math.abs(value) >= ROUNDED_NUMBER.THOUSAND) {\n return {\n shortenedNumber: _DecimalPipe.transform(+(value / ROUNDED_NUMBER.THOUSAND) ?? 0, '1.0-2'),\n unitPrefixes: APPLICABLE_PREFIXES?.[ATO_ABBREVIATION.kWh]?.[ROUNDED_NUMBER.MILLION],\n };\n }\n }\n if (Math.abs(value) >= ROUNDED_NUMBER.BILLION) {\n return {\n shortenedNumber: _DecimalPipe.transform(+(value / ROUNDED_NUMBER.MILLION) ?? 0, '1.0-2'),\n unitPrefixes: APPLICABLE_PREFIXES?.[ATO_ABBREVIATION.kWh]?.[ROUNDED_NUMBER.BILLION],\n };\n }\n if (Math.abs(value) >= ROUNDED_NUMBER.MILLION) {\n return {\n shortenedNumber: _DecimalPipe.transform(+(value / ROUNDED_NUMBER.MILLION) ?? 0, '1.0-2'),\n unitPrefixes: APPLICABLE_PREFIXES?.[ATO_ABBREVIATION.kWh]?.[ROUNDED_NUMBER.MILLION],\n };\n }\n if (Math.abs(value) >= ROUNDED_NUMBER.THOUSAND) {\n return {\n shortenedNumber: _DecimalPipe.transform(+(value / ROUNDED_NUMBER.THOUSAND) ?? 0, '1.0-2'),\n unitPrefixes: APPLICABLE_PREFIXES?.[ATO_ABBREVIATION.kWh]?.[ROUNDED_NUMBER.THOUSAND],\n };\n }\n\n return {\n shortenedNumber: _DecimalPipe.transform(+value ?? 0, '1.0-2') ?? '0',\n unitPrefixes: '',\n };\n }\n\n static getDataFormatUnit(value: any, unit: string) {\n const _DecimalPipe = new DecimalPipe('en');\n\n if (Math.abs(value) >= ROUNDED_NUMBER.BILLION) {\n return {\n shortenedNumber: _DecimalPipe.transform(+(value / ROUNDED_NUMBER.BILLION) ?? 0, '1.0-2'),\n unitPrefixes: (APPLICABLE_PREFIXES as any)?.[unit]?.[ROUNDED_NUMBER.BILLION],\n };\n }\n if (Math.abs(value) >= ROUNDED_NUMBER.MILLION) {\n return {\n shortenedNumber: _DecimalPipe.transform(+(value / ROUNDED_NUMBER.MILLION) ?? 0, '1.0-2'),\n unitPrefixes: (APPLICABLE_PREFIXES as any)?.[unit]?.[ROUNDED_NUMBER.MILLION],\n };\n }\n if (Math.abs(value) >= ROUNDED_NUMBER.THOUSAND) {\n return {\n shortenedNumber: _DecimalPipe.transform(+(value / ROUNDED_NUMBER.THOUSAND) ?? 0, '1.0-2'),\n unitPrefixes: (APPLICABLE_PREFIXES as any)?.[unit]?.[ROUNDED_NUMBER.THOUSAND],\n };\n }\n return {\n shortenedNumber: _DecimalPipe.transform(+value ?? 0, '1.0-2') ?? '0',\n unitPrefixes: '',\n };\n }\n\n static convertSpecialUnit(unit: string, unitPrefixes?: any) {\n switch (unit) {\n case ATO_ABBREVIATION.kWh: {\n return unitPrefixes ? ATO_ABBREVIATION.Wh : ATO_ABBREVIATION.kWh;\n }\n case ATO_ABBREVIATION.m3: {\n return ATO_ABBREVIATION.m3_Special;\n }\n case ATO_ABBREVIATION.m3_unit: {\n return ATO_ABBREVIATION.m3_unit_Special;\n }\n case ATO_ABBREVIATION.degC: {\n return ATO_ABBREVIATION.degC_unit_Special;\n }\n case ATO_ABBREVIATION.degF: {\n return ATO_ABBREVIATION.degF_unit_Special;\n }\n default: {\n unit = UtilsService.replaceAll(unit ?? '', ATO_ABBREVIATION.m3, ATO_ABBREVIATION.m3_Special);\n return UtilsService.replaceAll(unit ?? '', ATO_ABBREVIATION.CO2, ATO_ABBREVIATION.CO2_Special);\n }\n }\n }\n\n static generateUUID() {\n const id = UtilsService.replaceAll(uuidV4(), '-', '').toUpperCase();\n const randomPosition = _.random(0, 32);\n const randomNumber = _.random(0, 9).toString();\n const leftChar = id.slice(0, randomPosition);\n const rightChar = id.slice(randomPosition);\n return `${leftChar}${randomNumber}${rightChar}`;\n }\n\n static replaceAll(text: any, find: any, replace: any): string {\n function escapeRegExp(str: any) {\n return str.replace(/([.*+?^=!:${}()|\\[\\]\\/\\\\])/g, '\\\\$1');\n }\n return text.replace(new RegExp(escapeRegExp(find), 'g'), replace);\n }\n}\n","\nexport enum ATO_EPlantType {\n ENTERPRISE = 'Enterprise',\n DIVISION = 'Division',\n PROXY_PLANT = 'proxy',\n BASIC_PLANT = 'basic',\n PLANT = 'plant',\n}\n\n// const PLANT_TYPE_ACTIVE = {\n// key: E_PlantType.PLANT,\n// iconClassName: 'fa-light fa-industry-windows font-size-18px',\n// keyMapingMenu: 'plants',\n// status: PlantComponentModel.PLANT_STATUS.active,\n// description: 'Complete plant setup. Full HWF functionality available​.',\n// hexColor: '#199c69',\n// classColor: 'color-elf-green',\n// };\n\n// export const PLANT_TYPE = {\n// [E_PlantType.ENTERPRISE]: {\n// iconClassName: 'fa-light fa-building-user',\n// keyMapingMenu: 'Enterprise',\n// status: '',\n// },\n// [E_PlantType.DIVISION]: {\n// iconClassName: 'fa-light fa-puzzle',\n// keyMapingMenu: 'divisions',\n// status: '',\n// },\n// [E_PlantType.PROXY_PLANT]: {\n// key: E_PlantType.PROXY_PLANT,\n// iconClassName: 'fa-light fa-calendar-users font-size-18px',\n// keyMapingMenu: 'plants',\n// status: PlantComponentModel.PLANT_STATUS.proxy,\n// description: 'No plant dashboard. Fully enterprise managed plant​.',\n// hexColor: '#00aec7',\n// classColor: 'color-iris-blue',\n// },\n// [E_PlantType.BASIC_PLANT]: {\n// key: E_PlantType.BASIC_PLANT,\n// iconClassName: 'basic-plant-icon h-23px',\n// keyMapingMenu: 'plants',\n// status: PlantComponentModel.PLANT_STATUS.basic,\n// description: 'Plant dashboard. No topology needed. Limited functionality​.',\n// hexColor: '#E09F25',\n// classColor: 'color-galliano-2',\n// },\n// // Same active\n// [E_PlantType.PLANT]: PLANT_TYPE_ACTIVE,\n// [PlantComponentModel.PLANT_STATUS.active]: PLANT_TYPE_ACTIVE,\n// };\n","export const ICONS_BASE64 = {\n \"uf044\": \"data:image/png;base64,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\"\n}","import {\n Directive,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n ViewChild,\n} from '@angular/core';\nimport { AtoGojsEditorModel } from './gojs-editor.model';\nimport * as go from 'gojs';\nimport _ from 'lodash';\nimport moment from 'moment';\nimport { GO_LICENSE_KEY } from '../constants/key.const';\nimport { Subject } from 'rxjs';\nimport { UtilsService } from '../services/utils/utils.service';\nimport {\n ATO_ENUM_FLOW_DIRECTION,\n ATO_ECOMPONENT_PLANT_TYPE,\n NO_DATA,\n TEXT_UNKNOWN,\n VALUE_NA,\n} from '../constants/value.const';\nimport { ATO_EPlantType } from '../constants/plant.constant';\n\nconst ICON_ALERT = '/assets/images/icons/Station.svg';\nconst ARROW = '/assets/images/icons/arrow.svg';\nconst ARROW_GRAY = '/assets/images/icons/arrow-gray.svg';\nconst RO_LINE_DIRTY = '/assets/images/icons/ro_line_dirty.svg';\nconst OUTFLOW_LINE_DIRTY = '/assets/images/icons/outflow_line_dirty.png';\nimport { Subscription } from 'rxjs';\nimport { ICONS_BASE64 } from '../constants/icon-base64.const';\n\n@Directive()\nexport class AtoDefaultGojsEditor implements OnDestroy {\n @ViewChild('menuTrigger') menuTrigger: any;\n @Input() linkValidation: (\n fromNode: go.Node,\n fromPort: go.GraphObject,\n toNode: go.Node,\n toPort: go.GraphObject,\n link: go.Link\n ) => boolean;\n\n actions: any[] = [];\n actionMenuId: string = 'actionMenuId';\n\n myDiagramDiv: any = this.constructor.name + '-' + moment().valueOf();\n myDiagram: any;\n $ = go.GraphObject.make;\n animationInterval: any;\n defaultScaleZoomToFit?: number;\n\n private _initialOptions: any = {\n 'toolManager.hoverDelay': 200,\n // 'draggingTool.isEnabled': false,\n // initialAutoScale: go.Diagram.UniformToFill,\n // autoScrollRegion: AtoGojsEditorModel.GRID_SIZE * 5,\n layout: this.$(go.LayeredDigraphLayout, { direction: 0 }),\n initialContentAlignment: go.Spot.Center,\n initialAutoScale: go.Diagram.Uniform,\n // contentAlignment: go.Spot.Center,\n // this.$(go.ForceDirectedLayout),\n 'undoManager.isEnabled': true, // enable undo & redo\n // \"animationManager.isInitial\": false,\n // \"animationManager.isEnabled\": false,\n // \"draggingTool.isGridSnapEnabled\": true\n dragSelectingTool: this.$(\n go.DragSelectingTool,\n { isPartialInclusion: true, delay: 50 },\n {\n box: this.$(\n go.Part, // replace the magenta box with a red one\n { layerName: 'Tool', selectable: false },\n this.$(go.Shape, {\n name: 'SHAPE',\n fill: 'rgba(255,0,0,0)',\n stroke: '#E95F47',\n strokeWidth: 2,\n })\n ),\n }\n ),\n 'linkingTool.linkValidation': this.checkLinkCondition.bind(this),\n 'draggingTool.doMouseMove': function () {\n // do the standard behavior by calling the super method\n go.DraggingTool.prototype.doMouseMove.call(this);\n // if dragging-out from the diagram is not allowed, and\n // if mouse is outside of viewport\n if (\n !this.diagram.allowDragOut &&\n !this.diagram.viewportBounds.containsPoint(\n this.diagram.lastInput.documentPoint\n )\n ) {\n this.diagram.ensureBounds();\n const vp = this.diagram.lastInput.viewPoint;\n const dp = this.diagram.position.copy();\n if (vp.x < 0) dp.x -= 10;\n else if (vp.x > 0) dp.x += 10;\n if (vp.y < 0) dp.y -= 10;\n else if (vp.y > 0) dp.y += 10;\n this.diagram.position = dp; // scroll in the direction of the mouse\n }\n },\n // LayoutCompleted: () => {\n // this.myDiagram.zoomToFit();\n // this.defaultScaleZoomToFit = this.myDiagram.scale;\n // if (!this.initialOptions.isReadOnly) {\n // const sizeMargin = AtoGojsEditorModel.GRID_SIZE * 15;\n // this.myDiagram.padding = new go.Margin(sizeMargin);\n // }\n // },\n };\n\n checkLinkCondition(\n fromNode: go.Node,\n fromPort: go.GraphObject,\n toNode: go.Node,\n toPort: go.GraphObject,\n link: go.Link\n ): boolean {\n if (this.linkValidation) {\n return this.linkValidation(fromNode, fromPort, toNode, toPort, link);\n }\n return true; // Mặc định cho trường hợp không có hàm linkValidation được truyền vào\n }\n\n @Input() set initialOptions(v: any) {\n this._initialOptions = _.merge(this._initialOptions, v);\n // _.extend(v, this._initialOptions);\n }\n\n get initialOptions() {\n return this._initialOptions;\n }\n\n private _editor: AtoGojsEditorModel;\n @Input() set editor(v: AtoGojsEditorModel) {\n this._editor = v;\n if (v) {\n setTimeout(() => {\n this.initDiagram();\n }, 100);\n }\n }\n\n get editor(): AtoGojsEditorModel {\n return this._editor;\n }\n\n @Input() isShowNodeInfo: boolean = false;\n @Input() plantSatus: string;\n\n constructor(private _elRef: ElementRef) {\n go.Diagram.licenseKey = GO_LICENSE_KEY;\n }\n\n @Output() onModelChangeListenerEvent: EventEmitter<any> =\n new EventEmitter<any>();\n @Output() onClickInfoButton: EventEmitter<any> = new EventEmitter<any>();\n @Output() onOpenWizard: EventEmitter<any> = new EventEmitter<any>();\n @Output() onOpenDetail: EventEmitter<any> = new EventEmitter<any>();\n @Output() onOpenAssetParameter: EventEmitter<any> = new EventEmitter<any>();\n @Output() onOpenInsightMapping: EventEmitter<any> = new EventEmitter<any>();\n @Output() onHoverInfoButton: EventEmitter<any> = new EventEmitter<any>();\n @Output() onHoverAlert: EventEmitter<any> = new EventEmitter<any>();\n @Output() onDoubleClickNode: EventEmitter<any> = new EventEmitter<any>();\n @Output() onOpenChangeIcon: EventEmitter<any> = new EventEmitter<any>();\n // Click component\n @Output() onClickCompoent: EventEmitter<any> = new EventEmitter<any>();\n @Output() callbackImageTopology: EventEmitter<any> = new EventEmitter<any>();\n\n // Click param on ParamTable\n @Output() onClikParamOfTable: EventEmitter<any> = new EventEmitter<any>();\n\n // Delete Node\n @Output() onDeleteNode: EventEmitter<any> = new EventEmitter<any>();\n @Output() onUndo: EventEmitter<any> = new EventEmitter<any>();\n // Rename\n @Output() onRename: EventEmitter<any> = new EventEmitter<any>();\n\n isAddedModelChangedListeners: boolean;\n committedTransactionSubject = new Subject<any>();\n\n // AddSub and UnSub\n _subscriptionList: Subscription = new Subscription();\n\n ngOnDestroy() {\n this.unsubscribeAll();\n this.stopAnimation();\n // this.myDiagram?.clear();\n if (!!this.myDiagram?.div) {\n this.myDiagram.div = null;\n }\n if (this.myDiagram) {\n this.myDiagram.clear();\n }\n if (this.myDiagram != null && this.myDiagram.nodeTemplateMap != null) {\n this.myDiagram.nodeTemplateMap.clear();\n }\n\n if (this.myDiagram != null && this.myDiagram.groupTemplateMap != null) {\n this.myDiagram.groupTemplateMap.clear();\n }\n if (this.myDiagram != null && this.myDiagram.linkTemplate != null) {\n for (var key in this.myDiagram.linkTemplateMap.toArray()) {\n this.myDiagram.linkTemplateMap.remove(key);\n }\n }\n this.myDiagram = null;\n }\n\n addOrRemoveCompoentTemplate() {\n // Add Node and Node Group\n _.forEach(this.editor.data?.nodeDataArray, (node) => {\n this.addTemplate(node);\n });\n // Remove Node and Node Group\n _.forEach(this.myDiagram.nodeTemplateMap?.Hb, (temp) => {\n if (\n temp?.key &&\n !this.editor.data?.nodeDataArray?.some(\n (node) => node?.type === temp?.key\n )\n ) {\n this.myDiagram.nodeTemplateMap.remove(temp?.key);\n }\n });\n _.forEach(this.myDiagram.groupTemplateMap?.Hb, (temp) => {\n if (\n temp?.key &&\n !this.editor.data?.nodeDataArray?.some(\n (node) => node?.type === temp?.key\n )\n ) {\n this.myDiagram.groupTemplateMap.remove(temp?.key);\n }\n });\n }\n\n addTemplate(node) {\n this.addNodeTemplate(node);\n this.addGroupTemplate(node);\n }\n\n addGroupTemplate(node) {\n if (this.myDiagram.groupTemplateMap?.Hb?.[node?.type] || !node?.isGroup) {\n return;\n }\n // Group\n if (node?.type === AtoGojsEditorModel.ENUM_TEMPLATES.RO_WATER_TREATMENT) {\n this.makeGroupROPlantTemplate(\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].name\n );\n return;\n }\n\n if (node?.type === AtoGojsEditorModel.ENUM_TEMPLATES.BOILER) {\n this.makeGroupBoilerTemplate(\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].name\n );\n return;\n }\n\n if (node?.type === AtoGojsEditorModel.ENUM_TEMPLATES.COOLING_TOWER) {\n this.makeGroupCoolingTowerTemplate(\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].name\n );\n return;\n }\n\n if (node?.type === AtoGojsEditorModel.ENUM_TEMPLATES.ZONE) {\n this.makeGroupZoneTemplate();\n return;\n }\n\n if (\n node?.type === AtoGojsEditorModel.ENUM_TEMPLATES.PLANT_CELL &&\n node?.isGroup\n ) {\n this.groupPlantCellTemplate(\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].name\n );\n return;\n }\n if (\n node?.type === AtoGojsEditorModel.ENUM_TEMPLATES.PLANT_CELL_INPUT_GROUP\n ) {\n this.groupPCInputOrOutTemplate(\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].name,\n new go.Margin(0, 50, 0, 0)\n );\n return;\n }\n if (\n node?.type === AtoGojsEditorModel.ENUM_TEMPLATES.PLANT_CELL_OUTPUT_GROUP\n ) {\n this.groupPCInputOrOutTemplate(\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].name,\n new go.Margin(0, 0, 0, 50)\n );\n return;\n }\n if (\n node?.type === AtoGojsEditorModel.ENUM_TEMPLATES.GROUP_BASIC_COMPONENT\n ) {\n this.makeGroupBasicComponent(\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].name\n );\n return;\n }\n\n this.makeGroupTemplate(\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].name\n );\n }\n\n addNodeTemplate(node) {\n if (this.myDiagram.nodeTemplateMap?.Hb[node?.type] || node?.isGroup) {\n return;\n }\n // Not Group\n // Component Water Normal\n if (\n AtoGojsEditorModel.TYPE_TEMPLATE_WATER_NORMAL?.includes(node?.type) &&\n !node?.isGroup\n ) {\n this.makeEntityTemplate(\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].icon ?? '',\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].name ?? ''\n );\n }\n // Component Water Withdraw Or Discharge\n if (\n AtoGojsEditorModel.TYPE_TEMPLATE_WATER_WITHDRAW_OR_DISCHARGE?.includes(\n node?.type\n ) &&\n !node?.isGroup\n ) {\n this.makeEntityWithdrawOrDischarge(\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].icon ?? '',\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].name ?? ''\n );\n }\n\n // Component Energy Normal\n if (\n (AtoGojsEditorModel.TYPE_TEMPLATE_ELECTRICITY?.includes(node?.type) ||\n AtoGojsEditorModel.TYPE_TEMPLATE_NATURAL_GAS?.includes(node?.type) ||\n AtoGojsEditorModel.TYPE_TEMPLATE_FUEL?.includes(node?.type) ||\n AtoGojsEditorModel.TYPE_TEMPLATE_STEAM?.includes(node?.type)) &&\n !node?.isGroup\n ) {\n this.makeEntityTemplateEnergy(\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].icon ?? '',\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].name ?? ''\n );\n }\n\n if (node?.type === AtoGojsEditorModel.ENUM_TEMPLATES.IMAGE_TEMPLATE) {\n this.makeImageTemplate();\n }\n if (node?.type === AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE) {\n this.makeParamTable();\n }\n if (node?.type === AtoGojsEditorModel.ENUM_TEMPLATES.MASS_BALANCE) {\n this.makeMassBalance();\n }\n // Text Node\n if (node?.type === AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_NODE) {\n this.makeTextTemplate();\n }\n // Value Node\n if (node?.type === AtoGojsEditorModel.ENUM_TEMPLATES.VALUE_NODE) {\n this.makeValueNodeTemplate();\n }\n\n // Value Node\n if (node?.type === AtoGojsEditorModel.ENUM_TEMPLATES.EMPTY) {\n this.makeEmptyNodeTemplate();\n }\n\n // Value Label\n if (node?.type === AtoGojsEditorModel.ENUM_TEMPLATES.VALUE_LABEL) {\n this.makeValueLabelTemplate();\n }\n // Label\n if (node?.type === AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_LABEL) {\n this.makeTextLabelTemplate();\n }\n // Zone item\n if (node?.type === AtoGojsEditorModel.ENUM_TEMPLATES.ZONE_ENERGY_ITEM) {\n this.makeZoneItemTemplate();\n }\n // data box\n if (node?.type === AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX) {\n this.makeDataBoxTemplate();\n }\n\n // Special template\n if (AtoGojsEditorModel.TYPE_TEMPLATE_SPECIAL?.includes(node?.type)) {\n this.makeSpecialTemplate(\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].name\n );\n }\n\n // Plant Cell\n if (\n node?.type === AtoGojsEditorModel.ENUM_TEMPLATES.PLANT_CELL &&\n !node?.isGroup\n ) {\n this.plantCellTemplate(\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].name\n );\n }\n }\n\n initDiagram() {\n if (!!this.myDiagram?.div) {\n // this.myDiagram.div = null;\n if (this.initialOptions?.grid) {\n this.myDiagram['grid'] = this.initialOptions?.grid;\n } else {\n this.myDiagram['grid'] = this.$(go.Panel, 'Grid');\n }\n if (this.initialOptions?.LayoutCompleted) {\n this.myDiagram.addDiagramListener(\n 'LayoutCompleted',\n this.initialOptions?.LayoutCompleted\n );\n }\n if (this.initialOptions?.LinkReshaped) {\n this.myDiagram.addDiagramListener(\n 'LinkReshaped',\n this.initialOptions?.LinkReshaped\n );\n }\n if (this.initialOptions?.SelectionMoved) {\n this.myDiagram.addDiagramListener(\n 'SelectionMoved',\n this.initialOptions?.SelectionMoved\n );\n }\n if (this.initialOptions?.ChangedSelection) {\n this.myDiagram.addDiagramListener(\n 'ChangedSelection',\n this.initialOptions?.ChangedSelection\n );\n }\n this.myDiagram.dragSelectingTool = this.initialOptions?.dragSelectingTool;\n this.myDiagram.toolManager.draggingTool.isGridSnapEnabled =\n this.initialOptions?.['draggingTool.isGridSnapEnabled'] ?? false;\n if (\n this.myDiagram.toolManager &&\n this.myDiagram.toolManager.draggingTool\n ) {\n if (this.initialOptions?.['draggingTool.gridSnapCellSize']) {\n this.myDiagram.toolManager.draggingTool.gridSnapCellSize =\n this.initialOptions?.['draggingTool.gridSnapCellSize'];\n }\n // if (this.initialOptions?.['draggingTool.isGridSnapEnabled']) {\n // this.myDiagram.toolManager.draggingTool.isGridSnapEnabled =\n // this.initialOptions?.['draggingTool.isGridSnapEnabled'];\n // }\n if (this.initialOptions?.['draggingTool.doMouseMove']) {\n this.myDiagram.toolManager.draggingTool.doMouseMove =\n this.initialOptions?.['draggingTool.doMouseMove'];\n }\n\n if (this.initialOptions?.['linkingTool.linkValidation']) {\n this.myDiagram.toolManager.linkingTool.linkValidation =\n this.initialOptions?.['linkingTool.linkValidation'];\n }\n }\n this.myDiagram.contentAlignment =\n this.initialOptions?.contentAlignment ?? go.Spot.Center;\n this.myDiagram.layout = this.initialOptions?.layout;\n // this.myDiagram.minViewportBounds = new go.Rect(0, 0, 1200, 1200);\n if (!!this.editor?.data) {\n this.addOrRemoveCompoentTemplate();\n this.myDiagram.model = go.Model.fromJson(this.editor.data);\n }\n\n return;\n }\n if (this.animationInterval) {\n clearInterval(this.animationInterval);\n }\n\n const diagramDiv = this._elRef.nativeElement.querySelector(\n `#${this.myDiagramDiv}`\n );\n this.myDiagram = this.$(go.Diagram, diagramDiv, this.initialOptions);\n // this.myDiagram.initialPosition = new go.Point(0, 0);\n this.addOrRemoveCompoentTemplate();\n\n this.makeLinkTemplate();\n // animation\n this.startAnimation();\n\n setTimeout(() => {\n const self = this;\n // if (!this.isAddedModelChangedListeners) {\n this.isAddedModelChangedListeners = true;\n this.myDiagram.addModelChangedListener(function (e) {\n if (\n e.change === go.ChangedEvent.Remove &&\n e.propertyName === 'nodeDataArray'\n ) {\n const data = e.oldValue;\n self.onDeleteNode.emit(data);\n }\n if (e.isTransactionFinished) {\n self.committedTransactionSubject?.next(e);\n }\n });\n this.myDiagram.commandHandler.undo = function () {\n self.onUndo.emit();\n };\n });\n\n if (!!this.editor) {\n this.myDiagram.model = go.Model.fromJson(this.editor.data);\n }\n }\n\n initGroupTemplateEnergy() {\n // for water\n const {\n STORAGE,\n WATER_TREATMENT,\n DEMIN_WATER_TREATMENT,\n // RO_WATER_TREATMENT,\n PROCESS,\n WASTEWATER_TREATMENT,\n DAF_WASTEWATER_TREATMENT,\n ETP_WASTEWATER_TREATMENT,\n MBR_WASTEWATER_TREATMENT,\n ZLD_WASTEWATER_TREATMENT,\n COOLING_TOWER,\n BOILER,\n OTHER,\n LANDSCAPING_IRRIGATION,\n } = AtoGojsEditorModel.ENUM_TEMPLATES;\n const waterGroups = [\n STORAGE,\n WATER_TREATMENT,\n DEMIN_WATER_TREATMENT,\n // RO_WATER_TREATMENT,\n PROCESS,\n WASTEWATER_TREATMENT,\n DAF_WASTEWATER_TREATMENT,\n ETP_WASTEWATER_TREATMENT,\n MBR_WASTEWATER_TREATMENT,\n ZLD_WASTEWATER_TREATMENT,\n COOLING_TOWER,\n BOILER,\n OTHER,\n LANDSCAPING_IRRIGATION,\n ];\n waterGroups.map((e) => {\n if (!!AtoGojsEditorModel.NODE_TEMPLATES[e]) {\n this.makeGroupTemplate(\n AtoGojsEditorModel.NODE_TEMPLATES[e].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[e].name\n );\n }\n });\n\n // electrical\n this.initElectricGroupTemplate();\n\n // Fuel\n this.initFuelGroupTemplate();\n\n // Gas\n this.initGasGroupTemplate();\n }\n\n initElectricDiagram() {\n const {\n GRID,\n DIESEL_GENERATORS,\n BATTERY_ENERGY_STORAGE,\n LIGHTING_SYSTEMS,\n LIGHTINGS,\n ELECTRIC_METERS,\n TRANSFORMERS,\n ELECTRIC_FLYWHEEL_ENERGY_STORAGE,\n PUMPED_HYDRO_STORAGE,\n THERMAL_ENERGY_STORAGE,\n SUPER_CAPACITOR_ENERGY_STORAGE,\n SWITCH_GEARS,\n PROCESS_CONTROL_AUTOMATION_SYSTEMS,\n PROCESS_EQUIPMENT_MACHINES,\n OFFICE_EQUIPMENT,\n POWER_DISTRIBUTION_CONTROL_SYSTEMS,\n POWER_DISTRIBUTION_SYSTEMS,\n NATURAL_GAS_GENERATORS,\n MOTOR_CONTROLS,\n VARIABLE_FREQUENCY_DRIVERS,\n ELECTRIC_HVAC,\n COMPRESSED_AIR_SYSTEMS,\n REFRIGERATION_COOLING_SYSTEMS,\n MATERIAL_HANDLING_EQUIPMENT,\n WIND_POWER,\n ELECTRIC_INDUSTRIAL_MOTORS,\n GROUNDING,\n } = AtoGojsEditorModel.ENUM_TEMPLATES;\n const ListItemsCreateEntityTemplate = [\n GRID,\n DIESEL_GENERATORS,\n BATTERY_ENERGY_STORAGE,\n LIGHTING_SYSTEMS,\n LIGHTINGS,\n ELECTRIC_METERS,\n TRANSFORMERS,\n ELECTRIC_FLYWHEEL_ENERGY_STORAGE,\n PUMPED_HYDRO_STORAGE,\n THERMAL_ENERGY_STORAGE,\n SUPER_CAPACITOR_ENERGY_STORAGE,\n SWITCH_GEARS,\n PROCESS_CONTROL_AUTOMATION_SYSTEMS,\n PROCESS_EQUIPMENT_MACHINES,\n OFFICE_EQUIPMENT,\n POWER_DISTRIBUTION_CONTROL_SYSTEMS,\n POWER_DISTRIBUTION_SYSTEMS,\n NATURAL_GAS_GENERATORS,\n MOTOR_CONTROLS,\n VARIABLE_FREQUENCY_DRIVERS,\n ELECTRIC_HVAC,\n COMPRESSED_AIR_SYSTEMS,\n REFRIGERATION_COOLING_SYSTEMS,\n MATERIAL_HANDLING_EQUIPMENT,\n WIND_POWER,\n ELECTRIC_INDUSTRIAL_MOTORS,\n GROUNDING,\n ];\n ListItemsCreateEntityTemplate.map((e) => {\n if (!!AtoGojsEditorModel.NODE_TEMPLATES[e]) {\n this.makeEntityTemplateEnergy(\n AtoGojsEditorModel.NODE_TEMPLATES[e].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[e].name\n );\n }\n });\n }\n\n initElectricGroupTemplate() {\n const listItems = [\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.BATTERY_ENERGY_STORAGE\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.TRANSFORMERS\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.ELECTRIC_METERS\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.LIGHTINGS\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.POWER_DISTRIBUTION_SYSTEMS\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.SWITCH_GEARS\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.ELECTRIC_INDUSTRIAL_MOTORS\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.GROUNDING\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.MOTOR_CONTROLS\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.LIGHTING_SYSTEMS\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.ELECTRIC_HVAC\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.REFRIGERATION_COOLING_SYSTEMS\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.PROCESS_CONTROL_AUTOMATION_SYSTEMS\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.OFFICE_EQUIPMENT\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.COMPRESSED_AIR_SYSTEMS\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.PROCESS_EQUIPMENT_MACHINES\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.MATERIAL_HANDLING_EQUIPMENT\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.POWER_DISTRIBUTION_CONTROL_SYSTEMS\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.BATTERIES\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.VARIABLE_FREQUENCY_DRIVERS\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.ELECTRIC_FLYWHEEL_ENERGY_STORAGE\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.PUMPED_HYDRO_STORAGE\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.THERMAL_ENERGY_STORAGE\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.SUPER_CAPACITOR_ENERGY_STORAGE\n ],\n ];\n listItems.forEach((e) => {\n this.makeGroupTemplate(e?.icon, e.name);\n });\n }\n\n initFuelGroupTemplate() {\n const listItems = [\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.DIESEL_FUELS\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.GASON_LINES\n ],\n\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.BIODIESELS\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.KEROSENSE\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.PROPANES\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.TANKER_TRUCKS\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.PIPELINE\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.INDUSTRIAL_BOILERS\n ],\n\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.GENERATORS\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.INDUSTRIAL_FURNACES\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.INDUSTRIAL_OVENS\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.INDUSTRIAL_VEHICLES_AND_EQUIPMENT\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_METERS\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_DISPENSERS\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_STRORAGE_TANKS\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.ELECTRIC_HVAC\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_FILTRATIONS\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_MANAGEMENTS\n ],\n ];\n\n this.makeGroupTemplate(\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_DISPENSERS\n ].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_DISPENSERS\n ].name\n );\n this.makeGroupTemplate(\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_STRORAGE_TANKS\n ].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_STRORAGE_TANKS\n ].name\n );\n this.makeGroupTemplate(\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_FILTRATIONS\n ].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_FILTRATIONS\n ].name\n );\n this.makeGroupTemplate(\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_MANAGEMENTS\n ].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_MANAGEMENTS\n ].name\n );\n listItems.forEach((e) => {\n this.makeGroupTemplate(e?.icon, e.name);\n });\n }\n\n initGasGroupTemplate() {\n const listItems = [\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.COMPRESSED_NATURAL_GAS_PIPELINE\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.BOILERS_AND_HEATERS\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.FURNACES\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.POWER_GENERATION\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.COGENERATION\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.COMBINED_CYCLE_POWER_PLANTS\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_FOR_VEHICLES_AND_EQUIPMENT\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.GAS_METERS\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.BURNERS\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.FLUE_GAS_ANALYZERS\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.COMBUSTION_CONTROL_SYSTEMS\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.GAS_STORAGE_TANKS\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.GAS_PRESSURE_REGULATORS\n ],\n ];\n\n this.makeGroupTemplate(\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_DISPENSERS\n ].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_DISPENSERS\n ].name\n );\n this.makeGroupTemplate(\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_STRORAGE_TANKS\n ].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_STRORAGE_TANKS\n ].name\n );\n this.makeGroupTemplate(\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_FILTRATIONS\n ].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_FILTRATIONS\n ].name\n );\n this.makeGroupTemplate(\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_MANAGEMENTS\n ].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_MANAGEMENTS\n ].name\n );\n listItems.forEach((e) => {\n this.makeGroupTemplate(e?.icon, e.name);\n });\n }\n\n initGasDiagram() {\n const {\n NATURAL_GAS_PIPELINES,\n LIQUEFIED_NATURAL_GAS,\n COMPRESSED_NATURAL_GAS_PIPELINE,\n COMPRESSED_NATURAL_GAS_PRODUCTION,\n BOILERS_AND_HEATERS,\n FURNACES,\n POWER_GENERATION,\n COGENERATION,\n COMBINED_CYCLE_POWER_PLANTS,\n FUEL_FOR_VEHICLES_AND_EQUIPMENT,\n GAS_METERS,\n BURNERS,\n FLUE_GAS_ANALYZERS,\n COMBUSTION_CONTROL_SYSTEMS,\n GAS_STORAGE_TANKS,\n GAS_PRESSURE_REGULATORS,\n NATURAL_GAS,\n } = AtoGojsEditorModel.ENUM_TEMPLATES;\n const ListItemsCreateEntityTemplate = [\n NATURAL_GAS_PIPELINES,\n LIQUEFIED_NATURAL_GAS,\n COMPRESSED_NATURAL_GAS_PIPELINE,\n COMPRESSED_NATURAL_GAS_PRODUCTION,\n BOILERS_AND_HEATERS,\n FURNACES,\n POWER_GENERATION,\n COGENERATION,\n COMBINED_CYCLE_POWER_PLANTS,\n FUEL_FOR_VEHICLES_AND_EQUIPMENT,\n GAS_METERS,\n BURNERS,\n FLUE_GAS_ANALYZERS,\n COMBUSTION_CONTROL_SYSTEMS,\n GAS_STORAGE_TANKS,\n GAS_PRESSURE_REGULATORS,\n NATURAL_GAS,\n ];\n ListItemsCreateEntityTemplate.map((e) => {\n if (!!AtoGojsEditorModel.NODE_TEMPLATES[e]) {\n this.makeEntityTemplateEnergy(\n AtoGojsEditorModel.NODE_TEMPLATES[e].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[e].name\n );\n }\n });\n }\n\n initFuelDiagram() {\n const {\n DIESEL_FUELS,\n GASON_LINES,\n BIODIESELS,\n KEROSENSE,\n PROPANES,\n TANKER_TRUCKS,\n PIPELINE,\n INDUSTRIAL_BOILERS,\n GENERATORS,\n INDUSTRIAL_FURNACES,\n INDUSTRIAL_OVENS,\n INDUSTRIAL_VEHICLES_AND_EQUIPMENT,\n FUEL_METERS,\n FUEL_DISPENSERS,\n FUEL_STRORAGE_TANKS,\n FUEL_FILTRATIONS,\n FUEL_MANAGEMENTS,\n FUELS,\n } = AtoGojsEditorModel.ENUM_TEMPLATES;\n const ListItemsCreateEntityTemplate = [\n DIESEL_FUELS,\n GASON_LINES,\n BIODIESELS,\n KEROSENSE,\n PROPANES,\n TANKER_TRUCKS,\n PIPELINE,\n INDUSTRIAL_BOILERS,\n GENERATORS,\n INDUSTRIAL_FURNACES,\n INDUSTRIAL_OVENS,\n INDUSTRIAL_VEHICLES_AND_EQUIPMENT,\n FUEL_METERS,\n FUEL_DISPENSERS,\n FUEL_STRORAGE_TANKS,\n FUEL_FILTRATIONS,\n FUEL_MANAGEMENTS,\n FUELS,\n ];\n ListItemsCreateEntityTemplate.map((e) => {\n if (!!AtoGojsEditorModel.NODE_TEMPLATES[e]) {\n this.makeEntityTemplateEnergy(\n AtoGojsEditorModel.NODE_TEMPLATES[e].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[e].name\n );\n }\n });\n }\n\n initSolarDiagram() {\n const {\n SOLAR_POWER,\n POWER_CONDITIONING_UNIT,\n BATTERIES: BATTERY,\n INVERTERS: INVERTER,\n } = AtoGojsEditorModel.ENUM_TEMPLATES;\n const ListItemsCreateEntityTemplate = [\n SOLAR_POWER,\n POWER_CONDITIONING_UNIT,\n BATTERY,\n INVERTER,\n ];\n ListItemsCreateEntityTemplate.map((e) => {\n if (!!AtoGojsEditorModel.NODE_TEMPLATES[e]) {\n this.makeEntityTemplateEnergy(\n AtoGojsEditorModel.NODE_TEMPLATES[e].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[e].name\n );\n }\n });\n }\n\n initSteamDiagram() {\n const {\n VALUES,\n STEAM_TRAPS,\n PRESSURE_REGULATORS,\n SAFETY_VALUES_AND_EQUIPMENT,\n CONDENSATE_RETURN_SYSTEM,\n DEAERATORS,\n FEEDWATER_PUMPS,\n BLOWDOWN_TANKS,\n EXPANSION_TANKS,\n HEAT_EXCHANGERS,\n TURBINES,\n } = AtoGojsEditorModel.ENUM_TEMPLATES;\n const ListItemsCreateEntityTemplate = [\n VALUES,\n STEAM_TRAPS,\n PRESSURE_REGULATORS,\n SAFETY_VALUES_AND_EQUIPMENT,\n CONDENSATE_RETURN_SYSTEM,\n DEAERATORS,\n FEEDWATER_PUMPS,\n BLOWDOWN_TANKS,\n EXPANSION_TANKS,\n HEAT_EXCHANGERS,\n TURBINES,\n ];\n ListItemsCreateEntityTemplate.map((e) => {\n if (!!AtoGojsEditorModel.NODE_TEMPLATES[e]) {\n this.makeEntityTemplateEnergy(\n AtoGojsEditorModel.NODE_TEMPLATES[e].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[e].name\n );\n }\n });\n }\n\n onModelChangeListener(e: go.ChangedEvent) {\n // this.onModelChangeListenerEvent.emit(e);\n }\n\n makeLinkTemplate() {\n const elements: any[] = [];\n // line\n elements.push(\n this.$(\n go.Shape,\n {\n isPanelMain: true,\n stroke: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n strokeWidth:\n AtoGojsEditorModel.LINK_TEMPLATES[\n AtoGojsEditorModel.ENUM_LINK_TYPES.SIMPLE\n ]?.strokeWidth,\n // strokeWidth: 0,\n },\n new go.Binding('stroke', 'color'),\n new go.Binding('selectable', 'selectable'),\n new go.Binding(\n 'strokeWidth',\n 'type',\n (x) => AtoGojsEditorModel.LINK_TEMPLATES[x]?.strokeWidth\n )\n )\n );\n\n // animation\n elements.push(\n this.$(go.Shape, {\n ...AtoGojsEditorModel.LINK_TEMPLATES[\n AtoGojsEditorModel.ENUM_LINK_TYPES.PIPE_ANIMATION\n ]?.animation,\n visible: true,\n fill: 'transparent',\n })\n );\n\n elements.push(\n this.$(\n go.Panel,\n 'Top',\n {\n height: 38,\n // maxSize: new go.Size(NaN, 36),\n // width: 100,\n // minSize: new go.Size(100, 5), // Đặt kích thước tối thiểu là 100x50\n background: 'transparent',\n // layerName: 'BackgroundLayer',\n // alignment: go.Spot.Top,\n // alignmentFocus: go.Spot.Left,\n // margin: new go.Margin(0, 0, 50, 0),\n // selectable: false,\n },\n new go.Binding('visible', 'textComponent', (x) => {\n return x ? true : false;\n }),\n // this.$(go.Shape, {\n // height: 30,\n // background: 'transparent',\n // fill: 'transparent',\n // // visible: false,\n // }),\n this.$(\n go.TextBlock,\n {\n // margin: new go.Margin(0, 0, 50, 0),\n stroke: '#444444',\n font: 'normal 10pt Arial',\n textAlign: 'left',\n background: 'transparent',\n // editable: false,\n // alignment: go.Spot.Center, // Đảm bảo văn bản nằm ở trung tâm của nút\n // alignmentFocus: go.Spot.Center, // Đảm bảo văn bản không bị dịch chuyển ra khỏi trung tâm\n wrap: go.TextBlock.WrapFit, // Chuyển dòng để văn bản không vượt ra ngoài\n // selectable: true,\n overflow: go.TextBlock.OverflowEllipsis,\n toolTip: this.$(\n 'ToolTip',\n this.$(\n go.TextBlock,\n {\n margin: 4,\n },\n new go.Binding('text', 'textComponent')\n )\n ),\n },\n new go.Binding('text', 'textComponent'),\n new go.Binding('background', 'textComponent', (x) =>\n x ? 'white' : 'transparent'\n )\n // new go.Binding('margin', 'isFormat', (x) =>\n // x ? new go.Margin(5, 0, 5, 5) : new go.Margin(5, 5, 5, 5),\n // ),\n )\n )\n );\n\n // arrow\n elements.push(\n this.$(\n go.Shape, // the \"from\" arrowhead\n {\n ...AtoGojsEditorModel.LINK_TEMPLATES[\n AtoGojsEditorModel.ENUM_LINK_TYPES.SIMPLE\n ]?.arrow,\n },\n new go.Binding(\n 'visible',\n 'type',\n (x) =>\n ![\n AtoGojsEditorModel.ENUM_LINK_TYPES.PIPE_ANIMATION,\n AtoGojsEditorModel.ENUM_LINK_TYPES.PIPE,\n AtoGojsEditorModel.ENUM_LINK_TYPES.PIPE_HIDDEN,\n ].includes(x)\n ),\n new go.Binding('fill', 'color'),\n new go.Binding('stroke', 'color')\n )\n );\n\n // TODO fix link cannot selected inside group template\n this.myDiagram.linkTemplate = this.$(\n go.Link,\n go.Link.Orthogonal,\n {\n // layerName: 'Background', // link cannot select inside group template\n // curviness: 20,\n // corner: 5,\n routing: go.Link.AvoidsNodes,\n reshapable: true,\n resegmentable: true,\n relinkableFrom: true,\n relinkableTo: true,\n selectable: true,\n toShortLength:\n AtoGojsEditorModel.LINK_TEMPLATES[\n AtoGojsEditorModel.ENUM_LINK_TYPES.SIMPLE\n ].toShortLength, // assume arrowhead at \"to\" end, need to avoid bad appearance when path is thick\n },\n new go.Binding('layerName', '', (data) => {\n return data?.textComponent ? 'Background' : '';\n }),\n new go.Binding('zOrder', 'type', (x) =>\n x === AtoGojsEditorModel.ENUM_LINK_TYPES.PIPE_ANIMATION ? 11 : 10\n ),\n new go.Binding(\n 'toShortLength',\n 'type',\n (x) => AtoGojsEditorModel.LINK_TEMPLATES[x].toShortLength || 0\n ),\n new go.Binding('selectable', 'selectable'),\n new go.Binding('visible', 'visible'),\n\n // make sure links come in from the proper direction and go out appropriately\n ...elements\n );\n }\n\n makeValueNodeTemplate(size: { w: number; h: number } = { w: 82, h: 36 }) {\n const self = this;\n const node = this.$(\n go.Node,\n 'Spot',\n {},\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(\n go.Point.stringify\n ),\n\n this.$(\n go.Panel,\n 'Auto',\n { minSize: new go.Size(size.w, size.h) },\n this.$(go.Shape, 'Rectangle', {\n fill: AtoGojsEditorModel.ENUM_COLORS.LIGHT_BLUE,\n stroke: 'transparent',\n }),\n this.$(\n go.Panel,\n 'Horizontal',\n this.$(\n go.TextBlock,\n {\n row: 2,\n font: 'bold 14px Arial',\n textAlign: 'center',\n stroke: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n },\n new go.Binding('editable', 'isEditable'),\n new go.Binding('text', 'shortenedNumber').makeTwoWay(),\n new go.Binding('stroke', 'color'),\n new go.Binding('margin', 'isFormat', (x) =>\n x ? new go.Margin(5, 0, 5, 5) : new go.Margin(5, 5, 5, 5)\n ),\n new go.Binding('visible', '', function (data) {\n return data.value !== VALUE_NA;\n })\n ),\n // Icon Err when lack of value\n this.$(\n go.TextBlock,\n {\n margin: new go.Margin(10, 10, 10, 10),\n text: VALUE_NA, // Old version: TEXT_ERROR\n textAlign: 'center',\n font: 'bold 10pt sans-serif',\n stroke: AtoGojsEditorModel.ENUM_COLORS.SALMON,\n wrap: go.TextBlock.WrapFit,\n editable: false,\n isMultiline: false,\n },\n new go.Binding('visible', '', function (data) {\n return data.value === VALUE_NA;\n })\n )\n )\n )\n );\n this.myDiagram.nodeTemplateMap.set(\n AtoGojsEditorModel.ENUM_TEMPLATES.VALUE_NODE,\n node\n );\n }\n\n makeEmptyNodeTemplate(size: { w: number; h: number } = { w: 0, h: 0 }) {\n const node = this.$(\n go.Node,\n 'Spot',\n {},\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(\n go.Point.stringify\n )\n );\n this.myDiagram.nodeTemplateMap.set(\n AtoGojsEditorModel.ENUM_TEMPLATES.EMPTY,\n node\n );\n }\n\n makeValueLabelTemplate(size: { w: number; h: number } = { w: 82, h: 36 }) {\n const node = this.$(\n go.Node,\n 'Auto',\n {\n movable: false,\n },\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(\n go.Point.stringify\n ),\n this.$(\n go.Panel,\n 'Auto',\n { minSize: new go.Size(size.w, size.h) },\n this.$(\n go.Panel,\n 'Horizontal',\n {\n margin: new go.Margin(0, 10, 0, 10),\n },\n this.$(\n go.TextBlock,\n {\n margin: new go.Margin(0, 5, 10, 0),\n textAlign: 'center',\n font: 'bold 15px sans-serif',\n wrap: go.TextBlock.WrapFit,\n stroke: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n minSize: new go.Size(150, 30), // Set the width of the text block\n },\n new go.Binding('stroke', 'color'),\n new go.Binding('text', 'data', (x) => {\n if (typeof x?.quantity !== 'number') {\n return '';\n }\n const formatted: any = UtilsService.convertPrefixesData({\n value: x?.quantity,\n unit: UtilsService.convertSpecialUnit(x?.unit),\n });\n\n let retValue =\n formatted.shortenedNumber +\n ' ' +\n formatted.unitPrefixes +\n UtilsService.convertSpecialUnit(x?.unit) ?? '';\n if (x?.percent) {\n retValue += ` (${x?.percent}%)`;\n }\n return retValue;\n }),\n new go.Binding(\n 'visible',\n 'data',\n (x) => typeof x?.quantity === 'number'\n )\n )\n )\n )\n );\n this.myDiagram.nodeTemplateMap.set(\n AtoGojsEditorModel.ENUM_TEMPLATES.VALUE_LABEL,\n node\n );\n }\n\n makeTextLabelTemplate(size: { w: number; h: number } = { w: NaN, h: 20 }) {\n const node = this.$(\n go.Node,\n 'Auto',\n {\n movable: false,\n isSelected: false,\n },\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(\n go.Point.stringify\n ),\n this.$(\n go.Panel,\n 'Auto',\n this.$(\n go.Panel,\n 'Horizontal',\n\n this.$(\n go.TextBlock,\n {\n margin: new go.Margin(0, 5, 10, 0),\n textAlign: 'center',\n font: 'bold 16px Arial',\n wrap: go.TextBlock.WrapFit,\n stroke: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n },\n new go.Binding('stroke', 'color'),\n new go.Binding('text', 'name'),\n new go.Binding('visible', 'visible')\n )\n )\n )\n );\n this.myDiagram.nodeTemplateMap.set(\n AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_LABEL,\n node\n );\n }\n\n makeTextTemplate(\n size: { w: number; h: number } = {\n w: AtoGojsEditorModel.GRID_SIZE * 5,\n h: AtoGojsEditorModel.GRID_SIZE * 2,\n }\n ) {\n const self = this;\n const contextMenu = this.$(\n go.Adornment,\n 'Vertical',\n this.$('ContextMenuButton', this.$(go.TextBlock, 'Option 1'), {\n click: function (e, obj) {\n alert('Option 1 clicked!');\n },\n }),\n this.$('ContextMenuButton', this.$(go.TextBlock, 'Option 2'), {\n click: function (e, obj) {\n alert('Option 2 clicked!');\n },\n })\n // ... add more options as needed ...\n );\n const node = this.$(\n go.Node,\n 'Spot',\n {\n // fromSpot: go.Spot.RightSide,\n // toSpot: go.Spot.LeftSide,\n locationSpot: go.Spot.Center,\n // selectionChanged: (e) => {\n // if (e?.data.onSelected) {\n // e?.data.onSelected(e?.data);\n // }\n // },\n // mouseHover: (e, obj) => {\n // const node = obj.part;\n // if ((obj as any).part?.ob?.value === VALUE_NA) {\n // self.onHoverInfoButton.emit({\n // left: e?.['Wr']?.x + 8,\n // top: e?.['Wr']?.y,\n // node: node,\n // });\n // }\n // },\n // mouseLeave: (e, obj) => {\n // if ((obj as any).part?.ob?.value === VALUE_NA) {\n // self.onHoverInfoButton.emit(null);\n // }\n // },\n click: (e, obj: any) => {\n const node = obj.part;\n if (node?.ob?.isTypeInflowOfPlantCell) {\n // obj?.data?.onSelected(node?.ob?.nodePlantCellParent);\n // self.onClickCompoent.emit({\n // left: e?.['Wr']?.x,\n // top: e?.['Wr']?.y,\n // node: {\n // ob: node?.ob?.nodePlantCellParent,\n // },\n // component: node?.ob?.nodePlantCellParent,\n // });\n return;\n }\n if (this._initialOptions?.isReadOnly) {\n this.isShowNodeInfo\n ? self.onClickInfoButton.emit({\n left: e?.['Wr']?.x,\n top: e?.['Wr']?.y,\n node: node,\n })\n : null;\n }\n },\n doubleClick: (e, obj: any) => {\n const node = obj.part;\n if (\n node?.ob?.isTypeInflowOfPlantCell &&\n !this._initialOptions?.isReadOnly\n ) {\n // obj?.data?.onSelected(node?.ob?.nodePlantCellParent);\n // this.isShowNodeInfo\n // ? self.onDoubleClickNode.emit({\n // left: e?.['Wr']?.x,\n // top: e?.['Wr']?.y,\n // node: {\n // ob: node?.ob?.nodePlantCellParent,\n // },\n // })\n // : null;\n return;\n }\n if (!this._initialOptions?.isReadOnly) {\n this.isShowNodeInfo\n ? self.onClickInfoButton.emit({\n left: e?.['Wr']?.x,\n top: e?.['Wr']?.y,\n node: node,\n })\n : null;\n }\n },\n selectionAdornmentTemplate: this.$(\n go.Adornment,\n 'Spot',\n this.$(\n go.Panel,\n 'Auto',\n // { height: 62 },\n this.$(go.Shape, {\n fill: null,\n stroke: 'dodgerblue',\n strokeWidth: 4,\n }),\n this.$(\n go.Placeholder,\n // { padding: new go.Margin(8, 3, 0, 3) },\n new go.Binding('padding', '', (x) => {\n return x?.isTypeInflowOfPlantCell\n ? x?.flowOfPlantCell === ATO_ENUM_FLOW_DIRECTION.INFLOW\n ? new go.Margin(0, 0, 0, 20)\n : new go.Margin(0, 20, 0, 0)\n : null;\n })\n ),\n // this.$(go.Placeholder, { padding: 3 }),\n new go.Binding('height', '', (x) => {\n return x?.isTypeInflowOfPlantCell ? x?.height + 10 : null;\n }),\n new go.Binding('width', '', (x) => {\n return x?.isTypeInflowOfPlantCell ? x?.width + 12 : null;\n })\n ),\n this.$(\n go.Panel,\n 'Horizontal',\n { alignment: go.Spot.TopRight, alignmentFocus: go.Spot.Bottom },\n // more\n !this._initialOptions.isReadOnly\n ? this.generateActionGroup([\n AtoDefaultGojsEditor.ENUM_ACTIONS.RENAME,\n AtoDefaultGojsEditor.ENUM_ACTIONS.INSIGHT,\n AtoDefaultGojsEditor.ENUM_ACTIONS.OUTFLOW,\n AtoDefaultGojsEditor.ENUM_ACTIONS.DELETE,\n ])\n : {}\n )\n ),\n },\n new go.Binding('fromSpot', 'fromSpot'),\n new go.Binding('toSpot', 'toSpot'),\n new go.Binding('movable', 'movable'),\n new go.Binding('selectable', 'selectable'),\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(\n go.Point.stringify\n ),\n // new go.Binding('alignment', 'alignment', function(loc) {\n // return new go.Spot(0, 0, loc.x, 0);\n // }).ofObject(),\n\n this.$(\n go.Panel,\n 'Auto',\n {\n toolTip: this.$(\n 'ToolTip',\n this.$(\n go.TextBlock,\n {\n margin: 2,\n },\n new go.Binding('text', '', function (data) {\n if (!self._initialOptions.isReadOnly) {\n return data?.name ?? VALUE_NA;\n }\n if (data?.value === VALUE_NA || _.isNil(data?.value)) {\n return NO_DATA;\n // return TEXT_UNKNOWN;\n }\n return _.round(data?.value, 2).toFixed(2);\n }).makeTwoWay()\n )\n ),\n },\n this.$(\n go.Panel,\n 'Table',\n this.arrowForPlantCell(size, ATO_ENUM_FLOW_DIRECTION.OUTFLOW),\n this.$(\n go.Panel,\n 'Auto',\n // { width: size.w, height: size.h },\n {\n // minSize: new go.Size(size.w, size.h),\n // maxSize: new go.Size(size.w, size.h),\n desiredSize: new go.Size(size.w, size.h),\n column: 1,\n row: 2,\n },\n new go.Binding('width', 'width'),\n new go.Binding('height', 'height'),\n\n this.$(\n go.Shape,\n 'RoundedRectangle',\n {\n fill: AtoGojsEditorModel.ENUM_COLORS.LIGHT_BLUE,\n stroke: AtoGojsEditorModel.ENUM_COLORS.LINK_WATER,\n name: 'textNodeShape',\n },\n new go.Binding('fill', 'fill'),\n new go.Binding('stroke', 'stroke')\n ),\n this.$(\n go.Panel,\n 'Vertical',\n this.$(\n go.Panel,\n 'Horizontal',\n { alignment: go.Spot.Center },\n // Alert\n\n this.$(\n go.Panel,\n 'Auto',\n {\n margin: new go.Margin(0, 0, 0, 5),\n visible: false,\n },\n new go.Binding('visible', 'recommendation'),\n this.$(go.Shape, 'Circle', {\n fill: '#E95F47',\n stroke: '#E95F47',\n width: 15,\n height: 15,\n }),\n this.$(go.TextBlock, {\n text: '\\uf649',\n margin: new go.Margin(1.5, 0, 0, 0),\n font: '8px \"Font Awesome 6 Pro\"',\n stroke: '#fff',\n })\n ),\n this._initialOptions.isReadOnly\n ? this.$(\n go.Panel,\n 'Position',\n {\n width: 18,\n height: 15,\n visible: false,\n alignment: go.Spot.Center,\n margin: new go.Margin(0, 0, 0, 5),\n mouseEnter: (e, obj) => {\n self.onHoverAlert.emit({\n left: e?.['Wr']?.x + 8,\n top: e?.['Wr']?.y,\n messageAlert: (obj as any).part?.ob?.messageAlert,\n });\n },\n mouseLeave: (e, obj) => {\n self.onHoverAlert.emit(null);\n },\n },\n new go.Binding('visible', 'alert'),\n\n this.$(go.Picture, ICON_ALERT, {\n alignment: go.Spot.Center,\n maxSize: new go.Size(30, 30),\n imageStretch: go.GraphObject.Uniform,\n })\n )\n : ''\n ),\n\n this.$(\n go.Panel,\n 'Auto',\n this.$(\n go.TextBlock,\n {\n name: 'textBlockValue',\n row: 2,\n editable: false,\n desiredSize: new go.Size(size.w - 8, 18),\n font: 'bold 22px Arial',\n textAlign: 'center',\n stroke: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n overflow: go.TextBlock.OverflowEllipsis,\n },\n // new go.Binding('editable', 'isEditable'),\n new go.Binding('angle', 'angle'),\n new go.Binding('margin', '', (data) => {\n if (data?.alert) {\n return new go.Margin(0, 0, 0, 0);\n }\n return new go.Margin(0, 0, 0, 0);\n }),\n new go.Binding('stroke', 'color'),\n new go.Binding('text', '', function (data) {\n return self.getTextDataBox(data);\n }).makeTwoWay(),\n new go.Binding('visible', '', (data) => !data?.isHiddenValue)\n )\n )\n ),\n\n this.makePort('T', go.Spot.Top, go.Spot.TopSide, false, true),\n this.makePort('L', go.Spot.Left, go.Spot.LeftSide, false, true),\n this.makePort('R', go.Spot.Right, go.Spot.RightSide, true, false),\n this.makePort('B', go.Spot.Bottom, go.Spot.BottomSide, true, false)\n ),\n this.arrowForPlantCell(size, ATO_ENUM_FLOW_DIRECTION.INFLOW)\n )\n )\n );\n this.myDiagram.nodeTemplateMap.set(\n AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_NODE,\n node\n );\n }\n\n arrowForPlantCell(size, flowDirection) {\n return this.$(\n go.Panel,\n 'Table',\n {\n height: size.h,\n },\n new go.Binding('height', 'height'),\n new go.Binding(\n 'visible',\n '',\n (data) => data?.flowOfPlantCell === flowDirection\n ),\n {\n column: flowDirection === ATO_ENUM_FLOW_DIRECTION.OUTFLOW ? 0 : 2,\n row: 2,\n },\n new go.Binding('itemArray', 'dataLinkArray'),\n {\n itemTemplate: this.$(\n go.Panel,\n new go.Binding('row', 'indexRow'),\n // new go.Binding('height', 'height'),\n this.$(\n go.Picture,\n ARROW,\n {\n alignment: go.Spot.Center,\n maxSize: new go.Size(20, 40),\n // imageStretch: go.GraphObject.Uniform,\n },\n new go.Binding('source', '', (data, panel) => {\n // panel.part?.data?.id\n return data?.isCreated ? panel?.$p : ARROW_GRAY;\n })\n )\n ),\n }\n );\n }\n\n getTextDataBox(data) {\n if (data?.value === VALUE_NA) {\n return TEXT_UNKNOWN;\n }\n return `${data?.shortenedNumber}${\n data?.unitPrefixes ? ' ' + data?.unitPrefixes : ''\n }`;\n }\n\n makeDataBoxTemplate(\n size: { w: number; h: number } = {\n w: AtoGojsEditorModel.GRID_SIZE * 5,\n h: AtoGojsEditorModel.GRID_SIZE * 5,\n }\n ) {\n const self = this;\n let node = this.$(\n go.Node,\n 'Spot',\n {\n locationSpot: go.Spot.Center,\n mouseOver: function (e, obj) {},\n click: (e, obj: any) => {\n if (obj?.data?.onSelected) {\n obj?.data?.onSelected(obj?.data);\n }\n },\n selectionChanged: (e) => {\n if (!e.isSelected && e?.data?.onSelected) {\n e?.data?.onSelected(null);\n }\n },\n },\n\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(\n go.Point.stringify\n ),\n this.$(\n go.Panel,\n 'Auto',\n this.$(\n go.Panel,\n 'Table',\n {\n mouseHover: (e, obj) => {\n if ((obj as any).part?.ob?.value === VALUE_NA) {\n self.onHoverInfoButton.emit({\n left: e?.['Wr']?.x + 8,\n top: e?.['Wr']?.y,\n node: node,\n });\n }\n },\n mouseLeave: (e, obj) => {\n if ((obj as any).part?.ob?.value === VALUE_NA) {\n self.onHoverInfoButton.emit(null);\n }\n },\n },\n\n this.$(\n go.Panel,\n 'Auto',\n { row: 0, stretch: go.GraphObject.Horizontal },\n this.$(\n go.Shape,\n 'Rectangle',\n {\n fill: AtoGojsEditorModel.ENUM_COLORS.LIGHT_BLUE,\n stroke: AtoGojsEditorModel.ENUM_COLORS.RESOLUTION_BLUE,\n },\n new go.Binding('fill', 'color')\n ),\n this.$(\n go.TextBlock,\n {\n row: 0,\n margin: new go.Margin(10, 10, 5, 10),\n maxSize: new go.Size(size.w, NaN),\n stroke: 'white',\n font: 'normal 10pt Arial',\n textAlign: 'center',\n spacingBelow: 5,\n },\n new go.Binding('text', 'name').makeTwoWay()\n )\n ),\n this.$(\n go.Panel,\n 'Auto',\n { row: 1, stretch: go.GraphObject.Horizontal },\n this.$(go.Shape, 'Rectangle', {\n fill: AtoGojsEditorModel.ENUM_COLORS.LIGHT_BLUE,\n stroke: AtoGojsEditorModel.ENUM_COLORS.RESOLUTION_BLUE,\n }),\n this.$(\n go.Panel,\n 'Horizontal',\n this.$(\n go.TextBlock,\n {\n row: 2,\n // editable: true,\n // maxSize: new go.Size(size.w - 10, 40),\n // minSize: new go.Size(size.w - 10, size.h),\n margin: new go.Margin(5, 0, 5, 5),\n font: 'bold 12pt Arial',\n textAlign: 'center',\n stroke: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n },\n new go.Binding('editable', 'isEditable'),\n new go.Binding('text', 'shortenedNumber').makeTwoWay(),\n new go.Binding('stroke', 'color'),\n new go.Binding('visible', '', function (data) {\n return data.value !== VALUE_NA;\n })\n ),\n this.$(\n go.TextBlock,\n {\n row: 2,\n // editable: true,\n // maxSize: new go.Size(size.w - 10, 40),\n // minSize: new go.Size(size.w - 10, size.h),\n margin: new go.Margin(5, 5, 5, 0),\n font: 'bold 12pt Arial',\n textAlign: 'center',\n stroke: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n },\n new go.Binding('visible', '', function (data) {\n return data.value !== VALUE_NA;\n }),\n new go.Binding('text', 'unitPrefixes'),\n new go.Binding('stroke', 'color')\n ),\n // Icon Err when lack of value\n this.$(\n go.TextBlock,\n {\n margin: new go.Margin(10, 10, 10, 10),\n text: VALUE_NA, // Old version: TEXT_ERROR\n textAlign: 'center',\n font: 'bold 10pt sans-serif',\n stroke: AtoGojsEditorModel.ENUM_COLORS.SALMON,\n wrap: go.TextBlock.WrapFit,\n editable: false,\n isMultiline: false,\n },\n new go.Binding('visible', '', function (data) {\n return data.value === VALUE_NA;\n })\n )\n )\n )\n )\n ),\n this.$(go.Panel, 'Vertical', {\n alignment: go.Spot.Left,\n alignmentFocus: new go.Spot(0, 0.5, 8, 0),\n }),\n this.$(go.Panel, 'Vertical', {\n alignment: go.Spot.Right,\n alignmentFocus: new go.Spot(1, 0.5, -8, 0),\n }),\n // four named ports, one on each side:\n\n this.makePort('T', go.Spot.Top, go.Spot.TopSide, false, true),\n this.makePort('L', go.Spot.Left, go.Spot.LeftSide, true, true),\n this.makePort('R', go.Spot.Right, go.Spot.RightSide, true, true),\n this.makePort('B', go.Spot.Bottom, go.Spot.BottomSide, true, false)\n );\n this.myDiagram.nodeTemplateMap.set(\n AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n node\n );\n }\n\n showPoint(loc) {\n const docLoc = this.myDiagram.transformDocToView(loc);\n }\n\n makeEntityTemplate(\n icon,\n title,\n size: { w: number; h: number } = {\n w: AtoGojsEditorModel.GRID_SIZE * 5,\n h: AtoGojsEditorModel.GRID_SIZE * 5,\n }\n ) {\n const self = this;\n let node = this.$(\n go.Node,\n 'Spot',\n {\n locationSpot: go.Spot.Center,\n mouseOver: function (e, obj) {\n // self.showPoint(obj?.part?.location);\n },\n click: (e, obj: any) => {\n if (obj?.data?.onSelected) {\n obj?.data?.onSelected(obj?.data);\n self.onClickCompoent.emit({\n left: e?.['Wr']?.x,\n top: e?.['Wr']?.y,\n node: node,\n component: obj?.data,\n });\n }\n },\n selectionChanged: (e) => {\n if (!e.isSelected && e?.data?.onSelected) {\n e?.data?.onSelected(null);\n }\n },\n selectionAdornmentTemplate: this._initialOptions.isReadOnly\n ? null\n : this.$(\n go.Adornment,\n 'Spot',\n {\n shadowVisible: true,\n shadowBlur: 6,\n shadowOffset: new go.Point(0, 2),\n shadowColor: '#00000029',\n },\n this.$(\n go.Panel,\n 'Auto',\n this.$(go.Shape, {\n fill: null,\n stroke: 'dodgerblue',\n strokeWidth: 4,\n }),\n this.$(go.Placeholder, { padding: 3 })\n ),\n this.$(\n go.Panel,\n 'Horizontal',\n {\n alignment: go.Spot.TopRight,\n alignmentFocus: go.Spot.Bottom,\n background: 'white',\n },\n // more\n !this._initialOptions.isReadOnly\n ? this.generateActionGroup(\n [\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.RO_WATER_TREATMENT\n ].name,\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.COOLING_TOWER\n ].name,\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.BOILER\n ].name,\n ].includes(title)\n ? [\n AtoDefaultGojsEditor.ENUM_ACTIONS.RENAME,\n AtoDefaultGojsEditor.ENUM_ACTIONS.FLOW_DETAILS,\n AtoDefaultGojsEditor.ENUM_ACTIONS.ASSET_PARAMETERS,\n AtoDefaultGojsEditor.ENUM_ACTIONS.OUTFLOW,\n AtoDefaultGojsEditor.ENUM_ACTIONS.DELETE,\n ]\n : [\n AtoDefaultGojsEditor.ENUM_ACTIONS.RENAME,\n AtoDefaultGojsEditor.ENUM_ACTIONS.DETAILS,\n AtoDefaultGojsEditor.ENUM_ACTIONS.OUTFLOW,\n AtoDefaultGojsEditor.ENUM_ACTIONS.DELETE,\n ]\n )\n : {}\n )\n ),\n },\n // new go.Binding('location', 'loc', go.Point.parse),\n new go.Binding('movable', 'movable'),\n new go.Binding('selectable', 'selectable'),\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(\n go.Point.stringify\n ),\n new go.Binding('visible', 'visible'),\n this.$(\n go.Panel,\n 'Auto',\n { width: size.w, height: size.h },\n this.$(go.Shape, 'RoundedRectangle', {\n fill: 'white',\n stroke: AtoGojsEditorModel.ENUM_COLORS.LINK_WATER,\n strokeWidth: 1,\n // strokeDashArray: [5, 5],\n }),\n this.$(\n go.Panel,\n 'Table',\n this.$(go.Picture, icon, {\n row: 1,\n alignment: go.Spot.Center,\n desiredSize: new go.Size(size.w - 20, size.h - 50),\n // maxSize: new go.Size(60, 60),\n imageStretch: go.GraphObject.Uniform,\n toolTip: this.$(\n 'ToolTip',\n this.$(go.TextBlock, {\n margin: 4,\n text: title,\n })\n ),\n }),\n this.$(\n go.TextBlock,\n {\n row: 2,\n margin: new go.Margin(10, 0, 3, 0),\n editable: true,\n desiredSize: new go.Size(size.w - 20, 15),\n stroke: '#000D42',\n font: 'bold 10pt Arial',\n textAlign: 'center',\n // wrap: go.TextBlock.None,\n overflow: go.TextBlock.OverflowEllipsis,\n toolTip: this.$(\n 'ToolTip',\n this.$(\n go.TextBlock,\n { margin: 4 },\n new go.Binding('text', 'name')\n )\n ),\n },\n new go.Binding('text', 'name').makeTwoWay(),\n new go.Binding('editable', '', (data) => {\n return !(\n AtoGojsEditorModel.TYPE_COMPONENT_WATER?.includes(\n data?.systemType\n ) &&\n data?.topologyType !== ATO_ECOMPONENT_PLANT_TYPE.WATER &&\n data?.topologyType !==\n ATO_ECOMPONENT_PLANT_TYPE.WATER_PLANT_CELL\n );\n })\n )\n )\n ),\n\n this.$(go.Panel, 'Vertical', {\n alignment: go.Spot.Left,\n alignmentFocus: new go.Spot(0, 0.5, 8, 0),\n }),\n this.$(go.Panel, 'Vertical', {\n alignment: go.Spot.Right,\n alignmentFocus: new go.Spot(1, 0.5, -8, 0),\n }),\n\n this.makePort('T', go.Spot.Top, go.Spot.TopSide, false, true),\n this.makePort('L', go.Spot.Left, go.Spot.LeftSide, false, true),\n this.makePort('R', go.Spot.Right, go.Spot.RightSide, true, false),\n this.makePort('B', go.Spot.Bottom, go.Spot.BottomSide, true, false)\n );\n this.myDiagram.nodeTemplateMap.set(title, node);\n }\n\n makeEntityTemplateEnergy(\n icon,\n title,\n size: { w: number; h: number } = {\n w: AtoGojsEditorModel.GRID_SIZE * 5,\n h: AtoGojsEditorModel.GRID_SIZE * 5,\n }\n ) {\n const self = this;\n let node = this.$(\n go.Node,\n 'Spot',\n {\n locationSpot: go.Spot.Center,\n mouseOver: function (e, obj) {\n // self.showPoint(obj?.part?.location);\n },\n click: (e, obj: any) => {\n if (obj?.data?.onSelected) {\n obj?.data?.onSelected(obj?.data);\n }\n },\n selectionChanged: (e) => {\n if (!e.isSelected && e?.data?.onSelected) {\n e?.data?.onSelected(null);\n }\n },\n selectionAdornmentTemplate: this._initialOptions.isReadOnly\n ? null\n : this.$(\n go.Adornment,\n 'Spot',\n {\n shadowVisible: true,\n shadowBlur: 6,\n shadowOffset: new go.Point(0, 2),\n shadowColor: '#00000029',\n },\n this.$(\n go.Panel,\n 'Auto',\n this.$(go.Shape, {\n fill: null,\n stroke: 'dodgerblue',\n strokeWidth: 4,\n }),\n this.$(go.Placeholder, { padding: 3 })\n ),\n this.$(\n go.Panel,\n 'Horizontal',\n {\n alignment: go.Spot.TopRight,\n alignmentFocus: go.Spot.Bottom,\n background: 'white',\n },\n // more\n this.generateActionGroup([\n AtoDefaultGojsEditor.ENUM_ACTIONS.RENAME,\n AtoDefaultGojsEditor.ENUM_ACTIONS.DETAILS,\n AtoDefaultGojsEditor.ENUM_ACTIONS.OUTFLOW,\n AtoDefaultGojsEditor.ENUM_ACTIONS.DELETE,\n ])\n )\n ),\n },\n new go.Binding('visible', 'visible'),\n new go.Binding('movable', 'movable'),\n new go.Binding('selectable', 'selectable'),\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(\n go.Point.stringify\n ),\n this.$(\n go.Panel,\n 'Auto',\n { width: size.w, height: size.h },\n this.$(go.Shape, 'RoundedRectangle', {\n fill: 'white',\n stroke: AtoGojsEditorModel.ENUM_COLORS.LINK_WATER,\n // strokeDashArray: [5, 5],\n }),\n this.$(\n go.Panel,\n 'Table',\n this.$(\n go.TextBlock,\n AtoGojsEditorModel.TEMPLATE_DUPLICATE[title] ?? title,\n {\n row: 0,\n margin: new go.Margin(3, 3, 10, 3),\n maxSize: new go.Size(size.w - 20, 15),\n stroke: '#444444',\n font: 'normal 10pt Arial',\n textAlign: 'center',\n toolTip: this.$(\n 'ToolTip',\n this.$(go.TextBlock, {\n margin: 4,\n text: title,\n })\n ),\n }\n ),\n this.$(go.Picture, icon, {\n row: 1,\n alignment: go.Spot.Center,\n desiredSize: new go.Size(size.w - 20, size.h - 65),\n imageStretch: go.GraphObject.Uniform,\n }),\n this.$(\n go.TextBlock,\n {\n row: 2,\n margin: new go.Margin(10, 3, 3, 3),\n editable: true,\n maxSize: new go.Size(size.w - 20, 15),\n stroke: '#2C2C2C',\n font: 'bold 10pt Arial',\n textAlign: 'center',\n // wrap: go.TextBlock.None,\n overflow: go.TextBlock.OverflowEllipsis,\n toolTip: this.$(\n 'ToolTip',\n this.$(\n go.TextBlock,\n {\n margin: 4,\n },\n new go.Binding('text', 'name').makeTwoWay()\n )\n ),\n },\n new go.Binding('text', 'name').makeTwoWay()\n )\n )\n ),\n this.$(go.Panel, 'Vertical', {\n alignment: go.Spot.Left,\n alignmentFocus: new go.Spot(0, 0.5, 8, 0),\n }),\n this.$(go.Panel, 'Vertical', {\n alignment: go.Spot.Right,\n alignmentFocus: new go.Spot(1, 0.5, -8, 0),\n }),\n // four named ports, one on each side:\n\n this.makePort('T', go.Spot.Top, go.Spot.TopSide, false, true),\n this.makePort('L', go.Spot.Left, go.Spot.LeftSide, false, true),\n this.makePort('R', go.Spot.Right, go.Spot.RightSide, true, false),\n this.makePort('B', go.Spot.Bottom, go.Spot.BottomSide, true, false)\n );\n this.myDiagram.nodeTemplateMap.set(title, node);\n }\n\n // Plant Cell\n plantCellTemplate(\n icon,\n title,\n size: { w: number; h: number } = {\n w: 260,\n h: AtoGojsEditorModel.PLANT_CELL_HEIGHT,\n }\n ) {\n const self = this;\n let node = this.$(\n go.Group,\n 'Spot',\n {\n locationSpot: go.Spot.Center,\n mouseOver: function (e, obj) {\n // self.showPoint(obj?.part?.location);\n },\n\n mouseEnter: (e, obj) => {\n // self.onHoverAlert.emit({\n // left: e?.['Wr']?.x + 8,\n // top: e?.['Wr']?.y,\n // messageAlert: (obj as any).part?.ob?.messageAlert,\n // });\n const node = obj.part;\n self.onHoverInfoButton.emit({\n left: e?.['Wr']?.x + 8,\n top: e?.['Wr']?.y,\n node: node,\n });\n\n let shape = (node as any)?.findObject('SHAPE_KEY'); // Thay 'SHAPE_KEY' bằng khóa bạn đặt cho hình Shape\n // debugger;\n if (shape) {\n shape.stroke = 'blue'; // Thay đổi màu stroke thành blue\n }\n },\n mouseLeave: (e, obj) => {\n self.onHoverInfoButton.emit(null);\n // self.onHoverAlert.emit(null);\n },\n\n click: (e, obj: any) => {\n if (obj?.data?.onSelected) {\n obj?.data?.onSelected(obj?.data);\n self.onClickCompoent.emit({\n left: e?.['Wr']?.x,\n top: e?.['Wr']?.y,\n node: node,\n component: obj?.data,\n });\n }\n },\n\n doubleClick: (e, obj: any) => {\n if (!this._initialOptions?.isReadOnly) {\n const node = obj.part;\n this.isShowNodeInfo\n ? self.onDoubleClickNode.emit({\n left: e?.['Wr']?.x,\n top: e?.['Wr']?.y,\n node: node,\n })\n : null;\n }\n },\n\n // Todo\n\n selectionChanged: (e) => {\n if (!e.isSelected && e?.data?.onSelected) {\n e?.data?.onSelected(null);\n }\n },\n\n selectionAdornmentTemplate: this._initialOptions.isReadOnly\n ? null\n : this.$(\n go.Adornment,\n 'Spot',\n {\n shadowVisible: true,\n shadowBlur: 6,\n shadowOffset: new go.Point(0, 2),\n shadowColor: '#00000029',\n },\n this.$(\n go.Panel,\n 'Auto',\n { width: 170 },\n this.$(go.Shape, {\n fill: null,\n stroke: 'dodgerblue',\n strokeWidth: 4,\n }),\n this.$(go.Placeholder, { padding: 3 })\n ),\n this.$(\n go.Panel,\n 'Horizontal',\n { alignment: go.Spot.TopRight, alignmentFocus: go.Spot.Bottom },\n // more\n this.generateActionGroup([\n AtoDefaultGojsEditor.ENUM_ACTIONS.RENAME,\n AtoDefaultGojsEditor.ENUM_ACTIONS.CHANGE_ICON,\n AtoDefaultGojsEditor.ENUM_ACTIONS.ONLY_DETAILS,\n // DefaultGojsEditor.ENUM_ACTIONS.OUTFLOW,\n AtoDefaultGojsEditor.ENUM_ACTIONS.DELETE,\n ])\n // new go.Binding('visible', 'isNotAction', (x) => !x),\n )\n\n // this.$(\n // go.Panel,\n // 'Horizontal',\n // { alignment: go.Spot.TopRight, alignmentFocus: go.Spot.Bottom },\n // this.generateActionGroup([DefaultGojsEditor.ENUM_ACTIONS.ONLY_DETAILS]),\n // new go.Binding('visible', '', (x) => {\n // return x?.isOnlyDetails && !x?.isNotAction ? true : false;\n // }),\n // ),\n ),\n },\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(\n go.Point.stringify\n ),\n this.$(\n go.Panel,\n 'Auto',\n { width: size.w, height: size.h },\n // this.$(go.Shape, 'RoundedRectangle', {\n // fill: 'white',\n // stroke: AtoGojsEditorModel.ENUM_COLORS.LINK_WATER,\n // // strokeDashArray: [5, 5],\n // }),\n // this.$(go.Placeholder, { padding: new go.Margin(0, 0, 0, 0), visible: false }),\n this.$(\n go.Panel,\n 'Auto',\n {\n alignmentFocus: go.Spot.Center,\n margin: new go.Margin(0, 50, 0, 50),\n },\n this.$(go.Shape, 'RoundedRectangle', {\n fill: 'white',\n stroke: AtoGojsEditorModel.ENUM_COLORS.LINK_WATER,\n strokeDashArray: [5, 5],\n }),\n this.$(\n go.Panel,\n 'Table',\n this.$(go.TextBlock, title, {\n row: 0,\n margin: new go.Margin(3, 0, 10, 0),\n desiredSize: new go.Size(size.w - 20, 15),\n stroke: '#444444',\n font: 'normal 10pt Arial',\n textAlign: 'center',\n toolTip: this.$(\n 'ToolTip',\n this.$(go.TextBlock, {\n margin: 4,\n text: title,\n })\n ),\n }),\n this.$(\n go.Picture,\n icon,\n {\n row: 1,\n alignment: go.Spot.Center,\n desiredSize: new go.Size(size.w - 20, size.h - 65),\n imageStretch: go.GraphObject.Uniform,\n },\n new go.Binding(\n 'source',\n 'pathImage',\n (x) =>\n x ??\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.PLANT_CELL\n ].icon\n )\n ),\n this.$(\n go.TextBlock,\n {\n row: 2,\n margin: new go.Margin(10, 0, 3, 0),\n editable: true,\n desiredSize: new go.Size(size.w - 20, 15),\n stroke: '#2C2C2C',\n font: 'bold 10pt Arial',\n textAlign: 'center',\n // wrap: go.TextBlock.None,\n overflow: go.TextBlock.OverflowEllipsis,\n toolTip: this.$(\n 'ToolTip',\n this.$(\n go.TextBlock,\n {\n margin: 4,\n },\n new go.Binding('text', 'name').makeTwoWay()\n )\n ),\n },\n new go.Binding('text', 'name').makeTwoWay()\n )\n )\n )\n ),\n\n this.$(go.Panel, 'Vertical', {\n alignment: go.Spot.Left,\n alignmentFocus: new go.Spot(0, 0.5, 8, 0),\n }),\n this.$(go.Panel, 'Vertical', {\n alignment: go.Spot.Right,\n alignmentFocus: new go.Spot(1, 0.5, -8, 0),\n })\n\n // this.makePort('T', go.Spot.Top, go.Spot.TopSide, false, true),\n // this.makePort('L', go.Spot.Left, go.Spot.LeftSide, false, true),\n // this.makePort('R', go.Spot.Right, go.Spot.RightSide, true, false),\n // this.makePort('B', go.Spot.Bottom, go.Spot.BottomSide, true, false),\n );\n this.myDiagram.nodeTemplateMap.set(title, node);\n }\n\n makeEntityWithdrawOrDischarge(\n icon,\n title,\n size: { w: number; h: number } = {\n w: AtoGojsEditorModel.GRID_SIZE * 5,\n h: AtoGojsEditorModel.GRID_SIZE * 5,\n }\n ) {\n const self = this;\n let node = this.$(\n go.Node,\n 'Spot',\n {\n locationSpot: go.Spot.Center,\n mouseOver: function (e, obj) {\n // self.showPoint(obj?.part?.location);\n },\n click: (e, obj: any) => {\n if (obj?.data?.onSelected) {\n obj?.data?.onSelected(obj?.data);\n }\n },\n selectionChanged: (e) => {\n if (!e.isSelected && e?.data?.onSelected) {\n e?.data?.onSelected(null);\n }\n },\n selectionAdornmentTemplate: this._initialOptions.isReadOnly\n ? null\n : this.$(\n go.Adornment,\n 'Spot',\n this.$(\n go.Panel,\n 'Auto',\n this.$(go.Shape, {\n fill: null,\n stroke: 'dodgerblue',\n strokeWidth: 4,\n }),\n this.$(go.Placeholder, { padding: 3 })\n ),\n this.$(\n go.Panel,\n 'Horizontal',\n { alignment: go.Spot.TopRight, alignmentFocus: go.Spot.Bottom },\n this.generateActionGroup([\n AtoDefaultGojsEditor.ENUM_ACTIONS.RENAME,\n AtoDefaultGojsEditor.ENUM_ACTIONS.DETAILS,\n AtoDefaultGojsEditor.ENUM_ACTIONS.OUTFLOW,\n AtoDefaultGojsEditor.ENUM_ACTIONS.DELETE,\n ])\n )\n ),\n },\n new go.Binding('visible', 'visible'),\n new go.Binding('movable', 'movable'),\n new go.Binding('selectable', 'selectable'),\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(\n go.Point.stringify\n ),\n\n this.$(\n go.Panel,\n 'Auto',\n { width: size.w, height: size.h },\n this.$(go.Shape, 'RoundedRectangle', {\n fill: 'white',\n stroke: AtoGojsEditorModel.ENUM_COLORS.LINK_WATER,\n // strokeDashArray: [5, 5],\n }),\n this.$(\n go.Panel,\n 'Table',\n // this.$(go.TextBlock, title, {\n // row: 0,\n // margin: new go.Margin(3, 3, 10, 3),\n // maxSize: new go.Size(size.w - 20, NaN),\n // stroke: '#444444',\n // font: 'normal 10pt Arial',\n // textAlign: 'center',\n // }),\n this.$(go.Picture, icon, {\n row: 1,\n alignment: go.Spot.Center,\n desiredSize: new go.Size(size.w - 20, size.h - 50),\n imageStretch: go.GraphObject.Uniform,\n }),\n this.$(\n go.TextBlock,\n {\n row: 2,\n margin: new go.Margin(10, 0, 3, 0),\n editable: true,\n desiredSize: new go.Size(size.w - 20, 15),\n stroke: '#000D42',\n font: 'bold 10pt Arial',\n textAlign: 'center',\n // wrap: go.TextBlock.None,\n overflow: go.TextBlock.OverflowEllipsis,\n toolTip: this.$(\n 'ToolTip',\n this.$(\n go.TextBlock,\n {\n margin: 4,\n },\n new go.Binding('text', 'name').makeTwoWay()\n )\n ),\n },\n new go.Binding('text', 'name').makeTwoWay()\n // {\n // // define a tooltip for each node that displays the color as text\n // toolTip: this.$(\n // 'ToolTip',\n // this.$(go.TextBlock, { margin: 4 }, new go.Binding('text', 'name')),\n // ), // end of Adornment\n // },\n )\n )\n ),\n this.$(go.Panel, 'Vertical', {\n alignment: go.Spot.Left,\n alignmentFocus: new go.Spot(0, 0.5, 8, 0),\n }),\n this.$(go.Panel, 'Vertical', {\n alignment: go.Spot.Right,\n alignmentFocus: new go.Spot(1, 0.5, -8, 0),\n }),\n // four named ports, one on each side:\n\n this.makePort('T', go.Spot.Top, go.Spot.TopSide, false, true),\n this.makePort('L', go.Spot.Left, go.Spot.LeftSide, false, true),\n this.makePort('R', go.Spot.Right, go.Spot.RightSide, true, false),\n this.makePort('B', go.Spot.Bottom, go.Spot.BottomSide, true, false)\n );\n this.myDiagram.nodeTemplateMap.set(title, node);\n }\n\n editTextGroupZone(e, button) {\n const nodeGroup = button.part.adornedPart;\n const diagram = nodeGroup.diagram;\n e.diagram.commandHandler.editTextBlock(nodeGroup.findObject('TEXTBLOCK'));\n }\n\n editText(e, button) {\n const node = button.part.adornedPart;\n e.diagram.commandHandler.editTextBlock(node.findObject('TEXTBLOCK'));\n }\n\n async dragNewNode(e, button) {\n const tool = e.diagram.toolManager.draggingTool;\n\n if (tool.isBeyondDragSize()) {\n const data = button._dragData;\n if (!data) return;\n e.diagram.startTransaction('button drag'); // see doDeactivate, below\n\n const fromnode = button.part.adornedPart;\n const diagram = fromnode.diagram;\n const model = diagram.model;\n const nodedata = {\n ...model.copyNodeData(data),\n key: UtilsService.generateUUID(),\n };\n model.addNodeData(nodedata);\n const newnode = diagram.findNodeForData(nodedata);\n const linkdata = model.copyLinkData({});\n model.setFromKeyForLinkData(\n linkdata,\n model.getKeyForNodeData(fromnode.data)\n );\n model.setToKeyForLinkData(\n linkdata,\n model.getKeyForNodeData(newnode.data)\n );\n model.addLinkData(linkdata);\n diagram.select(newnode);\n // this.createNodeAndLink(data, button.part.adornedPart);\n\n newnode.location = e.diagram.lastInput.documentPoint;\n // don't commitTransaction here, but in tool.doDeactivate, after drag operation finished\n // set tool.currentPart to a selected movable Part and then activate the DraggingTool\n tool.currentPart = newnode;\n e.diagram.currentTool = tool;\n tool.doActivate();\n }\n }\n\n addItemOnGroupZone(e, button) {\n const data = button._dragData;\n if (!data) return;\n e.diagram.startTransaction('Add Item On Group Zone');\n const fromnode = button.part.adornedPart;\n const dragData = button._dragData;\n const diagram = fromnode.diagram;\n const model = diagram.model;\n const nodedata = model.copyNodeData(dragData);\n model.addNodeData({\n ...nodedata,\n type: 'SubSystem',\n name: '[Title...]',\n nameItem: '[Name...]',\n group: fromnode?.ob?.key,\n });\n e.diagram.commitTransaction('Add Item On Group Zone');\n // const newnode = diagram.findNodeForData(nodedata);\n // const linkdata = model.copyLinkData({});\n // model.setFromKeyForLinkData(linkdata, model.getKeyForNodeData(fromnode.data));\n // model.setToKeyForLinkData(linkdata, model.getKeyForNodeData(newnode.data));\n // model.addLinkData(linkdata);\n // diagram.select(newnode);\n\n // newnode.location = new go.Point(fromnode.location.x + 200, fromnode.location.y);\n // e.diagram.commitTransaction('Create Node and Link');\n }\n\n generateActionGroup(actions: AtoDefaultGojsEditor.ENUM_ACTIONS[]) {\n const self = this;\n return this.$(\n 'Button',\n {\n click: function (e, obj) {\n self.openActionMenu();\n const filteredActions = _.filter(\n obj.part?.['ob']?.actions ?? actions,\n (action) => {\n // Filter Insight button\n if (action === AtoDefaultGojsEditor.ENUM_ACTIONS.INSIGHT) {\n return !!obj.part?.['ob']?.id;\n }\n if (\n action === AtoDefaultGojsEditor.ENUM_ACTIONS.RENAME &&\n obj.part?.['ob']?.type !==\n AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_NODE &&\n AtoGojsEditorModel.TYPE_COMPONENT_WATER?.includes(\n obj.part?.['ob']?.systemType\n ) &&\n obj.part?.['ob']?.topologyType !==\n ATO_ECOMPONENT_PLANT_TYPE.WATER &&\n obj.part?.['ob']?.topologyType !==\n ATO_ECOMPONENT_PLANT_TYPE.WATER_PLANT_CELL\n ) {\n return false;\n }\n if (\n action === AtoDefaultGojsEditor.ENUM_ACTIONS.OUTFLOW &&\n self.plantSatus === ATO_EPlantType.BASIC_PLANT &&\n obj.part?.data?.type ===\n AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_NODE\n ) {\n return false;\n }\n return true;\n }\n ).map((e) => {\n if (\n ATO_ECOMPONENT_PLANT_TYPE.STEAM ===\n obj.part?.['ob']?.topologyType &&\n e === AtoDefaultGojsEditor.ENUM_ACTIONS.INSIGHT\n ) {\n return AtoDefaultGojsEditor.ENUM_ACTIONS.DATA_MAPPING;\n }\n if (\n e === AtoDefaultGojsEditor.ENUM_ACTIONS.FLOW_DETAILS &&\n obj?.part?.['ob']?.systemType ===\n AtoGojsEditorModel.ENUM_TYPES.COOLING_TOWER\n ) {\n return AtoDefaultGojsEditor.ENUM_ACTIONS.FLOW_DETAILS_AND_WIZARD;\n }\n return e;\n });\n self.actions = filteredActions.map((action) => {\n let onClickFn = () => {};\n switch (action) {\n case AtoDefaultGojsEditor.ENUM_ACTIONS.INSIGHT:\n case AtoDefaultGojsEditor.ENUM_ACTIONS.DATA_MAPPING:\n onClickFn = () => {\n self.onOpenInsightMapping.emit({\n node: obj.part,\n });\n };\n break;\n case AtoDefaultGojsEditor.ENUM_ACTIONS.DETAILS:\n case AtoDefaultGojsEditor.ENUM_ACTIONS.FLOW_DETAILS:\n case AtoDefaultGojsEditor.ENUM_ACTIONS.FLOW_DETAILS_AND_WIZARD:\n onClickFn = () => {\n self.onOpenDetail.emit({\n node: obj.part,\n });\n };\n break;\n case AtoDefaultGojsEditor.ENUM_ACTIONS.ONLY_DETAILS:\n onClickFn = () => {\n self.onOpenDetail.emit({\n node: obj.part,\n });\n };\n break;\n case AtoDefaultGojsEditor.ENUM_ACTIONS.ASSET_PARAMETERS:\n onClickFn = () => {\n self.onOpenAssetParameter.emit({\n node: obj.part,\n });\n };\n break;\n case AtoDefaultGojsEditor.ENUM_ACTIONS.RENAME:\n onClickFn = () => {\n if (\n obj.part?.data?.type ===\n AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_NODE\n ) {\n self.onRename.emit({\n left: e?.['Wr']?.x - 50,\n top: e?.['Wr']?.y,\n ...obj.part?.data,\n });\n // LayoutService.setToolTipComponentDataStatic({\n // component: RenameBoxComponent,\n // data: {\n // left: e?.['Wr']?.x - 50,\n // top: e?.['Wr']?.y,\n // ...obj.part?.data,\n // },\n // });\n } else {\n self.editText(e, obj);\n }\n };\n break;\n case AtoDefaultGojsEditor.ENUM_ACTIONS.OUTFLOW:\n onClickFn = () => {\n self.clickNewNode(\n e,\n _.merge(obj, {\n actionMove: self.dragNewNode, // defined below, to support dragging from the button\n _dragData: {\n ...{\n type: AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_NODE,\n name: `${\n AtoGojsEditorModel.ACTION_RIGHT_MENU_GROUP.DATA_BOX\n }_${moment().valueOf()}`,\n color: AtoGojsEditorModel.ENUM_COLORS.BLUE,\n },\n ...self.setProFOrNewNode(self),\n },\n })\n );\n };\n break;\n case AtoDefaultGojsEditor.ENUM_ACTIONS.DELETE:\n onClickFn = () => {\n self.deleteNode(e);\n };\n break;\n case AtoDefaultGojsEditor.ENUM_ACTIONS.CHANGE_ICON:\n onClickFn = () => {\n self.onOpenChangeIcon.emit({\n node: obj.part,\n });\n };\n break;\n }\n return {\n ...AtoDefaultGojsEditor.ACTIONS[action],\n onClick: () => {\n onClickFn();\n },\n };\n });\n },\n 'ButtonBorder.strokeWidth': 0,\n 'ButtonBorder.fill': 'white',\n },\n // new go.Binding('visible', 'isNotDragNewNode', (x) => !x),\n // new go.Binding('visible', 'isNotDelete', (x) => !x),\n new go.Binding('visible', 'isNotAction', (x) => !x),\n this.$(go.TextBlock, {\n margin: 4,\n text: '\\ue489',\n font: '20px \"Font Awesome 6 Pro\"',\n cursor: 'pointer',\n })\n );\n }\n\n async setProFOrNewNode(self) {\n if (self.plantSatus === ATO_EPlantType.BASIC_PLANT) {\n return {\n movable: false,\n isNotAllowConnect: true,\n };\n }\n return {};\n }\n\n async clickNewNode(e, button) {\n const data = button._dragData;\n if (!data) return;\n e.diagram.startTransaction('Create Node and Link');\n const fromnode = button.part.adornedPart;\n\n // this.createNodeAndLink(button._dragData, fromnode);\n const dragData = button._dragData;\n const diagram = fromnode.diagram;\n const model = diagram.model;\n const nodedata = {\n ...model.copyNodeData(dragData),\n key: UtilsService.generateUUID(),\n };\n model.addNodeData({\n ...nodedata,\n isEditable: true,\n shortenedNumber: 0,\n isFormat: false,\n dataCollectionMethod: AtoGojsEditorModel.DATA_COLLECTION_METHOD.MANUAL,\n color:\n AtoGojsEditorModel.COLOR_COLLECTION_METHOD[\n AtoGojsEditorModel.DATA_COLLECTION_METHOD.MANUAL\n ].color,\n group: fromnode?.ob?.group,\n value: 0,\n });\n const newnode = diagram.findNodeForData(nodedata);\n\n const linkdata = model.copyLinkData({});\n model.setFromKeyForLinkData(\n linkdata,\n model.getKeyForNodeData(fromnode.data)\n );\n model.setToKeyForLinkData(linkdata, model.getKeyForNodeData(newnode.data));\n model.addLinkData(linkdata);\n diagram.select(newnode);\n if (nodedata?.movable !== undefined && nodedata?.movable !== null) {\n newnode.movable = nodedata?.movable;\n }\n\n newnode.location = new go.Point(\n fromnode.location.x + 160,\n fromnode.location.y +\n this.findLocYFromnode(fromnode) * AtoDefaultGojsEditor.DISTANCE_2_OUTPUT\n );\n e.diagram.commitTransaction('Create Node and Link');\n }\n\n findLocYFromnode(fromnode) {\n // Find location auto right\n const locYFromnode = fromnode.data?.loc?.split(' ')?.[1];\n const locYAlreadyExist: any = [];\n fromnode.findLinksOutOf().each(function (link) {\n const targetNode = link.toNode;\n if (targetNode) {\n locYAlreadyExist.push(\n targetNode.data?.loc?.split(' ')?.[1] - locYFromnode\n );\n }\n });\n\n let i = 0;\n while (this.isEmptyYLoc(locYAlreadyExist, i) === null && i < 100) {\n i++;\n }\n return this.isEmptyYLoc(locYAlreadyExist, i);\n }\n\n isEmptyYLoc(locYAlreadyExist, i) {\n if (\n !_.some(\n locYAlreadyExist,\n (x) =>\n x <\n i * AtoDefaultGojsEditor.DISTANCE_2_OUTPUT +\n AtoDefaultGojsEditor.DISTANCE_2_OUTPUT / 2 &&\n x >\n i * AtoDefaultGojsEditor.DISTANCE_2_OUTPUT -\n AtoDefaultGojsEditor.DISTANCE_2_OUTPUT / 2\n )\n ) {\n return i;\n }\n if (\n !_.some(\n locYAlreadyExist,\n (x) =>\n x <\n -i * AtoDefaultGojsEditor.DISTANCE_2_OUTPUT +\n AtoDefaultGojsEditor.DISTANCE_2_OUTPUT / 2 &&\n x >\n -i * AtoDefaultGojsEditor.DISTANCE_2_OUTPUT -\n AtoDefaultGojsEditor.DISTANCE_2_OUTPUT / 2\n )\n ) {\n return -i;\n }\n return null;\n }\n\n createNewNode(newnode) {\n this.addTemplate(newnode);\n this.myDiagram.startTransaction('add group node');\n this.myDiagram.model.addNodeData(newnode);\n this.myDiagram.commitTransaction('add group node');\n }\n\n deleteNode(e) {\n e.diagram.startTransaction('Delete group node');\n e.diagram.removeParts(e.diagram.selection);\n e.diagram.commitTransaction('Delete group node');\n }\n\n deleteNodeOnDiagram(e) {\n e.startTransaction('Delete group node');\n e.removeParts(e.selection);\n e.commitTransaction('Delete group node');\n }\n\n insightNode(e) {}\n\n drawLink(e, button) {\n const node = button.part.adornedPart;\n const tool = e.diagram.toolManager.linkingTool;\n tool.startObject = node.port;\n e.diagram.currentTool = tool;\n tool.doActivate();\n }\n\n makePortGroup(name, align, spot, output, input) {\n const horizontal =\n align.equals(go.Spot.Top) || align.equals(go.Spot.Bottom);\n return this.$(\n go.Panel,\n 'Table',\n {\n background: '#919CA5',\n width: 40,\n height: 40,\n alignment: align,\n stretch: horizontal\n ? go.GraphObject.Horizontal\n : go.GraphObject.Vertical,\n portId: name,\n fromSpot: spot,\n fromLinkable: output,\n toSpot: spot,\n toLinkable: input,\n cursor: this._initialOptions.isReadOnly ? '' : 'pointer',\n alignmentFocus: go.Spot.Center, // tập trung vào trung tâm của Panel\n // mouseEnter: this._initialOptions.isReadOnly\n // ? null\n // : (e, panel) => {\n // const textBlock = (panel as any)?.findObject('textBlock') as go.TextBlock | null;\n // if (textBlock) {\n // // && output\n // textBlock.visible = true;\n // switch (name) {\n // case 'B':\n // case 'R': {\n // panel.background = 'rgb(243 144 171)';\n // break;\n // }\n // case 'T':\n // case 'L': {\n // panel.background = 'rgb(103,151,207)';\n // break;\n // }\n // default: {\n // panel.background = 'rgb(243 144 171)';\n // }\n // }\n // }\n // },\n\n // mouseLeave: this._initialOptions.isReadOnly\n // ? null\n // : (e, panel) => {\n // const textBlock = (panel as any).findObject('textBlock') as go.TextBlock | null;\n // if (textBlock) {\n // textBlock.visible = false; // Ẩn TextBlock khi rời khỏi Panel\n // }\n // panel.background = 'transparent';\n // },\n },\n\n this.$(go.Shape, 'Ellipse', {\n fill: 'white', // Background color of the circle\n strokeWidth: 2,\n stroke: '#919CA5', // Border color of the circle\n width: 40, // Match the panel's width\n height: 40, // Match the panel's height\n })\n\n // this.$(\n // go.TextBlock,\n // {\n // name: 'textBlock',\n // margin: 4,\n // text: '\\uf0da', // Mã Unicode tương ứng với fa-caret-left\n // font: '900 12px \"Font Awesome 6 Pro\"',\n // stroke: 'white', // Đặt màu chữ thành màu trắng\n // cursor: 'pointer',\n // visible: false,\n // },\n // new go.Binding('text', 'name', (_) => {\n // switch (name) {\n // case 'T':\n // case 'B': {\n // return '\\uf0d7';\n // }\n // case 'L':\n // case 'R': {\n // return '\\uf0da';\n // }\n // default: {\n // return '\\uf0d7';\n // }\n // }\n // }),\n // ),\n );\n }\n\n makePort(name, align, spot, output, input) {\n // if (this._initialOptions.isReadOnly) {\n // return {};\n // }\n const horizontal =\n align.equals(go.Spot.Top) || align.equals(go.Spot.Bottom);\n // const vertical = align.equals(go.Spot.Left) || align.equals(go.Spot.Right);\n // the port is basically just a transparent rectangle that stretches along the side of the node,\n // and becomes colored when the mouse passes over it\n return this.$(\n go.Panel,\n 'Table',\n {\n background: 'transparent',\n width: horizontal ? NaN : 8,\n height: !horizontal ? NaN : 8,\n alignment: align,\n stretch: horizontal\n ? go.GraphObject.Horizontal\n : go.GraphObject.Vertical,\n portId: name,\n fromSpot: spot,\n fromLinkable: output,\n toSpot: spot,\n toLinkable: input,\n cursor: this._initialOptions.isReadOnly ? '' : 'pointer',\n alignmentFocus: go.Spot.Center, // tập trung vào trung tâm của Panel\n mouseEnter: this._initialOptions.isReadOnly\n ? null\n : (e, panel) => {\n const textBlock = (panel as any)?.findObject(\n 'textBlock'\n ) as go.TextBlock | null;\n if (textBlock) {\n // && output\n textBlock.visible = true;\n switch (name) {\n case 'B':\n case 'R': {\n panel.background = 'rgb(243 144 171)';\n break;\n }\n case 'T':\n case 'L': {\n panel.background = 'rgb(103,151,207)';\n break;\n }\n default: {\n panel.background = 'rgb(243 144 171)';\n }\n }\n }\n },\n\n mouseLeave: this._initialOptions.isReadOnly\n ? null\n : (e, panel) => {\n const textBlock = (panel as any).findObject(\n 'textBlock'\n ) as go.TextBlock | null;\n if (textBlock) {\n textBlock.visible = false; // Ẩn TextBlock khi rời khỏi Panel\n }\n panel.background = 'transparent';\n },\n },\n\n new go.Binding('visible', '', function (data) {\n if (data?.isNotAllowConnect) {\n return false;\n }\n if (data?.selectable === false && !data?.isAllowConnect) {\n return false;\n }\n if (data?.flowOfPlantCell) {\n if (\n data?.flowOfPlantCell === ATO_ENUM_FLOW_DIRECTION.INFLOW &&\n name === 'L'\n ) {\n return true;\n }\n if (\n data?.flowOfPlantCell === ATO_ENUM_FLOW_DIRECTION.OUTFLOW &&\n name === 'R'\n ) {\n return true;\n }\n return false;\n }\n switch (name) {\n case 'B':\n case 'R': {\n return !data?.isNotSelectOutput;\n }\n case 'T':\n case 'L': {\n return !data?.isNotSelectInput;\n }\n default: {\n return true;\n }\n }\n }),\n\n this.$(\n go.TextBlock,\n {\n name: 'textBlock',\n margin: 4,\n text: '\\uf0da', // Mã Unicode tương ứng với fa-caret-left\n font: '900 12px \"Font Awesome 6 Pro\"',\n stroke: 'white', // Đặt màu chữ thành màu trắng\n cursor: 'pointer',\n visible: false,\n },\n new go.Binding('text', 'name', (_) => {\n switch (name) {\n case 'T':\n case 'B': {\n return '\\uf0d7';\n }\n case 'L':\n case 'R': {\n return '\\uf0da';\n }\n default: {\n return '\\uf0d7';\n }\n }\n })\n )\n );\n\n // return this.$(go.Shape, {\n // fill: 'transparent', // changed to a color in the mouseEnter event handler\n // strokeWidth: 0, // no stroke\n // width: horizontal ? NaN : 8, // if not stretching horizontally, just 8 wide\n // height: !horizontal ? NaN : 8, // if not stretching vertically, just 8 tall\n // alignment: align, // align the port on the main Shape\n // stretch: horizontal ? go.GraphObject.Horizontal : go.GraphObject.Vertical,\n // portId: name, // declare this object to be a \"port\"\n // fromSpot: spot, // declare where links may connect at this port\n // fromLinkable: output, // declare whether the user may draw links from here\n // toSpot: spot, // declare where links may connect at this port\n // toLinkable: input, // declare whether the user may draw links to here\n // cursor: 'pointer', // show a different cursor to indicate potential link point\n // mouseEnter: (e, port) => {\n // // the PORT argument will be this Shape\n // if (!e.diagram.isReadOnly && output) {\n // port.fill = 'rgba(255,0,255,0.5)'\n // };\n // },\n // mouseLeave: (e, port) => {\n // return (port.fill = 'transparent');\n // },\n // });\n }\n\n makeGroupBasicComponent(\n icon,\n title,\n size: { w: number; h: number } = { w: 80, h: 80 }\n ) {\n let node = this.$(\n go.Group,\n 'Spot',\n {\n // layout: this.$(go.LayeredDigraphLayout, { direction: 0 }),\n alignment: go.Spot.Center,\n layout: this.$(go.Layout),\n movable: false,\n selectable: false,\n // movable: true,\n // selectable: true,\n dragComputation: (node, pt, gridpt) => {\n pt.x =\n Math.round(pt.x / AtoGojsEditorModel.BASIC_GRID_SIZE_WIDTH) *\n AtoGojsEditorModel.BASIC_GRID_SIZE_WIDTH;\n pt.y =\n Math.round(pt.y / AtoGojsEditorModel.BASIC_GRID_SIZE_HEIGHT) *\n AtoGojsEditorModel.BASIC_GRID_SIZE_HEIGHT;\n return pt;\n },\n },\n {\n // minSize: new go.Size(AtoGojsEditorModel.BASIC_GRID_SIZE_WIDTH, AtoGojsEditorModel.BASIC_GRID_SIZE_HEIGHT),\n minSize: new go.Size(1, 1),\n maxSize: new go.Size(1, 1),\n // minSize: new go.Size(100, 100),\n },\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(\n go.Point.stringify\n ),\n this.$(\n go.Panel,\n 'Auto',\n this.$(go.Shape, 'RoundedRectangle', {\n fill: 'transparent',\n stroke: 'transparent',\n // stroke: AtoGojsEditorModel.ENUM_COLORS.RESOLUTION_BLUE,\n strokeWidth: 2,\n // strokeDashArray: [5, 5],\n })\n // this.$(go.Placeholder),\n // this.$(go.Placeholder, { padding: new go.Margin(0, 0, 0, 0) }),\n )\n // this.$(go.TextBlock, title, {\n // row: 0,\n // margin: new go.Margin(0, 0, 0, 0),\n // stroke: '#444444',\n // font: 'normal 10pt Arial',\n // textAlign: 'center',\n // alignment: go.Spot.Left,\n // },\n // new go.Binding('text', 'key').makeTwoWay(),),\n\n // this.$(\n // go.Panel,\n // 'Table',\n // {\n // alignment: go.Spot.TopLeft,\n // alignmentFocus: new go.Spot(0, 0, -10, -10),\n // // padding: new go.Margin(0, 0, 50, 0),\n // },\n // this.$(\n // go.Panel,\n // 'Horizontal',\n // {\n // row: 0,\n // alignment: go.Spot.Left,\n // },\n // this.$(go.Picture, icon, {\n // row: 0,\n // // alignment: go.Spot.Center,\n // alignment: go.Spot.Left,\n // maxSize: new go.Size(40, 40),\n // imageStretch: go.GraphObject.Uniform,\n // }),\n // this.$(\n // go.Panel,\n // 'Table',\n // {\n // column: 1,\n // defaultAlignment: go.Spot.Left,\n // alignmentFocus: new go.Spot(0, 0, 0, 20),\n // },\n // this.$(go.TextBlock, title, {\n // row: 0,\n // margin: new go.Margin(3, 3, 5, 10),\n // // maxSize: new go.Size(size.w - 20, NaN),\n // stroke: '#444444',\n // font: 'normal 10pt Arial',\n // textAlign: 'center',\n // alignment: go.Spot.Left,\n // }),\n // this.$(\n // go.TextBlock,\n // {\n // row: 1,\n // margin: new go.Margin(0, 3, 3, 10),\n // editable: true,\n // // maxSize: new go.Size(size.w - 20, 40),\n // stroke: '#000D42',\n // font: 'bold 10pt Arial',\n // textAlign: 'center',\n // wrap: go.TextBlock.None,\n // overflow: go.TextBlock.OverflowEllipsis,\n // },\n // new go.Binding('text', 'name').makeTwoWay(),\n // {\n // // define a tooltip for each node that displays the color as text\n // toolTip: this.$(\n // 'ToolTip',\n // this.$(go.TextBlock, { margin: 4 }, new go.Binding('text', 'name')),\n // ), // end of Adornment\n // },\n // ),\n // ),\n // ),\n // ),\n );\n this.myDiagram.groupTemplateMap.set(title, node);\n }\n\n makeGroupTemplate(\n icon,\n title,\n size: { w: number; h: number } = { w: 80, h: 80 }\n ) {\n let node = this.$(\n go.Group,\n 'Spot',\n {\n // // layout: this.$(go.ForceDirectedLayout , {\n // // direction: 0,\n // // setsPortSpots: false,\n // // }),\n\n // layout: this.$(go.LayeredDigraphLayout, {\n // direction: 0,\n // setsPortSpots: false,\n // }),\n\n layout: this.$(go.Layout),\n\n // // // adornment when a group is selected\n // // // selectionAdornmentTemplate: this.$(\n // // // go.Adornment,\n // // // 'Auto',\n // // // this.$(go.Shape, 'Rectangle', { fill: null, stroke: 'dodgerblue', strokeWidth: 8 }),\n // // // this.$(go.Placeholder),\n // // // ),\n },\n\n // new go.Binding('layout', 'layout', (x) =>\n // {\n // return this.$(go.ForceDirectedLayout , {\n // direction: 0,\n // setsPortSpots: false,\n // });\n // }\n // ),\n {\n minSize: new go.Size(400, 400),\n },\n // new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(go.Point.stringify),\n this.$(\n go.Panel,\n 'Auto',\n this.$(go.Shape, 'RoundedRectangle', {\n fill: 'transparent',\n stroke: AtoGojsEditorModel.ENUM_COLORS.RESOLUTION_BLUE,\n strokeWidth: 2,\n // strokeDashArray: [5, 5],\n }),\n this.$(go.Placeholder, { padding: new go.Margin(60, 20, 20, 20) })\n ),\n\n // this.$(\n // go.Panel,\n // 'Table',\n // {\n // alignment: go.Spot.TopLeft,\n // alignmentFocus: new go.Spot(0, 0, -10, -10),\n // },\n // this.$(go.TextBlock, title, {\n // row: 0,\n // margin: new go.Margin(3, 3, 5, 3),\n // maxSize: new go.Size(size.w - 20, NaN),\n // stroke: '#444444',\n // font: 'normal 8pt Arial',\n // textAlign: 'center',\n // }),\n // this.$(go.Picture, icon, {\n // row: 1,\n // alignment: go.Spot.Center,\n // maxSize: new go.Size(40, 40),\n // imageStretch: go.GraphObject.Uniform,\n // }),\n // this.$(\n // go.TextBlock,\n // {\n // row: 2,\n // margin: new go.Margin(10, 3, 3, 3),\n // editable: true,\n // maxSize: new go.Size(size.w - 20, 40),\n // stroke: '#000D42',\n // font: 'bold 8pt Arial',\n // textAlign: 'center',\n // wrap: go.TextBlock.None,\n // overflow: go.TextBlock.OverflowEllipsis,\n // },\n // new go.Binding('text', 'name').makeTwoWay(),\n // {\n // // define a tooltip for each node that displays the color as text\n // toolTip: this.$('ToolTip', this.$(go.TextBlock, { margin: 4 }, new go.Binding('text', 'name'))), // end of Adornment\n // },\n // ),\n // // new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(go.Point.stringify),\n // ),\n\n this.$(\n go.Panel,\n 'Table',\n {\n alignment: go.Spot.TopLeft,\n alignmentFocus: new go.Spot(0, 0, -10, -10),\n // padding: new go.Margin(0, 0, 50, 0),\n },\n this.$(\n go.Panel,\n 'Horizontal',\n {\n row: 0,\n alignment: go.Spot.Left,\n },\n this.$(go.Picture, icon, {\n row: 0,\n // alignment: go.Spot.Center,\n alignment: go.Spot.Left,\n maxSize: new go.Size(40, 40),\n imageStretch: go.GraphObject.Uniform,\n }),\n this.$(\n go.Panel,\n 'Table',\n {\n column: 1,\n defaultAlignment: go.Spot.Left,\n alignmentFocus: new go.Spot(0, 0, 0, 20),\n },\n this.$(go.TextBlock, title, {\n row: 0,\n margin: new go.Margin(3, 3, 5, 10),\n // maxSize: new go.Size(size.w - 20, NaN),\n stroke: '#444444',\n font: 'normal 10pt Arial',\n textAlign: 'center',\n alignment: go.Spot.Left,\n }),\n this.$(\n go.TextBlock,\n {\n row: 1,\n margin: new go.Margin(0, 3, 3, 10),\n editable: true,\n // maxSize: new go.Size(size.w - 20, 40),\n stroke: '#000D42',\n font: 'bold 10pt Arial',\n textAlign: 'center',\n wrap: go.TextBlock.None,\n overflow: go.TextBlock.OverflowEllipsis,\n },\n new go.Binding('text', 'name').makeTwoWay(),\n {\n // define a tooltip for each node that displays the color as text\n toolTip: this.$(\n 'ToolTip',\n this.$(\n go.TextBlock,\n { margin: 4 },\n new go.Binding('text', 'name')\n )\n ), // end of Adornment\n }\n )\n )\n )\n )\n );\n\n this.myDiagram.groupTemplateMap.set(title, node);\n }\n\n makeImageTemplate() {\n const node = this.$(\n go.Node,\n 'Spot',\n {\n zOrder: 1,\n },\n new go.Binding('selectable', 'selectable'),\n this.$(\n go.Panel,\n 'Horizontal',\n {\n row: 0,\n alignment: go.Spot.Left,\n },\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(\n go.Point.stringify\n ),\n this.$(\n go.Picture,\n AtoGojsEditorModel.IMAGE_RO_WATER_TREATMENT_PATH,\n {\n alignment: go.Spot.Center,\n // maxSize: new go.Size(500, 500),\n // imageStretch: go.GraphObject.Uniform,\n // margin: new go.Margin(130, 0, 0, 0),\n },\n new go.Binding('margin', 'margin'),\n new go.Binding('width', 'width'),\n new go.Binding('height', 'height'),\n new go.Binding('source', '', (data) => {\n return data?.source\n ? data?.source\n : AtoGojsEditorModel.IMAGE_RO_WATER_TREATMENT_PATH;\n })\n )\n )\n );\n this.myDiagram.nodeTemplateMap.set(\n AtoGojsEditorModel.ENUM_TEMPLATES.IMAGE_TEMPLATE,\n node\n );\n }\n\n makeParamTable() {\n const self = this;\n const node = this.$(\n go.Part,\n 'Vertical',\n // this.$(go.Shape, { fill: '#E6F0F7', stroke: '#0063A9', strokeWidth: 3, geometryString: 'M 5 0 L 95 0 Q 100 0 100 5 L 100 95 Q 100 100 95 100 L 5 100 Q 0 100 0 95 L 0 5 Q 0 0 5 0' }),\n {\n zOrder: 2,\n // padding: new go.Margin(0, 0, 0, 200),\n },\n\n new go.Binding('padding', 'padding'),\n new go.Binding('selectable', 'selectable'),\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(\n go.Point.stringify\n ),\n new go.Binding('visible', '', (data) => {\n return typeof data?.visible === 'boolean' ? data?.visible : true;\n }),\n // Header\n this.$(\n go.Panel,\n 'Auto',\n {\n stretch: go.GraphObject.Fill,\n minSize: new go.Size(150, 27),\n margin: new go.Margin(0, 0, -6, 0),\n },\n new go.Binding('visible', '', (data) => !!data?.title),\n this.$(\n go.Shape,\n 'RoundedRectangle',\n {\n parameter1: 5,\n },\n new go.Binding('fill', '', (data) => {\n return data?.color;\n }),\n new go.Binding('stroke', '', (data) => {\n return data?.color;\n })\n ),\n\n this.$(\n go.TextBlock,\n {\n stroke: 'white',\n margin: new go.Margin(0, 0, 0, 5),\n stretch: go.GraphObject.Fill,\n alignment: go.Spot.Left,\n verticalAlignment: go.Spot.Center,\n font: '14px sans-serif',\n },\n new go.Binding('text', 'title')\n )\n ),\n this.$(\n go.Shape,\n 'Rectangle',\n {\n height: 6,\n margin: new go.Margin(0, 0, -6, 0),\n stretch: go.GraphObject.Fill,\n },\n new go.Binding('fill', '', (data) => {\n return data?.color;\n }),\n new go.Binding('stroke', '', (data) => {\n return data?.color;\n }),\n new go.Binding('visible', '', (data) => !!data?.title)\n ),\n this.$(\n go.Panel,\n 'Auto',\n this.$(\n go.Shape,\n 'RoundedRectangle',\n { fill: '#E6F0F7', stroke: '#0063A9', strokeWidth: 4, parameter1: 5 },\n new go.Binding('fill', 'bgColor'),\n new go.Binding('stroke', 'borderTable')\n ),\n this.$(\n go.Panel,\n 'Table',\n // Set defaults for all rows and columns:\n {\n padding: 1.5,\n defaultRowSeparatorStroke: '#0062A9',\n defaultColumnSeparatorStroke: '#0062A9',\n defaultSeparatorPadding: new go.Margin(5, 2, 5, 2),\n },\n new go.Binding('defaultRowSeparatorStroke', 'borderTable'),\n new go.Binding('defaultColumnSeparatorStroke', 'borderTable'),\n // this.$(\n // go.Panel,\n // 'TableRow',\n // { row: 0 },\n // this.$(go.TextBlock, 'row 1 col 1', { column: 0, margin: 2 }),\n // this.$(go.TextBlock, 'row 1 col 2', { column: 1, margin: 2 }),\n // ),\n // this.$(\n // go.Panel,\n // 'TableRow',\n // { row: 1 },\n // this.$(go.TextBlock, 'row 2 col 1', { column: 0, margin: 2 }),\n // this.$(go.TextBlock, 'row 2 col 2', { column: 1, margin: 2 }),\n // ),\n // new go.Binding('itemArray', 'dataTable'),\n new go.Binding(\"itemArray\", \"\", function(data) {\n return data.dataTable.filter(x => x?.visible !== false);\n }),\n {\n // itemTemplate: this.$(\n // go.Panel,\n // new go.Binding('row', 'indexRow'),\n // // new go.Binding('height', 'height'),\n // this.$(\n // go.Picture,\n // ARROW,\n // {\n // alignment: go.Spot.Center,\n // maxSize: new go.Size(20, 40),\n // // imageStretch: go.GraphObject.Uniform,\n // },\n // new go.Binding('source', '', (data, panel) => {\n // // panel.part?.data?.id\n // return data?.isCreated ? panel?.$p : ARROW_GRAY;\n // }),\n // ),\n // ),\n itemTemplate: this.$(\n go.Panel,\n 'TableRow',\n {\n cursor: 'pointer',\n click: (e, obj: any) => {\n if (\n obj.panel.part.data?.dataTable[obj.row]?.isEditable ===\n false\n ) {\n return;\n }\n self.onClikParamOfTable.emit({\n ...obj.panel.part.data?.dataTable[obj.row],\n });\n },\n background: 'transparent',\n },\n this.$(\n go.TextBlock,\n '',\n {\n column: 0,\n margin: 2,\n textAlign: 'left',\n alignment: go.Spot.Left,\n overflow: go.TextBlock.OverflowEllipsis,\n toolTip: this.$(\n 'ToolTip',\n this.$(\n go.TextBlock,\n {\n margin: 4,\n },\n new go.Binding('text', '', (data, panel) => {\n return data?.name;\n }),\n )\n ),\n },\n new go.Binding('text', '', (data, panel) => {\n return data?.name;\n }),\n new go.Binding('maxSize', '', (data, panel) => {\n return data?.maxSizeNameParam;\n })\n ),\n this.$(\n go.Panel,\n 'Table',\n {\n column: 1,\n margin: 2,\n padding: 0,\n defaultSeparatorPadding: new go.Margin(0, 0, 0, 0),\n stretch: go.GraphObject.Fill,\n },\n new go.Binding('minSize', '', (data, panel) => {\n // return panel.part?.data?.minSizeValue;\n return new go.Size(\n panel.part?.data?.minSizeValue?.width,\n NaN\n );\n }),\n this.$(\n go.TextBlock,\n '',\n {\n column: 0,\n margin: 0,\n alignment: go.Spot.Left,\n overflow: go.TextBlock.OverflowEllipsis,\n cursor: 'pointer',\n toolTip: this.$(\n 'ToolTip',\n this.$(\n go.TextBlock,\n {\n margin: 4,\n },\n new go.Binding('text', '', (data, panel) => {\n return `${\n !!this._initialOptions.isReadOnly\n ? `${data?.tagName || ''} `\n : ''\n }${data?.value}`;\n }),\n new go.Binding('visible', '', (data) => {\n if (\n !!this._initialOptions.isReadOnly &&\n data?.tagName\n ) {\n return true;\n }\n\n return !!data?.value;\n })\n )\n ),\n },\n new go.Binding('text', '', (data, panel) => {\n return data?.value;\n }),\n new go.Binding('stroke', '', (data) => {\n if (!this._initialOptions.isReadOnly) {\n return;\n }\n return data.color;\n }),\n new go.Binding('maxSize', '', (data) => {\n return new go.Size(data?.maxSizeValue || 190, 14);\n }),\n new go.Binding('font', '', (data) => {\n return data?.font;\n }),\n ),\n this.$(\n go.Picture,\n {\n alignment: go.Spot.Right,\n column: 1,\n margin: new go.Margin(0, 0, 0, 5),\n source: ICONS_BASE64['uf044'],\n cursor: 'pointer',\n visible: false,\n toolTip: this.$(\n 'ToolTip',\n this.$(\n go.TextBlock,\n {\n margin: 4,\n },\n new go.Binding('text', '', (data, panel) => {\n return data?.toolTipAction;\n })\n ),\n new go.Binding(\n 'visible',\n '',\n (data) => !!data?.toolTipAction\n )\n ),\n height: 14,\n width: 14,\n },\n new go.Binding('visible', '', (data, panel) => {\n return !data?.isReadOnly && !this._initialOptions.isReadOnly;\n }),\n new go.Binding('opacity', '', (data, panel) => {\n return data?.isEditable === false ? 0.6 : 1;\n })\n )\n )\n ),\n }\n // new go.Binding('text', 'name')\n )\n )\n );\n this.myDiagram.nodeTemplateMap.set(\n AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE,\n node\n );\n }\n\n makeMassBalance() {\n const self = this;\n const node = this.$(\n go.Part,\n 'Auto',\n {},\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(\n go.Point.stringify\n ),\n new go.Binding('selectable', 'selectable'),\n this.$(\n go.Panel,\n 'Horizontal',\n // Set defaults for all rows and columns:\n {\n padding: 4,\n toolTip: this.$(\n 'ToolTip',\n this.$(\n go.TextBlock,\n {\n margin: 4,\n maxSize: new go.Size(450, 30),\n },\n new go.Binding('text', 'tooltip')\n )\n ),\n visible: this._initialOptions.isReadOnly,\n },\n this.$(\n go.TextBlock,\n '',\n {\n margin: new go.Margin(0, 5, 0, 0),\n text: 'Mass Balance:',\n },\n new go.Binding('font', 'font')\n ),\n this.$(\n go.TextBlock,\n '',\n {\n stroke: AtoGojsEditorModel.ENUM_COLORS.ALIZARIN,\n },\n new go.Binding('font', 'font'),\n new go.Binding('stroke', 'colorValue'),\n new go.Binding('text', '', (data, panel) => {\n return data?.value;\n })\n )\n )\n );\n this.myDiagram.nodeTemplateMap.set(\n AtoGojsEditorModel.ENUM_TEMPLATES.MASS_BALANCE,\n node\n );\n }\n\n makeGroupROPlantTemplate(\n icon,\n title,\n size: { w: number; h: number } = { w: 80, h: 80 }\n ) {\n let node = this.$(\n go.Group,\n 'Spot',\n {\n layout: this.$(go.Layout),\n },\n {\n // minSize: new go.Size(NaN, 600),\n },\n new go.Binding('selectable', 'selectable'),\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(\n go.Point.stringify\n ),\n this.$(\n go.Panel,\n 'Table',\n\n this.$(\n go.Panel,\n 'Auto',\n {\n row: 0,\n padding: new go.Margin(0, 0, 0, 0),\n },\n this.$(go.Shape, 'RoundedRectangle', {\n name: 'SHAPE_KEY',\n fill: '#FCFCFD',\n stroke: AtoGojsEditorModel.ENUM_COLORS.RESOLUTION_BLUE,\n strokeWidth: 2,\n // strokeDashArray: [5, 5],\n }),\n\n this.$(go.Placeholder, { padding: new go.Margin(15, 0, 0, 0) })\n ),\n this.$(\n go.Picture,\n RO_LINE_DIRTY,\n {\n row: 1,\n },\n new go.Binding('visible', '', (x) => {\n return x?.isViewGeneral && x?.hasOutFlow ? true : false;\n })\n )\n ),\n\n this.$(go.Panel, 'Table', {\n width: 0,\n height: 0,\n alignment: new go.Spot(0, 0, 0, 183),\n alignmentFocus: go.Spot.Left,\n // stretch: go.GraphObject.Vertical,\n portId: 'Inflow',\n cursor: this._initialOptions.isReadOnly ? '' : 'pointer',\n // alignmentFocus: new go.Spot(0, 0, 0, 150),\n fromSpot: go.Spot.Left,\n toSpot: go.Spot.Left,\n fromLinkable: true,\n toLinkable: true,\n }),\n this.$(go.Panel, 'Table', {\n width: 0,\n height: 0,\n alignment: new go.Spot(0, 0, 970, 315),\n alignmentFocus: go.Spot.Bottom,\n portId: 'OutFlow_Clean',\n cursor: this._initialOptions.isReadOnly ? '' : 'pointer',\n fromSpot: go.Spot.Bottom,\n toSpot: go.Spot.Bottom,\n fromLinkable: true,\n toLinkable: true,\n }),\n this.$(\n go.Panel,\n 'Table',\n {\n width: 0,\n height: 0,\n // alignment: new go.Spot(0, 0, 480, 525),\n // alignment: new go.Spot(0, 0, 475, 552),\n alignmentFocus: go.Spot.Bottom,\n portId: 'OutFlow_Dirty',\n cursor: this._initialOptions.isReadOnly ? '' : 'pointer',\n fromSpot: go.Spot.Bottom,\n toSpot: go.Spot.Bottom,\n fromLinkable: true,\n toLinkable: true,\n },\n new go.Binding('alignment', '', (x) => {\n return x?.isViewGeneral && x?.hasOutFlow\n ? new go.Spot(0, 0, 475, 552)\n : new go.Spot(0, 0, 480, 525);\n })\n )\n );\n\n this.myDiagram.groupTemplateMap.set(title, node);\n }\n\n makeGroupBoilerTemplate(\n icon,\n title,\n size: { w: number; h: number } = { w: 80, h: 80 }\n ) {\n let node = this.$(\n go.Group,\n 'Spot',\n {\n selectable: false,\n },\n {\n // minSize: new go.Size(NaN, 600),\n },\n new go.Binding('selectable', 'selectable'),\n this.$(\n go.Panel,\n 'Auto',\n {\n padding: new go.Margin(0, 0, 0, 0),\n },\n this.$(go.Shape, 'RoundedRectangle', {\n name: 'SHAPE_KEY',\n fill: '#FCFCFD',\n stroke: AtoGojsEditorModel.ENUM_COLORS.RESOLUTION_BLUE,\n strokeWidth: 2,\n }),\n\n this.$(\n go.Placeholder,\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(\n go.Point.stringify\n ),\n { padding: new go.Margin(0, 0, 0, 0) }\n )\n ),\n\n this.$(go.Panel, 'Spot', {\n width: 0,\n height: 0,\n alignment: new go.Spot(0, 0.5, 0, 112),\n alignmentFocus: go.Spot.Left,\n portId: 'Inflow',\n cursor: this._initialOptions.isReadOnly ? '' : 'pointer',\n fromSpot: go.Spot.Left,\n toSpot: go.Spot.Left,\n fromLinkable: true,\n toLinkable: true,\n }),\n this.$(\n go.Panel,\n 'Spot',\n {\n alignmentFocus: go.Spot.Top,\n alignment: new go.Spot(1, 1, -215, 0),\n },\n this.$(\n go.Picture,\n OUTFLOW_LINE_DIRTY,\n {\n width: 10,\n height: 20,\n },\n new go.Binding('visible', '', (x) => {\n return x?.isViewGeneral && x?.hasOutFlow ? true : false;\n })\n ),\n this.$(go.Panel, {\n alignment: go.Spot.BottomLeft,\n alignmentFocus: go.Spot.Top,\n portId: 'OutFlow',\n cursor: this._initialOptions.isReadOnly ? '' : 'pointer',\n fromSpot: go.Spot.Bottom,\n fromLinkable: true,\n toLinkable: true,\n })\n )\n );\n\n this.myDiagram.groupTemplateMap.set(title, node);\n }\n\n makeGroupCoolingTowerTemplate(\n icon,\n title,\n size: { w: number; h: number } = { w: 80, h: 80 }\n ) {\n let node = this.$(\n go.Group,\n 'Spot',\n {\n selectable: false,\n layout: this.$(go.Layout),\n padding: new go.Margin(0, 30, 0, 0),\n },\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(\n go.Point.stringify\n ),\n this.$(\n go.Panel,\n 'Auto',\n {\n row: 0,\n padding: new go.Margin(0, 0, 0, 0),\n },\n this.$(go.Shape, 'RoundedRectangle', {\n name: 'SHAPE_KEY',\n fill: '#FCFCFD',\n stroke: AtoGojsEditorModel.ENUM_COLORS.RESOLUTION_BLUE,\n strokeWidth: 2,\n strokeDashArray: [5, 5],\n }),\n\n this.$(go.Placeholder, { padding: new go.Margin(0, 0, 0, 0) })\n ),\n this.$(go.Panel, 'Table', {\n width: 0,\n height: 0,\n alignment: new go.Spot(0, 0, 0, 533),\n alignmentFocus: go.Spot.Bottom,\n portId: 'Inflow',\n cursor: this._initialOptions.isReadOnly ? '' : 'pointer',\n fromSpot: go.Spot.Left,\n toSpot: go.Spot.Left,\n fromLinkable: true,\n toLinkable: true,\n }),\n this.$(\n go.Panel,\n 'Spot',\n {\n alignmentFocus: go.Spot.Top,\n alignment: new go.Spot(0.5, 1, 23, 0),\n },\n this.$(\n go.Picture,\n OUTFLOW_LINE_DIRTY,\n {\n width: 10,\n height: 20,\n },\n new go.Binding('visible', '', (x) => {\n return x?.isViewGeneral && x?.hasOutFlow ? true : false;\n })\n ),\n this.$(go.Panel, {\n alignment: new go.Spot(0, 0, 0, 18),\n alignmentFocus: go.Spot.Top,\n portId: 'OutFlow',\n cursor: this._initialOptions.isReadOnly ? '' : 'pointer',\n fromSpot: go.Spot.Center,\n toSpot: go.Spot.Right,\n fromLinkable: true,\n toLinkable: true,\n })\n )\n );\n\n this.myDiagram.groupTemplateMap.set(title, node);\n }\n\n groupPlantCellTemplate(\n icon,\n title,\n size: { w: number; h: number } = { w: 80, h: 80 }\n ) {\n const self = this;\n let node = this.$(\n go.Group,\n 'Spot',\n {\n // layout: this.$(go.Layout),\n // layout: this.$(go.LayeredDigraphLayout, { direction: 0 }),\n // isSubGraphExpanded: false,\n // background: 'transparent',\n // layerName: 'Foreground',\n // wasSubGraphExpanded: false,\n movable: false,\n selectable: false,\n avoidable: false,\n // resizable: true,\n\n // resizable: false,\n // width: data?.ob?.minWith ?? 50,\n // height: 500,\n\n // isSubGraphExpanded: true, // ensure the group is always expanded\n // computesBoundsAfterDrag: true,\n // handlesDragDropForMembers: true, // handle drag-and-drop events for its member nodes\n\n // maxSize: new go.Size(500, 500),\n // minSize: new go.Size(500, 500),\n\n // isSubGraphExpanded: true,\n // layerName: DIAGRAM.LAYERS.BACKGROUND,\n\n // mouseDrop: function (e, grp) {\n // // disallow dropping anything onto an Adornment\n // if (grp instanceof go.Adornment) return;\n // },\n // dragComputation: function (node, pt, gridPt) {\n // let grp = node.containingGroup;\n // if (grp !== null) {\n // let rect = grp.actualBounds;\n // pt.x = Math.max(rect.left, Math.min(pt.x, rect.right));\n // pt.y = Math.max(rect.top, Math.min(pt.y, rect.bottom));\n // }\n // return pt;\n // },\n\n // dropComputation: function (node, pt, gridPt) {\n // let grp = node.containingGroup;\n // if (grp !== null) {\n // let rect = grp.actualBounds;\n // pt.x = Math.max(rect.left, Math.min(pt.x, rect.right));\n // pt.y = Math.max(rect.top, Math.min(pt.y, rect.bottom));\n // }\n // return pt;\n // },\n\n // dragComputation: function (part, pt, gridpt) {\n // // Get the current group's actual bounds\n // const grp = part.containingGroup;\n // if (grp) {\n // const bnds = grp.actualBounds;\n // const loc = part.location;\n\n // // See if the part's new location would be out of bounds\n // const newx = Math.max(bnds.x, Math.min(pt.x, bnds.right - part.actualBounds.width / 2));\n // const newy = Math.max(bnds.y, Math.min(pt.y, bnds.bottom - part.actualBounds.height / 2));\n\n // // Modify the result point to keep the Part inside the Group\n // return new go.Point(newx, newy);\n // }\n // return pt;\n // },\n click: (e, obj: any) => {\n self.myDiagram?.clearSelection();\n },\n },\n {\n // mouseDragEnter: (e, obj) => {\n // },\n // mouseDrop: (e, obj) => {\n // },\n // mouseEnter: (e, obj) => {\n // const node = obj.part;\n // self.onHoverInfoButton.emit({\n // left: e?.['Wr']?.x + 8,\n // top: e?.['Wr']?.y,\n // node: node,\n // });\n // // let shape = (node as any)?.findObject('SHAPE_KEY');\n // // if (shape) {\n // // shape.stroke = 'blue';\n // // }\n // },\n // mouseLeave: (e, obj) => {\n // self.onHoverInfoButton.emit(null);\n // // let shape = (node as any)?.findObject('SHAPE_KEY');\n // // if (shape) {\n // // shape.stroke = AtoGojsEditorModel.ENUM_COLORS.WHITE;\n // // }\n // },\n },\n new go.Binding('layout', '', function (data, node) {\n // return data?.layoutValue === AtoGojsEditorModel.ENUM_LAYOUT_EDITOR.AUTO\n // ? self.$(go.LayeredDigraphLayout, { direction: 0 })\n // : node?.layout;\n if (data?.layoutValue !== data?.layoutValueClone) {\n data.layoutValueClone = data?.layoutValue;\n return data?.layoutValue ===\n AtoGojsEditorModel.ENUM_LAYOUT_EDITOR.AUTO\n ? self.$(go.LayeredDigraphLayout, { direction: 0 })\n : self.$(go.Layout);\n } else {\n return node?.layout;\n }\n // : self.$(go.Layout);\n // return data?.layout;\n // return data?.previousLayout || self.$(go.LayeredDigraphLayout, { direction: 0 });\n // return self.$(go.LayeredDigraphLayout, { direction: 0 });\n }),\n // new go.Binding('grid', 'grid'),\n new go.Binding('selectable', 'selectable'),\n // new go.Binding('width', '', function (data) {\n // return data?.ob?.minWith ?? 50;\n // }),\n new go.Binding('minSize', '', function (data) {\n return new go.Size(data?.ob?.minWith ?? 50, data?.ob?.minHeight ?? 50); // Customize minSize based on data\n }).ofObject(),\n // new go.Binding('width', '', function (data) {\n // return data?.ob?.minWith ?? 50; // Customize minSize based on data\n // }).ofObject(),\n // new go.Binding('height', '', function (data) {\n // return data?.ob?.minHeight ?? 50; // Customize minSize based on data\n // }).ofObject(),\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(\n go.Point.stringify\n ),\n // new go.Binding('isSubGraphExpanded', 'expanded').makeTwoWay(),\n this.$(\n go.Panel,\n 'Auto',\n {\n padding: new go.Margin(0, 0, 0, 0),\n // margin:new go.Margin(0, 50, 0, 50),\n },\n this.$(go.Shape, 'RoundedRectangle', {\n name: 'SHAPE_KEY',\n fill: 'transparent',\n stroke: AtoGojsEditorModel.ENUM_COLORS.RESOLUTION_BLUE,\n strokeWidth: 2,\n strokeDashArray: [5, 5],\n }),\n this.$(go.Placeholder, { padding: new go.Margin(0, 0, 0, 0) })\n )\n );\n\n // node.memberValidation = function (node, group) {\n // if (!group) return true; // allow ungrouping\n // const groupBounds = group.actualBounds;\n // const nodeBounds = node.actualBounds;\n // return groupBounds.containsRect(nodeBounds);\n // };\n this.myDiagram.groupTemplateMap.set(title, node);\n }\n\n groupPCInputOrOutTemplate(icon, title, padding: go.Margin) {\n // let node = this.$(\n // go.Group,\n // 'Spot',\n // {\n // layout: this.$(go.Layout),\n // movable: false,\n // selectable: false,\n // },\n // // {\n // // // minSize: new go.Size(500, 500),\n // // movable: false,\n // // ariaReadOnly: true,\n // // },\n // this.$(\n // go.Panel,\n // 'Auto',\n // {\n // padding: new go.Margin(0, 0, 0, 0),\n // },\n // this.$(go.Shape, 'RoundedRectangle', {\n // fill: 'transparent',\n // // stroke: AtoGojsEditorModel.ENUM_COLORS.RESOLUTION_BLUE,\n // stroke: AtoGojsEditorModel.ENUM_COLORS.WHITE,\n // strokeWidth: 2,\n // strokeDashArray: [5, 5],\n // }),\n // this.$(go.Placeholder, {\n // padding: new go.Margin(0, 0, 0, 0),\n // }),\n // ),\n // );\n let node = this.$(\n go.Group,\n 'Spot',\n {\n layout: this.$(go.LayeredDigraphLayout, { direction: 0 }),\n movable: false,\n selectable: false,\n avoidable: false,\n // isSubGraphExpanded: false,\n // isSubGraphExpanded: false,\n // layerName: 'Foreground',\n },\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(\n go.Point.stringify\n ),\n this.$(\n go.Panel,\n 'Auto',\n {\n padding: padding ?? new go.Margin(0, 0, 0, 0),\n },\n this.$(go.Shape, 'RoundedRectangle', {\n fill: 'transparent',\n stroke: AtoGojsEditorModel.ENUM_COLORS.WHITE,\n // stroke: AtoGojsEditorModel.ENUM_COLORS.ALIZARIN,\n strokeWidth: 2,\n // strokeDashArray: [5, 5],\n }),\n this.$(go.Placeholder, {\n padding: new go.Margin(0, 0, 0, 0),\n })\n )\n );\n this.myDiagram.groupTemplateMap.set(title, node);\n }\n\n makeGroupZoneTemplate(\n size: { w: number; h: number } = {\n w: AtoGojsEditorModel.GRID_SIZE * 14,\n h: AtoGojsEditorModel.GRID_SIZE * 5,\n }\n ) {\n const self = this;\n let node = this.$(\n go.Group,\n 'Vertical',\n {\n layout: this.$(go.GridLayout, {\n wrappingColumn: 1,\n spacing: new go.Size(0, 0),\n }),\n },\n\n {\n locationSpot: go.Spot.Center,\n mouseOver: function (e, obj) {\n // self.showPoint(obj?.part?.location);\n },\n click: (e, obj: any) => {\n if (obj?.data?.onSelected) {\n obj?.data?.onSelected(obj?.data);\n }\n },\n selectionChanged: (e) => {\n if (!e.isSelected && e?.data?.onSelected) {\n e?.data?.onSelected(null);\n }\n },\n\n selectionAdornmentTemplate: this._initialOptions.isReadOnly\n ? null\n : this.$(\n go.Adornment,\n 'Spot',\n {\n shadowVisible: true,\n shadowBlur: 6,\n shadowOffset: new go.Point(0, 2),\n shadowColor: '#00000029',\n },\n this.$(\n go.Panel,\n 'Auto',\n this.$(go.Shape, {\n fill: null,\n stroke: 'dodgerblue',\n strokeWidth: 4,\n }),\n this.$(go.Placeholder, { padding: 3 })\n ),\n this.$(\n go.Panel,\n 'Horizontal',\n {\n alignment: go.Spot.TopRight,\n alignmentFocus: go.Spot.Bottom,\n background: 'white',\n },\n this.$(\n 'Button',\n {\n _dragData: {\n type: AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_NODE,\n name: 0,\n color: AtoGojsEditorModel.ENUM_COLORS.BLUE,\n },\n click: self.addItemOnGroupZone, // defined below, to support a click on the button\n 'ButtonBorder.strokeWidth': 0,\n 'ButtonBorder.fill': 'white',\n },\n this.$(go.TextBlock, {\n margin: 4,\n text: '\\uf055',\n font: '20px \"Font Awesome 6 Pro\"',\n cursor: 'pointer',\n stroke: '#2c2c2c',\n })\n ),\n // more\n this.generateActionGroup([\n AtoDefaultGojsEditor.ENUM_ACTIONS.RENAME,\n AtoDefaultGojsEditor.ENUM_ACTIONS.DETAILS,\n AtoDefaultGojsEditor.ENUM_ACTIONS.OUTFLOW,\n AtoDefaultGojsEditor.ENUM_ACTIONS.DELETE,\n ])\n // this.$(\n // // Edit Text\n // 'Button',\n // {\n // click: self.editTextGroupZone,\n // 'ButtonBorder.strokeWidth': 0,\n // 'ButtonBorder.fill': 'white',\n // },\n // this.$(go.TextBlock, {\n // margin: 4,\n // text: '\\ue1bf',\n // font: '20px \"Font Awesome 6 Pro\"',\n // cursor: 'pointer',\n // stroke: '#2c2c2c',\n // }),\n // ),\n // this.$(\n // // Open Detail\n // 'Button',\n // {\n // click: (e, obj: any) => {\n // const node = obj.part;\n // self.onOpenDetail.emit({\n // node,\n // });\n // },\n // 'ButtonBorder.strokeWidth': 0,\n // 'ButtonBorder.fill': 'white',\n // },\n //\n // this.$(go.TextBlock, {\n // margin: 4,\n // text: '\\ue49a',\n // font: '20px \"Font Awesome 6 Pro\"',\n // cursor: 'pointer',\n // }),\n // ),\n // !this._initialOptions.isReadOnly\n // ? this.$(\n // 'Button',\n // {\n // actionMove: self.dragNewNode, // defined below, to support dragging from the button\n // _dragData: {\n // type: AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_NODE,\n // name: 0,\n // color: AtoGojsEditorModel.ENUM_COLORS.BLUE,\n // },\n // click: self.clickNewNode, // defined below, to support a click on the button\n // 'ButtonBorder.strokeWidth': 0,\n // 'ButtonBorder.fill': 'white',\n // },\n // this.$(go.TextBlock, {\n // margin: 4,\n // text: '\\ue157',\n // font: '20px \"Font Awesome 6 Pro\"',\n // cursor: 'pointer',\n // stroke: '#2c2c2c',\n // }),\n // )\n // : {},\n\n // this.$(\n // 'Button',\n // {\n // click: self.deleteNode,\n // 'ButtonBorder.strokeWidth': 0,\n // 'ButtonBorder.fill': 'white',\n // },\n // this.$(go.TextBlock, {\n // margin: 4,\n // text: '\\uf2ed',\n // font: '20px \"Font Awesome 6 Pro\"',\n // cursor: 'pointer',\n // }),\n // ),\n )\n ),\n },\n\n this.$(\n go.Panel,\n 'Auto',\n this.$(go.Shape, 'RoundedRectangle', {\n fill: 'transparent',\n stroke: AtoGojsEditorModel.ENUM_COLORS.RESOLUTION_BLUE,\n strokeWidth: 2,\n strokeDashArray: [5, 5],\n maxSize: new go.Size(size.w, NaN),\n }),\n this.$(\n go.Panel,\n 'Table',\n {\n alignment: go.Spot.Top,\n padding: new go.Margin(17, 10, 16, 10),\n },\n this.$(\n go.TextBlock,\n {\n row: 0,\n margin: new go.Margin(5, 0, 10, 0),\n editable: true,\n desiredSize: new go.Size(size.w - 20, 25),\n stroke: AtoGojsEditorModel.ENUM_COLORS.NIGHT_RIDER,\n font: 'bold 16px Arial',\n textAlign: 'center',\n wrap: go.TextBlock.None,\n overflow: go.TextBlock.OverflowEllipsis,\n toolTip: this.$(\n 'ToolTip',\n this.$(\n go.TextBlock,\n {\n margin: 4,\n },\n new go.Binding('text', 'name').makeTwoWay()\n )\n ),\n },\n new go.Binding('text', 'name').makeTwoWay()\n ),\n this.$(go.Placeholder, 'Vertical', {\n row: 1,\n })\n ),\n\n this.makePort('T', go.Spot.Top, go.Spot.TopSide, false, true),\n this.makePort('L', go.Spot.Left, go.Spot.LeftSide, true, true),\n this.makePort('R', go.Spot.Right, go.Spot.RightSide, true, true),\n this.makePort('B', go.Spot.Bottom, go.Spot.BottomSide, true, false)\n ),\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(\n go.Point.stringify\n )\n );\n this.myDiagram.groupTemplateMap.set(\n AtoGojsEditorModel.ENUM_TEMPLATES.ZONE,\n node\n );\n }\n\n makeZoneItemTemplate(\n size: { w: number; h: number } = {\n w: AtoGojsEditorModel.GRID_SIZE * 12,\n h: AtoGojsEditorModel.GRID_SIZE * 2,\n }\n ) {\n const self = this;\n const node = this.$(\n go.Node,\n 'Auto',\n // {\n // mouseHover: (e, obj) => {\n // const node = obj.part;\n // if ((obj as any).part?.ob?.value === VALUE_NA) {\n // self.onHoverInfoButton.emit({\n // left: e?.['Wr']?.x + 8,\n // top: e?.['Wr']?.y,\n // node: node\n // });\n // }\n // },\n // mouseLeave: (e, obj) => {\n // if ((obj as any).part?.ob?.value === VALUE_NA) {\n // self.onHoverInfoButton.emit(null);\n // }\n // },\n // click: (e, obj: any) => {\n // const node = obj.part;\n // this.isShowNodeInfo ? self.onClickInfoButton.emit({\n // left: e?.['Wr']?.x,\n // top: e?.['Wr']?.y,\n // node: node\n // }) : null;\n // },\n // },\n // new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(go.Point.stringify),\n {\n movable: false,\n },\n this.$(\n go.Panel,\n 'Auto',\n {\n width: size.w,\n height: size.h,\n },\n this.$(go.Shape, 'Rectangle', {\n fill: AtoGojsEditorModel.ENUM_COLORS.LIGHT_BLUE,\n stroke: AtoGojsEditorModel.ENUM_COLORS.LINK_WATER,\n }),\n this.$(\n go.Panel,\n 'Vertical',\n this.$(\n go.TextBlock,\n {\n editable: true,\n row: 2,\n margin: new go.Margin(10, 0, 5, 0),\n font: 'bold 12px Arial',\n textAlign: 'center',\n stroke: AtoGojsEditorModel.ENUM_COLORS.NIGHT_RIDER,\n toolTip: this.$(\n 'ToolTip',\n this.$(\n go.TextBlock,\n {\n margin: 4,\n },\n new go.Binding('text', 'name').makeTwoWay()\n )\n ),\n },\n new go.Binding('text', 'name').makeTwoWay(),\n new go.Binding('visible', 'name', (x) => !!x)\n ),\n this.$(\n go.Panel,\n 'Horizontal',\n\n {\n margin: new go.Margin(0, 10, 0, 10),\n },\n this.$(\n go.TextBlock,\n {\n margin: new go.Margin(0, 5, 10, 0),\n textAlign: 'center',\n font: '12px sans-serif',\n stroke: AtoGojsEditorModel.ENUM_COLORS.NIGHT_RIDER,\n wrap: go.TextBlock.WrapFit,\n editable: true,\n isMultiline: false,\n maxSize: new go.Size(size.w - 100, 15),\n overflow: go.TextBlock.OverflowEllipsis,\n toolTip: this.$(\n 'ToolTip',\n this.$(\n go.TextBlock,\n {\n margin: 4,\n },\n new go.Binding('text', 'nameItem').makeTwoWay()\n )\n ),\n },\n new go.Binding('text', 'nameItem').makeTwoWay(),\n new go.Binding('visible', 'nameItem', (x) => !!x)\n ),\n this.$(\n go.TextBlock,\n {\n margin: new go.Margin(0, 5, 10, 0),\n textAlign: 'center',\n font: '12px sans-serif',\n stroke: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n wrap: go.TextBlock.WrapFit,\n text: '< ',\n },\n\n new go.Binding(\n 'visible',\n 'data',\n (x) => typeof x?.quantity === 'number'\n )\n ),\n this.$(\n go.TextBlock,\n {\n margin: new go.Margin(0, 5, 10, 0),\n textAlign: 'center',\n font: '12px sans-serif',\n stroke: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n wrap: go.TextBlock.WrapFit,\n },\n new go.Binding('text', 'data', (x) => {\n if (typeof x?.quantity !== 'number') {\n return '';\n }\n const formatted: any = UtilsService.convertPrefixesData({\n value: x?.quantity,\n unit: x?.unit,\n });\n return (\n formatted.shortenedNumber +\n ' ' +\n formatted.unitPrefixes +\n x?.unit ?? ''\n );\n }),\n new go.Binding(\n 'visible',\n 'data',\n (x) => typeof x?.quantity === 'number'\n )\n ),\n\n this.$(\n go.TextBlock,\n {\n margin: new go.Margin(0, 5, 10, 0),\n textAlign: 'center',\n font: '12px sans-serif',\n stroke: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n wrap: go.TextBlock.WrapFit,\n text: ' >',\n },\n new go.Binding(\n 'visible',\n 'data',\n (x) => typeof x?.quantity === 'number'\n )\n )\n )\n )\n )\n );\n this.myDiagram.nodeTemplateMap.set(\n AtoGojsEditorModel.ENUM_TEMPLATES.ZONE_ENERGY_ITEM,\n node\n );\n }\n\n makeSpecialTemplate(\n icon,\n title,\n size: { w: number; h: number } = {\n w: AtoGojsEditorModel.GRID_SIZE * 5,\n h: AtoGojsEditorModel.GRID_SIZE * 5,\n }\n ) {\n let node: any = null;\n switch (title) {\n case AtoGojsEditorModel.ENUM_TEMPLATES.SPECIAL_PROCESS:\n node = this.$(\n go.Node,\n 'Spot',\n // {\n // fromSpot: go.Spot.Right, // coming out from middle-right\n // toSpot: go.Spot.Left\n // },\n {\n click: (e, obj: any) => {\n if (obj?.data?.onSelected) {\n obj?.data?.onSelected(obj?.data);\n }\n },\n selectionChanged: (e) => {\n if (!e.isSelected && e?.data?.onSelected) {\n e?.data?.onSelected(null);\n }\n },\n },\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(\n go.Point.stringify\n ),\n this.$(\n go.Panel,\n 'Auto',\n { width: size.w, height: size.h },\n this.$(go.Shape, 'Circle', {\n fill: 'white',\n stroke: '#2D3B77',\n strokeWidth: 2,\n // strokeDashArray: [5, 5],\n }),\n this.$(\n go.Panel,\n 'Table',\n this.$(go.TextBlock, AtoGojsEditorModel.ENUM_TEMPLATES.PROCESS, {\n row: 0,\n margin: new go.Margin(3, 3, 10, 3),\n maxSize: new go.Size(size.w - 20, NaN),\n stroke: '#444444',\n font: 'normal 10pt Arial',\n textAlign: 'center',\n }),\n this.$(go.Picture, icon, {\n row: 1,\n margin: new go.Margin(0, 0, 10, 0),\n alignment: go.Spot.Center,\n maxSize: new go.Size(60, 60),\n imageStretch: go.GraphObject.Uniform,\n })\n )\n ),\n\n this.$(go.Panel, 'Vertical', {\n alignment: go.Spot.Left,\n alignmentFocus: new go.Spot(0, 0.5, 8, 0),\n }),\n this.$(go.Panel, 'Vertical', {\n alignment: go.Spot.Right,\n alignmentFocus: new go.Spot(1, 0.5, -8, 0),\n }),\n // four named ports, one on each side:\n\n this.makePort('T', go.Spot.Top, go.Spot.TopSide, false, true),\n this.makePort('L', go.Spot.Left, go.Spot.LeftSide, true, true),\n this.makePort('R', go.Spot.Right, go.Spot.RightSide, true, true),\n this.makePort('B', go.Spot.Bottom, go.Spot.BottomSide, true, false)\n );\n break;\n case AtoGojsEditorModel.ENUM_TEMPLATES.SPECIAL_STORAGE:\n node = this.$(\n go.Node,\n 'Spot',\n {\n click: (e, obj: any) => {\n if (obj?.data?.onSelected) {\n obj?.data?.onSelected(obj?.data);\n }\n },\n selectionChanged: (e) => {\n if (!e.isSelected && e?.data?.onSelected) {\n e?.data?.onSelected(null);\n }\n },\n },\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(\n go.Point.stringify\n ),\n this.$(\n go.Panel,\n 'Auto',\n { width: size.w, height: size.h },\n this.$(go.Shape, 'Circle', {\n fill: 'white',\n stroke: '#2D3B77',\n strokeWidth: 2,\n // strokeDashArray: [5, 5],\n }),\n this.$(\n go.Panel,\n 'Table',\n this.$(go.TextBlock, AtoGojsEditorModel.ENUM_TEMPLATES.STORAGE, {\n row: 0,\n margin: new go.Margin(3, 3, 10, 3),\n maxSize: new go.Size(size.w - 20, NaN),\n stroke: '#444444',\n font: 'normal 10pt Arial',\n textAlign: 'center',\n }),\n this.$(\n go.Picture,\n icon,\n {\n row: 1,\n margin: new go.Margin(0, 0, 10, 0),\n alignment: go.Spot.Center,\n minSize: new go.Size(40, 40),\n maxSize: new go.Size(50, 50),\n imageStretch: go.GraphObject.Uniform,\n },\n new go.Binding('source', 'icon').makeTwoWay()\n )\n )\n ),\n\n this.$(go.Panel, 'Vertical', {\n alignment: go.Spot.Left,\n alignmentFocus: new go.Spot(0, 0.5, 8, 0),\n }),\n this.$(go.Panel, 'Vertical', {\n alignment: go.Spot.Right,\n alignmentFocus: new go.Spot(1, 0.5, -8, 0),\n }),\n // four named ports, one on each side:\n\n this.makePort('T', go.Spot.Top, go.Spot.TopSide, false, true),\n this.makePort('L', go.Spot.Left, go.Spot.LeftSide, true, true),\n this.makePort('R', go.Spot.Right, go.Spot.RightSide, true, true),\n this.makePort('B', go.Spot.Bottom, go.Spot.BottomSide, true, false)\n );\n break;\n case AtoGojsEditorModel.ENUM_TEMPLATES.SPECIAL_STORE:\n node = this.$(\n go.Node,\n 'Spot',\n {\n click: (e, obj: any) => {\n if (obj?.data?.onSelected) {\n obj?.data?.onSelected(obj?.data);\n }\n },\n selectionChanged: (e) => {\n if (!e.isSelected && e?.data?.onSelected) {\n e?.data?.onSelected(null);\n }\n },\n },\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(\n go.Point.stringify\n ),\n this.$(\n go.Panel,\n 'Auto',\n { width: size.w, height: size.h },\n this.$(go.Shape, 'Circle', {\n fill: 'white',\n stroke: '#2D3B77',\n strokeWidth: 2,\n // strokeDashArray: [5, 5],\n }),\n this.$(\n go.Panel,\n 'Table',\n this.$(go.TextBlock, 'Store', {\n row: 0,\n margin: new go.Margin(3, 3, 10, 3),\n maxSize: new go.Size(size.w - 20, NaN),\n stroke: '#444444',\n font: 'normal 10pt Arial',\n textAlign: 'center',\n }),\n this.$(go.Picture, icon, {\n row: 1,\n margin: new go.Margin(0, 0, 10, 0),\n alignment: go.Spot.Center,\n maxSize: new go.Size(60, 60),\n imageStretch: go.GraphObject.Uniform,\n })\n )\n )\n );\n break;\n\n case AtoGojsEditorModel.ENUM_TEMPLATES.SPECIAL_DISCHARGE:\n node = this.$(\n go.Node,\n 'Spot',\n {\n click: (e, obj: any) => {\n if (obj?.data?.onSelected) {\n obj?.data?.onSelected(obj?.data);\n }\n },\n selectionChanged: (e) => {\n if (!e.isSelected && e?.data?.onSelected) {\n e?.data?.onSelected(null);\n }\n },\n },\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(\n go.Point.stringify\n ),\n this.$(\n go.Panel,\n 'Auto',\n { width: size.w, height: size.h },\n this.$(go.Shape, 'Circle', {\n fill: 'white',\n stroke: '#2D3B77',\n strokeWidth: 2,\n // strokeDashArray: [5, 5],\n }),\n this.$(\n go.Panel,\n 'Table',\n this.$(go.TextBlock, 'Discharge', {\n row: 0,\n margin: new go.Margin(3, 3, 10, 3),\n maxSize: new go.Size(size.w - 20, NaN),\n stroke: '#444444',\n font: 'normal 10pt Arial',\n textAlign: 'center',\n }),\n this.$(go.Picture, icon, {\n row: 1,\n margin: new go.Margin(0, 0, 10, 0),\n alignment: go.Spot.Center,\n maxSize: new go.Size(60, 60),\n imageStretch: go.GraphObject.Uniform,\n })\n )\n )\n );\n break;\n\n case AtoGojsEditorModel.ENUM_TEMPLATES.SPECIAL_OTHER:\n node = this.$(\n go.Node,\n 'Spot',\n {\n click: (e, obj: any) => {\n if (obj?.data?.onSelected) {\n obj?.data?.onSelected(obj?.data);\n }\n },\n selectionChanged: (e) => {\n if (!e.isSelected && e?.data?.onSelected) {\n e?.data?.onSelected(null);\n }\n },\n },\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(\n go.Point.stringify\n ),\n this.$(\n go.Panel,\n 'Auto',\n { width: size.w, height: size.h },\n this.$(go.Shape, 'Circle', {\n fill: 'white',\n stroke: '#2D3B77',\n strokeWidth: 2,\n // strokeDashArray: [5, 5],\n }),\n this.$(\n go.Panel,\n 'Table',\n this.$(go.TextBlock, 'Other', {\n row: 0,\n margin: new go.Margin(3, 3, 10, 3),\n maxSize: new go.Size(size.w - 20, NaN),\n stroke: '#444444',\n font: 'normal 10pt Arial',\n textAlign: 'center',\n }),\n this.$(go.Picture, icon, {\n row: 1,\n margin: new go.Margin(0, 0, 10, 0),\n alignment: go.Spot.Center,\n maxSize: new go.Size(60, 60),\n imageStretch: go.GraphObject.Uniform,\n })\n )\n )\n );\n break;\n }\n\n if (node) {\n this.myDiagram.nodeTemplateMap.set(title, node);\n }\n }\n\n startAnimation() {\n const diagram = this.myDiagram;\n // setTimeout(() => {\n // diagram.links.each((link) => {\n // });\n // });\n try {\n this.animationInterval = setInterval(() => {\n const oldskips = diagram.skipsUndoManager;\n diagram.skipsUndoManager = true;\n\n diagram.links.each((link) => {\n const shape = link.findObject('PIPE');\n if (!!shape) {\n // const off = shape?.strokeDashOffset - 3;\n const off = shape?.strokeDashOffset - 9;\n // animate (move) the stroke dash\n shape.strokeDashOffset = off <= 0 ? 60 : off;\n }\n });\n diagram.skipsUndoManager = oldskips;\n }, 600);\n // 60\n } catch (e) {}\n }\n\n stopAnimation() {\n if (this.animationInterval) {\n clearInterval(this.animationInterval);\n }\n }\n\n toDataURL(url, callback) {\n const xhr = new XMLHttpRequest();\n xhr.onload = function () {\n const reader = new FileReader();\n reader.onloadend = function () {\n callback(reader.result);\n };\n reader.readAsDataURL(xhr.response);\n };\n xhr.open('GET', url);\n xhr.responseType = 'blob';\n xhr.send();\n }\n\n getBase64DiagramWithEmptyData() {\n const self = this;\n // Test\n // const newWindow = window.open('', 'newWindow');\n // if (!newWindow) {\n // return;\n // }\n // const newDocument = newWindow?.document;\n if (\n !this.myDiagram?.model?.nodeDataArray?.length &&\n !this.myDiagram?.model?.linkDataArray?.length\n ) {\n return;\n }\n\n const svg = this.myDiagram.makeSvg({\n scale: this.defaultScaleZoomToFit,\n maxSize: new go.Size(1200, NaN),\n background: 'white',\n padding: 20,\n elementFinished: function (graphObject, svgElement) {\n svgElement.removeAttribute('clip-path');\n // Replace Image URL to base64 -> For showing Picture element\n if (graphObject instanceof go.Picture) {\n self.toDataURL(svgElement.href.baseVal, function (dataUrl) {\n svgElement.setAttribute('href', dataUrl);\n });\n }\n // Make Text Node Shape Border\n if (graphObject?.name === 'textNodeShape') {\n svgElement.setAttribute('stroke', 'rgba(64, 181, 206, 0.6)');\n }\n // Empty Value\n if (\n graphObject?.name === 'textBlockValue' ||\n graphObject?.name === 'textBlockUnitPrefixes'\n ) {\n svgElement.textContent = '';\n }\n if (svgElement.clipPath) {\n svgElement.clipPath = null;\n }\n },\n callback: (svg) => {\n setTimeout(() => {\n const svgStr = new XMLSerializer().serializeToString(svg);\n // For Test\n // newDocument?.body?.appendChild(svg);\n\n const base64Svg = `data:image/svg+xml;base64,${window.btoa(\n unescape(encodeURIComponent(svgStr))\n )}`;\n const img = new Image();\n img.src = base64Svg;\n const canvas = document.createElement('canvas');\n // get canvas context for drawing on canvas\n const context = canvas.getContext('2d');\n img.onload = function () {\n const svgWidth = img.width;\n const svgHeight = img.height;\n\n canvas.width = svgWidth;\n canvas.height = svgHeight;\n\n if (context) {\n context.drawImage(img, 0, 0);\n const base64PNG = canvas.toDataURL('image/jpeg');\n self.emitImageTopology(\n base64PNG.replace('data:image/jpeg;base64,', '')\n );\n }\n };\n }, 1000);\n },\n });\n }\n\n emitImageTopology(base64) {\n this.callbackImageTopology.emit(base64);\n }\n\n openActionMenu() {\n // When this node is clicked, adjust the menu position\n const mousePt = this.myDiagram.lastInput.viewPoint;\n\n // // When this node is clicked, display the dropdown menu\n const menu = document.getElementById(this.actionMenuId);\n if (menu) {\n menu.style.display = '';\n menu.style.position = 'absolute';\n menu.style.left = mousePt.x + 'px';\n menu.style.top = mousePt.y + 'px';\n\n this.menuTrigger.openMenu();\n }\n }\n\n unsubscribeAll() {\n if (this._subscriptionList) {\n this._subscriptionList.unsubscribe();\n }\n this._subscriptionList = new Subscription();\n }\n\n addSubscribes(...subscriptions: Subscription[]) {\n subscriptions.forEach((el) => {\n this._subscriptionList.add(el);\n });\n }\n}\n\nexport namespace AtoDefaultGojsEditor {\n export enum ENUM_ACTIONS {\n DETAILS = 'Open details & wizard',\n ONLY_DETAILS = 'Open details',\n RENAME = 'Rename this box',\n OUTFLOW = 'Create an outflow',\n DELETE = 'Delete',\n INSIGHT = 'InSight tag mapping',\n DATA_MAPPING = 'Data Mapping',\n MORE = 'More',\n FLOW_DETAILS = 'Flow details',\n FLOW_DETAILS_AND_WIZARD = 'Flow details & wizard', // only now for Cooling Tower\n ASSET_PARAMETERS = 'Asset parameters',\n CHANGE_ICON = 'Change icon',\n }\n\n export const ACTIONS: any = {\n [ENUM_ACTIONS.DETAILS]: {\n name: ENUM_ACTIONS.DETAILS,\n iconClassName: 'far fa-memo-circle-info',\n onClick: () => {},\n },\n [ENUM_ACTIONS.FLOW_DETAILS]: {\n name: ENUM_ACTIONS.FLOW_DETAILS,\n iconClassName: 'far fa-arrow-progress',\n onClick: () => {},\n },\n [ENUM_ACTIONS.FLOW_DETAILS_AND_WIZARD]: {\n name: ENUM_ACTIONS.FLOW_DETAILS_AND_WIZARD,\n iconClassName: 'far fa-arrow-progress',\n onClick: () => {},\n },\n [ENUM_ACTIONS.ASSET_PARAMETERS]: {\n name: ENUM_ACTIONS.ASSET_PARAMETERS,\n iconClassName: 'far fa-box-archive',\n onClick: () => {},\n },\n [ENUM_ACTIONS.ONLY_DETAILS]: {\n name: ENUM_ACTIONS.ONLY_DETAILS,\n iconClassName: 'far fa-memo-circle-info',\n onClick: () => {},\n },\n [ENUM_ACTIONS.RENAME]: {\n name: ENUM_ACTIONS.RENAME,\n iconClassName: 'far fa-input-text',\n onClick: () => {},\n },\n [ENUM_ACTIONS.OUTFLOW]: {\n name: ENUM_ACTIONS.OUTFLOW,\n iconClassName: 'far fa-diagram-nested',\n onClick: () => {},\n },\n [ENUM_ACTIONS.DELETE]: {\n name: ENUM_ACTIONS.DELETE,\n iconClassName: 'fal fa-trash-can',\n onClick: () => {},\n },\n [ENUM_ACTIONS.INSIGHT]: {\n name: ENUM_ACTIONS.INSIGHT,\n iconClassName: 'far fa-tag',\n onClick: () => {},\n },\n [ENUM_ACTIONS.DATA_MAPPING]: {\n name: ENUM_ACTIONS.DATA_MAPPING,\n iconClassName: 'far fa-tag',\n onClick: () => {},\n },\n [ENUM_ACTIONS.MORE]: {\n name: ENUM_ACTIONS.MORE,\n iconClassName: 'fal fa-memo-circle-info',\n onClick: () => {},\n },\n [ENUM_ACTIONS.CHANGE_ICON]: {\n name: ENUM_ACTIONS.CHANGE_ICON,\n iconClassName: 'far fa-image',\n onClick: () => {},\n },\n };\n\n export const DISTANCE_2_OUTPUT = 60;\n}\n","import { Directive, ElementRef, Renderer2, Input, OnChanges, SimpleChanges } from '@angular/core';\n\n@Directive({\n selector: '[atoLoading]'\n})\nexport class AtoLoadingDirective implements OnChanges {\n\n @Input() appLoading: boolean;\n\n private spinnerWrapper: HTMLElement;\n\n constructor(private el: ElementRef, private renderer: Renderer2) {\n this.spinnerWrapper = this.renderer.createElement('div');\n this.renderer.setStyle(this.spinnerWrapper, 'position', 'absolute');\n this.renderer.setStyle(this.spinnerWrapper, 'top', '0');\n this.renderer.setStyle(this.spinnerWrapper, 'left', '0');\n this.renderer.setStyle(this.spinnerWrapper, 'width', '100%');\n this.renderer.setStyle(this.spinnerWrapper, 'height', '100%');\n this.renderer.setStyle(this.spinnerWrapper, 'display', 'flex');\n this.renderer.setStyle(this.spinnerWrapper, 'align-items', 'center');\n this.renderer.setStyle(this.spinnerWrapper, 'justify-content', 'center');\n this.renderer.setStyle(this.spinnerWrapper, 'background', 'rgba(255, 255, 255, 0.7)');\n this.renderer.setStyle(this.spinnerWrapper, 'z-index', '10');\n\n const spinner = this.renderer.createElement('img');\n this.renderer.setAttribute(spinner, 'src', 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBzdHlsZT0ibWFyZ2luOiBhdXRvOyBiYWNrZ3JvdW5kOiByZ2IoMjU1LCAyNTUsIDI1NSk7IGRpc3BsYXk6IGJsb2NrOyBzaGFwZS1yZW5kZXJpbmc6IGF1dG87IGFuaW1hdGlvbi1wbGF5LXN0YXRlOiBydW5uaW5nOyBhbmltYXRpb24tZGVsYXk6IDBzOyIgd2lkdGg9Ijg4cHgiIGhlaWdodD0iODhweCIgdmlld0JveD0iMCAwIDEwMCAxMDAiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIj4KPGRlZnMgc3R5bGU9ImFuaW1hdGlvbi1wbGF5LXN0YXRlOiBydW5uaW5nOyBhbmltYXRpb24tZGVsYXk6IDBzOyI+CiAgPG1hc2sgaWQ9ImxkaW8tdmN5YjQ1YmFvdWstbWFzayIgc3R5bGU9ImFuaW1hdGlvbi1wbGF5LXN0YXRlOiBydW5uaW5nOyBhbmltYXRpb24tZGVsYXk6IDBzOyI+CiAgICA8cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIgZmlsbD0id2hpdGUiIHN0eWxlPSJhbmltYXRpb24tcGxheS1zdGF0ZTogcnVubmluZzsgYW5pbWF0aW9uLWRlbGF5OiAwczsiPjwvcmVjdD4KICA8L21hc2s+CjwvZGVmcz4KPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAiIGZpbGw9IiM1Y2FhZWEiIHN0eWxlPSJhbmltYXRpb24tcGxheS1zdGF0ZTogcnVubmluZzsgYW5pbWF0aW9uLWRlbGF5OiAwczsiPjwvcmVjdD4KPGcgbWFzaz0idXJsKCNsZGlvLXZjeWI0NWJhb3VrLW1hc2spIiBzdHlsZT0iYW5pbWF0aW9uLXBsYXktc3RhdGU6IHJ1bm5pbmc7IGFuaW1hdGlvbi1kZWxheTogMHM7Ij4KICA8cmVjdCB4PSItMTAwIiB5PSItMjUwIiB3aWR0aD0iMzAwIiBoZWlnaHQ9IjMwMCIgcng9IjkwIiByeT0iOTAiIGZpbGw9IiM4MmNlZmYiIG9wYWNpdHk9IjAuNCIgc3R5bGU9ImFuaW1hdGlvbi1wbGF5LXN0YXRlOiBydW5uaW5nOyBhbmltYXRpb24tZGVsYXk6IDBzOyI+CiAgICA8YW5pbWF0ZVRyYW5zZm9ybSBhdHRyaWJ1dGVOYW1lPSJ0cmFuc2Zvcm0iIHR5cGU9InJvdGF0ZSIgZHVyPSIxcyIgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiIHZhbHVlcz0iMCA1MCAtMTAwOzkwIDUwIC0xMDAiIGtleVRpbWVzPSIwOzEiIHN0eWxlPSJhbmltYXRpb24tcGxheS1zdGF0ZTogcnVubmluZzsgYW5pbWF0aW9uLWRlbGF5OiAwczsiPjwvYW5pbWF0ZVRyYW5zZm9ybT4KICA8L3JlY3Q+CgogIDxyZWN0IHg9Ii0xMDAiIHk9Ii0yNjAiIHdpZHRoPSIzMDAiIGhlaWdodD0iMzAwIiByeD0iOTUiIHJ5PSI5NSIgZmlsbD0iI2E1ZGNmZiIgb3BhY2l0eT0iMC40IiBzdHlsZT0iYW5pbWF0aW9uLXBsYXktc3RhdGU6IHJ1bm5pbmc7IGFuaW1hdGlvbi1kZWxheTogMHM7Ij4KICAgIDxhbmltYXRlVHJhbnNmb3JtIGF0dHJpYnV0ZU5hbWU9InRyYW5zZm9ybSIgdHlwZT0icm90YXRlIiBkdXI9IjEuNTE1MTUxNTE1MTUxNTE1MXMiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiB2YWx1ZXM9IjAgNTAgLTExMDs5MCA1MCAtMTEwIiBrZXlUaW1lcz0iMDsxIiBzdHlsZT0iYW5pbWF0aW9uLXBsYXktc3RhdGU6IHJ1bm5pbmc7IGFuaW1hdGlvbi1kZWxheTogMHM7Ij48L2FuaW1hdGVUcmFuc2Zvcm0+CiAgPC9yZWN0PgoKICA8cmVjdCB4PSItMTAwIiB5PSItMjcwIiB3aWR0aD0iMzAwIiBoZWlnaHQ9IjMwMCIgcng9IjEwMCIgcnk9IjEwMCIgZmlsbD0iI2ZmZmZmZiIgb3BhY2l0eT0iMC40IiBzdHlsZT0iYW5pbWF0aW9uLXBsYXktc3RhdGU6IHJ1bm5pbmc7IGFuaW1hdGlvbi1kZWxheTogMHM7Ij4KICAgIDxhbmltYXRlVHJhbnNmb3JtIGF0dHJpYnV0ZU5hbWU9InRyYW5zZm9ybSIgdHlwZT0icm90YXRlIiBkdXI9IjMuMDMwMzAzMDMwMzAzMDMwM3MiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiB2YWx1ZXM9IjAgNTAgLTEyMDs5MCA1MCAtMTIwIiBrZXlUaW1lcz0iMDsxIiBzdHlsZT0iYW5pbWF0aW9uLXBsYXktc3RhdGU6IHJ1bm5pbmc7IGFuaW1hdGlvbi1kZWxheTogMHM7Ij48L2FuaW1hdGVUcmFuc2Zvcm0+CiAgPC9yZWN0PgoKPC9nPgo8IS0tIFtsZGlvXSBnZW5lcmF0ZWQgYnkgaHR0cHM6Ly9sb2FkaW5nLmlvLyAtLT48L3N2Zz4=');\n this.renderer.setStyle(spinner, 'width', '30px');\n this.renderer.setStyle(spinner, 'height', '30px');\n this.renderer.setStyle(spinner, 'border-radius', '50%');\n\n this.renderer.appendChild(this.spinnerWrapper, spinner);\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['appLoading']) {\n if (this.appLoading) {\n this.showSpinner();\n } else {\n this.hideSpinner();\n }\n }\n }\n\n private showSpinner(): void {\n this.renderer.setStyle(this.el.nativeElement, 'position', 'relative');\n this.renderer.appendChild(this.el.nativeElement, this.spinnerWrapper);\n }\n\n private hideSpinner(): void {\n if (this.el.nativeElement.contains(this.spinnerWrapper)) {\n this.renderer.removeChild(this.el.nativeElement, this.spinnerWrapper);\n }\n }\n\n}\n","import { Component, ElementRef, Input, OnInit, ViewChild } from '@angular/core';\nimport _ from 'lodash';\n\nimport { AtoDefaultGojsEditor } from '../../models/default-gojs-editor.model';\nimport { AtoGojsEditorModel } from '../../models/gojs-editor.model';\n\n@Component({\n selector: 'ato-flow-diagram-lib',\n templateUrl: './flow-diagram-lib.component.html',\n styleUrls: ['./flow-diagram-lib.component.css']\n})\nexport class AtoFlowDiagramLibComponent extends AtoDefaultGojsEditor implements OnInit {\n @ViewChild('myDiagramDivTemp') myDiagramDivTemp: any;\n _data: any = null;\n @Input() set data(v) {\n this._data = v;\n this.loadDiagram();\n }\n\n @Input() isLoading = false;\n\n get data() {\n return this._data;\n }\n\n constructor(\n _elRef: ElementRef,\n ) {\n super(_elRef);\n this.actions = [\n AtoDefaultGojsEditor.ACTIONS[AtoDefaultGojsEditor.ENUM_ACTIONS.DETAILS],\n AtoDefaultGojsEditor.ACTIONS[AtoDefaultGojsEditor.ENUM_ACTIONS.DELETE],\n ];\n this.unsubscribeAll();\n }\n\n\n\n ngOnInit(): void {\n this.addSubscribes(\n this.committedTransactionSubject?.subscribe((e) => {\n this.onModelChangeListenerEvent.emit(e);\n }),\n // this._GjUtilsService?.updateNameDataBox$?.subscribe((rs) => {\n // if (rs && rs?.key) {\n // const node = this.myDiagram.findNodeForKey(rs?.key);\n // this.myDiagram.model.setDataProperty(node?.data, 'name', rs?.name);\n // }\n // }),\n );\n }\n\n loadDiagram() {\n this.editor = new AtoGojsEditorModel({\n class: 'go.GraphLinksModel',\n nodeCategoryProperty: 'type',\n ...this.data,\n });\n }\n\n findNodeForKey(key: number | string) {\n this.myDiagram.select(this.myDiagram.findNodeForKey(key));\n }\n}\n\n\n\n\n\n","<div class=\"w-100 h-100 gj-flow-diagram-wrapper\" atoLoading [appLoading]=\"data === null || !!isLoading\">\n <div class=\"w-100 h-100 d-flex\">\n <!-- <button\n id=\"actionMenuId\"\n class=\"invisible-btn\"\n mat-button\n [matMenuTriggerFor]=\"menu\"\n #menuTrigger=\"matMenuTrigger\"\n ></button>\n <mat-menu #menu=\"matMenu\">\n <button mat-menu-item *ngFor=\"let item of actions\" (click)=\"item?.onClick($event)\">\n <div class=\"d-flex flex-gap-2\">\n <div><i class=\"{{ item?.iconClassName }}\"></i></div>\n <div>{{ item?.name }}</div>\n </div>\n </button>\n </mat-menu> -->\n\n <div #myDiagramDivTemp [id]=\"myDiagramDiv\" class=\"flex-grow-1\"></div>\n <div *ngIf=\"initialOptions?.isReadOnly && !data?.nodeDataArray?.length\" class=\"empty-data\">\n <!-- <nz-empty nzNotFoundImage=\"simple\"></nz-empty> -->\n No Data\n </div>\n </div>\n</div>\n","import { AtoGojsEditorModel } from '../models/gojs-editor.model';\n\nexport const AtoGoJSBase64 = {\n [AtoGojsEditorModel.ENUM_TYPES.COOLING_TOWER]:\n 'data:image/png;base64,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',\n [AtoGojsEditorModel.ENUM_TYPES.BOILER]:\n 'data:image/png;base64,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AgQIbEngzrULz4ZF2dPrND9OkufOXbn1zDrnOJbAMgGhgLlBgAABAgQIECBAgACBLQl8dff8Q+8myV64jeChVboQbht4+4EkufjtV2+/vcrxjiFwnIBQ4DghPydAgAABAgQIECBAgECDAmG3wDNhYfZnqzQRdgn8ctgl8OwqxzqGwCoCQoFVlBxDgAABAgQIECBAgACBhgTGf52cfuN/zt9MRqPHj2xiPH7lkW+6/eToZ5L7DXXFZQcoIBQYYNENmQABAgQIECBAgACBuATuXHvsqVFy6u+O6tU4ee/Hzl157YW4eq43XRcQCnS9gvpPgAABAgQIECBAgEAvBI56RaFXEPaixFEOQigQZVl0igABAgQIECBAgACBoQnkryg8dXovGb83P/TRqWT03v2LXkE4tBnRzniFAu04a4UAAQIECBAgQIAAAQJzAkftDDiOys6B44T8fFUBocCqUo4jQIAAAQIECBAgQIBAjQJfufbod99PTt+cu+Q4vF8g+zOaLtWq/58efDq5/+QHr7z+rzV2x6UGKiAUGGjhDZsAAQIECBAgQIAAge0LhN0CfzUajX52vidZMFAs1cr/nhwVdgl87tzV2z+3/d7rQR8EhAJ9qKIxECBAgAABAgQIECDQSYG7n33kXHL/zK0QApw+GEAIAqYbBibZQHnZNg6bC+5dOPuRN+50csA6HZ2AUCC6kugQAQIECBAgQIAAAQJDErhz7cKzYWH29PyY51KB2Y/Cd587d+XWM0PyMdZmBYQCzfq6OgECBAgQIECAAAECBI4UePMvzj38tW84fTfsCHjgaKrxu+/7+v2zD//inTeREqhLQChQl6TrECBAgAABAgQIECBAYEOBO9fOf3qUjD521OnjZPwH567c/viGTTiNwEIBoYCJQYAAAQIECBAgQIAAgS0L/Odzjz74zplTb4SHDj64qCvh4YLvPHjvvUe+9enX39lyVzXfMwGhQM8KajgECBAgQIAAAQIECHRTIOwW+HjYLfD7C0OBZPybYZfAp7s5Mr2OWUAoEHN19I0AAQIECBAgQIAAgcEI3Ll29oHkzENfG93777kxj898c5Lce/t9567cfXcwGAbamoBQoDVqDREgQIAAAQIECBAgQOBogVtf+OPxmdf/dO6ge4/+SnLhw79m7WbyNCJgYjXC6qIECBAgQIAAAQIECBBYX+DVf3tl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',\n};\n","import * as go from 'gojs';\nimport { AtoGojsEditorModel } from '../models/gojs-editor.model';\n\nexport enum ENUM_ASSET_PARAMETERS {\n FEED_FLOW_RATE = 'Feed Flow Rate',\n FEED_CONDUCTIVITY = 'Feed Conductivity',\n FEED_TEMPERATURE = 'Feed Temperature',\n PRIMARY_PRESSURE = 'Primary Pressure',\n REJECTION_RATE_SALT_PASSAGE = 'Rejection Rate/Salt Passage',\n PRESSURE_DROP = 'Pressure Drop',\n SYSTEM_RECOVERY_RATE = 'System Recovery Rate',\n PERMEATE_FLOW_RATE = 'Permeate Flow Rate',\n PERMEATE_CONDUCTIVITY = 'Permeate Conductivity',\n PERMEATE_PRESSURE = 'Permeate Pressure',\n CONCENTRATE_FLOW_RATE = 'Concentrate Flow Rate',\n CONCENTRATE_PRESSURE = 'Stage2 Concentrate Pressure',\n CONCENTRATE_CONDUCTIVITY = 'Concentrate Conductivity',\n // Makeup Water\n MAKEUP_WATER_FLOW_RATE = 'MakeupWaterFlowRate',\n MAKEUP_WATER_FLOW = 'MakeupWaterFlow',\n MAKEUP_WATER_CONDUCTIVITY = 'MakeupWaterConductivity',\n MAKEUP_WATER_PH = 'MakeupWaterpH',\n MAKEUP_WATER_CALCIUM = 'MakeupWaterCalcium',\n MAKEUP_WATER_TOTAL_IRON = 'MakeupWaterTotalIron',\n SPECIFIC_CONDUCTIVITY = 'Specific Conductivity',\n PH = 'pH',\n SILICA = 'Silica',\n // Evaporation Loss\n EVAPORATION_LOSS_FLOW_RATE = 'EvaporationLossFlowRate',\n EVAPORATION_LOSS_FLOW = 'EvaporationLossFlow',\n // Blowndown Water\n BLOWDOWN_WATER_FLOW_RATE = 'BlowdownWaterFlowRate',\n BLOWDOWN_WATER_FLOW = 'BlowdownWaterFlow',\n // Warmer Water\n WARMER_WATER_FLOW_RATE = 'WarmerWaterFlowRate',\n WARMER_WATER_FLOW = 'WarmerWaterFlow',\n // Cooling Tower Analysis\n ANALYSIS_CONDUCTIVITY = 'AnalysisConductivity',\n ANALYSIS_PH = 'AnalysispH',\n ANALYSIS_CALCIUM = 'AnalysisCalcium',\n ANALYSIS_TOTAL_IRON = 'AnalysisTotalIron',\n // Cooling Tower Chemistry\n CHEMISTRY_PHOSPHATE = 'ChemistryPhosphate',\n CHEMISTRY_CHLORINE = 'ChemistryChlorine',\n CHEMISTRY_STP_RESIDUAL = 'ChemistrySTPResidual',\n CHEMISTRY_CS_CORROSION = 'ChemistryCSCorrosion',\n // Cooling Tower KPI\n KPI_CYCLES = 'KpiCycles',\n // KPI_ATP = 'KpiATP',\n BACTERIA = 'Bacteria #',\n // Condensate Return\n TOTAL_IRON = 'Total Iron',\n // Steam\n CATIONIC_CONDUCTIVITY = 'Cationic Conductivity',\n INTERNAL_TREATMENT_PHOSPHATE = 'Internal Treatment Phosphate',\n PHOSPHATE = 'Phosphate',\n MOLYBDATE = 'Molybdate',\n M_ALKALINITY = 'M-Alkalinity',\n CYCLES = 'Cycles',\n SOLUBLE_IRON = 'Soluble Iron',\n // For Boiler - view Flow\n FLOW = 'Flow',\n FLOW_RATE = 'Flow Rate',\n PH_IN_STEAM = 'pH in Steam',\n CATIONIC_CONDUCTIVITY_IN_STEAM = 'Cationic Conductivity in Steam',\n SI_IN_STEAM = 'Si in Steam',\n SI_IN_BOILER = 'Si in Boiler',\n PH_IN_BOILER = 'pH in Boiler',\n}\n\nexport enum WATER_SYSTEMS_NAME {\n EVAPORATION_LOSS = 'Evaporation Loss',\n MAKEUP_WATER = 'Makeup Water', // includes MAKEUP_WATER__FLOW or MAKEUP_WATER__CHEMISTRY\n MAKEUP_WATER__FLOW = 'Makeup Water Flow',\n MAKEUP_WATER__CHEMISTRY = 'Makeup Water Chemistry',\n WARMER_WATER = 'Warmer Water (Recirculation)',\n BLOWDOWN_WATER = 'Blowdown Water',\n COOLING_TOWER_ANALYSIS = 'Cooling Water Analysis',\n COOLING_WATER_CHEMISTRY = 'Cooling Water Chemistry',\n SYSTEM_KPIS = `System KPI's`,\n SYSTEM_KPIS_STEAM = `System KPI's Steam`,\n SYSTEM_KPIS_BOILER_WATER = `System KPI's Boiler Water`,\n // For Boiler-\n CONDENSATE_RETURN = 'Condensate Return',\n CONDENSATE_RETURN__FLOW = 'Condensate Return Flow',\n CONDENSATE_RETURN__CHEMISTRY = 'Condensate Return Chemistry',\n\n BOILER_FEED_WATER = 'Boiler Feed Water',\n BOILER_FEED_WATER__FLOW = 'Boiler Feed Water Flow',\n BOILER_FEED_WATER__CHEMISTRY = 'Boiler Feed Water Chemistry',\n\n STEAM = 'Steam',\n STEAM__FLOW = 'Steam Flow',\n STEAM__CHEMISTRY = 'Steam Chemistry',\n\n BOILER_WATER = 'Boiler Water',\n BOILER_WATER__FLOW = 'Boiler Water Flow',\n BOILER_WATER__CHEMISTRY = 'Boiler Water Chemistry',\n\n STEAM_LOSS = 'Steam Loss',\n BLOWDOWN = 'Blowdown',\n}\n\nexport const DATA_ASSET_PARAMETER_FIELDS = {\n [ENUM_ASSET_PARAMETERS.FEED_FLOW_RATE]: {\n name: ENUM_ASSET_PARAMETERS.FEED_FLOW_RATE,\n key: ENUM_ASSET_PARAMETERS.FEED_FLOW_RATE,\n },\n [ENUM_ASSET_PARAMETERS.FEED_CONDUCTIVITY]: {\n name: ENUM_ASSET_PARAMETERS.FEED_CONDUCTIVITY,\n key: ENUM_ASSET_PARAMETERS.FEED_CONDUCTIVITY,\n },\n [ENUM_ASSET_PARAMETERS.FEED_TEMPERATURE]: {\n name: ENUM_ASSET_PARAMETERS.FEED_TEMPERATURE,\n key: ENUM_ASSET_PARAMETERS.FEED_TEMPERATURE,\n },\n [ENUM_ASSET_PARAMETERS.PRIMARY_PRESSURE]: {\n name: ENUM_ASSET_PARAMETERS.PRIMARY_PRESSURE,\n key: ENUM_ASSET_PARAMETERS.PRIMARY_PRESSURE,\n },\n [ENUM_ASSET_PARAMETERS.REJECTION_RATE_SALT_PASSAGE]: {\n name: ENUM_ASSET_PARAMETERS.REJECTION_RATE_SALT_PASSAGE,\n key: ENUM_ASSET_PARAMETERS.REJECTION_RATE_SALT_PASSAGE,\n },\n [ENUM_ASSET_PARAMETERS.PRESSURE_DROP]: {\n name: ENUM_ASSET_PARAMETERS.PRESSURE_DROP,\n key: ENUM_ASSET_PARAMETERS.PRESSURE_DROP,\n },\n [ENUM_ASSET_PARAMETERS.SYSTEM_RECOVERY_RATE]: {\n name: ENUM_ASSET_PARAMETERS.SYSTEM_RECOVERY_RATE,\n key: ENUM_ASSET_PARAMETERS.SYSTEM_RECOVERY_RATE,\n },\n [ENUM_ASSET_PARAMETERS.PERMEATE_FLOW_RATE]: {\n name: ENUM_ASSET_PARAMETERS.PERMEATE_FLOW_RATE,\n key: ENUM_ASSET_PARAMETERS.PERMEATE_FLOW_RATE,\n },\n [ENUM_ASSET_PARAMETERS.PERMEATE_CONDUCTIVITY]: {\n name: ENUM_ASSET_PARAMETERS.PERMEATE_CONDUCTIVITY,\n key: ENUM_ASSET_PARAMETERS.PERMEATE_CONDUCTIVITY,\n },\n [ENUM_ASSET_PARAMETERS.PERMEATE_PRESSURE]: {\n name: ENUM_ASSET_PARAMETERS.PERMEATE_PRESSURE,\n key: ENUM_ASSET_PARAMETERS.PERMEATE_PRESSURE,\n },\n [ENUM_ASSET_PARAMETERS.CONCENTRATE_FLOW_RATE]: {\n name: ENUM_ASSET_PARAMETERS.CONCENTRATE_FLOW_RATE,\n key: ENUM_ASSET_PARAMETERS.CONCENTRATE_FLOW_RATE,\n },\n [ENUM_ASSET_PARAMETERS.CONCENTRATE_PRESSURE]: {\n name: ENUM_ASSET_PARAMETERS.CONCENTRATE_PRESSURE,\n key: ENUM_ASSET_PARAMETERS.CONCENTRATE_PRESSURE,\n },\n [ENUM_ASSET_PARAMETERS.CONCENTRATE_CONDUCTIVITY]: {\n name: ENUM_ASSET_PARAMETERS.CONCENTRATE_CONDUCTIVITY,\n key: ENUM_ASSET_PARAMETERS.CONCENTRATE_CONDUCTIVITY,\n },\n // Makeup Water\n [ENUM_ASSET_PARAMETERS.MAKEUP_WATER_FLOW_RATE]: {\n name: 'Flow Rate',\n key: ENUM_ASSET_PARAMETERS.MAKEUP_WATER_FLOW_RATE,\n waterSystem: WATER_SYSTEMS_NAME.MAKEUP_WATER,\n },\n [ENUM_ASSET_PARAMETERS.MAKEUP_WATER_FLOW]: {\n name: 'Flow',\n key: ENUM_ASSET_PARAMETERS.MAKEUP_WATER_FLOW,\n waterSystem: WATER_SYSTEMS_NAME.MAKEUP_WATER,\n },\n [ENUM_ASSET_PARAMETERS.MAKEUP_WATER_CONDUCTIVITY]: {\n name: 'Conductivity',\n key: ENUM_ASSET_PARAMETERS.MAKEUP_WATER_CONDUCTIVITY,\n waterSystem: WATER_SYSTEMS_NAME.MAKEUP_WATER,\n },\n [ENUM_ASSET_PARAMETERS.MAKEUP_WATER_PH]: {\n name: 'pH',\n key: ENUM_ASSET_PARAMETERS.MAKEUP_WATER_PH,\n waterSystem: WATER_SYSTEMS_NAME.MAKEUP_WATER,\n },\n [ENUM_ASSET_PARAMETERS.MAKEUP_WATER_CALCIUM]: {\n name: 'Calcium',\n key: ENUM_ASSET_PARAMETERS.MAKEUP_WATER_CALCIUM,\n waterSystem: WATER_SYSTEMS_NAME.MAKEUP_WATER,\n },\n [ENUM_ASSET_PARAMETERS.MAKEUP_WATER_TOTAL_IRON]: {\n name: 'Total Iron',\n key: ENUM_ASSET_PARAMETERS.MAKEUP_WATER_TOTAL_IRON,\n waterSystem: WATER_SYSTEMS_NAME.MAKEUP_WATER,\n },\n // Evaporation Loss\n [ENUM_ASSET_PARAMETERS.EVAPORATION_LOSS_FLOW_RATE]: {\n name: 'Flow Rate',\n key: ENUM_ASSET_PARAMETERS.EVAPORATION_LOSS_FLOW_RATE,\n waterSystem: WATER_SYSTEMS_NAME.EVAPORATION_LOSS,\n },\n [ENUM_ASSET_PARAMETERS.EVAPORATION_LOSS_FLOW]: {\n name: 'Flow',\n key: ENUM_ASSET_PARAMETERS.EVAPORATION_LOSS_FLOW,\n waterSystem: WATER_SYSTEMS_NAME.EVAPORATION_LOSS,\n },\n // Blowndown Water\n [ENUM_ASSET_PARAMETERS.BLOWDOWN_WATER_FLOW_RATE]: {\n name: 'Flow Rate',\n key: ENUM_ASSET_PARAMETERS.BLOWDOWN_WATER_FLOW_RATE,\n waterSystem: WATER_SYSTEMS_NAME.BLOWDOWN_WATER,\n },\n [ENUM_ASSET_PARAMETERS.BLOWDOWN_WATER_FLOW]: {\n name: 'Flow',\n key: ENUM_ASSET_PARAMETERS.BLOWDOWN_WATER_FLOW,\n waterSystem: WATER_SYSTEMS_NAME.BLOWDOWN_WATER,\n },\n // Warmer Water\n [ENUM_ASSET_PARAMETERS.WARMER_WATER_FLOW_RATE]: {\n name: 'Flow Rate',\n key: ENUM_ASSET_PARAMETERS.WARMER_WATER_FLOW_RATE,\n waterSystem: WATER_SYSTEMS_NAME.WARMER_WATER,\n },\n [ENUM_ASSET_PARAMETERS.WARMER_WATER_FLOW]: {\n name: 'Flow',\n key: ENUM_ASSET_PARAMETERS.WARMER_WATER_FLOW,\n waterSystem: WATER_SYSTEMS_NAME.WARMER_WATER,\n },\n // Cooling Tower Analysis\n [ENUM_ASSET_PARAMETERS.ANALYSIS_CONDUCTIVITY]: {\n name: 'Conductivity',\n key: ENUM_ASSET_PARAMETERS.ANALYSIS_CONDUCTIVITY,\n waterSystem: WATER_SYSTEMS_NAME.COOLING_TOWER_ANALYSIS,\n },\n [ENUM_ASSET_PARAMETERS.ANALYSIS_PH]: {\n name: 'pH',\n key: ENUM_ASSET_PARAMETERS.ANALYSIS_PH,\n waterSystem: WATER_SYSTEMS_NAME.COOLING_TOWER_ANALYSIS,\n },\n [ENUM_ASSET_PARAMETERS.ANALYSIS_CALCIUM]: {\n name: 'Calcium',\n key: ENUM_ASSET_PARAMETERS.ANALYSIS_CALCIUM,\n waterSystem: WATER_SYSTEMS_NAME.COOLING_TOWER_ANALYSIS,\n },\n [ENUM_ASSET_PARAMETERS.ANALYSIS_TOTAL_IRON]: {\n name: 'Iron',\n key: ENUM_ASSET_PARAMETERS.ANALYSIS_TOTAL_IRON,\n waterSystem: WATER_SYSTEMS_NAME.COOLING_TOWER_ANALYSIS,\n },\n // Cooling Tower Chemistry\n [ENUM_ASSET_PARAMETERS.CHEMISTRY_PHOSPHATE]: {\n name: 'Phosphate',\n key: ENUM_ASSET_PARAMETERS.CHEMISTRY_PHOSPHATE,\n waterSystem: WATER_SYSTEMS_NAME.COOLING_WATER_CHEMISTRY,\n },\n [ENUM_ASSET_PARAMETERS.CHEMISTRY_CHLORINE]: {\n name: 'Chlorine',\n key: ENUM_ASSET_PARAMETERS.CHEMISTRY_CHLORINE,\n waterSystem: WATER_SYSTEMS_NAME.COOLING_WATER_CHEMISTRY,\n },\n [ENUM_ASSET_PARAMETERS.CHEMISTRY_STP_RESIDUAL]: {\n name: 'STP Residual',\n key: ENUM_ASSET_PARAMETERS.CHEMISTRY_STP_RESIDUAL,\n waterSystem: WATER_SYSTEMS_NAME.COOLING_WATER_CHEMISTRY,\n },\n [ENUM_ASSET_PARAMETERS.CHEMISTRY_CS_CORROSION]: {\n name: 'CS Corrosion',\n key: ENUM_ASSET_PARAMETERS.CHEMISTRY_CS_CORROSION,\n waterSystem: WATER_SYSTEMS_NAME.COOLING_WATER_CHEMISTRY,\n },\n // Cooling Tower KPI\n [ENUM_ASSET_PARAMETERS.KPI_CYCLES]: {\n name: 'Cycles',\n key: ENUM_ASSET_PARAMETERS.KPI_CYCLES,\n waterSystem: WATER_SYSTEMS_NAME.SYSTEM_KPIS,\n },\n [ENUM_ASSET_PARAMETERS.BACTERIA]: {\n name: ENUM_ASSET_PARAMETERS.BACTERIA,\n key: ENUM_ASSET_PARAMETERS.BACTERIA,\n waterSystem: WATER_SYSTEMS_NAME.SYSTEM_KPIS,\n },\n // Boiler for view Chemistry\n [ENUM_ASSET_PARAMETERS.SPECIFIC_CONDUCTIVITY]: {\n name: ENUM_ASSET_PARAMETERS.SPECIFIC_CONDUCTIVITY,\n key: ENUM_ASSET_PARAMETERS.SPECIFIC_CONDUCTIVITY,\n },\n [ENUM_ASSET_PARAMETERS.PH]: {\n name: ENUM_ASSET_PARAMETERS.PH,\n key: ENUM_ASSET_PARAMETERS.PH,\n },\n [ENUM_ASSET_PARAMETERS.SILICA]: {\n name: ENUM_ASSET_PARAMETERS.SILICA,\n key: ENUM_ASSET_PARAMETERS.SILICA,\n },\n [ENUM_ASSET_PARAMETERS.TOTAL_IRON]: {\n name: ENUM_ASSET_PARAMETERS.TOTAL_IRON,\n key: ENUM_ASSET_PARAMETERS.TOTAL_IRON,\n },\n [ENUM_ASSET_PARAMETERS.PHOSPHATE]: {\n name: ENUM_ASSET_PARAMETERS.PHOSPHATE,\n key: ENUM_ASSET_PARAMETERS.PHOSPHATE,\n },\n [ENUM_ASSET_PARAMETERS.MOLYBDATE]: {\n name: ENUM_ASSET_PARAMETERS.MOLYBDATE,\n key: ENUM_ASSET_PARAMETERS.MOLYBDATE,\n },\n [ENUM_ASSET_PARAMETERS.M_ALKALINITY]: {\n name: ENUM_ASSET_PARAMETERS.M_ALKALINITY,\n key: ENUM_ASSET_PARAMETERS.M_ALKALINITY,\n },\n [ENUM_ASSET_PARAMETERS.CATIONIC_CONDUCTIVITY]: {\n name: ENUM_ASSET_PARAMETERS.CATIONIC_CONDUCTIVITY,\n key: ENUM_ASSET_PARAMETERS.CATIONIC_CONDUCTIVITY,\n },\n [ENUM_ASSET_PARAMETERS.CYCLES]: {\n name: ENUM_ASSET_PARAMETERS.CYCLES,\n key: ENUM_ASSET_PARAMETERS.CYCLES,\n },\n [ENUM_ASSET_PARAMETERS.SOLUBLE_IRON]: {\n name: ENUM_ASSET_PARAMETERS.SOLUBLE_IRON,\n key: ENUM_ASSET_PARAMETERS.SOLUBLE_IRON,\n },\n [ENUM_ASSET_PARAMETERS.INTERNAL_TREATMENT_PHOSPHATE]: {\n name: ENUM_ASSET_PARAMETERS.INTERNAL_TREATMENT_PHOSPHATE,\n key: ENUM_ASSET_PARAMETERS.INTERNAL_TREATMENT_PHOSPHATE,\n },\n // Boiler for view Flow\n [ENUM_ASSET_PARAMETERS.FLOW]: {\n name: ENUM_ASSET_PARAMETERS.FLOW,\n key: ENUM_ASSET_PARAMETERS.FLOW,\n },\n [ENUM_ASSET_PARAMETERS.FLOW_RATE]: {\n name: ENUM_ASSET_PARAMETERS.FLOW_RATE,\n key: ENUM_ASSET_PARAMETERS.FLOW_RATE,\n },\n [ENUM_ASSET_PARAMETERS.PH_IN_STEAM]: {\n name: ENUM_ASSET_PARAMETERS.PH_IN_STEAM,\n key: ENUM_ASSET_PARAMETERS.PH_IN_STEAM,\n },\n [ENUM_ASSET_PARAMETERS.CATIONIC_CONDUCTIVITY_IN_STEAM]: {\n name: ENUM_ASSET_PARAMETERS.CATIONIC_CONDUCTIVITY_IN_STEAM,\n key: ENUM_ASSET_PARAMETERS.CATIONIC_CONDUCTIVITY_IN_STEAM,\n },\n [ENUM_ASSET_PARAMETERS.SI_IN_STEAM]: {\n name: ENUM_ASSET_PARAMETERS.SI_IN_STEAM,\n key: ENUM_ASSET_PARAMETERS.SI_IN_STEAM,\n },\n [ENUM_ASSET_PARAMETERS.SI_IN_BOILER]: {\n name: ENUM_ASSET_PARAMETERS.SI_IN_BOILER,\n key: ENUM_ASSET_PARAMETERS.SI_IN_BOILER,\n },\n [ENUM_ASSET_PARAMETERS.PH_IN_BOILER]: {\n name: ENUM_ASSET_PARAMETERS.PH_IN_BOILER,\n key: ENUM_ASSET_PARAMETERS.PH_IN_BOILER,\n },\n};\n\nexport const DATA_WATER_SYSTEMS = {\n [WATER_SYSTEMS_NAME.EVAPORATION_LOSS]: {\n title: WATER_SYSTEMS_NAME.EVAPORATION_LOSS,\n color: AtoGojsEditorModel.ENUM_COLORS.FLAMINGO,\n borderTable: AtoGojsEditorModel.ENUM_COLORS.FLAMINGO,\n bgColor: AtoGojsEditorModel.ENUM_COLORS.SNOW,\n },\n [WATER_SYSTEMS_NAME.WARMER_WATER]: {\n title: WATER_SYSTEMS_NAME.WARMER_WATER,\n color: AtoGojsEditorModel.ENUM_COLORS.CARROT_ORANGE,\n borderTable: AtoGojsEditorModel.ENUM_COLORS.CARROT_ORANGE,\n bgColor: AtoGojsEditorModel.ENUM_COLORS.OLD_LACE,\n },\n [WATER_SYSTEMS_NAME.BLOWDOWN_WATER]: {\n title: WATER_SYSTEMS_NAME.BLOWDOWN_WATER,\n color: AtoGojsEditorModel.ENUM_COLORS.CARROT_ORANGE,\n borderTable: AtoGojsEditorModel.ENUM_COLORS.CARROT_ORANGE,\n bgColor: AtoGojsEditorModel.ENUM_COLORS.OLD_LACE,\n },\n\n [WATER_SYSTEMS_NAME.MAKEUP_WATER__FLOW]: {\n title: WATER_SYSTEMS_NAME.MAKEUP_WATER,\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n borderTable: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n bgColor: AtoGojsEditorModel.ENUM_COLORS.CERULEAN_ALICE_BLUE,\n },\n [WATER_SYSTEMS_NAME.MAKEUP_WATER__CHEMISTRY]: {\n title: WATER_SYSTEMS_NAME.MAKEUP_WATER,\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n borderTable: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n bgColor: AtoGojsEditorModel.ENUM_COLORS.CERULEAN_ALICE_BLUE,\n },\n\n [WATER_SYSTEMS_NAME.COOLING_TOWER_ANALYSIS]: {\n title: WATER_SYSTEMS_NAME.COOLING_TOWER_ANALYSIS,\n color: AtoGojsEditorModel.ENUM_COLORS.FOUNTAIN_BLUE,\n borderTable: AtoGojsEditorModel.ENUM_COLORS.FOUNTAIN_BLUE,\n bgColor: AtoGojsEditorModel.ENUM_COLORS.AZURE,\n },\n [WATER_SYSTEMS_NAME.COOLING_WATER_CHEMISTRY]: {\n title: WATER_SYSTEMS_NAME.COOLING_WATER_CHEMISTRY,\n color: AtoGojsEditorModel.ENUM_COLORS.FOUNTAIN_BLUE,\n borderTable: AtoGojsEditorModel.ENUM_COLORS.FOUNTAIN_BLUE,\n bgColor: AtoGojsEditorModel.ENUM_COLORS.AZURE,\n },\n [WATER_SYSTEMS_NAME.SYSTEM_KPIS]: {\n title: WATER_SYSTEMS_NAME.SYSTEM_KPIS,\n color: AtoGojsEditorModel.ENUM_COLORS.FOUNTAIN_BLUE,\n borderTable: AtoGojsEditorModel.ENUM_COLORS.FOUNTAIN_BLUE,\n bgColor: AtoGojsEditorModel.ENUM_COLORS.AZURE,\n },\n // For Boiler\n [WATER_SYSTEMS_NAME.MAKEUP_WATER]: {\n title: WATER_SYSTEMS_NAME.MAKEUP_WATER,\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n borderTable: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n bgColor: AtoGojsEditorModel.ENUM_COLORS.CERULEAN_ALICE_BLUE,\n },\n [WATER_SYSTEMS_NAME.CONDENSATE_RETURN]: {\n title: WATER_SYSTEMS_NAME.CONDENSATE_RETURN,\n color: AtoGojsEditorModel.ENUM_COLORS.FOUNTAIN_BLUE,\n borderTable: AtoGojsEditorModel.ENUM_COLORS.FOUNTAIN_BLUE,\n bgColor: AtoGojsEditorModel.ENUM_COLORS.AZURE,\n },\n [WATER_SYSTEMS_NAME.STEAM]: {\n title: WATER_SYSTEMS_NAME.STEAM,\n color: AtoGojsEditorModel.ENUM_COLORS.FLAMINGO,\n borderTable: AtoGojsEditorModel.ENUM_COLORS.FLAMINGO,\n bgColor: AtoGojsEditorModel.ENUM_COLORS.SNOW,\n },\n [WATER_SYSTEMS_NAME.BOILER_FEED_WATER]: {\n title: WATER_SYSTEMS_NAME.BOILER_FEED_WATER,\n color: AtoGojsEditorModel.ENUM_COLORS.LIGHT_SKY_BLUE_2,\n borderTable: AtoGojsEditorModel.ENUM_COLORS.LIGHT_SKY_BLUE_2,\n bgColor: AtoGojsEditorModel.ENUM_COLORS.DANUBE_ALICE_BLUE,\n },\n [WATER_SYSTEMS_NAME.BOILER_WATER]: {\n title: WATER_SYSTEMS_NAME.BOILER_WATER,\n color: AtoGojsEditorModel.ENUM_COLORS.REGENT_ST_BLUE,\n borderTable: AtoGojsEditorModel.ENUM_COLORS.REGENT_ST_BLUE,\n bgColor: AtoGojsEditorModel.ENUM_COLORS.AZURE,\n },\n\n [WATER_SYSTEMS_NAME.STEAM_LOSS]: {\n title: WATER_SYSTEMS_NAME.STEAM_LOSS,\n color: AtoGojsEditorModel.ENUM_COLORS.FLAMINGO,\n borderTable: AtoGojsEditorModel.ENUM_COLORS.FLAMINGO,\n bgColor: AtoGojsEditorModel.ENUM_COLORS.SNOW,\n },\n [WATER_SYSTEMS_NAME.BLOWDOWN]: {\n title: WATER_SYSTEMS_NAME.BLOWDOWN,\n color: AtoGojsEditorModel.ENUM_COLORS.CARROT_ORANGE,\n borderTable: AtoGojsEditorModel.ENUM_COLORS.CARROT_ORANGE,\n bgColor: AtoGojsEditorModel.ENUM_COLORS.OLD_LACE,\n },\n};\n\nexport const ASSET_CATEGORY_PARAMS = {\n [WATER_SYSTEMS_NAME.EVAPORATION_LOSS]: [\n DATA_ASSET_PARAMETER_FIELDS[\n ENUM_ASSET_PARAMETERS.EVAPORATION_LOSS_FLOW_RATE\n ],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.EVAPORATION_LOSS_FLOW],\n ],\n [WATER_SYSTEMS_NAME.WARMER_WATER]: [\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.WARMER_WATER_FLOW_RATE],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.WARMER_WATER_FLOW],\n ],\n [WATER_SYSTEMS_NAME.MAKEUP_WATER__FLOW]: [\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.MAKEUP_WATER_FLOW_RATE],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.MAKEUP_WATER_FLOW],\n ],\n [WATER_SYSTEMS_NAME.MAKEUP_WATER__CHEMISTRY]: [\n DATA_ASSET_PARAMETER_FIELDS[\n ENUM_ASSET_PARAMETERS.MAKEUP_WATER_CONDUCTIVITY\n ],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.MAKEUP_WATER_PH],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.MAKEUP_WATER_CALCIUM],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.MAKEUP_WATER_TOTAL_IRON],\n ],\n [WATER_SYSTEMS_NAME.BLOWDOWN_WATER]: [\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.BLOWDOWN_WATER_FLOW_RATE],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.BLOWDOWN_WATER_FLOW],\n ],\n [WATER_SYSTEMS_NAME.COOLING_TOWER_ANALYSIS]: [\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.ANALYSIS_CONDUCTIVITY],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.ANALYSIS_PH],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.ANALYSIS_CALCIUM],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.ANALYSIS_TOTAL_IRON],\n ],\n [WATER_SYSTEMS_NAME.COOLING_WATER_CHEMISTRY]: [\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.CHEMISTRY_PHOSPHATE],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.CHEMISTRY_CHLORINE],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.CHEMISTRY_STP_RESIDUAL],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.CHEMISTRY_CS_CORROSION],\n ],\n [WATER_SYSTEMS_NAME.SYSTEM_KPIS]: [\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.KPI_CYCLES],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.BACTERIA],\n ],\n};\n\n// For Boiler\nexport const ASSET_CATEGORY_PARAMS__BOILER: any = {\n // For View Chemistry\n [WATER_SYSTEMS_NAME.MAKEUP_WATER__CHEMISTRY]: [\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.SPECIFIC_CONDUCTIVITY],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.PH],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.SILICA],\n ],\n [WATER_SYSTEMS_NAME.SYSTEM_KPIS_STEAM]: [\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.PH_IN_STEAM],\n DATA_ASSET_PARAMETER_FIELDS[\n ENUM_ASSET_PARAMETERS.CATIONIC_CONDUCTIVITY_IN_STEAM\n ],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.SI_IN_STEAM],\n ],\n [WATER_SYSTEMS_NAME.SYSTEM_KPIS_BOILER_WATER]: [\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.SI_IN_BOILER],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.PH_IN_BOILER],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.CYCLES],\n ],\n [WATER_SYSTEMS_NAME.CONDENSATE_RETURN__CHEMISTRY]: [\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.SPECIFIC_CONDUCTIVITY],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.PH],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.TOTAL_IRON],\n ],\n [WATER_SYSTEMS_NAME.STEAM__CHEMISTRY]: [\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.CATIONIC_CONDUCTIVITY],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.PH],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.SILICA],\n ],\n [WATER_SYSTEMS_NAME.BOILER_FEED_WATER__CHEMISTRY]: [\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.SPECIFIC_CONDUCTIVITY],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.PH],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.SOLUBLE_IRON],\n ],\n [WATER_SYSTEMS_NAME.BOILER_WATER]: [\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.SPECIFIC_CONDUCTIVITY],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.PH],\n DATA_ASSET_PARAMETER_FIELDS[\n ENUM_ASSET_PARAMETERS.INTERNAL_TREATMENT_PHOSPHATE\n ],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.MOLYBDATE],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.SILICA],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.M_ALKALINITY],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.CYCLES],\n ],\n // For View Flow\n [WATER_SYSTEMS_NAME.MAKEUP_WATER__FLOW]: [\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.FLOW],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.FLOW_RATE],\n ],\n [WATER_SYSTEMS_NAME.CONDENSATE_RETURN__FLOW]: [\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.FLOW],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.FLOW_RATE],\n ],\n [WATER_SYSTEMS_NAME.STEAM__FLOW]: [\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.FLOW],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.FLOW_RATE],\n ],\n [WATER_SYSTEMS_NAME.BOILER_FEED_WATER__FLOW]: [\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.FLOW],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.FLOW_RATE],\n ],\n [WATER_SYSTEMS_NAME.STEAM_LOSS]: [\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.FLOW],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.FLOW_RATE],\n ],\n [WATER_SYSTEMS_NAME.BLOWDOWN]: [\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.FLOW],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.FLOW_RATE],\n ],\n};\n\nexport enum COMPONENTS_GROUP_TYPE {\n INFLOW = 'Inflow',\n LOSS = 'Loss',\n OUTFLOW = 'Outflow',\n RECIRCULATED = 'Recirculated',\n EMBODIED = 'Embodied',\n INFLOW_VALUE = 'InFlowValue',\n OUTFLOW_VALUE = 'OutFlowValue',\n LOSS_VALUE = 'LossValue',\n RECIRCULATED_VALUE = 'RecirculatedValue',\n}\n\nexport enum ATO_ASSET_LAYERS {\n FLOW = 'Flow',\n CHEMISTRY = 'Chemistry',\n ANALYTICS = 'Analytics',\n}\n\nexport enum ATO_MAPPER_FROM {\n HFW = 'HFW',\n PLUGIN = 'Plugin',\n}\n\nexport const ATO_COMPONENTS_GROUP_DATA = {\n [AtoGojsEditorModel.ENUM_TYPES.STORAGE]: {\n nodeDataArray: [\n {\n key: 90,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Inflow',\n value: '0 kl',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n group: 100,\n loc: '0 130.5',\n },\n {\n key: 91,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Outflow',\n value: '0 kl',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n group: 100,\n loc: '300 130.5',\n },\n {\n key: 92,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Loss',\n value: 'M',\n color: AtoGojsEditorModel.ENUM_COLORS.BLUE,\n group: 100,\n colorValue: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n loc: '152.5 0',\n },\n {\n key: 99,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.SPECIAL_STORE,\n group: 100,\n loc: '92.5 95',\n },\n {\n key: 100,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.STORAGE,\n isGroup: true,\n name: 'Group',\n },\n ],\n linkDataArray: [\n { from: 90, to: 99, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 91, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 92, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n ],\n },\n [AtoGojsEditorModel.ENUM_TYPES.WATER_TREATMENT]: {\n nodeDataArray: [\n {\n key: 90,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Inflow',\n value: '0 kl',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n group: 100,\n loc: '0 134.5',\n },\n {\n key: 91,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Outflow',\n value: '0 kl',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n group: 100,\n loc: '333 170',\n },\n {\n key: 92,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Loss',\n value: 'M',\n color: AtoGojsEditorModel.ENUM_COLORS.BLUE,\n group: 100,\n colorValue: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n loc: '160.5 297',\n },\n {\n key: 93,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Recirculated',\n value: 'M',\n color: AtoGojsEditorModel.ENUM_COLORS.VIVID_VIOLET,\n group: 100,\n colorValue: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n loc: '266 32',\n },\n {\n key: 99,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.SPECIAL_PROCESS,\n group: 100,\n loc: '92.5 95',\n },\n {\n key: 100,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.WATER_TREATMENT,\n isGroup: true,\n name: 'Group',\n },\n ],\n linkDataArray: [\n { from: 90, to: 99, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 91, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 92, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n {\n from: 99,\n to: 93,\n color: AtoGojsEditorModel.ENUM_COLORS.BLUE,\n fromPort: 'T',\n toPort: 'T',\n },\n {\n from: 93,\n to: 99,\n color: AtoGojsEditorModel.ENUM_COLORS.BLUE,\n fromPort: 'B',\n toPort: 'R',\n },\n ],\n },\n [AtoGojsEditorModel.ENUM_TYPES.DEMIN_WATER_TREATMENT]: {\n nodeDataArray: [\n {\n key: 90,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Inflow',\n value: '0 kl',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n group: 100,\n loc: '0 134.5',\n },\n {\n key: 91,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Outflow',\n value: '0 kl',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n group: 100,\n loc: '333 170',\n },\n {\n key: 92,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Loss',\n value: 'M',\n color: AtoGojsEditorModel.ENUM_COLORS.BLUE,\n group: 100,\n colorValue: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n loc: '160.5 297',\n },\n {\n key: 93,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Recirculated',\n value: 'M',\n color: AtoGojsEditorModel.ENUM_COLORS.VIVID_VIOLET,\n group: 100,\n colorValue: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n loc: '266 32',\n },\n {\n key: 99,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.SPECIAL_PROCESS,\n group: 100,\n loc: '125 110',\n },\n {\n key: 100,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.WATER_TREATMENT,\n isGroup: true,\n name: 'Group',\n },\n ],\n linkDataArray: [\n { from: 90, to: 99, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 91, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 92, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n {\n from: 99,\n to: 93,\n color: AtoGojsEditorModel.ENUM_COLORS.BLUE,\n fromPort: 'T',\n toPort: 'L',\n },\n {\n from: 93,\n to: 99,\n color: AtoGojsEditorModel.ENUM_COLORS.BLUE,\n fromPort: 'B',\n toPort: 'R',\n },\n ],\n },\n [AtoGojsEditorModel.ENUM_TYPES.RO_WATER_TREATMENT]: {\n nodeDataArray: [\n {\n key: 93,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.MASS_BALANCE,\n group: 100,\n loc: '830 10',\n selectable: false,\n value: 'NA',\n font: 'bold 15px Arial',\n colorValue: '',\n tooltip: '',\n },\n {\n key: 94,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE,\n group: 100,\n loc: '20 10',\n padding: new go.Margin(0, 0, 0, 20),\n ...AtoGojsEditorModel.PARAM_TABLE_STYLE[\n AtoGojsEditorModel.ENUM_COLORS.CERULEAN\n ],\n minSizeValue: new go.Size(100, NaN),\n selectable: false,\n\n dataTable: [\n {\n key: '',\n name: ENUM_ASSET_PARAMETERS.FEED_FLOW_RATE,\n value: '',\n isEditable: true,\n },\n {\n key: '',\n name: ENUM_ASSET_PARAMETERS.FEED_CONDUCTIVITY,\n value: '',\n isEditable: true,\n },\n {\n key: '',\n name: ENUM_ASSET_PARAMETERS.FEED_TEMPERATURE,\n value: '',\n isEditable: true,\n },\n {\n key: '',\n name: ENUM_ASSET_PARAMETERS.PRIMARY_PRESSURE,\n value: '',\n isEditable: true,\n },\n ],\n },\n {\n key: 95,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE,\n group: 100,\n loc: '420 40',\n ...AtoGojsEditorModel.PARAM_TABLE_STYLE[\n AtoGojsEditorModel.ENUM_COLORS.DANUBE\n ],\n minSizeValue: new go.Size(100, NaN),\n selectable: false,\n dataTable: [\n {\n key: '',\n name: ENUM_ASSET_PARAMETERS.REJECTION_RATE_SALT_PASSAGE,\n value: '',\n isEditable: true,\n },\n {\n key: '',\n name: ENUM_ASSET_PARAMETERS.PRESSURE_DROP,\n value: '',\n isEditable: true,\n },\n {\n key: '',\n name: ENUM_ASSET_PARAMETERS.SYSTEM_RECOVERY_RATE,\n value: '',\n isEditable: true,\n },\n ],\n },\n {\n key: 96,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE,\n group: 100,\n loc: '590 150',\n ...AtoGojsEditorModel.PARAM_TABLE_STYLE[\n AtoGojsEditorModel.ENUM_COLORS.FOUNTAIN_BLUE\n ],\n minSizeValue: new go.Size(100, NaN),\n selectable: false,\n dataTable: [\n {\n key: '',\n name: ENUM_ASSET_PARAMETERS.PERMEATE_FLOW_RATE,\n value: '',\n isEditable: true,\n },\n {\n key: '',\n name: ENUM_ASSET_PARAMETERS.PERMEATE_CONDUCTIVITY,\n value: '',\n isEditable: true,\n },\n {\n key: '',\n name: ENUM_ASSET_PARAMETERS.PERMEATE_PRESSURE,\n value: '',\n isEditable: true,\n },\n ],\n },\n {\n key: 97,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE,\n group: 100,\n loc: '30 370',\n ...AtoGojsEditorModel.PARAM_TABLE_STYLE[\n AtoGojsEditorModel.ENUM_COLORS.GALLIANO\n ],\n minSizeValue: new go.Size(100, NaN),\n selectable: false,\n dataTable: [\n {\n key: '',\n name: ENUM_ASSET_PARAMETERS.CONCENTRATE_FLOW_RATE,\n value: '',\n isEditable: true,\n },\n {\n key: '',\n name: ENUM_ASSET_PARAMETERS.CONCENTRATE_PRESSURE,\n value: '',\n isEditable: true,\n },\n {\n key: '',\n name: ENUM_ASSET_PARAMETERS.CONCENTRATE_CONDUCTIVITY,\n value: '',\n isEditable: true,\n },\n ],\n },\n {\n key: 99,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.IMAGE_TEMPLATE,\n source: AtoGojsEditorModel.IMAGE_RO_WATER_TREATMENT_PATH,\n group: 100,\n loc: '0 0',\n margin: new go.Margin(130, 0, 0, 0),\n selectable: false,\n },\n {\n key: 100,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.RO_WATER_TREATMENT,\n isGroup: true,\n name: 'Grid',\n loc: '0 0',\n selectable: false,\n // isViewGeneral: true,\n },\n ],\n linkDataArray: [],\n },\n [AtoGojsEditorModel.ENUM_TYPES.PROCESS]: {\n nodeDataArray: [\n {\n key: 90,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Inflow',\n value: '0 kl',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n group: 100,\n loc: '0 134.5',\n },\n {\n key: 91,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Outflow',\n value: '0 kl',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n group: 100,\n loc: '333 190',\n },\n {\n key: 92,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Loss',\n value: 'M',\n color: AtoGojsEditorModel.ENUM_COLORS.BLUE,\n group: 100,\n colorValue: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n loc: '104 -20',\n },\n {\n key: 93,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Recirculated',\n value: 'M',\n color: AtoGojsEditorModel.ENUM_COLORS.VIVID_VIOLET,\n group: 100,\n colorValue: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n loc: '266 32',\n },\n {\n key: 94,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Embodied',\n value: 'M',\n color: AtoGojsEditorModel.ENUM_COLORS.FOUNTAIN_BLUE,\n group: 100,\n colorValue: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n loc: '144.5 297',\n },\n {\n key: 99,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.SPECIAL_PROCESS,\n group: 100,\n loc: '90 80',\n },\n {\n key: 100,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.PROCESS,\n isGroup: true,\n name: 'Group',\n },\n ],\n linkDataArray: [\n { from: 90, to: 99, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 91, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 92, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 94, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n {\n from: 99,\n to: 93,\n color: AtoGojsEditorModel.ENUM_COLORS.BLUE,\n fromPort: 'T',\n toPort: 'L',\n },\n {\n from: 93,\n to: 99,\n color: AtoGojsEditorModel.ENUM_COLORS.BLUE,\n fromPort: 'B',\n toPort: 'R',\n },\n ],\n },\n [AtoGojsEditorModel.ENUM_TYPES.WASTEWATER_TREATMENT]: {\n nodeDataArray: [\n {\n key: 90,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Inflow',\n value: '0 kl',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n group: 100,\n loc: '0 134.5',\n },\n {\n key: 91,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Outflow',\n value: '126 kl',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n group: 100,\n loc: '333 170',\n },\n {\n key: 92,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Loss',\n value: 'M',\n color: AtoGojsEditorModel.ENUM_COLORS.BLUE,\n group: 100,\n colorValue: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n loc: '160.5 297',\n },\n {\n key: 93,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Recirculated',\n value: 'M',\n color: AtoGojsEditorModel.ENUM_COLORS.VIVID_VIOLET,\n group: 100,\n colorValue: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n loc: '266 32',\n },\n {\n key: 99,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.SPECIAL_PROCESS,\n group: 100,\n loc: '125 110',\n },\n {\n key: 100,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.WASTEWATER_TREATMENT,\n isGroup: true,\n name: 'Group',\n },\n ],\n linkDataArray: [\n { from: 90, to: 99, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 91, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 92, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n {\n from: 99,\n to: 93,\n color: AtoGojsEditorModel.ENUM_COLORS.BLUE,\n fromPort: 'T',\n toPort: 'L',\n },\n {\n from: 93,\n to: 99,\n color: AtoGojsEditorModel.ENUM_COLORS.BLUE,\n fromPort: 'B',\n toPort: 'R',\n },\n ],\n },\n [AtoGojsEditorModel.ENUM_TYPES.DAF_WASTEWATER_TREATMENT]: {\n nodeDataArray: [\n {\n key: 90,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Inflow',\n value: '0 kl',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n group: 100,\n loc: '0 134.5',\n },\n {\n key: 91,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Outflow',\n value: '126 kl',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n group: 100,\n loc: '333 170',\n },\n {\n key: 92,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Loss',\n value: 'M',\n color: AtoGojsEditorModel.ENUM_COLORS.BLUE,\n group: 100,\n colorValue: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n loc: '160.5 297',\n },\n {\n key: 93,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Recirculated',\n value: 'M',\n color: AtoGojsEditorModel.ENUM_COLORS.VIVID_VIOLET,\n group: 100,\n colorValue: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n loc: '266 32',\n },\n {\n key: 99,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.SPECIAL_PROCESS,\n group: 100,\n loc: '125 110',\n },\n {\n key: 100,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.WASTEWATER_TREATMENT,\n isGroup: true,\n name: 'Group',\n },\n ],\n linkDataArray: [\n { from: 90, to: 99, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 91, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 92, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n {\n from: 99,\n to: 93,\n color: AtoGojsEditorModel.ENUM_COLORS.BLUE,\n fromPort: 'T',\n toPort: 'L',\n },\n {\n from: 93,\n to: 99,\n color: AtoGojsEditorModel.ENUM_COLORS.BLUE,\n fromPort: 'B',\n toPort: 'R',\n },\n ],\n },\n [AtoGojsEditorModel.ENUM_TYPES.ETP_WASTEWATER_TREATMENT]: {\n nodeDataArray: [\n {\n key: 90,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Inflow',\n value: '0 kl',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n group: 100,\n loc: '0 134.5',\n },\n {\n key: 91,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Outflow',\n value: '126 kl',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n group: 100,\n loc: '333 170',\n },\n {\n key: 92,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Loss',\n value: 'M',\n color: AtoGojsEditorModel.ENUM_COLORS.BLUE,\n group: 100,\n colorValue: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n loc: '160.5 297',\n },\n {\n key: 93,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Recirculated',\n value: 'M',\n color: AtoGojsEditorModel.ENUM_COLORS.VIVID_VIOLET,\n group: 100,\n colorValue: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n loc: '266 32',\n },\n {\n key: 99,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.SPECIAL_PROCESS,\n group: 100,\n loc: '125 110',\n },\n {\n key: 100,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.WASTEWATER_TREATMENT,\n isGroup: true,\n name: 'Group',\n },\n ],\n linkDataArray: [\n { from: 90, to: 99, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 91, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 92, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n {\n from: 99,\n to: 93,\n color: AtoGojsEditorModel.ENUM_COLORS.BLUE,\n fromPort: 'T',\n toPort: 'L',\n },\n {\n from: 93,\n to: 99,\n color: AtoGojsEditorModel.ENUM_COLORS.BLUE,\n fromPort: 'B',\n toPort: 'R',\n },\n ],\n },\n [AtoGojsEditorModel.ENUM_TYPES.MBR_WASTEWATER_TREATMENT]: {\n nodeDataArray: [\n {\n key: 90,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Inflow',\n value: '0 kl',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n group: 100,\n loc: '0 134.5',\n },\n {\n key: 91,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Outflow',\n value: '126 kl',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n group: 100,\n loc: '333 170',\n },\n {\n key: 92,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Loss',\n value: 'M',\n color: AtoGojsEditorModel.ENUM_COLORS.BLUE,\n group: 100,\n colorValue: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n loc: '160.5 297',\n },\n {\n key: 93,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Recirculated',\n value: 'M',\n color: AtoGojsEditorModel.ENUM_COLORS.VIVID_VIOLET,\n group: 100,\n colorValue: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n loc: '266 32',\n },\n {\n key: 99,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.SPECIAL_PROCESS,\n group: 100,\n loc: '125 110',\n },\n {\n key: 100,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.WASTEWATER_TREATMENT,\n isGroup: true,\n name: 'Group',\n },\n ],\n linkDataArray: [\n { from: 90, to: 99, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 91, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 92, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n {\n from: 99,\n to: 93,\n color: AtoGojsEditorModel.ENUM_COLORS.BLUE,\n fromPort: 'T',\n toPort: 'L',\n },\n {\n from: 93,\n to: 99,\n color: AtoGojsEditorModel.ENUM_COLORS.BLUE,\n fromPort: 'B',\n toPort: 'R',\n },\n ],\n },\n [AtoGojsEditorModel.ENUM_TYPES.ZLD_WASTEWATER_TREATMENT]: {\n nodeDataArray: [\n {\n key: 90,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Inflow',\n value: '0 kl',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n group: 100,\n loc: '0 134.5',\n },\n {\n key: 91,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Outflow',\n value: '126 kl',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n group: 100,\n loc: '333 170',\n },\n {\n key: 92,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Loss',\n value: 'M',\n color: AtoGojsEditorModel.ENUM_COLORS.BLUE,\n group: 100,\n colorValue: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n loc: '160.5 297',\n },\n {\n key: 93,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Recirculated',\n value: 'M',\n color: AtoGojsEditorModel.ENUM_COLORS.VIVID_VIOLET,\n group: 100,\n colorValue: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n loc: '266 32',\n },\n {\n key: 99,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.SPECIAL_PROCESS,\n group: 100,\n loc: '125 110',\n },\n {\n key: 100,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.WASTEWATER_TREATMENT,\n isGroup: true,\n name: 'Group',\n },\n ],\n linkDataArray: [\n { from: 90, to: 99, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 91, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 92, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n {\n from: 99,\n to: 93,\n color: AtoGojsEditorModel.ENUM_COLORS.BLUE,\n fromPort: 'T',\n toPort: 'L',\n },\n {\n from: 93,\n to: 99,\n color: AtoGojsEditorModel.ENUM_COLORS.BLUE,\n fromPort: 'B',\n toPort: 'R',\n },\n ],\n },\n [AtoGojsEditorModel.ENUM_TYPES.DOMESTIC_USE]: {\n nodeDataArray: [\n {\n key: 90,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Inflow',\n value: '0 kl',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n group: 100,\n loc: '-20 134.5',\n },\n {\n key: 91,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Outflow',\n value: '0 kl',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n group: 100,\n loc: '320 134.5',\n },\n {\n key: 92,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Loss',\n value: 'M',\n color: AtoGojsEditorModel.ENUM_COLORS.BLUE,\n group: 100,\n colorValue: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n loc: '150.5 0',\n },\n {\n key: 99,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.SPECIAL_PROCESS,\n group: 100,\n loc: '82.5 95',\n },\n {\n key: 100,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DOMESTIC_USE,\n isGroup: true,\n name: 'Group',\n },\n ],\n linkDataArray: [\n { from: 90, to: 99, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 91, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 92, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n ],\n },\n [AtoGojsEditorModel.ENUM_TYPES.COOLING_TOWER]: {\n nodeDataArray: [\n {\n key: 86,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.EMPTY,\n group: 100,\n loc: '0 0',\n data: {\n quantity: 2222,\n unit: 'm³',\n },\n name: 'top-left-marker',\n color: '#a8438d',\n },\n {\n key: 87,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.EMPTY,\n group: 100,\n data: {\n quantity: 3333,\n unit: 'm³',\n },\n name: 'bottom-right-marker',\n color: '#a8438d',\n extendedData: {\n loc: '1000 700',\n },\n extendedDataResponsive: {\n loc: '700 300',\n },\n },\n {\n key: 88,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE,\n group: 100,\n loc: '320 60',\n padding: new go.Margin(0, 0, 0, 0),\n ...DATA_WATER_SYSTEMS[WATER_SYSTEMS_NAME.EVAPORATION_LOSS],\n minSizeValue: new go.Size(100, NaN),\n selectable: false,\n dataTable: ASSET_CATEGORY_PARAMS[\n WATER_SYSTEMS_NAME.EVAPORATION_LOSS\n ].map((e) => ({\n ...e,\n value: '',\n isEditable: true,\n maxSizeValue: 140,\n })),\n visible: true,\n assetLayers: ATO_ASSET_LAYERS.FLOW,\n extendedData: {\n visible: true,\n },\n extendedDataResponsive: {\n visible: false,\n },\n },\n {\n key: 89,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE,\n group: 100,\n padding: new go.Margin(0, 0, 0, 0),\n loc: '30 350',\n ...DATA_WATER_SYSTEMS[WATER_SYSTEMS_NAME.MAKEUP_WATER__FLOW],\n minSizeValue: new go.Size(100, NaN),\n selectable: false,\n dataTable: ASSET_CATEGORY_PARAMS[\n WATER_SYSTEMS_NAME.MAKEUP_WATER__FLOW\n ].map((e) => ({\n ...e,\n value: '',\n isEditable: true,\n maxSizeValue: 120,\n })),\n assetLayers: ATO_ASSET_LAYERS.FLOW,\n extendedData: {\n visible: true,\n },\n extendedDataResponsive: {\n visible: false,\n },\n },\n {\n key: 90,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE,\n group: 100,\n padding: new go.Margin(0, 0, 0, 0),\n loc: '10 270',\n ...DATA_WATER_SYSTEMS[WATER_SYSTEMS_NAME.MAKEUP_WATER__CHEMISTRY],\n minSizeValue: new go.Size(100, NaN),\n selectable: false,\n dataTable: ASSET_CATEGORY_PARAMS[\n WATER_SYSTEMS_NAME.MAKEUP_WATER__CHEMISTRY\n ].map((e) => ({\n ...e,\n value: '',\n isEditable: true,\n maxSizeValue: 120,\n })),\n assetLayers: ATO_ASSET_LAYERS.CHEMISTRY,\n extendedData: {\n visible: true,\n },\n extendedDataResponsive: {\n visible: false,\n },\n },\n {\n key: 91,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE,\n group: 100,\n padding: new go.Margin(0, 0, 0, 0),\n loc: '570 250',\n ...DATA_WATER_SYSTEMS[WATER_SYSTEMS_NAME.WARMER_WATER],\n minSizeValue: new go.Size(100, NaN),\n selectable: false,\n dataTable: ASSET_CATEGORY_PARAMS[WATER_SYSTEMS_NAME.WARMER_WATER].map(\n (e) => ({\n ...e,\n value: '',\n isEditable: true,\n maxSizeValue: 120,\n })\n ),\n assetLayers: ATO_ASSET_LAYERS.FLOW,\n extendedData: {\n visible: true,\n },\n extendedDataResponsive: {\n visible: false,\n },\n },\n {\n key: 92,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE,\n group: 100,\n padding: new go.Margin(0, 0, 0, 0),\n loc: '570 560',\n ...DATA_WATER_SYSTEMS[WATER_SYSTEMS_NAME.BLOWDOWN_WATER],\n minSizeValue: new go.Size(100, NaN),\n selectable: false,\n dataTable: ASSET_CATEGORY_PARAMS[WATER_SYSTEMS_NAME.BLOWDOWN_WATER].map(\n (e) => ({\n ...e,\n value: '',\n isEditable: true,\n maxSizeValue: 120,\n })\n ),\n assetLayers: ATO_ASSET_LAYERS.FLOW,\n extendedData: {\n visible: true,\n },\n extendedDataResponsive: {\n visible: false,\n },\n },\n {\n key: 93,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE,\n group: 100,\n padding: new go.Margin(0, 0, 0, 0),\n loc: '450 20',\n ...DATA_WATER_SYSTEMS[WATER_SYSTEMS_NAME.COOLING_TOWER_ANALYSIS],\n minSizeValue: new go.Size(100, NaN),\n selectable: false,\n dataTable: ASSET_CATEGORY_PARAMS[\n WATER_SYSTEMS_NAME.COOLING_TOWER_ANALYSIS\n ].map((e) => ({\n ...e,\n value: '',\n isEditable: true,\n maxSizeValue: 130,\n })),\n assetLayers: ATO_ASSET_LAYERS.CHEMISTRY,\n extendedData: {\n visible: true,\n },\n extendedDataResponsive: {\n visible: false,\n },\n },\n {\n key: 94,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE,\n group: 100,\n padding: new go.Margin(0, 0, 0, 0),\n loc: '730 20',\n ...DATA_WATER_SYSTEMS[WATER_SYSTEMS_NAME.COOLING_WATER_CHEMISTRY],\n minSizeValue: new go.Size(100, NaN),\n selectable: false,\n dataTable: ASSET_CATEGORY_PARAMS[\n WATER_SYSTEMS_NAME.COOLING_WATER_CHEMISTRY\n ].map((e) => ({\n ...e,\n value: '',\n isEditable: true,\n maxSizeValue: 130,\n })),\n assetLayers: ATO_ASSET_LAYERS.CHEMISTRY,\n extendedData: {\n visible: true,\n },\n extendedDataResponsive: {\n visible: false,\n },\n },\n {\n key: 95,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE,\n group: 100,\n padding: new go.Margin(0, 0, 0, 0),\n loc: '10 20',\n ...DATA_WATER_SYSTEMS[WATER_SYSTEMS_NAME.SYSTEM_KPIS],\n minSizeValue: new go.Size(100, NaN),\n selectable: false,\n dataTable: ASSET_CATEGORY_PARAMS[WATER_SYSTEMS_NAME.SYSTEM_KPIS].map(\n (e) =>\n ((\n {\n ...e,\n value: '',\n isEditable: true,\n maxSizeValue: 130,\n extendedDataIsFromPlugin: {\n maxSizeValue: 230,\n },\n } as any\n ))\n ).concat(\n ASSET_CATEGORY_PARAMS[\n WATER_SYSTEMS_NAME.COOLING_WATER_CHEMISTRY\n ].map((e) => ({\n ...e,\n value: `Mapping in \"Cooling Water Chemistry\" section`,\n isEditable: false,\n maxSizeValue: 250,\n isReadOnly: true,\n isFrom: ATO_MAPPER_FROM.PLUGIN,\n // font: '10px sans-serif',\n visible: false,\n }))\n ),\n assetLayers: ATO_ASSET_LAYERS.CHEMISTRY,\n extendedData: {\n visible: true,\n },\n extendedDataResponsive: {\n visible: false,\n },\n },\n {\n key: 96,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.IMAGE_TEMPLATE,\n source: AtoGojsEditorModel.IMAGE_COOLING_TOWER_PATH,\n group: 100,\n loc: '0 0',\n selectable: false,\n extendedData: {\n margin: new go.Margin(195, 20, 0, 0),\n },\n extendedDataResponsive: {\n margin: new go.Margin(20, 20, 0, 0),\n },\n },\n {\n key: 97,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_LABEL,\n group: 100,\n loc: '250 25',\n name: 'Evaporation Loss',\n color: AtoGojsEditorModel.ENUM_COLORS.FLAMINGO,\n extendedData: {\n visible: false,\n },\n extendedDataResponsive: {\n visible: true,\n },\n },\n {\n key: 98,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_LABEL,\n group: 100,\n loc: '110 290',\n name: 'Makeup Water',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n extendedData: {\n visible: false,\n },\n extendedDataResponsive: {\n visible: true,\n },\n },\n {\n key: 99,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_LABEL,\n group: 100,\n loc: '580 435',\n name: 'Blowdown Water',\n color: AtoGojsEditorModel.ENUM_COLORS.CARROT_ORANGE,\n extendedData: {\n visible: false,\n },\n extendedDataResponsive: {\n visible: true,\n },\n },\n {\n key: 100,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.COOLING_TOWER,\n isGroup: true,\n name: 'Group',\n },\n ],\n linkDataArray: [],\n },\n [AtoGojsEditorModel.ENUM_TYPES.BOILER]: {\n nodeDataArray: [\n {\n type: AtoGojsEditorModel.ENUM_TEMPLATES.EMPTY,\n group: 100,\n loc: '0 0',\n data: {\n quantity: 2222,\n unit: 'm³',\n },\n name: 'top-left-marker',\n color: '#a8438d',\n },\n {\n type: AtoGojsEditorModel.ENUM_TEMPLATES.EMPTY,\n group: 100,\n data: {\n quantity: 3333,\n unit: 'm³',\n },\n name: 'bottom-right-marker',\n color: '#a8438d',\n extendedData: {\n loc: '1220 660',\n },\n extendedDataResponsive: {\n loc: '700 300',\n },\n },\n // For view Chemistry\n {\n type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE,\n group: 100,\n loc: '10 310',\n padding: new go.Margin(0, 0, 0, 0),\n ...DATA_WATER_SYSTEMS[WATER_SYSTEMS_NAME.MAKEUP_WATER],\n minSizeValue: new go.Size(100, NaN),\n selectable: false,\n dataTable: ASSET_CATEGORY_PARAMS__BOILER[\n WATER_SYSTEMS_NAME.MAKEUP_WATER__CHEMISTRY\n ].map((e) => ({\n ...e,\n value: '',\n isEditable: true,\n maxSizeValue: 140,\n waterSystem: WATER_SYSTEMS_NAME.MAKEUP_WATER,\n })),\n assetLayers: ATO_ASSET_LAYERS.CHEMISTRY,\n extendedData: {\n visible: true,\n },\n extendedDataResponsive: {\n visible: false,\n },\n },\n\n {\n type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE,\n group: 100,\n loc: '10 15',\n padding: new go.Margin(0, 0, 0, 0),\n ...DATA_WATER_SYSTEMS[WATER_SYSTEMS_NAME.SYSTEM_KPIS],\n minSizeValue: new go.Size(100, NaN),\n selectable: false,\n dataTable: ASSET_CATEGORY_PARAMS__BOILER[\n WATER_SYSTEMS_NAME.SYSTEM_KPIS_STEAM\n ].map((e) => ({\n ...e,\n value: `Mapping in \"Steam\" section`,\n isEditable: false,\n maxSizeValue: 220,\n waterSystem: WATER_SYSTEMS_NAME.SYSTEM_KPIS,\n isReadOnly: true,\n isFrom: ATO_MAPPER_FROM.PLUGIN,\n // font: '10px sans-serif',\n maxSizeNameParam: new go.Size(125, 15),\n })).concat(ASSET_CATEGORY_PARAMS__BOILER[\n WATER_SYSTEMS_NAME.SYSTEM_KPIS_BOILER_WATER\n ].map((e) => ({\n ...e,\n value: `Mapping in \"Boiler Water\" section`,\n isEditable: false,\n maxSizeValue: 220,\n waterSystem: WATER_SYSTEMS_NAME.SYSTEM_KPIS,\n isReadOnly: true,\n isFrom: ATO_MAPPER_FROM.PLUGIN,\n // font: '10px sans-serif',\n maxSizeNameParam: new go.Size(125, 15),\n }))),\n assetLayers: ATO_ASSET_LAYERS.CHEMISTRY,\n isFrom: ATO_MAPPER_FROM.PLUGIN,\n extendedData: {\n visible: false,\n },\n extendedDataisFromPlugin: {\n visible: true,\n },\n extendedDataResponsive: {\n visible: false,\n },\n extendedDataisFromPluginResponsive: {\n visible: false,\n },\n },\n {\n type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE,\n group: 100,\n loc: '400 15',\n padding: new go.Margin(0, 0, 0, 0),\n ...DATA_WATER_SYSTEMS[WATER_SYSTEMS_NAME.CONDENSATE_RETURN],\n minSizeValue: new go.Size(100, NaN),\n selectable: false,\n dataTable: ASSET_CATEGORY_PARAMS__BOILER[\n WATER_SYSTEMS_NAME.CONDENSATE_RETURN__CHEMISTRY\n ].map((e) => ({\n ...e,\n value: '',\n isEditable: true,\n maxSizeValue: 140,\n waterSystem: WATER_SYSTEMS_NAME.CONDENSATE_RETURN,\n })),\n assetLayers: ATO_ASSET_LAYERS.CHEMISTRY,\n extendedData: {\n visible: true,\n },\n extendedDataResponsive: {\n visible: false,\n },\n },\n {\n type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE,\n group: 100,\n loc: '840 70',\n padding: new go.Margin(0, 0, 0, 0),\n ...DATA_WATER_SYSTEMS[WATER_SYSTEMS_NAME.STEAM],\n minSizeValue: new go.Size(100, NaN),\n selectable: false,\n dataTable: ASSET_CATEGORY_PARAMS__BOILER[\n WATER_SYSTEMS_NAME.STEAM__CHEMISTRY\n ].map((e) => ({\n ...e,\n value: '',\n isEditable: true,\n maxSizeValue: 140,\n waterSystem: WATER_SYSTEMS_NAME.STEAM,\n })),\n assetLayers: ATO_ASSET_LAYERS.CHEMISTRY,\n extendedData: {\n visible: true,\n },\n extendedDataResponsive: {\n visible: false,\n },\n },\n {\n type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE,\n group: 100,\n loc: '460 520',\n padding: new go.Margin(0, 0, 0, 0),\n ...DATA_WATER_SYSTEMS[WATER_SYSTEMS_NAME.BOILER_FEED_WATER],\n minSizeValue: new go.Size(100, NaN),\n selectable: false,\n dataTable: ASSET_CATEGORY_PARAMS__BOILER[\n WATER_SYSTEMS_NAME.BOILER_FEED_WATER__CHEMISTRY\n ].map((e) => ({\n ...e,\n value: '',\n isEditable: true,\n maxSizeValue: 140,\n waterSystem: WATER_SYSTEMS_NAME.BOILER_FEED_WATER,\n })),\n assetLayers: ATO_ASSET_LAYERS.CHEMISTRY,\n extendedData: {\n visible: true,\n },\n extendedDataResponsive: {\n visible: false,\n },\n },\n {\n type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE,\n group: 100,\n loc: '920 250',\n padding: new go.Margin(0, 10, 0, 0),\n ...DATA_WATER_SYSTEMS[WATER_SYSTEMS_NAME.BOILER_WATER],\n minSizeValue: new go.Size(100, NaN),\n selectable: false,\n dataTable: ASSET_CATEGORY_PARAMS__BOILER[\n WATER_SYSTEMS_NAME.BOILER_WATER\n ].map((e) => ({\n ...e,\n value: '',\n isEditable: true,\n maxSizeValue: 140,\n waterSystem: WATER_SYSTEMS_NAME.BOILER_WATER,\n })),\n assetLayers: ATO_ASSET_LAYERS.CHEMISTRY,\n extendedData: {\n visible: true,\n },\n extendedDataResponsive: {\n visible: false,\n },\n },\n {\n type: AtoGojsEditorModel.ENUM_TEMPLATES.IMAGE_TEMPLATE,\n source: AtoGojsEditorModel.IMAGE_BOILER_PATH,\n group: 100,\n loc: '0 0',\n selectable: false,\n extendedData: {\n margin: new go.Margin(150, 160, 0, 0),\n },\n extendedDataResponsive: {\n margin: new go.Margin(20, 20, 0, 0),\n },\n },\n {\n type: AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_LABEL,\n group: 100,\n loc: '80 285',\n name: WATER_SYSTEMS_NAME.MAKEUP_WATER,\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n assetLayers: ATO_ASSET_LAYERS.CHEMISTRY,\n extendedData: {\n visible: false,\n },\n extendedDataResponsive: {\n visible: true,\n },\n },\n {\n type: AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_LABEL,\n group: 100,\n loc: '300 17',\n name: WATER_SYSTEMS_NAME.CONDENSATE_RETURN,\n color: AtoGojsEditorModel.ENUM_COLORS.FOUNTAIN_BLUE,\n assetLayers: ATO_ASSET_LAYERS.CHEMISTRY,\n extendedData: {\n visible: false,\n },\n extendedDataResponsive: {\n visible: true,\n },\n },\n {\n type: AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_LABEL,\n group: 100,\n loc: '760 17',\n name: WATER_SYSTEMS_NAME.STEAM,\n color: AtoGojsEditorModel.ENUM_COLORS.FLAMINGO,\n assetLayers: ATO_ASSET_LAYERS.CHEMISTRY,\n extendedData: {\n visible: false,\n },\n extendedDataResponsive: {\n visible: true,\n },\n },\n {\n type: AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_LABEL,\n group: 100,\n loc: '490 400',\n name: WATER_SYSTEMS_NAME.BOILER_FEED_WATER,\n color: AtoGojsEditorModel.ENUM_COLORS.LIGHT_SKY_BLUE_2,\n assetLayers: ATO_ASSET_LAYERS.CHEMISTRY,\n extendedData: {\n visible: false,\n },\n extendedDataResponsive: {\n visible: true,\n },\n },\n {\n type: AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_LABEL,\n group: 100,\n loc: '920 160',\n name: WATER_SYSTEMS_NAME.BOILER_WATER,\n color: AtoGojsEditorModel.ENUM_COLORS.REGENT_ST_BLUE,\n assetLayers: ATO_ASSET_LAYERS.CHEMISTRY,\n extendedData: {\n visible: false,\n },\n extendedDataResponsive: {\n visible: true,\n },\n },\n // For view Flow\n {\n type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE,\n group: 100,\n loc: '15 330',\n padding: new go.Margin(0, 0, 0, 0),\n ...DATA_WATER_SYSTEMS[WATER_SYSTEMS_NAME.MAKEUP_WATER],\n minSizeValue: new go.Size(100, NaN),\n selectable: false,\n dataTable: ASSET_CATEGORY_PARAMS__BOILER[\n WATER_SYSTEMS_NAME.MAKEUP_WATER__FLOW\n ].map((e) => ({\n ...e,\n value: '',\n isEditable: true,\n maxSizeValue: 140,\n waterSystem: WATER_SYSTEMS_NAME.MAKEUP_WATER,\n })),\n assetLayers: ATO_ASSET_LAYERS.FLOW,\n extendedData: {\n visible: true,\n },\n extendedDataResponsive: {\n visible: false,\n },\n },\n {\n type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE,\n group: 100,\n loc: '230 50',\n padding: new go.Margin(0, 0, 0, 0),\n ...DATA_WATER_SYSTEMS[WATER_SYSTEMS_NAME.CONDENSATE_RETURN],\n minSizeValue: new go.Size(100, NaN),\n selectable: false,\n dataTable: ASSET_CATEGORY_PARAMS__BOILER[\n WATER_SYSTEMS_NAME.CONDENSATE_RETURN__FLOW\n ].map((e) => ({\n ...e,\n value: '',\n isEditable: true,\n maxSizeValue: 140,\n waterSystem: WATER_SYSTEMS_NAME.CONDENSATE_RETURN,\n })),\n assetLayers: ATO_ASSET_LAYERS.FLOW,\n extendedData: {\n visible: true,\n },\n extendedDataResponsive: {\n visible: false,\n },\n },\n {\n type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE,\n group: 100,\n loc: '830 50',\n padding: new go.Margin(0, 0, 0, 0),\n ...DATA_WATER_SYSTEMS[WATER_SYSTEMS_NAME.STEAM],\n minSizeValue: new go.Size(100, NaN),\n selectable: false,\n dataTable: ASSET_CATEGORY_PARAMS__BOILER[\n WATER_SYSTEMS_NAME.STEAM__FLOW\n ].map((e) => ({\n ...e,\n value: '',\n isEditable: true,\n maxSizeValue: 140,\n waterSystem: WATER_SYSTEMS_NAME.STEAM,\n })),\n assetLayers: ATO_ASSET_LAYERS.FLOW,\n extendedData: {\n visible: true,\n },\n extendedDataResponsive: {\n visible: false,\n },\n },\n {\n type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE,\n group: 100,\n loc: '470 530',\n padding: new go.Margin(0, 0, 0, 0),\n ...DATA_WATER_SYSTEMS[WATER_SYSTEMS_NAME.BOILER_FEED_WATER],\n minSizeValue: new go.Size(100, NaN),\n selectable: false,\n dataTable: ASSET_CATEGORY_PARAMS__BOILER[\n WATER_SYSTEMS_NAME.BOILER_FEED_WATER__FLOW\n ].map((e) => ({\n ...e,\n value: '',\n isEditable: true,\n maxSizeValue: 140,\n waterSystem: WATER_SYSTEMS_NAME.BOILER_FEED_WATER,\n })),\n assetLayers: ATO_ASSET_LAYERS.FLOW,\n extendedData: {\n visible: true,\n },\n extendedDataResponsive: {\n visible: false,\n },\n },\n {\n type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE,\n group: 100,\n loc: '15 220',\n padding: new go.Margin(0, 0, 0, 0),\n ...DATA_WATER_SYSTEMS[WATER_SYSTEMS_NAME.STEAM_LOSS],\n minSizeValue: new go.Size(100, NaN),\n selectable: false,\n dataTable: ASSET_CATEGORY_PARAMS__BOILER[\n WATER_SYSTEMS_NAME.STEAM_LOSS\n ].map((e) => ({\n ...e,\n value: '',\n isEditable: true,\n maxSizeValue: 140,\n waterSystem: WATER_SYSTEMS_NAME.STEAM_LOSS,\n })),\n assetLayers: ATO_ASSET_LAYERS.FLOW,\n extendedData: {\n visible: true,\n },\n extendedDataResponsive: {\n visible: false,\n },\n },\n {\n type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE,\n group: 100,\n loc: '900 425',\n padding: new go.Margin(0, 0, 0, 0),\n ...DATA_WATER_SYSTEMS[WATER_SYSTEMS_NAME.BLOWDOWN],\n minSizeValue: new go.Size(100, NaN),\n selectable: false,\n dataTable: ASSET_CATEGORY_PARAMS__BOILER[\n WATER_SYSTEMS_NAME.BLOWDOWN\n ].map((e) => ({\n ...e,\n value: '',\n isEditable: true,\n maxSizeValue: 140,\n waterSystem: WATER_SYSTEMS_NAME.BLOWDOWN,\n })),\n assetLayers: ATO_ASSET_LAYERS.FLOW,\n extendedData: {\n visible: true,\n },\n extendedDataResponsive: {\n visible: false,\n },\n },\n\n {\n type: AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_LABEL,\n group: 100,\n loc: '80 280',\n name: WATER_SYSTEMS_NAME.MAKEUP_WATER,\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n assetLayers: ATO_ASSET_LAYERS.FLOW,\n extendedData: {\n visible: false,\n },\n extendedDataResponsive: {\n visible: true,\n },\n },\n {\n type: AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_LABEL,\n group: 100,\n loc: '300 17',\n name: WATER_SYSTEMS_NAME.CONDENSATE_RETURN,\n color: AtoGojsEditorModel.ENUM_COLORS.FOUNTAIN_BLUE,\n assetLayers: ATO_ASSET_LAYERS.FLOW,\n extendedData: {\n visible: false,\n },\n extendedDataResponsive: {\n visible: true,\n },\n },\n {\n type: AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_LABEL,\n group: 100,\n loc: '760 17',\n name: WATER_SYSTEMS_NAME.STEAM,\n color: AtoGojsEditorModel.ENUM_COLORS.FLAMINGO,\n assetLayers: ATO_ASSET_LAYERS.FLOW,\n extendedData: {\n visible: false,\n },\n extendedDataResponsive: {\n visible: true,\n },\n },\n {\n type: AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_LABEL,\n group: 100,\n loc: '490 400',\n name: WATER_SYSTEMS_NAME.BOILER_FEED_WATER,\n color: AtoGojsEditorModel.ENUM_COLORS.LIGHT_SKY_BLUE_2,\n assetLayers: ATO_ASSET_LAYERS.FLOW,\n extendedData: {\n visible: false,\n },\n extendedDataResponsive: {\n visible: true,\n },\n },\n {\n type: AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_LABEL,\n group: 100,\n loc: '380 200',\n name: WATER_SYSTEMS_NAME.STEAM_LOSS,\n color: AtoGojsEditorModel.ENUM_COLORS.FLAMINGO,\n assetLayers: ATO_ASSET_LAYERS.FLOW,\n extendedData: {\n visible: false,\n },\n extendedDataResponsive: {\n visible: true,\n },\n },\n\n {\n key: 100,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.BOILER,\n isGroup: true,\n name: 'Group',\n },\n ],\n linkDataArray: [],\n },\n [AtoGojsEditorModel.ENUM_TYPES.OTHER]: {\n nodeDataArray: [\n {\n key: 90,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Inflow',\n value: '0 kl',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n group: 100,\n loc: '0 140.5',\n },\n {\n key: 91,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Outflow',\n value: '0 kl',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n group: 100,\n loc: '300 134.5',\n },\n {\n key: 92,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Loss',\n value: 'M',\n color: AtoGojsEditorModel.ENUM_COLORS.BLUE,\n group: 100,\n colorValue: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n loc: '160.5 0',\n },\n {\n key: 99,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.SPECIAL_OTHER,\n group: 100,\n loc: '92.5 95',\n },\n {\n key: 100,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.OTHER,\n isGroup: true,\n name: 'Group',\n },\n ],\n linkDataArray: [\n { from: 90, to: 99, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 91, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 92, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n ],\n },\n [AtoGojsEditorModel.ENUM_TYPES.LANDSCAPING_IRRIGATION]: {\n nodeDataArray: [\n {\n key: 90,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Inflow',\n value: '0 kl',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n group: 100,\n loc: '0 140.5',\n },\n {\n key: 91,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Loss',\n value: 'M',\n color: AtoGojsEditorModel.ENUM_COLORS.BLUE,\n group: 100,\n colorValue: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n loc: '300 140.5',\n },\n {\n key: 99,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.SPECIAL_DISCHARGE,\n group: 100,\n loc: '92.5 95',\n },\n {\n key: 100,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.LANDSCAPING_IRRIGATION,\n isGroup: true,\n name: 'Group',\n },\n ],\n linkDataArray: [\n { from: 90, to: 99, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 91, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n ],\n },\n};\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\n@Component({\n selector: 'ato-asset-params-view',\n templateUrl: './asset-params-view.component.html',\n styleUrls: ['./asset-params-view.component.scss']\n})\nexport class AtoAssetParamsViewComponent {\n @Input() isEditView = false;\n @Input() data: any[] = [];\n @Output() clickParamTableRow = new EventEmitter();\n\n onClickRowParam(itemTable) {\n if (this.isEditView && itemTable?.isEditable) {\n this.clickParamTableRow.emit(itemTable);\n }\n }\n}\n","<div class=\"d-flex flex-column flex-gap-2\">\n <div class=\"\" *ngFor=\"let tableParam of data\">\n <ng-template\n [ngTemplateOutlet]=\"tableParamTemplate\"\n [ngTemplateOutletContext]=\"{\n data: tableParam\n }\"\n ></ng-template>\n </div>\n</div>\n\n<ng-template #tableParamTemplate let-data=\"data\">\n <div\n class=\"d-flex flex-column asset-param-item w-100\"\n [style.backgroundColor]=\"data?.color\"\n >\n <div\n class=\"d-flex align-items-center justify-content-between py-1 pl-1 pr-2 cursor-pointer\"\n (click)=\"data.isCollapsed = !data.isCollapsed\"\n >\n <div class=\"font-size-14px flex-grow-1 text-truncate color-white\">\n {{ data?.title }}\n </div>\n <svg\n *ngIf=\"data.isCollapsed\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 320 512\"\n fill=\"#FFFF\"\n class=\"fa-solid font-size-14px color-white svg-15px\"\n >\n <path\n d=\"M278.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-160 160c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L210.7 256 73.4 118.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l160 160z\"\n />\n </svg>\n <svg\n *ngIf=\"!data.isCollapsed\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 448 512\"\n fill=\"#FFFF\"\n class=\"fa-solid font-size-14px color-white svg-15px\"\n >\n <path\n d=\"M201.4 374.6c12.5 12.5 32.8 12.5 45.3 0l160-160c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 306.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160z\"\n />\n </svg>\n </div>\n <div class=\"px-1 pb-1\" *ngIf=\"!data.isCollapsed\">\n <div\n class=\"table-asset-param-wrapper\"\n [style.backgroundColor]=\"data?.bgColor\"\n >\n <table>\n <tbody>\n <tr\n *ngFor=\"let itemTable of data?.dataTable\"\n (click)=\"onClickRowParam(itemTable)\"\n class=\"cursor-pointer\"\n >\n <td\n class=\"font-size-13px\"\n [style.borderColor]=\"data?.borderTable\"\n >\n {{ itemTable?.name }}\n </td>\n <td\n class=\"font-size-13px\"\n [style.borderColor]=\"data?.borderTable\"\n >\n <div class=\"d-flex align-items-center flex-gap-2\">\n <div\n class=\"mr-auto font-size-13px flex-grow-1\"\n [style.color]=\"itemTable?.color\"\n >\n {{ itemTable?.value }}\n </div>\n <svg *ngIf=\"isEditView && itemTable?.isEditable\" class=\"svg-15px\" fill=\"#333333\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><path d=\"M441 58.9L453.1 71c9.4 9.4 9.4 24.6 0 33.9L424 134.1 377.9 88 407 58.9c9.4-9.4 24.6-9.4 33.9 0zM209.8 256.2L344 121.9 390.1 168 255.8 302.2c-2.9 2.9-6.5 5-10.4 6.1l-58.5 16.7 16.7-58.5c1.1-3.9 3.2-7.5 6.1-10.4zM373.1 25L175.8 222.2c-8.7 8.7-15 19.4-18.3 31.1l-28.6 100c-2.4 8.4-.1 17.4 6.1 23.6s15.2 8.5 23.6 6.1l100-28.6c11.8-3.4 22.5-9.7 31.1-18.3L487 138.9c28.1-28.1 28.1-73.7 0-101.8L474.9 25C446.8-3.1 401.2-3.1 373.1 25zM88 64C39.4 64 0 103.4 0 152V424c0 48.6 39.4 88 88 88H360c48.6 0 88-39.4 88-88V312c0-13.3-10.7-24-24-24s-24 10.7-24 24V424c0 22.1-17.9 40-40 40H88c-22.1 0-40-17.9-40-40V152c0-22.1 17.9-40 40-40H200c13.3 0 24-10.7 24-24s-10.7-24-24-24H88z\"/></svg>\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n </div>\n </div>\n</ng-template>\n","import {\n Component,\n EventEmitter,\n HostListener,\n Input,\n OnInit,\n Output,\n ViewChild,\n} from '@angular/core';\nimport * as go from 'gojs';\nimport _ from 'lodash';\nimport { AtoGoJSBase64 } from '../../constants/base64.const';\nimport {\n ATO_ASSET_LAYERS,\n ATO_COMPONENTS_GROUP_DATA,\n} from '../../constants/components-group-const';\nimport { AtoDefaultFlowData } from '../../models/ato-asset-flow.model';\nimport { AtoGoJSData } from '../../models/gojs-data.model';\nimport { AtoGojsEditorModel } from '../../models/gojs-editor.model';\nimport { AtoAssetParamsViewComponent } from '../asset-params-view/asset-params-view.component';\nimport { AtoFlowDiagramLibComponent } from '../flow-diagram-lib/flow-diagram-lib.component';\n\n@Component({\n selector: 'ato-asset-flow',\n templateUrl: './asset-flow.component.html',\n styleUrls: ['./asset-flow.component.scss'],\n})\nexport class AssetFlowComponent implements OnInit {\n @Input() assetLayer: ATO_ASSET_LAYERS;\n @ViewChild(AtoFlowDiagramLibComponent)\n gjFlowDiagramTemp: AtoFlowDiagramLibComponent;\n @ViewChild(AtoAssetParamsViewComponent)\n assetParamsViewTemp: AtoAssetParamsViewComponent;\n @Input() selectedComponent: any;\n @Input() systemType: AtoGojsEditorModel.ENUM_TYPES;\n @Output() onClickParamOfTableEvent: EventEmitter<any> =\n new EventEmitter<any>();\n @Input() isUseBase64 = false;\n @Input() isFrom: string;\n $ = go.GraphObject.make;\n options = {\n layout: this.$(go.LayeredDigraphLayout, {\n // direction: 0,\n }),\n // isReadOnly: true,\n };\n\n private _flowData: any;\n @Input() set flowData(v: AtoGoJSData) {\n this._flowData = v;\n this.updateDataTableAssetParams({ ...v, assetLayer: this.assetLayer });\n }\n get flowData(): AtoGoJSData {\n return this._flowData;\n }\n\n // Reponsive\n dataTableAssetParams: any[];\n // @Input() isResponsiveView = false;\n get isResponsiveView() {\n return window.innerWidth < 1024;\n }\n @Input() getFlowDataCallBack: Function;\n\n timeoutResizeWindow;\n @HostListener('window:resize', ['$event'])\n onResize(event: Event): void {\n // Now only Support Cooling Tower Responsive\n if (this.timeoutResizeWindow) {\n clearTimeout(this.timeoutResizeWindow);\n }\n this.timeoutResizeWindow = setTimeout(() => {\n this.updateLocationReponsive();\n }, 1000);\n }\n\n updateLocationReponsive() {\n if (!this.flowData?.nodeDataArray) {\n this.flowData = AssetFlowComponent.getDefaultFlowData({\n systemType: this.systemType,\n isUseBase64: this.isUseBase64,\n assetLayer: this.assetLayer,\n });\n }\n _.forEach(this.flowData?.nodeDataArray, (node: any) => {\n node = _.merge(\n node,\n node[`extendedData${this.isResponsiveView ? 'Responsive' : ''}`]\n );\n });\n this.setFlowData(_.cloneDeep(this.flowData));\n }\n\n ngOnInit() {\n this.updateLocationReponsive();\n }\n onClickParamOfTable($event: any) {\n this.onClickParamOfTableEvent.emit($event);\n }\n\n static getDefaultFlowData(defaultData: AtoDefaultFlowData) {\n const flowData = {\n ...defaultData,\n ..._.cloneDeep(ATO_COMPONENTS_GROUP_DATA)[defaultData?.systemType],\n linkFromPortIdProperty: 'fromPort',\n linkToPortIdProperty: 'toPort',\n };\n const isResponsiveView = window.innerWidth < 1024;\n // Reponsive\n _.forEach(flowData?.nodeDataArray, (node: any) => {\n const propertyNameExtend = `extendedData${defaultData.isFrom && node?.isFrom ? `isFrom${defaultData.isFrom}` : ''}${isResponsiveView ? 'Responsive' : ''}`;\n node = _.merge(\n node,\n node[propertyNameExtend]\n );\n if (node?.assetLayers) {\n node.visible =\n node?.assetLayers === defaultData?.assetLayer &&\n node[propertyNameExtend]?.visible;\n }\n if (defaultData.isFrom && node?.dataTable) {\n _.forEach(node?.dataTable, item => {\n if (item?.isFrom) {\n item.visible = item?.isFrom === defaultData.isFrom;\n }\n item = _.merge(\n item,\n item[`extendedDataIsFrom${defaultData.isFrom}`]\n );\n })\n }\n });\n // assetLayer\n // flowData.nodeDataArray = _.filter(flowData.nodeDataArray, x => !x?.assetLayers || (x?.assetLayers && x?.assetLayers === (defaultData?.assetLayer ?? ATO_ASSET_LAYERS.FLOW)))\n if (defaultData?.isUseBase64) {\n const itemImageTemp = (flowData as AtoGoJSData)?.nodeDataArray?.find(\n (x) => x?.type === 'Image Template'\n );\n if (itemImageTemp) {\n itemImageTemp.source = AtoGoJSBase64[defaultData?.systemType];\n }\n }\n return flowData;\n }\n\n setFlowData(data: AtoGoJSData) {\n _.forEach(data.nodeDataArray, (node) => {\n const propertyNameExtend = `extendedData${data.isFrom && node?.isFrom ? `isFrom${data.isFrom}` : ''}${this.isResponsiveView ? 'Responsive' : ''}`;\n node = _.merge(\n node,\n node[propertyNameExtend],\n );\n if (node?.assetLayers) {\n node.visible =\n node?.assetLayers === data.assetLayer &&\n node[propertyNameExtend]\n ?.visible;\n }\n if (data.isFrom && node?.dataTable) {\n _.forEach(node?.dataTable, item => {\n if (item?.isFrom) {\n item.visible = item?.isFrom === data.isFrom;\n }\n item = _.merge(\n item,\n item[`extendedDataIsFrom${data.isFrom}`]\n );\n })\n }\n });\n this.flowData = {\n ...data,\n };\n this.updateDataTableAssetParams(data);\n }\n\n updateDataTableAssetParams(data: AtoGoJSData) {\n this.dataTableAssetParams = _.forEach(\n this.flowData?.nodeDataArray?.filter(\n (e) =>\n e?.type === AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE &&\n (data?.assetLayer ? (e?.assetLayers === data?.assetLayer) : true)\n ),\n (x) => {\n if (!data?.isRefresh) {\n x.isCollapsed = this.assetParamsViewTemp?.data?.find(\n (y) => y?.key === x?.key\n )?.isCollapsed;\n }\n }\n );\n }\n}\n","<div class=\"h-100 d-flex flex-column flex-gap-3 flex-grow-1 overflow-auto px-3 pb-3\">\n <div class=\"h-100 d-flex flex-column\" atoLoading [appLoading]=\"flowData === null\">\n <ato-flow-diagram-lib\n *ngIf=\"flowData !== null\"\n #gjFlowDiagramTemp\n [data]=\"flowData\"\n [initialOptions]=\"options\"\n (onClikParamOfTable)=\"onClickParamOfTable($event)\"\n [class]=\"!!isResponsiveView ? 'diagram-responsive-view' : 'flex-grow-1'\"\n ></ato-flow-diagram-lib>\n <div class=\"mt-2\" *ngIf=\"isResponsiveView\">\n <ato-asset-params-view\n #assetParamsViewTemp\n [data]=\"dataTableAssetParams\"\n [isEditView]=\"true\"\n (clickParamTableRow)=\"onClickParamOfTable($event)\"\n ></ato-asset-params-view>\n </div>\n </div>\n</div>\n\n","import { Directive, Input, TemplateRef, ViewContainerRef } from '@angular/core';\n\n@Directive({\n selector: '[ngAtoVar]',\n})\nexport class AtoNgVarDirective {\n @Input()\n set ngAtoVar(context: unknown) {\n this.context.$implicit = this.context.ngAtoVar = context;\n\n if (!this.hasView) {\n this.vcRef.createEmbeddedView(this.templateRef, this.context);\n this.hasView = true;\n }\n }\n\n private context: {\n $implicit: unknown;\n ngAtoVar: unknown;\n } = {\n $implicit: null,\n ngAtoVar: null,\n };\n\n private hasView: boolean = false;\n\n constructor(private templateRef: TemplateRef<any>, private vcRef: ViewContainerRef) {}\n}","import { NgModule } from '@angular/core';\nimport { AtoWaterLibComponent } from './ato-water-lib.component';\nimport { AtoFlowDiagramLibComponent } from './components/flow-diagram-lib/flow-diagram-lib.component';\nimport { AssetFlowComponent } from './components/asset-flow/asset-flow.component';\nimport { CommonModule } from '@angular/common';\nimport { AtoLoadingDirective } from './directive/ato-loading.directive';\nimport { AtoAssetParamsViewComponent } from './components/asset-params-view/asset-params-view.component';\nimport { AtoNgVarDirective } from './directive/ng-var.directive';\n\n@NgModule({\n declarations: [\n AtoWaterLibComponent,\n AtoFlowDiagramLibComponent,\n AssetFlowComponent,\n AtoLoadingDirective,\n AtoAssetParamsViewComponent,\n AtoNgVarDirective,\n ],\n imports: [\n CommonModule,\n ],\n exports: [\n AtoWaterLibComponent,\n AtoFlowDiagramLibComponent,\n AssetFlowComponent,\n AtoLoadingDirective,\n AtoAssetParamsViewComponent,\n AtoNgVarDirective,\n ]\n})\nexport class AtoWaterLibModule { }\n","/*\n * Public API Surface of ato-water-lib\n */\n\nexport * from './lib/ato-water-lib.service';\nexport * from './lib/ato-water-lib.component';\nexport * from './lib/ato-water-lib.module';\n// Component\nexport * from './lib/components/flow-diagram-lib/flow-diagram-lib.component';\nexport * from './lib/components/asset-flow/asset-flow.component';\nexport * from './lib/components/asset-params-view/asset-params-view.component';\n// Directive\nexport * from './lib/directive/ato-loading.directive';\nexport * from './lib/directive/ng-var.directive';\n// Enum\nexport * from './lib/constants/components-group-const';\n// Model\nexport * from './lib/models/gojs-editor.model';\n\n\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["uuidV4","i2.AtoLoadingDirective","i2.AtoFlowDiagramLibComponent","i3.AtoLoadingDirective","i4.AtoAssetParamsViewComponent"],"mappings":"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CA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA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A,CAAA,IAAA,CAAA,GAAA,IAAS,CAAA;;AAET,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAA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gB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAA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"}
1
+ {"version":3,"file":"ato-water-lib.mjs","sources":["../../../projects/ato-water-lib/src/lib/ato-water-lib.service.ts","../../../projects/ato-water-lib/src/lib/ato-water-lib.component.ts","../../../projects/ato-water-lib/src/lib/constants/value.const.ts","../../../projects/ato-water-lib/src/lib/models/gojs-editor.model.ts","../../../projects/ato-water-lib/src/lib/constants/key.const.ts","../../../projects/ato-water-lib/src/lib/constants/applicable-prefixes-const.ts","../../../projects/ato-water-lib/src/lib/services/utils/utils.service.ts","../../../projects/ato-water-lib/src/lib/constants/plant.constant.ts","../../../projects/ato-water-lib/src/lib/constants/icon-base64.const.ts","../../../projects/ato-water-lib/src/lib/models/default-gojs-editor.model.ts","../../../projects/ato-water-lib/src/lib/directive/ato-loading.directive.ts","../../../projects/ato-water-lib/src/lib/components/flow-diagram-lib/flow-diagram-lib.component.ts","../../../projects/ato-water-lib/src/lib/components/flow-diagram-lib/flow-diagram-lib.component.html","../../../projects/ato-water-lib/src/lib/constants/base64.const.ts","../../../projects/ato-water-lib/src/lib/constants/components-group-const.ts","../../../projects/ato-water-lib/src/lib/components/asset-params-view/asset-params-view.component.ts","../../../projects/ato-water-lib/src/lib/components/asset-params-view/asset-params-view.component.html","../../../projects/ato-water-lib/src/lib/components/asset-flow/asset-flow.component.ts","../../../projects/ato-water-lib/src/lib/components/asset-flow/asset-flow.component.html","../../../projects/ato-water-lib/src/lib/directive/ng-var.directive.ts","../../../projects/ato-water-lib/src/lib/ato-water-lib.module.ts","../../../projects/ato-water-lib/src/public-api.ts","../../../projects/ato-water-lib/src/ato-water-lib.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AtoWaterLibService {\n\n constructor() { }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'lib-ato-water-lib',\n template: `\n <p>\n ato-water-lib works!\n </p>\n `,\n styles: [\n ]\n})\nexport class AtoWaterLibComponent {\n\n}\n","// import { AnalyticsService } from '@dashboards-shared/services/analytics.service';\n// import { E_Frequency } from './frequency.enum';\n// import { ENUM_RISK_COLOR } from './information.const';\n// import { ABBREVIATION } from './applicable-prefixes-const';\n\n// export const DEFAULT_NAMES_MAPPING: any = {\n// CMS: 'CMS',\n// ETP: 'ETP',\n// ZLD: 'ZLD',\n// RO: 'RO',\n// CMSLabWashing: 'CMS Lab Washing',\n// };\n\nexport const VALUE_NA = 'NA';\nexport const NO_DATA = 'No Data';\nexport const VALUE_NA_SPECIAL = 'N/A';\nexport const TEXT_UNKNOWN = '?';\nexport const TEXT_ERR = '!Err';\nexport const NO_ENOUGH_DATA = 'Not enough data';\n\n// For Element DOM\nexport const KEY_CREATE_DOM_TO_DOWNLOAD = 'newCreateToDownload';\nexport const NO_HIDDEN = 'noHidden';\n\nexport const GROUP_PLANT_CELL_KEY = 3000;\nexport const GROUP_PC_INPUTS_KEY = 1000;\nexport const GROUP_PC_OUTPUTS_KEY = 2000;\nexport const ENUM_ROLES = 'ROLES';\n\nexport enum E_FILTER_KEY {\n VIEW_MODE = 'viewMode',\n WATER_UNIT = 'waterUnit',\n ENERGY_UNIT = 'energyUnit',\n ELECTRICITY_UNIT = 'electricityUnit',\n NATURAL_GAS_UNIT = 'naturalGasUnit',\n FUEL_UNIT = 'fuelUnit',\n CURRENCY_UNIT = 'currencyUnit',\n}\n\nexport enum ATO_ECOMPONENT_PLANT_TYPE {\n WATER = 'water',\n ENERGY = 'energy',\n ELECTRICITY = 'electricity',\n NATURAL_GAS = 'gas',\n FUEL = 'fuel',\n STEAM = 'steam',\n EMISSION = 'emission',\n COST = 'cost',\n\n WATER_PLANT_CELL = 'water-plant-cell',\n ENERGY_PLANT_CELL = 'energy-plant-cell',\n ELECTRICITY_PLANT_CELL = 'electricity-plant-cell',\n NATURAL_GAS_PLANT_CELL = 'gas-plant-cell',\n FUEL_PLANT_CELL = 'fuel-plant-cell',\n STEAM_PLANT_CELL = 'steam-plant-cell',\n EMISSION_PLANT_CELL = 'emission-plant-cell',\n COST_PLANT_CELL = 'cost-plant-cell',\n}\n\nexport const COMPOTYPE_CALL_PLANT_TOPOLOGY_DETAILS: string[] = [\n ATO_ECOMPONENT_PLANT_TYPE.WATER,\n ATO_ECOMPONENT_PLANT_TYPE.WATER_PLANT_CELL,\n ATO_ECOMPONENT_PLANT_TYPE.ENERGY_PLANT_CELL,\n ATO_ECOMPONENT_PLANT_TYPE.ELECTRICITY_PLANT_CELL,\n ATO_ECOMPONENT_PLANT_TYPE.NATURAL_GAS_PLANT_CELL,\n ATO_ECOMPONENT_PLANT_TYPE.FUEL_PLANT_CELL,\n ATO_ECOMPONENT_PLANT_TYPE.STEAM_PLANT_CELL,\n ATO_ECOMPONENT_PLANT_TYPE.EMISSION_PLANT_CELL,\n ATO_ECOMPONENT_PLANT_TYPE.COST_PLANT_CELL,\n];\n\nexport const COMPONENT_TYPE_OF_PLANT_CELL: string[] = [\n ATO_ECOMPONENT_PLANT_TYPE.WATER_PLANT_CELL,\n ATO_ECOMPONENT_PLANT_TYPE.ENERGY_PLANT_CELL,\n ATO_ECOMPONENT_PLANT_TYPE.ELECTRICITY_PLANT_CELL,\n ATO_ECOMPONENT_PLANT_TYPE.NATURAL_GAS_PLANT_CELL,\n ATO_ECOMPONENT_PLANT_TYPE.FUEL_PLANT_CELL,\n ATO_ECOMPONENT_PLANT_TYPE.STEAM_PLANT_CELL,\n ATO_ECOMPONENT_PLANT_TYPE.EMISSION_PLANT_CELL,\n ATO_ECOMPONENT_PLANT_TYPE.COST_PLANT_CELL,\n];\n\nexport const COMPONENT_TYPE_OF_PLANT_CELL_ENERGY: string[] = [\n ATO_ECOMPONENT_PLANT_TYPE.ENERGY_PLANT_CELL,\n ATO_ECOMPONENT_PLANT_TYPE.ELECTRICITY_PLANT_CELL,\n ATO_ECOMPONENT_PLANT_TYPE.NATURAL_GAS_PLANT_CELL,\n ATO_ECOMPONENT_PLANT_TYPE.FUEL_PLANT_CELL,\n ATO_ECOMPONENT_PLANT_TYPE.STEAM_PLANT_CELL,\n ATO_ECOMPONENT_PLANT_TYPE.EMISSION_PLANT_CELL,\n ATO_ECOMPONENT_PLANT_TYPE.COST_PLANT_CELL,\n];\n\n// export enum E_TOPOLOGY_TYPE {\n// OVER_VIEW = 'over-view',\n// PLANT_CELL = 'plant-cell',\n// }\n\nexport enum E_COMPONENT_DATA_TYPE {\n COMPONENT_WATER_FLOW = 'ComponentWaterFlow',\n COMPONENT_ENERGY_FLOW = 'ComponentEnergyFlow',\n}\n\nexport enum E_FLOW_RECORD {\n INFLOW_WATER_RECORD = 'InflowWaterRecord',\n OUTFLOW_WATER_RECORD = 'OutflowWaterRecord',\n INFLOW_ENERGY_RECORD = 'InflowEnergyRecord',\n OUTFLOW_ENERGY_RECORD = 'OutflowEnergyRecord',\n}\n\n// export enum TAB_DASHBOARD {\n// WATER = 'water',\n// WATER_LABEL = 'Water',\n// ENERGY_EMISSION = 'energy & emissions',\n// ENERGY_EMISSION_LABEL = 'Energy & Emissions',\n// }\n\n// export enum TAB_SETUP_COMPLIANCE {\n// PLANT_LEVEL = 'Plant level',\n// PROCESS_LEVEL = 'Process Level',\n// }\n\n// export enum PLANT_ENERGY_DIAGRAM_TABS_INDEX {\n// ENERGY = 0,\n// ELECTRICITY = 1,\n// NATURAL_GAS = 2,\n// FUEL = 3,\n// EMISSIONS = 4\n// }\n\nexport enum TAG_TYPE {\n WATER = 'Water',\n ELECTRICITY = 'Electricity',\n NATURAL_GAS = 'Natural Gas',\n FUEL = 'Fuel',\n STEAM = 'Steam',\n ENERGY = 'Energy',\n EMISSION = 'Emission',\n COST = 'Cost',\n WATER_ANALYTIC = 'Water Analytic',\n}\n\n// export enum TAB_WS_ENERGY_EMISSION {\n// TABLE = 'table',\n// DIAGRAM = 'diagram',\n// }\n\nexport const PLANT_ENERGY_DIAGRAM_TABS: {\n [key in ATO_ECOMPONENT_PLANT_TYPE]: any;\n} = {\n [ATO_ECOMPONENT_PLANT_TYPE.WATER]: {\n keyUnitFromList: 'Water',\n keyUnit: 'waterUnit',\n keyFlowTopology: 'Water',\n keyTab: 'Water',\n indexTab: -1,\n keyComponent: 'waterComponents',\n keyRoute: 'Water',\n subSystemId: 'subWaterSystemId',\n nameTab: 'Water',\n loc: 'locWater',\n keyToUpdateModel: 'waterData',\n topologyType: 'PlantTopology',\n type: 'water',\n componentFlow: E_COMPONENT_DATA_TYPE.COMPONENT_WATER_FLOW,\n topologyViewType: ATO_ECOMPONENT_PLANT_TYPE.WATER,\n iconClassName: 'fa-regular fa-tank-water font-size-16px',\n tagType: TAG_TYPE.WATER,\n inflowRecord: E_FLOW_RECORD.INFLOW_WATER_RECORD,\n outflowRecord: E_FLOW_RECORD.OUTFLOW_WATER_RECORD,\n keyGroupMenu: 'Water',\n },\n [ATO_ECOMPONENT_PLANT_TYPE.ENERGY]: {\n keyUnitFromList: 'Energy',\n keyUnit: 'energyUnit',\n keyFlowTopology: 'Energy',\n keyTab: 'Energy',\n indexTab: 4,\n keyComponent: '',\n keyRoute: 'energy',\n nameTab: 'Energy',\n loc: 'locEnergy',\n keyToUpdateModel: '',\n type: 'water',\n componentFlow: E_COMPONENT_DATA_TYPE.COMPONENT_ENERGY_FLOW,\n topologyViewType: ATO_ECOMPONENT_PLANT_TYPE.ENERGY,\n tagType: TAG_TYPE.ENERGY,\n inflowRecord: E_FLOW_RECORD.INFLOW_ENERGY_RECORD,\n outflowRecord: E_FLOW_RECORD.OUTFLOW_ENERGY_RECORD,\n },\n [ATO_ECOMPONENT_PLANT_TYPE.ELECTRICITY]: {\n keyUnitFromList: 'Electricity',\n keyUnit: 'electricityUnit',\n keyFlowTopology: 'Electricity',\n keyTab: 'Electricals',\n indexTab: 0,\n keyComponent: 'electricComponents',\n keyRoute: 'electricity',\n subSystemId: 'subElectricSystemId',\n nameTab: 'Electricity',\n loc: 'locElectricity',\n keyToUpdateModel: 'electricData',\n topologyType: 'Electricity',\n type: 'electricity',\n componentFlow: E_COMPONENT_DATA_TYPE.COMPONENT_ENERGY_FLOW,\n topologyViewType: ATO_ECOMPONENT_PLANT_TYPE.ELECTRICITY,\n iconClassName: 'fa-regular fa-bolt font-size-16px',\n tagType: TAG_TYPE.ELECTRICITY,\n inflowRecord: E_FLOW_RECORD.INFLOW_ENERGY_RECORD,\n outflowRecord: E_FLOW_RECORD.OUTFLOW_ENERGY_RECORD,\n keyGroupMenu: 'Electricity',\n },\n [ATO_ECOMPONENT_PLANT_TYPE.NATURAL_GAS]: {\n keyUnitFromList: 'Gas',\n keyUnit: 'naturalGasUnit',\n keyFlowTopology: 'NaturalGas',\n keyTab: 'NaturalGases',\n indexTab: 1,\n keyComponent: 'gasComponents',\n keyRoute: 'gas',\n subSystemId: 'subGasSystemId',\n nameTab: 'Natural Gas',\n loc: 'locGas',\n keyToUpdateModel: 'gasData',\n topologyType: 'NaturalGas',\n type: 'naturalgas',\n componentFlow: E_COMPONENT_DATA_TYPE.COMPONENT_ENERGY_FLOW,\n topologyViewType: ATO_ECOMPONENT_PLANT_TYPE.NATURAL_GAS,\n iconClassName: 'fa-regular fa-fire-flame-curved font-size-16px',\n tagType: TAG_TYPE.NATURAL_GAS,\n inflowRecord: E_FLOW_RECORD.INFLOW_ENERGY_RECORD,\n outflowRecord: E_FLOW_RECORD.OUTFLOW_ENERGY_RECORD,\n keyGroupMenu: 'NaturalGases',\n },\n [ATO_ECOMPONENT_PLANT_TYPE.FUEL]: {\n keyUnitFromList: 'Fuel',\n keyUnit: 'fuelUnit',\n keyFlowTopology: 'Fuel',\n keyTab: 'Fuels',\n indexTab: 2,\n keyComponent: 'fuelComponents',\n keyRoute: 'fuel',\n subSystemId: 'subFuelSystemId',\n nameTab: 'Fuel',\n loc: 'locFuel',\n keyToUpdateModel: 'fuelData',\n topologyType: 'Fuel',\n type: 'fuel',\n componentFlow: E_COMPONENT_DATA_TYPE.COMPONENT_ENERGY_FLOW,\n topologyViewType: ATO_ECOMPONENT_PLANT_TYPE.FUEL,\n iconClassName: 'fa-regular fa-gas-pump font-size-16px',\n tagType: TAG_TYPE.FUEL,\n inflowRecord: E_FLOW_RECORD.INFLOW_ENERGY_RECORD,\n outflowRecord: E_FLOW_RECORD.OUTFLOW_ENERGY_RECORD,\n keyGroupMenu: 'Fuels',\n },\n [ATO_ECOMPONENT_PLANT_TYPE.STEAM]: {\n keyUnitFromList: 'Steam',\n keyUnit: 'steamUnit',\n keyFlowTopology: 'Steam',\n keyTab: 'Steams',\n indexTab: 3,\n keyComponent: 'steamComponents',\n keyRoute: 'steam',\n subSystemId: 'subSteamSystemId',\n nameTab: 'Steam',\n loc: 'locSteam',\n keyToUpdateModel: 'steamData',\n topologyType: 'Steam',\n type: 'steam',\n componentFlow: E_COMPONENT_DATA_TYPE.COMPONENT_ENERGY_FLOW,\n topologyViewType: ATO_ECOMPONENT_PLANT_TYPE.STEAM,\n iconClassName: 'fa-regular fa-heat font-size-16px',\n tagType: TAG_TYPE.STEAM,\n inflowRecord: E_FLOW_RECORD.INFLOW_ENERGY_RECORD,\n outflowRecord: E_FLOW_RECORD.OUTFLOW_ENERGY_RECORD,\n keyGroupMenu: 'Steams',\n },\n [ATO_ECOMPONENT_PLANT_TYPE.EMISSION]: {\n keyUnitFromList: 'Emissions',\n keyUnit: 'Emissions',\n keyFlowTopology: 'Emissions',\n keyTab: 'Emissions',\n indexTab: 5,\n keyComponent: 'emissionComponents',\n keyRoute: 'emission',\n loc: 'locEmission',\n keyToUpdateModel: 'emissionData',\n topologyViewType: ATO_ECOMPONENT_PLANT_TYPE.EMISSION,\n tagType: TAG_TYPE.EMISSION,\n inflowRecord: E_FLOW_RECORD.INFLOW_ENERGY_RECORD,\n outflowRecord: E_FLOW_RECORD.OUTFLOW_ENERGY_RECORD,\n },\n [ATO_ECOMPONENT_PLANT_TYPE.COST]: {\n keyUnitFromList: 'Cost',\n keyUnit: 'Cost',\n keyFlowTopology: 'Cost',\n keyTab: 'Cost',\n indexTab: 4,\n keyComponent: 'costComponents',\n keyRoute: 'cost',\n loc: 'locCost',\n keyToUpdateModel: 'costData',\n type: 'cost',\n topologyViewType: ATO_ECOMPONENT_PLANT_TYPE.COST,\n tagType: TAG_TYPE.COST,\n inflowRecord: E_FLOW_RECORD.INFLOW_ENERGY_RECORD,\n outflowRecord: E_FLOW_RECORD.OUTFLOW_ENERGY_RECORD,\n },\n [ATO_ECOMPONENT_PLANT_TYPE.WATER_PLANT_CELL]: {\n keyUnitFromList: 'Water',\n keyUnit: 'waterUnit',\n keyFlowTopology: 'Water',\n keyTab: 'Water',\n indexTab: -1,\n keyComponent: 'waterComponents_PlantCell',\n keyRoute: 'Water',\n subSystemId: 'subWaterSystemId',\n loc: 'locWater',\n keyToUpdateModel: 'waterDataPlantCell',\n topologyType: 'PlantTopology',\n type: 'water',\n componentFlow: E_COMPONENT_DATA_TYPE.COMPONENT_WATER_FLOW,\n topologyViewType: ATO_ECOMPONENT_PLANT_TYPE.WATER,\n tagType: TAG_TYPE.WATER,\n inflowRecord: E_FLOW_RECORD.INFLOW_WATER_RECORD,\n outflowRecord: E_FLOW_RECORD.OUTFLOW_WATER_RECORD,\n },\n [ATO_ECOMPONENT_PLANT_TYPE.ENERGY_PLANT_CELL]: {\n keyUnitFromList: 'Energy',\n keyUnit: 'energyUnit',\n keyFlowTopology: 'Energy',\n keyTab: 'Energy',\n indexTab: 3,\n keyComponent: '',\n keyRoute: 'energy',\n loc: 'locEnergy',\n keyToUpdateModel: '',\n type: 'water',\n componentFlow: E_COMPONENT_DATA_TYPE.COMPONENT_WATER_FLOW,\n topologyViewType: ATO_ECOMPONENT_PLANT_TYPE.ENERGY,\n tagType: TAG_TYPE.ENERGY,\n inflowRecord: E_FLOW_RECORD.INFLOW_ENERGY_RECORD,\n outflowRecord: E_FLOW_RECORD.OUTFLOW_ENERGY_RECORD,\n },\n [ATO_ECOMPONENT_PLANT_TYPE.ELECTRICITY_PLANT_CELL]: {\n keyUnitFromList: 'Electricity',\n keyUnit: 'electricityUnit',\n keyFlowTopology: 'Electricity',\n keyTab: 'Electricals',\n indexTab: 0,\n keyComponent: 'electricComponents_PlantCell',\n keyRoute: 'electricity',\n subSystemId: 'subElectricSystemId',\n nameTab: 'Electricity',\n loc: 'locElectricity',\n keyToUpdateModel: 'electricDataPlantCell',\n topologyType: 'Electricity',\n type: 'electricity',\n componentFlow: E_COMPONENT_DATA_TYPE.COMPONENT_ENERGY_FLOW,\n topologyViewType: ATO_ECOMPONENT_PLANT_TYPE.ELECTRICITY,\n tagType: TAG_TYPE.ELECTRICITY,\n inflowRecord: E_FLOW_RECORD.INFLOW_ENERGY_RECORD,\n outflowRecord: E_FLOW_RECORD.OUTFLOW_ENERGY_RECORD,\n },\n [ATO_ECOMPONENT_PLANT_TYPE.NATURAL_GAS_PLANT_CELL]: {\n keyUnitFromList: 'Gas',\n keyUnit: 'naturalGasUnit',\n keyFlowTopology: 'NaturalGas',\n keyTab: 'NaturalGases',\n indexTab: 1,\n keyComponent: 'gasComponents_PlantCell',\n keyRoute: 'gas',\n subSystemId: 'subGasSystemId',\n nameTab: 'Natural Gas',\n loc: 'locGas',\n keyToUpdateModel: 'gasDataPlantCell',\n topologyType: 'NaturalGas',\n type: 'naturalgas',\n componentFlow: E_COMPONENT_DATA_TYPE.COMPONENT_ENERGY_FLOW,\n topologyViewType: ATO_ECOMPONENT_PLANT_TYPE.NATURAL_GAS,\n tagType: TAG_TYPE.NATURAL_GAS,\n inflowRecord: E_FLOW_RECORD.INFLOW_ENERGY_RECORD,\n outflowRecord: E_FLOW_RECORD.OUTFLOW_ENERGY_RECORD,\n },\n [ATO_ECOMPONENT_PLANT_TYPE.FUEL_PLANT_CELL]: {\n keyUnitFromList: 'Fuel',\n keyUnit: 'fuelUnit',\n keyFlowTopology: 'Fuel',\n keyTab: 'Fuels',\n indexTab: 2,\n keyComponent: 'fuelComponents_PlantCell',\n keyRoute: 'fuel',\n subSystemId: 'subFuelSystemId',\n nameTab: 'Fuel',\n loc: 'locFuel',\n keyToUpdateModel: 'fuelDataPlantCell',\n topologyType: 'Fuel',\n type: 'fuel',\n componentFlow: E_COMPONENT_DATA_TYPE.COMPONENT_ENERGY_FLOW,\n topologyViewType: ATO_ECOMPONENT_PLANT_TYPE.FUEL,\n tagType: TAG_TYPE.FUEL,\n inflowRecord: E_FLOW_RECORD.INFLOW_ENERGY_RECORD,\n outflowRecord: E_FLOW_RECORD.OUTFLOW_ENERGY_RECORD,\n },\n\n [ATO_ECOMPONENT_PLANT_TYPE.STEAM_PLANT_CELL]: {\n keyUnitFromList: 'Steam',\n keyUnit: 'steamUnit',\n keyFlowTopology: 'Steam',\n keyTab: 'Steams',\n indexTab: 2,\n keyComponent: 'steamComponents_PlantCell',\n keyRoute: 'steam',\n subSystemId: 'subSteamSystemId',\n nameTab: 'Steam',\n loc: 'locSteam',\n keyToUpdateModel: 'steamDataPlantCell',\n topologyType: 'Steam',\n type: 'steam',\n componentFlow: E_COMPONENT_DATA_TYPE.COMPONENT_ENERGY_FLOW,\n topologyViewType: ATO_ECOMPONENT_PLANT_TYPE.STEAM,\n tagType: TAG_TYPE.STEAM,\n inflowRecord: E_FLOW_RECORD.INFLOW_ENERGY_RECORD,\n outflowRecord: E_FLOW_RECORD.OUTFLOW_ENERGY_RECORD,\n },\n\n [ATO_ECOMPONENT_PLANT_TYPE.EMISSION_PLANT_CELL]: {\n keyUnitFromList: 'Emissions',\n keyUnit: 'Emissions',\n keyFlowTopology: 'Emissions',\n keyTab: 'Emissions',\n indexTab: 5,\n keyComponent: '',\n keyRoute: 'emission',\n loc: 'locEmission',\n keyToUpdateModel: '',\n topologyViewType: ATO_ECOMPONENT_PLANT_TYPE.EMISSION,\n tagType: TAG_TYPE.EMISSION,\n inflowRecord: E_FLOW_RECORD.INFLOW_ENERGY_RECORD,\n outflowRecord: E_FLOW_RECORD.OUTFLOW_ENERGY_RECORD,\n },\n [ATO_ECOMPONENT_PLANT_TYPE.COST_PLANT_CELL]: {\n keyUnitFromList: 'Cost',\n keyUnit: 'Cost',\n keyFlowTopology: 'Cost',\n keyTab: 'Cost',\n indexTab: 4,\n keyComponent: 'costComponents_PlantCell',\n keyRoute: 'cost',\n loc: 'locCost',\n keyToUpdateModel: 'costDataPlantCell',\n type: 'cost',\n topologyViewType: ATO_ECOMPONENT_PLANT_TYPE.COST,\n tagType: TAG_TYPE.COST,\n inflowRecord: E_FLOW_RECORD.INFLOW_ENERGY_RECORD,\n outflowRecord: E_FLOW_RECORD.OUTFLOW_ENERGY_RECORD,\n },\n\n // // Add water to plant type\n // [ATO_ECOMPONENT_PLANT_TYPE.WATER]: {\n // keyUnitFromList: 'Water',\n // keyUnit: 'Water',\n // keyFlowTopology: 'Water',\n // keyTab: 'Water',\n // indexTab: 5,\n // keyComponent: 'waterComponents',\n // keyRoute: 'water'\n // },\n};\n\n// export enum TARGET_E_TYPE {\n// TARGET = 'Target',\n// GOAL = 'Goal',\n// PROJECT = 'Project',\n// MILESTONE = 'Milestone',\n// }\n\n// const COLOR_STATUS = {\n// RED: {\n// hexColor: '#EC1B24',\n// classColor: 'color-alizarin',\n// },\n// YELLOW: {\n// hexColor: '#E09F25',\n// classColor: 'color-galliano-2',\n// },\n// GREEN: {\n// hexColor: '#199C69',\n// classColor: 'color-elf-green',\n// },\n// };\n\n// export const TARGET_STATUS_COLOR = {\n// [TARGET_E_TYPE.TARGET]: {\n// 0: COLOR_STATUS.YELLOW,\n// 1: COLOR_STATUS.YELLOW,\n// 2: COLOR_STATUS.YELLOW,\n// 3: COLOR_STATUS.GREEN,\n// 4: COLOR_STATUS.RED,\n// 5: COLOR_STATUS.RED,\n// 6: COLOR_STATUS.RED,\n// },\n// [TARGET_E_TYPE.GOAL]: {\n// 0: COLOR_STATUS.YELLOW,\n// 1: COLOR_STATUS.YELLOW,\n// 2: COLOR_STATUS.YELLOW,\n// 3: COLOR_STATUS.YELLOW,\n// 4: COLOR_STATUS.YELLOW,\n// 5: COLOR_STATUS.RED,\n// 6: COLOR_STATUS.RED,\n// 7: COLOR_STATUS.GREEN,\n// 10: COLOR_STATUS.RED,\n// },\n\n// [TARGET_E_TYPE.PROJECT]: {\n// 0: COLOR_STATUS.YELLOW,\n// 1: COLOR_STATUS.YELLOW,\n// 2: COLOR_STATUS.RED,\n// 3: COLOR_STATUS.GREEN,\n// 4: COLOR_STATUS.RED,\n// 5: COLOR_STATUS.RED,\n// 6: COLOR_STATUS.RED,\n// 10: COLOR_STATUS.RED,\n// },\n// [TARGET_E_TYPE.MILESTONE]: {\n// 0: COLOR_STATUS.YELLOW,\n// 1: COLOR_STATUS.YELLOW,\n// 2: COLOR_STATUS.YELLOW,\n// 3: COLOR_STATUS.RED,\n// 4: COLOR_STATUS.GREEN,\n// 5: COLOR_STATUS.RED,\n// 6: COLOR_STATUS.RED,\n// 10: COLOR_STATUS.RED,\n// },\n// };\n\n// export enum DATA_TYPES {\n// STRING = 'string',\n// NUMBER = 'number',\n// BOOLEAN = 'boolean',\n// DATE = 'Date',\n// VALUE_UNIT = 'valueUnit',\n// VALUE_CURRENCY = 'valueCost',\n// VALUE_CURRENCY_PER_UNIT = 'valueCurrencyPerUnit',\n// // VALUE_WATER = 'valueWater',\n// // VALUE_ELECTRICITY = 'valueElectricity',\n// // VALUE_NATURAL_GAS = 'valueNaturalGas',\n// // VALUE_FUEL = 'valueFuel',\n// // VALUE_CO2e_EMISSION = 'valueCO2eEmission',\n// // VALUE_ENERY = 'valueEnergy',\n// SPECIAL = 'special',\n// }\n\n// export enum E_DATE_PICKER_MODE {\n// DATE = 'date',\n// WEEK = 'week',\n// MONTH = 'month',\n// YEAR = 'year',\n// RAW = 'raw',\n// }\n\n// export const DATE_PICKER_MODE: {\n// [key in string]: any;\n// } = {\n// [E_Frequency.current]: {\n// value: E_DATE_PICKER_MODE.DATE,\n// format: 'MM/DD/YYYY',\n// formatPicker: 'MM/dd/yyyy',\n// index: 0,\n// valueAnalytics: AnalyticsService.ENUM_DATE_TYPE.DAY,\n// },\n// [E_Frequency.daily]: {\n// value: E_DATE_PICKER_MODE.DATE,\n// format: 'MM/DD/YYYY',\n// formatPicker: 'MM/dd/yyyy',\n// index: 0,\n// valueAnalytics: AnalyticsService.ENUM_DATE_TYPE.DAY,\n// },\n// [E_Frequency.weekly]: {\n// value: E_DATE_PICKER_MODE.WEEK,\n// index: 1,\n// // format: 'MM/DD/YYYY'\n// },\n// [E_Frequency.monthly]: {\n// value: E_DATE_PICKER_MODE.MONTH,\n// format: 'MM/YYYY',\n// formatPicker: 'MM/yyyy',\n// index: 2,\n// valueAnalytics: AnalyticsService.ENUM_DATE_TYPE.MONTH,\n// },\n// [E_Frequency.yearly]: {\n// value: E_DATE_PICKER_MODE.YEAR,\n// format: 'YYYY',\n// formatPicker: 'yyyy',\n// index: 3,\n// valueAnalytics: AnalyticsService.ENUM_DATE_TYPE.YEAR,\n// },\n// [E_Frequency.annual]: {\n// value: E_DATE_PICKER_MODE.YEAR,\n// format: 'YYYY',\n// formatPicker: 'yyyy',\n// index: 3,\n// valueAnalytics: AnalyticsService.ENUM_DATE_TYPE.YEAR,\n// },\n// [E_Frequency.raw]: {\n// value: E_DATE_PICKER_MODE.RAW,\n// format: 'MM/DD/YYYY',\n// formatPicker: 'MM/dd/yyyy',\n// index: 0,\n// valueAnalytics: AnalyticsService.ENUM_DATE_TYPE.DAY,\n// },\n// };\n\n// export enum E_PRODUCTION_TYPE {\n// PRODUCT = 'product',\n// PRODUCT_LINE = 'product-line',\n// }\n\n// export enum E_PRODUCTION_MEASUREMENT_TYPE {\n// PRODUCT_WATER_IN_SOURCE = 'ProductWaterInSource',\n// PRODUCT_WATER_OUT_SOURCE = 'ProductWaterOutSource',\n// PRODUCT_ENERGY_IN_SOURCE = 'ProductEnergyInSource',\n// PRODUCT_ENERGY_OUT_SOURCE = 'ProductEnergyOutSource',\n// }\n\n// export const E_PRODUCTION_MEASUREMENT_PAYLOAD = {\n// [E_PRODUCTION_MEASUREMENT_TYPE.PRODUCT_WATER_IN_SOURCE]: {\n// createParentPayload: 'CreateProductWaterInSource',\n// updateParentPayload: 'UpdateProductWaterInSource',\n// payload: 'ProductWaterInSource',\n// keyResponse: 'waterInflows',\n// keyForm: 'waterIntakeMeasurement',\n// keyComponent: ['waterComponents'],\n// textAdd: 'intake measurement',\n// componentType: 'Water',\n// },\n// [E_PRODUCTION_MEASUREMENT_TYPE.PRODUCT_WATER_OUT_SOURCE]: {\n// createParentPayload: 'CreateProductWaterOutSource',\n// updateParentPayload: 'UpdateProductWaterOutSource',\n// payload: 'ProductWaterOutSource',\n// keyResponse: 'waterOutflows',\n// keyForm: 'waterOutputMeasurement',\n// keyComponent: ['waterComponents'],\n// textAdd: 'output measurement',\n// componentType: 'Water',\n// },\n// [E_PRODUCTION_MEASUREMENT_TYPE.PRODUCT_ENERGY_IN_SOURCE]: {\n// createParentPayload: 'CreateProductEnergyInSource',\n// updateParentPayload: 'UpdateProductEnergyInSource',\n// payload: 'ProductEnergyInSource',\n// keyResponse: 'energyInflows',\n// keyForm: 'energyIntakeMeasurement',\n// keyComponent: ['electricComponents', 'fuelComponents', 'gasComponents'],\n// textAdd: 'intake measurement',\n// componentType: 'Energy',\n// },\n// [E_PRODUCTION_MEASUREMENT_TYPE.PRODUCT_ENERGY_OUT_SOURCE]: {\n// createParentPayload: 'CreateProductEnergyOutSource',\n// updateParentPayload: 'UpdateProductEnergyOutSource',\n// payload: 'ProductEnergyOutSource',\n// keyResponse: 'energyOutflows',\n// keyForm: 'energyExportMeasurement',\n// keyComponent: ['electricComponents', 'fuelComponents', 'gasComponents'],\n// textAdd: 'export measurement',\n// componentType: 'Energy',\n// },\n// };\n\n// export enum SORT_DIRECTION {\n// ASCEND = 'ascend',\n// DESCEND = 'descend',\n// }\n\n// export enum ROUTE_COMPONENT_TYPE {\n// COMPONENT = 'component',\n// PLANT_CELL = 'plant-cell',\n// }\n\n// export enum PLACEHOLDER_INPUT {\n// FIELD_FILE = 'Enter the file URL',\n// }\n\n// export enum TYPE_SIZE_CONTROL {\n// NORMAL = 'normal',\n// SMALL = 'small',\n// }\n\n// export enum RATE_WATER_QUALITY_INDEX_INFO {\n// EXCELLENT = 'excellent',\n// GOOD = 'good',\n// AVERAGE = 'average',\n// FAIR = 'fair',\n// POOR = 'poor',\n// }\n\n// // export const COLOR_WATER_QUALITY_INDEX_INFO = {\n// // [RATE_WATER_QUALITY_INDEX_INFO.EXCELLENT]: {\n// // color: ENUM_RISK_COLOR.GREEN,\n// // colorClass: 'color-elf-green',\n// // },\n// // [RATE_WATER_QUALITY_INDEX_INFO.GOOD]: {\n// // color: ENUM_RISK_COLOR.LIGHT_GREEN,\n// // colorClass: 'color-yellow-green',\n// // },\n// // [RATE_WATER_QUALITY_INDEX_INFO.AVERAGE]: {\n// // color: ENUM_RISK_COLOR.YELLOW,\n// // colorClass: 'color-grandis',\n// // },\n// // [RATE_WATER_QUALITY_INDEX_INFO.FAIR]: {\n// // color: ENUM_RISK_COLOR.ORANGE,\n// // colorClass: 'color-carrot-orange',\n// // },\n// // [RATE_WATER_QUALITY_INDEX_INFO.POOR]: {\n// // color: ENUM_RISK_COLOR.RED,\n// // colorClass: 'color-sunset-orange',\n// // },\n// // };\n\n// // export const RANGE_COLOR_WATER_QUALITY_INDEX = [\n// // {\n// // from: 0,\n// // to: 25,\n// // colorInfo: COLOR_WATER_QUALITY_INDEX_INFO[RATE_WATER_QUALITY_INDEX_INFO.POOR],\n// // },\n// // {\n// // from: 25,\n// // to: 50,\n// // colorInfo: COLOR_WATER_QUALITY_INDEX_INFO[RATE_WATER_QUALITY_INDEX_INFO.FAIR],\n// // },\n// // {\n// // from: 50,\n// // to: 70,\n// // colorInfo: COLOR_WATER_QUALITY_INDEX_INFO[RATE_WATER_QUALITY_INDEX_INFO.AVERAGE],\n// // },\n// // {\n// // from: 70,\n// // to: 90,\n// // colorInfo: COLOR_WATER_QUALITY_INDEX_INFO[RATE_WATER_QUALITY_INDEX_INFO.GOOD],\n// // },\n// // {\n// // from: 90,\n// // to: 100,\n// // colorInfo: COLOR_WATER_QUALITY_INDEX_INFO[RATE_WATER_QUALITY_INDEX_INFO.EXCELLENT],\n// // },\n// // ];\n\n// export enum ENUM_INSIGHT_TABS {\n// VOLUME = 'Volume',\n// QUALITY = 'Quality',\n// ASSET_PARAMETERS = 'Asset Parameters',\n// }\n\n// export enum ENUM_INSIGHT_MAPPING_STEP {\n// ASSETS = 'assets',\n// TAGS = 'tags',\n// CONFIGURATION = 'configuration',\n// }\n\n// export enum STEAM_OPTION_KEY {\n// MASS_FLOW = 'massflow',\n// MASS_FLOW_RATE = 'massflowrate',\n// PRESSURE = 'pressure',\n// TEMPERATURE = 'temperature',\n// ENERGY = 'energy',\n// }\n\n// export const STEAM_OPTIONS_FILTER = {\n// [STEAM_OPTION_KEY.MASS_FLOW]: {\n// name: 'Mass Flow',\n// key: STEAM_OPTION_KEY.MASS_FLOW,\n// icon: '',\n// urlIcon: 'assets/images/icons/steam/Mass flow.svg',\n// isDisabled: false,\n// keyUnit: 'SteamMassFlow',\n// keyUnitSetting: 'steamMassFlow',\n// listUnits: [ABBREVIATION.g, ABBREVIATION.lbs],\n// },\n\n// [STEAM_OPTION_KEY.MASS_FLOW_RATE]: {\n// name: 'Mass Flow Rate',\n// key: STEAM_OPTION_KEY.MASS_FLOW_RATE,\n// icon: '',\n// urlIcon: 'assets/images/icons/steam/Mass flow rate.svg',\n// isDisabled: false,\n// keyUnit: 'MassFlowRate',\n// keyUnitSetting: 'steamFlowRate',\n// listUnits: [ABBREVIATION.g_hr, ABBREVIATION.lbs_hr],\n// },\n// [STEAM_OPTION_KEY.PRESSURE]: {\n// name: 'Pressure',\n// key: STEAM_OPTION_KEY.PRESSURE,\n// icon: 'fal fa-gauge-high',\n// isDisabled: false,\n// keyUnit: 'SteamPressure',\n// keyUnitSetting: 'steamPressure',\n// listUnits: [ABBREVIATION.MPa, ABBREVIATION.psi],\n// },\n// [STEAM_OPTION_KEY.TEMPERATURE]: {\n// name: 'Temperature',\n// key: STEAM_OPTION_KEY.TEMPERATURE,\n// icon: 'fal fa-temperature-high',\n// isDisabled: false,\n// keyUnit: 'SteamTemperature',\n// keyUnitSetting: 'steamTemperature',\n// listUnits: [ABBREVIATION.degC, ABBREVIATION.degF],\n// },\n// [STEAM_OPTION_KEY.ENERGY]: {\n// name: '​Energy',\n// key: STEAM_OPTION_KEY.ENERGY,\n// icon: 'fa-regular fa-transformer-bolt',\n// keyUnit: 'Energy',\n// keyUnitSetting: 'energyUnit',\n// isDisabled: false,\n// listUnits: [ABBREVIATION.BTU, ABBREVIATION.J],\n// },\n// };\n\nexport enum ATO_ENUM_FLOW_DIRECTION {\n INFLOW = 'Inflow',\n OUTFLOW = 'Outflow',\n NONE = '',\n}\n","import { ATO_ECOMPONENT_PLANT_TYPE } from '../constants/value.const';\n\nexport class AtoGojsEditorModel {\n initialOptions: any;\n data: any; // FlowGoJsComponentModel\n\n constructor(data: any) {\n this.data = data;\n }\n}\n\nexport namespace AtoGojsEditorModel {\n export const GRID_SIZE = 20;\n export const BASIC_GRID_INTERVAL_X = 24;\n export const BASIC_GRID_INTERVAL_Y = 10;\n export const BASIC_GRID_SIZE_WIDTH = GRID_SIZE * BASIC_GRID_INTERVAL_X;\n export const BASIC_GRID_SIZE_HEIGHT = GRID_SIZE * BASIC_GRID_INTERVAL_Y;\n export const DISTANCE_LAST_TO_ADD = 50;\n export const PLANT_CELL_HEIGHT = 160;\n export enum ENUM_LAYOUT_EDITOR {\n AUTO = 'AUTO ALIGN',\n GRID = 'GRID SUPPORTED',\n FREEFORM = 'FREE FORM',\n }\n\n export const LAYOUT_LIST = [\n {\n name: 'Auto-align',\n key: ENUM_LAYOUT_EDITOR.AUTO,\n },\n {\n name: 'Grid Supported',\n key: ENUM_LAYOUT_EDITOR.GRID,\n },\n {\n name: 'Freeform',\n key: ENUM_LAYOUT_EDITOR.FREEFORM,\n },\n ];\n\n export enum ENUM_COLORS {\n RED = '#EC7C4E',\n ORANGE = '#EBB868',\n BLUE = '#81B8FF',\n LIGHT_BLUE = '#F4F6FB',\n LIGHT_SKY_BLUE = '#cfe7fd',\n WHITE = '#FFFFFF',\n GRAY = '#919CA5',\n CERULEAN = '#0062A9',\n VIVID_VIOLET = '#804180',\n RESOLUTION_BLUE = '#2D3B77',\n CASHMERE = '#D6AB95',\n GALLIANO = '#E09F25',\n FOUNTAIN_BLUE = '#54BBBA',\n ELF_GREEN = '#199C69',\n MEDIUM_RED_VIOLET = '#A8438D',\n GRANDIS = '#FBC96C',\n SALMON = '#F47769',\n NIGHT_RIDER = '#2C2C2C',\n ALIZARIN = '#EC1B24',\n LINK_WATER = '#CAD3DB',\n ZIRCON = '#E5EBEB',\n CERULEAN_ALICE_BLUE = '#E6F0F7',\n DANUBE = '#7197CA',\n DANUBE_ALICE_BLUE = '#F1F5FA',\n AZURE = '#EEF8F8',\n OLD_LACE = '#FCF6EA',\n CARROT_ORANGE = '#F69122',\n FLAMINGO = '#E95F47',\n SNOW = '#FEF7F6',\n LIGHT_SKY_BLUE_2 = '#92B9F9',\n REGENT_ST_BLUE = '#87cee7',\n // 98CDE0\n }\n\n export enum ENUM_LINK_TYPES {\n SIMPLE = 'simple',\n PIPE_ANIMATION = 'pipe animation',\n PIPE = 'pipe',\n PIPE_HIDDEN = 'pipe hidden',\n }\n\n // Components types\n export enum ENUM_TEMPLATES {\n STORAGE = 'Storage',\n COOLING_TOWER = 'Cooling Tower',\n\n WATER_TREATMENT = 'Water Treatment',\n DEMIN_WATER_TREATMENT = 'Demin Water Treatment',\n RO_WATER_TREATMENT = 'RO Water Treatment',\n\n DOMESTIC_USE = 'Domestic Use',\n PROCESS = 'Process',\n BOILER = 'Boiler',\n\n WASTEWATER_TREATMENT = 'Wastewater Treatment',\n DAF_WASTEWATER_TREATMENT = 'DAF Wastewater Treatment',\n ETP_WASTEWATER_TREATMENT = 'ETP Wastewater Treatment',\n MBR_WASTEWATER_TREATMENT = 'MBR Wastewater Treatment',\n ZLD_WASTEWATER_TREATMENT = 'ZLD Wastewater Treatment',\n\n OTHER = 'Other',\n LANDSCAPING_IRRIGATION = 'Landscaping/Irrigation',\n TEXT_NODE = 'TextNode',\n VALUE_NODE = 'ValueNode',\n DATA_BOX = 'DataBox',\n VALUE_LABEL = 'ValueLabel',\n EMPTY = 'Empty',\n\n SPECIAL_PROCESS = 'SPECIAL_PROCESS',\n SPECIAL_STORE = 'SPECIAL_STORE',\n SPECIAL_STORAGE = 'STORAGE',\n SPECIAL_DISCHARGE = 'SPECIAL_DISCHARGE',\n SPECIAL_OTHER = 'SPECIAL_OTHER',\n\n // TANKER = 'Tanker',\n // RAIN_WATER = 'Rainwater',\n FRESH_SURFACE_WATER = 'Fresh surface water', // 'RAIN_WATER',\n THIRD_PARTY_SOURCES = 'Third party sources', // TANKER\n THIRD_PARTY_DESTINATIONS = 'Third party destinations',\n GROUND_WATER_NON_RENEWABLE = 'Groundwater - non-renewable',\n PRODUCED_ENTRAINED = 'Produced / entrained water',\n BRACKISH_SURFACE_WATER = 'Brackish surface water/ seawater',\n\n UTILITY = 'UTILITY',\n GROUND_WATER_RENEWABLE = 'Groundwater - Renewable',\n // Energy\n ZONE = 'EnergyZones',\n ZONE_ENERGY_ITEM = 'SubSystem',\n //Electric\n GRID = 'Grid',\n DIESEL_GENERATORS = 'Diesel Generators',\n ELECTRIC_METERS = 'Electric Meters',\n\n BATTERY_ENERGY_STORAGE = 'Battery energy storage',\n TRANSFORMERS = 'Transformers',\n LIGHTING_SYSTEMS = 'Lighting systems',\n LIGHTINGS = 'Lightings',\n\n ELECTRIC_FLYWHEEL_ENERGY_STORAGE = 'Flywheel energy storage',\n PUMPED_HYDRO_STORAGE = 'Pumped hydro storage',\n THERMAL_ENERGY_STORAGE = 'Thermal energy storage',\n SUPER_CAPACITOR_ENERGY_STORAGE = 'Supercapacitor energy storage',\n SWITCH_GEARS = 'Switchgears',\n MOTOR_CONTROLS = 'MotorControls',\n VARIABLE_FREQUENCY_DRIVERS = 'VariableFrequencyDrives',\n ELECTRIC_HVAC = 'Heating, ventilation, and air conditioning (HVAC) systems',\n COMPRESSED_AIR_SYSTEMS = 'Compressed air',\n REFRIGERATION_COOLING_SYSTEMS = 'Refrigeration and cooling',\n PROCESS_CONTROL_AUTOMATION_SYSTEMS = 'Process control and automation',\n OFFICE_EQUIPMENT = 'Office equipment',\n PROCESS_EQUIPMENT_MACHINES = 'Process equipment and machines',\n MATERIAL_HANDLING_EQUIPMENT = 'Material handling equipment',\n POWER_DISTRIBUTION_CONTROL_SYSTEMS = 'Power distribution and control',\n POWER_DISTRIBUTION_SYSTEMS = 'Power distribution systems',\n WIND_POWER = 'Wind Power',\n NATURAL_GAS_GENERATORS = 'Natural gas generators',\n ELECTRIC_INDUSTRIAL_MOTORS = 'Industrial motors',\n GROUNDING = 'Grounding',\n\n // Fuel\n FUELS = 'Fuels',\n DIESEL_FUELS = 'DieselFuels',\n GASON_LINES = 'Gasonlines',\n BIODIESELS = 'Biodiesels',\n KEROSENSE = 'Kerosenes',\n PROPANES = 'Propanes',\n\n TANKER_TRUCKS = 'Tanker Trucks',\n PIPELINE = 'Pipeline',\n\n INDUSTRIAL_BOILERS = 'Industrial boilers',\n GENERATORS = 'Generators',\n INDUSTRIAL_FURNACES = 'Industrial furnaces',\n INDUSTRIAL_OVENS = 'Industrial ovens',\n INDUSTRIAL_VEHICLES_AND_EQUIPMENT = 'Industrial vehicles and equipment',\n\n FUEL_METERS = 'FuelMeters',\n FUEL_DISPENSERS = 'FuelDispensers',\n FUEL_STRORAGE_TANKS = 'FuelStorageTanks',\n FUEL_FILTRATIONS = 'FuelFiltrations',\n FUEL_MANAGEMENTS = 'FuelManagements',\n\n // Gas\n NATURAL_GAS_PIPELINES = 'Natural gas pipelines',\n LIQUEFIED_NATURAL_GAS = 'Liquefied natural gas',\n COMPRESSED_NATURAL_GAS_PIPELINE = 'Compressed natural gas pipeline',\n ON_SITE_PRODUCTION = 'On-site production',\n COMPRESSED_NATURAL_GAS_PRODUCTION = 'Compressed natural gas production',\n BOILERS_AND_HEATERS = 'Boilers and heaters',\n FURNACES = 'Furnaces',\n POWER_GENERATION = 'Power generation',\n COGENERATION = 'Cogeneration',\n COMBINED_CYCLE_POWER_PLANTS = 'Combined cycle power plants',\n FUEL_FOR_VEHICLES_AND_EQUIPMENT = 'Fuel for vehicles and equipment',\n GAS_METERS = 'Gas meters',\n BURNERS = 'Burners',\n FLUE_GAS_ANALYZERS = 'Flue gas analyzers',\n COMBUSTION_CONTROL_SYSTEMS = 'Combustion control systems',\n GAS_STORAGE_TANKS = 'Gas storage tanks',\n GAS_PRESSURE_REGULATORS = 'Gas pressure regulators',\n NATURAL_GAS = 'Natural Gas',\n // Solar\n SOLAR_POWER = 'Solar Power',\n POWER_CONDITIONING_UNIT = 'Power conditioning unit (PCU)',\n INVERTERS = 'Inverters',\n BATTERIES = 'Batteries',\n\n // Uncategorized of Proxy Plant\n UNCATEGORIZED = 'Uncategorized',\n\n // Plant Cell\n PLANT_CELL = 'Plant Cell',\n INPUT_PLANT_CELL = 'Input Plant Cell',\n OUTPUT_PLANT_CELL = 'Output Plant Cell',\n\n PLANT_CELL_INPUT_GROUP = 'PC Input Group',\n PLANT_CELL_OUTPUT_GROUP = 'PC Output Group',\n\n // Image\n IMAGE_TEMPLATE = 'Image Template',\n PARAM_TABLE = 'Param Table',\n MASS_BALANCE = 'Mass Balance',\n\n // Steam Type\n STEAM_PIPELINE = 'Steam pipeline',\n VALUES = 'Valves',\n STEAM_TRAPS = 'Steam Traps',\n PRESSURE_REGULATORS = 'Pressure Regulator',\n SAFETY_VALUES_AND_EQUIPMENT = 'Safety Valves and Equipment',\n CONDENSATE_RETURN_SYSTEM = 'Condensate Return System',\n DEAERATORS = 'Deaerators',\n FEEDWATER_PUMPS = 'Feedwater Pumps',\n BLOWDOWN_TANKS = 'Blowdown Tanks',\n EXPANSION_TANKS = 'Expansion Tanks',\n HEAT_EXCHANGERS = 'Heat Exchangers',\n TURBINES = 'Turbines',\n\n // Plant Basic\n GROUP_BASIC_COMPONENT = 'Group Basic Component',\n TEXT_LABEL = 'label',\n\n // Type Group duplicate Energy with Water\n BOILER_ENERGY = 'Boiler Energy',\n COOLING_TOWER_ENERGY = 'Cooling Tower Energy',\n }\n\n // System Types\n export enum ENUM_TYPES {\n STORAGE = 'WaterStorageTanks',\n\n WATER_TREATMENT = 'WaterTreatmentProcesses',\n DEMIN_WATER_TREATMENT = 'DeminWaterTreatments',\n RO_WATER_TREATMENT = 'ROWaterTreatments',\n\n PROCESS = 'GenericProcesses',\n SPECIAL_STORAGE = 'STORAGE',\n\n WASTEWATER_TREATMENT = 'WasteWaterTreatmentProcesses',\n DAF_WASTEWATER_TREATMENT = 'DAFWasteWaterTreatments',\n ETP_WASTEWATER_TREATMENT = 'ETPWasteWaterTreatments',\n MBR_WASTEWATER_TREATMENT = 'MBRWasteWaterTreatments',\n ZLD_WASTEWATER_TREATMENT = 'ZLDWasteWaterTreatments',\n\n DOMESTIC_USE = 'DomesticUse',\n COOLING_TOWER = 'CoolingTowers',\n BOILER = 'Boilers',\n OTHER = 'OtherWaterUse',\n LANDSCAPING_IRRIGATION = 'IrrigationUse',\n\n FRESH_SURFACE_WATER = 'Fresh surface water', // 'RAIN_WATER',\n THIRD_PARTY_SOURCES = 'Third party sources', // TANKER\n THIRD_PARTY_DESTINATIONS = 'Third party destinations',\n GROUND_WATER_NON_RENEWABLE = 'Groundwater - non-renewable',\n PRODUCED_ENTRAINED = 'Produced / entrained water',\n\n // FRESH_SURFACE_WAER = 'Fresh surface water',\n BRACKISH_SURFACE_WATER = 'Brackish surface water/ seawater',\n GROUND_WATER_RENEWABLE = 'Groundwater - Renewable',\n\n TANKER_WATER = 'Tanker Water',\n // ENERGY\n ZONE = 'EnergyZones',\n // Electric\n ELECTRIC_SOURCES = 'ElectricSources',\n GRID = 'Grid Power',\n DIESEL_GENERATORS = 'Diesel Generators',\n ELECTRIC_METERS = 'ElectricMeters',\n TRANSFORMERS = 'Transformers',\n // Electric New\n BATTERY_ENERGY_STORAGE = 'Battery energy storage',\n ELECTRIC_PRODUCTIONS = 'ElectricProductions',\n ELECTRIC_COMSUMINGS = 'ElectricConsumings',\n ELECTRIC_STORAGES = 'ElectricityStorages',\n ELECTRIC_FLYWHEEL_ENERGY_STORAGE = 'Flywheel energy storage',\n PUMPED_HYDRO_STORAGE = 'Pumped hydro storage',\n THERMAL_ENERGY_STORAGE = 'Thermal energy storage',\n SUPER_CAPACITOR_ENERGY_STORAGE = 'Supercapacitor energy storage',\n SWITCH_GEARS = 'Switchgears',\n MOTOR_CONTROLS = 'MotorControls',\n VARIABLE_FREQUENCY_DRIVERS = 'VariableFrequencyDrives',\n LIGHTING_SYSTEMS = 'Lighting systems',\n LIGHTINGS = 'Lightings',\n ELECTRIC_HVAC = 'Heating, ventilation, and air conditioning (HVAC) systems',\n COMPRESSED_AIR_SYSTEMS = 'Compressed air',\n REFRIGERATION_COOLING_SYSTEMS = 'Refrigeration and cooling',\n PROCESS_CONTROL_AUTOMATION_SYSTEMS = 'Process control and automation',\n PROCESS_EQUIPMENT_MACHINES = 'Process equipment and machines',\n OFFICE_EQUIPMENT = 'Office equipment',\n MATERIAL_HANDLING_EQUIPMENT = 'Material handling equipment',\n POWER_DISTRIBUTION_CONTROL_SYSTEMS = 'Power distribution and control',\n POWER_DISTRIBUTION_SYSTEMS = 'PowerDistributions',\n WIND_POWER = 'Wind Power',\n NATURAL_GAS_GENERATORS = 'Natural gas generators',\n ELECTRIC_INDUSTRIAL_MOTORS = 'Industrial motors',\n GROUNDING = 'Groundings',\n Electricals = 'Electricals',\n\n // Gas\n NATURAL_GAS_PIPELINES = 'Natural gas pipelines',\n LIQUEFIED_NATURAL_GAS = 'Liquefied natural gas (LNG) shipments',\n COMPRESSED_NATURAL_GAS_PIPELINE = 'Compressed natural gas pipeline (CNG)',\n ON_SITE_PRODUCTION = 'On-site production',\n COMPRESSED_NATURAL_GAS_PRODUCTION = 'Compressed natural gas production (CNG)',\n BOILERS_AND_HEATERS = 'Boilers and heaters',\n FURNACES = 'Furnaces',\n POWER_GENERATION = 'Power generation',\n COGENERATION = 'Cogeneration',\n COMBINED_CYCLE_POWER_PLANTS = 'Combined cycle power plants',\n FUEL_FOR_VEHICLES_AND_EQUIPMENT = 'Fuel for vehicles and equipment',\n GAS_METERS = 'GasMeters',\n BURNERS = 'Burners',\n FLUE_GAS_ANALYZERS = 'FlueGasAnalyzers',\n COMBUSTION_CONTROL_SYSTEMS = 'ConbustionControls',\n GAS_STORAGE_TANKS = 'GasStorageTanks',\n GAS_PRESSURE_REGULATORS = 'GasPressureRegulators',\n NATURAL_GAS = 'Natural Gas',\n // TYPE_COMPONENT Gas\n GAS_SOURCE = 'GasSources',\n GAS_PRODUCTION = 'GasProductions',\n GAS_CONSUMINGS = 'GasConsumings',\n NATURAL_GAS_SPECIAL = 'NaturalGases',\n\n // Fuel\n FUELS = 'Fuels',\n DIESEL_FUELS = 'DieselFuels',\n GASON_LINES = 'Gasonlines',\n BIODIESELS = 'Biodiesels',\n KEROSENSE = 'Kerosenes',\n PROPANES = 'Propanes',\n\n FUEL_SOURCES = 'FuelSources',\n\n TANKER_TRUCKS = 'Tanker Trucks',\n PIPELINE = 'Pipeline',\n\n FUEL_CONSUMINGS = 'FuelConsumings',\n\n INDUSTRIAL_BOILERS = 'Industrial boilers',\n GENERATORS = 'Generators',\n INDUSTRIAL_FURNACES = 'Industrial furnaces',\n INDUSTRIAL_OVENS = 'Industrial ovens',\n INDUSTRIAL_VEHICLES_AND_EQUIPMENT = 'Industrial vehicles and equipment',\n\n FUEL_METERS = 'FuelMeters',\n FUEL_DISPENSERS = 'FuelDispensers',\n FUEL_STRORAGE_TANKS = 'FuelStorageTanks',\n FUEL_FILTRATIONS = 'FuelFiltrations',\n FUEL_MANAGEMENTS = 'FuelManagements',\n\n // Solar\n SOLAR_POWER = 'Solar Power',\n POWER_CONDITIONING_UNIT = 'Power conditioning unit (PCU)',\n INVERTERS = 'Inverters',\n BATTERIES = 'Batteries',\n\n // Plant Cell\n PLANT_CELL = 'PlantCells',\n PLANT_CELL_INPUT_GROUP = 'PC Input Group',\n PLANT_CELL_OUTPUT_GROUP = 'PC Output Group',\n\n // Steam\n STEAM_SOURCES = 'SteamSources',\n STEAM_PIPELINE = 'Steam pipeline',\n VALUES = 'Valves',\n STEAM_TRAPS = 'Steam Traps',\n PRESSURE_REGULATORS = 'Pressure Regulator',\n SAFETY_VALUES_AND_EQUIPMENT = 'Safety Valves and Equipment',\n CONDENSATE_RETURN_SYSTEM = 'Condensate Return System',\n DEAERATORS = 'Deaerators',\n FEEDWATER_PUMPS = 'Feedwater Pumps',\n BLOWDOWN_TANKS = 'Blowdown Tanks',\n EXPANSION_TANKS = 'Expansion Tanks',\n HEAT_EXCHANGERS = 'SteamConsumings',\n TURBINES = 'EnergyConverters',\n\n STEAM_COMPONENT = 'SteamComponents',\n STEAM_CONSUMING_SYSTEM = 'SteamConsumings',\n ENERGY_CONVERTER = 'EnergyConverters',\n\n // System Type Group duplicate Energy with Water\n BOILER_ENERGY = 'Boiler Energy',\n COOLING_TOWER_ENERGY = 'CoolingTowers Energy',\n }\n\n export enum ENUM_CATEGORY {}\n\n export enum DATA_COLLECTION_METHOD {\n MEASURED = 'Measured',\n MANUAL = 'Manual',\n COMPUTED = 'Computed',\n ESTIMATED = 'Estimated',\n WATER_CAPACITY = 'Water Capacity',\n KEY_MODEL_COMPUTED = 'M',\n }\n\n export const COLOR_COLLECTION_METHOD: {\n [key in AtoGojsEditorModel.DATA_COLLECTION_METHOD]: any;\n } = {\n [DATA_COLLECTION_METHOD.MEASURED]: {\n name: DATA_COLLECTION_METHOD.MEASURED,\n color: ENUM_COLORS.RED,\n classNameColor: 'color-burnt-sienna',\n },\n [DATA_COLLECTION_METHOD.MANUAL]: {\n name: DATA_COLLECTION_METHOD.MANUAL,\n color: ENUM_COLORS.ELF_GREEN,\n classNameColor: 'color-elf-green',\n },\n [DATA_COLLECTION_METHOD.COMPUTED]: {\n name: DATA_COLLECTION_METHOD.COMPUTED,\n color: ENUM_COLORS.CERULEAN,\n classNameColor: 'color-cerulean',\n },\n [DATA_COLLECTION_METHOD.ESTIMATED]: {\n name: DATA_COLLECTION_METHOD.ESTIMATED,\n color: ENUM_COLORS.MEDIUM_RED_VIOLET,\n classNameColor: 'color-medium-red-violet',\n },\n [DATA_COLLECTION_METHOD.WATER_CAPACITY]: {\n name: DATA_COLLECTION_METHOD.WATER_CAPACITY,\n color: ENUM_COLORS.VIVID_VIOLET,\n classNameColor: 'color-vivid-violet',\n },\n [DATA_COLLECTION_METHOD.KEY_MODEL_COMPUTED]: {\n name: DATA_COLLECTION_METHOD.KEY_MODEL_COMPUTED,\n color: ENUM_COLORS.GRAY,\n classNameColor: 'color-bali-hai',\n },\n };\n\n // export enum WITH_DRAW_TYPES {\n // TANKER = 'Tanker',\n // RAIN_WATER = 'Rainwater',\n // }\n\n export enum WITH_DRAW_SYSTEM_TYPES {\n WATER_SOURCE = 'WaterSource',\n }\n\n // export enum DISCHARGE_TYPES {\n // GROUND_WATER_RENEWABLE = 'Ground Water Renewable',\n // }\n\n export enum DISCHARGE_TYPES_SYSTEM_TYPES {\n GROUND_WATER_RANEWABLE = 'GroundWaterRenewable',\n }\n\n export const WaterWithdrawSources = 'WaterWithdrawSources';\n export const WaterWithdrawSourcesPath =\n 'GetFlowTopology.Plant.WaterWithdrawSources.ComponentWaterFlow.InFlows.InflowWaterRecord.QuantityParams';\n\n export const WaterDischargeDestinations = 'WaterDischargeDestinations';\n export const WaterDischargeDestinationsPath =\n 'GetFlowTopology.Plant.WaterDischargeDestinations.ComponentWaterFlow.InFlows.InflowWaterRecord.QuantityParams';\n\n export const SOURCES_COMPONENTS = [\n WaterWithdrawSources,\n WaterDischargeDestinations,\n ENUM_TYPES.ELECTRIC_SOURCES,\n ENUM_TYPES.ELECTRIC_PRODUCTIONS,\n ENUM_TYPES.GAS_SOURCE,\n ENUM_TYPES.GAS_PRODUCTION,\n ENUM_TYPES.FUEL_SOURCES,\n // ENUM_TYPES.FUEL_STORAGE_TANKS,\n ];\n\n export const SOURCES_WITHDRAW = [\n WaterWithdrawSources,\n ENUM_TYPES.ELECTRIC_SOURCES,\n ENUM_TYPES.ELECTRIC_PRODUCTIONS,\n ENUM_TYPES.GAS_SOURCE,\n ENUM_TYPES.GAS_PRODUCTION,\n ENUM_TYPES.FUEL_SOURCES,\n // ENUM_TYPES.FUEL_STORAGE_TANKS,\n ];\n\n export const SOURCES_DISCHARGE = [\n WaterDischargeDestinations,\n // ENUM_TYPES.ELECTRIC_SOURCES,\n // ENUM_TYPES.ELECTRIC_PRODUCTIONS,\n // ENUM_TYPES.GAS_SOURCE,\n // ENUM_TYPES.GAS_PRODUCTION,\n // ENUM_TYPES.FUEL_SOURCES,\n ];\n\n export const COMPONENTS_HAVE_SPECIAL_CATEGORY = [\n // Water\n WaterWithdrawSources,\n WaterDischargeDestinations,\n\n // ENUM_TYPES.FRESH_SURFACE_WAER,\n // ENUM_TYPES.THIRD_PARTY_SOURCES,\n // ENUM_TYPES.GROUND_WATER_NON_RENEWABLE,\n // ENUM_TYPES.PRODUCED_ENTRAINED,\n // ENUM_TYPES.BRACKISH_SURFACE_WATER,\n // ENUM_TYPES.GROUND_WATER_RENEWABLE,\n\n // Energy\n ENUM_TYPES.ZONE,\n // Electric===================\n ENUM_TYPES.GRID,\n ENUM_TYPES.ELECTRIC_PRODUCTIONS,\n ENUM_TYPES.DIESEL_GENERATORS,\n ENUM_TYPES.NATURAL_GAS_GENERATORS,\n ENUM_TYPES.SOLAR_POWER,\n ENUM_TYPES.ELECTRIC_SOURCES,\n ENUM_TYPES.Electricals,\n // ENUM_TYPES.ELECTRIC_COMSUMINGS,\n // ENUM_TYPES.ELECTRIC_STORAGES,\n // ENUM_TYPES.PROCESS_CONTROL_AUTOMATION_SYSTEMS,\n // ENUM_TYPES.POWER_DISTRIBUTION_CONTROL_SYSTEMS,\n\n // Gas========================\n // ENUM_TYPES.NATURAL_GAS_PIPELINES,\n ENUM_TYPES.GAS_SOURCE,\n ENUM_TYPES.GAS_PRODUCTION,\n ENUM_TYPES.LIQUEFIED_NATURAL_GAS,\n ENUM_TYPES.ON_SITE_PRODUCTION,\n ENUM_TYPES.NATURAL_GAS_PIPELINES,\n ENUM_TYPES.LIQUEFIED_NATURAL_GAS,\n ENUM_TYPES.COMPRESSED_NATURAL_GAS_PRODUCTION,\n // ENUM_TYPES.COMPRESSED_NATURAL_GAS_PIPELINE,\n // ENUM_TYPES.COMPRESSED_NATURAL_GAS_PRODUCTION,\n // ENUM_TYPES.FURNACES,\n // ENUM_TYPES.POWER_GENERATION,\n // ENUM_TYPES.COGENERATION,\n // ENUM_TYPES.COMBINED_CYCLE_POWER_PLANTS,\n // ENUM_TYPES.FUEL_FOR_VEHICLES_AND_EQUIPMENT,\n ENUM_TYPES.NATURAL_GAS_SPECIAL,\n //Fuel========================\n ENUM_TYPES.FUEL_SOURCES,\n ENUM_TYPES.TANKER_TRUCKS,\n ENUM_TYPES.PIPELINE,\n ENUM_TYPES.FUELS,\n ];\n\n export const WITH_DRAW_TYPE_LIST = [\n ENUM_TYPES.THIRD_PARTY_SOURCES,\n ENUM_TYPES.FRESH_SURFACE_WATER,\n ENUM_TYPES.BRACKISH_SURFACE_WATER,\n ENUM_TYPES.GROUND_WATER_RENEWABLE,\n ENUM_TYPES.GROUND_WATER_NON_RENEWABLE,\n ENUM_TYPES.PRODUCED_ENTRAINED,\n ] as string[];\n export const DISCHARGE_TYPE_LIST = [\n ENUM_TYPES.FRESH_SURFACE_WATER,\n ENUM_TYPES.BRACKISH_SURFACE_WATER,\n ENUM_TYPES.GROUND_WATER_RENEWABLE,\n ENUM_TYPES.THIRD_PARTY_DESTINATIONS,\n ] as string[];\n\n export const WITH_DRAW_SYSTEM_TYPE_LIST = [\n WITH_DRAW_SYSTEM_TYPES.WATER_SOURCE,\n ];\n export const DISCHARGE_SYSTEM_TYPE_LIST = [\n DISCHARGE_TYPES_SYSTEM_TYPES.GROUND_WATER_RANEWABLE,\n ];\n\n // system type\n export const TYPE_COMPONENT = [\n ENUM_TYPES.STORAGE,\n\n ENUM_TYPES.WATER_TREATMENT,\n ENUM_TYPES.DEMIN_WATER_TREATMENT,\n ENUM_TYPES.RO_WATER_TREATMENT,\n\n ENUM_TYPES.PROCESS,\n\n ENUM_TYPES.WASTEWATER_TREATMENT,\n ENUM_TYPES.DAF_WASTEWATER_TREATMENT,\n ENUM_TYPES.ETP_WASTEWATER_TREATMENT,\n ENUM_TYPES.MBR_WASTEWATER_TREATMENT,\n ENUM_TYPES.ZLD_WASTEWATER_TREATMENT,\n\n ENUM_TYPES.DOMESTIC_USE,\n ENUM_TYPES.COOLING_TOWER,\n ENUM_TYPES.BOILER,\n ENUM_TYPES.OTHER,\n ENUM_TYPES.LANDSCAPING_IRRIGATION,\n AtoGojsEditorModel.WaterWithdrawSources,\n AtoGojsEditorModel.WaterDischargeDestinations,\n // Energy\n ENUM_TYPES.ZONE,\n // Electricity==========================\n ENUM_TYPES.GRID,\n ENUM_TYPES.DIESEL_GENERATORS,\n ENUM_TYPES.BATTERY_ENERGY_STORAGE,\n ENUM_TYPES.LIGHTING_SYSTEMS,\n ENUM_TYPES.LIGHTINGS,\n ENUM_TYPES.ELECTRIC_METERS,\n ENUM_TYPES.TRANSFORMERS,\n ENUM_TYPES.ELECTRIC_FLYWHEEL_ENERGY_STORAGE,\n ENUM_TYPES.PUMPED_HYDRO_STORAGE,\n ENUM_TYPES.THERMAL_ENERGY_STORAGE,\n ENUM_TYPES.SUPER_CAPACITOR_ENERGY_STORAGE,\n ENUM_TYPES.SWITCH_GEARS,\n ENUM_TYPES.PROCESS_CONTROL_AUTOMATION_SYSTEMS,\n ENUM_TYPES.PROCESS_EQUIPMENT_MACHINES,\n ENUM_TYPES.OFFICE_EQUIPMENT,\n ENUM_TYPES.POWER_DISTRIBUTION_CONTROL_SYSTEMS,\n ENUM_TYPES.POWER_DISTRIBUTION_SYSTEMS,\n ENUM_TYPES.NATURAL_GAS_GENERATORS,\n ENUM_TYPES.MOTOR_CONTROLS,\n ENUM_TYPES.VARIABLE_FREQUENCY_DRIVERS,\n ENUM_TYPES.ELECTRIC_HVAC,\n ENUM_TYPES.COMPRESSED_AIR_SYSTEMS,\n ENUM_TYPES.REFRIGERATION_COOLING_SYSTEMS,\n ENUM_TYPES.MATERIAL_HANDLING_EQUIPMENT,\n ENUM_TYPES.WIND_POWER,\n ENUM_TYPES.ELECTRIC_INDUSTRIAL_MOTORS,\n ENUM_TYPES.GROUNDING,\n ENUM_TYPES.ELECTRIC_STORAGES,\n ENUM_TYPES.ELECTRIC_COMSUMINGS,\n\n // TEST\n ENUM_TYPES.ELECTRIC_SOURCES,\n // Gas==========================\n ENUM_TYPES.NATURAL_GAS_PIPELINES,\n ENUM_TYPES.LIQUEFIED_NATURAL_GAS,\n ENUM_TYPES.COMPRESSED_NATURAL_GAS_PIPELINE,\n ENUM_TYPES.ON_SITE_PRODUCTION,\n ENUM_TYPES.COMPRESSED_NATURAL_GAS_PRODUCTION,\n ENUM_TYPES.BOILERS_AND_HEATERS,\n ENUM_TYPES.FURNACES,\n ENUM_TYPES.POWER_GENERATION,\n ENUM_TYPES.COGENERATION,\n ENUM_TYPES.COMBINED_CYCLE_POWER_PLANTS,\n ENUM_TYPES.FUEL_FOR_VEHICLES_AND_EQUIPMENT,\n ENUM_TYPES.GAS_METERS,\n ENUM_TYPES.BURNERS,\n ENUM_TYPES.FLUE_GAS_ANALYZERS,\n ENUM_TYPES.COMBUSTION_CONTROL_SYSTEMS,\n ENUM_TYPES.GAS_STORAGE_TANKS,\n ENUM_TYPES.GAS_PRESSURE_REGULATORS,\n ENUM_TYPES.NATURAL_GAS,\n\n ENUM_TYPES.GAS_SOURCE,\n // ENUM_TYPES.GAS_PRODUCTION,\n ENUM_TYPES.GAS_CONSUMINGS,\n\n // Fuel==========================\n ENUM_TYPES.DIESEL_FUELS,\n ENUM_TYPES.GASON_LINES,\n ENUM_TYPES.BIODIESELS,\n ENUM_TYPES.KEROSENSE,\n ENUM_TYPES.PROPANES,\n ENUM_TYPES.FUEL_CONSUMINGS,\n ENUM_TYPES.INDUSTRIAL_BOILERS,\n ENUM_TYPES.GENERATORS,\n ENUM_TYPES.INDUSTRIAL_FURNACES,\n ENUM_TYPES.INDUSTRIAL_OVENS,\n ENUM_TYPES.INDUSTRIAL_VEHICLES_AND_EQUIPMENT,\n ENUM_TYPES.FUEL_METERS,\n ENUM_TYPES.FUEL_DISPENSERS,\n ENUM_TYPES.FUEL_STRORAGE_TANKS,\n ENUM_TYPES.FUEL_FILTRATIONS,\n ENUM_TYPES.FUEL_MANAGEMENTS,\n ENUM_TYPES.FUELS,\n\n // Solar =============================\n ENUM_TYPES.SOLAR_POWER,\n ENUM_TYPES.BATTERIES,\n ENUM_TYPES.INVERTERS,\n ENUM_TYPES.POWER_CONDITIONING_UNIT,\n\n // Plant Cell\n ENUM_TYPES.PLANT_CELL,\n\n // Copy form ENUM_TYPES\n ENUM_TYPES.STORAGE,\n\n ENUM_TYPES.WATER_TREATMENT,\n ENUM_TYPES.DEMIN_WATER_TREATMENT,\n ENUM_TYPES.RO_WATER_TREATMENT,\n\n ENUM_TYPES.PROCESS,\n ENUM_TYPES.SPECIAL_STORAGE,\n\n ENUM_TYPES.WASTEWATER_TREATMENT,\n ENUM_TYPES.DAF_WASTEWATER_TREATMENT,\n ENUM_TYPES.ETP_WASTEWATER_TREATMENT,\n ENUM_TYPES.MBR_WASTEWATER_TREATMENT,\n ENUM_TYPES.ZLD_WASTEWATER_TREATMENT,\n\n ENUM_TYPES.DOMESTIC_USE,\n ENUM_TYPES.COOLING_TOWER,\n ENUM_TYPES.BOILER,\n ENUM_TYPES.OTHER,\n ENUM_TYPES.LANDSCAPING_IRRIGATION,\n\n ENUM_TYPES.FRESH_SURFACE_WATER,\n ENUM_TYPES.THIRD_PARTY_SOURCES,\n ENUM_TYPES.THIRD_PARTY_DESTINATIONS,\n ENUM_TYPES.GROUND_WATER_NON_RENEWABLE,\n ENUM_TYPES.PRODUCED_ENTRAINED,\n\n // FRESH_SURFACE_WAER = 'Fresh surface water',\n ENUM_TYPES.BRACKISH_SURFACE_WATER,\n ENUM_TYPES.GROUND_WATER_RENEWABLE,\n\n ENUM_TYPES.TANKER_WATER,\n // ENERGY\n ENUM_TYPES.ZONE,\n // Electric\n ENUM_TYPES.ELECTRIC_SOURCES,\n ENUM_TYPES.GRID,\n ENUM_TYPES.DIESEL_GENERATORS,\n ENUM_TYPES.ELECTRIC_METERS,\n ENUM_TYPES.TRANSFORMERS,\n // Electric New\n ENUM_TYPES.BATTERY_ENERGY_STORAGE,\n ENUM_TYPES.ELECTRIC_PRODUCTIONS,\n ENUM_TYPES.ELECTRIC_COMSUMINGS,\n ENUM_TYPES.ELECTRIC_STORAGES,\n ENUM_TYPES.ELECTRIC_FLYWHEEL_ENERGY_STORAGE,\n ENUM_TYPES.PUMPED_HYDRO_STORAGE,\n ENUM_TYPES.THERMAL_ENERGY_STORAGE,\n ENUM_TYPES.SUPER_CAPACITOR_ENERGY_STORAGE,\n ENUM_TYPES.SWITCH_GEARS,\n ENUM_TYPES.MOTOR_CONTROLS,\n ENUM_TYPES.VARIABLE_FREQUENCY_DRIVERS,\n ENUM_TYPES.LIGHTING_SYSTEMS,\n ENUM_TYPES.LIGHTINGS,\n ENUM_TYPES.ELECTRIC_HVAC,\n ENUM_TYPES.COMPRESSED_AIR_SYSTEMS,\n ENUM_TYPES.REFRIGERATION_COOLING_SYSTEMS,\n ENUM_TYPES.PROCESS_EQUIPMENT_MACHINES,\n ENUM_TYPES.PROCESS_CONTROL_AUTOMATION_SYSTEMS,\n ENUM_TYPES.OFFICE_EQUIPMENT,\n ENUM_TYPES.MATERIAL_HANDLING_EQUIPMENT,\n ENUM_TYPES.POWER_DISTRIBUTION_CONTROL_SYSTEMS,\n ENUM_TYPES.POWER_DISTRIBUTION_SYSTEMS,\n ENUM_TYPES.WIND_POWER,\n ENUM_TYPES.NATURAL_GAS_GENERATORS,\n ENUM_TYPES.ELECTRIC_INDUSTRIAL_MOTORS,\n ENUM_TYPES.GROUNDING,\n ENUM_TYPES.Electricals,\n\n // Gas\n ENUM_TYPES.NATURAL_GAS_PIPELINES,\n ENUM_TYPES.LIQUEFIED_NATURAL_GAS,\n ENUM_TYPES.COMPRESSED_NATURAL_GAS_PIPELINE,\n ENUM_TYPES.ON_SITE_PRODUCTION,\n ENUM_TYPES.COMPRESSED_NATURAL_GAS_PRODUCTION,\n ENUM_TYPES.BOILERS_AND_HEATERS,\n ENUM_TYPES.FURNACES,\n ENUM_TYPES.POWER_GENERATION,\n ENUM_TYPES.COGENERATION,\n ENUM_TYPES.COMBINED_CYCLE_POWER_PLANTS,\n ENUM_TYPES.FUEL_FOR_VEHICLES_AND_EQUIPMENT,\n ENUM_TYPES.GAS_METERS,\n ENUM_TYPES.BURNERS,\n ENUM_TYPES.FLUE_GAS_ANALYZERS,\n ENUM_TYPES.COMBUSTION_CONTROL_SYSTEMS,\n ENUM_TYPES.GAS_STORAGE_TANKS,\n ENUM_TYPES.GAS_PRESSURE_REGULATORS,\n ENUM_TYPES.NATURAL_GAS,\n // TYPE_COMPONENT Gas\n ENUM_TYPES.GAS_SOURCE,\n ENUM_TYPES.GAS_PRODUCTION,\n ENUM_TYPES.GAS_CONSUMINGS,\n ENUM_TYPES.NATURAL_GAS_SPECIAL,\n\n // Fuel\n ENUM_TYPES.FUELS,\n ENUM_TYPES.DIESEL_FUELS,\n ENUM_TYPES.GASON_LINES,\n ENUM_TYPES.BIODIESELS,\n ENUM_TYPES.KEROSENSE,\n ENUM_TYPES.PROPANES,\n\n ENUM_TYPES.FUEL_SOURCES,\n\n ENUM_TYPES.TANKER_TRUCKS,\n ENUM_TYPES.PIPELINE,\n\n ENUM_TYPES.FUEL_CONSUMINGS,\n\n ENUM_TYPES.INDUSTRIAL_BOILERS,\n ENUM_TYPES.GENERATORS,\n ENUM_TYPES.INDUSTRIAL_FURNACES,\n ENUM_TYPES.INDUSTRIAL_OVENS,\n ENUM_TYPES.INDUSTRIAL_VEHICLES_AND_EQUIPMENT,\n\n ENUM_TYPES.FUEL_METERS,\n ENUM_TYPES.FUEL_DISPENSERS,\n ENUM_TYPES.FUEL_STRORAGE_TANKS,\n ENUM_TYPES.FUEL_FILTRATIONS,\n ENUM_TYPES.FUEL_MANAGEMENTS,\n\n // Solar\n ENUM_TYPES.SOLAR_POWER,\n ENUM_TYPES.POWER_CONDITIONING_UNIT,\n ENUM_TYPES.INVERTERS,\n ENUM_TYPES.BATTERIES,\n\n // Plant Cell\n ENUM_TYPES.PLANT_CELL,\n ENUM_TYPES.PLANT_CELL_INPUT_GROUP,\n ENUM_TYPES.PLANT_CELL_OUTPUT_GROUP,\n\n // Steam\n ENUM_TYPES.VALUES,\n ENUM_TYPES.STEAM_TRAPS,\n ENUM_TYPES.PRESSURE_REGULATORS,\n ENUM_TYPES.SAFETY_VALUES_AND_EQUIPMENT,\n ENUM_TYPES.CONDENSATE_RETURN_SYSTEM,\n ENUM_TYPES.DEAERATORS,\n ENUM_TYPES.FEEDWATER_PUMPS,\n ENUM_TYPES.BLOWDOWN_TANKS,\n ENUM_TYPES.EXPANSION_TANKS,\n ENUM_TYPES.HEAT_EXCHANGERS,\n ENUM_TYPES.TURBINES,\n ENUM_TYPES.STEAM_COMPONENT,\n ENUM_TYPES.STEAM_CONSUMING_SYSTEM,\n ENUM_TYPES.ENERGY_CONVERTER,\n ] as string[];\n\n export const ICON_ASSET_PATH: string = 'assets/images/editor/icons';\n export const ICON_ASSET_WITHDRAW_DISCHARGE_ICON: string =\n '/assets/images/icons/hoskote_plant';\n export const IMAGE_RO_WATER_TREATMENT_PATH =\n '/assets/images/ro-water-treatment/RO_WATER_TREATMENT_BG.png';\n export const IMAGE_BOILER_PATH = 'assets/images/boiler/cms_boiler.png';\n export const IMAGE_COOLING_TOWER_PATH =\n 'assets/images/process-water/cooling-tower-4.png';\n export const SPECIAL_ICON_ASSET_PATH: string = 'assets/images/editor/special';\n export const ENERGY_ICON_ASSET_PATH = 'assets/images/editor/energy';\n export const GAS_ICON_ASSET_PATH = 'assets/images/editor/gas';\n export const FUEL_ICON_ASSET_PATH = 'assets/images/editor/fuel';\n export const STEAM_ICON_ASSET_PATH = 'assets/images/editor/steam';\n export const PLANT_CELL_PATH = 'assets/images/editor/plant-cell';\n export const DATA_BOX = 'assets/images/editor/data-box';\n\n export const LINK_TEMPLATES: {\n [key in AtoGojsEditorModel.ENUM_LINK_TYPES]: any;\n } = {\n [ENUM_LINK_TYPES.SIMPLE]: {\n toShortLength: 8,\n strokeWidth: 8,\n arrow: {\n toArrow: 'Triangle',\n visible: true,\n stroke: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n fill: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n scale: 1.7,\n },\n },\n [ENUM_LINK_TYPES.PIPE]: {\n strokeWidth: 8,\n },\n [ENUM_LINK_TYPES.PIPE_ANIMATION]: {\n strokeWidth: 8,\n animation: {\n isPanelMain: true,\n stroke: 'white',\n strokeWidth: 2,\n name: 'PIPE',\n strokeDashArray: [10, 20],\n visible: false,\n },\n },\n [ENUM_LINK_TYPES.PIPE_HIDDEN]: {\n strokeWidth: 0,\n selectable: false,\n arrow: {\n visible: false,\n },\n },\n };\n\n export interface I_TEMPLATE_ITEM {\n name: AtoGojsEditorModel.ENUM_TEMPLATES;\n icon?: string;\n size?: { w: number; h: number };\n systemType?: string;\n }\n\n export const ATTRNAME_COMPONENT: any[] = [\n 'waterWithdrawName',\n 'waterDischargeName',\n 'wasteWaterProcessName',\n 'waterTreatmentName',\n 'waterStorageTankName',\n 'genericProcessName',\n 'boilerName',\n 'coolingTowerName',\n 'facilityFunctionName',\n 'miscWaterUseName',\n 'plantTopologyName',\n ];\n\n // export enum GROUP_COMPONENT_TYPE {\n // WITHDRAW_SOURCES = 'Withdraw Sources',\n // PROCESSE = 'Processe',\n // WASTEWATER_TREATEMENTS = 'WasteWater Treatements',\n // WATER_TREATMENT = 'Water Treatments',\n // DISCHARGE_DESTINATIONS = 'Discharge Destinations',\n // WATER_STORAGE = 'Water Storage',\n // FACILITY_FUNCTIONS = 'Facility functions',\n // OTHER = 'Other',\n // }\n\n export const NODE_TEMPLATES: {\n [key in AtoGojsEditorModel.ENUM_TEMPLATES]: I_TEMPLATE_ITEM;\n } = {\n [ENUM_TEMPLATES.STORAGE]: {\n name: ENUM_TEMPLATES.STORAGE,\n icon: `${ICON_ASSET_PATH}/Raw Water Tank.svg`,\n systemType: ENUM_TYPES.STORAGE,\n },\n [ENUM_TEMPLATES.COOLING_TOWER]: {\n name: ENUM_TEMPLATES.COOLING_TOWER,\n icon: `${ICON_ASSET_PATH}/cooling_tower.svg`,\n systemType: ENUM_TYPES.COOLING_TOWER,\n },\n\n // WATER_TREATMENT\n [ENUM_TEMPLATES.WATER_TREATMENT]: {\n name: ENUM_TEMPLATES.WATER_TREATMENT,\n icon: `${ICON_ASSET_PATH}/water_treatment.svg`,\n systemType: ENUM_TYPES.WATER_TREATMENT,\n },\n [ENUM_TEMPLATES.DEMIN_WATER_TREATMENT]: {\n name: ENUM_TEMPLATES.DEMIN_WATER_TREATMENT,\n icon: `${ICON_ASSET_PATH}/Demin.svg`,\n systemType: ENUM_TYPES.DEMIN_WATER_TREATMENT,\n },\n [ENUM_TEMPLATES.RO_WATER_TREATMENT]: {\n name: ENUM_TEMPLATES.RO_WATER_TREATMENT,\n icon: `${ICON_ASSET_PATH}/RO.svg`,\n systemType: ENUM_TYPES.RO_WATER_TREATMENT,\n },\n\n [ENUM_TEMPLATES.DOMESTIC_USE]: {\n name: ENUM_TEMPLATES.DOMESTIC_USE,\n icon: `${ICON_ASSET_PATH}/Domestic_new.svg`,\n systemType: ENUM_TYPES.DOMESTIC_USE,\n },\n [ENUM_TEMPLATES.PROCESS]: {\n name: ENUM_TEMPLATES.PROCESS,\n // icon: `${ICON_ASSET_PATH}/process.svg`,\n icon: `${ICON_ASSET_PATH}/Generic Process.svg`,\n systemType: ENUM_TYPES.PROCESS,\n },\n [ENUM_TEMPLATES.SPECIAL_STORAGE]: {\n name: ENUM_TEMPLATES.SPECIAL_STORAGE,\n icon: `${ICON_ASSET_PATH}/process.svg`,\n systemType: ENUM_TYPES.SPECIAL_STORAGE,\n },\n [ENUM_TEMPLATES.BOILER]: {\n name: ENUM_TEMPLATES.BOILER,\n icon: `${ICON_ASSET_PATH}/Boiler.svg`,\n systemType: ENUM_TYPES.BOILER,\n },\n\n // WASTEWATER_TREATMENT\n [ENUM_TEMPLATES.WASTEWATER_TREATMENT]: {\n name: ENUM_TEMPLATES.WASTEWATER_TREATMENT,\n icon: `${ICON_ASSET_PATH}/wastewater_treatment.svg`,\n // size: {\n // w: GRID_SIZE * 8,\n // h: GRID_SIZE * 6,\n // },\n systemType: ENUM_TYPES.WASTEWATER_TREATMENT,\n },\n [ENUM_TEMPLATES.DAF_WASTEWATER_TREATMENT]: {\n name: ENUM_TEMPLATES.DAF_WASTEWATER_TREATMENT,\n icon: `${ICON_ASSET_PATH}/DAF.svg`,\n // size: {\n // w: GRID_SIZE * 8,\n // h: GRID_SIZE * 6,\n // },\n systemType: ENUM_TYPES.DAF_WASTEWATER_TREATMENT,\n },\n [ENUM_TEMPLATES.ETP_WASTEWATER_TREATMENT]: {\n name: ENUM_TEMPLATES.ETP_WASTEWATER_TREATMENT,\n icon: `${ICON_ASSET_PATH}/water_treatment.svg`,\n systemType: ENUM_TYPES.ETP_WASTEWATER_TREATMENT,\n },\n [ENUM_TEMPLATES.MBR_WASTEWATER_TREATMENT]: {\n name: ENUM_TEMPLATES.MBR_WASTEWATER_TREATMENT,\n icon: `${ICON_ASSET_PATH}/MBR.svg`,\n // size: {\n // w: GRID_SIZE * 8,\n // h: GRID_SIZE * 6,\n // },\n systemType: ENUM_TYPES.MBR_WASTEWATER_TREATMENT,\n },\n [ENUM_TEMPLATES.ZLD_WASTEWATER_TREATMENT]: {\n name: ENUM_TEMPLATES.ZLD_WASTEWATER_TREATMENT,\n icon: `${ICON_ASSET_PATH}/ZLD.svg`,\n // size: {\n // w: GRID_SIZE * 8,\n // h: GRID_SIZE * 6,\n // },\n systemType: ENUM_TYPES.ZLD_WASTEWATER_TREATMENT,\n },\n\n [ENUM_TEMPLATES.LANDSCAPING_IRRIGATION]: {\n name: ENUM_TEMPLATES.LANDSCAPING_IRRIGATION,\n icon: `${ICON_ASSET_PATH}/Irrigation.svg`,\n // size: {\n // w: GRID_SIZE * 8,\n // h: GRID_SIZE * 6,\n // },\n systemType: ENUM_TYPES.LANDSCAPING_IRRIGATION,\n },\n [ENUM_TEMPLATES.OTHER]: {\n name: ENUM_TEMPLATES.OTHER,\n icon: `${ICON_ASSET_PATH}/other.svg`,\n systemType: ENUM_TYPES.OTHER,\n },\n [ENUM_TEMPLATES.TEXT_NODE]: {\n name: ENUM_TEMPLATES.TEXT_NODE,\n },\n [ENUM_TEMPLATES.EMPTY]: {\n name: ENUM_TEMPLATES.EMPTY,\n },\n\n [ENUM_TEMPLATES.VALUE_NODE]: {\n name: ENUM_TEMPLATES.VALUE_NODE,\n },\n [ENUM_TEMPLATES.VALUE_LABEL]: {\n name: ENUM_TEMPLATES.VALUE_LABEL,\n },\n [ENUM_TEMPLATES.TEXT_LABEL]: {\n name: ENUM_TEMPLATES.TEXT_LABEL,\n },\n [ENUM_TEMPLATES.DATA_BOX]: {\n name: ENUM_TEMPLATES.DATA_BOX,\n },\n\n [ENUM_TEMPLATES.SPECIAL_PROCESS]: {\n name: ENUM_TEMPLATES.SPECIAL_PROCESS,\n icon: `${SPECIAL_ICON_ASSET_PATH}/process.svg`,\n },\n [ENUM_TEMPLATES.SPECIAL_STORE]: {\n name: ENUM_TEMPLATES.SPECIAL_STORE,\n icon: `${SPECIAL_ICON_ASSET_PATH}/Discharge.svg`,\n },\n [ENUM_TEMPLATES.SPECIAL_DISCHARGE]: {\n name: ENUM_TEMPLATES.SPECIAL_DISCHARGE,\n icon: `${SPECIAL_ICON_ASSET_PATH}/Discharge.svg`,\n },\n\n [ENUM_TEMPLATES.THIRD_PARTY_SOURCES]: {\n name: ENUM_TEMPLATES.THIRD_PARTY_SOURCES,\n // icon: `${ICON_ASSET_PATH}/Intake.svg`,\n icon: `${ICON_ASSET_PATH}/Third Party Sources.svg`,\n systemType: ENUM_TYPES.THIRD_PARTY_SOURCES,\n },\n\n [ENUM_TEMPLATES.THIRD_PARTY_DESTINATIONS]: {\n name: ENUM_TEMPLATES.THIRD_PARTY_DESTINATIONS,\n // icon: `${ICON_ASSET_PATH}/Intake.svg`,\n icon: `${ICON_ASSET_PATH}/Third party destinations.svg`,\n systemType: ENUM_TYPES.THIRD_PARTY_DESTINATIONS,\n },\n\n [ENUM_TEMPLATES.GROUND_WATER_NON_RENEWABLE]: {\n name: ENUM_TEMPLATES.GROUND_WATER_NON_RENEWABLE,\n icon: `${ICON_ASSET_PATH}/Groundwater - Non-Renewable.svg`,\n systemType: ENUM_TYPES.GROUND_WATER_NON_RENEWABLE,\n },\n [ENUM_TEMPLATES.PRODUCED_ENTRAINED]: {\n name: ENUM_TEMPLATES.PRODUCED_ENTRAINED,\n icon: `${ICON_ASSET_PATH}/Produced Entrained Water.svg`,\n systemType: ENUM_TYPES.PRODUCED_ENTRAINED,\n },\n [ENUM_TEMPLATES.BRACKISH_SURFACE_WATER]: {\n name: ENUM_TEMPLATES.BRACKISH_SURFACE_WATER,\n icon: `${ICON_ASSET_PATH}/Brackisk Surface Water Seawater.svg`,\n systemType: ENUM_TYPES.BRACKISH_SURFACE_WATER,\n },\n\n [ENUM_TEMPLATES.FRESH_SURFACE_WATER]: {\n name: ENUM_TEMPLATES.FRESH_SURFACE_WATER,\n icon: `${ICON_ASSET_PATH}/Fresh Surface Water.svg`,\n systemType: ENUM_TYPES.FRESH_SURFACE_WATER,\n },\n [ENUM_TEMPLATES.UTILITY]: {\n name: ENUM_TEMPLATES.UTILITY,\n icon: '',\n // `${ICON_ASSET_PATH}/rain.svg`,\n },\n\n [ENUM_TEMPLATES.GROUND_WATER_RENEWABLE]: {\n name: ENUM_TEMPLATES.GROUND_WATER_RENEWABLE,\n icon: `${ICON_ASSET_PATH}/Groundwater - Renewable.svg`,\n systemType: ENUM_TYPES.GROUND_WATER_RENEWABLE,\n },\n [ENUM_TEMPLATES.SPECIAL_OTHER]: {\n name: ENUM_TEMPLATES.SPECIAL_OTHER,\n icon: `${SPECIAL_ICON_ASSET_PATH}/Discharge.svg`,\n },\n // Energy\n // Electric Node Template ====================================================================\n [ENUM_TEMPLATES.GRID]: {\n name: ENUM_TEMPLATES.GRID,\n icon: `${ENERGY_ICON_ASSET_PATH}/Grid.svg`,\n systemType: ENUM_TYPES.GRID,\n // size: {\n // h: GRID_SIZE * 8,\n // w: GRID_SIZE * 6,\n // },\n },\n [ENUM_TEMPLATES.DIESEL_GENERATORS]: {\n name: ENUM_TEMPLATES.DIESEL_GENERATORS,\n icon: `${ENERGY_ICON_ASSET_PATH}/Diesel Generators.svg`,\n systemType: ENUM_TYPES.DIESEL_GENERATORS,\n // size: {\n // h: GRID_SIZE * 8,\n // w: GRID_SIZE * 6,\n // },\n },\n [ENUM_TEMPLATES.BATTERY_ENERGY_STORAGE]: {\n name: ENUM_TEMPLATES.BATTERY_ENERGY_STORAGE,\n icon: `${ENERGY_ICON_ASSET_PATH}/Battery.svg`,\n systemType: ENUM_TYPES.BATTERY_ENERGY_STORAGE,\n },\n [ENUM_TEMPLATES.LIGHTING_SYSTEMS]: {\n name: ENUM_TEMPLATES.LIGHTING_SYSTEMS,\n icon: `${ENERGY_ICON_ASSET_PATH}/Lighting systems.svg`,\n systemType: ENUM_TYPES.LIGHTING_SYSTEMS,\n },\n [ENUM_TEMPLATES.LIGHTINGS]: {\n name: ENUM_TEMPLATES.LIGHTINGS,\n icon: `${ENERGY_ICON_ASSET_PATH}/Lights.svg`,\n systemType: ENUM_TYPES.LIGHTINGS,\n },\n [ENUM_TEMPLATES.ELECTRIC_METERS]: {\n name: ENUM_TEMPLATES.ELECTRIC_METERS,\n icon: `${ENERGY_ICON_ASSET_PATH}/Meter.svg`,\n systemType: ENUM_TYPES.ELECTRIC_METERS,\n },\n\n [ENUM_TEMPLATES.TRANSFORMERS]: {\n name: ENUM_TEMPLATES.TRANSFORMERS,\n icon: `${ENERGY_ICON_ASSET_PATH}/Transformer.svg`,\n systemType: ENUM_TYPES.TRANSFORMERS,\n },\n [ENUM_TEMPLATES.ELECTRIC_FLYWHEEL_ENERGY_STORAGE]: {\n name: ENUM_TEMPLATES.ELECTRIC_FLYWHEEL_ENERGY_STORAGE,\n icon: `${ENERGY_ICON_ASSET_PATH}/Pumped hydro storage systems.svg`,\n systemType: ENUM_TYPES.ELECTRIC_FLYWHEEL_ENERGY_STORAGE,\n },\n [ENUM_TEMPLATES.PUMPED_HYDRO_STORAGE]: {\n name: ENUM_TEMPLATES.PUMPED_HYDRO_STORAGE,\n icon: `${ENERGY_ICON_ASSET_PATH}/Pumped hydro storage systems.svg`,\n systemType: ENUM_TYPES.PUMPED_HYDRO_STORAGE,\n },\n [ENUM_TEMPLATES.THERMAL_ENERGY_STORAGE]: {\n name: ENUM_TEMPLATES.THERMAL_ENERGY_STORAGE,\n icon: `${ENERGY_ICON_ASSET_PATH}/Thermal energy storage systems.svg`,\n systemType: ENUM_TYPES.THERMAL_ENERGY_STORAGE,\n },\n [ENUM_TEMPLATES.SUPER_CAPACITOR_ENERGY_STORAGE]: {\n name: ENUM_TEMPLATES.SUPER_CAPACITOR_ENERGY_STORAGE,\n icon: `${ENERGY_ICON_ASSET_PATH}/Supercapacitor energy storage systems.svg`,\n systemType: ENUM_TYPES.SUPER_CAPACITOR_ENERGY_STORAGE,\n },\n [ENUM_TEMPLATES.SWITCH_GEARS]: {\n name: ENUM_TEMPLATES.SWITCH_GEARS,\n icon: `${ENERGY_ICON_ASSET_PATH}/Switchgear.svg`,\n systemType: ENUM_TYPES.SWITCH_GEARS,\n },\n [ENUM_TEMPLATES.PROCESS_CONTROL_AUTOMATION_SYSTEMS]: {\n name: ENUM_TEMPLATES.PROCESS_CONTROL_AUTOMATION_SYSTEMS,\n icon: `${ENERGY_ICON_ASSET_PATH}/Process control and automation systems.svg`,\n systemType: ENUM_TYPES.PROCESS_CONTROL_AUTOMATION_SYSTEMS,\n },\n [ENUM_TEMPLATES.PROCESS_EQUIPMENT_MACHINES]: {\n name: ENUM_TEMPLATES.PROCESS_EQUIPMENT_MACHINES,\n icon: `${ENERGY_ICON_ASSET_PATH}/Process equipment and machines.svg`,\n systemType: ENUM_TYPES.PROCESS_EQUIPMENT_MACHINES,\n },\n [ENUM_TEMPLATES.OFFICE_EQUIPMENT]: {\n name: ENUM_TEMPLATES.OFFICE_EQUIPMENT,\n icon: `${ENERGY_ICON_ASSET_PATH}/Office equipment.svg`,\n systemType: ENUM_TYPES.OFFICE_EQUIPMENT,\n },\n [ENUM_TEMPLATES.POWER_DISTRIBUTION_CONTROL_SYSTEMS]: {\n name: ENUM_TEMPLATES.POWER_DISTRIBUTION_CONTROL_SYSTEMS,\n icon: `${ENERGY_ICON_ASSET_PATH}/Power distribution and control systems.svg`,\n systemType: ENUM_TYPES.POWER_DISTRIBUTION_CONTROL_SYSTEMS,\n },\n [ENUM_TEMPLATES.POWER_DISTRIBUTION_SYSTEMS]: {\n name: ENUM_TEMPLATES.POWER_DISTRIBUTION_SYSTEMS,\n icon: `${ENERGY_ICON_ASSET_PATH}/Power distribution systems.svg`,\n systemType: ENUM_TYPES.POWER_DISTRIBUTION_SYSTEMS,\n },\n [ENUM_TEMPLATES.NATURAL_GAS_GENERATORS]: {\n name: ENUM_TEMPLATES.NATURAL_GAS_GENERATORS,\n icon: `${ENERGY_ICON_ASSET_PATH}/Natural gas generators.svg`,\n systemType: ENUM_TYPES.NATURAL_GAS_GENERATORS,\n },\n [ENUM_TEMPLATES.MOTOR_CONTROLS]: {\n name: ENUM_TEMPLATES.MOTOR_CONTROLS,\n icon: `${ENERGY_ICON_ASSET_PATH}/Motor control centers (MCCs).svg`,\n systemType: ENUM_TYPES.MOTOR_CONTROLS,\n },\n [ENUM_TEMPLATES.VARIABLE_FREQUENCY_DRIVERS]: {\n name: ENUM_TEMPLATES.VARIABLE_FREQUENCY_DRIVERS,\n icon: `${ENERGY_ICON_ASSET_PATH}/Variable frequency drives (VFDs).svg`,\n systemType: ENUM_TYPES.VARIABLE_FREQUENCY_DRIVERS,\n },\n [ENUM_TEMPLATES.ELECTRIC_HVAC]: {\n name: ENUM_TEMPLATES.ELECTRIC_HVAC,\n icon: `${ENERGY_ICON_ASSET_PATH}/Gas HVAC.svg`,\n systemType: ENUM_TYPES.ELECTRIC_HVAC,\n },\n [ENUM_TEMPLATES.COMPRESSED_AIR_SYSTEMS]: {\n name: ENUM_TEMPLATES.COMPRESSED_AIR_SYSTEMS,\n icon: `${ENERGY_ICON_ASSET_PATH}/Compressed air.svg`,\n systemType: ENUM_TYPES.COMPRESSED_AIR_SYSTEMS,\n },\n [ENUM_TEMPLATES.REFRIGERATION_COOLING_SYSTEMS]: {\n name: ENUM_TEMPLATES.REFRIGERATION_COOLING_SYSTEMS,\n icon: `${ENERGY_ICON_ASSET_PATH}/Refrigeration and cooling systems.svg`,\n systemType: ENUM_TYPES.REFRIGERATION_COOLING_SYSTEMS,\n },\n\n [ENUM_TEMPLATES.MATERIAL_HANDLING_EQUIPMENT]: {\n name: ENUM_TEMPLATES.MATERIAL_HANDLING_EQUIPMENT,\n icon: `${ENERGY_ICON_ASSET_PATH}/Material handling equipment.svg`,\n systemType: ENUM_TYPES.MATERIAL_HANDLING_EQUIPMENT,\n },\n [ENUM_TEMPLATES.WIND_POWER]: {\n name: ENUM_TEMPLATES.WIND_POWER,\n icon: `${ENERGY_ICON_ASSET_PATH}/Wind Power.svg`,\n systemType: ENUM_TYPES.WIND_POWER,\n },\n\n [ENUM_TEMPLATES.ELECTRIC_INDUSTRIAL_MOTORS]: {\n name: ENUM_TEMPLATES.ELECTRIC_INDUSTRIAL_MOTORS,\n icon: `${ENERGY_ICON_ASSET_PATH}/Industrial motors.svg`,\n systemType: ENUM_TYPES.ELECTRIC_INDUSTRIAL_MOTORS,\n },\n [ENUM_TEMPLATES.GROUNDING]: {\n name: ENUM_TEMPLATES.GROUNDING,\n icon: `${ENERGY_ICON_ASSET_PATH}/Grounding systems.svg`,\n systemType: ENUM_TYPES.GROUNDING,\n },\n // Gas ================================================================================\n\n [ENUM_TEMPLATES.NATURAL_GAS_PIPELINES]: {\n name: ENUM_TEMPLATES.NATURAL_GAS_PIPELINES,\n icon: `${GAS_ICON_ASSET_PATH}/Natural gas pipelines.svg`,\n systemType: ENUM_TYPES.NATURAL_GAS_PIPELINES,\n },\n // [ENUM_TEMPLATES.LIQUEFIED_NATURAL_GAS]: {\n // name: ENUM_TEMPLATES.LIQUEFIED_NATURAL_GAS,\n // icon: `${GAS_ICON_ASSET_PATH}/Liquefied natural gas (LNG) shipments.svg`,\n // systemType: ENUM_TYPES.LIQUEFIED_NATURAL_GAS,\n // },\n [ENUM_TEMPLATES.COMPRESSED_NATURAL_GAS_PIPELINE]: {\n name: ENUM_TEMPLATES.COMPRESSED_NATURAL_GAS_PIPELINE,\n icon: `${GAS_ICON_ASSET_PATH}/Compressed natural gas pipeline (CNG).svg`,\n systemType: ENUM_TYPES.COMPRESSED_NATURAL_GAS_PIPELINE,\n },\n // [ENUM_TEMPLATES.ON_SITE_PRODUCTION]: {\n // name: ENUM_TEMPLATES.ON_SITE_PRODUCTION,\n // icon: `${GAS_ICON_ASSET_PATH}/On-site production.svg`,\n // systemType: ENUM_TYPES.ON_SITE_PRODUCTION,\n // },\n [ENUM_TEMPLATES.COMPRESSED_NATURAL_GAS_PRODUCTION]: {\n name: ENUM_TEMPLATES.COMPRESSED_NATURAL_GAS_PRODUCTION,\n icon: `${GAS_ICON_ASSET_PATH}/Compressed natural gas pipeline (CNG).svg`,\n systemType: ENUM_TYPES.COMPRESSED_NATURAL_GAS_PRODUCTION,\n },\n [ENUM_TEMPLATES.BOILERS_AND_HEATERS]: {\n name: ENUM_TEMPLATES.BOILERS_AND_HEATERS,\n icon: `${GAS_ICON_ASSET_PATH}/Boilers and heaters.svg`,\n systemType: ENUM_TYPES.BOILERS_AND_HEATERS,\n },\n [ENUM_TEMPLATES.FURNACES]: {\n name: ENUM_TEMPLATES.FURNACES,\n icon: `${GAS_ICON_ASSET_PATH}/Furnaces.svg`,\n systemType: ENUM_TYPES.FURNACES,\n },\n [ENUM_TEMPLATES.POWER_GENERATION]: {\n name: ENUM_TEMPLATES.POWER_GENERATION,\n icon: `${GAS_ICON_ASSET_PATH}/Power generation.svg`,\n systemType: ENUM_TYPES.POWER_GENERATION,\n },\n [ENUM_TEMPLATES.COGENERATION]: {\n name: ENUM_TEMPLATES.COGENERATION,\n icon: `${GAS_ICON_ASSET_PATH}/Cogeneration.svg`,\n systemType: ENUM_TYPES.COGENERATION,\n },\n [ENUM_TEMPLATES.COMBINED_CYCLE_POWER_PLANTS]: {\n name: ENUM_TEMPLATES.COMBINED_CYCLE_POWER_PLANTS,\n icon: `${GAS_ICON_ASSET_PATH}/Combined cycle power plants.svg`,\n systemType: ENUM_TYPES.COMBINED_CYCLE_POWER_PLANTS,\n },\n [ENUM_TEMPLATES.FUEL_FOR_VEHICLES_AND_EQUIPMENT]: {\n name: ENUM_TEMPLATES.FUEL_FOR_VEHICLES_AND_EQUIPMENT,\n icon: `${GAS_ICON_ASSET_PATH}/Fuel for vehicles and equipment.svg`,\n systemType: ENUM_TYPES.FUEL_FOR_VEHICLES_AND_EQUIPMENT,\n },\n [ENUM_TEMPLATES.GAS_METERS]: {\n name: ENUM_TEMPLATES.GAS_METERS,\n icon: `${GAS_ICON_ASSET_PATH}/Gas meters.svg`,\n systemType: ENUM_TYPES.GAS_METERS,\n },\n // [ENUM_TEMPLATES.BURNERS]: {\n // name: ENUM_TEMPLATES.BURNERS,\n // icon: `${GAS_ICON_ASSET_PATH}/Burners.svg`,\n // systemType: ENUM_TYPES.BURNERS,\n // },\n // [ENUM_TEMPLATES.FLUE_GAS_ANALYZERS]: {\n // name: ENUM_TEMPLATES.FLUE_GAS_ANALYZERS,\n // icon: `${GAS_ICON_ASSET_PATH}/Flue gas analyzers.svg`,\n // systemType: ENUM_TYPES.FLUE_GAS_ANALYZERS,\n // },\n [ENUM_TEMPLATES.COMBUSTION_CONTROL_SYSTEMS]: {\n name: ENUM_TEMPLATES.COMBUSTION_CONTROL_SYSTEMS,\n icon: `${GAS_ICON_ASSET_PATH}/Combustion control systems.svg`,\n systemType: ENUM_TYPES.COMBUSTION_CONTROL_SYSTEMS,\n },\n [ENUM_TEMPLATES.GAS_STORAGE_TANKS]: {\n name: ENUM_TEMPLATES.GAS_STORAGE_TANKS,\n icon: `${GAS_ICON_ASSET_PATH}/Gas storage tanks.svg`,\n systemType: ENUM_TYPES.GAS_STORAGE_TANKS,\n },\n [ENUM_TEMPLATES.GAS_PRESSURE_REGULATORS]: {\n name: ENUM_TEMPLATES.GAS_PRESSURE_REGULATORS,\n icon: `${GAS_ICON_ASSET_PATH}/Gas pressure regulators.svg`,\n systemType: ENUM_TYPES.GAS_PRESSURE_REGULATORS,\n },\n [ENUM_TEMPLATES.NATURAL_GAS]: {\n name: ENUM_TEMPLATES.NATURAL_GAS,\n icon: `${GAS_ICON_ASSET_PATH}/Natural Gas.svg`,\n systemType: ENUM_TYPES.NATURAL_GAS,\n },\n // Fuel==========================================================\n [ENUM_TEMPLATES.DIESEL_FUELS]: {\n name: ENUM_TEMPLATES.DIESEL_FUELS,\n icon: `${FUEL_ICON_ASSET_PATH}/Diesel fuel.svg`,\n systemType: ENUM_TYPES.DIESEL_FUELS,\n },\n [ENUM_TEMPLATES.GASON_LINES]: {\n name: ENUM_TEMPLATES.GASON_LINES,\n icon: `${FUEL_ICON_ASSET_PATH}/Gasoline.svg`,\n systemType: ENUM_TYPES.GASON_LINES,\n },\n [ENUM_TEMPLATES.BIODIESELS]: {\n name: ENUM_TEMPLATES.BIODIESELS,\n icon: `${FUEL_ICON_ASSET_PATH}/Biodiesel.svg`,\n systemType: ENUM_TYPES.BIODIESELS,\n },\n [ENUM_TEMPLATES.KEROSENSE]: {\n name: ENUM_TEMPLATES.KEROSENSE,\n icon: `${FUEL_ICON_ASSET_PATH}/Kerosene.svg`,\n systemType: ENUM_TYPES.KEROSENSE,\n },\n [ENUM_TEMPLATES.PROPANES]: {\n name: ENUM_TEMPLATES.PROPANES,\n icon: `${FUEL_ICON_ASSET_PATH}/Propane.svg`,\n systemType: ENUM_TYPES.PROPANES,\n },\n [ENUM_TEMPLATES.TANKER_TRUCKS]: {\n name: ENUM_TEMPLATES.TANKER_TRUCKS,\n icon: `${FUEL_ICON_ASSET_PATH}/Tanker Trucks.svg`,\n systemType: ENUM_TYPES.TANKER_TRUCKS,\n },\n [ENUM_TEMPLATES.PIPELINE]: {\n name: ENUM_TEMPLATES.PIPELINE,\n icon: `${FUEL_ICON_ASSET_PATH}/Pipeline.svg`,\n systemType: ENUM_TYPES.PIPELINE,\n },\n\n [ENUM_TEMPLATES.INDUSTRIAL_BOILERS]: {\n name: ENUM_TEMPLATES.INDUSTRIAL_BOILERS,\n icon: `${FUEL_ICON_ASSET_PATH}/Industrial boilers.svg`,\n systemType: ENUM_TYPES.INDUSTRIAL_BOILERS,\n },\n [ENUM_TEMPLATES.GENERATORS]: {\n name: ENUM_TEMPLATES.GENERATORS,\n icon: `${FUEL_ICON_ASSET_PATH}/Generators.svg`,\n systemType: ENUM_TYPES.GENERATORS,\n },\n [ENUM_TEMPLATES.INDUSTRIAL_FURNACES]: {\n name: ENUM_TEMPLATES.INDUSTRIAL_FURNACES,\n icon: `${FUEL_ICON_ASSET_PATH}/Industrial furnaces.svg`,\n systemType: ENUM_TYPES.INDUSTRIAL_FURNACES,\n },\n [ENUM_TEMPLATES.INDUSTRIAL_OVENS]: {\n name: ENUM_TEMPLATES.INDUSTRIAL_OVENS,\n icon: `${FUEL_ICON_ASSET_PATH}/Industrial ovens.svg`,\n systemType: ENUM_TYPES.INDUSTRIAL_OVENS,\n },\n [ENUM_TEMPLATES.INDUSTRIAL_VEHICLES_AND_EQUIPMENT]: {\n name: ENUM_TEMPLATES.INDUSTRIAL_VEHICLES_AND_EQUIPMENT,\n icon: `${FUEL_ICON_ASSET_PATH}/Industrial vehicles and equipment.svg`,\n systemType: ENUM_TYPES.INDUSTRIAL_VEHICLES_AND_EQUIPMENT,\n },\n\n [ENUM_TEMPLATES.FUEL_METERS]: {\n name: ENUM_TEMPLATES.FUEL_METERS,\n icon: `${FUEL_ICON_ASSET_PATH}/Fuel meters.svg`,\n systemType: ENUM_TYPES.FUEL_METERS,\n },\n [ENUM_TEMPLATES.FUEL_DISPENSERS]: {\n name: ENUM_TEMPLATES.FUEL_DISPENSERS,\n icon: `${FUEL_ICON_ASSET_PATH}/Fuel dispensers.svg`,\n systemType: ENUM_TYPES.FUEL_DISPENSERS,\n },\n [ENUM_TEMPLATES.FUEL_STRORAGE_TANKS]: {\n name: ENUM_TEMPLATES.FUEL_STRORAGE_TANKS,\n icon: `${FUEL_ICON_ASSET_PATH}/Fuel storage tanks.svg`,\n systemType: ENUM_TYPES.FUEL_STRORAGE_TANKS,\n },\n [ENUM_TEMPLATES.FUEL_FILTRATIONS]: {\n name: ENUM_TEMPLATES.FUEL_FILTRATIONS,\n icon: `${FUEL_ICON_ASSET_PATH}/Fuel filtration systems.svg`,\n systemType: ENUM_TYPES.FUEL_FILTRATIONS,\n },\n [ENUM_TEMPLATES.FUEL_MANAGEMENTS]: {\n name: ENUM_TEMPLATES.FUEL_MANAGEMENTS,\n icon: `${FUEL_ICON_ASSET_PATH}/Fuel management systems.svg`,\n systemType: ENUM_TYPES.FUEL_MANAGEMENTS,\n },\n\n [ENUM_TEMPLATES.FUELS]: {\n name: ENUM_TEMPLATES.FUELS,\n icon: `${FUEL_ICON_ASSET_PATH}/Diesel fuel.svg`,\n systemType: ENUM_TYPES.FUELS,\n },\n\n // Gas new\n [ENUM_TEMPLATES.LIQUEFIED_NATURAL_GAS]: {\n name: ENUM_TEMPLATES.LIQUEFIED_NATURAL_GAS,\n icon: `${ENERGY_ICON_ASSET_PATH}/Natural gas generators.svg`,\n systemType: ENUM_TYPES.LIQUEFIED_NATURAL_GAS,\n },\n [ENUM_TEMPLATES.ON_SITE_PRODUCTION]: {\n name: ENUM_TEMPLATES.ON_SITE_PRODUCTION,\n icon: `${ENERGY_ICON_ASSET_PATH}/Natural gas generators.svg`,\n systemType: ENUM_TYPES.ON_SITE_PRODUCTION,\n },\n\n [ENUM_TEMPLATES.BURNERS]: {\n name: ENUM_TEMPLATES.BURNERS,\n icon: `${ENERGY_ICON_ASSET_PATH}/Power conditioning unit (PCU).svg`,\n systemType: ENUM_TYPES.BURNERS,\n },\n [ENUM_TEMPLATES.FLUE_GAS_ANALYZERS]: {\n name: ENUM_TEMPLATES.FLUE_GAS_ANALYZERS,\n icon: `${ENERGY_ICON_ASSET_PATH}/Power conditioning unit (PCU).svg`,\n systemType: ENUM_TYPES.FLUE_GAS_ANALYZERS,\n },\n // Solar ==========================================================\n [ENUM_TEMPLATES.SOLAR_POWER]: {\n name: ENUM_TEMPLATES.SOLAR_POWER,\n icon: `${ENERGY_ICON_ASSET_PATH}/Solar.svg`,\n systemType: ENUM_TYPES.SOLAR_POWER,\n },\n [ENUM_TEMPLATES.POWER_CONDITIONING_UNIT]: {\n name: ENUM_TEMPLATES.POWER_CONDITIONING_UNIT,\n icon: `${ENERGY_ICON_ASSET_PATH}/Power conditioning unit (PCU).svg`,\n systemType: ENUM_TYPES.POWER_CONDITIONING_UNIT,\n },\n [ENUM_TEMPLATES.INVERTERS]: {\n name: ENUM_TEMPLATES.INVERTERS,\n icon: `${ENERGY_ICON_ASSET_PATH}/Inverter.svg`,\n systemType: ENUM_TYPES.INVERTERS,\n },\n [ENUM_TEMPLATES.BATTERIES]: {\n name: ENUM_TEMPLATES.BATTERIES,\n icon: `${ENERGY_ICON_ASSET_PATH}/Battery.svg`,\n systemType: ENUM_TYPES.BATTERIES,\n },\n\n [ENUM_TEMPLATES.ZONE]: {\n name: ENUM_TEMPLATES.ZONE,\n // icon: `${ENERGY_ICON_ASSET_PATH}/Battery.svg`,\n },\n [ENUM_TEMPLATES.ZONE_ENERGY_ITEM]: {\n name: ENUM_TEMPLATES.ZONE_ENERGY_ITEM,\n },\n\n // UNCATEGORIZED\n [ENUM_TEMPLATES.UNCATEGORIZED]: {\n name: ENUM_TEMPLATES.UNCATEGORIZED,\n icon: '',\n // `${ICON_ASSET_PATH}/rain.svg`,\n },\n\n // Plant Cell\n [ENUM_TEMPLATES.PLANT_CELL]: {\n name: ENUM_TEMPLATES.PLANT_CELL,\n icon: `${PLANT_CELL_PATH}/Cell.svg`,\n systemType: ENUM_TYPES.PLANT_CELL,\n },\n [ENUM_TEMPLATES.INPUT_PLANT_CELL]: {\n name: ENUM_TEMPLATES.INPUT_PLANT_CELL,\n icon: '',\n },\n [ENUM_TEMPLATES.OUTPUT_PLANT_CELL]: {\n name: ENUM_TEMPLATES.OUTPUT_PLANT_CELL,\n icon: '',\n },\n\n [ENUM_TEMPLATES.PLANT_CELL_INPUT_GROUP]: {\n name: ENUM_TEMPLATES.PLANT_CELL_INPUT_GROUP,\n icon: ``,\n },\n [ENUM_TEMPLATES.PLANT_CELL_OUTPUT_GROUP]: {\n name: ENUM_TEMPLATES.PLANT_CELL_OUTPUT_GROUP,\n icon: ``,\n },\n\n [ENUM_TEMPLATES.IMAGE_TEMPLATE]: {\n name: ENUM_TEMPLATES.IMAGE_TEMPLATE,\n icon: ``,\n },\n [ENUM_TEMPLATES.PARAM_TABLE]: {\n name: ENUM_TEMPLATES.PARAM_TABLE,\n icon: ``,\n },\n [ENUM_TEMPLATES.MASS_BALANCE]: {\n name: ENUM_TEMPLATES.MASS_BALANCE,\n icon: ``,\n },\n\n // STEAM\n [ENUM_TEMPLATES.STEAM_PIPELINE]: {\n name: ENUM_TEMPLATES.STEAM_PIPELINE,\n icon: `${STEAM_ICON_ASSET_PATH}/Pipeline.svg`,\n },\n [ENUM_TEMPLATES.VALUES]: {\n name: ENUM_TEMPLATES.VALUES,\n icon: `${STEAM_ICON_ASSET_PATH}/Steam_Valve.png`,\n },\n [ENUM_TEMPLATES.STEAM_TRAPS]: {\n name: ENUM_TEMPLATES.STEAM_TRAPS,\n icon: `${STEAM_ICON_ASSET_PATH}/Trap.png`,\n },\n [ENUM_TEMPLATES.PRESSURE_REGULATORS]: {\n name: ENUM_TEMPLATES.PRESSURE_REGULATORS,\n icon: `${STEAM_ICON_ASSET_PATH}/Pressure_Regulator.png`,\n },\n [ENUM_TEMPLATES.SAFETY_VALUES_AND_EQUIPMENT]: {\n name: ENUM_TEMPLATES.SAFETY_VALUES_AND_EQUIPMENT,\n icon: `${STEAM_ICON_ASSET_PATH}/safety valve.png`,\n },\n [ENUM_TEMPLATES.CONDENSATE_RETURN_SYSTEM]: {\n name: ENUM_TEMPLATES.CONDENSATE_RETURN_SYSTEM,\n icon: `${STEAM_ICON_ASSET_PATH}/Condensate Return System.png`,\n },\n [ENUM_TEMPLATES.DEAERATORS]: {\n name: ENUM_TEMPLATES.DEAERATORS,\n icon: `${STEAM_ICON_ASSET_PATH}/Deaerators.png`,\n },\n [ENUM_TEMPLATES.FEEDWATER_PUMPS]: {\n name: ENUM_TEMPLATES.FEEDWATER_PUMPS,\n icon: `${STEAM_ICON_ASSET_PATH}/Feed Water Pump.png`,\n },\n [ENUM_TEMPLATES.BLOWDOWN_TANKS]: {\n name: ENUM_TEMPLATES.BLOWDOWN_TANKS,\n icon: `${STEAM_ICON_ASSET_PATH}/Blowdown tank.png`,\n },\n [ENUM_TEMPLATES.EXPANSION_TANKS]: {\n name: ENUM_TEMPLATES.EXPANSION_TANKS,\n icon: `${STEAM_ICON_ASSET_PATH}/Expansion Tanks.png`,\n },\n [ENUM_TEMPLATES.HEAT_EXCHANGERS]: {\n name: ENUM_TEMPLATES.HEAT_EXCHANGERS,\n icon: `${STEAM_ICON_ASSET_PATH}/heat exchangers.png`,\n },\n [ENUM_TEMPLATES.TURBINES]: {\n name: ENUM_TEMPLATES.TURBINES,\n icon: `${STEAM_ICON_ASSET_PATH}/steam turbine.png`,\n },\n\n // Plant Basic\n [ENUM_TEMPLATES.GROUP_BASIC_COMPONENT]: {\n name: ENUM_TEMPLATES.GROUP_BASIC_COMPONENT,\n icon: ``,\n },\n\n // System Type Group duplicate Energy with Water\n [ENUM_TEMPLATES.BOILER_ENERGY]: {\n name: ENUM_TEMPLATES.BOILER,\n icon: `${ICON_ASSET_PATH}/Boiler.svg`,\n systemType: ENUM_TYPES.BOILER,\n },\n\n [ENUM_TEMPLATES.COOLING_TOWER_ENERGY]: {\n name: ENUM_TEMPLATES.COOLING_TOWER_ENERGY,\n icon: `${ICON_ASSET_PATH}/cooling_tower.svg`,\n systemType: ENUM_TYPES.COOLING_TOWER,\n },\n };\n\n export const WITHDRAW_DISCHARGE_ICON: {\n [key in string]: any;\n } = {\n [ENUM_TYPES.FRESH_SURFACE_WATER]: {\n name: ENUM_TEMPLATES.FRESH_SURFACE_WATER,\n iconActive: `${ICON_ASSET_WITHDRAW_DISCHARGE_ICON}/Fresh surface water - Duo.svg`,\n iconDisabled: `${ICON_ASSET_WITHDRAW_DISCHARGE_ICON}/Fresh surface water.svg`,\n },\n [ENUM_TYPES.THIRD_PARTY_SOURCES]: {\n name: ENUM_TEMPLATES.THIRD_PARTY_SOURCES,\n iconActive: `${ICON_ASSET_WITHDRAW_DISCHARGE_ICON}/Third party sources - Duo.svg`,\n iconDisabled: `${ICON_ASSET_WITHDRAW_DISCHARGE_ICON}/Third party sources.svg`,\n isHasWaterCapcity: true,\n },\n [ENUM_TYPES.THIRD_PARTY_DESTINATIONS]: {\n name: ENUM_TEMPLATES.THIRD_PARTY_DESTINATIONS,\n iconActive: `${ICON_ASSET_WITHDRAW_DISCHARGE_ICON}/Third party sources - Duo.svg`,\n iconDisabled: `${ICON_ASSET_WITHDRAW_DISCHARGE_ICON}/Third party sources.svg`,\n isHasWaterCapcity: true,\n },\n [ENUM_TYPES.GROUND_WATER_NON_RENEWABLE]: {\n name: ENUM_TEMPLATES.GROUND_WATER_NON_RENEWABLE,\n iconActive: `${ICON_ASSET_WITHDRAW_DISCHARGE_ICON}/Groundwater - non-renewable - Duo.svg`,\n iconDisabled: `${ICON_ASSET_WITHDRAW_DISCHARGE_ICON}/Groundwater - non-renewable.svg`,\n },\n [ENUM_TYPES.PRODUCED_ENTRAINED]: {\n name: ENUM_TEMPLATES.PRODUCED_ENTRAINED,\n iconActive: `${ICON_ASSET_WITHDRAW_DISCHARGE_ICON}/Groundwater - renewable - Duo.svg`,\n iconDisabled: `${ICON_ASSET_WITHDRAW_DISCHARGE_ICON}/Groundwater - renewable.svg`,\n },\n [ENUM_TYPES.BRACKISH_SURFACE_WATER]: {\n name: ENUM_TEMPLATES.BRACKISH_SURFACE_WATER,\n iconiconActive: `${ICON_ASSET_WITHDRAW_DISCHARGE_ICON}/Brackish surface - Duo.svg`,\n iconDisabled: `${ICON_ASSET_WITHDRAW_DISCHARGE_ICON}/Brackish surface.svg`,\n },\n [ENUM_TYPES.GROUND_WATER_RENEWABLE]: {\n name: ENUM_TEMPLATES.GROUND_WATER_RENEWABLE,\n iconActive: `${ICON_ASSET_WITHDRAW_DISCHARGE_ICON}/Groundwater - renewable - Duo.svg`,\n iconDisabled: `${ICON_ASSET_WITHDRAW_DISCHARGE_ICON}/Groundwater - renewable.svg`,\n },\n };\n\n export const WITHDRAW_DISCHARGE_DIAGRAM_HOME = {\n withdrawSourcesChildren: [\n ENUM_TYPES.WATER_TREATMENT,\n ENUM_TYPES.DEMIN_WATER_TREATMENT,\n ENUM_TYPES.RO_WATER_TREATMENT,\n ],\n dischargeDestinationsChildren: [\n ENUM_TYPES.WASTEWATER_TREATMENT,\n ENUM_TYPES.DAF_WASTEWATER_TREATMENT,\n ENUM_TYPES.ETP_WASTEWATER_TREATMENT,\n ENUM_TYPES.MBR_WASTEWATER_TREATMENT,\n ENUM_TYPES.ZLD_WASTEWATER_TREATMENT,\n ],\n };\n\n export enum ACTION_RIGHT_MENU_GROUP {\n PLANT_TEMPLATES = 'Plant Templates',\n PLANT_CELLS = 'Plant Cell',\n DATA_BOX = 'Measurement',\n SYSTEM_TEMPLATES = 'System Templates',\n WATER_COMPONENT = 'Water Components',\n }\n\n export enum DATA_BOX_NAME_OF_COMPONENT {\n INFLOW = 'Inflow Of',\n OUTFLOW = 'Outflow From',\n }\n\n export enum ACTION_RIGHT_MENU {\n APPLY_TEMPLATE = 'ApplyTemplate',\n NEW_PLANT_CELL = 'NewPlantCell',\n NAME_PLANT_CELL = 'NamePlantCell',\n ADD_COMPONENT = 'AddComponent',\n }\n\n export const DATA_MENU = [\n {\n name: 'Plant Templates',\n componentType: ATO_ECOMPONENT_PLANT_TYPE.WATER,\n isFilterType: true,\n groupType: ACTION_RIGHT_MENU_GROUP.PLANT_TEMPLATES,\n children: [\n {\n name: 'Food and Beverages',\n children: [],\n actionType: ACTION_RIGHT_MENU.APPLY_TEMPLATE,\n isDrag: true,\n },\n {\n name: 'Power plant',\n children: [],\n actionType: ACTION_RIGHT_MENU.APPLY_TEMPLATE,\n isDrag: true,\n },\n ],\n },\n\n // {\n // name: 'Plant Cells',\n // groupType: ACTION_RIGHT_MENU_GROUP.PLANT_CELLS,\n // componentType: E_COMPONENT_PLANT_TYPE.WATER,\n // isFilterType: true,\n // children: [\n // {\n // name: 'Beer Production cell',\n // children: [],\n // actionType: ACTION_RIGHT_MENU.NAME_PLANT_CELL,\n // isDrag: true,\n // isViewMode: true,\n // systemType: ENUM_TYPES.PLANT_CELL,\n // type: ENUM_TYPES.PLANT_CELL,\n // inputType: TYPE_INPUT.TEXT,\n // fc: new FormControl('Beer Production cell', Validators.required),\n // fcBackup: new FormControl('Beer Production cell', Validators.required),\n // },\n // {\n // name: 'New Plant Cell',\n // children: [],\n // actionType: ACTION_RIGHT_MENU.NEW_PLANT_CELL,\n // isDrag: false,\n // },\n // ],\n // },\n ];\n\n export const WATER_USING_SYSTEM = [\n ENUM_TYPES.COOLING_TOWER,\n ENUM_TYPES.BOILER,\n ENUM_TYPES.OTHER,\n ENUM_TYPES.PROCESS,\n ENUM_TYPES.DOMESTIC_USE,\n ENUM_TYPES.LANDSCAPING_IRRIGATION,\n ];\n\n export const PARAM_TABLE_STYLE = {\n [ENUM_COLORS.CERULEAN]: {\n borderTable: ENUM_COLORS.CERULEAN,\n bgColor: ENUM_COLORS.CERULEAN_ALICE_BLUE,\n },\n [ENUM_COLORS.DANUBE]: {\n borderTable: ENUM_COLORS.DANUBE,\n bgColor: ENUM_COLORS.DANUBE_ALICE_BLUE,\n },\n [ENUM_COLORS.FOUNTAIN_BLUE]: {\n borderTable: ENUM_COLORS.FOUNTAIN_BLUE,\n bgColor: ENUM_COLORS.AZURE,\n },\n [ENUM_COLORS.GALLIANO]: {\n borderTable: ENUM_COLORS.GALLIANO,\n bgColor: ENUM_COLORS.OLD_LACE,\n },\n [ENUM_COLORS.WHITE]: {\n borderTable: ENUM_COLORS.WHITE,\n bgColor: ENUM_COLORS.WHITE,\n },\n };\n\n // System type include Water\n export const TYPE_COMPONENT_WATER: string[] = [\n ENUM_TYPES.STORAGE,\n\n ENUM_TYPES.WATER_TREATMENT,\n ENUM_TYPES.DEMIN_WATER_TREATMENT,\n ENUM_TYPES.RO_WATER_TREATMENT,\n\n ENUM_TYPES.PROCESS,\n\n ENUM_TYPES.WASTEWATER_TREATMENT,\n ENUM_TYPES.DAF_WASTEWATER_TREATMENT,\n ENUM_TYPES.ETP_WASTEWATER_TREATMENT,\n ENUM_TYPES.MBR_WASTEWATER_TREATMENT,\n ENUM_TYPES.ZLD_WASTEWATER_TREATMENT,\n\n ENUM_TYPES.DOMESTIC_USE,\n ENUM_TYPES.COOLING_TOWER,\n ENUM_TYPES.BOILER,\n ENUM_TYPES.OTHER,\n ENUM_TYPES.LANDSCAPING_IRRIGATION,\n AtoGojsEditorModel.WaterWithdrawSources,\n AtoGojsEditorModel.WaterDischargeDestinations,\n ];\n\n // Template type includes Water\n export const TYPE_TEMPLATE_WATER_NORMAL: string[] = [\n AtoGojsEditorModel.ENUM_TEMPLATES.PROCESS,\n AtoGojsEditorModel.ENUM_TEMPLATES.BOILER,\n AtoGojsEditorModel.ENUM_TEMPLATES.COOLING_TOWER,\n AtoGojsEditorModel.ENUM_TEMPLATES.ETP_WASTEWATER_TREATMENT,\n AtoGojsEditorModel.ENUM_TEMPLATES.ZLD_WASTEWATER_TREATMENT,\n AtoGojsEditorModel.ENUM_TEMPLATES.MBR_WASTEWATER_TREATMENT,\n AtoGojsEditorModel.ENUM_TEMPLATES.DAF_WASTEWATER_TREATMENT,\n AtoGojsEditorModel.ENUM_TEMPLATES.RO_WATER_TREATMENT,\n AtoGojsEditorModel.ENUM_TEMPLATES.DEMIN_WATER_TREATMENT,\n AtoGojsEditorModel.ENUM_TEMPLATES.STORAGE,\n AtoGojsEditorModel.ENUM_TEMPLATES.DOMESTIC_USE,\n AtoGojsEditorModel.ENUM_TEMPLATES.LANDSCAPING_IRRIGATION,\n AtoGojsEditorModel.ENUM_TEMPLATES.OTHER,\n ];\n // ['Process', 'Boiler', 'Cooling Tower', 'ETP Wastewater Treatment', 'ZLD Wastewater Treatment', 'MBR Wastewater Treatment', 'DAF Wastewater Treatment',\n // 'RO Water Treatment', 'Demin Water Treatment', 'Storage', 'Domestic Use', 'Landscaping/Irrigation', 'Other'];\n export const TYPE_TEMPLATE_WATER_WITHDRAW_OR_DISCHARGE: string[] = [\n AtoGojsEditorModel.ENUM_TEMPLATES.FRESH_SURFACE_WATER,\n AtoGojsEditorModel.ENUM_TEMPLATES.BRACKISH_SURFACE_WATER,\n AtoGojsEditorModel.ENUM_TEMPLATES.GROUND_WATER_RENEWABLE,\n AtoGojsEditorModel.ENUM_TEMPLATES.GROUND_WATER_NON_RENEWABLE,\n AtoGojsEditorModel.ENUM_TEMPLATES.PRODUCED_ENTRAINED,\n AtoGojsEditorModel.ENUM_TEMPLATES.THIRD_PARTY_SOURCES,\n AtoGojsEditorModel.ENUM_TEMPLATES.THIRD_PARTY_DESTINATIONS,\n ];\n // ['Fresh surface water', 'Brackish surface water/ seawater', 'Groundwater - Renewable', 'Groundwater - non-renewable', 'Produced / entrained water', 'Third party sources', 'Third party destinations'];\n export const TYPE_TEMPLATE_ELECTRICITY: string[] = [\n AtoGojsEditorModel.ENUM_TEMPLATES.GRID,\n AtoGojsEditorModel.ENUM_TEMPLATES.DIESEL_GENERATORS,\n AtoGojsEditorModel.ENUM_TEMPLATES.NATURAL_GAS_GENERATORS,\n AtoGojsEditorModel.ENUM_TEMPLATES.SOLAR_POWER,\n AtoGojsEditorModel.ENUM_TEMPLATES.TRANSFORMERS,\n AtoGojsEditorModel.ENUM_TEMPLATES.SWITCH_GEARS,\n AtoGojsEditorModel.ENUM_TEMPLATES.MOTOR_CONTROLS,\n AtoGojsEditorModel.ENUM_TEMPLATES.VARIABLE_FREQUENCY_DRIVERS,\n AtoGojsEditorModel.ENUM_TEMPLATES.POWER_DISTRIBUTION_SYSTEMS,\n AtoGojsEditorModel.ENUM_TEMPLATES.LIGHTINGS,\n AtoGojsEditorModel.ENUM_TEMPLATES.GROUNDING,\n AtoGojsEditorModel.ENUM_TEMPLATES.ELECTRIC_METERS,\n AtoGojsEditorModel.ENUM_TEMPLATES.ELECTRIC_INDUSTRIAL_MOTORS,\n AtoGojsEditorModel.ENUM_TEMPLATES.LIGHTING_SYSTEMS,\n AtoGojsEditorModel.ENUM_TEMPLATES.ELECTRIC_HVAC,\n AtoGojsEditorModel.ENUM_TEMPLATES.REFRIGERATION_COOLING_SYSTEMS,\n AtoGojsEditorModel.ENUM_TEMPLATES.PROCESS_CONTROL_AUTOMATION_SYSTEMS,\n AtoGojsEditorModel.ENUM_TEMPLATES.OFFICE_EQUIPMENT,\n AtoGojsEditorModel.ENUM_TEMPLATES.COMPRESSED_AIR_SYSTEMS,\n AtoGojsEditorModel.ENUM_TEMPLATES.PROCESS_EQUIPMENT_MACHINES,\n AtoGojsEditorModel.ENUM_TEMPLATES.MATERIAL_HANDLING_EQUIPMENT,\n AtoGojsEditorModel.ENUM_TEMPLATES.POWER_DISTRIBUTION_CONTROL_SYSTEMS,\n AtoGojsEditorModel.ENUM_TEMPLATES.BATTERY_ENERGY_STORAGE,\n AtoGojsEditorModel.ENUM_TEMPLATES.ELECTRIC_FLYWHEEL_ENERGY_STORAGE,\n AtoGojsEditorModel.ENUM_TEMPLATES.PUMPED_HYDRO_STORAGE,\n AtoGojsEditorModel.ENUM_TEMPLATES.THERMAL_ENERGY_STORAGE,\n AtoGojsEditorModel.ENUM_TEMPLATES.SUPER_CAPACITOR_ENERGY_STORAGE,\n ];\n // ['Grid', 'Diesel Generators', 'Natural gas generators', 'Solar Power', 'Transformers', 'Switchgears', 'MotorControls', 'VariableFrequencyDrives',\n // 'Power distribution systems', 'Lightings', 'Grounding', 'Electric Meters', 'Industrial motors',\n // 'Lighting systems', 'Heating, ventilation, and air conditioning (HVAC) systems', 'Refrigeration and cooling', 'Process control and automation', 'Office equipment', 'Compressed air',\n // 'Process equipment and machines', 'Material handling equipment', 'Power distribution and control', 'Battery energy storage', 'Flywheel energy storage',\n // 'Pumped hydro storage', 'Thermal energy storage', 'Supercapacitor energy storage'];\n export const TYPE_TEMPLATE_NATURAL_GAS: string[] = [\n AtoGojsEditorModel.ENUM_TEMPLATES.NATURAL_GAS_PIPELINES,\n AtoGojsEditorModel.ENUM_TEMPLATES.LIQUEFIED_NATURAL_GAS,\n AtoGojsEditorModel.ENUM_TEMPLATES.COMPRESSED_NATURAL_GAS_PIPELINE,\n AtoGojsEditorModel.ENUM_TEMPLATES.ON_SITE_PRODUCTION,\n AtoGojsEditorModel.ENUM_TEMPLATES.COMPRESSED_NATURAL_GAS_PRODUCTION,\n AtoGojsEditorModel.ENUM_TEMPLATES.BOILERS_AND_HEATERS,\n AtoGojsEditorModel.ENUM_TEMPLATES.FURNACES,\n AtoGojsEditorModel.ENUM_TEMPLATES.POWER_GENERATION,\n AtoGojsEditorModel.ENUM_TEMPLATES.COGENERATION,\n AtoGojsEditorModel.ENUM_TEMPLATES.COMBINED_CYCLE_POWER_PLANTS,\n AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_FOR_VEHICLES_AND_EQUIPMENT,\n AtoGojsEditorModel.ENUM_TEMPLATES.GAS_METERS,\n AtoGojsEditorModel.ENUM_TEMPLATES.BURNERS,\n AtoGojsEditorModel.ENUM_TEMPLATES.FLUE_GAS_ANALYZERS,\n AtoGojsEditorModel.ENUM_TEMPLATES.COMBUSTION_CONTROL_SYSTEMS,\n AtoGojsEditorModel.ENUM_TEMPLATES.GAS_STORAGE_TANKS,\n AtoGojsEditorModel.ENUM_TEMPLATES.GAS_PRESSURE_REGULATORS,\n ];\n // ['Natural gas pipelines', 'Liquefied natural gas', 'Compressed natural gas pipeline', 'On-site production',\n // 'Compressed natural gas production', 'Boilers and heaters', 'Furnaces', 'Power generation', 'Cogeneration', 'Combined cycle power plants',\n // 'Fuel for vehicles and equipment', 'Gas meters', 'Burners', 'Flue gas analyzers', 'Combustion control systems', 'Gas storage tanks',\n // 'Gas pressure regulators'];\n export const TYPE_TEMPLATE_FUEL: string[] = [\n AtoGojsEditorModel.ENUM_TEMPLATES.DIESEL_FUELS,\n AtoGojsEditorModel.ENUM_TEMPLATES.GASON_LINES,\n AtoGojsEditorModel.ENUM_TEMPLATES.BIODIESELS,\n AtoGojsEditorModel.ENUM_TEMPLATES.KEROSENSE,\n AtoGojsEditorModel.ENUM_TEMPLATES.PROPANES,\n AtoGojsEditorModel.ENUM_TEMPLATES.TANKER_TRUCKS,\n AtoGojsEditorModel.ENUM_TEMPLATES.PIPELINE,\n AtoGojsEditorModel.ENUM_TEMPLATES.INDUSTRIAL_BOILERS,\n AtoGojsEditorModel.ENUM_TEMPLATES.GENERATORS,\n AtoGojsEditorModel.ENUM_TEMPLATES.INDUSTRIAL_FURNACES,\n AtoGojsEditorModel.ENUM_TEMPLATES.INDUSTRIAL_OVENS,\n AtoGojsEditorModel.ENUM_TEMPLATES.INDUSTRIAL_VEHICLES_AND_EQUIPMENT,\n AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_METERS,\n AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_DISPENSERS,\n AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_STRORAGE_TANKS,\n AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_FILTRATIONS,\n AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_MANAGEMENTS,\n ];\n // ['DieselFuels', 'Gasonlines', 'Biodiesels', 'Kerosenes', 'Propanes', 'Tanker Trucks',\n // 'Pipeline', 'Industrial boilers', 'Generators', 'Industrial furnaces', 'Industrial ovens', 'Industrial vehicles and equipment',\n // 'FuelMeters', 'FuelDispensers', 'FuelStorageTanks', 'FuelFiltrations', 'FuelManagements'];\n export const TYPE_TEMPLATE_STEAM: string[] = [\n AtoGojsEditorModel.ENUM_TEMPLATES.STEAM_PIPELINE,\n AtoGojsEditorModel.ENUM_TEMPLATES.VALUES,\n AtoGojsEditorModel.ENUM_TEMPLATES.STEAM_TRAPS,\n AtoGojsEditorModel.ENUM_TEMPLATES.PRESSURE_REGULATORS,\n AtoGojsEditorModel.ENUM_TEMPLATES.SAFETY_VALUES_AND_EQUIPMENT,\n AtoGojsEditorModel.ENUM_TEMPLATES.CONDENSATE_RETURN_SYSTEM,\n AtoGojsEditorModel.ENUM_TEMPLATES.DEAERATORS,\n AtoGojsEditorModel.ENUM_TEMPLATES.FEEDWATER_PUMPS,\n AtoGojsEditorModel.ENUM_TEMPLATES.BLOWDOWN_TANKS,\n AtoGojsEditorModel.ENUM_TEMPLATES.EXPANSION_TANKS,\n AtoGojsEditorModel.ENUM_TEMPLATES.HEAT_EXCHANGERS,\n AtoGojsEditorModel.ENUM_TEMPLATES.TURBINES,\n ];\n // ['Valves', 'Steam Traps', 'Pressure Regulator', 'Safety Valves and Equipment', 'Condensate Return System', 'Deaerators',\n // 'Feedwater Pumps', 'Blowdown Tanks', 'Expansion Tanks', 'Heat Exchangers', 'Turbines'];\n export const TYPE_TEMPLATE_SPECIAL: string[] = [\n AtoGojsEditorModel.ENUM_TEMPLATES.SPECIAL_PROCESS,\n AtoGojsEditorModel.ENUM_TEMPLATES.SPECIAL_STORAGE,\n AtoGojsEditorModel.ENUM_TEMPLATES.SPECIAL_STORE,\n AtoGojsEditorModel.ENUM_TEMPLATES.SPECIAL_DISCHARGE,\n AtoGojsEditorModel.ENUM_TEMPLATES.SPECIAL_OTHER,\n ];\n\n export const TEMPLATE_DUPLICATE: any = {\n [AtoGojsEditorModel.ENUM_TEMPLATES.STEAM_PIPELINE]: AtoGojsEditorModel.ENUM_TEMPLATES.PIPELINE,\n [AtoGojsEditorModel.ENUM_TEMPLATES.BOILER_ENERGY]: AtoGojsEditorModel.ENUM_TEMPLATES.BOILER,\n [AtoGojsEditorModel.ENUM_TEMPLATES.COOLING_TOWER_ENERGY]: AtoGojsEditorModel.ENUM_TEMPLATES.COOLING_TOWER,\n};\n}\n","// export const GO_LICENSE_KEY =\n// '73f946e5b26328a800ca0d2b113f69ed1bb37f3b9e8c1bf15e5041f0ea08681c3089ee7d02da8b9481fb1aa91a7ac089d5c46c7b9e4b013ce037d38f44e480fbe13f77b4435f559ea25676c599a87aa0ee6872f3c1b568a0c5788d';\n\nexport const GO_LICENSE_KEY =\n '298647e0b2604cc702d90676423d6bf919a175639c841ba4090310f6ee083806329fbb2801d38d90d4af4efe1c7f93d0d9c16f209248063db730d2db44e084aeb73320e5410b479cb40573939ffa78f1fd6a61f1c3b672bddf678ffb';\n","export enum ATO_ABBREVIATION {\n L = 'L',\n KL = 'KL',\n gal = 'gal',\n kGal='Kgal',\n m3 = 'm3',\n m3_Special = 'm³',\n Wh = 'Wh',\n kWh = 'kWh',\n cf = 'cf',\n th = 'th',\n BTU = 'BTU',\n BTU_UNIT = 'BTU/unit',\n MM_BTU = 'MMBTU',\n m3_unit = 'm3/unit',\n m3_unit_Special = 'm³/unit',\n J = 'J',\n Bbl = 'Bbl',\n mg = 'mg',\n // Currency\n ALL = 'ALL',\n AFN = 'AFN',\n ARS = 'ARS',\n AWG = 'AWG',\n AUD = 'AUD',\n AZN = 'AZN',\n BSD = 'BSD',\n BBD = 'BBD',\n BYN = 'BYN',\n BZD = 'BZD',\n BMD = 'BMD',\n BOB = 'BOB',\n BAM = 'BAM',\n BWP = 'BWP',\n BGN = 'BGN',\n BRL = 'BRL',\n BND = 'BND',\n KHR = 'KHR',\n CAD = 'CAD',\n KYD = 'KYD',\n CLP = 'CLP',\n CNY = 'CNY',\n COP = 'COP',\n CRC = 'CRC',\n HRK = 'HRK',\n CUP = 'CUP',\n CZK = 'CZK',\n DKK = 'DKK',\n DOP = 'DOP',\n XCD = 'XCD',\n EGP = 'EGP',\n SVC = 'SVC',\n EUR = 'EUR',\n FKP = 'FKP',\n FJD = 'FJD',\n GHS = 'GHS',\n GIP = 'GIP',\n GTQ = 'GTQ',\n GGP = 'GGP',\n GYD = 'GYD',\n HNL = 'HNL',\n HKD = 'HKD',\n HUF = 'HUF',\n ISK = 'ISK',\n INR = 'INR',\n IDR = 'IDR',\n IRR = 'IRR',\n IMP = 'IMP',\n ILS = 'ILS',\n JMD = 'JMD',\n JPY = 'JPY',\n JEP = 'JEP',\n KZT = 'KZT',\n KPW = 'KPW',\n KRW = 'KRW',\n KGS = 'KGS',\n LAK = 'LAK',\n LBP = 'LBP',\n LRD = 'LRD',\n MKD = 'MKD',\n MYR = 'MYR',\n MUR = 'MUR',\n MXN = 'MXN',\n MNT = 'MNT',\n MZN = 'MZN',\n NAD = 'NAD',\n NPR = 'NPR',\n ANG = 'ANG',\n NZD = 'NZD',\n NIO = 'NIO',\n NGN = 'NGN',\n NOK = 'NOK',\n OMR = 'OMR',\n PKR = 'PKR',\n PAB = 'PAB',\n PYG = 'PYG',\n PEN = 'PEN',\n PHP = 'PHP',\n PLN = 'PLN',\n QAR = 'QAR',\n RON = 'RON',\n RUB = 'RUB',\n SHP = 'SHP',\n SAR = 'SAR',\n RSD = 'RSD',\n SCR = 'SCR',\n SGD = 'SGD',\n SBD = 'SBD',\n SOS = 'SOS',\n ZAR = 'ZAR',\n LKR = 'LKR',\n SEK = 'SEK',\n CHF = 'CHF',\n SRD = 'SRD',\n SYP = 'SYP',\n TWD = 'TWD',\n THB = 'THB',\n TTD = 'TTD',\n TRY = 'TRY',\n TVD = 'TVD',\n UAH = 'UAH',\n AED = 'AED',\n GBP = 'GBP',\n USD = 'USD',\n UYU = 'UYU',\n UZS = 'UZS',\n VEF = 'VEF',\n VND = 'VND',\n YER = 'YER',\n ZWD = 'ZWD',\n\n\n // For Steam\n g = 'g',\n lbs = 'lbs',\n g_hr = 'g/hr',\n lbs_hr = 'lbs/hr',\n MPa = 'MPa',\n GPa = 'GPa',\n psi = 'psi',\n degC = 'degC',\n degF = 'degF',\n degC_unit_Special = '°C',\n degF_unit_Special = '°F',\n ton = 'ton',\n kg = 'kg',\n\n // Emission\n CO2 = 'CO2',\n CO2_Special = 'CO₂'\n}\n\nexport enum METRIC_PREFIXES {\n K = 'K',\n Mn = 'Mn',\n Bn = 'Bn',\n //\n M = 'M',\n MM = 'MM',\n B = 'B',\n //\n G = 'G', // 1000000000\n}\n\nexport enum ROUNDED_NUMBER {\n THOUSAND = 1000,\n MILLION = 1000000,\n BILLION = 1000000000,\n}\n\nconst PREFIXES_CURRENCY = {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.Mn,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.Bn,\n};\n\nexport const APPLICABLE_PREFIXES: {\n [key in ATO_ABBREVIATION]: any;\n} = {\n [ATO_ABBREVIATION.KL]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.Mn,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.Bn,\n },\n [ATO_ABBREVIATION.L]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.Mn,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.Bn,\n },\n [ATO_ABBREVIATION.gal]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.Mn,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.Bn,\n },\n [ATO_ABBREVIATION.kGal]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.Mn,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.Bn,\n },\n [ATO_ABBREVIATION.m3]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.MM,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.B,\n },\n [ATO_ABBREVIATION.m3_Special]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.M,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.MM,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.B,\n },\n\n [ATO_ABBREVIATION.m3_unit]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.M,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.MM,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.B,\n },\n [ATO_ABBREVIATION.m3_unit_Special]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.M,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.MM,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.B,\n },\n\n [ATO_ABBREVIATION.Wh]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.M,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.G,\n },\n [ATO_ABBREVIATION.kWh]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.M,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.G,\n },\n [ATO_ABBREVIATION.cf]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.MM,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.B,\n },\n [ATO_ABBREVIATION.th]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.Mn,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.Bn,\n },\n\n [ATO_ABBREVIATION.BTU]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.MM,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.B,\n },\n [ATO_ABBREVIATION.BTU_UNIT]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.MM,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.B,\n },\n [ATO_ABBREVIATION.MM_BTU]: {},\n [ATO_ABBREVIATION.J]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.M,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.G,\n },\n [ATO_ABBREVIATION.Bbl]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.Mn,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.Bn,\n },\n [ATO_ABBREVIATION.mg]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.M,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.B,\n },\n\n // For Steam\n [ATO_ABBREVIATION.g]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.Mn,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.Bn,\n },\n [ATO_ABBREVIATION.lbs]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.Mn,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.Bn,\n },\n [ATO_ABBREVIATION.g_hr]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.Mn,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.Bn,\n },\n [ATO_ABBREVIATION.lbs_hr]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.Mn,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.Bn,\n },\n [ATO_ABBREVIATION.MPa]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.Mn,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.Bn,\n },\n [ATO_ABBREVIATION.GPa]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.Mn,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.Bn,\n },\n [ATO_ABBREVIATION.psi]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.M,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.G,\n },\n [ATO_ABBREVIATION.degC]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.Mn,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.Bn,\n },\n [ATO_ABBREVIATION.degF]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.Mn,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.Bn,\n },\n [ATO_ABBREVIATION.degC_unit_Special]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.Mn,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.Bn,\n },\n [ATO_ABBREVIATION.degF_unit_Special]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.Mn,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.Bn,\n },\n [ATO_ABBREVIATION.kg]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.Mn,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.Bn,\n },\n [ATO_ABBREVIATION.ton]: {\n [ROUNDED_NUMBER.THOUSAND]: METRIC_PREFIXES.K,\n [ROUNDED_NUMBER.MILLION]: METRIC_PREFIXES.Mn,\n [ROUNDED_NUMBER.BILLION]: METRIC_PREFIXES.Bn,\n },\n\n // Currency\n [ATO_ABBREVIATION.ALL]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.AFN]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.ARS]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.AWG]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.AUD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.AZN]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.BSD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.BBD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.BYN]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.BZD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.BMD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.BOB]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.BAM]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.BWP]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.BGN]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.BRL]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.BND]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.KHR]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.CAD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.KYD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.CLP]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.CNY]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.COP]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.CRC]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.HRK]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.CUP]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.CZK]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.DKK]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.DOP]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.XCD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.EGP]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.SVC]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.EUR]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.FKP]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.FJD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.GHS]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.GIP]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.GTQ]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.GGP]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.GYD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.HNL]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.HKD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.HUF]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.ISK]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.INR]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.IDR]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.IRR]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.IMP]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.ILS]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.JMD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.JPY]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.JEP]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.KZT]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.KPW]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.KRW]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.KGS]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.LAK]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.LBP]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.LRD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.MKD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.MYR]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.MUR]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.MXN]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.MNT]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.MZN]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.NAD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.NPR]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.ANG]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.NZD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.NIO]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.NGN]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.NOK]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.OMR]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.PKR]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.PAB]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.PYG]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.PEN]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.PHP]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.PLN]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.QAR]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.RON]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.RUB]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.SHP]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.SAR]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.RSD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.SCR]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.SGD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.SBD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.SOS]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.ZAR]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.LKR]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.SEK]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.CHF]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.SRD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.SYP]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.TWD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.THB]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.TTD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.TRY]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.TVD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.UAH]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.AED]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.GBP]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.USD]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.UYU]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.UZS]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.VEF]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.VND]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.YER]: PREFIXES_CURRENCY,\n [ATO_ABBREVIATION.ZWD]: PREFIXES_CURRENCY,\n\n // Emission\n [ATO_ABBREVIATION.CO2]: null,\n [ATO_ABBREVIATION.CO2_Special]: null,\n};\n","import { DecimalPipe } from '@angular/common';\nimport { Injectable } from '@angular/core';\nimport { ATO_ABBREVIATION, APPLICABLE_PREFIXES, ROUNDED_NUMBER, } from '../../constants/applicable-prefixes-const';\nimport { v4 as uuidV4 } from 'uuid';\nimport _ from 'lodash';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class UtilsService {\n static convertPrefixesData(data: { value: number | string | any; unit: string | any; isChangeUnitKwh?: boolean }): {\n shortenedNumber: number | string | null;\n unitPrefixes: number | null | string;\n } {\n if (!data?.unit || (!+data?.value && data?.value !== '0')) {\n return {\n shortenedNumber: data?.value ?? '0',\n unitPrefixes: '',\n };\n }\n\n const [unitToConvert, suffixUnit] = data?.unit?.split('/');\n\n if (unitToConvert === ATO_ABBREVIATION.kWh) {\n return this.getDataFormatSpecialKwh(data?.value, data?.isChangeUnitKwh);\n }\n\n return this.getDataFormatUnit(data?.value, unitToConvert);\n }\n\n static getDataFormatSpecialKwh(value: any, isChangeUnitKwh: any) {\n const _DecimalPipe = new DecimalPipe('en');\n\n if (!!isChangeUnitKwh) {\n // 1.000.000 KWh => 1 GWh\n if (Math.abs(value) >= ROUNDED_NUMBER.MILLION) {\n return {\n shortenedNumber: _DecimalPipe.transform(+(value / ROUNDED_NUMBER.MILLION) ?? 0, '1.0-2'),\n unitPrefixes: APPLICABLE_PREFIXES?.[ATO_ABBREVIATION.kWh]?.[ROUNDED_NUMBER.BILLION],\n };\n }\n // 1000 KWh => 1 MWh\n if (Math.abs(value) >= ROUNDED_NUMBER.THOUSAND) {\n return {\n shortenedNumber: _DecimalPipe.transform(+(value / ROUNDED_NUMBER.THOUSAND) ?? 0, '1.0-2'),\n unitPrefixes: APPLICABLE_PREFIXES?.[ATO_ABBREVIATION.kWh]?.[ROUNDED_NUMBER.MILLION],\n };\n }\n }\n if (Math.abs(value) >= ROUNDED_NUMBER.BILLION) {\n return {\n shortenedNumber: _DecimalPipe.transform(+(value / ROUNDED_NUMBER.MILLION) ?? 0, '1.0-2'),\n unitPrefixes: APPLICABLE_PREFIXES?.[ATO_ABBREVIATION.kWh]?.[ROUNDED_NUMBER.BILLION],\n };\n }\n if (Math.abs(value) >= ROUNDED_NUMBER.MILLION) {\n return {\n shortenedNumber: _DecimalPipe.transform(+(value / ROUNDED_NUMBER.MILLION) ?? 0, '1.0-2'),\n unitPrefixes: APPLICABLE_PREFIXES?.[ATO_ABBREVIATION.kWh]?.[ROUNDED_NUMBER.MILLION],\n };\n }\n if (Math.abs(value) >= ROUNDED_NUMBER.THOUSAND) {\n return {\n shortenedNumber: _DecimalPipe.transform(+(value / ROUNDED_NUMBER.THOUSAND) ?? 0, '1.0-2'),\n unitPrefixes: APPLICABLE_PREFIXES?.[ATO_ABBREVIATION.kWh]?.[ROUNDED_NUMBER.THOUSAND],\n };\n }\n\n return {\n shortenedNumber: _DecimalPipe.transform(+value ?? 0, '1.0-2') ?? '0',\n unitPrefixes: '',\n };\n }\n\n static getDataFormatUnit(value: any, unit: string) {\n const _DecimalPipe = new DecimalPipe('en');\n\n if (Math.abs(value) >= ROUNDED_NUMBER.BILLION) {\n return {\n shortenedNumber: _DecimalPipe.transform(+(value / ROUNDED_NUMBER.BILLION) ?? 0, '1.0-2'),\n unitPrefixes: (APPLICABLE_PREFIXES as any)?.[unit]?.[ROUNDED_NUMBER.BILLION],\n };\n }\n if (Math.abs(value) >= ROUNDED_NUMBER.MILLION) {\n return {\n shortenedNumber: _DecimalPipe.transform(+(value / ROUNDED_NUMBER.MILLION) ?? 0, '1.0-2'),\n unitPrefixes: (APPLICABLE_PREFIXES as any)?.[unit]?.[ROUNDED_NUMBER.MILLION],\n };\n }\n if (Math.abs(value) >= ROUNDED_NUMBER.THOUSAND) {\n return {\n shortenedNumber: _DecimalPipe.transform(+(value / ROUNDED_NUMBER.THOUSAND) ?? 0, '1.0-2'),\n unitPrefixes: (APPLICABLE_PREFIXES as any)?.[unit]?.[ROUNDED_NUMBER.THOUSAND],\n };\n }\n return {\n shortenedNumber: _DecimalPipe.transform(+value ?? 0, '1.0-2') ?? '0',\n unitPrefixes: '',\n };\n }\n\n static convertSpecialUnit(unit: string, unitPrefixes?: any) {\n switch (unit) {\n case ATO_ABBREVIATION.kWh: {\n return unitPrefixes ? ATO_ABBREVIATION.Wh : ATO_ABBREVIATION.kWh;\n }\n case ATO_ABBREVIATION.m3: {\n return ATO_ABBREVIATION.m3_Special;\n }\n case ATO_ABBREVIATION.m3_unit: {\n return ATO_ABBREVIATION.m3_unit_Special;\n }\n case ATO_ABBREVIATION.degC: {\n return ATO_ABBREVIATION.degC_unit_Special;\n }\n case ATO_ABBREVIATION.degF: {\n return ATO_ABBREVIATION.degF_unit_Special;\n }\n default: {\n unit = UtilsService.replaceAll(unit ?? '', ATO_ABBREVIATION.m3, ATO_ABBREVIATION.m3_Special);\n return UtilsService.replaceAll(unit ?? '', ATO_ABBREVIATION.CO2, ATO_ABBREVIATION.CO2_Special);\n }\n }\n }\n\n static generateUUID() {\n const id = UtilsService.replaceAll(uuidV4(), '-', '').toUpperCase();\n const randomPosition = _.random(0, 32);\n const randomNumber = _.random(0, 9).toString();\n const leftChar = id.slice(0, randomPosition);\n const rightChar = id.slice(randomPosition);\n return `${leftChar}${randomNumber}${rightChar}`;\n }\n\n static replaceAll(text: any, find: any, replace: any): string {\n function escapeRegExp(str: any) {\n return str.replace(/([.*+?^=!:${}()|\\[\\]\\/\\\\])/g, '\\\\$1');\n }\n return text.replace(new RegExp(escapeRegExp(find), 'g'), replace);\n }\n}\n","\nexport enum ATO_EPlantType {\n ENTERPRISE = 'Enterprise',\n DIVISION = 'Division',\n PROXY_PLANT = 'proxy',\n BASIC_PLANT = 'basic',\n PLANT = 'plant',\n}\n\n// const PLANT_TYPE_ACTIVE = {\n// key: E_PlantType.PLANT,\n// iconClassName: 'fa-light fa-industry-windows font-size-18px',\n// keyMapingMenu: 'plants',\n// status: PlantComponentModel.PLANT_STATUS.active,\n// description: 'Complete plant setup. Full HWF functionality available​.',\n// hexColor: '#199c69',\n// classColor: 'color-elf-green',\n// };\n\n// export const PLANT_TYPE = {\n// [E_PlantType.ENTERPRISE]: {\n// iconClassName: 'fa-light fa-building-user',\n// keyMapingMenu: 'Enterprise',\n// status: '',\n// },\n// [E_PlantType.DIVISION]: {\n// iconClassName: 'fa-light fa-puzzle',\n// keyMapingMenu: 'divisions',\n// status: '',\n// },\n// [E_PlantType.PROXY_PLANT]: {\n// key: E_PlantType.PROXY_PLANT,\n// iconClassName: 'fa-light fa-calendar-users font-size-18px',\n// keyMapingMenu: 'plants',\n// status: PlantComponentModel.PLANT_STATUS.proxy,\n// description: 'No plant dashboard. Fully enterprise managed plant​.',\n// hexColor: '#00aec7',\n// classColor: 'color-iris-blue',\n// },\n// [E_PlantType.BASIC_PLANT]: {\n// key: E_PlantType.BASIC_PLANT,\n// iconClassName: 'basic-plant-icon h-23px',\n// keyMapingMenu: 'plants',\n// status: PlantComponentModel.PLANT_STATUS.basic,\n// description: 'Plant dashboard. No topology needed. Limited functionality​.',\n// hexColor: '#E09F25',\n// classColor: 'color-galliano-2',\n// },\n// // Same active\n// [E_PlantType.PLANT]: PLANT_TYPE_ACTIVE,\n// [PlantComponentModel.PLANT_STATUS.active]: PLANT_TYPE_ACTIVE,\n// };\n","export const ICONS_BASE64 = {\n \"uf044\": \"data:image/png;base64,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\"\n}","import {\n Directive,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n ViewChild,\n} from '@angular/core';\nimport { AtoGojsEditorModel } from './gojs-editor.model';\nimport * as go from 'gojs';\nimport _ from 'lodash';\nimport moment from 'moment';\nimport { GO_LICENSE_KEY } from '../constants/key.const';\nimport { Subject } from 'rxjs';\nimport { UtilsService } from '../services/utils/utils.service';\nimport {\n ATO_ENUM_FLOW_DIRECTION,\n ATO_ECOMPONENT_PLANT_TYPE,\n NO_DATA,\n TEXT_UNKNOWN,\n VALUE_NA,\n} from '../constants/value.const';\nimport { ATO_EPlantType } from '../constants/plant.constant';\n\nconst ICON_ALERT = '/assets/images/icons/Station.svg';\nconst ARROW = '/assets/images/icons/arrow.svg';\nconst ARROW_GRAY = '/assets/images/icons/arrow-gray.svg';\nconst RO_LINE_DIRTY = '/assets/images/icons/ro_line_dirty.svg';\nconst OUTFLOW_LINE_DIRTY = '/assets/images/icons/outflow_line_dirty.png';\nimport { Subscription } from 'rxjs';\nimport { ICONS_BASE64 } from '../constants/icon-base64.const';\n\n@Directive()\nexport class AtoDefaultGojsEditor implements OnDestroy {\n @ViewChild('menuTrigger') menuTrigger: any;\n @Input() linkValidation: (\n fromNode: go.Node,\n fromPort: go.GraphObject,\n toNode: go.Node,\n toPort: go.GraphObject,\n link: go.Link\n ) => boolean;\n\n actions: any[] = [];\n actionMenuId: string = 'actionMenuId';\n\n myDiagramDiv: any = this.constructor.name + '-' + moment().valueOf();\n myDiagram: any;\n $ = go.GraphObject.make;\n animationInterval: any;\n defaultScaleZoomToFit?: number;\n\n private _initialOptions: any = {\n 'toolManager.hoverDelay': 200,\n // 'draggingTool.isEnabled': false,\n // initialAutoScale: go.Diagram.UniformToFill,\n // autoScrollRegion: AtoGojsEditorModel.GRID_SIZE * 5,\n layout: this.$(go.LayeredDigraphLayout, { direction: 0 }),\n initialContentAlignment: go.Spot.Center,\n initialAutoScale: go.Diagram.Uniform,\n // contentAlignment: go.Spot.Center,\n // this.$(go.ForceDirectedLayout),\n 'undoManager.isEnabled': true, // enable undo & redo\n // \"animationManager.isInitial\": false,\n // \"animationManager.isEnabled\": false,\n // \"draggingTool.isGridSnapEnabled\": true\n dragSelectingTool: this.$(\n go.DragSelectingTool,\n { isPartialInclusion: true, delay: 50 },\n {\n box: this.$(\n go.Part, // replace the magenta box with a red one\n { layerName: 'Tool', selectable: false },\n this.$(go.Shape, {\n name: 'SHAPE',\n fill: 'rgba(255,0,0,0)',\n stroke: '#E95F47',\n strokeWidth: 2,\n })\n ),\n }\n ),\n 'linkingTool.linkValidation': this.checkLinkCondition.bind(this),\n 'draggingTool.doMouseMove': function () {\n // do the standard behavior by calling the super method\n go.DraggingTool.prototype.doMouseMove.call(this);\n // if dragging-out from the diagram is not allowed, and\n // if mouse is outside of viewport\n if (\n !this.diagram.allowDragOut &&\n !this.diagram.viewportBounds.containsPoint(\n this.diagram.lastInput.documentPoint\n )\n ) {\n this.diagram.ensureBounds();\n const vp = this.diagram.lastInput.viewPoint;\n const dp = this.diagram.position.copy();\n if (vp.x < 0) dp.x -= 10;\n else if (vp.x > 0) dp.x += 10;\n if (vp.y < 0) dp.y -= 10;\n else if (vp.y > 0) dp.y += 10;\n this.diagram.position = dp; // scroll in the direction of the mouse\n }\n },\n // LayoutCompleted: () => {\n // this.myDiagram.zoomToFit();\n // this.defaultScaleZoomToFit = this.myDiagram.scale;\n // if (!this.initialOptions.isReadOnly) {\n // const sizeMargin = AtoGojsEditorModel.GRID_SIZE * 15;\n // this.myDiagram.padding = new go.Margin(sizeMargin);\n // }\n // },\n };\n\n checkLinkCondition(\n fromNode: go.Node,\n fromPort: go.GraphObject,\n toNode: go.Node,\n toPort: go.GraphObject,\n link: go.Link\n ): boolean {\n if (this.linkValidation) {\n return this.linkValidation(fromNode, fromPort, toNode, toPort, link);\n }\n return true; // Mặc định cho trường hợp không có hàm linkValidation được truyền vào\n }\n\n @Input() set initialOptions(v: any) {\n this._initialOptions = _.merge(this._initialOptions, v);\n // _.extend(v, this._initialOptions);\n }\n\n get initialOptions() {\n return this._initialOptions;\n }\n\n private _editor: AtoGojsEditorModel;\n @Input() set editor(v: AtoGojsEditorModel) {\n this._editor = v;\n if (v) {\n setTimeout(() => {\n this.initDiagram();\n }, 100);\n }\n }\n\n get editor(): AtoGojsEditorModel {\n return this._editor;\n }\n\n @Input() isShowNodeInfo: boolean = false;\n @Input() plantSatus: string;\n\n constructor(private _elRef: ElementRef) {\n go.Diagram.licenseKey = GO_LICENSE_KEY;\n }\n\n @Output() onModelChangeListenerEvent: EventEmitter<any> =\n new EventEmitter<any>();\n @Output() onClickInfoButton: EventEmitter<any> = new EventEmitter<any>();\n @Output() onOpenWizard: EventEmitter<any> = new EventEmitter<any>();\n @Output() onOpenDetail: EventEmitter<any> = new EventEmitter<any>();\n @Output() onOpenAssetParameter: EventEmitter<any> = new EventEmitter<any>();\n @Output() onOpenInsightMapping: EventEmitter<any> = new EventEmitter<any>();\n @Output() onHoverInfoButton: EventEmitter<any> = new EventEmitter<any>();\n @Output() onHoverAlert: EventEmitter<any> = new EventEmitter<any>();\n @Output() onDoubleClickNode: EventEmitter<any> = new EventEmitter<any>();\n @Output() onOpenChangeIcon: EventEmitter<any> = new EventEmitter<any>();\n // Click component\n @Output() onClickCompoent: EventEmitter<any> = new EventEmitter<any>();\n @Output() callbackImageTopology: EventEmitter<any> = new EventEmitter<any>();\n\n // Click param on ParamTable\n @Output() onClikParamOfTable: EventEmitter<any> = new EventEmitter<any>();\n\n // Delete Node\n @Output() onDeleteNode: EventEmitter<any> = new EventEmitter<any>();\n @Output() onUndo: EventEmitter<any> = new EventEmitter<any>();\n // Rename\n @Output() onRename: EventEmitter<any> = new EventEmitter<any>();\n\n isAddedModelChangedListeners: boolean;\n committedTransactionSubject = new Subject<any>();\n\n // AddSub and UnSub\n _subscriptionList: Subscription = new Subscription();\n\n ngOnDestroy() {\n this.unsubscribeAll();\n this.stopAnimation();\n // this.myDiagram?.clear();\n if (!!this.myDiagram?.div) {\n this.myDiagram.div = null;\n }\n if (this.myDiagram) {\n this.myDiagram.clear();\n }\n if (this.myDiagram != null && this.myDiagram.nodeTemplateMap != null) {\n this.myDiagram.nodeTemplateMap.clear();\n }\n\n if (this.myDiagram != null && this.myDiagram.groupTemplateMap != null) {\n this.myDiagram.groupTemplateMap.clear();\n }\n if (this.myDiagram != null && this.myDiagram.linkTemplate != null) {\n for (var key in this.myDiagram.linkTemplateMap.toArray()) {\n this.myDiagram.linkTemplateMap.remove(key);\n }\n }\n this.myDiagram = null;\n }\n\n addOrRemoveCompoentTemplate() {\n // Add Node and Node Group\n _.forEach(this.editor.data?.nodeDataArray, (node) => {\n this.addTemplate(node);\n });\n // Remove Node and Node Group\n _.forEach(this.myDiagram.nodeTemplateMap?.Hb, (temp) => {\n if (\n temp?.key &&\n !this.editor.data?.nodeDataArray?.some(\n (node) => node?.type === temp?.key\n )\n ) {\n this.myDiagram.nodeTemplateMap.remove(temp?.key);\n }\n });\n _.forEach(this.myDiagram.groupTemplateMap?.Hb, (temp) => {\n if (\n temp?.key &&\n !this.editor.data?.nodeDataArray?.some(\n (node) => node?.type === temp?.key\n )\n ) {\n this.myDiagram.groupTemplateMap.remove(temp?.key);\n }\n });\n }\n\n addTemplate(node) {\n this.addNodeTemplate(node);\n this.addGroupTemplate(node);\n }\n\n addGroupTemplate(node) {\n if (this.myDiagram.groupTemplateMap?.Hb?.[node?.type] || !node?.isGroup) {\n return;\n }\n // Group\n if (node?.type === AtoGojsEditorModel.ENUM_TEMPLATES.RO_WATER_TREATMENT) {\n this.makeGroupROPlantTemplate(\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].name\n );\n return;\n }\n\n if (node?.type === AtoGojsEditorModel.ENUM_TEMPLATES.BOILER) {\n this.makeGroupBoilerTemplate(\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].name\n );\n return;\n }\n\n if (node?.type === AtoGojsEditorModel.ENUM_TEMPLATES.COOLING_TOWER) {\n this.makeGroupCoolingTowerTemplate(\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].name\n );\n return;\n }\n\n if (node?.type === AtoGojsEditorModel.ENUM_TEMPLATES.ZONE) {\n this.makeGroupZoneTemplate();\n return;\n }\n\n if (\n node?.type === AtoGojsEditorModel.ENUM_TEMPLATES.PLANT_CELL &&\n node?.isGroup\n ) {\n this.groupPlantCellTemplate(\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].name\n );\n return;\n }\n if (\n node?.type === AtoGojsEditorModel.ENUM_TEMPLATES.PLANT_CELL_INPUT_GROUP\n ) {\n this.groupPCInputOrOutTemplate(\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].name,\n new go.Margin(0, 50, 0, 0)\n );\n return;\n }\n if (\n node?.type === AtoGojsEditorModel.ENUM_TEMPLATES.PLANT_CELL_OUTPUT_GROUP\n ) {\n this.groupPCInputOrOutTemplate(\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].name,\n new go.Margin(0, 0, 0, 50)\n );\n return;\n }\n if (\n node?.type === AtoGojsEditorModel.ENUM_TEMPLATES.GROUP_BASIC_COMPONENT\n ) {\n this.makeGroupBasicComponent(\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].name\n );\n return;\n }\n\n this.makeGroupTemplate(\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].name\n );\n }\n\n addNodeTemplate(node) {\n if (this.myDiagram.nodeTemplateMap?.Hb[node?.type] || node?.isGroup) {\n return;\n }\n // Not Group\n // Component Water Normal\n if (\n AtoGojsEditorModel.TYPE_TEMPLATE_WATER_NORMAL?.includes(node?.type) &&\n !node?.isGroup\n ) {\n this.makeEntityTemplate(\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].icon ?? '',\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].name ?? ''\n );\n }\n // Component Water Withdraw Or Discharge\n if (\n AtoGojsEditorModel.TYPE_TEMPLATE_WATER_WITHDRAW_OR_DISCHARGE?.includes(\n node?.type\n ) &&\n !node?.isGroup\n ) {\n this.makeEntityWithdrawOrDischarge(\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].icon ?? '',\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].name ?? ''\n );\n }\n\n // Component Energy Normal\n if (\n (AtoGojsEditorModel.TYPE_TEMPLATE_ELECTRICITY?.includes(node?.type) ||\n AtoGojsEditorModel.TYPE_TEMPLATE_NATURAL_GAS?.includes(node?.type) ||\n AtoGojsEditorModel.TYPE_TEMPLATE_FUEL?.includes(node?.type) ||\n AtoGojsEditorModel.TYPE_TEMPLATE_STEAM?.includes(node?.type)) &&\n !node?.isGroup\n ) {\n this.makeEntityTemplateEnergy(\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].icon ?? '',\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].name ?? ''\n );\n }\n\n if (node?.type === AtoGojsEditorModel.ENUM_TEMPLATES.IMAGE_TEMPLATE) {\n this.makeImageTemplate();\n }\n if (node?.type === AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE) {\n this.makeParamTable();\n }\n if (node?.type === AtoGojsEditorModel.ENUM_TEMPLATES.MASS_BALANCE) {\n this.makeMassBalance();\n }\n // Text Node\n if (node?.type === AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_NODE) {\n this.makeTextTemplate();\n }\n // Value Node\n if (node?.type === AtoGojsEditorModel.ENUM_TEMPLATES.VALUE_NODE) {\n this.makeValueNodeTemplate();\n }\n\n // Value Node\n if (node?.type === AtoGojsEditorModel.ENUM_TEMPLATES.EMPTY) {\n this.makeEmptyNodeTemplate();\n }\n\n // Value Label\n if (node?.type === AtoGojsEditorModel.ENUM_TEMPLATES.VALUE_LABEL) {\n this.makeValueLabelTemplate();\n }\n // Label\n if (node?.type === AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_LABEL) {\n this.makeTextLabelTemplate();\n }\n // Zone item\n if (node?.type === AtoGojsEditorModel.ENUM_TEMPLATES.ZONE_ENERGY_ITEM) {\n this.makeZoneItemTemplate();\n }\n // data box\n if (node?.type === AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX) {\n this.makeDataBoxTemplate();\n }\n\n // Special template\n if (AtoGojsEditorModel.TYPE_TEMPLATE_SPECIAL?.includes(node?.type)) {\n this.makeSpecialTemplate(\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].name\n );\n }\n\n // Plant Cell\n if (\n node?.type === AtoGojsEditorModel.ENUM_TEMPLATES.PLANT_CELL &&\n !node?.isGroup\n ) {\n this.plantCellTemplate(\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[node?.type].name\n );\n }\n }\n\n initDiagram() {\n if (!!this.myDiagram?.div) {\n // this.myDiagram.div = null;\n if (this.initialOptions?.grid) {\n this.myDiagram['grid'] = this.initialOptions?.grid;\n } else {\n this.myDiagram['grid'] = this.$(go.Panel, 'Grid');\n }\n if (this.initialOptions?.LayoutCompleted) {\n this.myDiagram.addDiagramListener(\n 'LayoutCompleted',\n this.initialOptions?.LayoutCompleted\n );\n }\n if (this.initialOptions?.LinkReshaped) {\n this.myDiagram.addDiagramListener(\n 'LinkReshaped',\n this.initialOptions?.LinkReshaped\n );\n }\n if (this.initialOptions?.SelectionMoved) {\n this.myDiagram.addDiagramListener(\n 'SelectionMoved',\n this.initialOptions?.SelectionMoved\n );\n }\n if (this.initialOptions?.ChangedSelection) {\n this.myDiagram.addDiagramListener(\n 'ChangedSelection',\n this.initialOptions?.ChangedSelection\n );\n }\n this.myDiagram.dragSelectingTool = this.initialOptions?.dragSelectingTool;\n this.myDiagram.toolManager.draggingTool.isGridSnapEnabled =\n this.initialOptions?.['draggingTool.isGridSnapEnabled'] ?? false;\n if (\n this.myDiagram.toolManager &&\n this.myDiagram.toolManager.draggingTool\n ) {\n if (this.initialOptions?.['draggingTool.gridSnapCellSize']) {\n this.myDiagram.toolManager.draggingTool.gridSnapCellSize =\n this.initialOptions?.['draggingTool.gridSnapCellSize'];\n }\n // if (this.initialOptions?.['draggingTool.isGridSnapEnabled']) {\n // this.myDiagram.toolManager.draggingTool.isGridSnapEnabled =\n // this.initialOptions?.['draggingTool.isGridSnapEnabled'];\n // }\n if (this.initialOptions?.['draggingTool.doMouseMove']) {\n this.myDiagram.toolManager.draggingTool.doMouseMove =\n this.initialOptions?.['draggingTool.doMouseMove'];\n }\n\n if (this.initialOptions?.['linkingTool.linkValidation']) {\n this.myDiagram.toolManager.linkingTool.linkValidation =\n this.initialOptions?.['linkingTool.linkValidation'];\n }\n }\n this.myDiagram.contentAlignment =\n this.initialOptions?.contentAlignment ?? go.Spot.Center;\n this.myDiagram.layout = this.initialOptions?.layout;\n // this.myDiagram.minViewportBounds = new go.Rect(0, 0, 1200, 1200);\n if (!!this.editor?.data) {\n this.addOrRemoveCompoentTemplate();\n this.myDiagram.model = go.Model.fromJson(this.editor.data);\n }\n\n return;\n }\n if (this.animationInterval) {\n clearInterval(this.animationInterval);\n }\n\n const diagramDiv = this._elRef.nativeElement.querySelector(\n `#${this.myDiagramDiv}`\n );\n this.myDiagram = this.$(go.Diagram, diagramDiv, this.initialOptions);\n // this.myDiagram.initialPosition = new go.Point(0, 0);\n this.addOrRemoveCompoentTemplate();\n\n this.makeLinkTemplate();\n // animation\n this.startAnimation();\n\n setTimeout(() => {\n const self = this;\n // if (!this.isAddedModelChangedListeners) {\n this.isAddedModelChangedListeners = true;\n this.myDiagram.addModelChangedListener(function (e) {\n if (\n e.change === go.ChangedEvent.Remove &&\n e.propertyName === 'nodeDataArray'\n ) {\n const data = e.oldValue;\n self.onDeleteNode.emit(data);\n }\n if (e.isTransactionFinished) {\n self.committedTransactionSubject?.next(e);\n }\n });\n this.myDiagram.commandHandler.undo = function () {\n self.onUndo.emit();\n };\n });\n\n if (!!this.editor) {\n this.myDiagram.model = go.Model.fromJson(this.editor.data);\n }\n }\n\n initGroupTemplateEnergy() {\n // for water\n const {\n STORAGE,\n WATER_TREATMENT,\n DEMIN_WATER_TREATMENT,\n // RO_WATER_TREATMENT,\n PROCESS,\n WASTEWATER_TREATMENT,\n DAF_WASTEWATER_TREATMENT,\n ETP_WASTEWATER_TREATMENT,\n MBR_WASTEWATER_TREATMENT,\n ZLD_WASTEWATER_TREATMENT,\n COOLING_TOWER,\n BOILER,\n OTHER,\n LANDSCAPING_IRRIGATION,\n } = AtoGojsEditorModel.ENUM_TEMPLATES;\n const waterGroups = [\n STORAGE,\n WATER_TREATMENT,\n DEMIN_WATER_TREATMENT,\n // RO_WATER_TREATMENT,\n PROCESS,\n WASTEWATER_TREATMENT,\n DAF_WASTEWATER_TREATMENT,\n ETP_WASTEWATER_TREATMENT,\n MBR_WASTEWATER_TREATMENT,\n ZLD_WASTEWATER_TREATMENT,\n COOLING_TOWER,\n BOILER,\n OTHER,\n LANDSCAPING_IRRIGATION,\n ];\n waterGroups.map((e) => {\n if (!!AtoGojsEditorModel.NODE_TEMPLATES[e]) {\n this.makeGroupTemplate(\n AtoGojsEditorModel.NODE_TEMPLATES[e].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[e].name\n );\n }\n });\n\n // electrical\n this.initElectricGroupTemplate();\n\n // Fuel\n this.initFuelGroupTemplate();\n\n // Gas\n this.initGasGroupTemplate();\n }\n\n initElectricDiagram() {\n const {\n GRID,\n DIESEL_GENERATORS,\n BATTERY_ENERGY_STORAGE,\n LIGHTING_SYSTEMS,\n LIGHTINGS,\n ELECTRIC_METERS,\n TRANSFORMERS,\n ELECTRIC_FLYWHEEL_ENERGY_STORAGE,\n PUMPED_HYDRO_STORAGE,\n THERMAL_ENERGY_STORAGE,\n SUPER_CAPACITOR_ENERGY_STORAGE,\n SWITCH_GEARS,\n PROCESS_CONTROL_AUTOMATION_SYSTEMS,\n PROCESS_EQUIPMENT_MACHINES,\n OFFICE_EQUIPMENT,\n POWER_DISTRIBUTION_CONTROL_SYSTEMS,\n POWER_DISTRIBUTION_SYSTEMS,\n NATURAL_GAS_GENERATORS,\n MOTOR_CONTROLS,\n VARIABLE_FREQUENCY_DRIVERS,\n ELECTRIC_HVAC,\n COMPRESSED_AIR_SYSTEMS,\n REFRIGERATION_COOLING_SYSTEMS,\n MATERIAL_HANDLING_EQUIPMENT,\n WIND_POWER,\n ELECTRIC_INDUSTRIAL_MOTORS,\n GROUNDING,\n } = AtoGojsEditorModel.ENUM_TEMPLATES;\n const ListItemsCreateEntityTemplate = [\n GRID,\n DIESEL_GENERATORS,\n BATTERY_ENERGY_STORAGE,\n LIGHTING_SYSTEMS,\n LIGHTINGS,\n ELECTRIC_METERS,\n TRANSFORMERS,\n ELECTRIC_FLYWHEEL_ENERGY_STORAGE,\n PUMPED_HYDRO_STORAGE,\n THERMAL_ENERGY_STORAGE,\n SUPER_CAPACITOR_ENERGY_STORAGE,\n SWITCH_GEARS,\n PROCESS_CONTROL_AUTOMATION_SYSTEMS,\n PROCESS_EQUIPMENT_MACHINES,\n OFFICE_EQUIPMENT,\n POWER_DISTRIBUTION_CONTROL_SYSTEMS,\n POWER_DISTRIBUTION_SYSTEMS,\n NATURAL_GAS_GENERATORS,\n MOTOR_CONTROLS,\n VARIABLE_FREQUENCY_DRIVERS,\n ELECTRIC_HVAC,\n COMPRESSED_AIR_SYSTEMS,\n REFRIGERATION_COOLING_SYSTEMS,\n MATERIAL_HANDLING_EQUIPMENT,\n WIND_POWER,\n ELECTRIC_INDUSTRIAL_MOTORS,\n GROUNDING,\n ];\n ListItemsCreateEntityTemplate.map((e) => {\n if (!!AtoGojsEditorModel.NODE_TEMPLATES[e]) {\n this.makeEntityTemplateEnergy(\n AtoGojsEditorModel.NODE_TEMPLATES[e].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[e].name\n );\n }\n });\n }\n\n initElectricGroupTemplate() {\n const listItems = [\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.BATTERY_ENERGY_STORAGE\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.TRANSFORMERS\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.ELECTRIC_METERS\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.LIGHTINGS\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.POWER_DISTRIBUTION_SYSTEMS\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.SWITCH_GEARS\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.ELECTRIC_INDUSTRIAL_MOTORS\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.GROUNDING\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.MOTOR_CONTROLS\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.LIGHTING_SYSTEMS\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.ELECTRIC_HVAC\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.REFRIGERATION_COOLING_SYSTEMS\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.PROCESS_CONTROL_AUTOMATION_SYSTEMS\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.OFFICE_EQUIPMENT\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.COMPRESSED_AIR_SYSTEMS\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.PROCESS_EQUIPMENT_MACHINES\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.MATERIAL_HANDLING_EQUIPMENT\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.POWER_DISTRIBUTION_CONTROL_SYSTEMS\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.BATTERIES\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.VARIABLE_FREQUENCY_DRIVERS\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.ELECTRIC_FLYWHEEL_ENERGY_STORAGE\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.PUMPED_HYDRO_STORAGE\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.THERMAL_ENERGY_STORAGE\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.SUPER_CAPACITOR_ENERGY_STORAGE\n ],\n ];\n listItems.forEach((e) => {\n this.makeGroupTemplate(e?.icon, e.name);\n });\n }\n\n initFuelGroupTemplate() {\n const listItems = [\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.DIESEL_FUELS\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.GASON_LINES\n ],\n\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.BIODIESELS\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.KEROSENSE\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.PROPANES\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.TANKER_TRUCKS\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.PIPELINE\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.INDUSTRIAL_BOILERS\n ],\n\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.GENERATORS\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.INDUSTRIAL_FURNACES\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.INDUSTRIAL_OVENS\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.INDUSTRIAL_VEHICLES_AND_EQUIPMENT\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_METERS\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_DISPENSERS\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_STRORAGE_TANKS\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.ELECTRIC_HVAC\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_FILTRATIONS\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_MANAGEMENTS\n ],\n ];\n\n this.makeGroupTemplate(\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_DISPENSERS\n ].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_DISPENSERS\n ].name\n );\n this.makeGroupTemplate(\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_STRORAGE_TANKS\n ].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_STRORAGE_TANKS\n ].name\n );\n this.makeGroupTemplate(\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_FILTRATIONS\n ].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_FILTRATIONS\n ].name\n );\n this.makeGroupTemplate(\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_MANAGEMENTS\n ].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_MANAGEMENTS\n ].name\n );\n listItems.forEach((e) => {\n this.makeGroupTemplate(e?.icon, e.name);\n });\n }\n\n initGasGroupTemplate() {\n const listItems = [\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.COMPRESSED_NATURAL_GAS_PIPELINE\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.BOILERS_AND_HEATERS\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.FURNACES\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.POWER_GENERATION\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.COGENERATION\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.COMBINED_CYCLE_POWER_PLANTS\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_FOR_VEHICLES_AND_EQUIPMENT\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.GAS_METERS\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.BURNERS\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.FLUE_GAS_ANALYZERS\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.COMBUSTION_CONTROL_SYSTEMS\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.GAS_STORAGE_TANKS\n ],\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.GAS_PRESSURE_REGULATORS\n ],\n ];\n\n this.makeGroupTemplate(\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_DISPENSERS\n ].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_DISPENSERS\n ].name\n );\n this.makeGroupTemplate(\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_STRORAGE_TANKS\n ].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_STRORAGE_TANKS\n ].name\n );\n this.makeGroupTemplate(\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_FILTRATIONS\n ].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_FILTRATIONS\n ].name\n );\n this.makeGroupTemplate(\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_MANAGEMENTS\n ].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_MANAGEMENTS\n ].name\n );\n listItems.forEach((e) => {\n this.makeGroupTemplate(e?.icon, e.name);\n });\n }\n\n initGasDiagram() {\n const {\n NATURAL_GAS_PIPELINES,\n LIQUEFIED_NATURAL_GAS,\n COMPRESSED_NATURAL_GAS_PIPELINE,\n COMPRESSED_NATURAL_GAS_PRODUCTION,\n BOILERS_AND_HEATERS,\n FURNACES,\n POWER_GENERATION,\n COGENERATION,\n COMBINED_CYCLE_POWER_PLANTS,\n FUEL_FOR_VEHICLES_AND_EQUIPMENT,\n GAS_METERS,\n BURNERS,\n FLUE_GAS_ANALYZERS,\n COMBUSTION_CONTROL_SYSTEMS,\n GAS_STORAGE_TANKS,\n GAS_PRESSURE_REGULATORS,\n NATURAL_GAS,\n } = AtoGojsEditorModel.ENUM_TEMPLATES;\n const ListItemsCreateEntityTemplate = [\n NATURAL_GAS_PIPELINES,\n LIQUEFIED_NATURAL_GAS,\n COMPRESSED_NATURAL_GAS_PIPELINE,\n COMPRESSED_NATURAL_GAS_PRODUCTION,\n BOILERS_AND_HEATERS,\n FURNACES,\n POWER_GENERATION,\n COGENERATION,\n COMBINED_CYCLE_POWER_PLANTS,\n FUEL_FOR_VEHICLES_AND_EQUIPMENT,\n GAS_METERS,\n BURNERS,\n FLUE_GAS_ANALYZERS,\n COMBUSTION_CONTROL_SYSTEMS,\n GAS_STORAGE_TANKS,\n GAS_PRESSURE_REGULATORS,\n NATURAL_GAS,\n ];\n ListItemsCreateEntityTemplate.map((e) => {\n if (!!AtoGojsEditorModel.NODE_TEMPLATES[e]) {\n this.makeEntityTemplateEnergy(\n AtoGojsEditorModel.NODE_TEMPLATES[e].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[e].name\n );\n }\n });\n }\n\n initFuelDiagram() {\n const {\n DIESEL_FUELS,\n GASON_LINES,\n BIODIESELS,\n KEROSENSE,\n PROPANES,\n TANKER_TRUCKS,\n PIPELINE,\n INDUSTRIAL_BOILERS,\n GENERATORS,\n INDUSTRIAL_FURNACES,\n INDUSTRIAL_OVENS,\n INDUSTRIAL_VEHICLES_AND_EQUIPMENT,\n FUEL_METERS,\n FUEL_DISPENSERS,\n FUEL_STRORAGE_TANKS,\n FUEL_FILTRATIONS,\n FUEL_MANAGEMENTS,\n FUELS,\n } = AtoGojsEditorModel.ENUM_TEMPLATES;\n const ListItemsCreateEntityTemplate = [\n DIESEL_FUELS,\n GASON_LINES,\n BIODIESELS,\n KEROSENSE,\n PROPANES,\n TANKER_TRUCKS,\n PIPELINE,\n INDUSTRIAL_BOILERS,\n GENERATORS,\n INDUSTRIAL_FURNACES,\n INDUSTRIAL_OVENS,\n INDUSTRIAL_VEHICLES_AND_EQUIPMENT,\n FUEL_METERS,\n FUEL_DISPENSERS,\n FUEL_STRORAGE_TANKS,\n FUEL_FILTRATIONS,\n FUEL_MANAGEMENTS,\n FUELS,\n ];\n ListItemsCreateEntityTemplate.map((e) => {\n if (!!AtoGojsEditorModel.NODE_TEMPLATES[e]) {\n this.makeEntityTemplateEnergy(\n AtoGojsEditorModel.NODE_TEMPLATES[e].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[e].name\n );\n }\n });\n }\n\n initSolarDiagram() {\n const {\n SOLAR_POWER,\n POWER_CONDITIONING_UNIT,\n BATTERIES: BATTERY,\n INVERTERS: INVERTER,\n } = AtoGojsEditorModel.ENUM_TEMPLATES;\n const ListItemsCreateEntityTemplate = [\n SOLAR_POWER,\n POWER_CONDITIONING_UNIT,\n BATTERY,\n INVERTER,\n ];\n ListItemsCreateEntityTemplate.map((e) => {\n if (!!AtoGojsEditorModel.NODE_TEMPLATES[e]) {\n this.makeEntityTemplateEnergy(\n AtoGojsEditorModel.NODE_TEMPLATES[e].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[e].name\n );\n }\n });\n }\n\n initSteamDiagram() {\n const {\n VALUES,\n STEAM_TRAPS,\n PRESSURE_REGULATORS,\n SAFETY_VALUES_AND_EQUIPMENT,\n CONDENSATE_RETURN_SYSTEM,\n DEAERATORS,\n FEEDWATER_PUMPS,\n BLOWDOWN_TANKS,\n EXPANSION_TANKS,\n HEAT_EXCHANGERS,\n TURBINES,\n } = AtoGojsEditorModel.ENUM_TEMPLATES;\n const ListItemsCreateEntityTemplate = [\n VALUES,\n STEAM_TRAPS,\n PRESSURE_REGULATORS,\n SAFETY_VALUES_AND_EQUIPMENT,\n CONDENSATE_RETURN_SYSTEM,\n DEAERATORS,\n FEEDWATER_PUMPS,\n BLOWDOWN_TANKS,\n EXPANSION_TANKS,\n HEAT_EXCHANGERS,\n TURBINES,\n ];\n ListItemsCreateEntityTemplate.map((e) => {\n if (!!AtoGojsEditorModel.NODE_TEMPLATES[e]) {\n this.makeEntityTemplateEnergy(\n AtoGojsEditorModel.NODE_TEMPLATES[e].icon,\n AtoGojsEditorModel.NODE_TEMPLATES[e].name\n );\n }\n });\n }\n\n onModelChangeListener(e: go.ChangedEvent) {\n // this.onModelChangeListenerEvent.emit(e);\n }\n\n makeLinkTemplate() {\n const elements: any[] = [];\n // line\n elements.push(\n this.$(\n go.Shape,\n {\n isPanelMain: true,\n stroke: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n strokeWidth:\n AtoGojsEditorModel.LINK_TEMPLATES[\n AtoGojsEditorModel.ENUM_LINK_TYPES.SIMPLE\n ]?.strokeWidth,\n // strokeWidth: 0,\n },\n new go.Binding('stroke', 'color'),\n new go.Binding('selectable', 'selectable'),\n new go.Binding(\n 'strokeWidth',\n 'type',\n (x) => AtoGojsEditorModel.LINK_TEMPLATES[x]?.strokeWidth\n )\n )\n );\n\n // animation\n elements.push(\n this.$(go.Shape, {\n ...AtoGojsEditorModel.LINK_TEMPLATES[\n AtoGojsEditorModel.ENUM_LINK_TYPES.PIPE_ANIMATION\n ]?.animation,\n visible: true,\n fill: 'transparent',\n })\n );\n\n elements.push(\n this.$(\n go.Panel,\n 'Top',\n {\n height: 38,\n // maxSize: new go.Size(NaN, 36),\n // width: 100,\n // minSize: new go.Size(100, 5), // Đặt kích thước tối thiểu là 100x50\n background: 'transparent',\n // layerName: 'BackgroundLayer',\n // alignment: go.Spot.Top,\n // alignmentFocus: go.Spot.Left,\n // margin: new go.Margin(0, 0, 50, 0),\n // selectable: false,\n },\n new go.Binding('visible', 'textComponent', (x) => {\n return x ? true : false;\n }),\n // this.$(go.Shape, {\n // height: 30,\n // background: 'transparent',\n // fill: 'transparent',\n // // visible: false,\n // }),\n this.$(\n go.TextBlock,\n {\n // margin: new go.Margin(0, 0, 50, 0),\n stroke: '#444444',\n font: 'normal 10pt Arial',\n textAlign: 'left',\n background: 'transparent',\n // editable: false,\n // alignment: go.Spot.Center, // Đảm bảo văn bản nằm ở trung tâm của nút\n // alignmentFocus: go.Spot.Center, // Đảm bảo văn bản không bị dịch chuyển ra khỏi trung tâm\n wrap: go.TextBlock.WrapFit, // Chuyển dòng để văn bản không vượt ra ngoài\n // selectable: true,\n overflow: go.TextBlock.OverflowEllipsis,\n toolTip: this.$(\n 'ToolTip',\n this.$(\n go.TextBlock,\n {\n margin: 4,\n },\n new go.Binding('text', 'textComponent')\n )\n ),\n },\n new go.Binding('text', 'textComponent'),\n new go.Binding('background', 'textComponent', (x) =>\n x ? 'white' : 'transparent'\n )\n // new go.Binding('margin', 'isFormat', (x) =>\n // x ? new go.Margin(5, 0, 5, 5) : new go.Margin(5, 5, 5, 5),\n // ),\n )\n )\n );\n\n // arrow\n elements.push(\n this.$(\n go.Shape, // the \"from\" arrowhead\n {\n ...AtoGojsEditorModel.LINK_TEMPLATES[\n AtoGojsEditorModel.ENUM_LINK_TYPES.SIMPLE\n ]?.arrow,\n },\n new go.Binding(\n 'visible',\n 'type',\n (x) =>\n ![\n AtoGojsEditorModel.ENUM_LINK_TYPES.PIPE_ANIMATION,\n AtoGojsEditorModel.ENUM_LINK_TYPES.PIPE,\n AtoGojsEditorModel.ENUM_LINK_TYPES.PIPE_HIDDEN,\n ].includes(x)\n ),\n new go.Binding('fill', 'color'),\n new go.Binding('stroke', 'color')\n )\n );\n\n // TODO fix link cannot selected inside group template\n this.myDiagram.linkTemplate = this.$(\n go.Link,\n go.Link.Orthogonal,\n {\n // layerName: 'Background', // link cannot select inside group template\n // curviness: 20,\n // corner: 5,\n routing: go.Link.AvoidsNodes,\n reshapable: true,\n resegmentable: true,\n relinkableFrom: true,\n relinkableTo: true,\n selectable: true,\n toShortLength:\n AtoGojsEditorModel.LINK_TEMPLATES[\n AtoGojsEditorModel.ENUM_LINK_TYPES.SIMPLE\n ].toShortLength, // assume arrowhead at \"to\" end, need to avoid bad appearance when path is thick\n },\n new go.Binding('layerName', '', (data) => {\n return data?.textComponent ? 'Background' : '';\n }),\n new go.Binding('zOrder', 'type', (x) =>\n x === AtoGojsEditorModel.ENUM_LINK_TYPES.PIPE_ANIMATION ? 11 : 10\n ),\n new go.Binding(\n 'toShortLength',\n 'type',\n (x) => AtoGojsEditorModel.LINK_TEMPLATES[x].toShortLength || 0\n ),\n new go.Binding('selectable', 'selectable'),\n new go.Binding('visible', 'visible'),\n\n // make sure links come in from the proper direction and go out appropriately\n ...elements\n );\n }\n\n makeValueNodeTemplate(size: { w: number; h: number } = { w: 82, h: 36 }) {\n const self = this;\n const node = this.$(\n go.Node,\n 'Spot',\n {},\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(\n go.Point.stringify\n ),\n\n this.$(\n go.Panel,\n 'Auto',\n { minSize: new go.Size(size.w, size.h) },\n this.$(go.Shape, 'Rectangle', {\n fill: AtoGojsEditorModel.ENUM_COLORS.LIGHT_BLUE,\n stroke: 'transparent',\n }),\n this.$(\n go.Panel,\n 'Horizontal',\n this.$(\n go.TextBlock,\n {\n row: 2,\n font: 'bold 14px Arial',\n textAlign: 'center',\n stroke: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n },\n new go.Binding('editable', 'isEditable'),\n new go.Binding('text', 'shortenedNumber').makeTwoWay(),\n new go.Binding('stroke', 'color'),\n new go.Binding('margin', 'isFormat', (x) =>\n x ? new go.Margin(5, 0, 5, 5) : new go.Margin(5, 5, 5, 5)\n ),\n new go.Binding('visible', '', function (data) {\n return data.value !== VALUE_NA;\n })\n ),\n // Icon Err when lack of value\n this.$(\n go.TextBlock,\n {\n margin: new go.Margin(10, 10, 10, 10),\n text: VALUE_NA, // Old version: TEXT_ERROR\n textAlign: 'center',\n font: 'bold 10pt sans-serif',\n stroke: AtoGojsEditorModel.ENUM_COLORS.SALMON,\n wrap: go.TextBlock.WrapFit,\n editable: false,\n isMultiline: false,\n },\n new go.Binding('visible', '', function (data) {\n return data.value === VALUE_NA;\n })\n )\n )\n )\n );\n this.myDiagram.nodeTemplateMap.set(\n AtoGojsEditorModel.ENUM_TEMPLATES.VALUE_NODE,\n node\n );\n }\n\n makeEmptyNodeTemplate(size: { w: number; h: number } = { w: 0, h: 0 }) {\n const node = this.$(\n go.Node,\n 'Spot',\n {},\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(\n go.Point.stringify\n )\n );\n this.myDiagram.nodeTemplateMap.set(\n AtoGojsEditorModel.ENUM_TEMPLATES.EMPTY,\n node\n );\n }\n\n makeValueLabelTemplate(size: { w: number; h: number } = { w: 82, h: 36 }) {\n const node = this.$(\n go.Node,\n 'Auto',\n {\n movable: false,\n },\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(\n go.Point.stringify\n ),\n this.$(\n go.Panel,\n 'Auto',\n { minSize: new go.Size(size.w, size.h) },\n this.$(\n go.Panel,\n 'Horizontal',\n {\n margin: new go.Margin(0, 10, 0, 10),\n },\n this.$(\n go.TextBlock,\n {\n margin: new go.Margin(0, 5, 10, 0),\n textAlign: 'center',\n font: 'bold 15px sans-serif',\n wrap: go.TextBlock.WrapFit,\n stroke: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n minSize: new go.Size(150, 30), // Set the width of the text block\n },\n new go.Binding('stroke', 'color'),\n new go.Binding('text', 'data', (x) => {\n if (typeof x?.quantity !== 'number') {\n return '';\n }\n const formatted: any = UtilsService.convertPrefixesData({\n value: x?.quantity,\n unit: UtilsService.convertSpecialUnit(x?.unit),\n });\n\n let retValue =\n formatted.shortenedNumber +\n ' ' +\n formatted.unitPrefixes +\n UtilsService.convertSpecialUnit(x?.unit) ?? '';\n if (x?.percent) {\n retValue += ` (${x?.percent}%)`;\n }\n return retValue;\n }),\n new go.Binding(\n 'visible',\n 'data',\n (x) => typeof x?.quantity === 'number'\n )\n )\n )\n )\n );\n this.myDiagram.nodeTemplateMap.set(\n AtoGojsEditorModel.ENUM_TEMPLATES.VALUE_LABEL,\n node\n );\n }\n\n makeTextLabelTemplate(size: { w: number; h: number } = { w: NaN, h: 20 }) {\n const node = this.$(\n go.Node,\n 'Auto',\n {\n movable: false,\n isSelected: false,\n },\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(\n go.Point.stringify\n ),\n this.$(\n go.Panel,\n 'Auto',\n this.$(\n go.Panel,\n 'Horizontal',\n\n this.$(\n go.TextBlock,\n {\n margin: new go.Margin(0, 5, 10, 0),\n textAlign: 'center',\n font: 'bold 16px Arial',\n wrap: go.TextBlock.WrapFit,\n stroke: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n },\n new go.Binding('stroke', 'color'),\n new go.Binding('text', 'name'),\n new go.Binding('visible', 'visible')\n )\n )\n )\n );\n this.myDiagram.nodeTemplateMap.set(\n AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_LABEL,\n node\n );\n }\n\n makeTextTemplate(\n size: { w: number; h: number } = {\n w: AtoGojsEditorModel.GRID_SIZE * 5,\n h: AtoGojsEditorModel.GRID_SIZE * 2,\n }\n ) {\n const self = this;\n const contextMenu = this.$(\n go.Adornment,\n 'Vertical',\n this.$('ContextMenuButton', this.$(go.TextBlock, 'Option 1'), {\n click: function (e, obj) {\n alert('Option 1 clicked!');\n },\n }),\n this.$('ContextMenuButton', this.$(go.TextBlock, 'Option 2'), {\n click: function (e, obj) {\n alert('Option 2 clicked!');\n },\n })\n // ... add more options as needed ...\n );\n const node = this.$(\n go.Node,\n 'Spot',\n {\n // fromSpot: go.Spot.RightSide,\n // toSpot: go.Spot.LeftSide,\n locationSpot: go.Spot.Center,\n // selectionChanged: (e) => {\n // if (e?.data.onSelected) {\n // e?.data.onSelected(e?.data);\n // }\n // },\n // mouseHover: (e, obj) => {\n // const node = obj.part;\n // if ((obj as any).part?.ob?.value === VALUE_NA) {\n // self.onHoverInfoButton.emit({\n // left: e?.['Wr']?.x + 8,\n // top: e?.['Wr']?.y,\n // node: node,\n // });\n // }\n // },\n // mouseLeave: (e, obj) => {\n // if ((obj as any).part?.ob?.value === VALUE_NA) {\n // self.onHoverInfoButton.emit(null);\n // }\n // },\n click: (e, obj: any) => {\n const node = obj.part;\n if (node?.ob?.isTypeInflowOfPlantCell) {\n // obj?.data?.onSelected(node?.ob?.nodePlantCellParent);\n // self.onClickCompoent.emit({\n // left: e?.['Wr']?.x,\n // top: e?.['Wr']?.y,\n // node: {\n // ob: node?.ob?.nodePlantCellParent,\n // },\n // component: node?.ob?.nodePlantCellParent,\n // });\n return;\n }\n if (this._initialOptions?.isReadOnly) {\n this.isShowNodeInfo\n ? self.onClickInfoButton.emit({\n left: e?.['Wr']?.x,\n top: e?.['Wr']?.y,\n node: node,\n })\n : null;\n }\n },\n doubleClick: (e, obj: any) => {\n const node = obj.part;\n if (\n node?.ob?.isTypeInflowOfPlantCell &&\n !this._initialOptions?.isReadOnly\n ) {\n // obj?.data?.onSelected(node?.ob?.nodePlantCellParent);\n // this.isShowNodeInfo\n // ? self.onDoubleClickNode.emit({\n // left: e?.['Wr']?.x,\n // top: e?.['Wr']?.y,\n // node: {\n // ob: node?.ob?.nodePlantCellParent,\n // },\n // })\n // : null;\n return;\n }\n if (!this._initialOptions?.isReadOnly) {\n this.isShowNodeInfo\n ? self.onClickInfoButton.emit({\n left: e?.['Wr']?.x,\n top: e?.['Wr']?.y,\n node: node,\n })\n : null;\n }\n },\n selectionAdornmentTemplate: this.$(\n go.Adornment,\n 'Spot',\n this.$(\n go.Panel,\n 'Auto',\n // { height: 62 },\n this.$(go.Shape, {\n fill: null,\n stroke: 'dodgerblue',\n strokeWidth: 4,\n }),\n this.$(\n go.Placeholder,\n // { padding: new go.Margin(8, 3, 0, 3) },\n new go.Binding('padding', '', (x) => {\n return x?.isTypeInflowOfPlantCell\n ? x?.flowOfPlantCell === ATO_ENUM_FLOW_DIRECTION.INFLOW\n ? new go.Margin(0, 0, 0, 20)\n : new go.Margin(0, 20, 0, 0)\n : null;\n })\n ),\n // this.$(go.Placeholder, { padding: 3 }),\n new go.Binding('height', '', (x) => {\n return x?.isTypeInflowOfPlantCell ? x?.height + 10 : null;\n }),\n new go.Binding('width', '', (x) => {\n return x?.isTypeInflowOfPlantCell ? x?.width + 12 : null;\n })\n ),\n this.$(\n go.Panel,\n 'Horizontal',\n { alignment: go.Spot.TopRight, alignmentFocus: go.Spot.Bottom },\n // more\n !this._initialOptions.isReadOnly\n ? this.generateActionGroup([\n AtoDefaultGojsEditor.ENUM_ACTIONS.RENAME,\n AtoDefaultGojsEditor.ENUM_ACTIONS.INSIGHT,\n AtoDefaultGojsEditor.ENUM_ACTIONS.OUTFLOW,\n AtoDefaultGojsEditor.ENUM_ACTIONS.DELETE,\n ])\n : {}\n )\n ),\n },\n new go.Binding('visible', 'visible'),\n new go.Binding('fromSpot', 'fromSpot'),\n new go.Binding('toSpot', 'toSpot'),\n new go.Binding('movable', 'movable'),\n new go.Binding('selectable', 'selectable'),\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(\n go.Point.stringify\n ),\n // new go.Binding('alignment', 'alignment', function(loc) {\n // return new go.Spot(0, 0, loc.x, 0);\n // }).ofObject(),\n\n this.$(\n go.Panel,\n 'Auto',\n {\n toolTip: this.$(\n 'ToolTip',\n this.$(\n go.TextBlock,\n {\n margin: 2,\n },\n new go.Binding('text', '', function (data) {\n if (!self._initialOptions.isReadOnly) {\n return data?.name ?? VALUE_NA;\n }\n if (data?.value === VALUE_NA || _.isNil(data?.value)) {\n return NO_DATA;\n // return TEXT_UNKNOWN;\n }\n return _.round(data?.value, 2).toFixed(2);\n }).makeTwoWay()\n )\n ),\n },\n this.$(\n go.Panel,\n 'Table',\n this.arrowForPlantCell(size, ATO_ENUM_FLOW_DIRECTION.OUTFLOW),\n this.$(\n go.Panel,\n 'Auto',\n // { width: size.w, height: size.h },\n {\n // minSize: new go.Size(size.w, size.h),\n // maxSize: new go.Size(size.w, size.h),\n desiredSize: new go.Size(size.w, size.h),\n column: 1,\n row: 2,\n },\n new go.Binding('width', 'width'),\n new go.Binding('height', 'height'),\n\n this.$(\n go.Shape,\n 'RoundedRectangle',\n {\n fill: AtoGojsEditorModel.ENUM_COLORS.LIGHT_BLUE,\n stroke: AtoGojsEditorModel.ENUM_COLORS.LINK_WATER,\n name: 'textNodeShape',\n },\n new go.Binding('fill', 'fill'),\n new go.Binding('stroke', 'stroke')\n ),\n this.$(\n go.Panel,\n 'Vertical',\n this.$(\n go.Panel,\n 'Horizontal',\n { alignment: go.Spot.Center },\n // Alert\n\n this.$(\n go.Panel,\n 'Auto',\n {\n margin: new go.Margin(0, 0, 0, 5),\n visible: false,\n },\n new go.Binding('visible', 'recommendation'),\n this.$(go.Shape, 'Circle', {\n fill: '#E95F47',\n stroke: '#E95F47',\n width: 15,\n height: 15,\n }),\n this.$(go.TextBlock, {\n text: '\\uf649',\n margin: new go.Margin(1.5, 0, 0, 0),\n font: '8px \"Font Awesome 6 Pro\"',\n stroke: '#fff',\n })\n ),\n this._initialOptions.isReadOnly\n ? this.$(\n go.Panel,\n 'Position',\n {\n width: 18,\n height: 15,\n visible: false,\n alignment: go.Spot.Center,\n margin: new go.Margin(0, 0, 0, 5),\n mouseEnter: (e, obj) => {\n self.onHoverAlert.emit({\n left: e?.['Wr']?.x + 8,\n top: e?.['Wr']?.y,\n messageAlert: (obj as any).part?.ob?.messageAlert,\n });\n },\n mouseLeave: (e, obj) => {\n self.onHoverAlert.emit(null);\n },\n },\n new go.Binding('visible', 'alert'),\n\n this.$(go.Picture, ICON_ALERT, {\n alignment: go.Spot.Center,\n maxSize: new go.Size(30, 30),\n imageStretch: go.GraphObject.Uniform,\n })\n )\n : ''\n ),\n\n this.$(\n go.Panel,\n 'Auto',\n this.$(\n go.TextBlock,\n {\n name: 'textBlockValue',\n row: 2,\n editable: false,\n desiredSize: new go.Size(size.w - 8, 18),\n font: 'bold 22px Arial',\n textAlign: 'center',\n stroke: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n overflow: go.TextBlock.OverflowEllipsis,\n },\n // new go.Binding('editable', 'isEditable'),\n new go.Binding('angle', 'angle'),\n new go.Binding('margin', '', (data) => {\n if (data?.alert) {\n return new go.Margin(0, 0, 0, 0);\n }\n return new go.Margin(0, 0, 0, 0);\n }),\n new go.Binding('stroke', 'color'),\n new go.Binding('text', '', function (data) {\n return self.getTextDataBox(data);\n }).makeTwoWay(),\n new go.Binding('visible', '', (data) => !data?.isHiddenValue)\n )\n )\n ),\n\n this.makePort('T', go.Spot.Top, go.Spot.TopSide, false, true),\n this.makePort('L', go.Spot.Left, go.Spot.LeftSide, false, true),\n this.makePort('R', go.Spot.Right, go.Spot.RightSide, true, false),\n this.makePort('B', go.Spot.Bottom, go.Spot.BottomSide, true, false)\n ),\n this.arrowForPlantCell(size, ATO_ENUM_FLOW_DIRECTION.INFLOW)\n )\n )\n );\n this.myDiagram.nodeTemplateMap.set(\n AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_NODE,\n node\n );\n }\n\n arrowForPlantCell(size, flowDirection) {\n return this.$(\n go.Panel,\n 'Table',\n {\n height: size.h,\n },\n new go.Binding('height', 'height'),\n new go.Binding(\n 'visible',\n '',\n (data) => data?.flowOfPlantCell === flowDirection\n ),\n {\n column: flowDirection === ATO_ENUM_FLOW_DIRECTION.OUTFLOW ? 0 : 2,\n row: 2,\n },\n new go.Binding('itemArray', 'dataLinkArray'),\n {\n itemTemplate: this.$(\n go.Panel,\n new go.Binding('row', 'indexRow'),\n // new go.Binding('height', 'height'),\n this.$(\n go.Picture,\n ARROW,\n {\n alignment: go.Spot.Center,\n maxSize: new go.Size(20, 40),\n // imageStretch: go.GraphObject.Uniform,\n },\n new go.Binding('source', '', (data, panel) => {\n // panel.part?.data?.id\n return data?.isCreated ? panel?.$p : ARROW_GRAY;\n })\n )\n ),\n }\n );\n }\n\n getTextDataBox(data) {\n if (data?.value === VALUE_NA) {\n return TEXT_UNKNOWN;\n }\n return `${data?.shortenedNumber}${\n data?.unitPrefixes ? ' ' + data?.unitPrefixes : ''\n }`;\n }\n\n makeDataBoxTemplate(\n size: { w: number; h: number } = {\n w: AtoGojsEditorModel.GRID_SIZE * 5,\n h: AtoGojsEditorModel.GRID_SIZE * 5,\n }\n ) {\n const self = this;\n let node = this.$(\n go.Node,\n 'Spot',\n {\n locationSpot: go.Spot.Center,\n mouseOver: function (e, obj) {},\n click: (e, obj: any) => {\n if (obj?.data?.onSelected) {\n obj?.data?.onSelected(obj?.data);\n }\n },\n selectionChanged: (e) => {\n if (!e.isSelected && e?.data?.onSelected) {\n e?.data?.onSelected(null);\n }\n },\n },\n\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(\n go.Point.stringify\n ),\n this.$(\n go.Panel,\n 'Auto',\n this.$(\n go.Panel,\n 'Table',\n {\n mouseHover: (e, obj) => {\n if ((obj as any).part?.ob?.value === VALUE_NA) {\n self.onHoverInfoButton.emit({\n left: e?.['Wr']?.x + 8,\n top: e?.['Wr']?.y,\n node: node,\n });\n }\n },\n mouseLeave: (e, obj) => {\n if ((obj as any).part?.ob?.value === VALUE_NA) {\n self.onHoverInfoButton.emit(null);\n }\n },\n },\n\n this.$(\n go.Panel,\n 'Auto',\n { row: 0, stretch: go.GraphObject.Horizontal },\n this.$(\n go.Shape,\n 'Rectangle',\n {\n fill: AtoGojsEditorModel.ENUM_COLORS.LIGHT_BLUE,\n stroke: AtoGojsEditorModel.ENUM_COLORS.RESOLUTION_BLUE,\n },\n new go.Binding('fill', 'color')\n ),\n this.$(\n go.TextBlock,\n {\n row: 0,\n margin: new go.Margin(10, 10, 5, 10),\n maxSize: new go.Size(size.w, NaN),\n stroke: 'white',\n font: 'normal 10pt Arial',\n textAlign: 'center',\n spacingBelow: 5,\n },\n new go.Binding('text', 'name').makeTwoWay()\n )\n ),\n this.$(\n go.Panel,\n 'Auto',\n { row: 1, stretch: go.GraphObject.Horizontal },\n this.$(go.Shape, 'Rectangle', {\n fill: AtoGojsEditorModel.ENUM_COLORS.LIGHT_BLUE,\n stroke: AtoGojsEditorModel.ENUM_COLORS.RESOLUTION_BLUE,\n }),\n this.$(\n go.Panel,\n 'Horizontal',\n this.$(\n go.TextBlock,\n {\n row: 2,\n // editable: true,\n // maxSize: new go.Size(size.w - 10, 40),\n // minSize: new go.Size(size.w - 10, size.h),\n margin: new go.Margin(5, 0, 5, 5),\n font: 'bold 12pt Arial',\n textAlign: 'center',\n stroke: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n },\n new go.Binding('editable', 'isEditable'),\n new go.Binding('text', 'shortenedNumber').makeTwoWay(),\n new go.Binding('stroke', 'color'),\n new go.Binding('visible', '', function (data) {\n return data.value !== VALUE_NA;\n })\n ),\n this.$(\n go.TextBlock,\n {\n row: 2,\n // editable: true,\n // maxSize: new go.Size(size.w - 10, 40),\n // minSize: new go.Size(size.w - 10, size.h),\n margin: new go.Margin(5, 5, 5, 0),\n font: 'bold 12pt Arial',\n textAlign: 'center',\n stroke: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n },\n new go.Binding('visible', '', function (data) {\n return data.value !== VALUE_NA;\n }),\n new go.Binding('text', 'unitPrefixes'),\n new go.Binding('stroke', 'color')\n ),\n // Icon Err when lack of value\n this.$(\n go.TextBlock,\n {\n margin: new go.Margin(10, 10, 10, 10),\n text: VALUE_NA, // Old version: TEXT_ERROR\n textAlign: 'center',\n font: 'bold 10pt sans-serif',\n stroke: AtoGojsEditorModel.ENUM_COLORS.SALMON,\n wrap: go.TextBlock.WrapFit,\n editable: false,\n isMultiline: false,\n },\n new go.Binding('visible', '', function (data) {\n return data.value === VALUE_NA;\n })\n )\n )\n )\n )\n ),\n this.$(go.Panel, 'Vertical', {\n alignment: go.Spot.Left,\n alignmentFocus: new go.Spot(0, 0.5, 8, 0),\n }),\n this.$(go.Panel, 'Vertical', {\n alignment: go.Spot.Right,\n alignmentFocus: new go.Spot(1, 0.5, -8, 0),\n }),\n // four named ports, one on each side:\n\n this.makePort('T', go.Spot.Top, go.Spot.TopSide, false, true),\n this.makePort('L', go.Spot.Left, go.Spot.LeftSide, true, true),\n this.makePort('R', go.Spot.Right, go.Spot.RightSide, true, true),\n this.makePort('B', go.Spot.Bottom, go.Spot.BottomSide, true, false)\n );\n this.myDiagram.nodeTemplateMap.set(\n AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n node\n );\n }\n\n showPoint(loc) {\n const docLoc = this.myDiagram.transformDocToView(loc);\n }\n\n makeEntityTemplate(\n icon,\n title,\n size: { w: number; h: number } = {\n w: AtoGojsEditorModel.GRID_SIZE * 5,\n h: AtoGojsEditorModel.GRID_SIZE * 5,\n }\n ) {\n const self = this;\n let node = this.$(\n go.Node,\n 'Spot',\n {\n locationSpot: go.Spot.Center,\n mouseOver: function (e, obj) {\n // self.showPoint(obj?.part?.location);\n },\n click: (e, obj: any) => {\n if (obj?.data?.onSelected) {\n obj?.data?.onSelected(obj?.data);\n self.onClickCompoent.emit({\n left: e?.['Wr']?.x,\n top: e?.['Wr']?.y,\n node: node,\n component: obj?.data,\n });\n }\n },\n selectionChanged: (e) => {\n if (!e.isSelected && e?.data?.onSelected) {\n e?.data?.onSelected(null);\n }\n },\n selectionAdornmentTemplate: this._initialOptions.isReadOnly\n ? null\n : this.$(\n go.Adornment,\n 'Spot',\n {\n shadowVisible: true,\n shadowBlur: 6,\n shadowOffset: new go.Point(0, 2),\n shadowColor: '#00000029',\n },\n this.$(\n go.Panel,\n 'Auto',\n this.$(go.Shape, {\n fill: null,\n stroke: 'dodgerblue',\n strokeWidth: 4,\n }),\n this.$(go.Placeholder, { padding: 3 })\n ),\n this.$(\n go.Panel,\n 'Horizontal',\n {\n alignment: go.Spot.TopRight,\n alignmentFocus: go.Spot.Bottom,\n background: 'white',\n },\n // more\n !this._initialOptions.isReadOnly\n ? this.generateActionGroup(\n [\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.RO_WATER_TREATMENT\n ].name,\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.COOLING_TOWER\n ].name,\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.BOILER\n ].name,\n ].includes(title)\n ? [\n AtoDefaultGojsEditor.ENUM_ACTIONS.RENAME,\n AtoDefaultGojsEditor.ENUM_ACTIONS.FLOW_DETAILS,\n AtoDefaultGojsEditor.ENUM_ACTIONS.ASSET_PARAMETERS,\n AtoDefaultGojsEditor.ENUM_ACTIONS.OUTFLOW,\n AtoDefaultGojsEditor.ENUM_ACTIONS.DELETE,\n ]\n : [\n AtoDefaultGojsEditor.ENUM_ACTIONS.RENAME,\n AtoDefaultGojsEditor.ENUM_ACTIONS.DETAILS,\n AtoDefaultGojsEditor.ENUM_ACTIONS.OUTFLOW,\n AtoDefaultGojsEditor.ENUM_ACTIONS.DELETE,\n ]\n )\n : {}\n )\n ),\n },\n // new go.Binding('location', 'loc', go.Point.parse),\n new go.Binding('movable', 'movable'),\n new go.Binding('selectable', 'selectable'),\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(\n go.Point.stringify\n ),\n new go.Binding('visible', 'visible'),\n this.$(\n go.Panel,\n 'Auto',\n { width: size.w, height: size.h },\n this.$(go.Shape, 'RoundedRectangle', {\n fill: 'white',\n stroke: AtoGojsEditorModel.ENUM_COLORS.LINK_WATER,\n strokeWidth: 1,\n // strokeDashArray: [5, 5],\n }),\n this.$(\n go.Panel,\n 'Table',\n this.$(go.Picture, icon, {\n row: 1,\n alignment: go.Spot.Center,\n desiredSize: new go.Size(size.w - 20, size.h - 50),\n // maxSize: new go.Size(60, 60),\n imageStretch: go.GraphObject.Uniform,\n toolTip: this.$(\n 'ToolTip',\n this.$(go.TextBlock, {\n margin: 4,\n text: title,\n })\n ),\n }),\n this.$(\n go.TextBlock,\n {\n row: 2,\n margin: new go.Margin(10, 0, 3, 0),\n editable: true,\n desiredSize: new go.Size(size.w - 20, 15),\n stroke: '#000D42',\n font: 'bold 10pt Arial',\n textAlign: 'center',\n // wrap: go.TextBlock.None,\n overflow: go.TextBlock.OverflowEllipsis,\n toolTip: this.$(\n 'ToolTip',\n this.$(\n go.TextBlock,\n { margin: 4 },\n new go.Binding('text', 'name')\n )\n ),\n },\n new go.Binding('text', 'name').makeTwoWay(),\n new go.Binding('editable', '', (data) => {\n return !(\n AtoGojsEditorModel.TYPE_COMPONENT_WATER?.includes(\n data?.systemType\n ) &&\n data?.topologyType !== ATO_ECOMPONENT_PLANT_TYPE.WATER &&\n data?.topologyType !==\n ATO_ECOMPONENT_PLANT_TYPE.WATER_PLANT_CELL\n );\n })\n )\n )\n ),\n\n this.$(go.Panel, 'Vertical', {\n alignment: go.Spot.Left,\n alignmentFocus: new go.Spot(0, 0.5, 8, 0),\n }),\n this.$(go.Panel, 'Vertical', {\n alignment: go.Spot.Right,\n alignmentFocus: new go.Spot(1, 0.5, -8, 0),\n }),\n\n this.makePort('T', go.Spot.Top, go.Spot.TopSide, false, true),\n this.makePort('L', go.Spot.Left, go.Spot.LeftSide, false, true),\n this.makePort('R', go.Spot.Right, go.Spot.RightSide, true, false),\n this.makePort('B', go.Spot.Bottom, go.Spot.BottomSide, true, false)\n );\n this.myDiagram.nodeTemplateMap.set(title, node);\n }\n\n makeEntityTemplateEnergy(\n icon,\n title,\n size: { w: number; h: number } = {\n w: AtoGojsEditorModel.GRID_SIZE * 5,\n h: AtoGojsEditorModel.GRID_SIZE * 5,\n }\n ) {\n const self = this;\n let node = this.$(\n go.Node,\n 'Spot',\n {\n locationSpot: go.Spot.Center,\n mouseOver: function (e, obj) {\n // self.showPoint(obj?.part?.location);\n },\n click: (e, obj: any) => {\n if (obj?.data?.onSelected) {\n obj?.data?.onSelected(obj?.data);\n }\n },\n selectionChanged: (e) => {\n if (!e.isSelected && e?.data?.onSelected) {\n e?.data?.onSelected(null);\n }\n },\n selectionAdornmentTemplate: this._initialOptions.isReadOnly\n ? null\n : this.$(\n go.Adornment,\n 'Spot',\n {\n shadowVisible: true,\n shadowBlur: 6,\n shadowOffset: new go.Point(0, 2),\n shadowColor: '#00000029',\n },\n this.$(\n go.Panel,\n 'Auto',\n this.$(go.Shape, {\n fill: null,\n stroke: 'dodgerblue',\n strokeWidth: 4,\n }),\n this.$(go.Placeholder, { padding: 3 })\n ),\n this.$(\n go.Panel,\n 'Horizontal',\n {\n alignment: go.Spot.TopRight,\n alignmentFocus: go.Spot.Bottom,\n background: 'white',\n },\n // more\n this.generateActionGroup([\n AtoDefaultGojsEditor.ENUM_ACTIONS.RENAME,\n AtoDefaultGojsEditor.ENUM_ACTIONS.DETAILS,\n AtoDefaultGojsEditor.ENUM_ACTIONS.OUTFLOW,\n AtoDefaultGojsEditor.ENUM_ACTIONS.DELETE,\n ])\n )\n ),\n },\n new go.Binding('visible', 'visible'),\n new go.Binding('movable', 'movable'),\n new go.Binding('selectable', 'selectable'),\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(\n go.Point.stringify\n ),\n this.$(\n go.Panel,\n 'Auto',\n { width: size.w, height: size.h },\n this.$(go.Shape, 'RoundedRectangle', {\n fill: 'white',\n stroke: AtoGojsEditorModel.ENUM_COLORS.LINK_WATER,\n // strokeDashArray: [5, 5],\n }),\n this.$(\n go.Panel,\n 'Table',\n this.$(\n go.TextBlock,\n AtoGojsEditorModel.TEMPLATE_DUPLICATE[title] ?? title,\n {\n row: 0,\n margin: new go.Margin(3, 3, 10, 3),\n maxSize: new go.Size(size.w - 20, 15),\n stroke: '#444444',\n font: 'normal 10pt Arial',\n textAlign: 'center',\n toolTip: this.$(\n 'ToolTip',\n this.$(go.TextBlock, {\n margin: 4,\n text: title,\n })\n ),\n }\n ),\n this.$(go.Picture, icon, {\n row: 1,\n alignment: go.Spot.Center,\n desiredSize: new go.Size(size.w - 20, size.h - 65),\n imageStretch: go.GraphObject.Uniform,\n }),\n this.$(\n go.TextBlock,\n {\n row: 2,\n margin: new go.Margin(10, 3, 3, 3),\n editable: true,\n maxSize: new go.Size(size.w - 20, 15),\n stroke: '#2C2C2C',\n font: 'bold 10pt Arial',\n textAlign: 'center',\n // wrap: go.TextBlock.None,\n overflow: go.TextBlock.OverflowEllipsis,\n toolTip: this.$(\n 'ToolTip',\n this.$(\n go.TextBlock,\n {\n margin: 4,\n },\n new go.Binding('text', 'name').makeTwoWay()\n )\n ),\n },\n new go.Binding('text', 'name').makeTwoWay()\n )\n )\n ),\n this.$(go.Panel, 'Vertical', {\n alignment: go.Spot.Left,\n alignmentFocus: new go.Spot(0, 0.5, 8, 0),\n }),\n this.$(go.Panel, 'Vertical', {\n alignment: go.Spot.Right,\n alignmentFocus: new go.Spot(1, 0.5, -8, 0),\n }),\n // four named ports, one on each side:\n\n this.makePort('T', go.Spot.Top, go.Spot.TopSide, false, true),\n this.makePort('L', go.Spot.Left, go.Spot.LeftSide, false, true),\n this.makePort('R', go.Spot.Right, go.Spot.RightSide, true, false),\n this.makePort('B', go.Spot.Bottom, go.Spot.BottomSide, true, false)\n );\n this.myDiagram.nodeTemplateMap.set(title, node);\n }\n\n // Plant Cell\n plantCellTemplate(\n icon,\n title,\n size: { w: number; h: number } = {\n w: 260,\n h: AtoGojsEditorModel.PLANT_CELL_HEIGHT,\n }\n ) {\n const self = this;\n let node = this.$(\n go.Group,\n 'Spot',\n {\n locationSpot: go.Spot.Center,\n mouseOver: function (e, obj) {\n // self.showPoint(obj?.part?.location);\n },\n\n mouseEnter: (e, obj) => {\n // self.onHoverAlert.emit({\n // left: e?.['Wr']?.x + 8,\n // top: e?.['Wr']?.y,\n // messageAlert: (obj as any).part?.ob?.messageAlert,\n // });\n const node = obj.part;\n self.onHoverInfoButton.emit({\n left: e?.['Wr']?.x + 8,\n top: e?.['Wr']?.y,\n node: node,\n });\n\n let shape = (node as any)?.findObject('SHAPE_KEY'); // Thay 'SHAPE_KEY' bằng khóa bạn đặt cho hình Shape\n // debugger;\n if (shape) {\n shape.stroke = 'blue'; // Thay đổi màu stroke thành blue\n }\n },\n mouseLeave: (e, obj) => {\n self.onHoverInfoButton.emit(null);\n // self.onHoverAlert.emit(null);\n },\n\n click: (e, obj: any) => {\n if (obj?.data?.onSelected) {\n obj?.data?.onSelected(obj?.data);\n self.onClickCompoent.emit({\n left: e?.['Wr']?.x,\n top: e?.['Wr']?.y,\n node: node,\n component: obj?.data,\n });\n }\n },\n\n doubleClick: (e, obj: any) => {\n if (!this._initialOptions?.isReadOnly) {\n const node = obj.part;\n this.isShowNodeInfo\n ? self.onDoubleClickNode.emit({\n left: e?.['Wr']?.x,\n top: e?.['Wr']?.y,\n node: node,\n })\n : null;\n }\n },\n\n // Todo\n\n selectionChanged: (e) => {\n if (!e.isSelected && e?.data?.onSelected) {\n e?.data?.onSelected(null);\n }\n },\n\n selectionAdornmentTemplate: this._initialOptions.isReadOnly\n ? null\n : this.$(\n go.Adornment,\n 'Spot',\n {\n shadowVisible: true,\n shadowBlur: 6,\n shadowOffset: new go.Point(0, 2),\n shadowColor: '#00000029',\n },\n this.$(\n go.Panel,\n 'Auto',\n { width: 170 },\n this.$(go.Shape, {\n fill: null,\n stroke: 'dodgerblue',\n strokeWidth: 4,\n }),\n this.$(go.Placeholder, { padding: 3 })\n ),\n this.$(\n go.Panel,\n 'Horizontal',\n { alignment: go.Spot.TopRight, alignmentFocus: go.Spot.Bottom },\n // more\n this.generateActionGroup([\n AtoDefaultGojsEditor.ENUM_ACTIONS.RENAME,\n AtoDefaultGojsEditor.ENUM_ACTIONS.CHANGE_ICON,\n AtoDefaultGojsEditor.ENUM_ACTIONS.ONLY_DETAILS,\n // DefaultGojsEditor.ENUM_ACTIONS.OUTFLOW,\n AtoDefaultGojsEditor.ENUM_ACTIONS.DELETE,\n ])\n // new go.Binding('visible', 'isNotAction', (x) => !x),\n )\n\n // this.$(\n // go.Panel,\n // 'Horizontal',\n // { alignment: go.Spot.TopRight, alignmentFocus: go.Spot.Bottom },\n // this.generateActionGroup([DefaultGojsEditor.ENUM_ACTIONS.ONLY_DETAILS]),\n // new go.Binding('visible', '', (x) => {\n // return x?.isOnlyDetails && !x?.isNotAction ? true : false;\n // }),\n // ),\n ),\n },\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(\n go.Point.stringify\n ),\n this.$(\n go.Panel,\n 'Auto',\n { width: size.w, height: size.h },\n // this.$(go.Shape, 'RoundedRectangle', {\n // fill: 'white',\n // stroke: AtoGojsEditorModel.ENUM_COLORS.LINK_WATER,\n // // strokeDashArray: [5, 5],\n // }),\n // this.$(go.Placeholder, { padding: new go.Margin(0, 0, 0, 0), visible: false }),\n this.$(\n go.Panel,\n 'Auto',\n {\n alignmentFocus: go.Spot.Center,\n margin: new go.Margin(0, 50, 0, 50),\n },\n this.$(go.Shape, 'RoundedRectangle', {\n fill: 'white',\n stroke: AtoGojsEditorModel.ENUM_COLORS.LINK_WATER,\n strokeDashArray: [5, 5],\n }),\n this.$(\n go.Panel,\n 'Table',\n this.$(go.TextBlock, title, {\n row: 0,\n margin: new go.Margin(3, 0, 10, 0),\n desiredSize: new go.Size(size.w - 20, 15),\n stroke: '#444444',\n font: 'normal 10pt Arial',\n textAlign: 'center',\n toolTip: this.$(\n 'ToolTip',\n this.$(go.TextBlock, {\n margin: 4,\n text: title,\n })\n ),\n }),\n this.$(\n go.Picture,\n icon,\n {\n row: 1,\n alignment: go.Spot.Center,\n desiredSize: new go.Size(size.w - 20, size.h - 65),\n imageStretch: go.GraphObject.Uniform,\n },\n new go.Binding(\n 'source',\n 'pathImage',\n (x) =>\n x ??\n AtoGojsEditorModel.NODE_TEMPLATES[\n AtoGojsEditorModel.ENUM_TEMPLATES.PLANT_CELL\n ].icon\n )\n ),\n this.$(\n go.TextBlock,\n {\n row: 2,\n margin: new go.Margin(10, 0, 3, 0),\n editable: true,\n desiredSize: new go.Size(size.w - 20, 15),\n stroke: '#2C2C2C',\n font: 'bold 10pt Arial',\n textAlign: 'center',\n // wrap: go.TextBlock.None,\n overflow: go.TextBlock.OverflowEllipsis,\n toolTip: this.$(\n 'ToolTip',\n this.$(\n go.TextBlock,\n {\n margin: 4,\n },\n new go.Binding('text', 'name').makeTwoWay()\n )\n ),\n },\n new go.Binding('text', 'name').makeTwoWay()\n )\n )\n )\n ),\n\n this.$(go.Panel, 'Vertical', {\n alignment: go.Spot.Left,\n alignmentFocus: new go.Spot(0, 0.5, 8, 0),\n }),\n this.$(go.Panel, 'Vertical', {\n alignment: go.Spot.Right,\n alignmentFocus: new go.Spot(1, 0.5, -8, 0),\n })\n\n // this.makePort('T', go.Spot.Top, go.Spot.TopSide, false, true),\n // this.makePort('L', go.Spot.Left, go.Spot.LeftSide, false, true),\n // this.makePort('R', go.Spot.Right, go.Spot.RightSide, true, false),\n // this.makePort('B', go.Spot.Bottom, go.Spot.BottomSide, true, false),\n );\n this.myDiagram.nodeTemplateMap.set(title, node);\n }\n\n makeEntityWithdrawOrDischarge(\n icon,\n title,\n size: { w: number; h: number } = {\n w: AtoGojsEditorModel.GRID_SIZE * 5,\n h: AtoGojsEditorModel.GRID_SIZE * 5,\n }\n ) {\n const self = this;\n let node = this.$(\n go.Node,\n 'Spot',\n {\n locationSpot: go.Spot.Center,\n mouseOver: function (e, obj) {\n // self.showPoint(obj?.part?.location);\n },\n click: (e, obj: any) => {\n if (obj?.data?.onSelected) {\n obj?.data?.onSelected(obj?.data);\n }\n },\n selectionChanged: (e) => {\n if (!e.isSelected && e?.data?.onSelected) {\n e?.data?.onSelected(null);\n }\n },\n selectionAdornmentTemplate: this._initialOptions.isReadOnly\n ? null\n : this.$(\n go.Adornment,\n 'Spot',\n this.$(\n go.Panel,\n 'Auto',\n this.$(go.Shape, {\n fill: null,\n stroke: 'dodgerblue',\n strokeWidth: 4,\n }),\n this.$(go.Placeholder, { padding: 3 })\n ),\n this.$(\n go.Panel,\n 'Horizontal',\n { alignment: go.Spot.TopRight, alignmentFocus: go.Spot.Bottom },\n this.generateActionGroup([\n AtoDefaultGojsEditor.ENUM_ACTIONS.RENAME,\n AtoDefaultGojsEditor.ENUM_ACTIONS.DETAILS,\n AtoDefaultGojsEditor.ENUM_ACTIONS.OUTFLOW,\n AtoDefaultGojsEditor.ENUM_ACTIONS.DELETE,\n ])\n )\n ),\n },\n new go.Binding('visible', 'visible'),\n new go.Binding('movable', 'movable'),\n new go.Binding('selectable', 'selectable'),\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(\n go.Point.stringify\n ),\n\n this.$(\n go.Panel,\n 'Auto',\n { width: size.w, height: size.h },\n this.$(go.Shape, 'RoundedRectangle', {\n fill: 'white',\n stroke: AtoGojsEditorModel.ENUM_COLORS.LINK_WATER,\n // strokeDashArray: [5, 5],\n }),\n this.$(\n go.Panel,\n 'Table',\n // this.$(go.TextBlock, title, {\n // row: 0,\n // margin: new go.Margin(3, 3, 10, 3),\n // maxSize: new go.Size(size.w - 20, NaN),\n // stroke: '#444444',\n // font: 'normal 10pt Arial',\n // textAlign: 'center',\n // }),\n this.$(go.Picture, icon, {\n row: 1,\n alignment: go.Spot.Center,\n desiredSize: new go.Size(size.w - 20, size.h - 50),\n imageStretch: go.GraphObject.Uniform,\n }),\n this.$(\n go.TextBlock,\n {\n row: 2,\n margin: new go.Margin(10, 0, 3, 0),\n editable: true,\n desiredSize: new go.Size(size.w - 20, 15),\n stroke: '#000D42',\n font: 'bold 10pt Arial',\n textAlign: 'center',\n // wrap: go.TextBlock.None,\n overflow: go.TextBlock.OverflowEllipsis,\n toolTip: this.$(\n 'ToolTip',\n this.$(\n go.TextBlock,\n {\n margin: 4,\n },\n new go.Binding('text', 'name').makeTwoWay()\n )\n ),\n },\n new go.Binding('text', 'name').makeTwoWay()\n // {\n // // define a tooltip for each node that displays the color as text\n // toolTip: this.$(\n // 'ToolTip',\n // this.$(go.TextBlock, { margin: 4 }, new go.Binding('text', 'name')),\n // ), // end of Adornment\n // },\n )\n )\n ),\n this.$(go.Panel, 'Vertical', {\n alignment: go.Spot.Left,\n alignmentFocus: new go.Spot(0, 0.5, 8, 0),\n }),\n this.$(go.Panel, 'Vertical', {\n alignment: go.Spot.Right,\n alignmentFocus: new go.Spot(1, 0.5, -8, 0),\n }),\n // four named ports, one on each side:\n\n this.makePort('T', go.Spot.Top, go.Spot.TopSide, false, true),\n this.makePort('L', go.Spot.Left, go.Spot.LeftSide, false, true),\n this.makePort('R', go.Spot.Right, go.Spot.RightSide, true, false),\n this.makePort('B', go.Spot.Bottom, go.Spot.BottomSide, true, false)\n );\n this.myDiagram.nodeTemplateMap.set(title, node);\n }\n\n editTextGroupZone(e, button) {\n const nodeGroup = button.part.adornedPart;\n const diagram = nodeGroup.diagram;\n e.diagram.commandHandler.editTextBlock(nodeGroup.findObject('TEXTBLOCK'));\n }\n\n editText(e, button) {\n const node = button.part.adornedPart;\n e.diagram.commandHandler.editTextBlock(node.findObject('TEXTBLOCK'));\n }\n\n async dragNewNode(e, button) {\n const tool = e.diagram.toolManager.draggingTool;\n\n if (tool.isBeyondDragSize()) {\n const data = button._dragData;\n if (!data) return;\n e.diagram.startTransaction('button drag'); // see doDeactivate, below\n\n const fromnode = button.part.adornedPart;\n const diagram = fromnode.diagram;\n const model = diagram.model;\n const nodedata = {\n ...model.copyNodeData(data),\n key: UtilsService.generateUUID(),\n };\n model.addNodeData(nodedata);\n const newnode = diagram.findNodeForData(nodedata);\n const linkdata = model.copyLinkData({});\n model.setFromKeyForLinkData(\n linkdata,\n model.getKeyForNodeData(fromnode.data)\n );\n model.setToKeyForLinkData(\n linkdata,\n model.getKeyForNodeData(newnode.data)\n );\n model.addLinkData(linkdata);\n diagram.select(newnode);\n // this.createNodeAndLink(data, button.part.adornedPart);\n\n newnode.location = e.diagram.lastInput.documentPoint;\n // don't commitTransaction here, but in tool.doDeactivate, after drag operation finished\n // set tool.currentPart to a selected movable Part and then activate the DraggingTool\n tool.currentPart = newnode;\n e.diagram.currentTool = tool;\n tool.doActivate();\n }\n }\n\n addItemOnGroupZone(e, button) {\n const data = button._dragData;\n if (!data) return;\n e.diagram.startTransaction('Add Item On Group Zone');\n const fromnode = button.part.adornedPart;\n const dragData = button._dragData;\n const diagram = fromnode.diagram;\n const model = diagram.model;\n const nodedata = model.copyNodeData(dragData);\n model.addNodeData({\n ...nodedata,\n type: 'SubSystem',\n name: '[Title...]',\n nameItem: '[Name...]',\n group: fromnode?.ob?.key,\n });\n e.diagram.commitTransaction('Add Item On Group Zone');\n // const newnode = diagram.findNodeForData(nodedata);\n // const linkdata = model.copyLinkData({});\n // model.setFromKeyForLinkData(linkdata, model.getKeyForNodeData(fromnode.data));\n // model.setToKeyForLinkData(linkdata, model.getKeyForNodeData(newnode.data));\n // model.addLinkData(linkdata);\n // diagram.select(newnode);\n\n // newnode.location = new go.Point(fromnode.location.x + 200, fromnode.location.y);\n // e.diagram.commitTransaction('Create Node and Link');\n }\n\n generateActionGroup(actions: AtoDefaultGojsEditor.ENUM_ACTIONS[]) {\n const self = this;\n return this.$(\n 'Button',\n {\n click: function (e, obj) {\n self.openActionMenu();\n const filteredActions = _.filter(\n obj.part?.['ob']?.actions ?? actions,\n (action) => {\n // Filter Insight button\n if (action === AtoDefaultGojsEditor.ENUM_ACTIONS.INSIGHT) {\n return !!obj.part?.['ob']?.id;\n }\n if (\n action === AtoDefaultGojsEditor.ENUM_ACTIONS.RENAME &&\n obj.part?.['ob']?.type !==\n AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_NODE &&\n AtoGojsEditorModel.TYPE_COMPONENT_WATER?.includes(\n obj.part?.['ob']?.systemType\n ) &&\n obj.part?.['ob']?.topologyType !==\n ATO_ECOMPONENT_PLANT_TYPE.WATER &&\n obj.part?.['ob']?.topologyType !==\n ATO_ECOMPONENT_PLANT_TYPE.WATER_PLANT_CELL\n ) {\n return false;\n }\n if (\n action === AtoDefaultGojsEditor.ENUM_ACTIONS.OUTFLOW &&\n self.plantSatus === ATO_EPlantType.BASIC_PLANT &&\n obj.part?.data?.type ===\n AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_NODE\n ) {\n return false;\n }\n return true;\n }\n ).map((e) => {\n if (\n ATO_ECOMPONENT_PLANT_TYPE.STEAM ===\n obj.part?.['ob']?.topologyType &&\n e === AtoDefaultGojsEditor.ENUM_ACTIONS.INSIGHT\n ) {\n return AtoDefaultGojsEditor.ENUM_ACTIONS.DATA_MAPPING;\n }\n if (\n e === AtoDefaultGojsEditor.ENUM_ACTIONS.FLOW_DETAILS &&\n obj?.part?.['ob']?.systemType ===\n AtoGojsEditorModel.ENUM_TYPES.COOLING_TOWER\n ) {\n return AtoDefaultGojsEditor.ENUM_ACTIONS.FLOW_DETAILS_AND_WIZARD;\n }\n return e;\n });\n self.actions = filteredActions.map((action) => {\n let onClickFn = () => {};\n switch (action) {\n case AtoDefaultGojsEditor.ENUM_ACTIONS.INSIGHT:\n case AtoDefaultGojsEditor.ENUM_ACTIONS.DATA_MAPPING:\n onClickFn = () => {\n self.onOpenInsightMapping.emit({\n node: obj.part,\n });\n };\n break;\n case AtoDefaultGojsEditor.ENUM_ACTIONS.DETAILS:\n case AtoDefaultGojsEditor.ENUM_ACTIONS.FLOW_DETAILS:\n case AtoDefaultGojsEditor.ENUM_ACTIONS.FLOW_DETAILS_AND_WIZARD:\n onClickFn = () => {\n self.onOpenDetail.emit({\n node: obj.part,\n });\n };\n break;\n case AtoDefaultGojsEditor.ENUM_ACTIONS.ONLY_DETAILS:\n onClickFn = () => {\n self.onOpenDetail.emit({\n node: obj.part,\n });\n };\n break;\n case AtoDefaultGojsEditor.ENUM_ACTIONS.ASSET_PARAMETERS:\n onClickFn = () => {\n self.onOpenAssetParameter.emit({\n node: obj.part,\n });\n };\n break;\n case AtoDefaultGojsEditor.ENUM_ACTIONS.RENAME:\n onClickFn = () => {\n if (\n obj.part?.data?.type ===\n AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_NODE\n ) {\n self.onRename.emit({\n left: e?.['Wr']?.x - 50,\n top: e?.['Wr']?.y,\n ...obj.part?.data,\n });\n // LayoutService.setToolTipComponentDataStatic({\n // component: RenameBoxComponent,\n // data: {\n // left: e?.['Wr']?.x - 50,\n // top: e?.['Wr']?.y,\n // ...obj.part?.data,\n // },\n // });\n } else {\n self.editText(e, obj);\n }\n };\n break;\n case AtoDefaultGojsEditor.ENUM_ACTIONS.OUTFLOW:\n onClickFn = () => {\n self.clickNewNode(\n e,\n _.merge(obj, {\n actionMove: self.dragNewNode, // defined below, to support dragging from the button\n _dragData: {\n ...{\n type: AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_NODE,\n name: `${\n AtoGojsEditorModel.ACTION_RIGHT_MENU_GROUP.DATA_BOX\n }_${moment().valueOf()}`,\n color: AtoGojsEditorModel.ENUM_COLORS.BLUE,\n },\n ...self.setProFOrNewNode(self),\n },\n })\n );\n };\n break;\n case AtoDefaultGojsEditor.ENUM_ACTIONS.DELETE:\n onClickFn = () => {\n self.deleteNode(e);\n };\n break;\n case AtoDefaultGojsEditor.ENUM_ACTIONS.CHANGE_ICON:\n onClickFn = () => {\n self.onOpenChangeIcon.emit({\n node: obj.part,\n });\n };\n break;\n }\n return {\n ...AtoDefaultGojsEditor.ACTIONS[action],\n onClick: () => {\n onClickFn();\n },\n };\n });\n },\n 'ButtonBorder.strokeWidth': 0,\n 'ButtonBorder.fill': 'white',\n },\n // new go.Binding('visible', 'isNotDragNewNode', (x) => !x),\n // new go.Binding('visible', 'isNotDelete', (x) => !x),\n new go.Binding('visible', 'isNotAction', (x) => !x),\n this.$(go.TextBlock, {\n margin: 4,\n text: '\\ue489',\n font: '20px \"Font Awesome 6 Pro\"',\n cursor: 'pointer',\n })\n );\n }\n\n async setProFOrNewNode(self) {\n if (self.plantSatus === ATO_EPlantType.BASIC_PLANT) {\n return {\n movable: false,\n isNotAllowConnect: true,\n };\n }\n return {};\n }\n\n async clickNewNode(e, button) {\n const data = button._dragData;\n if (!data) return;\n e.diagram.startTransaction('Create Node and Link');\n const fromnode = button.part.adornedPart;\n\n // this.createNodeAndLink(button._dragData, fromnode);\n const dragData = button._dragData;\n const diagram = fromnode.diagram;\n const model = diagram.model;\n const nodedata = {\n ...model.copyNodeData(dragData),\n key: UtilsService.generateUUID(),\n };\n model.addNodeData({\n ...nodedata,\n isEditable: true,\n shortenedNumber: 0,\n isFormat: false,\n dataCollectionMethod: AtoGojsEditorModel.DATA_COLLECTION_METHOD.MANUAL,\n color:\n AtoGojsEditorModel.COLOR_COLLECTION_METHOD[\n AtoGojsEditorModel.DATA_COLLECTION_METHOD.MANUAL\n ].color,\n group: fromnode?.ob?.group,\n value: 0,\n });\n const newnode = diagram.findNodeForData(nodedata);\n\n const linkdata = model.copyLinkData({});\n model.setFromKeyForLinkData(\n linkdata,\n model.getKeyForNodeData(fromnode.data)\n );\n model.setToKeyForLinkData(linkdata, model.getKeyForNodeData(newnode.data));\n model.addLinkData(linkdata);\n diagram.select(newnode);\n if (nodedata?.movable !== undefined && nodedata?.movable !== null) {\n newnode.movable = nodedata?.movable;\n }\n\n newnode.location = new go.Point(\n fromnode.location.x + 160,\n fromnode.location.y +\n this.findLocYFromnode(fromnode) * AtoDefaultGojsEditor.DISTANCE_2_OUTPUT\n );\n e.diagram.commitTransaction('Create Node and Link');\n }\n\n findLocYFromnode(fromnode) {\n // Find location auto right\n const locYFromnode = fromnode.data?.loc?.split(' ')?.[1];\n const locYAlreadyExist: any = [];\n fromnode.findLinksOutOf().each(function (link) {\n const targetNode = link.toNode;\n if (targetNode) {\n locYAlreadyExist.push(\n targetNode.data?.loc?.split(' ')?.[1] - locYFromnode\n );\n }\n });\n\n let i = 0;\n while (this.isEmptyYLoc(locYAlreadyExist, i) === null && i < 100) {\n i++;\n }\n return this.isEmptyYLoc(locYAlreadyExist, i);\n }\n\n isEmptyYLoc(locYAlreadyExist, i) {\n if (\n !_.some(\n locYAlreadyExist,\n (x) =>\n x <\n i * AtoDefaultGojsEditor.DISTANCE_2_OUTPUT +\n AtoDefaultGojsEditor.DISTANCE_2_OUTPUT / 2 &&\n x >\n i * AtoDefaultGojsEditor.DISTANCE_2_OUTPUT -\n AtoDefaultGojsEditor.DISTANCE_2_OUTPUT / 2\n )\n ) {\n return i;\n }\n if (\n !_.some(\n locYAlreadyExist,\n (x) =>\n x <\n -i * AtoDefaultGojsEditor.DISTANCE_2_OUTPUT +\n AtoDefaultGojsEditor.DISTANCE_2_OUTPUT / 2 &&\n x >\n -i * AtoDefaultGojsEditor.DISTANCE_2_OUTPUT -\n AtoDefaultGojsEditor.DISTANCE_2_OUTPUT / 2\n )\n ) {\n return -i;\n }\n return null;\n }\n\n createNewNode(newnode) {\n this.addTemplate(newnode);\n this.myDiagram.startTransaction('add group node');\n this.myDiagram.model.addNodeData(newnode);\n this.myDiagram.commitTransaction('add group node');\n }\n\n deleteNode(e) {\n e.diagram.startTransaction('Delete group node');\n e.diagram.removeParts(e.diagram.selection);\n e.diagram.commitTransaction('Delete group node');\n }\n\n deleteNodeOnDiagram(e) {\n e.startTransaction('Delete group node');\n e.removeParts(e.selection);\n e.commitTransaction('Delete group node');\n }\n\n insightNode(e) {}\n\n drawLink(e, button) {\n const node = button.part.adornedPart;\n const tool = e.diagram.toolManager.linkingTool;\n tool.startObject = node.port;\n e.diagram.currentTool = tool;\n tool.doActivate();\n }\n\n makePortGroup(name, align, spot, output, input) {\n const horizontal =\n align.equals(go.Spot.Top) || align.equals(go.Spot.Bottom);\n return this.$(\n go.Panel,\n 'Table',\n {\n background: '#919CA5',\n width: 40,\n height: 40,\n alignment: align,\n stretch: horizontal\n ? go.GraphObject.Horizontal\n : go.GraphObject.Vertical,\n portId: name,\n fromSpot: spot,\n fromLinkable: output,\n toSpot: spot,\n toLinkable: input,\n cursor: this._initialOptions.isReadOnly ? '' : 'pointer',\n alignmentFocus: go.Spot.Center, // tập trung vào trung tâm của Panel\n // mouseEnter: this._initialOptions.isReadOnly\n // ? null\n // : (e, panel) => {\n // const textBlock = (panel as any)?.findObject('textBlock') as go.TextBlock | null;\n // if (textBlock) {\n // // && output\n // textBlock.visible = true;\n // switch (name) {\n // case 'B':\n // case 'R': {\n // panel.background = 'rgb(243 144 171)';\n // break;\n // }\n // case 'T':\n // case 'L': {\n // panel.background = 'rgb(103,151,207)';\n // break;\n // }\n // default: {\n // panel.background = 'rgb(243 144 171)';\n // }\n // }\n // }\n // },\n\n // mouseLeave: this._initialOptions.isReadOnly\n // ? null\n // : (e, panel) => {\n // const textBlock = (panel as any).findObject('textBlock') as go.TextBlock | null;\n // if (textBlock) {\n // textBlock.visible = false; // Ẩn TextBlock khi rời khỏi Panel\n // }\n // panel.background = 'transparent';\n // },\n },\n\n this.$(go.Shape, 'Ellipse', {\n fill: 'white', // Background color of the circle\n strokeWidth: 2,\n stroke: '#919CA5', // Border color of the circle\n width: 40, // Match the panel's width\n height: 40, // Match the panel's height\n })\n\n // this.$(\n // go.TextBlock,\n // {\n // name: 'textBlock',\n // margin: 4,\n // text: '\\uf0da', // Mã Unicode tương ứng với fa-caret-left\n // font: '900 12px \"Font Awesome 6 Pro\"',\n // stroke: 'white', // Đặt màu chữ thành màu trắng\n // cursor: 'pointer',\n // visible: false,\n // },\n // new go.Binding('text', 'name', (_) => {\n // switch (name) {\n // case 'T':\n // case 'B': {\n // return '\\uf0d7';\n // }\n // case 'L':\n // case 'R': {\n // return '\\uf0da';\n // }\n // default: {\n // return '\\uf0d7';\n // }\n // }\n // }),\n // ),\n );\n }\n\n makePort(name, align, spot, output, input) {\n // if (this._initialOptions.isReadOnly) {\n // return {};\n // }\n const horizontal =\n align.equals(go.Spot.Top) || align.equals(go.Spot.Bottom);\n // const vertical = align.equals(go.Spot.Left) || align.equals(go.Spot.Right);\n // the port is basically just a transparent rectangle that stretches along the side of the node,\n // and becomes colored when the mouse passes over it\n return this.$(\n go.Panel,\n 'Table',\n {\n background: 'transparent',\n width: horizontal ? NaN : 8,\n height: !horizontal ? NaN : 8,\n alignment: align,\n stretch: horizontal\n ? go.GraphObject.Horizontal\n : go.GraphObject.Vertical,\n portId: name,\n fromSpot: spot,\n fromLinkable: output,\n toSpot: spot,\n toLinkable: input,\n cursor: this._initialOptions.isReadOnly ? '' : 'pointer',\n alignmentFocus: go.Spot.Center, // tập trung vào trung tâm của Panel\n mouseEnter: this._initialOptions.isReadOnly\n ? null\n : (e, panel) => {\n const textBlock = (panel as any)?.findObject(\n 'textBlock'\n ) as go.TextBlock | null;\n if (textBlock) {\n // && output\n textBlock.visible = true;\n switch (name) {\n case 'B':\n case 'R': {\n panel.background = 'rgb(243 144 171)';\n break;\n }\n case 'T':\n case 'L': {\n panel.background = 'rgb(103,151,207)';\n break;\n }\n default: {\n panel.background = 'rgb(243 144 171)';\n }\n }\n }\n },\n\n mouseLeave: this._initialOptions.isReadOnly\n ? null\n : (e, panel) => {\n const textBlock = (panel as any).findObject(\n 'textBlock'\n ) as go.TextBlock | null;\n if (textBlock) {\n textBlock.visible = false; // Ẩn TextBlock khi rời khỏi Panel\n }\n panel.background = 'transparent';\n },\n },\n\n new go.Binding('visible', '', function (data) {\n if (data?.isNotAllowConnect) {\n return false;\n }\n if (data?.selectable === false && !data?.isAllowConnect) {\n return false;\n }\n if (data?.flowOfPlantCell) {\n if (\n data?.flowOfPlantCell === ATO_ENUM_FLOW_DIRECTION.INFLOW &&\n name === 'L'\n ) {\n return true;\n }\n if (\n data?.flowOfPlantCell === ATO_ENUM_FLOW_DIRECTION.OUTFLOW &&\n name === 'R'\n ) {\n return true;\n }\n return false;\n }\n switch (name) {\n case 'B':\n case 'R': {\n return !data?.isNotSelectOutput;\n }\n case 'T':\n case 'L': {\n return !data?.isNotSelectInput;\n }\n default: {\n return true;\n }\n }\n }),\n\n this.$(\n go.TextBlock,\n {\n name: 'textBlock',\n margin: 4,\n text: '\\uf0da', // Mã Unicode tương ứng với fa-caret-left\n font: '900 12px \"Font Awesome 6 Pro\"',\n stroke: 'white', // Đặt màu chữ thành màu trắng\n cursor: 'pointer',\n visible: false,\n },\n new go.Binding('text', 'name', (_) => {\n switch (name) {\n case 'T':\n case 'B': {\n return '\\uf0d7';\n }\n case 'L':\n case 'R': {\n return '\\uf0da';\n }\n default: {\n return '\\uf0d7';\n }\n }\n })\n )\n );\n\n // return this.$(go.Shape, {\n // fill: 'transparent', // changed to a color in the mouseEnter event handler\n // strokeWidth: 0, // no stroke\n // width: horizontal ? NaN : 8, // if not stretching horizontally, just 8 wide\n // height: !horizontal ? NaN : 8, // if not stretching vertically, just 8 tall\n // alignment: align, // align the port on the main Shape\n // stretch: horizontal ? go.GraphObject.Horizontal : go.GraphObject.Vertical,\n // portId: name, // declare this object to be a \"port\"\n // fromSpot: spot, // declare where links may connect at this port\n // fromLinkable: output, // declare whether the user may draw links from here\n // toSpot: spot, // declare where links may connect at this port\n // toLinkable: input, // declare whether the user may draw links to here\n // cursor: 'pointer', // show a different cursor to indicate potential link point\n // mouseEnter: (e, port) => {\n // // the PORT argument will be this Shape\n // if (!e.diagram.isReadOnly && output) {\n // port.fill = 'rgba(255,0,255,0.5)'\n // };\n // },\n // mouseLeave: (e, port) => {\n // return (port.fill = 'transparent');\n // },\n // });\n }\n\n makeGroupBasicComponent(\n icon,\n title,\n size: { w: number; h: number } = { w: 80, h: 80 }\n ) {\n let node = this.$(\n go.Group,\n 'Spot',\n {\n // layout: this.$(go.LayeredDigraphLayout, { direction: 0 }),\n alignment: go.Spot.Center,\n layout: this.$(go.Layout),\n movable: false,\n selectable: false,\n // movable: true,\n // selectable: true,\n dragComputation: (node, pt, gridpt) => {\n pt.x =\n Math.round(pt.x / AtoGojsEditorModel.BASIC_GRID_SIZE_WIDTH) *\n AtoGojsEditorModel.BASIC_GRID_SIZE_WIDTH;\n pt.y =\n Math.round(pt.y / AtoGojsEditorModel.BASIC_GRID_SIZE_HEIGHT) *\n AtoGojsEditorModel.BASIC_GRID_SIZE_HEIGHT;\n return pt;\n },\n },\n {\n // minSize: new go.Size(AtoGojsEditorModel.BASIC_GRID_SIZE_WIDTH, AtoGojsEditorModel.BASIC_GRID_SIZE_HEIGHT),\n minSize: new go.Size(1, 1),\n maxSize: new go.Size(1, 1),\n // minSize: new go.Size(100, 100),\n },\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(\n go.Point.stringify\n ),\n this.$(\n go.Panel,\n 'Auto',\n this.$(go.Shape, 'RoundedRectangle', {\n fill: 'transparent',\n stroke: 'transparent',\n // stroke: AtoGojsEditorModel.ENUM_COLORS.RESOLUTION_BLUE,\n strokeWidth: 2,\n // strokeDashArray: [5, 5],\n })\n // this.$(go.Placeholder),\n // this.$(go.Placeholder, { padding: new go.Margin(0, 0, 0, 0) }),\n )\n // this.$(go.TextBlock, title, {\n // row: 0,\n // margin: new go.Margin(0, 0, 0, 0),\n // stroke: '#444444',\n // font: 'normal 10pt Arial',\n // textAlign: 'center',\n // alignment: go.Spot.Left,\n // },\n // new go.Binding('text', 'key').makeTwoWay(),),\n\n // this.$(\n // go.Panel,\n // 'Table',\n // {\n // alignment: go.Spot.TopLeft,\n // alignmentFocus: new go.Spot(0, 0, -10, -10),\n // // padding: new go.Margin(0, 0, 50, 0),\n // },\n // this.$(\n // go.Panel,\n // 'Horizontal',\n // {\n // row: 0,\n // alignment: go.Spot.Left,\n // },\n // this.$(go.Picture, icon, {\n // row: 0,\n // // alignment: go.Spot.Center,\n // alignment: go.Spot.Left,\n // maxSize: new go.Size(40, 40),\n // imageStretch: go.GraphObject.Uniform,\n // }),\n // this.$(\n // go.Panel,\n // 'Table',\n // {\n // column: 1,\n // defaultAlignment: go.Spot.Left,\n // alignmentFocus: new go.Spot(0, 0, 0, 20),\n // },\n // this.$(go.TextBlock, title, {\n // row: 0,\n // margin: new go.Margin(3, 3, 5, 10),\n // // maxSize: new go.Size(size.w - 20, NaN),\n // stroke: '#444444',\n // font: 'normal 10pt Arial',\n // textAlign: 'center',\n // alignment: go.Spot.Left,\n // }),\n // this.$(\n // go.TextBlock,\n // {\n // row: 1,\n // margin: new go.Margin(0, 3, 3, 10),\n // editable: true,\n // // maxSize: new go.Size(size.w - 20, 40),\n // stroke: '#000D42',\n // font: 'bold 10pt Arial',\n // textAlign: 'center',\n // wrap: go.TextBlock.None,\n // overflow: go.TextBlock.OverflowEllipsis,\n // },\n // new go.Binding('text', 'name').makeTwoWay(),\n // {\n // // define a tooltip for each node that displays the color as text\n // toolTip: this.$(\n // 'ToolTip',\n // this.$(go.TextBlock, { margin: 4 }, new go.Binding('text', 'name')),\n // ), // end of Adornment\n // },\n // ),\n // ),\n // ),\n // ),\n );\n this.myDiagram.groupTemplateMap.set(title, node);\n }\n\n makeGroupTemplate(\n icon,\n title,\n size: { w: number; h: number } = { w: 80, h: 80 }\n ) {\n let node = this.$(\n go.Group,\n 'Spot',\n {\n // // layout: this.$(go.ForceDirectedLayout , {\n // // direction: 0,\n // // setsPortSpots: false,\n // // }),\n\n // layout: this.$(go.LayeredDigraphLayout, {\n // direction: 0,\n // setsPortSpots: false,\n // }),\n\n layout: this.$(go.Layout),\n\n // // // adornment when a group is selected\n // // // selectionAdornmentTemplate: this.$(\n // // // go.Adornment,\n // // // 'Auto',\n // // // this.$(go.Shape, 'Rectangle', { fill: null, stroke: 'dodgerblue', strokeWidth: 8 }),\n // // // this.$(go.Placeholder),\n // // // ),\n },\n\n // new go.Binding('layout', 'layout', (x) =>\n // {\n // return this.$(go.ForceDirectedLayout , {\n // direction: 0,\n // setsPortSpots: false,\n // });\n // }\n // ),\n {\n minSize: new go.Size(400, 400),\n },\n // new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(go.Point.stringify),\n this.$(\n go.Panel,\n 'Auto',\n this.$(go.Shape, 'RoundedRectangle', {\n fill: 'transparent',\n stroke: AtoGojsEditorModel.ENUM_COLORS.RESOLUTION_BLUE,\n strokeWidth: 2,\n // strokeDashArray: [5, 5],\n }),\n this.$(go.Placeholder, { padding: new go.Margin(60, 20, 20, 20) })\n ),\n\n // this.$(\n // go.Panel,\n // 'Table',\n // {\n // alignment: go.Spot.TopLeft,\n // alignmentFocus: new go.Spot(0, 0, -10, -10),\n // },\n // this.$(go.TextBlock, title, {\n // row: 0,\n // margin: new go.Margin(3, 3, 5, 3),\n // maxSize: new go.Size(size.w - 20, NaN),\n // stroke: '#444444',\n // font: 'normal 8pt Arial',\n // textAlign: 'center',\n // }),\n // this.$(go.Picture, icon, {\n // row: 1,\n // alignment: go.Spot.Center,\n // maxSize: new go.Size(40, 40),\n // imageStretch: go.GraphObject.Uniform,\n // }),\n // this.$(\n // go.TextBlock,\n // {\n // row: 2,\n // margin: new go.Margin(10, 3, 3, 3),\n // editable: true,\n // maxSize: new go.Size(size.w - 20, 40),\n // stroke: '#000D42',\n // font: 'bold 8pt Arial',\n // textAlign: 'center',\n // wrap: go.TextBlock.None,\n // overflow: go.TextBlock.OverflowEllipsis,\n // },\n // new go.Binding('text', 'name').makeTwoWay(),\n // {\n // // define a tooltip for each node that displays the color as text\n // toolTip: this.$('ToolTip', this.$(go.TextBlock, { margin: 4 }, new go.Binding('text', 'name'))), // end of Adornment\n // },\n // ),\n // // new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(go.Point.stringify),\n // ),\n\n this.$(\n go.Panel,\n 'Table',\n {\n alignment: go.Spot.TopLeft,\n alignmentFocus: new go.Spot(0, 0, -10, -10),\n // padding: new go.Margin(0, 0, 50, 0),\n },\n this.$(\n go.Panel,\n 'Horizontal',\n {\n row: 0,\n alignment: go.Spot.Left,\n },\n this.$(go.Picture, icon, {\n row: 0,\n // alignment: go.Spot.Center,\n alignment: go.Spot.Left,\n maxSize: new go.Size(40, 40),\n imageStretch: go.GraphObject.Uniform,\n }),\n this.$(\n go.Panel,\n 'Table',\n {\n column: 1,\n defaultAlignment: go.Spot.Left,\n alignmentFocus: new go.Spot(0, 0, 0, 20),\n },\n this.$(\n go.TextBlock,\n AtoGojsEditorModel.TEMPLATE_DUPLICATE[title] ?? title,\n {\n row: 0,\n margin: new go.Margin(3, 3, 5, 10),\n // maxSize: new go.Size(size.w - 20, NaN),\n stroke: '#444444',\n font: 'normal 10pt Arial',\n textAlign: 'center',\n alignment: go.Spot.Left,\n }\n ),\n this.$(\n go.TextBlock,\n {\n row: 1,\n margin: new go.Margin(0, 3, 3, 10),\n editable: true,\n // maxSize: new go.Size(size.w - 20, 40),\n stroke: '#000D42',\n font: 'bold 10pt Arial',\n textAlign: 'center',\n wrap: go.TextBlock.None,\n overflow: go.TextBlock.OverflowEllipsis,\n },\n new go.Binding('text', 'name').makeTwoWay(),\n {\n // define a tooltip for each node that displays the color as text\n toolTip: this.$(\n 'ToolTip',\n this.$(\n go.TextBlock,\n { margin: 4 },\n new go.Binding('text', 'name')\n )\n ), // end of Adornment\n }\n )\n )\n )\n )\n );\n\n this.myDiagram.groupTemplateMap.set(title, node);\n }\n\n makeImageTemplate() {\n const node = this.$(\n go.Node,\n 'Spot',\n {\n zOrder: 1,\n },\n new go.Binding('selectable', 'selectable'),\n this.$(\n go.Panel,\n 'Horizontal',\n {\n row: 0,\n alignment: go.Spot.Left,\n },\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(\n go.Point.stringify\n ),\n this.$(\n go.Picture,\n AtoGojsEditorModel.IMAGE_RO_WATER_TREATMENT_PATH,\n {\n alignment: go.Spot.Center,\n // maxSize: new go.Size(500, 500),\n // imageStretch: go.GraphObject.Uniform,\n // margin: new go.Margin(130, 0, 0, 0),\n },\n new go.Binding('margin', 'margin'),\n new go.Binding('width', 'width'),\n new go.Binding('height', 'height'),\n new go.Binding('source', '', (data) => {\n return data?.source\n ? data?.source\n : AtoGojsEditorModel.IMAGE_RO_WATER_TREATMENT_PATH;\n })\n )\n )\n );\n this.myDiagram.nodeTemplateMap.set(\n AtoGojsEditorModel.ENUM_TEMPLATES.IMAGE_TEMPLATE,\n node\n );\n }\n\n makeParamTable() {\n const self = this;\n const node = this.$(\n go.Part,\n 'Vertical',\n // this.$(go.Shape, { fill: '#E6F0F7', stroke: '#0063A9', strokeWidth: 3, geometryString: 'M 5 0 L 95 0 Q 100 0 100 5 L 100 95 Q 100 100 95 100 L 5 100 Q 0 100 0 95 L 0 5 Q 0 0 5 0' }),\n {\n zOrder: 2,\n // padding: new go.Margin(0, 0, 0, 200),\n },\n\n new go.Binding('padding', 'padding'),\n new go.Binding('selectable', 'selectable'),\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(\n go.Point.stringify\n ),\n new go.Binding('visible', '', (data) => {\n return typeof data?.visible === 'boolean' ? data?.visible : true;\n }),\n // Header\n this.$(\n go.Panel,\n 'Auto',\n {\n stretch: go.GraphObject.Fill,\n minSize: new go.Size(150, 27),\n margin: new go.Margin(0, 0, -6, 0),\n },\n new go.Binding('visible', '', (data) => !!data?.title),\n this.$(\n go.Shape,\n 'RoundedRectangle',\n {\n parameter1: 5,\n },\n new go.Binding('fill', '', (data) => {\n return data?.color;\n }),\n new go.Binding('stroke', '', (data) => {\n return data?.color;\n })\n ),\n\n this.$(\n go.TextBlock,\n {\n stroke: 'white',\n margin: new go.Margin(0, 0, 0, 5),\n stretch: go.GraphObject.Fill,\n alignment: go.Spot.Left,\n verticalAlignment: go.Spot.Center,\n font: '14px sans-serif',\n },\n new go.Binding('text', 'title')\n )\n ),\n this.$(\n go.Shape,\n 'Rectangle',\n {\n height: 6,\n margin: new go.Margin(0, 0, -6, 0),\n stretch: go.GraphObject.Fill,\n },\n new go.Binding('fill', '', (data) => {\n return data?.color;\n }),\n new go.Binding('stroke', '', (data) => {\n return data?.color;\n }),\n new go.Binding('visible', '', (data) => !!data?.title)\n ),\n this.$(\n go.Panel,\n 'Auto',\n this.$(\n go.Shape,\n 'RoundedRectangle',\n { fill: '#E6F0F7', stroke: '#0063A9', strokeWidth: 4, parameter1: 5 },\n new go.Binding('fill', 'bgColor'),\n new go.Binding('stroke', 'borderTable')\n ),\n this.$(\n go.Panel,\n 'Table',\n // Set defaults for all rows and columns:\n {\n padding: 1.5,\n defaultRowSeparatorStroke: '#0062A9',\n defaultColumnSeparatorStroke: '#0062A9',\n defaultSeparatorPadding: new go.Margin(5, 2, 5, 2),\n },\n new go.Binding('defaultRowSeparatorStroke', 'borderTable'),\n new go.Binding('defaultColumnSeparatorStroke', 'borderTable'),\n // this.$(\n // go.Panel,\n // 'TableRow',\n // { row: 0 },\n // this.$(go.TextBlock, 'row 1 col 1', { column: 0, margin: 2 }),\n // this.$(go.TextBlock, 'row 1 col 2', { column: 1, margin: 2 }),\n // ),\n // this.$(\n // go.Panel,\n // 'TableRow',\n // { row: 1 },\n // this.$(go.TextBlock, 'row 2 col 1', { column: 0, margin: 2 }),\n // this.$(go.TextBlock, 'row 2 col 2', { column: 1, margin: 2 }),\n // ),\n // new go.Binding('itemArray', 'dataTable'),\n new go.Binding('itemArray', '', function (data) {\n return data.dataTable.filter((x) => x?.visible !== false);\n }),\n {\n // itemTemplate: this.$(\n // go.Panel,\n // new go.Binding('row', 'indexRow'),\n // // new go.Binding('height', 'height'),\n // this.$(\n // go.Picture,\n // ARROW,\n // {\n // alignment: go.Spot.Center,\n // maxSize: new go.Size(20, 40),\n // // imageStretch: go.GraphObject.Uniform,\n // },\n // new go.Binding('source', '', (data, panel) => {\n // // panel.part?.data?.id\n // return data?.isCreated ? panel?.$p : ARROW_GRAY;\n // }),\n // ),\n // ),\n itemTemplate: this.$(\n go.Panel,\n 'TableRow',\n {\n cursor: 'pointer',\n click: (e, obj: any) => {\n if (\n obj.panel.part.data?.dataTable[obj.row]?.isEditable ===\n false\n ) {\n return;\n }\n self.onClikParamOfTable.emit({\n ...obj.panel.part.data?.dataTable[obj.row],\n });\n },\n background: 'transparent',\n },\n this.$(\n go.TextBlock,\n '',\n {\n column: 0,\n margin: 2,\n textAlign: 'left',\n alignment: go.Spot.Left,\n overflow: go.TextBlock.OverflowEllipsis,\n toolTip: this.$(\n 'ToolTip',\n this.$(\n go.TextBlock,\n {\n margin: 4,\n },\n new go.Binding('text', '', (data, panel) => {\n return data?.name;\n })\n )\n ),\n },\n new go.Binding('text', '', (data, panel) => {\n return data?.name;\n }),\n new go.Binding('maxSize', '', (data, panel) => {\n return data?.maxSizeNameParam;\n })\n ),\n this.$(\n go.Panel,\n 'Table',\n {\n column: 1,\n margin: 2,\n padding: 0,\n defaultSeparatorPadding: new go.Margin(0, 0, 0, 0),\n stretch: go.GraphObject.Fill,\n },\n new go.Binding('minSize', '', (data, panel) => {\n // return panel.part?.data?.minSizeValue;\n return new go.Size(\n panel.part?.data?.minSizeValue?.width,\n NaN\n );\n }),\n this.$(\n go.TextBlock,\n '',\n {\n column: 0,\n margin: 0,\n alignment: go.Spot.Left,\n overflow: go.TextBlock.OverflowEllipsis,\n cursor: 'pointer',\n toolTip: this.$(\n 'ToolTip',\n this.$(\n go.TextBlock,\n {\n margin: 4,\n },\n new go.Binding('text', '', (data, panel) => {\n return `${\n !!this._initialOptions.isReadOnly\n ? `${data?.tagName || ''} `\n : ''\n }${data?.value}`;\n }),\n new go.Binding('visible', '', (data) => {\n if (\n !!this._initialOptions.isReadOnly &&\n data?.tagName\n ) {\n return true;\n }\n\n return !!data?.value;\n })\n )\n ),\n },\n new go.Binding('text', '', (data, panel) => {\n return data?.value;\n }),\n new go.Binding('stroke', '', (data) => {\n if (!this._initialOptions.isReadOnly) {\n return;\n }\n return data.color;\n }),\n new go.Binding('maxSize', '', (data) => {\n return new go.Size(data?.maxSizeValue || 190, 14);\n }),\n new go.Binding('font', '', (data) => {\n return data?.font;\n })\n ),\n this.$(\n go.Picture,\n {\n alignment: go.Spot.Right,\n column: 1,\n margin: new go.Margin(0, 0, 0, 5),\n source: ICONS_BASE64['uf044'],\n cursor: 'pointer',\n visible: false,\n toolTip: this.$(\n 'ToolTip',\n this.$(\n go.TextBlock,\n {\n margin: 4,\n },\n new go.Binding('text', '', (data, panel) => {\n return data?.toolTipAction;\n })\n ),\n new go.Binding(\n 'visible',\n '',\n (data) => !!data?.toolTipAction\n )\n ),\n height: 14,\n width: 14,\n },\n new go.Binding('visible', '', (data, panel) => {\n return (\n !data?.isReadOnly && !this._initialOptions.isReadOnly\n );\n }),\n new go.Binding('opacity', '', (data, panel) => {\n return data?.isEditable === false ? 0.6 : 1;\n })\n )\n )\n ),\n }\n // new go.Binding('text', 'name')\n )\n )\n );\n this.myDiagram.nodeTemplateMap.set(\n AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE,\n node\n );\n }\n\n makeMassBalance() {\n const self = this;\n const node = this.$(\n go.Part,\n 'Auto',\n {},\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(\n go.Point.stringify\n ),\n new go.Binding('selectable', 'selectable'),\n this.$(\n go.Panel,\n 'Horizontal',\n // Set defaults for all rows and columns:\n {\n padding: 4,\n toolTip: this.$(\n 'ToolTip',\n this.$(\n go.TextBlock,\n {\n margin: 4,\n maxSize: new go.Size(450, 30),\n },\n new go.Binding('text', 'tooltip')\n )\n ),\n visible: this._initialOptions.isReadOnly,\n },\n this.$(\n go.TextBlock,\n '',\n {\n margin: new go.Margin(0, 5, 0, 0),\n text: 'Mass Balance:',\n },\n new go.Binding('font', 'font')\n ),\n this.$(\n go.TextBlock,\n '',\n {\n stroke: AtoGojsEditorModel.ENUM_COLORS.ALIZARIN,\n },\n new go.Binding('font', 'font'),\n new go.Binding('stroke', 'colorValue'),\n new go.Binding('text', '', (data, panel) => {\n return data?.value;\n })\n )\n )\n );\n this.myDiagram.nodeTemplateMap.set(\n AtoGojsEditorModel.ENUM_TEMPLATES.MASS_BALANCE,\n node\n );\n }\n\n makeGroupROPlantTemplate(\n icon,\n title,\n size: { w: number; h: number } = { w: 80, h: 80 }\n ) {\n let node = this.$(\n go.Group,\n 'Spot',\n {\n layout: this.$(go.Layout),\n },\n {\n // minSize: new go.Size(NaN, 600),\n },\n new go.Binding('selectable', 'selectable'),\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(\n go.Point.stringify\n ),\n this.$(\n go.Panel,\n 'Table',\n\n this.$(\n go.Panel,\n 'Auto',\n {\n row: 0,\n padding: new go.Margin(0, 0, 0, 0),\n },\n this.$(go.Shape, 'RoundedRectangle', {\n name: 'SHAPE_KEY',\n fill: '#FCFCFD',\n stroke: AtoGojsEditorModel.ENUM_COLORS.RESOLUTION_BLUE,\n strokeWidth: 2,\n // strokeDashArray: [5, 5],\n }),\n\n this.$(go.Placeholder, { padding: new go.Margin(15, 0, 0, 0) })\n ),\n this.$(\n go.Picture,\n RO_LINE_DIRTY,\n {\n row: 1,\n },\n new go.Binding('visible', '', (x) => {\n return x?.isViewGeneral && x?.hasOutFlow ? true : false;\n })\n )\n ),\n\n this.$(go.Panel, 'Table', {\n width: 0,\n height: 0,\n alignment: new go.Spot(0, 0, 0, 183),\n alignmentFocus: go.Spot.Left,\n // stretch: go.GraphObject.Vertical,\n portId: 'Inflow',\n cursor: this._initialOptions.isReadOnly ? '' : 'pointer',\n // alignmentFocus: new go.Spot(0, 0, 0, 150),\n fromSpot: go.Spot.Left,\n toSpot: go.Spot.Left,\n fromLinkable: true,\n toLinkable: true,\n }),\n this.$(go.Panel, 'Table', {\n width: 0,\n height: 0,\n alignment: new go.Spot(0, 0, 970, 315),\n alignmentFocus: go.Spot.Bottom,\n portId: 'OutFlow_Clean',\n cursor: this._initialOptions.isReadOnly ? '' : 'pointer',\n fromSpot: go.Spot.Bottom,\n toSpot: go.Spot.Bottom,\n fromLinkable: true,\n toLinkable: true,\n }),\n this.$(\n go.Panel,\n 'Table',\n {\n width: 0,\n height: 0,\n // alignment: new go.Spot(0, 0, 480, 525),\n // alignment: new go.Spot(0, 0, 475, 552),\n alignmentFocus: go.Spot.Bottom,\n portId: 'OutFlow_Dirty',\n cursor: this._initialOptions.isReadOnly ? '' : 'pointer',\n fromSpot: go.Spot.Bottom,\n toSpot: go.Spot.Bottom,\n fromLinkable: true,\n toLinkable: true,\n },\n new go.Binding('alignment', '', (x) => {\n return x?.isViewGeneral && x?.hasOutFlow\n ? new go.Spot(0, 0, 475, 552)\n : new go.Spot(0, 0, 480, 525);\n })\n )\n );\n\n this.myDiagram.groupTemplateMap.set(title, node);\n }\n\n makeGroupBoilerTemplate(\n icon,\n title,\n size: { w: number; h: number } = { w: 80, h: 80 }\n ) {\n let node = this.$(\n go.Group,\n 'Spot',\n {\n selectable: false,\n },\n {\n // minSize: new go.Size(NaN, 600),\n },\n new go.Binding('selectable', 'selectable'),\n this.$(\n go.Panel,\n 'Auto',\n {\n padding: new go.Margin(0, 0, 0, 0),\n },\n this.$(go.Shape, 'RoundedRectangle', {\n name: 'SHAPE_KEY',\n fill: '#FCFCFD',\n stroke: AtoGojsEditorModel.ENUM_COLORS.RESOLUTION_BLUE,\n strokeWidth: 2,\n }),\n\n this.$(\n go.Placeholder,\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(\n go.Point.stringify\n ),\n { padding: new go.Margin(0, 0, 0, 0) }\n )\n ),\n\n this.$(go.Panel, 'Spot', {\n width: 0,\n height: 0,\n alignment: new go.Spot(0, 0.5, 0, 112),\n alignmentFocus: go.Spot.Left,\n portId: 'Inflow',\n cursor: this._initialOptions.isReadOnly ? '' : 'pointer',\n fromSpot: go.Spot.Left,\n toSpot: go.Spot.Left,\n fromLinkable: true,\n toLinkable: true,\n }),\n this.$(\n go.Panel,\n 'Spot',\n {\n alignmentFocus: go.Spot.Top,\n alignment: new go.Spot(1, 1, -215, 0),\n },\n this.$(\n go.Picture,\n OUTFLOW_LINE_DIRTY,\n {\n width: 10,\n height: 20,\n },\n new go.Binding('visible', '', (x) => {\n return x?.isViewGeneral && x?.hasOutFlow ? true : false;\n })\n ),\n this.$(go.Panel, {\n alignment: go.Spot.BottomLeft,\n alignmentFocus: go.Spot.Top,\n portId: 'OutFlow',\n cursor: this._initialOptions.isReadOnly ? '' : 'pointer',\n fromSpot: go.Spot.Bottom,\n fromLinkable: true,\n toLinkable: true,\n })\n )\n );\n\n this.myDiagram.groupTemplateMap.set(title, node);\n }\n\n makeGroupCoolingTowerTemplate(\n icon,\n title,\n size: { w: number; h: number } = { w: 80, h: 80 }\n ) {\n let node = this.$(\n go.Group,\n 'Spot',\n {\n selectable: false,\n layout: this.$(go.Layout),\n padding: new go.Margin(0, 30, 0, 0),\n },\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(\n go.Point.stringify\n ),\n this.$(\n go.Panel,\n 'Auto',\n {\n row: 0,\n padding: new go.Margin(0, 0, 0, 0),\n },\n this.$(go.Shape, 'RoundedRectangle', {\n name: 'SHAPE_KEY',\n fill: '#FCFCFD',\n stroke: AtoGojsEditorModel.ENUM_COLORS.RESOLUTION_BLUE,\n strokeWidth: 2,\n strokeDashArray: [5, 5],\n }),\n\n this.$(go.Placeholder, { padding: new go.Margin(0, 0, 0, 0) })\n ),\n this.$(go.Panel, 'Table', {\n width: 0,\n height: 0,\n alignment: new go.Spot(0, 0, 0, 533),\n alignmentFocus: go.Spot.Bottom,\n portId: 'Inflow',\n cursor: this._initialOptions.isReadOnly ? '' : 'pointer',\n fromSpot: go.Spot.Left,\n toSpot: go.Spot.Left,\n fromLinkable: true,\n toLinkable: true,\n }),\n this.$(\n go.Panel,\n 'Spot',\n {\n alignmentFocus: go.Spot.Top,\n alignment: new go.Spot(0.5, 1, 23, 0),\n },\n this.$(\n go.Picture,\n OUTFLOW_LINE_DIRTY,\n {\n width: 10,\n height: 20,\n },\n new go.Binding('visible', '', (x) => {\n return x?.isViewGeneral && x?.hasOutFlow ? true : false;\n })\n ),\n this.$(go.Panel, {\n alignment: new go.Spot(0, 0, 0, 18),\n alignmentFocus: go.Spot.Top,\n portId: 'OutFlow',\n cursor: this._initialOptions.isReadOnly ? '' : 'pointer',\n fromSpot: go.Spot.Center,\n toSpot: go.Spot.Right,\n fromLinkable: true,\n toLinkable: true,\n })\n )\n );\n\n this.myDiagram.groupTemplateMap.set(title, node);\n }\n\n groupPlantCellTemplate(\n icon,\n title,\n size: { w: number; h: number } = { w: 80, h: 80 }\n ) {\n const self = this;\n let node = this.$(\n go.Group,\n 'Spot',\n {\n // layout: this.$(go.Layout),\n // layout: this.$(go.LayeredDigraphLayout, { direction: 0 }),\n // isSubGraphExpanded: false,\n // background: 'transparent',\n // layerName: 'Foreground',\n // wasSubGraphExpanded: false,\n movable: false,\n selectable: false,\n avoidable: false,\n // resizable: true,\n\n // resizable: false,\n // width: data?.ob?.minWith ?? 50,\n // height: 500,\n\n // isSubGraphExpanded: true, // ensure the group is always expanded\n // computesBoundsAfterDrag: true,\n // handlesDragDropForMembers: true, // handle drag-and-drop events for its member nodes\n\n // maxSize: new go.Size(500, 500),\n // minSize: new go.Size(500, 500),\n\n // isSubGraphExpanded: true,\n // layerName: DIAGRAM.LAYERS.BACKGROUND,\n\n // mouseDrop: function (e, grp) {\n // // disallow dropping anything onto an Adornment\n // if (grp instanceof go.Adornment) return;\n // },\n // dragComputation: function (node, pt, gridPt) {\n // let grp = node.containingGroup;\n // if (grp !== null) {\n // let rect = grp.actualBounds;\n // pt.x = Math.max(rect.left, Math.min(pt.x, rect.right));\n // pt.y = Math.max(rect.top, Math.min(pt.y, rect.bottom));\n // }\n // return pt;\n // },\n\n // dropComputation: function (node, pt, gridPt) {\n // let grp = node.containingGroup;\n // if (grp !== null) {\n // let rect = grp.actualBounds;\n // pt.x = Math.max(rect.left, Math.min(pt.x, rect.right));\n // pt.y = Math.max(rect.top, Math.min(pt.y, rect.bottom));\n // }\n // return pt;\n // },\n\n // dragComputation: function (part, pt, gridpt) {\n // // Get the current group's actual bounds\n // const grp = part.containingGroup;\n // if (grp) {\n // const bnds = grp.actualBounds;\n // const loc = part.location;\n\n // // See if the part's new location would be out of bounds\n // const newx = Math.max(bnds.x, Math.min(pt.x, bnds.right - part.actualBounds.width / 2));\n // const newy = Math.max(bnds.y, Math.min(pt.y, bnds.bottom - part.actualBounds.height / 2));\n\n // // Modify the result point to keep the Part inside the Group\n // return new go.Point(newx, newy);\n // }\n // return pt;\n // },\n click: (e, obj: any) => {\n self.myDiagram?.clearSelection();\n },\n },\n {\n // mouseDragEnter: (e, obj) => {\n // },\n // mouseDrop: (e, obj) => {\n // },\n // mouseEnter: (e, obj) => {\n // const node = obj.part;\n // self.onHoverInfoButton.emit({\n // left: e?.['Wr']?.x + 8,\n // top: e?.['Wr']?.y,\n // node: node,\n // });\n // // let shape = (node as any)?.findObject('SHAPE_KEY');\n // // if (shape) {\n // // shape.stroke = 'blue';\n // // }\n // },\n // mouseLeave: (e, obj) => {\n // self.onHoverInfoButton.emit(null);\n // // let shape = (node as any)?.findObject('SHAPE_KEY');\n // // if (shape) {\n // // shape.stroke = AtoGojsEditorModel.ENUM_COLORS.WHITE;\n // // }\n // },\n },\n new go.Binding('layout', '', function (data, node) {\n // return data?.layoutValue === AtoGojsEditorModel.ENUM_LAYOUT_EDITOR.AUTO\n // ? self.$(go.LayeredDigraphLayout, { direction: 0 })\n // : node?.layout;\n if (data?.layoutValue !== data?.layoutValueClone) {\n data.layoutValueClone = data?.layoutValue;\n return data?.layoutValue ===\n AtoGojsEditorModel.ENUM_LAYOUT_EDITOR.AUTO\n ? self.$(go.LayeredDigraphLayout, { direction: 0 })\n : self.$(go.Layout);\n } else {\n return node?.layout;\n }\n // : self.$(go.Layout);\n // return data?.layout;\n // return data?.previousLayout || self.$(go.LayeredDigraphLayout, { direction: 0 });\n // return self.$(go.LayeredDigraphLayout, { direction: 0 });\n }),\n // new go.Binding('grid', 'grid'),\n new go.Binding('selectable', 'selectable'),\n // new go.Binding('width', '', function (data) {\n // return data?.ob?.minWith ?? 50;\n // }),\n new go.Binding('minSize', '', function (data) {\n return new go.Size(data?.ob?.minWith ?? 50, data?.ob?.minHeight ?? 50); // Customize minSize based on data\n }).ofObject(),\n // new go.Binding('width', '', function (data) {\n // return data?.ob?.minWith ?? 50; // Customize minSize based on data\n // }).ofObject(),\n // new go.Binding('height', '', function (data) {\n // return data?.ob?.minHeight ?? 50; // Customize minSize based on data\n // }).ofObject(),\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(\n go.Point.stringify\n ),\n // new go.Binding('isSubGraphExpanded', 'expanded').makeTwoWay(),\n this.$(\n go.Panel,\n 'Auto',\n {\n padding: new go.Margin(0, 0, 0, 0),\n // margin:new go.Margin(0, 50, 0, 50),\n },\n this.$(go.Shape, 'RoundedRectangle', {\n name: 'SHAPE_KEY',\n fill: 'transparent',\n stroke: AtoGojsEditorModel.ENUM_COLORS.RESOLUTION_BLUE,\n strokeWidth: 2,\n strokeDashArray: [5, 5],\n }),\n this.$(go.Placeholder, { padding: new go.Margin(0, 0, 0, 0) })\n )\n );\n\n // node.memberValidation = function (node, group) {\n // if (!group) return true; // allow ungrouping\n // const groupBounds = group.actualBounds;\n // const nodeBounds = node.actualBounds;\n // return groupBounds.containsRect(nodeBounds);\n // };\n this.myDiagram.groupTemplateMap.set(title, node);\n }\n\n groupPCInputOrOutTemplate(icon, title, padding: go.Margin) {\n // let node = this.$(\n // go.Group,\n // 'Spot',\n // {\n // layout: this.$(go.Layout),\n // movable: false,\n // selectable: false,\n // },\n // // {\n // // // minSize: new go.Size(500, 500),\n // // movable: false,\n // // ariaReadOnly: true,\n // // },\n // this.$(\n // go.Panel,\n // 'Auto',\n // {\n // padding: new go.Margin(0, 0, 0, 0),\n // },\n // this.$(go.Shape, 'RoundedRectangle', {\n // fill: 'transparent',\n // // stroke: AtoGojsEditorModel.ENUM_COLORS.RESOLUTION_BLUE,\n // stroke: AtoGojsEditorModel.ENUM_COLORS.WHITE,\n // strokeWidth: 2,\n // strokeDashArray: [5, 5],\n // }),\n // this.$(go.Placeholder, {\n // padding: new go.Margin(0, 0, 0, 0),\n // }),\n // ),\n // );\n let node = this.$(\n go.Group,\n 'Spot',\n {\n layout: this.$(go.LayeredDigraphLayout, { direction: 0 }),\n movable: false,\n selectable: false,\n avoidable: false,\n // isSubGraphExpanded: false,\n // isSubGraphExpanded: false,\n // layerName: 'Foreground',\n },\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(\n go.Point.stringify\n ),\n this.$(\n go.Panel,\n 'Auto',\n {\n padding: padding ?? new go.Margin(0, 0, 0, 0),\n },\n this.$(go.Shape, 'RoundedRectangle', {\n fill: 'transparent',\n stroke: AtoGojsEditorModel.ENUM_COLORS.WHITE,\n // stroke: AtoGojsEditorModel.ENUM_COLORS.ALIZARIN,\n strokeWidth: 2,\n // strokeDashArray: [5, 5],\n }),\n this.$(go.Placeholder, {\n padding: new go.Margin(0, 0, 0, 0),\n })\n )\n );\n this.myDiagram.groupTemplateMap.set(title, node);\n }\n\n makeGroupZoneTemplate(\n size: { w: number; h: number } = {\n w: AtoGojsEditorModel.GRID_SIZE * 14,\n h: AtoGojsEditorModel.GRID_SIZE * 5,\n }\n ) {\n const self = this;\n let node = this.$(\n go.Group,\n 'Vertical',\n {\n layout: this.$(go.GridLayout, {\n wrappingColumn: 1,\n spacing: new go.Size(0, 0),\n }),\n },\n\n {\n locationSpot: go.Spot.Center,\n mouseOver: function (e, obj) {\n // self.showPoint(obj?.part?.location);\n },\n click: (e, obj: any) => {\n if (obj?.data?.onSelected) {\n obj?.data?.onSelected(obj?.data);\n }\n },\n selectionChanged: (e) => {\n if (!e.isSelected && e?.data?.onSelected) {\n e?.data?.onSelected(null);\n }\n },\n\n selectionAdornmentTemplate: this._initialOptions.isReadOnly\n ? null\n : this.$(\n go.Adornment,\n 'Spot',\n {\n shadowVisible: true,\n shadowBlur: 6,\n shadowOffset: new go.Point(0, 2),\n shadowColor: '#00000029',\n },\n this.$(\n go.Panel,\n 'Auto',\n this.$(go.Shape, {\n fill: null,\n stroke: 'dodgerblue',\n strokeWidth: 4,\n }),\n this.$(go.Placeholder, { padding: 3 })\n ),\n this.$(\n go.Panel,\n 'Horizontal',\n {\n alignment: go.Spot.TopRight,\n alignmentFocus: go.Spot.Bottom,\n background: 'white',\n },\n this.$(\n 'Button',\n {\n _dragData: {\n type: AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_NODE,\n name: 0,\n color: AtoGojsEditorModel.ENUM_COLORS.BLUE,\n },\n click: self.addItemOnGroupZone, // defined below, to support a click on the button\n 'ButtonBorder.strokeWidth': 0,\n 'ButtonBorder.fill': 'white',\n },\n this.$(go.TextBlock, {\n margin: 4,\n text: '\\uf055',\n font: '20px \"Font Awesome 6 Pro\"',\n cursor: 'pointer',\n stroke: '#2c2c2c',\n })\n ),\n // more\n this.generateActionGroup([\n AtoDefaultGojsEditor.ENUM_ACTIONS.RENAME,\n AtoDefaultGojsEditor.ENUM_ACTIONS.DETAILS,\n AtoDefaultGojsEditor.ENUM_ACTIONS.OUTFLOW,\n AtoDefaultGojsEditor.ENUM_ACTIONS.DELETE,\n ])\n // this.$(\n // // Edit Text\n // 'Button',\n // {\n // click: self.editTextGroupZone,\n // 'ButtonBorder.strokeWidth': 0,\n // 'ButtonBorder.fill': 'white',\n // },\n // this.$(go.TextBlock, {\n // margin: 4,\n // text: '\\ue1bf',\n // font: '20px \"Font Awesome 6 Pro\"',\n // cursor: 'pointer',\n // stroke: '#2c2c2c',\n // }),\n // ),\n // this.$(\n // // Open Detail\n // 'Button',\n // {\n // click: (e, obj: any) => {\n // const node = obj.part;\n // self.onOpenDetail.emit({\n // node,\n // });\n // },\n // 'ButtonBorder.strokeWidth': 0,\n // 'ButtonBorder.fill': 'white',\n // },\n //\n // this.$(go.TextBlock, {\n // margin: 4,\n // text: '\\ue49a',\n // font: '20px \"Font Awesome 6 Pro\"',\n // cursor: 'pointer',\n // }),\n // ),\n // !this._initialOptions.isReadOnly\n // ? this.$(\n // 'Button',\n // {\n // actionMove: self.dragNewNode, // defined below, to support dragging from the button\n // _dragData: {\n // type: AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_NODE,\n // name: 0,\n // color: AtoGojsEditorModel.ENUM_COLORS.BLUE,\n // },\n // click: self.clickNewNode, // defined below, to support a click on the button\n // 'ButtonBorder.strokeWidth': 0,\n // 'ButtonBorder.fill': 'white',\n // },\n // this.$(go.TextBlock, {\n // margin: 4,\n // text: '\\ue157',\n // font: '20px \"Font Awesome 6 Pro\"',\n // cursor: 'pointer',\n // stroke: '#2c2c2c',\n // }),\n // )\n // : {},\n\n // this.$(\n // 'Button',\n // {\n // click: self.deleteNode,\n // 'ButtonBorder.strokeWidth': 0,\n // 'ButtonBorder.fill': 'white',\n // },\n // this.$(go.TextBlock, {\n // margin: 4,\n // text: '\\uf2ed',\n // font: '20px \"Font Awesome 6 Pro\"',\n // cursor: 'pointer',\n // }),\n // ),\n )\n ),\n },\n\n this.$(\n go.Panel,\n 'Auto',\n this.$(go.Shape, 'RoundedRectangle', {\n fill: 'transparent',\n stroke: AtoGojsEditorModel.ENUM_COLORS.RESOLUTION_BLUE,\n strokeWidth: 2,\n strokeDashArray: [5, 5],\n maxSize: new go.Size(size.w, NaN),\n }),\n this.$(\n go.Panel,\n 'Table',\n {\n alignment: go.Spot.Top,\n padding: new go.Margin(17, 10, 16, 10),\n },\n this.$(\n go.TextBlock,\n {\n row: 0,\n margin: new go.Margin(5, 0, 10, 0),\n editable: true,\n desiredSize: new go.Size(size.w - 20, 25),\n stroke: AtoGojsEditorModel.ENUM_COLORS.NIGHT_RIDER,\n font: 'bold 16px Arial',\n textAlign: 'center',\n wrap: go.TextBlock.None,\n overflow: go.TextBlock.OverflowEllipsis,\n toolTip: this.$(\n 'ToolTip',\n this.$(\n go.TextBlock,\n {\n margin: 4,\n },\n new go.Binding('text', 'name').makeTwoWay()\n )\n ),\n },\n new go.Binding('text', 'name').makeTwoWay()\n ),\n this.$(go.Placeholder, 'Vertical', {\n row: 1,\n })\n ),\n\n this.makePort('T', go.Spot.Top, go.Spot.TopSide, false, true),\n this.makePort('L', go.Spot.Left, go.Spot.LeftSide, true, true),\n this.makePort('R', go.Spot.Right, go.Spot.RightSide, true, true),\n this.makePort('B', go.Spot.Bottom, go.Spot.BottomSide, true, false)\n ),\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(\n go.Point.stringify\n )\n );\n this.myDiagram.groupTemplateMap.set(\n AtoGojsEditorModel.ENUM_TEMPLATES.ZONE,\n node\n );\n }\n\n makeZoneItemTemplate(\n size: { w: number; h: number } = {\n w: AtoGojsEditorModel.GRID_SIZE * 12,\n h: AtoGojsEditorModel.GRID_SIZE * 2,\n }\n ) {\n const self = this;\n const node = this.$(\n go.Node,\n 'Auto',\n // {\n // mouseHover: (e, obj) => {\n // const node = obj.part;\n // if ((obj as any).part?.ob?.value === VALUE_NA) {\n // self.onHoverInfoButton.emit({\n // left: e?.['Wr']?.x + 8,\n // top: e?.['Wr']?.y,\n // node: node\n // });\n // }\n // },\n // mouseLeave: (e, obj) => {\n // if ((obj as any).part?.ob?.value === VALUE_NA) {\n // self.onHoverInfoButton.emit(null);\n // }\n // },\n // click: (e, obj: any) => {\n // const node = obj.part;\n // this.isShowNodeInfo ? self.onClickInfoButton.emit({\n // left: e?.['Wr']?.x,\n // top: e?.['Wr']?.y,\n // node: node\n // }) : null;\n // },\n // },\n // new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(go.Point.stringify),\n {\n movable: false,\n },\n this.$(\n go.Panel,\n 'Auto',\n {\n width: size.w,\n height: size.h,\n },\n this.$(go.Shape, 'Rectangle', {\n fill: AtoGojsEditorModel.ENUM_COLORS.LIGHT_BLUE,\n stroke: AtoGojsEditorModel.ENUM_COLORS.LINK_WATER,\n }),\n this.$(\n go.Panel,\n 'Vertical',\n this.$(\n go.TextBlock,\n {\n editable: true,\n row: 2,\n margin: new go.Margin(10, 0, 5, 0),\n font: 'bold 12px Arial',\n textAlign: 'center',\n stroke: AtoGojsEditorModel.ENUM_COLORS.NIGHT_RIDER,\n toolTip: this.$(\n 'ToolTip',\n this.$(\n go.TextBlock,\n {\n margin: 4,\n },\n new go.Binding('text', 'name').makeTwoWay()\n )\n ),\n },\n new go.Binding('text', 'name').makeTwoWay(),\n new go.Binding('visible', 'name', (x) => !!x)\n ),\n this.$(\n go.Panel,\n 'Horizontal',\n\n {\n margin: new go.Margin(0, 10, 0, 10),\n },\n this.$(\n go.TextBlock,\n {\n margin: new go.Margin(0, 5, 10, 0),\n textAlign: 'center',\n font: '12px sans-serif',\n stroke: AtoGojsEditorModel.ENUM_COLORS.NIGHT_RIDER,\n wrap: go.TextBlock.WrapFit,\n editable: true,\n isMultiline: false,\n maxSize: new go.Size(size.w - 100, 15),\n overflow: go.TextBlock.OverflowEllipsis,\n toolTip: this.$(\n 'ToolTip',\n this.$(\n go.TextBlock,\n {\n margin: 4,\n },\n new go.Binding('text', 'nameItem').makeTwoWay()\n )\n ),\n },\n new go.Binding('text', 'nameItem').makeTwoWay(),\n new go.Binding('visible', 'nameItem', (x) => !!x)\n ),\n this.$(\n go.TextBlock,\n {\n margin: new go.Margin(0, 5, 10, 0),\n textAlign: 'center',\n font: '12px sans-serif',\n stroke: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n wrap: go.TextBlock.WrapFit,\n text: '< ',\n },\n\n new go.Binding(\n 'visible',\n 'data',\n (x) => typeof x?.quantity === 'number'\n )\n ),\n this.$(\n go.TextBlock,\n {\n margin: new go.Margin(0, 5, 10, 0),\n textAlign: 'center',\n font: '12px sans-serif',\n stroke: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n wrap: go.TextBlock.WrapFit,\n },\n new go.Binding('text', 'data', (x) => {\n if (typeof x?.quantity !== 'number') {\n return '';\n }\n const formatted: any = UtilsService.convertPrefixesData({\n value: x?.quantity,\n unit: x?.unit,\n });\n return (\n formatted.shortenedNumber +\n ' ' +\n formatted.unitPrefixes +\n x?.unit ?? ''\n );\n }),\n new go.Binding(\n 'visible',\n 'data',\n (x) => typeof x?.quantity === 'number'\n )\n ),\n\n this.$(\n go.TextBlock,\n {\n margin: new go.Margin(0, 5, 10, 0),\n textAlign: 'center',\n font: '12px sans-serif',\n stroke: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n wrap: go.TextBlock.WrapFit,\n text: ' >',\n },\n new go.Binding(\n 'visible',\n 'data',\n (x) => typeof x?.quantity === 'number'\n )\n )\n )\n )\n )\n );\n this.myDiagram.nodeTemplateMap.set(\n AtoGojsEditorModel.ENUM_TEMPLATES.ZONE_ENERGY_ITEM,\n node\n );\n }\n\n makeSpecialTemplate(\n icon,\n title,\n size: { w: number; h: number } = {\n w: AtoGojsEditorModel.GRID_SIZE * 5,\n h: AtoGojsEditorModel.GRID_SIZE * 5,\n }\n ) {\n let node: any = null;\n switch (title) {\n case AtoGojsEditorModel.ENUM_TEMPLATES.SPECIAL_PROCESS:\n node = this.$(\n go.Node,\n 'Spot',\n // {\n // fromSpot: go.Spot.Right, // coming out from middle-right\n // toSpot: go.Spot.Left\n // },\n {\n click: (e, obj: any) => {\n if (obj?.data?.onSelected) {\n obj?.data?.onSelected(obj?.data);\n }\n },\n selectionChanged: (e) => {\n if (!e.isSelected && e?.data?.onSelected) {\n e?.data?.onSelected(null);\n }\n },\n },\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(\n go.Point.stringify\n ),\n this.$(\n go.Panel,\n 'Auto',\n { width: size.w, height: size.h },\n this.$(go.Shape, 'Circle', {\n fill: 'white',\n stroke: '#2D3B77',\n strokeWidth: 2,\n // strokeDashArray: [5, 5],\n }),\n this.$(\n go.Panel,\n 'Table',\n this.$(go.TextBlock, AtoGojsEditorModel.ENUM_TEMPLATES.PROCESS, {\n row: 0,\n margin: new go.Margin(3, 3, 10, 3),\n maxSize: new go.Size(size.w - 20, NaN),\n stroke: '#444444',\n font: 'normal 10pt Arial',\n textAlign: 'center',\n }),\n this.$(go.Picture, icon, {\n row: 1,\n margin: new go.Margin(0, 0, 10, 0),\n alignment: go.Spot.Center,\n maxSize: new go.Size(60, 60),\n imageStretch: go.GraphObject.Uniform,\n })\n )\n ),\n\n this.$(go.Panel, 'Vertical', {\n alignment: go.Spot.Left,\n alignmentFocus: new go.Spot(0, 0.5, 8, 0),\n }),\n this.$(go.Panel, 'Vertical', {\n alignment: go.Spot.Right,\n alignmentFocus: new go.Spot(1, 0.5, -8, 0),\n }),\n // four named ports, one on each side:\n\n this.makePort('T', go.Spot.Top, go.Spot.TopSide, false, true),\n this.makePort('L', go.Spot.Left, go.Spot.LeftSide, true, true),\n this.makePort('R', go.Spot.Right, go.Spot.RightSide, true, true),\n this.makePort('B', go.Spot.Bottom, go.Spot.BottomSide, true, false)\n );\n break;\n case AtoGojsEditorModel.ENUM_TEMPLATES.SPECIAL_STORAGE:\n node = this.$(\n go.Node,\n 'Spot',\n {\n click: (e, obj: any) => {\n if (obj?.data?.onSelected) {\n obj?.data?.onSelected(obj?.data);\n }\n },\n selectionChanged: (e) => {\n if (!e.isSelected && e?.data?.onSelected) {\n e?.data?.onSelected(null);\n }\n },\n },\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(\n go.Point.stringify\n ),\n this.$(\n go.Panel,\n 'Auto',\n { width: size.w, height: size.h },\n this.$(go.Shape, 'Circle', {\n fill: 'white',\n stroke: '#2D3B77',\n strokeWidth: 2,\n // strokeDashArray: [5, 5],\n }),\n this.$(\n go.Panel,\n 'Table',\n this.$(go.TextBlock, AtoGojsEditorModel.ENUM_TEMPLATES.STORAGE, {\n row: 0,\n margin: new go.Margin(3, 3, 10, 3),\n maxSize: new go.Size(size.w - 20, NaN),\n stroke: '#444444',\n font: 'normal 10pt Arial',\n textAlign: 'center',\n }),\n this.$(\n go.Picture,\n icon,\n {\n row: 1,\n margin: new go.Margin(0, 0, 10, 0),\n alignment: go.Spot.Center,\n minSize: new go.Size(40, 40),\n maxSize: new go.Size(50, 50),\n imageStretch: go.GraphObject.Uniform,\n },\n new go.Binding('source', 'icon').makeTwoWay()\n )\n )\n ),\n\n this.$(go.Panel, 'Vertical', {\n alignment: go.Spot.Left,\n alignmentFocus: new go.Spot(0, 0.5, 8, 0),\n }),\n this.$(go.Panel, 'Vertical', {\n alignment: go.Spot.Right,\n alignmentFocus: new go.Spot(1, 0.5, -8, 0),\n }),\n // four named ports, one on each side:\n\n this.makePort('T', go.Spot.Top, go.Spot.TopSide, false, true),\n this.makePort('L', go.Spot.Left, go.Spot.LeftSide, true, true),\n this.makePort('R', go.Spot.Right, go.Spot.RightSide, true, true),\n this.makePort('B', go.Spot.Bottom, go.Spot.BottomSide, true, false)\n );\n break;\n case AtoGojsEditorModel.ENUM_TEMPLATES.SPECIAL_STORE:\n node = this.$(\n go.Node,\n 'Spot',\n {\n click: (e, obj: any) => {\n if (obj?.data?.onSelected) {\n obj?.data?.onSelected(obj?.data);\n }\n },\n selectionChanged: (e) => {\n if (!e.isSelected && e?.data?.onSelected) {\n e?.data?.onSelected(null);\n }\n },\n },\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(\n go.Point.stringify\n ),\n this.$(\n go.Panel,\n 'Auto',\n { width: size.w, height: size.h },\n this.$(go.Shape, 'Circle', {\n fill: 'white',\n stroke: '#2D3B77',\n strokeWidth: 2,\n // strokeDashArray: [5, 5],\n }),\n this.$(\n go.Panel,\n 'Table',\n this.$(go.TextBlock, 'Store', {\n row: 0,\n margin: new go.Margin(3, 3, 10, 3),\n maxSize: new go.Size(size.w - 20, NaN),\n stroke: '#444444',\n font: 'normal 10pt Arial',\n textAlign: 'center',\n }),\n this.$(go.Picture, icon, {\n row: 1,\n margin: new go.Margin(0, 0, 10, 0),\n alignment: go.Spot.Center,\n maxSize: new go.Size(60, 60),\n imageStretch: go.GraphObject.Uniform,\n })\n )\n )\n );\n break;\n\n case AtoGojsEditorModel.ENUM_TEMPLATES.SPECIAL_DISCHARGE:\n node = this.$(\n go.Node,\n 'Spot',\n {\n click: (e, obj: any) => {\n if (obj?.data?.onSelected) {\n obj?.data?.onSelected(obj?.data);\n }\n },\n selectionChanged: (e) => {\n if (!e.isSelected && e?.data?.onSelected) {\n e?.data?.onSelected(null);\n }\n },\n },\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(\n go.Point.stringify\n ),\n this.$(\n go.Panel,\n 'Auto',\n { width: size.w, height: size.h },\n this.$(go.Shape, 'Circle', {\n fill: 'white',\n stroke: '#2D3B77',\n strokeWidth: 2,\n // strokeDashArray: [5, 5],\n }),\n this.$(\n go.Panel,\n 'Table',\n this.$(go.TextBlock, 'Discharge', {\n row: 0,\n margin: new go.Margin(3, 3, 10, 3),\n maxSize: new go.Size(size.w - 20, NaN),\n stroke: '#444444',\n font: 'normal 10pt Arial',\n textAlign: 'center',\n }),\n this.$(go.Picture, icon, {\n row: 1,\n margin: new go.Margin(0, 0, 10, 0),\n alignment: go.Spot.Center,\n maxSize: new go.Size(60, 60),\n imageStretch: go.GraphObject.Uniform,\n })\n )\n )\n );\n break;\n\n case AtoGojsEditorModel.ENUM_TEMPLATES.SPECIAL_OTHER:\n node = this.$(\n go.Node,\n 'Spot',\n {\n click: (e, obj: any) => {\n if (obj?.data?.onSelected) {\n obj?.data?.onSelected(obj?.data);\n }\n },\n selectionChanged: (e) => {\n if (!e.isSelected && e?.data?.onSelected) {\n e?.data?.onSelected(null);\n }\n },\n },\n new go.Binding('location', 'loc', go.Point.parse).makeTwoWay(\n go.Point.stringify\n ),\n this.$(\n go.Panel,\n 'Auto',\n { width: size.w, height: size.h },\n this.$(go.Shape, 'Circle', {\n fill: 'white',\n stroke: '#2D3B77',\n strokeWidth: 2,\n // strokeDashArray: [5, 5],\n }),\n this.$(\n go.Panel,\n 'Table',\n this.$(go.TextBlock, 'Other', {\n row: 0,\n margin: new go.Margin(3, 3, 10, 3),\n maxSize: new go.Size(size.w - 20, NaN),\n stroke: '#444444',\n font: 'normal 10pt Arial',\n textAlign: 'center',\n }),\n this.$(go.Picture, icon, {\n row: 1,\n margin: new go.Margin(0, 0, 10, 0),\n alignment: go.Spot.Center,\n maxSize: new go.Size(60, 60),\n imageStretch: go.GraphObject.Uniform,\n })\n )\n )\n );\n break;\n }\n\n if (node) {\n this.myDiagram.nodeTemplateMap.set(title, node);\n }\n }\n\n startAnimation() {\n const diagram = this.myDiagram;\n // setTimeout(() => {\n // diagram.links.each((link) => {\n // });\n // });\n try {\n this.animationInterval = setInterval(() => {\n const oldskips = diagram.skipsUndoManager;\n diagram.skipsUndoManager = true;\n\n diagram.links.each((link) => {\n const shape = link.findObject('PIPE');\n if (!!shape) {\n // const off = shape?.strokeDashOffset - 3;\n const off = shape?.strokeDashOffset - 9;\n // animate (move) the stroke dash\n shape.strokeDashOffset = off <= 0 ? 60 : off;\n }\n });\n diagram.skipsUndoManager = oldskips;\n }, 600);\n // 60\n } catch (e) {}\n }\n\n stopAnimation() {\n if (this.animationInterval) {\n clearInterval(this.animationInterval);\n }\n }\n\n toDataURL(url, callback) {\n const xhr = new XMLHttpRequest();\n xhr.onload = function () {\n const reader = new FileReader();\n reader.onloadend = function () {\n callback(reader.result);\n };\n reader.readAsDataURL(xhr.response);\n };\n xhr.open('GET', url);\n xhr.responseType = 'blob';\n xhr.send();\n }\n\n getBase64DiagramWithEmptyData() {\n const self = this;\n // Test\n // const newWindow = window.open('', 'newWindow');\n // if (!newWindow) {\n // return;\n // }\n // const newDocument = newWindow?.document;\n if (\n !this.myDiagram?.model?.nodeDataArray?.length &&\n !this.myDiagram?.model?.linkDataArray?.length\n ) {\n return;\n }\n\n const svg = this.myDiagram.makeSvg({\n scale: this.defaultScaleZoomToFit,\n maxSize: new go.Size(1200, NaN),\n background: 'white',\n padding: 20,\n elementFinished: function (graphObject, svgElement) {\n svgElement.removeAttribute('clip-path');\n // Replace Image URL to base64 -> For showing Picture element\n if (graphObject instanceof go.Picture) {\n self.toDataURL(svgElement.href.baseVal, function (dataUrl) {\n svgElement.setAttribute('href', dataUrl);\n });\n }\n // Make Text Node Shape Border\n if (graphObject?.name === 'textNodeShape') {\n svgElement.setAttribute('stroke', 'rgba(64, 181, 206, 0.6)');\n }\n // Empty Value\n if (\n graphObject?.name === 'textBlockValue' ||\n graphObject?.name === 'textBlockUnitPrefixes'\n ) {\n svgElement.textContent = '';\n }\n if (svgElement.clipPath) {\n svgElement.clipPath = null;\n }\n },\n callback: (svg) => {\n setTimeout(() => {\n const svgStr = new XMLSerializer().serializeToString(svg);\n // For Test\n // newDocument?.body?.appendChild(svg);\n\n const base64Svg = `data:image/svg+xml;base64,${window.btoa(\n unescape(encodeURIComponent(svgStr))\n )}`;\n const img = new Image();\n img.src = base64Svg;\n const canvas = document.createElement('canvas');\n // get canvas context for drawing on canvas\n const context = canvas.getContext('2d');\n img.onload = function () {\n const svgWidth = img.width;\n const svgHeight = img.height;\n\n canvas.width = svgWidth;\n canvas.height = svgHeight;\n\n if (context) {\n context.drawImage(img, 0, 0);\n const base64PNG = canvas.toDataURL('image/jpeg');\n self.emitImageTopology(\n base64PNG.replace('data:image/jpeg;base64,', '')\n );\n }\n };\n }, 1000);\n },\n });\n }\n\n emitImageTopology(base64) {\n this.callbackImageTopology.emit(base64);\n }\n\n openActionMenu() {\n // When this node is clicked, adjust the menu position\n const mousePt = this.myDiagram.lastInput.viewPoint;\n\n // // When this node is clicked, display the dropdown menu\n const menu = document.getElementById(this.actionMenuId);\n if (menu) {\n menu.style.display = '';\n menu.style.position = 'absolute';\n menu.style.left = mousePt.x + 'px';\n menu.style.top = mousePt.y + 'px';\n\n this.menuTrigger.openMenu();\n }\n }\n\n unsubscribeAll() {\n if (this._subscriptionList) {\n this._subscriptionList.unsubscribe();\n }\n this._subscriptionList = new Subscription();\n }\n\n addSubscribes(...subscriptions: Subscription[]) {\n subscriptions.forEach((el) => {\n this._subscriptionList.add(el);\n });\n }\n}\n\nexport namespace AtoDefaultGojsEditor {\n export enum ENUM_ACTIONS {\n DETAILS = 'Open details & wizard',\n ONLY_DETAILS = 'Open details',\n RENAME = 'Rename this box',\n OUTFLOW = 'Create an outflow',\n DELETE = 'Delete',\n INSIGHT = 'InSight tag mapping',\n DATA_MAPPING = 'Data Mapping',\n MORE = 'More',\n FLOW_DETAILS = 'Flow details',\n FLOW_DETAILS_AND_WIZARD = 'Flow details & wizard', // only now for Cooling Tower\n ASSET_PARAMETERS = 'Asset parameters',\n CHANGE_ICON = 'Change icon',\n }\n\n export const ACTIONS: any = {\n [ENUM_ACTIONS.DETAILS]: {\n name: ENUM_ACTIONS.DETAILS,\n iconClassName: 'far fa-memo-circle-info',\n onClick: () => {},\n },\n [ENUM_ACTIONS.FLOW_DETAILS]: {\n name: ENUM_ACTIONS.FLOW_DETAILS,\n iconClassName: 'far fa-arrow-progress',\n onClick: () => {},\n },\n [ENUM_ACTIONS.FLOW_DETAILS_AND_WIZARD]: {\n name: ENUM_ACTIONS.FLOW_DETAILS_AND_WIZARD,\n iconClassName: 'far fa-arrow-progress',\n onClick: () => {},\n },\n [ENUM_ACTIONS.ASSET_PARAMETERS]: {\n name: ENUM_ACTIONS.ASSET_PARAMETERS,\n iconClassName: 'far fa-box-archive',\n onClick: () => {},\n },\n [ENUM_ACTIONS.ONLY_DETAILS]: {\n name: ENUM_ACTIONS.ONLY_DETAILS,\n iconClassName: 'far fa-memo-circle-info',\n onClick: () => {},\n },\n [ENUM_ACTIONS.RENAME]: {\n name: ENUM_ACTIONS.RENAME,\n iconClassName: 'far fa-input-text',\n onClick: () => {},\n },\n [ENUM_ACTIONS.OUTFLOW]: {\n name: ENUM_ACTIONS.OUTFLOW,\n iconClassName: 'far fa-diagram-nested',\n onClick: () => {},\n },\n [ENUM_ACTIONS.DELETE]: {\n name: ENUM_ACTIONS.DELETE,\n iconClassName: 'fal fa-trash-can',\n onClick: () => {},\n },\n [ENUM_ACTIONS.INSIGHT]: {\n name: ENUM_ACTIONS.INSIGHT,\n iconClassName: 'far fa-tag',\n onClick: () => {},\n },\n [ENUM_ACTIONS.DATA_MAPPING]: {\n name: ENUM_ACTIONS.DATA_MAPPING,\n iconClassName: 'far fa-tag',\n onClick: () => {},\n },\n [ENUM_ACTIONS.MORE]: {\n name: ENUM_ACTIONS.MORE,\n iconClassName: 'fal fa-memo-circle-info',\n onClick: () => {},\n },\n [ENUM_ACTIONS.CHANGE_ICON]: {\n name: ENUM_ACTIONS.CHANGE_ICON,\n iconClassName: 'far fa-image',\n onClick: () => {},\n },\n };\n\n export const DISTANCE_2_OUTPUT = 60;\n}\n","import { Directive, ElementRef, Renderer2, Input, OnChanges, SimpleChanges } from '@angular/core';\n\n@Directive({\n selector: '[atoLoading]'\n})\nexport class AtoLoadingDirective implements OnChanges {\n\n @Input() appLoading: boolean;\n\n private spinnerWrapper: HTMLElement;\n\n constructor(private el: ElementRef, private renderer: Renderer2) {\n this.spinnerWrapper = this.renderer.createElement('div');\n this.renderer.setStyle(this.spinnerWrapper, 'position', 'absolute');\n this.renderer.setStyle(this.spinnerWrapper, 'top', '0');\n this.renderer.setStyle(this.spinnerWrapper, 'left', '0');\n this.renderer.setStyle(this.spinnerWrapper, 'width', '100%');\n this.renderer.setStyle(this.spinnerWrapper, 'height', '100%');\n this.renderer.setStyle(this.spinnerWrapper, 'display', 'flex');\n this.renderer.setStyle(this.spinnerWrapper, 'align-items', 'center');\n this.renderer.setStyle(this.spinnerWrapper, 'justify-content', 'center');\n this.renderer.setStyle(this.spinnerWrapper, 'background', 'rgba(255, 255, 255, 0.7)');\n this.renderer.setStyle(this.spinnerWrapper, 'z-index', '10');\n\n const spinner = this.renderer.createElement('img');\n this.renderer.setAttribute(spinner, 'src', 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBzdHlsZT0ibWFyZ2luOiBhdXRvOyBiYWNrZ3JvdW5kOiByZ2IoMjU1LCAyNTUsIDI1NSk7IGRpc3BsYXk6IGJsb2NrOyBzaGFwZS1yZW5kZXJpbmc6IGF1dG87IGFuaW1hdGlvbi1wbGF5LXN0YXRlOiBydW5uaW5nOyBhbmltYXRpb24tZGVsYXk6IDBzOyIgd2lkdGg9Ijg4cHgiIGhlaWdodD0iODhweCIgdmlld0JveD0iMCAwIDEwMCAxMDAiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIj4KPGRlZnMgc3R5bGU9ImFuaW1hdGlvbi1wbGF5LXN0YXRlOiBydW5uaW5nOyBhbmltYXRpb24tZGVsYXk6IDBzOyI+CiAgPG1hc2sgaWQ9ImxkaW8tdmN5YjQ1YmFvdWstbWFzayIgc3R5bGU9ImFuaW1hdGlvbi1wbGF5LXN0YXRlOiBydW5uaW5nOyBhbmltYXRpb24tZGVsYXk6IDBzOyI+CiAgICA8cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIgZmlsbD0id2hpdGUiIHN0eWxlPSJhbmltYXRpb24tcGxheS1zdGF0ZTogcnVubmluZzsgYW5pbWF0aW9uLWRlbGF5OiAwczsiPjwvcmVjdD4KICA8L21hc2s+CjwvZGVmcz4KPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAiIGZpbGw9IiM1Y2FhZWEiIHN0eWxlPSJhbmltYXRpb24tcGxheS1zdGF0ZTogcnVubmluZzsgYW5pbWF0aW9uLWRlbGF5OiAwczsiPjwvcmVjdD4KPGcgbWFzaz0idXJsKCNsZGlvLXZjeWI0NWJhb3VrLW1hc2spIiBzdHlsZT0iYW5pbWF0aW9uLXBsYXktc3RhdGU6IHJ1bm5pbmc7IGFuaW1hdGlvbi1kZWxheTogMHM7Ij4KICA8cmVjdCB4PSItMTAwIiB5PSItMjUwIiB3aWR0aD0iMzAwIiBoZWlnaHQ9IjMwMCIgcng9IjkwIiByeT0iOTAiIGZpbGw9IiM4MmNlZmYiIG9wYWNpdHk9IjAuNCIgc3R5bGU9ImFuaW1hdGlvbi1wbGF5LXN0YXRlOiBydW5uaW5nOyBhbmltYXRpb24tZGVsYXk6IDBzOyI+CiAgICA8YW5pbWF0ZVRyYW5zZm9ybSBhdHRyaWJ1dGVOYW1lPSJ0cmFuc2Zvcm0iIHR5cGU9InJvdGF0ZSIgZHVyPSIxcyIgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiIHZhbHVlcz0iMCA1MCAtMTAwOzkwIDUwIC0xMDAiIGtleVRpbWVzPSIwOzEiIHN0eWxlPSJhbmltYXRpb24tcGxheS1zdGF0ZTogcnVubmluZzsgYW5pbWF0aW9uLWRlbGF5OiAwczsiPjwvYW5pbWF0ZVRyYW5zZm9ybT4KICA8L3JlY3Q+CgogIDxyZWN0IHg9Ii0xMDAiIHk9Ii0yNjAiIHdpZHRoPSIzMDAiIGhlaWdodD0iMzAwIiByeD0iOTUiIHJ5PSI5NSIgZmlsbD0iI2E1ZGNmZiIgb3BhY2l0eT0iMC40IiBzdHlsZT0iYW5pbWF0aW9uLXBsYXktc3RhdGU6IHJ1bm5pbmc7IGFuaW1hdGlvbi1kZWxheTogMHM7Ij4KICAgIDxhbmltYXRlVHJhbnNmb3JtIGF0dHJpYnV0ZU5hbWU9InRyYW5zZm9ybSIgdHlwZT0icm90YXRlIiBkdXI9IjEuNTE1MTUxNTE1MTUxNTE1MXMiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiB2YWx1ZXM9IjAgNTAgLTExMDs5MCA1MCAtMTEwIiBrZXlUaW1lcz0iMDsxIiBzdHlsZT0iYW5pbWF0aW9uLXBsYXktc3RhdGU6IHJ1bm5pbmc7IGFuaW1hdGlvbi1kZWxheTogMHM7Ij48L2FuaW1hdGVUcmFuc2Zvcm0+CiAgPC9yZWN0PgoKICA8cmVjdCB4PSItMTAwIiB5PSItMjcwIiB3aWR0aD0iMzAwIiBoZWlnaHQ9IjMwMCIgcng9IjEwMCIgcnk9IjEwMCIgZmlsbD0iI2ZmZmZmZiIgb3BhY2l0eT0iMC40IiBzdHlsZT0iYW5pbWF0aW9uLXBsYXktc3RhdGU6IHJ1bm5pbmc7IGFuaW1hdGlvbi1kZWxheTogMHM7Ij4KICAgIDxhbmltYXRlVHJhbnNmb3JtIGF0dHJpYnV0ZU5hbWU9InRyYW5zZm9ybSIgdHlwZT0icm90YXRlIiBkdXI9IjMuMDMwMzAzMDMwMzAzMDMwM3MiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIiB2YWx1ZXM9IjAgNTAgLTEyMDs5MCA1MCAtMTIwIiBrZXlUaW1lcz0iMDsxIiBzdHlsZT0iYW5pbWF0aW9uLXBsYXktc3RhdGU6IHJ1bm5pbmc7IGFuaW1hdGlvbi1kZWxheTogMHM7Ij48L2FuaW1hdGVUcmFuc2Zvcm0+CiAgPC9yZWN0PgoKPC9nPgo8IS0tIFtsZGlvXSBnZW5lcmF0ZWQgYnkgaHR0cHM6Ly9sb2FkaW5nLmlvLyAtLT48L3N2Zz4=');\n this.renderer.setStyle(spinner, 'width', '30px');\n this.renderer.setStyle(spinner, 'height', '30px');\n this.renderer.setStyle(spinner, 'border-radius', '50%');\n\n this.renderer.appendChild(this.spinnerWrapper, spinner);\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['appLoading']) {\n if (this.appLoading) {\n this.showSpinner();\n } else {\n this.hideSpinner();\n }\n }\n }\n\n private showSpinner(): void {\n this.renderer.setStyle(this.el.nativeElement, 'position', 'relative');\n this.renderer.appendChild(this.el.nativeElement, this.spinnerWrapper);\n }\n\n private hideSpinner(): void {\n if (this.el.nativeElement.contains(this.spinnerWrapper)) {\n this.renderer.removeChild(this.el.nativeElement, this.spinnerWrapper);\n }\n }\n\n}\n","import { Component, ElementRef, Input, OnInit, ViewChild } from '@angular/core';\nimport _ from 'lodash';\n\nimport { AtoDefaultGojsEditor } from '../../models/default-gojs-editor.model';\nimport { AtoGojsEditorModel } from '../../models/gojs-editor.model';\n\n@Component({\n selector: 'ato-flow-diagram-lib',\n templateUrl: './flow-diagram-lib.component.html',\n styleUrls: ['./flow-diagram-lib.component.css']\n})\nexport class AtoFlowDiagramLibComponent extends AtoDefaultGojsEditor implements OnInit {\n @ViewChild('myDiagramDivTemp') myDiagramDivTemp: any;\n _data: any = null;\n @Input() set data(v) {\n this._data = v;\n this.loadDiagram();\n }\n\n @Input() isLoading = false;\n\n get data() {\n return this._data;\n }\n\n constructor(\n _elRef: ElementRef,\n ) {\n super(_elRef);\n this.actions = [\n AtoDefaultGojsEditor.ACTIONS[AtoDefaultGojsEditor.ENUM_ACTIONS.DETAILS],\n AtoDefaultGojsEditor.ACTIONS[AtoDefaultGojsEditor.ENUM_ACTIONS.DELETE],\n ];\n this.unsubscribeAll();\n }\n\n\n\n ngOnInit(): void {\n this.addSubscribes(\n this.committedTransactionSubject?.subscribe((e) => {\n this.onModelChangeListenerEvent.emit(e);\n }),\n // this._GjUtilsService?.updateNameDataBox$?.subscribe((rs) => {\n // if (rs && rs?.key) {\n // const node = this.myDiagram.findNodeForKey(rs?.key);\n // this.myDiagram.model.setDataProperty(node?.data, 'name', rs?.name);\n // }\n // }),\n );\n }\n\n loadDiagram() {\n this.editor = new AtoGojsEditorModel({\n class: 'go.GraphLinksModel',\n nodeCategoryProperty: 'type',\n ...this.data,\n });\n }\n\n findNodeForKey(key: number | string) {\n this.myDiagram.select(this.myDiagram.findNodeForKey(key));\n }\n}\n\n\n\n\n\n","<div class=\"w-100 h-100 gj-flow-diagram-wrapper\" atoLoading [appLoading]=\"data === null || !!isLoading\">\n <div class=\"w-100 h-100 d-flex\">\n <!-- <button\n id=\"actionMenuId\"\n class=\"invisible-btn\"\n mat-button\n [matMenuTriggerFor]=\"menu\"\n #menuTrigger=\"matMenuTrigger\"\n ></button>\n <mat-menu #menu=\"matMenu\">\n <button mat-menu-item *ngFor=\"let item of actions\" (click)=\"item?.onClick($event)\">\n <div class=\"d-flex flex-gap-2\">\n <div><i class=\"{{ item?.iconClassName }}\"></i></div>\n <div>{{ item?.name }}</div>\n </div>\n </button>\n </mat-menu> -->\n\n <div #myDiagramDivTemp [id]=\"myDiagramDiv\" class=\"flex-grow-1\"></div>\n <div *ngIf=\"initialOptions?.isReadOnly && !data?.nodeDataArray?.length\" class=\"empty-data\">\n <!-- <nz-empty nzNotFoundImage=\"simple\"></nz-empty> -->\n No Data\n </div>\n </div>\n</div>\n","import { AtoGojsEditorModel } from '../models/gojs-editor.model';\n\nexport const AtoGoJSBase64 = {\n [AtoGojsEditorModel.ENUM_TYPES.COOLING_TOWER]:\n 'data:image/png;base64,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',\n [AtoGojsEditorModel.ENUM_TYPES.BOILER]:\n 'data:image/png;base64,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AgQIbEngzrULz4ZF2dPrND9OkufOXbn1zDrnOJbAMgGhgLlBgAABAgQIECBAgACBLQl8dff8Q+8myV64jeChVboQbht4+4EkufjtV2+/vcrxjiFwnIBQ4DghPydAgAABAgQIECBAgECDAmG3wDNhYfZnqzQRdgn8ctgl8OwqxzqGwCoCQoFVlBxDgAABAgQIECBAgACBhgTGf52cfuN/zt9MRqPHj2xiPH7lkW+6/eToZ5L7DXXFZQcoIBQYYNENmQABAgQIECBAgACBuATuXHvsqVFy6u+O6tU4ee/Hzl157YW4eq43XRcQCnS9gvpPgAABAgQIECBAgEAvBI56RaFXEPaixFEOQigQZVl0igABAgQIECBAgACBoQnkryg8dXovGb83P/TRqWT03v2LXkE4tBnRzniFAu04a4UAAQIECBAgQIAAAQJzAkftDDiOys6B44T8fFUBocCqUo4jQIAAAQIECBAgQIBAjQJfufbod99PTt+cu+Q4vF8g+zOaLtWq/58efDq5/+QHr7z+rzV2x6UGKiAUGGjhDZsAAQIECBAgQIAAge0LhN0CfzUajX52vidZMFAs1cr/nhwVdgl87tzV2z+3/d7rQR8EhAJ9qKIxECBAgAABAgQIECDQSYG7n33kXHL/zK0QApw+GEAIAqYbBibZQHnZNg6bC+5dOPuRN+50csA6HZ2AUCC6kugQAQIECBAgQIAAAQJDErhz7cKzYWH29PyY51KB2Y/Cd587d+XWM0PyMdZmBYQCzfq6OgECBAgQIECAAAECBI4UePMvzj38tW84fTfsCHjgaKrxu+/7+v2zD//inTeREqhLQChQl6TrECBAgAABAgQIECBAYEOBO9fOf3qUjD521OnjZPwH567c/viGTTiNwEIBoYCJQYAAAQIECBAgQIAAgS0L/Odzjz74zplTb4SHDj64qCvh4YLvPHjvvUe+9enX39lyVzXfMwGhQM8KajgECBAgQIAAAQIECHRTIOwW+HjYLfD7C0OBZPybYZfAp7s5Mr2OWUAoEHN19I0AAQIECBAgQIAAgcEI3Ll29oHkzENfG93777kxj898c5Lce/t9567cfXcwGAbamoBQoDVqDREgQIAAAQIECBAgQOBogVtf+OPxmdf/dO6ge4/+SnLhw79m7WbyNCJgYjXC6qIECBAgQIAAAQIECBBYX+DVf3tl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',\n};\n","import * as go from 'gojs';\nimport { AtoGojsEditorModel } from '../models/gojs-editor.model';\n\nexport enum ENUM_ASSET_PARAMETERS {\n FEED_FLOW_RATE = 'Feed Flow Rate',\n FEED_CONDUCTIVITY = 'Feed Conductivity',\n FEED_TEMPERATURE = 'Feed Temperature',\n PRIMARY_PRESSURE = 'Primary Pressure',\n REJECTION_RATE_SALT_PASSAGE = 'Rejection Rate/Salt Passage',\n PRESSURE_DROP = 'Pressure Drop',\n SYSTEM_RECOVERY_RATE = 'System Recovery Rate',\n PERMEATE_FLOW_RATE = 'Permeate Flow Rate',\n PERMEATE_CONDUCTIVITY = 'Permeate Conductivity',\n PERMEATE_PRESSURE = 'Permeate Pressure',\n CONCENTRATE_FLOW_RATE = 'Concentrate Flow Rate',\n CONCENTRATE_PRESSURE = 'Stage2 Concentrate Pressure',\n CONCENTRATE_CONDUCTIVITY = 'Concentrate Conductivity',\n // Makeup Water\n MAKEUP_WATER_FLOW_RATE = 'MakeupWaterFlowRate',\n MAKEUP_WATER_FLOW = 'MakeupWaterFlow',\n MAKEUP_WATER_CONDUCTIVITY = 'MakeupWaterConductivity',\n MAKEUP_WATER_PH = 'MakeupWaterpH',\n MAKEUP_WATER_CALCIUM = 'MakeupWaterCalcium',\n MAKEUP_WATER_TOTAL_IRON = 'MakeupWaterTotalIron',\n SPECIFIC_CONDUCTIVITY = 'Specific Conductivity',\n PH = 'pH',\n SILICA = 'Silica',\n // Evaporation Loss\n EVAPORATION_LOSS_FLOW_RATE = 'EvaporationLossFlowRate',\n EVAPORATION_LOSS_FLOW = 'EvaporationLossFlow',\n // Blowndown Water\n BLOWDOWN_WATER_FLOW_RATE = 'BlowdownWaterFlowRate',\n BLOWDOWN_WATER_FLOW = 'BlowdownWaterFlow',\n // Warmer Water\n WARMER_WATER_FLOW_RATE = 'WarmerWaterFlowRate',\n WARMER_WATER_FLOW = 'WarmerWaterFlow',\n // Cooling Tower Analysis\n ANALYSIS_CONDUCTIVITY = 'AnalysisConductivity',\n ANALYSIS_PH = 'AnalysispH',\n ANALYSIS_CALCIUM = 'AnalysisCalcium',\n ANALYSIS_TOTAL_IRON = 'AnalysisTotalIron',\n // Cooling Tower Chemistry\n CHEMISTRY_PHOSPHATE = 'ChemistryPhosphate',\n CHEMISTRY_CHLORINE = 'ChemistryChlorine',\n CHEMISTRY_STP_RESIDUAL = 'ChemistrySTPResidual',\n CHEMISTRY_CS_CORROSION = 'ChemistryCSCorrosion',\n // Cooling Tower KPI\n KPI_CYCLES = 'KpiCycles',\n // KPI_ATP = 'KpiATP',\n BACTERIA = 'Bacteria #',\n // Condensate Return\n TOTAL_IRON = 'Total Iron',\n // Steam\n CATIONIC_CONDUCTIVITY = 'Cationic Conductivity',\n INTERNAL_TREATMENT_PHOSPHATE = 'Internal Treatment Phosphate',\n PHOSPHATE = 'Phosphate',\n MOLYBDATE = 'Molybdate',\n M_ALKALINITY = 'M-Alkalinity',\n CYCLES = 'Cycles',\n SOLUBLE_IRON = 'Soluble Iron',\n // For Boiler - view Flow\n FLOW = 'Flow',\n FLOW_RATE = 'Flow Rate',\n PH_IN_STEAM = 'pH in Steam',\n CATIONIC_CONDUCTIVITY_IN_STEAM = 'Cationic Conductivity in Steam',\n SI_IN_STEAM = 'Si in Steam',\n SI_IN_BOILER = 'Si in Boiler',\n PH_IN_BOILER = 'pH in Boiler',\n}\n\nexport enum WATER_SYSTEMS_NAME {\n EVAPORATION_LOSS = 'Evaporation Loss',\n MAKEUP_WATER = 'Makeup Water', // includes MAKEUP_WATER__FLOW or MAKEUP_WATER__CHEMISTRY\n MAKEUP_WATER__FLOW = 'Makeup Water Flow',\n MAKEUP_WATER__CHEMISTRY = 'Makeup Water Chemistry',\n WARMER_WATER = 'Warmer Water (Recirculation)',\n BLOWDOWN_WATER = 'Blowdown Water',\n COOLING_TOWER_ANALYSIS = 'Cooling Water Analysis',\n COOLING_WATER_CHEMISTRY = 'Cooling Water Chemistry',\n SYSTEM_KPIS = `System KPI's`,\n SYSTEM_KPIS_STEAM = `System KPI's Steam`,\n SYSTEM_KPIS_BOILER_WATER = `System KPI's Boiler Water`,\n // For Boiler-\n CONDENSATE_RETURN = 'Condensate Return',\n CONDENSATE_RETURN__FLOW = 'Condensate Return Flow',\n CONDENSATE_RETURN__CHEMISTRY = 'Condensate Return Chemistry',\n\n BOILER_FEED_WATER = 'Boiler Feed Water',\n BOILER_FEED_WATER__FLOW = 'Boiler Feed Water Flow',\n BOILER_FEED_WATER__CHEMISTRY = 'Boiler Feed Water Chemistry',\n\n STEAM = 'Steam',\n STEAM__FLOW = 'Steam Flow',\n STEAM__CHEMISTRY = 'Steam Chemistry',\n\n BOILER_WATER = 'Boiler Water',\n BOILER_WATER__FLOW = 'Boiler Water Flow',\n BOILER_WATER__CHEMISTRY = 'Boiler Water Chemistry',\n\n STEAM_LOSS = 'Steam Loss',\n BLOWDOWN = 'Blowdown',\n}\n\nexport const DATA_ASSET_PARAMETER_FIELDS = {\n [ENUM_ASSET_PARAMETERS.FEED_FLOW_RATE]: {\n name: ENUM_ASSET_PARAMETERS.FEED_FLOW_RATE,\n key: ENUM_ASSET_PARAMETERS.FEED_FLOW_RATE,\n },\n [ENUM_ASSET_PARAMETERS.FEED_CONDUCTIVITY]: {\n name: ENUM_ASSET_PARAMETERS.FEED_CONDUCTIVITY,\n key: ENUM_ASSET_PARAMETERS.FEED_CONDUCTIVITY,\n },\n [ENUM_ASSET_PARAMETERS.FEED_TEMPERATURE]: {\n name: ENUM_ASSET_PARAMETERS.FEED_TEMPERATURE,\n key: ENUM_ASSET_PARAMETERS.FEED_TEMPERATURE,\n },\n [ENUM_ASSET_PARAMETERS.PRIMARY_PRESSURE]: {\n name: ENUM_ASSET_PARAMETERS.PRIMARY_PRESSURE,\n key: ENUM_ASSET_PARAMETERS.PRIMARY_PRESSURE,\n },\n [ENUM_ASSET_PARAMETERS.REJECTION_RATE_SALT_PASSAGE]: {\n name: ENUM_ASSET_PARAMETERS.REJECTION_RATE_SALT_PASSAGE,\n key: ENUM_ASSET_PARAMETERS.REJECTION_RATE_SALT_PASSAGE,\n },\n [ENUM_ASSET_PARAMETERS.PRESSURE_DROP]: {\n name: ENUM_ASSET_PARAMETERS.PRESSURE_DROP,\n key: ENUM_ASSET_PARAMETERS.PRESSURE_DROP,\n },\n [ENUM_ASSET_PARAMETERS.SYSTEM_RECOVERY_RATE]: {\n name: ENUM_ASSET_PARAMETERS.SYSTEM_RECOVERY_RATE,\n key: ENUM_ASSET_PARAMETERS.SYSTEM_RECOVERY_RATE,\n },\n [ENUM_ASSET_PARAMETERS.PERMEATE_FLOW_RATE]: {\n name: ENUM_ASSET_PARAMETERS.PERMEATE_FLOW_RATE,\n key: ENUM_ASSET_PARAMETERS.PERMEATE_FLOW_RATE,\n },\n [ENUM_ASSET_PARAMETERS.PERMEATE_CONDUCTIVITY]: {\n name: ENUM_ASSET_PARAMETERS.PERMEATE_CONDUCTIVITY,\n key: ENUM_ASSET_PARAMETERS.PERMEATE_CONDUCTIVITY,\n },\n [ENUM_ASSET_PARAMETERS.PERMEATE_PRESSURE]: {\n name: ENUM_ASSET_PARAMETERS.PERMEATE_PRESSURE,\n key: ENUM_ASSET_PARAMETERS.PERMEATE_PRESSURE,\n },\n [ENUM_ASSET_PARAMETERS.CONCENTRATE_FLOW_RATE]: {\n name: ENUM_ASSET_PARAMETERS.CONCENTRATE_FLOW_RATE,\n key: ENUM_ASSET_PARAMETERS.CONCENTRATE_FLOW_RATE,\n },\n [ENUM_ASSET_PARAMETERS.CONCENTRATE_PRESSURE]: {\n name: ENUM_ASSET_PARAMETERS.CONCENTRATE_PRESSURE,\n key: ENUM_ASSET_PARAMETERS.CONCENTRATE_PRESSURE,\n },\n [ENUM_ASSET_PARAMETERS.CONCENTRATE_CONDUCTIVITY]: {\n name: ENUM_ASSET_PARAMETERS.CONCENTRATE_CONDUCTIVITY,\n key: ENUM_ASSET_PARAMETERS.CONCENTRATE_CONDUCTIVITY,\n },\n // Makeup Water\n [ENUM_ASSET_PARAMETERS.MAKEUP_WATER_FLOW_RATE]: {\n name: 'Flow Rate',\n key: ENUM_ASSET_PARAMETERS.MAKEUP_WATER_FLOW_RATE,\n waterSystem: WATER_SYSTEMS_NAME.MAKEUP_WATER,\n },\n [ENUM_ASSET_PARAMETERS.MAKEUP_WATER_FLOW]: {\n name: 'Flow',\n key: ENUM_ASSET_PARAMETERS.MAKEUP_WATER_FLOW,\n waterSystem: WATER_SYSTEMS_NAME.MAKEUP_WATER,\n },\n [ENUM_ASSET_PARAMETERS.MAKEUP_WATER_CONDUCTIVITY]: {\n name: 'Conductivity',\n key: ENUM_ASSET_PARAMETERS.MAKEUP_WATER_CONDUCTIVITY,\n waterSystem: WATER_SYSTEMS_NAME.MAKEUP_WATER,\n },\n [ENUM_ASSET_PARAMETERS.MAKEUP_WATER_PH]: {\n name: 'pH',\n key: ENUM_ASSET_PARAMETERS.MAKEUP_WATER_PH,\n waterSystem: WATER_SYSTEMS_NAME.MAKEUP_WATER,\n },\n [ENUM_ASSET_PARAMETERS.MAKEUP_WATER_CALCIUM]: {\n name: 'Calcium',\n key: ENUM_ASSET_PARAMETERS.MAKEUP_WATER_CALCIUM,\n waterSystem: WATER_SYSTEMS_NAME.MAKEUP_WATER,\n },\n [ENUM_ASSET_PARAMETERS.MAKEUP_WATER_TOTAL_IRON]: {\n name: 'Total Iron',\n key: ENUM_ASSET_PARAMETERS.MAKEUP_WATER_TOTAL_IRON,\n waterSystem: WATER_SYSTEMS_NAME.MAKEUP_WATER,\n },\n // Evaporation Loss\n [ENUM_ASSET_PARAMETERS.EVAPORATION_LOSS_FLOW_RATE]: {\n name: 'Flow Rate',\n key: ENUM_ASSET_PARAMETERS.EVAPORATION_LOSS_FLOW_RATE,\n waterSystem: WATER_SYSTEMS_NAME.EVAPORATION_LOSS,\n },\n [ENUM_ASSET_PARAMETERS.EVAPORATION_LOSS_FLOW]: {\n name: 'Flow',\n key: ENUM_ASSET_PARAMETERS.EVAPORATION_LOSS_FLOW,\n waterSystem: WATER_SYSTEMS_NAME.EVAPORATION_LOSS,\n },\n // Blowndown Water\n [ENUM_ASSET_PARAMETERS.BLOWDOWN_WATER_FLOW_RATE]: {\n name: 'Flow Rate',\n key: ENUM_ASSET_PARAMETERS.BLOWDOWN_WATER_FLOW_RATE,\n waterSystem: WATER_SYSTEMS_NAME.BLOWDOWN_WATER,\n },\n [ENUM_ASSET_PARAMETERS.BLOWDOWN_WATER_FLOW]: {\n name: 'Flow',\n key: ENUM_ASSET_PARAMETERS.BLOWDOWN_WATER_FLOW,\n waterSystem: WATER_SYSTEMS_NAME.BLOWDOWN_WATER,\n },\n // Warmer Water\n [ENUM_ASSET_PARAMETERS.WARMER_WATER_FLOW_RATE]: {\n name: 'Flow Rate',\n key: ENUM_ASSET_PARAMETERS.WARMER_WATER_FLOW_RATE,\n waterSystem: WATER_SYSTEMS_NAME.WARMER_WATER,\n },\n [ENUM_ASSET_PARAMETERS.WARMER_WATER_FLOW]: {\n name: 'Flow',\n key: ENUM_ASSET_PARAMETERS.WARMER_WATER_FLOW,\n waterSystem: WATER_SYSTEMS_NAME.WARMER_WATER,\n },\n // Cooling Tower Analysis\n [ENUM_ASSET_PARAMETERS.ANALYSIS_CONDUCTIVITY]: {\n name: 'Conductivity',\n key: ENUM_ASSET_PARAMETERS.ANALYSIS_CONDUCTIVITY,\n waterSystem: WATER_SYSTEMS_NAME.COOLING_TOWER_ANALYSIS,\n },\n [ENUM_ASSET_PARAMETERS.ANALYSIS_PH]: {\n name: 'pH',\n key: ENUM_ASSET_PARAMETERS.ANALYSIS_PH,\n waterSystem: WATER_SYSTEMS_NAME.COOLING_TOWER_ANALYSIS,\n },\n [ENUM_ASSET_PARAMETERS.ANALYSIS_CALCIUM]: {\n name: 'Calcium',\n key: ENUM_ASSET_PARAMETERS.ANALYSIS_CALCIUM,\n waterSystem: WATER_SYSTEMS_NAME.COOLING_TOWER_ANALYSIS,\n },\n [ENUM_ASSET_PARAMETERS.ANALYSIS_TOTAL_IRON]: {\n name: 'Iron',\n key: ENUM_ASSET_PARAMETERS.ANALYSIS_TOTAL_IRON,\n waterSystem: WATER_SYSTEMS_NAME.COOLING_TOWER_ANALYSIS,\n },\n // Cooling Tower Chemistry\n [ENUM_ASSET_PARAMETERS.CHEMISTRY_PHOSPHATE]: {\n name: 'Phosphate',\n key: ENUM_ASSET_PARAMETERS.CHEMISTRY_PHOSPHATE,\n waterSystem: WATER_SYSTEMS_NAME.COOLING_WATER_CHEMISTRY,\n },\n [ENUM_ASSET_PARAMETERS.CHEMISTRY_CHLORINE]: {\n name: 'Chlorine',\n key: ENUM_ASSET_PARAMETERS.CHEMISTRY_CHLORINE,\n waterSystem: WATER_SYSTEMS_NAME.COOLING_WATER_CHEMISTRY,\n },\n [ENUM_ASSET_PARAMETERS.CHEMISTRY_STP_RESIDUAL]: {\n name: 'STP Residual',\n key: ENUM_ASSET_PARAMETERS.CHEMISTRY_STP_RESIDUAL,\n waterSystem: WATER_SYSTEMS_NAME.COOLING_WATER_CHEMISTRY,\n },\n [ENUM_ASSET_PARAMETERS.CHEMISTRY_CS_CORROSION]: {\n name: 'CS Corrosion',\n key: ENUM_ASSET_PARAMETERS.CHEMISTRY_CS_CORROSION,\n waterSystem: WATER_SYSTEMS_NAME.COOLING_WATER_CHEMISTRY,\n },\n // Cooling Tower KPI\n [ENUM_ASSET_PARAMETERS.KPI_CYCLES]: {\n name: 'Cycles',\n key: ENUM_ASSET_PARAMETERS.KPI_CYCLES,\n waterSystem: WATER_SYSTEMS_NAME.SYSTEM_KPIS,\n },\n [ENUM_ASSET_PARAMETERS.BACTERIA]: {\n name: ENUM_ASSET_PARAMETERS.BACTERIA,\n key: ENUM_ASSET_PARAMETERS.BACTERIA,\n waterSystem: WATER_SYSTEMS_NAME.SYSTEM_KPIS,\n },\n // Boiler for view Chemistry\n [ENUM_ASSET_PARAMETERS.SPECIFIC_CONDUCTIVITY]: {\n name: ENUM_ASSET_PARAMETERS.SPECIFIC_CONDUCTIVITY,\n key: ENUM_ASSET_PARAMETERS.SPECIFIC_CONDUCTIVITY,\n },\n [ENUM_ASSET_PARAMETERS.PH]: {\n name: ENUM_ASSET_PARAMETERS.PH,\n key: ENUM_ASSET_PARAMETERS.PH,\n },\n [ENUM_ASSET_PARAMETERS.SILICA]: {\n name: ENUM_ASSET_PARAMETERS.SILICA,\n key: ENUM_ASSET_PARAMETERS.SILICA,\n },\n [ENUM_ASSET_PARAMETERS.TOTAL_IRON]: {\n name: ENUM_ASSET_PARAMETERS.TOTAL_IRON,\n key: ENUM_ASSET_PARAMETERS.TOTAL_IRON,\n },\n [ENUM_ASSET_PARAMETERS.PHOSPHATE]: {\n name: ENUM_ASSET_PARAMETERS.PHOSPHATE,\n key: ENUM_ASSET_PARAMETERS.PHOSPHATE,\n },\n [ENUM_ASSET_PARAMETERS.MOLYBDATE]: {\n name: ENUM_ASSET_PARAMETERS.MOLYBDATE,\n key: ENUM_ASSET_PARAMETERS.MOLYBDATE,\n },\n [ENUM_ASSET_PARAMETERS.M_ALKALINITY]: {\n name: ENUM_ASSET_PARAMETERS.M_ALKALINITY,\n key: ENUM_ASSET_PARAMETERS.M_ALKALINITY,\n },\n [ENUM_ASSET_PARAMETERS.CATIONIC_CONDUCTIVITY]: {\n name: ENUM_ASSET_PARAMETERS.CATIONIC_CONDUCTIVITY,\n key: ENUM_ASSET_PARAMETERS.CATIONIC_CONDUCTIVITY,\n },\n [ENUM_ASSET_PARAMETERS.CYCLES]: {\n name: ENUM_ASSET_PARAMETERS.CYCLES,\n key: ENUM_ASSET_PARAMETERS.CYCLES,\n },\n [ENUM_ASSET_PARAMETERS.SOLUBLE_IRON]: {\n name: ENUM_ASSET_PARAMETERS.SOLUBLE_IRON,\n key: ENUM_ASSET_PARAMETERS.SOLUBLE_IRON,\n },\n [ENUM_ASSET_PARAMETERS.INTERNAL_TREATMENT_PHOSPHATE]: {\n name: ENUM_ASSET_PARAMETERS.INTERNAL_TREATMENT_PHOSPHATE,\n key: ENUM_ASSET_PARAMETERS.INTERNAL_TREATMENT_PHOSPHATE,\n },\n // Boiler for view Flow\n [ENUM_ASSET_PARAMETERS.FLOW]: {\n name: ENUM_ASSET_PARAMETERS.FLOW,\n key: ENUM_ASSET_PARAMETERS.FLOW,\n },\n [ENUM_ASSET_PARAMETERS.FLOW_RATE]: {\n name: ENUM_ASSET_PARAMETERS.FLOW_RATE,\n key: ENUM_ASSET_PARAMETERS.FLOW_RATE,\n },\n [ENUM_ASSET_PARAMETERS.PH_IN_STEAM]: {\n name: ENUM_ASSET_PARAMETERS.PH_IN_STEAM,\n key: ENUM_ASSET_PARAMETERS.PH_IN_STEAM,\n },\n [ENUM_ASSET_PARAMETERS.CATIONIC_CONDUCTIVITY_IN_STEAM]: {\n name: ENUM_ASSET_PARAMETERS.CATIONIC_CONDUCTIVITY_IN_STEAM,\n key: ENUM_ASSET_PARAMETERS.CATIONIC_CONDUCTIVITY_IN_STEAM,\n },\n [ENUM_ASSET_PARAMETERS.SI_IN_STEAM]: {\n name: ENUM_ASSET_PARAMETERS.SI_IN_STEAM,\n key: ENUM_ASSET_PARAMETERS.SI_IN_STEAM,\n },\n [ENUM_ASSET_PARAMETERS.SI_IN_BOILER]: {\n name: ENUM_ASSET_PARAMETERS.SI_IN_BOILER,\n key: ENUM_ASSET_PARAMETERS.SI_IN_BOILER,\n },\n [ENUM_ASSET_PARAMETERS.PH_IN_BOILER]: {\n name: ENUM_ASSET_PARAMETERS.PH_IN_BOILER,\n key: ENUM_ASSET_PARAMETERS.PH_IN_BOILER,\n },\n};\n\nexport const DATA_WATER_SYSTEMS = {\n [WATER_SYSTEMS_NAME.EVAPORATION_LOSS]: {\n title: WATER_SYSTEMS_NAME.EVAPORATION_LOSS,\n color: AtoGojsEditorModel.ENUM_COLORS.FLAMINGO,\n borderTable: AtoGojsEditorModel.ENUM_COLORS.FLAMINGO,\n bgColor: AtoGojsEditorModel.ENUM_COLORS.SNOW,\n },\n [WATER_SYSTEMS_NAME.WARMER_WATER]: {\n title: WATER_SYSTEMS_NAME.WARMER_WATER,\n color: AtoGojsEditorModel.ENUM_COLORS.CARROT_ORANGE,\n borderTable: AtoGojsEditorModel.ENUM_COLORS.CARROT_ORANGE,\n bgColor: AtoGojsEditorModel.ENUM_COLORS.OLD_LACE,\n },\n [WATER_SYSTEMS_NAME.BLOWDOWN_WATER]: {\n title: WATER_SYSTEMS_NAME.BLOWDOWN_WATER,\n color: AtoGojsEditorModel.ENUM_COLORS.CARROT_ORANGE,\n borderTable: AtoGojsEditorModel.ENUM_COLORS.CARROT_ORANGE,\n bgColor: AtoGojsEditorModel.ENUM_COLORS.OLD_LACE,\n },\n\n [WATER_SYSTEMS_NAME.MAKEUP_WATER__FLOW]: {\n title: WATER_SYSTEMS_NAME.MAKEUP_WATER,\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n borderTable: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n bgColor: AtoGojsEditorModel.ENUM_COLORS.CERULEAN_ALICE_BLUE,\n },\n [WATER_SYSTEMS_NAME.MAKEUP_WATER__CHEMISTRY]: {\n title: WATER_SYSTEMS_NAME.MAKEUP_WATER,\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n borderTable: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n bgColor: AtoGojsEditorModel.ENUM_COLORS.CERULEAN_ALICE_BLUE,\n },\n\n [WATER_SYSTEMS_NAME.COOLING_TOWER_ANALYSIS]: {\n title: WATER_SYSTEMS_NAME.COOLING_TOWER_ANALYSIS,\n color: AtoGojsEditorModel.ENUM_COLORS.FOUNTAIN_BLUE,\n borderTable: AtoGojsEditorModel.ENUM_COLORS.FOUNTAIN_BLUE,\n bgColor: AtoGojsEditorModel.ENUM_COLORS.AZURE,\n },\n [WATER_SYSTEMS_NAME.COOLING_WATER_CHEMISTRY]: {\n title: WATER_SYSTEMS_NAME.COOLING_WATER_CHEMISTRY,\n color: AtoGojsEditorModel.ENUM_COLORS.FOUNTAIN_BLUE,\n borderTable: AtoGojsEditorModel.ENUM_COLORS.FOUNTAIN_BLUE,\n bgColor: AtoGojsEditorModel.ENUM_COLORS.AZURE,\n },\n [WATER_SYSTEMS_NAME.SYSTEM_KPIS]: {\n title: WATER_SYSTEMS_NAME.SYSTEM_KPIS,\n color: AtoGojsEditorModel.ENUM_COLORS.FOUNTAIN_BLUE,\n borderTable: AtoGojsEditorModel.ENUM_COLORS.FOUNTAIN_BLUE,\n bgColor: AtoGojsEditorModel.ENUM_COLORS.AZURE,\n },\n // For Boiler\n [WATER_SYSTEMS_NAME.MAKEUP_WATER]: {\n title: WATER_SYSTEMS_NAME.MAKEUP_WATER,\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n borderTable: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n bgColor: AtoGojsEditorModel.ENUM_COLORS.CERULEAN_ALICE_BLUE,\n },\n [WATER_SYSTEMS_NAME.CONDENSATE_RETURN]: {\n title: WATER_SYSTEMS_NAME.CONDENSATE_RETURN,\n color: AtoGojsEditorModel.ENUM_COLORS.FOUNTAIN_BLUE,\n borderTable: AtoGojsEditorModel.ENUM_COLORS.FOUNTAIN_BLUE,\n bgColor: AtoGojsEditorModel.ENUM_COLORS.AZURE,\n },\n [WATER_SYSTEMS_NAME.STEAM]: {\n title: WATER_SYSTEMS_NAME.STEAM,\n color: AtoGojsEditorModel.ENUM_COLORS.FLAMINGO,\n borderTable: AtoGojsEditorModel.ENUM_COLORS.FLAMINGO,\n bgColor: AtoGojsEditorModel.ENUM_COLORS.SNOW,\n },\n [WATER_SYSTEMS_NAME.BOILER_FEED_WATER]: {\n title: WATER_SYSTEMS_NAME.BOILER_FEED_WATER,\n color: AtoGojsEditorModel.ENUM_COLORS.LIGHT_SKY_BLUE_2,\n borderTable: AtoGojsEditorModel.ENUM_COLORS.LIGHT_SKY_BLUE_2,\n bgColor: AtoGojsEditorModel.ENUM_COLORS.DANUBE_ALICE_BLUE,\n },\n [WATER_SYSTEMS_NAME.BOILER_WATER]: {\n title: WATER_SYSTEMS_NAME.BOILER_WATER,\n color: AtoGojsEditorModel.ENUM_COLORS.REGENT_ST_BLUE,\n borderTable: AtoGojsEditorModel.ENUM_COLORS.REGENT_ST_BLUE,\n bgColor: AtoGojsEditorModel.ENUM_COLORS.AZURE,\n },\n\n [WATER_SYSTEMS_NAME.STEAM_LOSS]: {\n title: WATER_SYSTEMS_NAME.STEAM_LOSS,\n color: AtoGojsEditorModel.ENUM_COLORS.FLAMINGO,\n borderTable: AtoGojsEditorModel.ENUM_COLORS.FLAMINGO,\n bgColor: AtoGojsEditorModel.ENUM_COLORS.SNOW,\n },\n [WATER_SYSTEMS_NAME.BLOWDOWN]: {\n title: WATER_SYSTEMS_NAME.BLOWDOWN,\n color: AtoGojsEditorModel.ENUM_COLORS.CARROT_ORANGE,\n borderTable: AtoGojsEditorModel.ENUM_COLORS.CARROT_ORANGE,\n bgColor: AtoGojsEditorModel.ENUM_COLORS.OLD_LACE,\n },\n};\n\nexport const ASSET_CATEGORY_PARAMS = {\n [WATER_SYSTEMS_NAME.EVAPORATION_LOSS]: [\n DATA_ASSET_PARAMETER_FIELDS[\n ENUM_ASSET_PARAMETERS.EVAPORATION_LOSS_FLOW_RATE\n ],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.EVAPORATION_LOSS_FLOW],\n ],\n [WATER_SYSTEMS_NAME.WARMER_WATER]: [\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.WARMER_WATER_FLOW_RATE],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.WARMER_WATER_FLOW],\n ],\n [WATER_SYSTEMS_NAME.MAKEUP_WATER__FLOW]: [\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.MAKEUP_WATER_FLOW_RATE],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.MAKEUP_WATER_FLOW],\n ],\n [WATER_SYSTEMS_NAME.MAKEUP_WATER__CHEMISTRY]: [\n DATA_ASSET_PARAMETER_FIELDS[\n ENUM_ASSET_PARAMETERS.MAKEUP_WATER_CONDUCTIVITY\n ],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.MAKEUP_WATER_PH],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.MAKEUP_WATER_CALCIUM],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.MAKEUP_WATER_TOTAL_IRON],\n ],\n [WATER_SYSTEMS_NAME.BLOWDOWN_WATER]: [\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.BLOWDOWN_WATER_FLOW_RATE],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.BLOWDOWN_WATER_FLOW],\n ],\n [WATER_SYSTEMS_NAME.COOLING_TOWER_ANALYSIS]: [\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.ANALYSIS_CONDUCTIVITY],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.ANALYSIS_PH],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.ANALYSIS_CALCIUM],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.ANALYSIS_TOTAL_IRON],\n ],\n [WATER_SYSTEMS_NAME.COOLING_WATER_CHEMISTRY]: [\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.CHEMISTRY_PHOSPHATE],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.CHEMISTRY_CHLORINE],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.CHEMISTRY_STP_RESIDUAL],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.CHEMISTRY_CS_CORROSION],\n ],\n [WATER_SYSTEMS_NAME.SYSTEM_KPIS]: [\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.KPI_CYCLES],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.BACTERIA],\n ],\n};\n\n// For Boiler\nexport const ASSET_CATEGORY_PARAMS__BOILER: any = {\n // For View Chemistry\n [WATER_SYSTEMS_NAME.MAKEUP_WATER__CHEMISTRY]: [\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.SPECIFIC_CONDUCTIVITY],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.PH],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.SILICA],\n ],\n [WATER_SYSTEMS_NAME.SYSTEM_KPIS_STEAM]: [\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.PH_IN_STEAM],\n DATA_ASSET_PARAMETER_FIELDS[\n ENUM_ASSET_PARAMETERS.CATIONIC_CONDUCTIVITY_IN_STEAM\n ],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.SI_IN_STEAM],\n ],\n [WATER_SYSTEMS_NAME.SYSTEM_KPIS_BOILER_WATER]: [\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.SI_IN_BOILER],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.PH_IN_BOILER],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.CYCLES],\n ],\n [WATER_SYSTEMS_NAME.CONDENSATE_RETURN__CHEMISTRY]: [\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.SPECIFIC_CONDUCTIVITY],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.PH],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.TOTAL_IRON],\n ],\n [WATER_SYSTEMS_NAME.STEAM__CHEMISTRY]: [\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.CATIONIC_CONDUCTIVITY],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.PH],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.SILICA],\n ],\n [WATER_SYSTEMS_NAME.BOILER_FEED_WATER__CHEMISTRY]: [\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.SPECIFIC_CONDUCTIVITY],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.PH],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.SOLUBLE_IRON],\n ],\n [WATER_SYSTEMS_NAME.BOILER_WATER]: [\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.SPECIFIC_CONDUCTIVITY],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.PH],\n DATA_ASSET_PARAMETER_FIELDS[\n ENUM_ASSET_PARAMETERS.INTERNAL_TREATMENT_PHOSPHATE\n ],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.MOLYBDATE],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.SILICA],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.M_ALKALINITY],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.CYCLES],\n ],\n // For View Flow\n [WATER_SYSTEMS_NAME.MAKEUP_WATER__FLOW]: [\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.FLOW],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.FLOW_RATE],\n ],\n [WATER_SYSTEMS_NAME.CONDENSATE_RETURN__FLOW]: [\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.FLOW],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.FLOW_RATE],\n ],\n [WATER_SYSTEMS_NAME.STEAM__FLOW]: [\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.FLOW],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.FLOW_RATE],\n ],\n [WATER_SYSTEMS_NAME.BOILER_FEED_WATER__FLOW]: [\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.FLOW],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.FLOW_RATE],\n ],\n [WATER_SYSTEMS_NAME.STEAM_LOSS]: [\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.FLOW],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.FLOW_RATE],\n ],\n [WATER_SYSTEMS_NAME.BLOWDOWN]: [\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.FLOW],\n DATA_ASSET_PARAMETER_FIELDS[ENUM_ASSET_PARAMETERS.FLOW_RATE],\n ],\n};\n\nexport enum COMPONENTS_GROUP_TYPE {\n INFLOW = 'Inflow',\n LOSS = 'Loss',\n OUTFLOW = 'Outflow',\n RECIRCULATED = 'Recirculated',\n EMBODIED = 'Embodied',\n INFLOW_VALUE = 'InFlowValue',\n OUTFLOW_VALUE = 'OutFlowValue',\n LOSS_VALUE = 'LossValue',\n RECIRCULATED_VALUE = 'RecirculatedValue',\n}\n\nexport enum ATO_ASSET_LAYERS {\n FLOW = 'Flow',\n CHEMISTRY = 'Chemistry',\n ANALYTICS = 'Analytics',\n}\n\nexport enum ATO_MAPPER_FROM {\n HFW = 'HFW',\n PLUGIN = 'Plugin',\n}\n\nexport const ATO_COMPONENTS_GROUP_DATA = {\n [AtoGojsEditorModel.ENUM_TYPES.STORAGE]: {\n nodeDataArray: [\n {\n key: 90,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Inflow',\n value: '0 kl',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n group: 100,\n loc: '0 130.5',\n },\n {\n key: 91,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Outflow',\n value: '0 kl',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n group: 100,\n loc: '300 130.5',\n },\n {\n key: 92,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Loss',\n value: 'M',\n color: AtoGojsEditorModel.ENUM_COLORS.BLUE,\n group: 100,\n colorValue: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n loc: '152.5 0',\n },\n {\n key: 99,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.SPECIAL_STORE,\n group: 100,\n loc: '92.5 95',\n },\n {\n key: 100,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.STORAGE,\n isGroup: true,\n name: 'Group',\n },\n ],\n linkDataArray: [\n { from: 90, to: 99, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 91, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 92, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n ],\n },\n [AtoGojsEditorModel.ENUM_TYPES.WATER_TREATMENT]: {\n nodeDataArray: [\n {\n key: 90,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Inflow',\n value: '0 kl',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n group: 100,\n loc: '0 134.5',\n },\n {\n key: 91,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Outflow',\n value: '0 kl',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n group: 100,\n loc: '333 170',\n },\n {\n key: 92,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Loss',\n value: 'M',\n color: AtoGojsEditorModel.ENUM_COLORS.BLUE,\n group: 100,\n colorValue: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n loc: '160.5 297',\n },\n {\n key: 93,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Recirculated',\n value: 'M',\n color: AtoGojsEditorModel.ENUM_COLORS.VIVID_VIOLET,\n group: 100,\n colorValue: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n loc: '266 32',\n },\n {\n key: 99,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.SPECIAL_PROCESS,\n group: 100,\n loc: '92.5 95',\n },\n {\n key: 100,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.WATER_TREATMENT,\n isGroup: true,\n name: 'Group',\n },\n ],\n linkDataArray: [\n { from: 90, to: 99, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 91, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 92, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n {\n from: 99,\n to: 93,\n color: AtoGojsEditorModel.ENUM_COLORS.BLUE,\n fromPort: 'T',\n toPort: 'T',\n },\n {\n from: 93,\n to: 99,\n color: AtoGojsEditorModel.ENUM_COLORS.BLUE,\n fromPort: 'B',\n toPort: 'R',\n },\n ],\n },\n [AtoGojsEditorModel.ENUM_TYPES.DEMIN_WATER_TREATMENT]: {\n nodeDataArray: [\n {\n key: 90,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Inflow',\n value: '0 kl',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n group: 100,\n loc: '0 134.5',\n },\n {\n key: 91,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Outflow',\n value: '0 kl',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n group: 100,\n loc: '333 170',\n },\n {\n key: 92,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Loss',\n value: 'M',\n color: AtoGojsEditorModel.ENUM_COLORS.BLUE,\n group: 100,\n colorValue: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n loc: '160.5 297',\n },\n {\n key: 93,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Recirculated',\n value: 'M',\n color: AtoGojsEditorModel.ENUM_COLORS.VIVID_VIOLET,\n group: 100,\n colorValue: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n loc: '266 32',\n },\n {\n key: 99,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.SPECIAL_PROCESS,\n group: 100,\n loc: '125 110',\n },\n {\n key: 100,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.WATER_TREATMENT,\n isGroup: true,\n name: 'Group',\n },\n ],\n linkDataArray: [\n { from: 90, to: 99, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 91, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 92, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n {\n from: 99,\n to: 93,\n color: AtoGojsEditorModel.ENUM_COLORS.BLUE,\n fromPort: 'T',\n toPort: 'L',\n },\n {\n from: 93,\n to: 99,\n color: AtoGojsEditorModel.ENUM_COLORS.BLUE,\n fromPort: 'B',\n toPort: 'R',\n },\n ],\n },\n [AtoGojsEditorModel.ENUM_TYPES.RO_WATER_TREATMENT]: {\n nodeDataArray: [\n {\n key: 93,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.MASS_BALANCE,\n group: 100,\n loc: '830 10',\n selectable: false,\n value: 'NA',\n font: 'bold 15px Arial',\n colorValue: '',\n tooltip: '',\n },\n {\n key: 94,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE,\n group: 100,\n loc: '20 10',\n padding: new go.Margin(0, 0, 0, 20),\n ...AtoGojsEditorModel.PARAM_TABLE_STYLE[\n AtoGojsEditorModel.ENUM_COLORS.CERULEAN\n ],\n minSizeValue: new go.Size(100, NaN),\n selectable: false,\n\n dataTable: [\n {\n key: '',\n name: ENUM_ASSET_PARAMETERS.FEED_FLOW_RATE,\n value: '',\n isEditable: true,\n },\n {\n key: '',\n name: ENUM_ASSET_PARAMETERS.FEED_CONDUCTIVITY,\n value: '',\n isEditable: true,\n },\n {\n key: '',\n name: ENUM_ASSET_PARAMETERS.FEED_TEMPERATURE,\n value: '',\n isEditable: true,\n },\n {\n key: '',\n name: ENUM_ASSET_PARAMETERS.PRIMARY_PRESSURE,\n value: '',\n isEditable: true,\n },\n ],\n },\n {\n key: 95,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE,\n group: 100,\n loc: '420 40',\n ...AtoGojsEditorModel.PARAM_TABLE_STYLE[\n AtoGojsEditorModel.ENUM_COLORS.DANUBE\n ],\n minSizeValue: new go.Size(100, NaN),\n selectable: false,\n dataTable: [\n {\n key: '',\n name: ENUM_ASSET_PARAMETERS.REJECTION_RATE_SALT_PASSAGE,\n value: '',\n isEditable: true,\n },\n {\n key: '',\n name: ENUM_ASSET_PARAMETERS.PRESSURE_DROP,\n value: '',\n isEditable: true,\n },\n {\n key: '',\n name: ENUM_ASSET_PARAMETERS.SYSTEM_RECOVERY_RATE,\n value: '',\n isEditable: true,\n },\n ],\n },\n {\n key: 96,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE,\n group: 100,\n loc: '590 150',\n ...AtoGojsEditorModel.PARAM_TABLE_STYLE[\n AtoGojsEditorModel.ENUM_COLORS.FOUNTAIN_BLUE\n ],\n minSizeValue: new go.Size(100, NaN),\n selectable: false,\n dataTable: [\n {\n key: '',\n name: ENUM_ASSET_PARAMETERS.PERMEATE_FLOW_RATE,\n value: '',\n isEditable: true,\n },\n {\n key: '',\n name: ENUM_ASSET_PARAMETERS.PERMEATE_CONDUCTIVITY,\n value: '',\n isEditable: true,\n },\n {\n key: '',\n name: ENUM_ASSET_PARAMETERS.PERMEATE_PRESSURE,\n value: '',\n isEditable: true,\n },\n ],\n },\n {\n key: 97,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE,\n group: 100,\n loc: '30 370',\n ...AtoGojsEditorModel.PARAM_TABLE_STYLE[\n AtoGojsEditorModel.ENUM_COLORS.GALLIANO\n ],\n minSizeValue: new go.Size(100, NaN),\n selectable: false,\n dataTable: [\n {\n key: '',\n name: ENUM_ASSET_PARAMETERS.CONCENTRATE_FLOW_RATE,\n value: '',\n isEditable: true,\n },\n {\n key: '',\n name: ENUM_ASSET_PARAMETERS.CONCENTRATE_PRESSURE,\n value: '',\n isEditable: true,\n },\n {\n key: '',\n name: ENUM_ASSET_PARAMETERS.CONCENTRATE_CONDUCTIVITY,\n value: '',\n isEditable: true,\n },\n ],\n },\n {\n key: 99,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.IMAGE_TEMPLATE,\n source: AtoGojsEditorModel.IMAGE_RO_WATER_TREATMENT_PATH,\n group: 100,\n loc: '0 0',\n margin: new go.Margin(130, 0, 0, 0),\n selectable: false,\n },\n {\n key: 100,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.RO_WATER_TREATMENT,\n isGroup: true,\n name: 'Grid',\n loc: '0 0',\n selectable: false,\n // isViewGeneral: true,\n },\n ],\n linkDataArray: [],\n },\n [AtoGojsEditorModel.ENUM_TYPES.PROCESS]: {\n nodeDataArray: [\n {\n key: 90,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Inflow',\n value: '0 kl',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n group: 100,\n loc: '0 134.5',\n },\n {\n key: 91,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Outflow',\n value: '0 kl',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n group: 100,\n loc: '333 190',\n },\n {\n key: 92,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Loss',\n value: 'M',\n color: AtoGojsEditorModel.ENUM_COLORS.BLUE,\n group: 100,\n colorValue: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n loc: '104 -20',\n },\n {\n key: 93,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Recirculated',\n value: 'M',\n color: AtoGojsEditorModel.ENUM_COLORS.VIVID_VIOLET,\n group: 100,\n colorValue: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n loc: '266 32',\n },\n {\n key: 94,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Embodied',\n value: 'M',\n color: AtoGojsEditorModel.ENUM_COLORS.FOUNTAIN_BLUE,\n group: 100,\n colorValue: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n loc: '144.5 297',\n },\n {\n key: 99,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.SPECIAL_PROCESS,\n group: 100,\n loc: '90 80',\n },\n {\n key: 100,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.PROCESS,\n isGroup: true,\n name: 'Group',\n },\n ],\n linkDataArray: [\n { from: 90, to: 99, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 91, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 92, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 94, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n {\n from: 99,\n to: 93,\n color: AtoGojsEditorModel.ENUM_COLORS.BLUE,\n fromPort: 'T',\n toPort: 'L',\n },\n {\n from: 93,\n to: 99,\n color: AtoGojsEditorModel.ENUM_COLORS.BLUE,\n fromPort: 'B',\n toPort: 'R',\n },\n ],\n },\n [AtoGojsEditorModel.ENUM_TYPES.WASTEWATER_TREATMENT]: {\n nodeDataArray: [\n {\n key: 90,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Inflow',\n value: '0 kl',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n group: 100,\n loc: '0 134.5',\n },\n {\n key: 91,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Outflow',\n value: '126 kl',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n group: 100,\n loc: '333 170',\n },\n {\n key: 92,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Loss',\n value: 'M',\n color: AtoGojsEditorModel.ENUM_COLORS.BLUE,\n group: 100,\n colorValue: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n loc: '160.5 297',\n },\n {\n key: 93,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Recirculated',\n value: 'M',\n color: AtoGojsEditorModel.ENUM_COLORS.VIVID_VIOLET,\n group: 100,\n colorValue: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n loc: '266 32',\n },\n {\n key: 99,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.SPECIAL_PROCESS,\n group: 100,\n loc: '125 110',\n },\n {\n key: 100,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.WASTEWATER_TREATMENT,\n isGroup: true,\n name: 'Group',\n },\n ],\n linkDataArray: [\n { from: 90, to: 99, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 91, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 92, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n {\n from: 99,\n to: 93,\n color: AtoGojsEditorModel.ENUM_COLORS.BLUE,\n fromPort: 'T',\n toPort: 'L',\n },\n {\n from: 93,\n to: 99,\n color: AtoGojsEditorModel.ENUM_COLORS.BLUE,\n fromPort: 'B',\n toPort: 'R',\n },\n ],\n },\n [AtoGojsEditorModel.ENUM_TYPES.DAF_WASTEWATER_TREATMENT]: {\n nodeDataArray: [\n {\n key: 90,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Inflow',\n value: '0 kl',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n group: 100,\n loc: '0 134.5',\n },\n {\n key: 91,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Outflow',\n value: '126 kl',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n group: 100,\n loc: '333 170',\n },\n {\n key: 92,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Loss',\n value: 'M',\n color: AtoGojsEditorModel.ENUM_COLORS.BLUE,\n group: 100,\n colorValue: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n loc: '160.5 297',\n },\n {\n key: 93,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Recirculated',\n value: 'M',\n color: AtoGojsEditorModel.ENUM_COLORS.VIVID_VIOLET,\n group: 100,\n colorValue: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n loc: '266 32',\n },\n {\n key: 99,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.SPECIAL_PROCESS,\n group: 100,\n loc: '125 110',\n },\n {\n key: 100,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.WASTEWATER_TREATMENT,\n isGroup: true,\n name: 'Group',\n },\n ],\n linkDataArray: [\n { from: 90, to: 99, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 91, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 92, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n {\n from: 99,\n to: 93,\n color: AtoGojsEditorModel.ENUM_COLORS.BLUE,\n fromPort: 'T',\n toPort: 'L',\n },\n {\n from: 93,\n to: 99,\n color: AtoGojsEditorModel.ENUM_COLORS.BLUE,\n fromPort: 'B',\n toPort: 'R',\n },\n ],\n },\n [AtoGojsEditorModel.ENUM_TYPES.ETP_WASTEWATER_TREATMENT]: {\n nodeDataArray: [\n {\n key: 90,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Inflow',\n value: '0 kl',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n group: 100,\n loc: '0 134.5',\n },\n {\n key: 91,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Outflow',\n value: '126 kl',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n group: 100,\n loc: '333 170',\n },\n {\n key: 92,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Loss',\n value: 'M',\n color: AtoGojsEditorModel.ENUM_COLORS.BLUE,\n group: 100,\n colorValue: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n loc: '160.5 297',\n },\n {\n key: 93,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Recirculated',\n value: 'M',\n color: AtoGojsEditorModel.ENUM_COLORS.VIVID_VIOLET,\n group: 100,\n colorValue: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n loc: '266 32',\n },\n {\n key: 99,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.SPECIAL_PROCESS,\n group: 100,\n loc: '125 110',\n },\n {\n key: 100,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.WASTEWATER_TREATMENT,\n isGroup: true,\n name: 'Group',\n },\n ],\n linkDataArray: [\n { from: 90, to: 99, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 91, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 92, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n {\n from: 99,\n to: 93,\n color: AtoGojsEditorModel.ENUM_COLORS.BLUE,\n fromPort: 'T',\n toPort: 'L',\n },\n {\n from: 93,\n to: 99,\n color: AtoGojsEditorModel.ENUM_COLORS.BLUE,\n fromPort: 'B',\n toPort: 'R',\n },\n ],\n },\n [AtoGojsEditorModel.ENUM_TYPES.MBR_WASTEWATER_TREATMENT]: {\n nodeDataArray: [\n {\n key: 90,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Inflow',\n value: '0 kl',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n group: 100,\n loc: '0 134.5',\n },\n {\n key: 91,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Outflow',\n value: '126 kl',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n group: 100,\n loc: '333 170',\n },\n {\n key: 92,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Loss',\n value: 'M',\n color: AtoGojsEditorModel.ENUM_COLORS.BLUE,\n group: 100,\n colorValue: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n loc: '160.5 297',\n },\n {\n key: 93,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Recirculated',\n value: 'M',\n color: AtoGojsEditorModel.ENUM_COLORS.VIVID_VIOLET,\n group: 100,\n colorValue: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n loc: '266 32',\n },\n {\n key: 99,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.SPECIAL_PROCESS,\n group: 100,\n loc: '125 110',\n },\n {\n key: 100,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.WASTEWATER_TREATMENT,\n isGroup: true,\n name: 'Group',\n },\n ],\n linkDataArray: [\n { from: 90, to: 99, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 91, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 92, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n {\n from: 99,\n to: 93,\n color: AtoGojsEditorModel.ENUM_COLORS.BLUE,\n fromPort: 'T',\n toPort: 'L',\n },\n {\n from: 93,\n to: 99,\n color: AtoGojsEditorModel.ENUM_COLORS.BLUE,\n fromPort: 'B',\n toPort: 'R',\n },\n ],\n },\n [AtoGojsEditorModel.ENUM_TYPES.ZLD_WASTEWATER_TREATMENT]: {\n nodeDataArray: [\n {\n key: 90,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Inflow',\n value: '0 kl',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n group: 100,\n loc: '0 134.5',\n },\n {\n key: 91,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Outflow',\n value: '126 kl',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n group: 100,\n loc: '333 170',\n },\n {\n key: 92,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Loss',\n value: 'M',\n color: AtoGojsEditorModel.ENUM_COLORS.BLUE,\n group: 100,\n colorValue: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n loc: '160.5 297',\n },\n {\n key: 93,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Recirculated',\n value: 'M',\n color: AtoGojsEditorModel.ENUM_COLORS.VIVID_VIOLET,\n group: 100,\n colorValue: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n loc: '266 32',\n },\n {\n key: 99,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.SPECIAL_PROCESS,\n group: 100,\n loc: '125 110',\n },\n {\n key: 100,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.WASTEWATER_TREATMENT,\n isGroup: true,\n name: 'Group',\n },\n ],\n linkDataArray: [\n { from: 90, to: 99, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 91, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 92, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n {\n from: 99,\n to: 93,\n color: AtoGojsEditorModel.ENUM_COLORS.BLUE,\n fromPort: 'T',\n toPort: 'L',\n },\n {\n from: 93,\n to: 99,\n color: AtoGojsEditorModel.ENUM_COLORS.BLUE,\n fromPort: 'B',\n toPort: 'R',\n },\n ],\n },\n [AtoGojsEditorModel.ENUM_TYPES.DOMESTIC_USE]: {\n nodeDataArray: [\n {\n key: 90,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Inflow',\n value: '0 kl',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n group: 100,\n loc: '-20 134.5',\n },\n {\n key: 91,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Outflow',\n value: '0 kl',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n group: 100,\n loc: '320 134.5',\n },\n {\n key: 92,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Loss',\n value: 'M',\n color: AtoGojsEditorModel.ENUM_COLORS.BLUE,\n group: 100,\n colorValue: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n loc: '150.5 0',\n },\n {\n key: 99,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.SPECIAL_PROCESS,\n group: 100,\n loc: '82.5 95',\n },\n {\n key: 100,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DOMESTIC_USE,\n isGroup: true,\n name: 'Group',\n },\n ],\n linkDataArray: [\n { from: 90, to: 99, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 91, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 92, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n ],\n },\n [AtoGojsEditorModel.ENUM_TYPES.COOLING_TOWER]: {\n nodeDataArray: [\n {\n key: 86,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.EMPTY,\n group: 100,\n loc: '0 0',\n data: {\n quantity: 2222,\n unit: 'm³',\n },\n name: 'top-left-marker',\n color: '#a8438d',\n },\n {\n key: 87,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.EMPTY,\n group: 100,\n data: {\n quantity: 3333,\n unit: 'm³',\n },\n name: 'bottom-right-marker',\n color: '#a8438d',\n extendedData: {\n loc: '1000 700',\n },\n extendedDataResponsive: {\n loc: '700 300',\n },\n },\n {\n key: 88,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE,\n group: 100,\n loc: '320 60',\n padding: new go.Margin(0, 0, 0, 0),\n ...DATA_WATER_SYSTEMS[WATER_SYSTEMS_NAME.EVAPORATION_LOSS],\n minSizeValue: new go.Size(100, NaN),\n selectable: false,\n dataTable: ASSET_CATEGORY_PARAMS[\n WATER_SYSTEMS_NAME.EVAPORATION_LOSS\n ].map((e) => ({\n ...e,\n value: '',\n isEditable: true,\n maxSizeValue: 140,\n })),\n visible: true,\n assetLayers: ATO_ASSET_LAYERS.FLOW,\n extendedData: {\n visible: true,\n },\n extendedDataResponsive: {\n visible: false,\n },\n },\n {\n key: 89,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE,\n group: 100,\n padding: new go.Margin(0, 0, 0, 0),\n loc: '30 350',\n ...DATA_WATER_SYSTEMS[WATER_SYSTEMS_NAME.MAKEUP_WATER__FLOW],\n minSizeValue: new go.Size(100, NaN),\n selectable: false,\n dataTable: ASSET_CATEGORY_PARAMS[\n WATER_SYSTEMS_NAME.MAKEUP_WATER__FLOW\n ].map((e) => ({\n ...e,\n value: '',\n isEditable: true,\n maxSizeValue: 120,\n })),\n assetLayers: ATO_ASSET_LAYERS.FLOW,\n extendedData: {\n visible: true,\n },\n extendedDataResponsive: {\n visible: false,\n },\n },\n {\n key: 90,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE,\n group: 100,\n padding: new go.Margin(0, 0, 0, 0),\n loc: '10 270',\n ...DATA_WATER_SYSTEMS[WATER_SYSTEMS_NAME.MAKEUP_WATER__CHEMISTRY],\n minSizeValue: new go.Size(100, NaN),\n selectable: false,\n dataTable: ASSET_CATEGORY_PARAMS[\n WATER_SYSTEMS_NAME.MAKEUP_WATER__CHEMISTRY\n ].map((e) => ({\n ...e,\n value: '',\n isEditable: true,\n maxSizeValue: 120,\n })),\n assetLayers: ATO_ASSET_LAYERS.CHEMISTRY,\n extendedData: {\n visible: true,\n },\n extendedDataResponsive: {\n visible: false,\n },\n },\n {\n key: 91,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE,\n group: 100,\n padding: new go.Margin(0, 0, 0, 0),\n loc: '570 250',\n ...DATA_WATER_SYSTEMS[WATER_SYSTEMS_NAME.WARMER_WATER],\n minSizeValue: new go.Size(100, NaN),\n selectable: false,\n dataTable: ASSET_CATEGORY_PARAMS[WATER_SYSTEMS_NAME.WARMER_WATER].map(\n (e) => ({\n ...e,\n value: '',\n isEditable: true,\n maxSizeValue: 120,\n })\n ),\n assetLayers: ATO_ASSET_LAYERS.FLOW,\n extendedData: {\n visible: true,\n },\n extendedDataResponsive: {\n visible: false,\n },\n },\n {\n key: 92,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE,\n group: 100,\n padding: new go.Margin(0, 0, 0, 0),\n loc: '570 560',\n ...DATA_WATER_SYSTEMS[WATER_SYSTEMS_NAME.BLOWDOWN_WATER],\n minSizeValue: new go.Size(100, NaN),\n selectable: false,\n dataTable: ASSET_CATEGORY_PARAMS[WATER_SYSTEMS_NAME.BLOWDOWN_WATER].map(\n (e) => ({\n ...e,\n value: '',\n isEditable: true,\n maxSizeValue: 120,\n })\n ),\n assetLayers: ATO_ASSET_LAYERS.FLOW,\n extendedData: {\n visible: true,\n },\n extendedDataResponsive: {\n visible: false,\n },\n },\n {\n key: 93,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE,\n group: 100,\n padding: new go.Margin(0, 0, 0, 0),\n loc: '450 20',\n ...DATA_WATER_SYSTEMS[WATER_SYSTEMS_NAME.COOLING_TOWER_ANALYSIS],\n minSizeValue: new go.Size(100, NaN),\n selectable: false,\n dataTable: ASSET_CATEGORY_PARAMS[\n WATER_SYSTEMS_NAME.COOLING_TOWER_ANALYSIS\n ].map((e) => ({\n ...e,\n value: '',\n isEditable: true,\n maxSizeValue: 130,\n })),\n assetLayers: ATO_ASSET_LAYERS.CHEMISTRY,\n extendedData: {\n visible: true,\n },\n extendedDataResponsive: {\n visible: false,\n },\n },\n {\n key: 94,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE,\n group: 100,\n padding: new go.Margin(0, 0, 0, 0),\n loc: '730 20',\n ...DATA_WATER_SYSTEMS[WATER_SYSTEMS_NAME.COOLING_WATER_CHEMISTRY],\n minSizeValue: new go.Size(100, NaN),\n selectable: false,\n dataTable: ASSET_CATEGORY_PARAMS[\n WATER_SYSTEMS_NAME.COOLING_WATER_CHEMISTRY\n ].map((e) => ({\n ...e,\n value: '',\n isEditable: true,\n maxSizeValue: 130,\n })),\n assetLayers: ATO_ASSET_LAYERS.CHEMISTRY,\n extendedData: {\n visible: true,\n },\n extendedDataResponsive: {\n visible: false,\n },\n },\n {\n key: 95,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE,\n group: 100,\n padding: new go.Margin(0, 0, 0, 0),\n loc: '10 20',\n ...DATA_WATER_SYSTEMS[WATER_SYSTEMS_NAME.SYSTEM_KPIS],\n minSizeValue: new go.Size(100, NaN),\n selectable: false,\n dataTable: ASSET_CATEGORY_PARAMS[WATER_SYSTEMS_NAME.SYSTEM_KPIS].map(\n (e) =>\n ((\n {\n ...e,\n value: '',\n isEditable: true,\n maxSizeValue: 130,\n extendedDataIsFromPlugin: {\n maxSizeValue: 230,\n },\n } as any\n ))\n ).concat(\n ASSET_CATEGORY_PARAMS[\n WATER_SYSTEMS_NAME.COOLING_WATER_CHEMISTRY\n ].map((e) => ({\n ...e,\n value: `Mapping in \"Cooling Water Chemistry\" section`,\n isEditable: false,\n maxSizeValue: 250,\n isReadOnly: true,\n isFrom: ATO_MAPPER_FROM.PLUGIN,\n // font: '10px sans-serif',\n visible: false,\n }))\n ),\n assetLayers: ATO_ASSET_LAYERS.CHEMISTRY,\n extendedData: {\n visible: true,\n },\n extendedDataResponsive: {\n visible: false,\n },\n },\n {\n key: 96,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.IMAGE_TEMPLATE,\n source: AtoGojsEditorModel.IMAGE_COOLING_TOWER_PATH,\n group: 100,\n loc: '0 0',\n selectable: false,\n extendedData: {\n margin: new go.Margin(195, 20, 0, 0),\n },\n extendedDataResponsive: {\n margin: new go.Margin(20, 20, 0, 0),\n },\n },\n {\n key: 97,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_LABEL,\n group: 100,\n loc: '250 25',\n name: 'Evaporation Loss',\n color: AtoGojsEditorModel.ENUM_COLORS.FLAMINGO,\n extendedData: {\n visible: false,\n },\n extendedDataResponsive: {\n visible: true,\n },\n },\n {\n key: 98,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_LABEL,\n group: 100,\n loc: '110 290',\n name: 'Makeup Water',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n extendedData: {\n visible: false,\n },\n extendedDataResponsive: {\n visible: true,\n },\n },\n {\n key: 99,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_LABEL,\n group: 100,\n loc: '580 435',\n name: 'Blowdown Water',\n color: AtoGojsEditorModel.ENUM_COLORS.CARROT_ORANGE,\n extendedData: {\n visible: false,\n },\n extendedDataResponsive: {\n visible: true,\n },\n },\n {\n key: 100,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.COOLING_TOWER,\n isGroup: true,\n name: 'Group',\n },\n ],\n linkDataArray: [],\n },\n [AtoGojsEditorModel.ENUM_TYPES.BOILER]: {\n nodeDataArray: [\n {\n type: AtoGojsEditorModel.ENUM_TEMPLATES.EMPTY,\n group: 100,\n loc: '0 0',\n data: {\n quantity: 2222,\n unit: 'm³',\n },\n name: 'top-left-marker',\n color: '#a8438d',\n },\n {\n type: AtoGojsEditorModel.ENUM_TEMPLATES.EMPTY,\n group: 100,\n data: {\n quantity: 3333,\n unit: 'm³',\n },\n name: 'bottom-right-marker',\n color: '#a8438d',\n extendedData: {\n loc: '1220 660',\n },\n extendedDataResponsive: {\n loc: '700 300',\n },\n },\n // For view Chemistry\n {\n type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE,\n group: 100,\n loc: '10 310',\n padding: new go.Margin(0, 0, 0, 0),\n ...DATA_WATER_SYSTEMS[WATER_SYSTEMS_NAME.MAKEUP_WATER],\n minSizeValue: new go.Size(100, NaN),\n selectable: false,\n dataTable: ASSET_CATEGORY_PARAMS__BOILER[\n WATER_SYSTEMS_NAME.MAKEUP_WATER__CHEMISTRY\n ].map((e) => ({\n ...e,\n value: '',\n isEditable: true,\n maxSizeValue: 140,\n waterSystem: WATER_SYSTEMS_NAME.MAKEUP_WATER,\n })),\n assetLayers: ATO_ASSET_LAYERS.CHEMISTRY,\n extendedData: {\n visible: true,\n },\n extendedDataResponsive: {\n visible: false,\n },\n },\n\n {\n type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE,\n group: 100,\n loc: '10 15',\n padding: new go.Margin(0, 0, 0, 0),\n ...DATA_WATER_SYSTEMS[WATER_SYSTEMS_NAME.SYSTEM_KPIS],\n minSizeValue: new go.Size(100, NaN),\n selectable: false,\n dataTable: ASSET_CATEGORY_PARAMS__BOILER[\n WATER_SYSTEMS_NAME.SYSTEM_KPIS_STEAM\n ].map((e) => ({\n ...e,\n value: `Mapping in \"Steam\" section`,\n isEditable: false,\n maxSizeValue: 220,\n waterSystem: WATER_SYSTEMS_NAME.SYSTEM_KPIS,\n isReadOnly: true,\n isFrom: ATO_MAPPER_FROM.PLUGIN,\n // font: '10px sans-serif',\n maxSizeNameParam: new go.Size(125, 15),\n })).concat(ASSET_CATEGORY_PARAMS__BOILER[\n WATER_SYSTEMS_NAME.SYSTEM_KPIS_BOILER_WATER\n ].map((e) => ({\n ...e,\n value: `Mapping in \"Boiler Water\" section`,\n isEditable: false,\n maxSizeValue: 220,\n waterSystem: WATER_SYSTEMS_NAME.SYSTEM_KPIS,\n isReadOnly: true,\n isFrom: ATO_MAPPER_FROM.PLUGIN,\n // font: '10px sans-serif',\n maxSizeNameParam: new go.Size(125, 15),\n }))),\n assetLayers: ATO_ASSET_LAYERS.CHEMISTRY,\n isFrom: ATO_MAPPER_FROM.PLUGIN,\n extendedData: {\n visible: false,\n },\n extendedDataisFromPlugin: {\n visible: true,\n },\n extendedDataResponsive: {\n visible: false,\n },\n extendedDataisFromPluginResponsive: {\n visible: false,\n },\n },\n {\n type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE,\n group: 100,\n loc: '400 15',\n padding: new go.Margin(0, 0, 0, 0),\n ...DATA_WATER_SYSTEMS[WATER_SYSTEMS_NAME.CONDENSATE_RETURN],\n minSizeValue: new go.Size(100, NaN),\n selectable: false,\n dataTable: ASSET_CATEGORY_PARAMS__BOILER[\n WATER_SYSTEMS_NAME.CONDENSATE_RETURN__CHEMISTRY\n ].map((e) => ({\n ...e,\n value: '',\n isEditable: true,\n maxSizeValue: 140,\n waterSystem: WATER_SYSTEMS_NAME.CONDENSATE_RETURN,\n })),\n assetLayers: ATO_ASSET_LAYERS.CHEMISTRY,\n extendedData: {\n visible: true,\n },\n extendedDataResponsive: {\n visible: false,\n },\n },\n {\n type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE,\n group: 100,\n loc: '840 70',\n padding: new go.Margin(0, 0, 0, 0),\n ...DATA_WATER_SYSTEMS[WATER_SYSTEMS_NAME.STEAM],\n minSizeValue: new go.Size(100, NaN),\n selectable: false,\n dataTable: ASSET_CATEGORY_PARAMS__BOILER[\n WATER_SYSTEMS_NAME.STEAM__CHEMISTRY\n ].map((e) => ({\n ...e,\n value: '',\n isEditable: true,\n maxSizeValue: 140,\n waterSystem: WATER_SYSTEMS_NAME.STEAM,\n })),\n assetLayers: ATO_ASSET_LAYERS.CHEMISTRY,\n extendedData: {\n visible: true,\n },\n extendedDataResponsive: {\n visible: false,\n },\n },\n {\n type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE,\n group: 100,\n loc: '460 520',\n padding: new go.Margin(0, 0, 0, 0),\n ...DATA_WATER_SYSTEMS[WATER_SYSTEMS_NAME.BOILER_FEED_WATER],\n minSizeValue: new go.Size(100, NaN),\n selectable: false,\n dataTable: ASSET_CATEGORY_PARAMS__BOILER[\n WATER_SYSTEMS_NAME.BOILER_FEED_WATER__CHEMISTRY\n ].map((e) => ({\n ...e,\n value: '',\n isEditable: true,\n maxSizeValue: 140,\n waterSystem: WATER_SYSTEMS_NAME.BOILER_FEED_WATER,\n })),\n assetLayers: ATO_ASSET_LAYERS.CHEMISTRY,\n extendedData: {\n visible: true,\n },\n extendedDataResponsive: {\n visible: false,\n },\n },\n {\n type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE,\n group: 100,\n loc: '920 250',\n padding: new go.Margin(0, 10, 0, 0),\n ...DATA_WATER_SYSTEMS[WATER_SYSTEMS_NAME.BOILER_WATER],\n minSizeValue: new go.Size(100, NaN),\n selectable: false,\n dataTable: ASSET_CATEGORY_PARAMS__BOILER[\n WATER_SYSTEMS_NAME.BOILER_WATER\n ].map((e) => ({\n ...e,\n value: '',\n isEditable: true,\n maxSizeValue: 140,\n waterSystem: WATER_SYSTEMS_NAME.BOILER_WATER,\n })),\n assetLayers: ATO_ASSET_LAYERS.CHEMISTRY,\n extendedData: {\n visible: true,\n },\n extendedDataResponsive: {\n visible: false,\n },\n },\n {\n type: AtoGojsEditorModel.ENUM_TEMPLATES.IMAGE_TEMPLATE,\n source: AtoGojsEditorModel.IMAGE_BOILER_PATH,\n group: 100,\n loc: '0 0',\n selectable: false,\n extendedData: {\n margin: new go.Margin(150, 160, 0, 0),\n },\n extendedDataResponsive: {\n margin: new go.Margin(20, 20, 0, 0),\n },\n },\n {\n type: AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_LABEL,\n group: 100,\n loc: '80 285',\n name: WATER_SYSTEMS_NAME.MAKEUP_WATER,\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n assetLayers: ATO_ASSET_LAYERS.CHEMISTRY,\n extendedData: {\n visible: false,\n },\n extendedDataResponsive: {\n visible: true,\n },\n },\n {\n type: AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_LABEL,\n group: 100,\n loc: '300 17',\n name: WATER_SYSTEMS_NAME.CONDENSATE_RETURN,\n color: AtoGojsEditorModel.ENUM_COLORS.FOUNTAIN_BLUE,\n assetLayers: ATO_ASSET_LAYERS.CHEMISTRY,\n extendedData: {\n visible: false,\n },\n extendedDataResponsive: {\n visible: true,\n },\n },\n {\n type: AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_LABEL,\n group: 100,\n loc: '760 17',\n name: WATER_SYSTEMS_NAME.STEAM,\n color: AtoGojsEditorModel.ENUM_COLORS.FLAMINGO,\n assetLayers: ATO_ASSET_LAYERS.CHEMISTRY,\n extendedData: {\n visible: false,\n },\n extendedDataResponsive: {\n visible: true,\n },\n },\n {\n type: AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_LABEL,\n group: 100,\n loc: '490 400',\n name: WATER_SYSTEMS_NAME.BOILER_FEED_WATER,\n color: AtoGojsEditorModel.ENUM_COLORS.LIGHT_SKY_BLUE_2,\n assetLayers: ATO_ASSET_LAYERS.CHEMISTRY,\n extendedData: {\n visible: false,\n },\n extendedDataResponsive: {\n visible: true,\n },\n },\n {\n type: AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_LABEL,\n group: 100,\n loc: '920 160',\n name: WATER_SYSTEMS_NAME.BOILER_WATER,\n color: AtoGojsEditorModel.ENUM_COLORS.REGENT_ST_BLUE,\n assetLayers: ATO_ASSET_LAYERS.CHEMISTRY,\n extendedData: {\n visible: false,\n },\n extendedDataResponsive: {\n visible: true,\n },\n },\n // For view Flow\n {\n type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE,\n group: 100,\n loc: '15 330',\n padding: new go.Margin(0, 0, 0, 0),\n ...DATA_WATER_SYSTEMS[WATER_SYSTEMS_NAME.MAKEUP_WATER],\n minSizeValue: new go.Size(100, NaN),\n selectable: false,\n dataTable: ASSET_CATEGORY_PARAMS__BOILER[\n WATER_SYSTEMS_NAME.MAKEUP_WATER__FLOW\n ].map((e) => ({\n ...e,\n value: '',\n isEditable: true,\n maxSizeValue: 140,\n waterSystem: WATER_SYSTEMS_NAME.MAKEUP_WATER,\n })),\n assetLayers: ATO_ASSET_LAYERS.FLOW,\n extendedData: {\n visible: true,\n },\n extendedDataResponsive: {\n visible: false,\n },\n },\n {\n type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE,\n group: 100,\n loc: '230 50',\n padding: new go.Margin(0, 0, 0, 0),\n ...DATA_WATER_SYSTEMS[WATER_SYSTEMS_NAME.CONDENSATE_RETURN],\n minSizeValue: new go.Size(100, NaN),\n selectable: false,\n dataTable: ASSET_CATEGORY_PARAMS__BOILER[\n WATER_SYSTEMS_NAME.CONDENSATE_RETURN__FLOW\n ].map((e) => ({\n ...e,\n value: '',\n isEditable: true,\n maxSizeValue: 140,\n waterSystem: WATER_SYSTEMS_NAME.CONDENSATE_RETURN,\n })),\n assetLayers: ATO_ASSET_LAYERS.FLOW,\n extendedData: {\n visible: true,\n },\n extendedDataResponsive: {\n visible: false,\n },\n },\n {\n type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE,\n group: 100,\n loc: '830 50',\n padding: new go.Margin(0, 0, 0, 0),\n ...DATA_WATER_SYSTEMS[WATER_SYSTEMS_NAME.STEAM],\n minSizeValue: new go.Size(100, NaN),\n selectable: false,\n dataTable: ASSET_CATEGORY_PARAMS__BOILER[\n WATER_SYSTEMS_NAME.STEAM__FLOW\n ].map((e) => ({\n ...e,\n value: '',\n isEditable: true,\n maxSizeValue: 140,\n waterSystem: WATER_SYSTEMS_NAME.STEAM,\n })),\n assetLayers: ATO_ASSET_LAYERS.FLOW,\n extendedData: {\n visible: true,\n },\n extendedDataResponsive: {\n visible: false,\n },\n },\n {\n type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE,\n group: 100,\n loc: '470 530',\n padding: new go.Margin(0, 0, 0, 0),\n ...DATA_WATER_SYSTEMS[WATER_SYSTEMS_NAME.BOILER_FEED_WATER],\n minSizeValue: new go.Size(100, NaN),\n selectable: false,\n dataTable: ASSET_CATEGORY_PARAMS__BOILER[\n WATER_SYSTEMS_NAME.BOILER_FEED_WATER__FLOW\n ].map((e) => ({\n ...e,\n value: '',\n isEditable: true,\n maxSizeValue: 140,\n waterSystem: WATER_SYSTEMS_NAME.BOILER_FEED_WATER,\n })),\n assetLayers: ATO_ASSET_LAYERS.FLOW,\n extendedData: {\n visible: true,\n },\n extendedDataResponsive: {\n visible: false,\n },\n },\n {\n type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE,\n group: 100,\n loc: '15 220',\n padding: new go.Margin(0, 0, 0, 0),\n ...DATA_WATER_SYSTEMS[WATER_SYSTEMS_NAME.STEAM_LOSS],\n minSizeValue: new go.Size(100, NaN),\n selectable: false,\n dataTable: ASSET_CATEGORY_PARAMS__BOILER[\n WATER_SYSTEMS_NAME.STEAM_LOSS\n ].map((e) => ({\n ...e,\n value: '',\n isEditable: true,\n maxSizeValue: 140,\n waterSystem: WATER_SYSTEMS_NAME.STEAM_LOSS,\n })),\n assetLayers: ATO_ASSET_LAYERS.FLOW,\n extendedData: {\n visible: true,\n },\n extendedDataResponsive: {\n visible: false,\n },\n },\n {\n type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE,\n group: 100,\n loc: '900 425',\n padding: new go.Margin(0, 0, 0, 0),\n ...DATA_WATER_SYSTEMS[WATER_SYSTEMS_NAME.BLOWDOWN],\n minSizeValue: new go.Size(100, NaN),\n selectable: false,\n dataTable: ASSET_CATEGORY_PARAMS__BOILER[\n WATER_SYSTEMS_NAME.BLOWDOWN\n ].map((e) => ({\n ...e,\n value: '',\n isEditable: true,\n maxSizeValue: 140,\n waterSystem: WATER_SYSTEMS_NAME.BLOWDOWN,\n })),\n assetLayers: ATO_ASSET_LAYERS.FLOW,\n extendedData: {\n visible: true,\n },\n extendedDataResponsive: {\n visible: false,\n },\n },\n\n {\n type: AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_LABEL,\n group: 100,\n loc: '80 280',\n name: WATER_SYSTEMS_NAME.MAKEUP_WATER,\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n assetLayers: ATO_ASSET_LAYERS.FLOW,\n extendedData: {\n visible: false,\n },\n extendedDataResponsive: {\n visible: true,\n },\n },\n {\n type: AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_LABEL,\n group: 100,\n loc: '300 17',\n name: WATER_SYSTEMS_NAME.CONDENSATE_RETURN,\n color: AtoGojsEditorModel.ENUM_COLORS.FOUNTAIN_BLUE,\n assetLayers: ATO_ASSET_LAYERS.FLOW,\n extendedData: {\n visible: false,\n },\n extendedDataResponsive: {\n visible: true,\n },\n },\n {\n type: AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_LABEL,\n group: 100,\n loc: '760 17',\n name: WATER_SYSTEMS_NAME.STEAM,\n color: AtoGojsEditorModel.ENUM_COLORS.FLAMINGO,\n assetLayers: ATO_ASSET_LAYERS.FLOW,\n extendedData: {\n visible: false,\n },\n extendedDataResponsive: {\n visible: true,\n },\n },\n {\n type: AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_LABEL,\n group: 100,\n loc: '490 400',\n name: WATER_SYSTEMS_NAME.BOILER_FEED_WATER,\n color: AtoGojsEditorModel.ENUM_COLORS.LIGHT_SKY_BLUE_2,\n assetLayers: ATO_ASSET_LAYERS.FLOW,\n extendedData: {\n visible: false,\n },\n extendedDataResponsive: {\n visible: true,\n },\n },\n {\n type: AtoGojsEditorModel.ENUM_TEMPLATES.TEXT_LABEL,\n group: 100,\n loc: '380 200',\n name: WATER_SYSTEMS_NAME.STEAM_LOSS,\n color: AtoGojsEditorModel.ENUM_COLORS.FLAMINGO,\n assetLayers: ATO_ASSET_LAYERS.FLOW,\n extendedData: {\n visible: false,\n },\n extendedDataResponsive: {\n visible: true,\n },\n },\n\n {\n key: 100,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.BOILER,\n isGroup: true,\n name: 'Group',\n },\n ],\n linkDataArray: [],\n },\n [AtoGojsEditorModel.ENUM_TYPES.OTHER]: {\n nodeDataArray: [\n {\n key: 90,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Inflow',\n value: '0 kl',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n group: 100,\n loc: '0 140.5',\n },\n {\n key: 91,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Outflow',\n value: '0 kl',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n group: 100,\n loc: '300 134.5',\n },\n {\n key: 92,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Loss',\n value: 'M',\n color: AtoGojsEditorModel.ENUM_COLORS.BLUE,\n group: 100,\n colorValue: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n loc: '160.5 0',\n },\n {\n key: 99,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.SPECIAL_OTHER,\n group: 100,\n loc: '92.5 95',\n },\n {\n key: 100,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.OTHER,\n isGroup: true,\n name: 'Group',\n },\n ],\n linkDataArray: [\n { from: 90, to: 99, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 91, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 92, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n ],\n },\n [AtoGojsEditorModel.ENUM_TYPES.LANDSCAPING_IRRIGATION]: {\n nodeDataArray: [\n {\n key: 90,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Inflow',\n value: '0 kl',\n color: AtoGojsEditorModel.ENUM_COLORS.CERULEAN,\n group: 100,\n loc: '0 140.5',\n },\n {\n key: 91,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.DATA_BOX,\n name: 'Loss',\n value: 'M',\n color: AtoGojsEditorModel.ENUM_COLORS.BLUE,\n group: 100,\n colorValue: AtoGojsEditorModel.ENUM_COLORS.GRAY,\n loc: '300 140.5',\n },\n {\n key: 99,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.SPECIAL_DISCHARGE,\n group: 100,\n loc: '92.5 95',\n },\n {\n key: 100,\n type: AtoGojsEditorModel.ENUM_TEMPLATES.LANDSCAPING_IRRIGATION,\n isGroup: true,\n name: 'Group',\n },\n ],\n linkDataArray: [\n { from: 90, to: 99, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n { from: 99, to: 91, color: AtoGojsEditorModel.ENUM_COLORS.BLUE },\n ],\n },\n};\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\n@Component({\n selector: 'ato-asset-params-view',\n templateUrl: './asset-params-view.component.html',\n styleUrls: ['./asset-params-view.component.scss']\n})\nexport class AtoAssetParamsViewComponent {\n @Input() isEditView = false;\n @Input() data: any[] = [];\n @Output() clickParamTableRow = new EventEmitter();\n\n onClickRowParam(itemTable) {\n if (this.isEditView && itemTable?.isEditable) {\n this.clickParamTableRow.emit(itemTable);\n }\n }\n}\n","<div class=\"d-flex flex-column flex-gap-2\">\n <div class=\"\" *ngFor=\"let tableParam of data\">\n <ng-template\n [ngTemplateOutlet]=\"tableParamTemplate\"\n [ngTemplateOutletContext]=\"{\n data: tableParam\n }\"\n ></ng-template>\n </div>\n</div>\n\n<ng-template #tableParamTemplate let-data=\"data\">\n <div\n class=\"d-flex flex-column asset-param-item w-100\"\n [style.backgroundColor]=\"data?.color\"\n >\n <div\n class=\"d-flex align-items-center justify-content-between py-1 pl-1 pr-2 cursor-pointer\"\n (click)=\"data.isCollapsed = !data.isCollapsed\"\n >\n <div class=\"font-size-14px flex-grow-1 text-truncate color-white\">\n {{ data?.title }}\n </div>\n <svg\n *ngIf=\"data.isCollapsed\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 320 512\"\n fill=\"#FFFF\"\n class=\"fa-solid font-size-14px color-white svg-15px\"\n >\n <path\n d=\"M278.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-160 160c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L210.7 256 73.4 118.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l160 160z\"\n />\n </svg>\n <svg\n *ngIf=\"!data.isCollapsed\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 448 512\"\n fill=\"#FFFF\"\n class=\"fa-solid font-size-14px color-white svg-15px\"\n >\n <path\n d=\"M201.4 374.6c12.5 12.5 32.8 12.5 45.3 0l160-160c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 306.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160z\"\n />\n </svg>\n </div>\n <div class=\"px-1 pb-1\" *ngIf=\"!data.isCollapsed\">\n <div\n class=\"table-asset-param-wrapper\"\n [style.backgroundColor]=\"data?.bgColor\"\n >\n <table>\n <tbody>\n <tr\n *ngFor=\"let itemTable of data?.dataTable\"\n (click)=\"onClickRowParam(itemTable)\"\n class=\"cursor-pointer\"\n >\n <td\n class=\"font-size-13px\"\n [style.borderColor]=\"data?.borderTable\"\n >\n {{ itemTable?.name }}\n </td>\n <td\n class=\"font-size-13px\"\n [style.borderColor]=\"data?.borderTable\"\n >\n <div class=\"d-flex align-items-center flex-gap-2\">\n <div\n class=\"mr-auto font-size-13px flex-grow-1\"\n [style.color]=\"itemTable?.color\"\n >\n {{ itemTable?.value }}\n </div>\n <svg *ngIf=\"isEditView && itemTable?.isEditable\" class=\"svg-15px\" fill=\"#333333\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><path d=\"M441 58.9L453.1 71c9.4 9.4 9.4 24.6 0 33.9L424 134.1 377.9 88 407 58.9c9.4-9.4 24.6-9.4 33.9 0zM209.8 256.2L344 121.9 390.1 168 255.8 302.2c-2.9 2.9-6.5 5-10.4 6.1l-58.5 16.7 16.7-58.5c1.1-3.9 3.2-7.5 6.1-10.4zM373.1 25L175.8 222.2c-8.7 8.7-15 19.4-18.3 31.1l-28.6 100c-2.4 8.4-.1 17.4 6.1 23.6s15.2 8.5 23.6 6.1l100-28.6c11.8-3.4 22.5-9.7 31.1-18.3L487 138.9c28.1-28.1 28.1-73.7 0-101.8L474.9 25C446.8-3.1 401.2-3.1 373.1 25zM88 64C39.4 64 0 103.4 0 152V424c0 48.6 39.4 88 88 88H360c48.6 0 88-39.4 88-88V312c0-13.3-10.7-24-24-24s-24 10.7-24 24V424c0 22.1-17.9 40-40 40H88c-22.1 0-40-17.9-40-40V152c0-22.1 17.9-40 40-40H200c13.3 0 24-10.7 24-24s-10.7-24-24-24H88z\"/></svg>\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n </div>\n </div>\n</ng-template>\n","import {\n Component,\n EventEmitter,\n HostListener,\n Input,\n OnInit,\n Output,\n ViewChild,\n} from '@angular/core';\nimport * as go from 'gojs';\nimport _ from 'lodash';\nimport { AtoGoJSBase64 } from '../../constants/base64.const';\nimport {\n ATO_ASSET_LAYERS,\n ATO_COMPONENTS_GROUP_DATA,\n} from '../../constants/components-group-const';\nimport { AtoDefaultFlowData } from '../../models/ato-asset-flow.model';\nimport { AtoGoJSData } from '../../models/gojs-data.model';\nimport { AtoGojsEditorModel } from '../../models/gojs-editor.model';\nimport { AtoAssetParamsViewComponent } from '../asset-params-view/asset-params-view.component';\nimport { AtoFlowDiagramLibComponent } from '../flow-diagram-lib/flow-diagram-lib.component';\n\n@Component({\n selector: 'ato-asset-flow',\n templateUrl: './asset-flow.component.html',\n styleUrls: ['./asset-flow.component.scss'],\n})\nexport class AssetFlowComponent implements OnInit {\n @Input() assetLayer: ATO_ASSET_LAYERS;\n @ViewChild(AtoFlowDiagramLibComponent)\n gjFlowDiagramTemp: AtoFlowDiagramLibComponent;\n @ViewChild(AtoAssetParamsViewComponent)\n assetParamsViewTemp: AtoAssetParamsViewComponent;\n @Input() selectedComponent: any;\n @Input() systemType: AtoGojsEditorModel.ENUM_TYPES;\n @Output() onClickParamOfTableEvent: EventEmitter<any> =\n new EventEmitter<any>();\n @Input() isUseBase64 = false;\n @Input() isFrom: string;\n $ = go.GraphObject.make;\n options = {\n layout: this.$(go.LayeredDigraphLayout, {\n // direction: 0,\n }),\n // isReadOnly: true,\n };\n\n private _flowData: any;\n @Input() set flowData(v: AtoGoJSData) {\n this._flowData = v;\n this.updateDataTableAssetParams({ ...v, assetLayer: this.assetLayer });\n }\n get flowData(): AtoGoJSData {\n return this._flowData;\n }\n\n // Reponsive\n dataTableAssetParams: any[];\n // @Input() isResponsiveView = false;\n get isResponsiveView() {\n return window.innerWidth < 1024;\n }\n @Input() getFlowDataCallBack: Function;\n\n timeoutResizeWindow;\n @HostListener('window:resize', ['$event'])\n onResize(event: Event): void {\n // Now only Support Cooling Tower Responsive\n if (this.timeoutResizeWindow) {\n clearTimeout(this.timeoutResizeWindow);\n }\n this.timeoutResizeWindow = setTimeout(() => {\n this.updateLocationReponsive();\n }, 1000);\n }\n\n updateLocationReponsive() {\n if (!this.flowData?.nodeDataArray) {\n this.flowData = AssetFlowComponent.getDefaultFlowData({\n systemType: this.systemType,\n isUseBase64: this.isUseBase64,\n assetLayer: this.assetLayer,\n });\n }\n _.forEach(this.flowData?.nodeDataArray, (node: any) => {\n node = _.merge(\n node,\n node[`extendedData${this.isResponsiveView ? 'Responsive' : ''}`]\n );\n });\n this.setFlowData(_.cloneDeep(this.flowData));\n }\n\n ngOnInit() {\n this.updateLocationReponsive();\n }\n onClickParamOfTable($event: any) {\n this.onClickParamOfTableEvent.emit($event);\n }\n\n static getDefaultFlowData(defaultData: AtoDefaultFlowData) {\n const flowData = {\n ...defaultData,\n ..._.cloneDeep(ATO_COMPONENTS_GROUP_DATA)[defaultData?.systemType],\n linkFromPortIdProperty: 'fromPort',\n linkToPortIdProperty: 'toPort',\n };\n const isResponsiveView = window.innerWidth < 1024;\n // Reponsive\n _.forEach(flowData?.nodeDataArray, (node: any) => {\n const propertyNameExtend = `extendedData${defaultData.isFrom && node?.isFrom ? `isFrom${defaultData.isFrom}` : ''}${isResponsiveView ? 'Responsive' : ''}`;\n node = _.merge(\n node,\n node[propertyNameExtend]\n );\n if (node?.assetLayers) {\n node.visible =\n node?.assetLayers === defaultData?.assetLayer &&\n node[propertyNameExtend]?.visible;\n }\n if (defaultData.isFrom && node?.dataTable) {\n _.forEach(node?.dataTable, item => {\n if (item?.isFrom) {\n item.visible = item?.isFrom === defaultData.isFrom;\n }\n item = _.merge(\n item,\n item[`extendedDataIsFrom${defaultData.isFrom}`]\n );\n })\n }\n });\n // assetLayer\n // flowData.nodeDataArray = _.filter(flowData.nodeDataArray, x => !x?.assetLayers || (x?.assetLayers && x?.assetLayers === (defaultData?.assetLayer ?? ATO_ASSET_LAYERS.FLOW)))\n if (defaultData?.isUseBase64) {\n const itemImageTemp = (flowData as AtoGoJSData)?.nodeDataArray?.find(\n (x) => x?.type === 'Image Template'\n );\n if (itemImageTemp) {\n itemImageTemp.source = AtoGoJSBase64[defaultData?.systemType];\n }\n }\n return flowData;\n }\n\n setFlowData(data: AtoGoJSData) {\n _.forEach(data.nodeDataArray, (node) => {\n const propertyNameExtend = `extendedData${data.isFrom && node?.isFrom ? `isFrom${data.isFrom}` : ''}${this.isResponsiveView ? 'Responsive' : ''}`;\n node = _.merge(\n node,\n node[propertyNameExtend],\n );\n if (node?.assetLayers) {\n node.visible =\n node?.assetLayers === data.assetLayer &&\n node[propertyNameExtend]\n ?.visible;\n }\n if (data.isFrom && node?.dataTable) {\n _.forEach(node?.dataTable, item => {\n if (item?.isFrom) {\n item.visible = item?.isFrom === data.isFrom;\n }\n item = _.merge(\n item,\n item[`extendedDataIsFrom${data.isFrom}`]\n );\n })\n }\n });\n this.flowData = {\n ...data,\n };\n this.updateDataTableAssetParams(data);\n }\n\n updateDataTableAssetParams(data: AtoGoJSData) {\n this.dataTableAssetParams = _.forEach(\n this.flowData?.nodeDataArray?.filter(\n (e) =>\n e?.type === AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE &&\n (data?.assetLayer ? (e?.assetLayers === data?.assetLayer) : true)\n ),\n (x) => {\n if (!data?.isRefresh) {\n x.isCollapsed = this.assetParamsViewTemp?.data?.find(\n (y) => y?.key === x?.key\n )?.isCollapsed;\n }\n }\n );\n }\n}\n","<div class=\"h-100 d-flex flex-column flex-gap-3 flex-grow-1 overflow-auto px-3 pb-3\">\n <div class=\"h-100 d-flex flex-column\" atoLoading [appLoading]=\"flowData === null\">\n <ato-flow-diagram-lib\n *ngIf=\"flowData !== null\"\n #gjFlowDiagramTemp\n [data]=\"flowData\"\n [initialOptions]=\"options\"\n (onClikParamOfTable)=\"onClickParamOfTable($event)\"\n [class]=\"!!isResponsiveView ? 'diagram-responsive-view' : 'flex-grow-1'\"\n ></ato-flow-diagram-lib>\n <div class=\"mt-2\" *ngIf=\"isResponsiveView\">\n <ato-asset-params-view\n #assetParamsViewTemp\n [data]=\"dataTableAssetParams\"\n [isEditView]=\"true\"\n (clickParamTableRow)=\"onClickParamOfTable($event)\"\n ></ato-asset-params-view>\n </div>\n </div>\n</div>\n\n","import { Directive, Input, TemplateRef, ViewContainerRef } from '@angular/core';\n\n@Directive({\n selector: '[ngAtoVar]',\n})\nexport class AtoNgVarDirective {\n @Input()\n set ngAtoVar(context: unknown) {\n this.context.$implicit = this.context.ngAtoVar = context;\n\n if (!this.hasView) {\n this.vcRef.createEmbeddedView(this.templateRef, this.context);\n this.hasView = true;\n }\n }\n\n private context: {\n $implicit: unknown;\n ngAtoVar: unknown;\n } = {\n $implicit: null,\n ngAtoVar: null,\n };\n\n private hasView: boolean = false;\n\n constructor(private templateRef: TemplateRef<any>, private vcRef: ViewContainerRef) {}\n}","import { NgModule } from '@angular/core';\nimport { AtoWaterLibComponent } from './ato-water-lib.component';\nimport { AtoFlowDiagramLibComponent } from './components/flow-diagram-lib/flow-diagram-lib.component';\nimport { AssetFlowComponent } from './components/asset-flow/asset-flow.component';\nimport { CommonModule } from '@angular/common';\nimport { AtoLoadingDirective } from './directive/ato-loading.directive';\nimport { AtoAssetParamsViewComponent } from './components/asset-params-view/asset-params-view.component';\nimport { AtoNgVarDirective } from './directive/ng-var.directive';\n\n@NgModule({\n declarations: [\n AtoWaterLibComponent,\n AtoFlowDiagramLibComponent,\n AssetFlowComponent,\n AtoLoadingDirective,\n AtoAssetParamsViewComponent,\n AtoNgVarDirective,\n ],\n imports: [\n CommonModule,\n ],\n exports: [\n AtoWaterLibComponent,\n AtoFlowDiagramLibComponent,\n AssetFlowComponent,\n AtoLoadingDirective,\n AtoAssetParamsViewComponent,\n AtoNgVarDirective,\n ]\n})\nexport class AtoWaterLibModule { }\n","/*\n * Public API Surface of ato-water-lib\n */\n\nexport * from './lib/ato-water-lib.service';\nexport * from './lib/ato-water-lib.component';\nexport * from './lib/ato-water-lib.module';\n// Component\nexport * from './lib/components/flow-diagram-lib/flow-diagram-lib.component';\nexport * from './lib/components/asset-flow/asset-flow.component';\nexport * from './lib/components/asset-params-view/asset-params-view.component';\n// Directive\nexport * from './lib/directive/ato-loading.directive';\nexport * from './lib/directive/ng-var.directive';\n// Enum\nexport * from './lib/constants/components-group-const';\n// Model\nexport * from './lib/models/gojs-editor.model';\n\n\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["uuidV4","i2.AtoLoadingDirective","i2.AtoFlowDiagramLibComponent","i3.AtoLoadingDirective","i4.AtoAssetParamsViewComponent"],"mappings":";;;;;;;;;;;MAKa,kBAAkB,CAAA;AAE7B,IAAA,WAAA,GAAA,GAAiB;;gHAFN,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAlB,kBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,cAFjB,MAAM,EAAA,CAAA,CAAA;4FAEP,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAH9B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;iBACnB,CAAA;;;MCQY,oBAAoB,CAAA;;kHAApB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,EARrB,QAAA,EAAA,mBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;AAIT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;4FAIU,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAVhC,SAAS;YACE,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,mBAAmB,EACnB,QAAA,EAAA,CAAA;;;;AAIT,EAAA,CAAA,EAAA,CAAA;;;ACRH;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEO,MAAM,QAAQ,GAAG,IAAI,CAAC;AACtB,MAAM,OAAO,GAAG,SAAS,CAAC;AAC1B,MAAM,gBAAgB,GAAG,KAAK,CAAC;AAC/B,MAAM,YAAY,GAAG,GAAG,CAAC;AACzB,MAAM,QAAQ,GAAG,MAAM,CAAC;AACxB,MAAM,cAAc,GAAG,iBAAiB,CAAC;AAEhD;AACO,MAAM,0BAA0B,GAAG,qBAAqB,CAAC;AACzD,MAAM,SAAS,GAAG,UAAU,CAAC;AAE7B,MAAM,oBAAoB,GAAG,IAAI,CAAC;AAClC,MAAM,mBAAmB,GAAG,IAAI,CAAC;AACjC,MAAM,oBAAoB,GAAG,IAAI,CAAC;AAClC,MAAM,UAAU,GAAG,OAAO,CAAC;AAElC,IAAY,YAQX,CAAA;AARD,CAAA,UAAY,YAAY,EAAA;AACpB,IAAA,YAAA,CAAA,WAAA,CAAA,GAAA,UAAsB,CAAA;AACtB,IAAA,YAAA,CAAA,YAAA,CAAA,GAAA,WAAwB,CAAA;AACxB,IAAA,YAAA,CAAA,aAAA,CAAA,GAAA,YAA0B,CAAA;AAC1B,IAAA,YAAA,CAAA,kBAAA,CAAA,GAAA,iBAAoC,CAAA;AACpC,IAAA,YAAA,CAAA,kBAAA,CAAA,GAAA,gBAAmC,CAAA;AACnC,IAAA,YAAA,CAAA,WAAA,CAAA,GAAA,UAAsB,CAAA;AACtB,IAAA,YAAA,CAAA,eAAA,CAAA,GAAA,cAA8B,CAAA;AAClC,CAAC,EARW,YAAY,KAAZ,YAAY,GAQvB,EAAA,CAAA,CAAA,CAAA;AAED,IAAY,yBAkBX,CAAA;AAlBD,CAAA,UAAY,yBAAyB,EAAA;AACjC,IAAA,yBAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACf,IAAA,yBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,IAAA,yBAAA,CAAA,aAAA,CAAA,GAAA,aAA2B,CAAA;AAC3B,IAAA,yBAAA,CAAA,aAAA,CAAA,GAAA,KAAmB,CAAA;AACnB,IAAA,yBAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACb,IAAA,yBAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACf,IAAA,yBAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrB,IAAA,yBAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AAEb,IAAA,yBAAA,CAAA,kBAAA,CAAA,GAAA,kBAAqC,CAAA;AACrC,IAAA,yBAAA,CAAA,mBAAA,CAAA,GAAA,mBAAuC,CAAA;AACvC,IAAA,yBAAA,CAAA,wBAAA,CAAA,GAAA,wBAAiD,CAAA;AACjD,IAAA,yBAAA,CAAA,wBAAA,CAAA,GAAA,gBAAyC,CAAA;AACzC,IAAA,yBAAA,CAAA,iBAAA,CAAA,GAAA,iBAAmC,CAAA;AACnC,IAAA,yBAAA,CAAA,kBAAA,CAAA,GAAA,kBAAqC,CAAA;AACrC,IAAA,yBAAA,CAAA,qBAAA,CAAA,GAAA,qBAA2C,CAAA;AAC3C,IAAA,yBAAA,CAAA,iBAAA,CAAA,GAAA,iBAAmC,CAAA;AACvC,CAAC,EAlBW,yBAAyB,KAAzB,yBAAyB,GAkBpC,EAAA,CAAA,CAAA,CAAA;AAEM,MAAM,qCAAqC,GAAa;AAC3D,IAAA,yBAAyB,CAAC,KAAK;AAC/B,IAAA,yBAAyB,CAAC,gBAAgB;AAC1C,IAAA,yBAAyB,CAAC,iBAAiB;AAC3C,IAAA,yBAAyB,CAAC,sBAAsB;AAChD,IAAA,yBAAyB,CAAC,sBAAsB;AAChD,IAAA,yBAAyB,CAAC,eAAe;AACzC,IAAA,yBAAyB,CAAC,gBAAgB;AAC1C,IAAA,yBAAyB,CAAC,mBAAmB;AAC7C,IAAA,yBAAyB,CAAC,eAAe;CAC5C,CAAC;AAEK,MAAM,4BAA4B,GAAa;AAClD,IAAA,yBAAyB,CAAC,gBAAgB;AAC1C,IAAA,yBAAyB,CAAC,iBAAiB;AAC3C,IAAA,yBAAyB,CAAC,sBAAsB;AAChD,IAAA,yBAAyB,CAAC,sBAAsB;AAChD,IAAA,yBAAyB,CAAC,eAAe;AACzC,IAAA,yBAAyB,CAAC,gBAAgB;AAC1C,IAAA,yBAAyB,CAAC,mBAAmB;AAC7C,IAAA,yBAAyB,CAAC,eAAe;CAC5C,CAAC;AAEK,MAAM,mCAAmC,GAAa;AACzD,IAAA,yBAAyB,CAAC,iBAAiB;AAC3C,IAAA,yBAAyB,CAAC,sBAAsB;AAChD,IAAA,yBAAyB,CAAC,sBAAsB;AAChD,IAAA,yBAAyB,CAAC,eAAe;AACzC,IAAA,yBAAyB,CAAC,gBAAgB;AAC1C,IAAA,yBAAyB,CAAC,mBAAmB;AAC7C,IAAA,yBAAyB,CAAC,eAAe;CAC5C,CAAC;AAEF;AACA;AACA;AACA;AAEA,IAAY,qBAGX,CAAA;AAHD,CAAA,UAAY,qBAAqB,EAAA;AAC7B,IAAA,qBAAA,CAAA,sBAAA,CAAA,GAAA,oBAA2C,CAAA;AAC3C,IAAA,qBAAA,CAAA,uBAAA,CAAA,GAAA,qBAA6C,CAAA;AACjD,CAAC,EAHW,qBAAqB,KAArB,qBAAqB,GAGhC,EAAA,CAAA,CAAA,CAAA;AAED,IAAY,aAKX,CAAA;AALD,CAAA,UAAY,aAAa,EAAA;AACrB,IAAA,aAAA,CAAA,qBAAA,CAAA,GAAA,mBAAyC,CAAA;AACzC,IAAA,aAAA,CAAA,sBAAA,CAAA,GAAA,oBAA2C,CAAA;AAC3C,IAAA,aAAA,CAAA,sBAAA,CAAA,GAAA,oBAA2C,CAAA;AAC3C,IAAA,aAAA,CAAA,uBAAA,CAAA,GAAA,qBAA6C,CAAA;AACjD,CAAC,EALW,aAAa,KAAb,aAAa,GAKxB,EAAA,CAAA,CAAA,CAAA;AAED;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA,IAAY,QAUX,CAAA;AAVD,CAAA,UAAY,QAAQ,EAAA;AAChB,IAAA,QAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACf,IAAA,QAAA,CAAA,aAAA,CAAA,GAAA,aAA2B,CAAA;AAC3B,IAAA,QAAA,CAAA,aAAA,CAAA,GAAA,aAA2B,CAAA;AAC3B,IAAA,QAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACb,IAAA,QAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACf,IAAA,QAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,IAAA,QAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrB,IAAA,QAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACb,IAAA,QAAA,CAAA,gBAAA,CAAA,GAAA,gBAAiC,CAAA;AACrC,CAAC,EAVW,QAAQ,KAAR,QAAQ,GAUnB,EAAA,CAAA,CAAA,CAAA;AAED;AACA;AACA;AACA;AAEO,MAAM,yBAAyB,GAElC;AACA,IAAA,CAAC,yBAAyB,CAAC,KAAK,GAAG;AAC/B,QAAA,eAAe,EAAE,OAAO;AACxB,QAAA,OAAO,EAAE,WAAW;AACpB,QAAA,eAAe,EAAE,OAAO;AACxB,QAAA,MAAM,EAAE,OAAO;QACf,QAAQ,EAAE,CAAC,CAAC;AACZ,QAAA,YAAY,EAAE,iBAAiB;AAC/B,QAAA,QAAQ,EAAE,OAAO;AACjB,QAAA,WAAW,EAAE,kBAAkB;AAC/B,QAAA,OAAO,EAAE,OAAO;AAChB,QAAA,GAAG,EAAE,UAAU;AACf,QAAA,gBAAgB,EAAE,WAAW;AAC7B,QAAA,YAAY,EAAE,eAAe;AAC7B,QAAA,IAAI,EAAE,OAAO;QACb,aAAa,EAAE,qBAAqB,CAAC,oBAAoB;QACzD,gBAAgB,EAAE,yBAAyB,CAAC,KAAK;AACjD,QAAA,aAAa,EAAE,yCAAyC;QACxD,OAAO,EAAE,QAAQ,CAAC,KAAK;QACvB,YAAY,EAAE,aAAa,CAAC,mBAAmB;QAC/C,aAAa,EAAE,aAAa,CAAC,oBAAoB;AACjD,QAAA,YAAY,EAAE,OAAO;AACxB,KAAA;AACD,IAAA,CAAC,yBAAyB,CAAC,MAAM,GAAG;AAChC,QAAA,eAAe,EAAE,QAAQ;AACzB,QAAA,OAAO,EAAE,YAAY;AACrB,QAAA,eAAe,EAAE,QAAQ;AACzB,QAAA,MAAM,EAAE,QAAQ;AAChB,QAAA,QAAQ,EAAE,CAAC;AACX,QAAA,YAAY,EAAE,EAAE;AAChB,QAAA,QAAQ,EAAE,QAAQ;AAClB,QAAA,OAAO,EAAE,QAAQ;AACjB,QAAA,GAAG,EAAE,WAAW;AAChB,QAAA,gBAAgB,EAAE,EAAE;AACpB,QAAA,IAAI,EAAE,OAAO;QACb,aAAa,EAAE,qBAAqB,CAAC,qBAAqB;QAC1D,gBAAgB,EAAE,yBAAyB,CAAC,MAAM;QAClD,OAAO,EAAE,QAAQ,CAAC,MAAM;QACxB,YAAY,EAAE,aAAa,CAAC,oBAAoB;QAChD,aAAa,EAAE,aAAa,CAAC,qBAAqB;AACrD,KAAA;AACD,IAAA,CAAC,yBAAyB,CAAC,WAAW,GAAG;AACrC,QAAA,eAAe,EAAE,aAAa;AAC9B,QAAA,OAAO,EAAE,iBAAiB;AAC1B,QAAA,eAAe,EAAE,aAAa;AAC9B,QAAA,MAAM,EAAE,aAAa;AACrB,QAAA,QAAQ,EAAE,CAAC;AACX,QAAA,YAAY,EAAE,oBAAoB;AAClC,QAAA,QAAQ,EAAE,aAAa;AACvB,QAAA,WAAW,EAAE,qBAAqB;AAClC,QAAA,OAAO,EAAE,aAAa;AACtB,QAAA,GAAG,EAAE,gBAAgB;AACrB,QAAA,gBAAgB,EAAE,cAAc;AAChC,QAAA,YAAY,EAAE,aAAa;AAC3B,QAAA,IAAI,EAAE,aAAa;QACnB,aAAa,EAAE,qBAAqB,CAAC,qBAAqB;QAC1D,gBAAgB,EAAE,yBAAyB,CAAC,WAAW;AACvD,QAAA,aAAa,EAAE,mCAAmC;QAClD,OAAO,EAAE,QAAQ,CAAC,WAAW;QAC7B,YAAY,EAAE,aAAa,CAAC,oBAAoB;QAChD,aAAa,EAAE,aAAa,CAAC,qBAAqB;AAClD,QAAA,YAAY,EAAE,aAAa;AAC9B,KAAA;AACD,IAAA,CAAC,yBAAyB,CAAC,WAAW,GAAG;AACrC,QAAA,eAAe,EAAE,KAAK;AACtB,QAAA,OAAO,EAAE,gBAAgB;AACzB,QAAA,eAAe,EAAE,YAAY;AAC7B,QAAA,MAAM,EAAE,cAAc;AACtB,QAAA,QAAQ,EAAE,CAAC;AACX,QAAA,YAAY,EAAE,eAAe;AAC7B,QAAA,QAAQ,EAAE,KAAK;AACf,QAAA,WAAW,EAAE,gBAAgB;AAC7B,QAAA,OAAO,EAAE,aAAa;AACtB,QAAA,GAAG,EAAE,QAAQ;AACb,QAAA,gBAAgB,EAAE,SAAS;AAC3B,QAAA,YAAY,EAAE,YAAY;AAC1B,QAAA,IAAI,EAAE,YAAY;QAClB,aAAa,EAAE,qBAAqB,CAAC,qBAAqB;QAC1D,gBAAgB,EAAE,yBAAyB,CAAC,WAAW;AACvD,QAAA,aAAa,EAAE,gDAAgD;QAC/D,OAAO,EAAE,QAAQ,CAAC,WAAW;QAC7B,YAAY,EAAE,aAAa,CAAC,oBAAoB;QAChD,aAAa,EAAE,aAAa,CAAC,qBAAqB;AAClD,QAAA,YAAY,EAAE,cAAc;AAC/B,KAAA;AACD,IAAA,CAAC,yBAAyB,CAAC,IAAI,GAAG;AAC9B,QAAA,eAAe,EAAE,MAAM;AACvB,QAAA,OAAO,EAAE,UAAU;AACnB,QAAA,eAAe,EAAE,MAAM;AACvB,QAAA,MAAM,EAAE,OAAO;AACf,QAAA,QAAQ,EAAE,CAAC;AACX,QAAA,YAAY,EAAE,gBAAgB;AAC9B,QAAA,QAAQ,EAAE,MAAM;AAChB,QAAA,WAAW,EAAE,iBAAiB;AAC9B,QAAA,OAAO,EAAE,MAAM;AACf,QAAA,GAAG,EAAE,SAAS;AACd,QAAA,gBAAgB,EAAE,UAAU;AAC5B,QAAA,YAAY,EAAE,MAAM;AACpB,QAAA,IAAI,EAAE,MAAM;QACZ,aAAa,EAAE,qBAAqB,CAAC,qBAAqB;QAC1D,gBAAgB,EAAE,yBAAyB,CAAC,IAAI;AAChD,QAAA,aAAa,EAAE,uCAAuC;QACtD,OAAO,EAAE,QAAQ,CAAC,IAAI;QACtB,YAAY,EAAE,aAAa,CAAC,oBAAoB;QAChD,aAAa,EAAE,aAAa,CAAC,qBAAqB;AAClD,QAAA,YAAY,EAAE,OAAO;AACxB,KAAA;AACD,IAAA,CAAC,yBAAyB,CAAC,KAAK,GAAG;AAC/B,QAAA,eAAe,EAAE,OAAO;AACxB,QAAA,OAAO,EAAE,WAAW;AACpB,QAAA,eAAe,EAAE,OAAO;AACxB,QAAA,MAAM,EAAE,QAAQ;AAChB,QAAA,QAAQ,EAAE,CAAC;AACX,QAAA,YAAY,EAAE,iBAAiB;AAC/B,QAAA,QAAQ,EAAE,OAAO;AACjB,QAAA,WAAW,EAAE,kBAAkB;AAC/B,QAAA,OAAO,EAAE,OAAO;AAChB,QAAA,GAAG,EAAE,UAAU;AACf,QAAA,gBAAgB,EAAE,WAAW;AAC7B,QAAA,YAAY,EAAE,OAAO;AACrB,QAAA,IAAI,EAAE,OAAO;QACb,aAAa,EAAE,qBAAqB,CAAC,qBAAqB;QAC1D,gBAAgB,EAAE,yBAAyB,CAAC,KAAK;AACjD,QAAA,aAAa,EAAE,mCAAmC;QAClD,OAAO,EAAE,QAAQ,CAAC,KAAK;QACvB,YAAY,EAAE,aAAa,CAAC,oBAAoB;QAChD,aAAa,EAAE,aAAa,CAAC,qBAAqB;AAClD,QAAA,YAAY,EAAE,QAAQ;AACzB,KAAA;AACD,IAAA,CAAC,yBAAyB,CAAC,QAAQ,GAAG;AAClC,QAAA,eAAe,EAAE,WAAW;AAC5B,QAAA,OAAO,EAAE,WAAW;AACpB,QAAA,eAAe,EAAE,WAAW;AAC5B,QAAA,MAAM,EAAE,WAAW;AACnB,QAAA,QAAQ,EAAE,CAAC;AACX,QAAA,YAAY,EAAE,oBAAoB;AAClC,QAAA,QAAQ,EAAE,UAAU;AACpB,QAAA,GAAG,EAAE,aAAa;AAClB,QAAA,gBAAgB,EAAE,cAAc;QAChC,gBAAgB,EAAE,yBAAyB,CAAC,QAAQ;QACpD,OAAO,EAAE,QAAQ,CAAC,QAAQ;QAC1B,YAAY,EAAE,aAAa,CAAC,oBAAoB;QAChD,aAAa,EAAE,aAAa,CAAC,qBAAqB;AACrD,KAAA;AACD,IAAA,CAAC,yBAAyB,CAAC,IAAI,GAAG;AAC9B,QAAA,eAAe,EAAE,MAAM;AACvB,QAAA,OAAO,EAAE,MAAM;AACf,QAAA,eAAe,EAAE,MAAM;AACvB,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,QAAQ,EAAE,CAAC;AACX,QAAA,YAAY,EAAE,gBAAgB;AAC9B,QAAA,QAAQ,EAAE,MAAM;AAChB,QAAA,GAAG,EAAE,SAAS;AACd,QAAA,gBAAgB,EAAE,UAAU;AAC5B,QAAA,IAAI,EAAE,MAAM;QACZ,gBAAgB,EAAE,yBAAyB,CAAC,IAAI;QAChD,OAAO,EAAE,QAAQ,CAAC,IAAI;QACtB,YAAY,EAAE,aAAa,CAAC,oBAAoB;QAChD,aAAa,EAAE,aAAa,CAAC,qBAAqB;AACrD,KAAA;AACD,IAAA,CAAC,yBAAyB,CAAC,gBAAgB,GAAG;AAC1C,QAAA,eAAe,EAAE,OAAO;AACxB,QAAA,OAAO,EAAE,WAAW;AACpB,QAAA,eAAe,EAAE,OAAO;AACxB,QAAA,MAAM,EAAE,OAAO;QACf,QAAQ,EAAE,CAAC,CAAC;AACZ,QAAA,YAAY,EAAE,2BAA2B;AACzC,QAAA,QAAQ,EAAE,OAAO;AACjB,QAAA,WAAW,EAAE,kBAAkB;AAC/B,QAAA,GAAG,EAAE,UAAU;AACf,QAAA,gBAAgB,EAAE,oBAAoB;AACtC,QAAA,YAAY,EAAE,eAAe;AAC7B,QAAA,IAAI,EAAE,OAAO;QACb,aAAa,EAAE,qBAAqB,CAAC,oBAAoB;QACzD,gBAAgB,EAAE,yBAAyB,CAAC,KAAK;QACjD,OAAO,EAAE,QAAQ,CAAC,KAAK;QACvB,YAAY,EAAE,aAAa,CAAC,mBAAmB;QAC/C,aAAa,EAAE,aAAa,CAAC,oBAAoB;AACpD,KAAA;AACD,IAAA,CAAC,yBAAyB,CAAC,iBAAiB,GAAG;AAC3C,QAAA,eAAe,EAAE,QAAQ;AACzB,QAAA,OAAO,EAAE,YAAY;AACrB,QAAA,eAAe,EAAE,QAAQ;AACzB,QAAA,MAAM,EAAE,QAAQ;AAChB,QAAA,QAAQ,EAAE,CAAC;AACX,QAAA,YAAY,EAAE,EAAE;AAChB,QAAA,QAAQ,EAAE,QAAQ;AAClB,QAAA,GAAG,EAAE,WAAW;AAChB,QAAA,gBAAgB,EAAE,EAAE;AACpB,QAAA,IAAI,EAAE,OAAO;QACb,aAAa,EAAE,qBAAqB,CAAC,oBAAoB;QACzD,gBAAgB,EAAE,yBAAyB,CAAC,MAAM;QAClD,OAAO,EAAE,QAAQ,CAAC,MAAM;QACxB,YAAY,EAAE,aAAa,CAAC,oBAAoB;QAChD,aAAa,EAAE,aAAa,CAAC,qBAAqB;AACrD,KAAA;AACD,IAAA,CAAC,yBAAyB,CAAC,sBAAsB,GAAG;AAChD,QAAA,eAAe,EAAE,aAAa;AAC9B,QAAA,OAAO,EAAE,iBAAiB;AAC1B,QAAA,eAAe,EAAE,aAAa;AAC9B,QAAA,MAAM,EAAE,aAAa;AACrB,QAAA,QAAQ,EAAE,CAAC;AACX,QAAA,YAAY,EAAE,8BAA8B;AAC5C,QAAA,QAAQ,EAAE,aAAa;AACvB,QAAA,WAAW,EAAE,qBAAqB;AAClC,QAAA,OAAO,EAAE,aAAa;AACtB,QAAA,GAAG,EAAE,gBAAgB;AACrB,QAAA,gBAAgB,EAAE,uBAAuB;AACzC,QAAA,YAAY,EAAE,aAAa;AAC3B,QAAA,IAAI,EAAE,aAAa;QACnB,aAAa,EAAE,qBAAqB,CAAC,qBAAqB;QAC1D,gBAAgB,EAAE,yBAAyB,CAAC,WAAW;QACvD,OAAO,EAAE,QAAQ,CAAC,WAAW;QAC7B,YAAY,EAAE,aAAa,CAAC,oBAAoB;QAChD,aAAa,EAAE,aAAa,CAAC,qBAAqB;AACrD,KAAA;AACD,IAAA,CAAC,yBAAyB,CAAC,sBAAsB,GAAG;AAChD,QAAA,eAAe,EAAE,KAAK;AACtB,QAAA,OAAO,EAAE,gBAAgB;AACzB,QAAA,eAAe,EAAE,YAAY;AAC7B,QAAA,MAAM,EAAE,cAAc;AACtB,QAAA,QAAQ,EAAE,CAAC;AACX,QAAA,YAAY,EAAE,yBAAyB;AACvC,QAAA,QAAQ,EAAE,KAAK;AACf,QAAA,WAAW,EAAE,gBAAgB;AAC7B,QAAA,OAAO,EAAE,aAAa;AACtB,QAAA,GAAG,EAAE,QAAQ;AACb,QAAA,gBAAgB,EAAE,kBAAkB;AACpC,QAAA,YAAY,EAAE,YAAY;AAC1B,QAAA,IAAI,EAAE,YAAY;QAClB,aAAa,EAAE,qBAAqB,CAAC,qBAAqB;QAC1D,gBAAgB,EAAE,yBAAyB,CAAC,WAAW;QACvD,OAAO,EAAE,QAAQ,CAAC,WAAW;QAC7B,YAAY,EAAE,aAAa,CAAC,oBAAoB;QAChD,aAAa,EAAE,aAAa,CAAC,qBAAqB;AACrD,KAAA;AACD,IAAA,CAAC,yBAAyB,CAAC,eAAe,GAAG;AACzC,QAAA,eAAe,EAAE,MAAM;AACvB,QAAA,OAAO,EAAE,UAAU;AACnB,QAAA,eAAe,EAAE,MAAM;AACvB,QAAA,MAAM,EAAE,OAAO;AACf,QAAA,QAAQ,EAAE,CAAC;AACX,QAAA,YAAY,EAAE,0BAA0B;AACxC,QAAA,QAAQ,EAAE,MAAM;AAChB,QAAA,WAAW,EAAE,iBAAiB;AAC9B,QAAA,OAAO,EAAE,MAAM;AACf,QAAA,GAAG,EAAE,SAAS;AACd,QAAA,gBAAgB,EAAE,mBAAmB;AACrC,QAAA,YAAY,EAAE,MAAM;AACpB,QAAA,IAAI,EAAE,MAAM;QACZ,aAAa,EAAE,qBAAqB,CAAC,qBAAqB;QAC1D,gBAAgB,EAAE,yBAAyB,CAAC,IAAI;QAChD,OAAO,EAAE,QAAQ,CAAC,IAAI;QACtB,YAAY,EAAE,aAAa,CAAC,oBAAoB;QAChD,aAAa,EAAE,aAAa,CAAC,qBAAqB;AACrD,KAAA;AAED,IAAA,CAAC,yBAAyB,CAAC,gBAAgB,GAAG;AAC1C,QAAA,eAAe,EAAE,OAAO;AACxB,QAAA,OAAO,EAAE,WAAW;AACpB,QAAA,eAAe,EAAE,OAAO;AACxB,QAAA,MAAM,EAAE,QAAQ;AAChB,QAAA,QAAQ,EAAE,CAAC;AACX,QAAA,YAAY,EAAE,2BAA2B;AACzC,QAAA,QAAQ,EAAE,OAAO;AACjB,QAAA,WAAW,EAAE,kBAAkB;AAC/B,QAAA,OAAO,EAAE,OAAO;AAChB,QAAA,GAAG,EAAE,UAAU;AACf,QAAA,gBAAgB,EAAE,oBAAoB;AACtC,QAAA,YAAY,EAAE,OAAO;AACrB,QAAA,IAAI,EAAE,OAAO;QACb,aAAa,EAAE,qBAAqB,CAAC,qBAAqB;QAC1D,gBAAgB,EAAE,yBAAyB,CAAC,KAAK;QACjD,OAAO,EAAE,QAAQ,CAAC,KAAK;QACvB,YAAY,EAAE,aAAa,CAAC,oBAAoB;QAChD,aAAa,EAAE,aAAa,CAAC,qBAAqB;AACrD,KAAA;AAED,IAAA,CAAC,yBAAyB,CAAC,mBAAmB,GAAG;AAC7C,QAAA,eAAe,EAAE,WAAW;AAC5B,QAAA,OAAO,EAAE,WAAW;AACpB,QAAA,eAAe,EAAE,WAAW;AAC5B,QAAA,MAAM,EAAE,WAAW;AACnB,QAAA,QAAQ,EAAE,CAAC;AACX,QAAA,YAAY,EAAE,EAAE;AAChB,QAAA,QAAQ,EAAE,UAAU;AACpB,QAAA,GAAG,EAAE,aAAa;AAClB,QAAA,gBAAgB,EAAE,EAAE;QACpB,gBAAgB,EAAE,yBAAyB,CAAC,QAAQ;QACpD,OAAO,EAAE,QAAQ,CAAC,QAAQ;QAC1B,YAAY,EAAE,aAAa,CAAC,oBAAoB;QAChD,aAAa,EAAE,aAAa,CAAC,qBAAqB;AACrD,KAAA;AACD,IAAA,CAAC,yBAAyB,CAAC,eAAe,GAAG;AACzC,QAAA,eAAe,EAAE,MAAM;AACvB,QAAA,OAAO,EAAE,MAAM;AACf,QAAA,eAAe,EAAE,MAAM;AACvB,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,QAAQ,EAAE,CAAC;AACX,QAAA,YAAY,EAAE,0BAA0B;AACxC,QAAA,QAAQ,EAAE,MAAM;AAChB,QAAA,GAAG,EAAE,SAAS;AACd,QAAA,gBAAgB,EAAE,mBAAmB;AACrC,QAAA,IAAI,EAAE,MAAM;QACZ,gBAAgB,EAAE,yBAAyB,CAAC,IAAI;QAChD,OAAO,EAAE,QAAQ,CAAC,IAAI;QACtB,YAAY,EAAE,aAAa,CAAC,oBAAoB;QAChD,aAAa,EAAE,aAAa,CAAC,qBAAqB;AACrD,KAAA;;;;;;;;;;;CAYJ,CAAC;AAEF;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA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A,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;;AAIX,IAAA,gBAAA,CAAA,GAAA,CAAA,GAAA,GAAO,CAAA;AACP,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACb,IAAA,gBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACb,IAAA,gBAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACb,IAAA,gBAAA,CAAA,mBAAA,CAAA,GAAA,SAAwB,CAAA;AACxB,IAAA,gBAAA,CAAA,mBAAA,CAAA,GAAA,SAAwB,CAAA;AACxB,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,IAAA,CAAA,GAAA,IAAS,CAAA;;AAGT,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,aAAA,CAAA,GAAA,UAAmB,CAAA;AACvB,CAAC,EAtJW,gBAAgB,KAAhB,gBAAgB,GAsJ3B,EAAA,CAAA,CAAA,CAAA;AAED,IAAY,eAUX,CAAA;AAVD,CAAA,UAAY,eAAe,EAAA;AACvB,IAAA,eAAA,CAAA,GAAA,CAAA,GAAA,GAAO,CAAA;AACP,IAAA,eAAA,CAAA,IAAA,CAAA,GAAA,IAAS,CAAA;AACT,IAAA,eAAA,CAAA,IAAA,CAAA,GAAA,IAAS,CAAA;;AAET,IAAA,eAAA,CAAA,GAAA,CAAA,GAAA,GAAO,CAAA;AACP,IAAA,eAAA,CAAA,IAAA,CAAA,GAAA,IAAS,CAAA;AACT,IAAA,eAAA,CAAA,GAAA,CAAA,GAAA,GAAO,CAAA;;AAEP,IAAA,eAAA,CAAA,GAAA,CAAA,GAAA,GAAO,CAAA;AACX,CAAC,EAVW,eAAe,KAAf,eAAe,GAU1B,EAAA,CAAA,CAAA,CAAA;AAED,IAAY,cAIX,CAAA;AAJD,CAAA,UAAY,cAAc,EAAA;IACtB,cAAA,CAAA,cAAA,CAAA,UAAA,CAAA,GAAA,IAAA,CAAA,GAAA,UAAe,CAAA;IACf,cAAA,CAAA,cAAA,CAAA,SAAA,CAAA,GAAA,OAAA,CAAA,GAAA,SAAiB,CAAA;IACjB,cAAA,CAAA,cAAA,CAAA,SAAA,CAAA,GAAA,UAAA,CAAA,GAAA,SAAoB,CAAA;AACxB,CAAC,EAJW,cAAc,KAAd,cAAc,GAIzB,EAAA,CAAA,CAAA,CAAA;AAED,MAAM,iBAAiB,GAAG;AACtB,IAAA,CAAC,cAAc,CAAC,QAAQ,GAAG,eAAe,CAAC,CAAC;AAC5C,IAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,EAAE;AAC5C,IAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,EAAE;CAC/C,CAAC;AAEK,MAAM,mBAAmB,GAE5B;AACA,IAAA,CAAC,gBAAgB,CAAC,EAAE,GAAG;AACnB,QAAA,CAAC,cAAc,CAAC,QAAQ,GAAG,eAAe,CAAC,CAAC;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,EAAE;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,EAAE;AAC/C,KAAA;AACD,IAAA,CAAC,gBAAgB,CAAC,CAAC,GAAG;AAClB,QAAA,CAAC,cAAc,CAAC,QAAQ,GAAG,eAAe,CAAC,CAAC;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,EAAE;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,EAAE;AAC/C,KAAA;AACD,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG;AACpB,QAAA,CAAC,cAAc,CAAC,QAAQ,GAAG,eAAe,CAAC,CAAC;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,EAAE;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,EAAE;AAC/C,KAAA;AACD,IAAA,CAAC,gBAAgB,CAAC,IAAI,GAAG;AACrB,QAAA,CAAC,cAAc,CAAC,QAAQ,GAAG,eAAe,CAAC,CAAC;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,EAAE;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,EAAE;AAC/C,KAAA;AACD,IAAA,CAAC,gBAAgB,CAAC,EAAE,GAAG;AACnB,QAAA,CAAC,cAAc,CAAC,QAAQ,GAAG,eAAe,CAAC,CAAC;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,EAAE;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,CAAC;AAC9C,KAAA;AACD,IAAA,CAAC,gBAAgB,CAAC,UAAU,GAAG;AAC3B,QAAA,CAAC,cAAc,CAAC,QAAQ,GAAG,eAAe,CAAC,CAAC;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,EAAE;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,CAAC;AAC9C,KAAA;AAED,IAAA,CAAC,gBAAgB,CAAC,OAAO,GAAG;AACxB,QAAA,CAAC,cAAc,CAAC,QAAQ,GAAG,eAAe,CAAC,CAAC;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,EAAE;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,CAAC;AAC9C,KAAA;AACD,IAAA,CAAC,gBAAgB,CAAC,eAAe,GAAG;AAChC,QAAA,CAAC,cAAc,CAAC,QAAQ,GAAG,eAAe,CAAC,CAAC;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,EAAE;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,CAAC;AAC9C,KAAA;AAED,IAAA,CAAC,gBAAgB,CAAC,EAAE,GAAG;AACnB,QAAA,CAAC,cAAc,CAAC,QAAQ,GAAG,eAAe,CAAC,CAAC;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,CAAC;AAC3C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,CAAC;AAC9C,KAAA;AACD,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG;AACpB,QAAA,CAAC,cAAc,CAAC,QAAQ,GAAG,eAAe,CAAC,CAAC;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,CAAC;AAC3C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,CAAC;AAC9C,KAAA;AACD,IAAA,CAAC,gBAAgB,CAAC,EAAE,GAAG;AACnB,QAAA,CAAC,cAAc,CAAC,QAAQ,GAAG,eAAe,CAAC,CAAC;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,EAAE;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,CAAC;AAC9C,KAAA;AACD,IAAA,CAAC,gBAAgB,CAAC,EAAE,GAAG;AACnB,QAAA,CAAC,cAAc,CAAC,QAAQ,GAAG,eAAe,CAAC,CAAC;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,EAAE;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,EAAE;AAC/C,KAAA;AAED,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG;AACpB,QAAA,CAAC,cAAc,CAAC,QAAQ,GAAG,eAAe,CAAC,CAAC;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,EAAE;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,CAAC;AAC9C,KAAA;AACD,IAAA,CAAC,gBAAgB,CAAC,QAAQ,GAAG;AACzB,QAAA,CAAC,cAAc,CAAC,QAAQ,GAAG,eAAe,CAAC,CAAC;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,EAAE;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,CAAC;AAC9C,KAAA;AACD,IAAA,CAAC,gBAAgB,CAAC,MAAM,GAAG,EAAE;AAC7B,IAAA,CAAC,gBAAgB,CAAC,CAAC,GAAG;AAClB,QAAA,CAAC,cAAc,CAAC,QAAQ,GAAG,eAAe,CAAC,CAAC;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,CAAC;AAC3C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,CAAC;AAC9C,KAAA;AACD,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG;AACpB,QAAA,CAAC,cAAc,CAAC,QAAQ,GAAG,eAAe,CAAC,CAAC;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,EAAE;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,EAAE;AAC/C,KAAA;AACD,IAAA,CAAC,gBAAgB,CAAC,EAAE,GAAG;AACnB,QAAA,CAAC,cAAc,CAAC,QAAQ,GAAG,eAAe,CAAC,CAAC;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,CAAC;AAC3C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,CAAC;AAC9C,KAAA;;AAGD,IAAA,CAAC,gBAAgB,CAAC,CAAC,GAAG;AAClB,QAAA,CAAC,cAAc,CAAC,QAAQ,GAAG,eAAe,CAAC,CAAC;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,EAAE;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,EAAE;AAC/C,KAAA;AACD,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG;AACpB,QAAA,CAAC,cAAc,CAAC,QAAQ,GAAG,eAAe,CAAC,CAAC;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,EAAE;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,EAAE;AAC/C,KAAA;AACD,IAAA,CAAC,gBAAgB,CAAC,IAAI,GAAG;AACrB,QAAA,CAAC,cAAc,CAAC,QAAQ,GAAG,eAAe,CAAC,CAAC;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,EAAE;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,EAAE;AAC/C,KAAA;AACD,IAAA,CAAC,gBAAgB,CAAC,MAAM,GAAG;AACvB,QAAA,CAAC,cAAc,CAAC,QAAQ,GAAG,eAAe,CAAC,CAAC;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,EAAE;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,EAAE;AAC/C,KAAA;AACD,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG;AACpB,QAAA,CAAC,cAAc,CAAC,QAAQ,GAAG,eAAe,CAAC,CAAC;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,EAAE;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,EAAE;AAC/C,KAAA;AACD,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG;AACpB,QAAA,CAAC,cAAc,CAAC,QAAQ,GAAG,eAAe,CAAC,CAAC;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,EAAE;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,EAAE;AAC/C,KAAA;AACD,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG;AACpB,QAAA,CAAC,cAAc,CAAC,QAAQ,GAAG,eAAe,CAAC,CAAC;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,CAAC;AAC3C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,CAAC;AAC9C,KAAA;AACD,IAAA,CAAC,gBAAgB,CAAC,IAAI,GAAG;AACrB,QAAA,CAAC,cAAc,CAAC,QAAQ,GAAG,eAAe,CAAC,CAAC;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,EAAE;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,EAAE;AAC/C,KAAA;AACD,IAAA,CAAC,gBAAgB,CAAC,IAAI,GAAG;AACrB,QAAA,CAAC,cAAc,CAAC,QAAQ,GAAG,eAAe,CAAC,CAAC;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,EAAE;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,EAAE;AAC/C,KAAA;AACD,IAAA,CAAC,gBAAgB,CAAC,iBAAiB,GAAG;AAClC,QAAA,CAAC,cAAc,CAAC,QAAQ,GAAG,eAAe,CAAC,CAAC;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,EAAE;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,EAAE;AAC/C,KAAA;AACD,IAAA,CAAC,gBAAgB,CAAC,iBAAiB,GAAG;AAClC,QAAA,CAAC,cAAc,CAAC,QAAQ,GAAG,eAAe,CAAC,CAAC;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,EAAE;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,EAAE;AAC/C,KAAA;AACD,IAAA,CAAC,gBAAgB,CAAC,EAAE,GAAG;AACnB,QAAA,CAAC,cAAc,CAAC,QAAQ,GAAG,eAAe,CAAC,CAAC;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,EAAE;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,EAAE;AAC/C,KAAA;AACD,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG;AACpB,QAAA,CAAC,cAAc,CAAC,QAAQ,GAAG,eAAe,CAAC,CAAC;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,EAAE;AAC5C,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG,eAAe,CAAC,EAAE;AAC/C,KAAA;;AAGD,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAAiB;AACzC,IAAA,CAAC,gBAAgB,CAAC,GAAG,GAAG,iBAA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"}