ato-water-lib 0.0.59 → 0.0.60
Sign up to get free protection for your applications and to get access to all the features.
- package/esm2020/lib/constants/components-group-const.mjs +34 -29
- package/fesm2015/ato-water-lib.mjs +10 -10
- package/fesm2015/ato-water-lib.mjs.map +1 -1
- package/fesm2020/ato-water-lib.mjs +33 -28
- package/fesm2020/ato-water-lib.mjs.map +1 -1
- package/lib/constants/components-group-const.d.ts +3 -3
- package/package.json +1 -1
@@ -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\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('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('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\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, 10, 5, 10),\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 {\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 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 },\n new go.Binding('text', '', (data, panel) => {\n return data?.name;\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 ),\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 !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, 83),\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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',\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 // 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}\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 // 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.KPI_ATP]: {\n name: 'ATP',\n key: ENUM_ASSET_PARAMETERS.KPI_ATP,\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};\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[ENUM_ASSET_PARAMETERS.EVAPORATION_LOSS_FLOW_RATE],\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[ENUM_ASSET_PARAMETERS.MAKEUP_WATER_CONDUCTIVITY],\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.KPI_ATP],\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.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[ENUM_ASSET_PARAMETERS.INTERNAL_TREATMENT_PHOSPHATE],\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\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 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 { key: 100, type: AtoGojsEditorModel.ENUM_TEMPLATES.STORAGE, isGroup: true, name: 'Group' },\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 { key: 100, type: AtoGojsEditorModel.ENUM_TEMPLATES.WATER_TREATMENT, isGroup: true, name: 'Group' },\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: 93, color: AtoGojsEditorModel.ENUM_COLORS.BLUE, fromPort: 'T', toPort: 'T' },\n { from: 93, to: 99, color: AtoGojsEditorModel.ENUM_COLORS.BLUE, fromPort: 'B', toPort: 'R' },\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 { key: 100, type: AtoGojsEditorModel.ENUM_TEMPLATES.WATER_TREATMENT, isGroup: true, name: 'Group' },\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: 93, color: AtoGojsEditorModel.ENUM_COLORS.BLUE, fromPort: 'T', toPort: 'L' },\n { from: 93, to: 99, color: AtoGojsEditorModel.ENUM_COLORS.BLUE, fromPort: 'B', toPort: 'R' },\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[AtoGojsEditorModel.ENUM_COLORS.CERULEAN],\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[AtoGojsEditorModel.ENUM_COLORS.DANUBE],\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[AtoGojsEditorModel.ENUM_COLORS.FOUNTAIN_BLUE],\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[AtoGojsEditorModel.ENUM_COLORS.GALLIANO],\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 { key: 100, type: AtoGojsEditorModel.ENUM_TEMPLATES.PROCESS, isGroup: true, name: 'Group' },\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 { from: 99, to: 93, color: AtoGojsEditorModel.ENUM_COLORS.BLUE, fromPort: 'T', toPort: 'L' },\n { from: 93, to: 99, color: AtoGojsEditorModel.ENUM_COLORS.BLUE, fromPort: 'B', toPort: 'R' },\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 { key: 100, type: AtoGojsEditorModel.ENUM_TEMPLATES.WASTEWATER_TREATMENT, isGroup: true, name: 'Group' },\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: 93, color: AtoGojsEditorModel.ENUM_COLORS.BLUE, fromPort: 'T', toPort: 'L' },\n { from: 93, to: 99, color: AtoGojsEditorModel.ENUM_COLORS.BLUE, fromPort: 'B', toPort: 'R' },\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 { key: 100, type: AtoGojsEditorModel.ENUM_TEMPLATES.WASTEWATER_TREATMENT, isGroup: true, name: 'Group' },\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: 93, color: AtoGojsEditorModel.ENUM_COLORS.BLUE, fromPort: 'T', toPort: 'L' },\n { from: 93, to: 99, color: AtoGojsEditorModel.ENUM_COLORS.BLUE, fromPort: 'B', toPort: 'R' },\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 { key: 100, type: AtoGojsEditorModel.ENUM_TEMPLATES.WASTEWATER_TREATMENT, isGroup: true, name: 'Group' },\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: 93, color: AtoGojsEditorModel.ENUM_COLORS.BLUE, fromPort: 'T', toPort: 'L' },\n { from: 93, to: 99, color: AtoGojsEditorModel.ENUM_COLORS.BLUE, fromPort: 'B', toPort: 'R' },\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 { key: 100, type: AtoGojsEditorModel.ENUM_TEMPLATES.WASTEWATER_TREATMENT, isGroup: true, name: 'Group' },\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: 93, color: AtoGojsEditorModel.ENUM_COLORS.BLUE, fromPort: 'T', toPort: 'L' },\n { from: 93, to: 99, color: AtoGojsEditorModel.ENUM_COLORS.BLUE, fromPort: 'B', toPort: 'R' },\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 { key: 100, type: AtoGojsEditorModel.ENUM_TEMPLATES.WASTEWATER_TREATMENT, isGroup: true, name: 'Group' },\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: 93, color: AtoGojsEditorModel.ENUM_COLORS.BLUE, fromPort: 'T', toPort: 'L' },\n { from: 93, to: 99, color: AtoGojsEditorModel.ENUM_COLORS.BLUE, fromPort: 'B', toPort: 'R' },\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 { key: 100, type: AtoGojsEditorModel.ENUM_TEMPLATES.DOMESTIC_USE, isGroup: true, name: 'Group' },\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[WATER_SYSTEMS_NAME.EVAPORATION_LOSS].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[WATER_SYSTEMS_NAME.MAKEUP_WATER__FLOW].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: '30 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[WATER_SYSTEMS_NAME.MAKEUP_WATER__CHEMISTRY].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((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: 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((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: 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[WATER_SYSTEMS_NAME.COOLING_TOWER_ANALYSIS].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[WATER_SYSTEMS_NAME.COOLING_WATER_CHEMISTRY].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: '30 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((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: 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 { key: 100, type: AtoGojsEditorModel.ENUM_TEMPLATES.COOLING_TOWER, isGroup: true, name: 'Group' },\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: '13 280',\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[WATER_SYSTEMS_NAME.MAKEUP_WATER__CHEMISTRY].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 type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE,\n group: 100,\n loc: '190 20',\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[WATER_SYSTEMS_NAME.CONDENSATE_RETURN__CHEMISTRY].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[WATER_SYSTEMS_NAME.STEAM__CHEMISTRY].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: '400 510',\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[WATER_SYSTEMS_NAME.BOILER_FEED_WATER__CHEMISTRY].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 270',\n padding: new go.Margin(0, 0, 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[WATER_SYSTEMS_NAME.BOILER_WATER].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(140, 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 280',\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: '460 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 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[WATER_SYSTEMS_NAME.MAKEUP_WATER__FLOW].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: '190 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[WATER_SYSTEMS_NAME.CONDENSATE_RETURN__FLOW].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 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[WATER_SYSTEMS_NAME.STEAM__FLOW].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: '400 510',\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[WATER_SYSTEMS_NAME.BOILER_FEED_WATER__FLOW].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 200',\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[WATER_SYSTEMS_NAME.STEAM_LOSS].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[WATER_SYSTEMS_NAME.BLOWDOWN].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: '460 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: '325 190',\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 { key: 100, type: AtoGojsEditorModel.ENUM_TEMPLATES.BOILER, isGroup: true, name: 'Group' },\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 { key: 100, type: AtoGojsEditorModel.ENUM_TEMPLATES.OTHER, isGroup: true, name: 'Group' },\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 { key: 100, type: AtoGojsEditorModel.ENUM_TEMPLATES.LANDSCAPING_IRRIGATION, isGroup: true, name: 'Group' },\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 this.clickParamTableRow.emit(itemTable);\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\">\n <div\n class=\"mr-auto font-size-13px text-truncate flex-grow-1\"\n [style.color]=\"itemTable?.color\"\n >\n {{ itemTable?.value }}\n </div>\n <svg *ngIf=\"isEditView\" 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 $ = 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 node = _.merge(\n node,\n node[`extendedData${isResponsiveView ? 'Responsive' : ''}`]\n );\n if (node?.assetLayers) {\n node.visible =\n node?.assetLayers === defaultData?.assetLayer &&\n node[`extendedData${isResponsiveView ? 'Responsive' : ''}`]?.visible;\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 node = _.merge(\n node,\n node[`extendedData${this.isResponsiveView ? 'Responsive' : ''}`],\n );\n if (node?.assetLayers) {\n node.visible =\n node?.assetLayers === data.assetLayer &&\n node[`extendedData${this.isResponsiveView ? 'Responsive' : ''}`]\n ?.visible;\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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A;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA,IAAY,uBAIX,CAAA;AAJD,CAAA,UAAY,uBAAuB,EAAA;AAC/B,IAAA,uBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,IAAA,uBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnB,IAAA,uBAAA,CAAA,MAAA,CAAA,GAAA,EAAS,CAAA;AACb,CAAC,EAJW,uBAAuB,KAAvB,uBAAuB,GAIlC,EAAA,CAAA,CAAA;;MCnzBY,kBAAkB,CAAA;AAI7B,IAAA,WAAA,CAAY,IAAS,EAAA;AACnB,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;KAClB;AACF,CAAA;AAED,CAAA,UAAiB,kBAAkB,EAAA;IACpB,kBAAS,CAAA,SAAA,GAAG,EAAE,CAAC;IACf,kBAAqB,CAAA,qBAAA,GAAG,EAAE,CAAC;IAC3B,kBAAqB,CAAA,qBAAA,GAAG,EAAE,CAAC;AAC3B,IAAA,kBAAA,CAAA,qBAAqB,GAAG,kBAAA,CAAA,SAAS,GAAG,kBAAA,CAAA,qBAAqB,CAAC;AAC1D,IAAA,kBAAA,CAAA,sBAAsB,GAAG,kBAAA,CAAA,SAAS,GAAG,kBAAA,CAAA,qBAAqB,CAAC;IAC3D,kBAAoB,CAAA,oBAAA,GAAG,EAAE,CAAC;IAC1B,kBAAiB,CAAA,iBAAA,GAAG,GAAG,CAAC;AACrC,IAAA,IAAY,kBAIX,CAAA;AAJD,IAAA,CAAA,UAAY,kBAAkB,EAAA;AAC5B,QAAA,kBAAA,CAAA,MAAA,CAAA,GAAA,YAAmB,CAAA;AACnB,QAAA,kBAAA,CAAA,MAAA,CAAA,GAAA,gBAAuB,CAAA;AACvB,QAAA,kBAAA,CAAA,UAAA,CAAA,GAAA,WAAsB,CAAA;AACxB,KAAC,EAJW,kBAAkB,GAAlB,kBAAkB,CAAA,kBAAA,KAAlB,qCAAkB,GAI7B,EAAA,CAAA,CAAA,CAAA;AAEY,IAAA,kBAAA,CAAA,WAAW,GAAG;AACzB,QAAA;AACE,YAAA,IAAI,EAAE,YAAY;YAClB,GAAG,EAAE,kBAAkB,CAAC,IAAI;AAC7B,SAAA;AACD,QAAA;AACE,YAAA,IAAI,EAAE,gBAAgB;YACtB,GAAG,EAAE,kBAAkB,CAAC,IAAI;AAC7B,SAAA;AACD,QAAA;AACE,YAAA,IAAI,EAAE,UAAU;YAChB,GAAG,EAAE,kBAAkB,CAAC,QAAQ;AACjC,SAAA;KACF,CAAC;AAEF,IAAA,IAAY,WAiCX,CAAA;AAjCD,IAAA,CAAA,UAAY,WAAW,EAAA;AACrB,QAAA,WAAA,CAAA,KAAA,CAAA,GAAA,SAAe,CAAA;AACf,QAAA,WAAA,CAAA,QAAA,CAAA,GAAA,SAAkB,CAAA;AAClB,QAAA,WAAA,CAAA,MAAA,CAAA,GAAA,SAAgB,CAAA;AAChB,QAAA,WAAA,CAAA,YAAA,CAAA,GAAA,SAAsB,CAAA;AACtB,QAAA,WAAA,CAAA,gBAAA,CAAA,GAAA,SAA0B,CAAA;AAC1B,QAAA,WAAA,CAAA,OAAA,CAAA,GAAA,SAAiB,CAAA;AACjB,QAAA,WAAA,CAAA,MAAA,CAAA,GAAA,SAAgB,CAAA;AAChB,QAAA,WAAA,CAAA,UAAA,CAAA,GAAA,SAAoB,CAAA;AACpB,QAAA,WAAA,CAAA,cAAA,CAAA,GAAA,SAAwB,CAAA;AACxB,QAAA,WAAA,CAAA,iBAAA,CAAA,GAAA,SAA2B,CAAA;AAC3B,QAAA,WAAA,CAAA,UAAA,CAAA,GAAA,SAAoB,CAAA;AACpB,QAAA,WAAA,CAAA,UAAA,CAAA,GAAA,SAAoB,CAAA;AACpB,QAAA,WAAA,CAAA,eAAA,CAAA,GAAA,SAAyB,CAAA;AACzB,QAAA,WAAA,CAAA,WAAA,CAAA,GAAA,SAAqB,CAAA;AACrB,QAAA,WAAA,CAAA,mBAAA,CAAA,GAAA,SAA6B,CAAA;AAC7B,QAAA,WAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnB,QAAA,WAAA,CAAA,QAAA,CAAA,GAAA,SAAkB,CAAA;AAClB,QAAA,WAAA,CAAA,aAAA,CAAA,GAAA,SAAuB,CAAA;AACvB,QAAA,WAAA,CAAA,UAAA,CAAA,GAAA,SAAoB,CAAA;AACpB,QAAA,WAAA,CAAA,YAAA,CAAA,GAAA,SAAsB,CAAA;AACtB,QAAA,WAAA,CAAA,QAAA,CAAA,GAAA,SAAkB,CAAA;AAClB,QAAA,WAAA,CAAA,qBAAA,CAAA,GAAA,SAA+B,CAAA;AAC/B,QAAA,WAAA,CAAA,QAAA,CAAA,GAAA,SAAkB,CAAA;AAClB,QAAA,WAAA,CAAA,mBAAA,CAAA,GAAA,SAA6B,CAAA;AAC7B,QAAA,WAAA,CAAA,OAAA,CAAA,GAAA,SAAiB,CAAA;AACjB,QAAA,WAAA,CAAA,UAAA,CAAA,GAAA,SAAoB,CAAA;AACpB,QAAA,WAAA,CAAA,eAAA,CAAA,GAAA,SAAyB,CAAA;AACzB,QAAA,WAAA,CAAA,UAAA,CAAA,GAAA,SAAoB,CAAA;AACpB,QAAA,WAAA,CAAA,MAAA,CAAA,GAAA,SAAgB,CAAA;AAChB,QAAA,WAAA,CAAA,kBAAA,CAAA,GAAA,SAA4B,CAAA;AAC5B,QAAA,WAAA,CAAA,gBAAA,CAAA,GAAA,SAA0B,CAAA;;AAE5B,KAAC,EAjCW,WAAW,GAAX,kBAAW,CAAA,WAAA,KAAX,8BAAW,GAiCtB,EAAA,CAAA,CAAA,CAAA;AAED,IAAA,IAAY,eAKX,CAAA;AALD,IAAA,CAAA,UAAY,eAAe,EAAA;AACzB,QAAA,eAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,QAAA,eAAA,CAAA,gBAAA,CAAA,GAAA,gBAAiC,CAAA;AACjC,QAAA,eAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACb,QAAA,eAAA,CAAA,aAAA,CAAA,GAAA,aAA2B,CAAA;AAC7B,KAAC,EALW,eAAe,GAAf,kBAAe,CAAA,eAAA,KAAf,kCAAe,GAK1B,EAAA,CAAA,CAAA,CAAA;;AAGD,IAAA,IAAY,cA8JX,CAAA;AA9JD,IAAA,CAAA,UAAY,cAAc,EAAA;AACxB,QAAA,cAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnB,QAAA,cAAA,CAAA,eAAA,CAAA,GAAA,eAA+B,CAAA;AAE/B,QAAA,cAAA,CAAA,iBAAA,CAAA,GAAA,iBAAmC,CAAA;AACnC,QAAA,cAAA,CAAA,uBAAA,CAAA,GAAA,uBAA+C,CAAA;AAC/C,QAAA,cAAA,CAAA,oBAAA,CAAA,GAAA,oBAAyC,CAAA;AAEzC,QAAA,cAAA,CAAA,cAAA,CAAA,GAAA,cAA6B,CAAA;AAC7B,QAAA,cAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnB,QAAA,cAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AAEjB,QAAA,cAAA,CAAA,sBAAA,CAAA,GAAA,sBAA6C,CAAA;AAC7C,QAAA,cAAA,CAAA,0BAAA,CAAA,GAAA,0BAAqD,CAAA;AACrD,QAAA,cAAA,CAAA,0BAAA,CAAA,GAAA,0BAAqD,CAAA;AACrD,QAAA,cAAA,CAAA,0BAAA,CAAA,GAAA,0BAAqD,CAAA;AACrD,QAAA,cAAA,CAAA,0BAAA,CAAA,GAAA,0BAAqD,CAAA;AAErD,QAAA,cAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACf,QAAA,cAAA,CAAA,wBAAA,CAAA,GAAA,wBAAiD,CAAA;AACjD,QAAA,cAAA,CAAA,WAAA,CAAA,GAAA,UAAsB,CAAA;AACtB,QAAA,cAAA,CAAA,YAAA,CAAA,GAAA,WAAwB,CAAA;AACxB,QAAA,cAAA,CAAA,UAAA,CAAA,GAAA,SAAoB,CAAA;AACpB,QAAA,cAAA,CAAA,aAAA,CAAA,GAAA,YAA0B,CAAA;AAC1B,QAAA,cAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AAEf,QAAA,cAAA,CAAA,iBAAA,CAAA,GAAA,iBAAmC,CAAA;AACnC,QAAA,cAAA,CAAA,eAAA,CAAA,GAAA,eAA+B,CAAA;AAC/B,QAAA,cAAA,CAAA,iBAAA,CAAA,GAAA,SAA2B,CAAA;AAC3B,QAAA,cAAA,CAAA,mBAAA,CAAA,GAAA,mBAAuC,CAAA;AACvC,QAAA,cAAA,CAAA,eAAA,CAAA,GAAA,eAA+B,CAAA;;;AAI/B,QAAA,cAAA,CAAA,qBAAA,CAAA,GAAA,qBAA2C,CAAA;AAC3C,QAAA,cAAA,CAAA,qBAAA,CAAA,GAAA,qBAA2C,CAAA;AAC3C,QAAA,cAAA,CAAA,0BAAA,CAAA,GAAA,0BAAqD,CAAA;AACrD,QAAA,cAAA,CAAA,4BAAA,CAAA,GAAA,6BAA0D,CAAA;AAC1D,QAAA,cAAA,CAAA,oBAAA,CAAA,GAAA,4BAAiD,CAAA;AACjD,QAAA,cAAA,CAAA,wBAAA,CAAA,GAAA,kCAA2D,CAAA;AAE3D,QAAA,cAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnB,QAAA,cAAA,CAAA,wBAAA,CAAA,GAAA,yBAAkD,CAAA;;AAElD,QAAA,cAAA,CAAA,MAAA,CAAA,GAAA,aAAoB,CAAA;AACpB,QAAA,cAAA,CAAA,kBAAA,CAAA,GAAA,WAA8B,CAAA;;AAE9B,QAAA,cAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACb,QAAA,cAAA,CAAA,mBAAA,CAAA,GAAA,mBAAuC,CAAA;AACvC,QAAA,cAAA,CAAA,iBAAA,CAAA,GAAA,iBAAmC,CAAA;AAEnC,QAAA,cAAA,CAAA,wBAAA,CAAA,GAAA,wBAAiD,CAAA;AACjD,QAAA,cAAA,CAAA,cAAA,CAAA,GAAA,cAA6B,CAAA;AAC7B,QAAA,cAAA,CAAA,kBAAA,CAAA,GAAA,kBAAqC,CAAA;AACrC,QAAA,cAAA,CAAA,WAAA,CAAA,GAAA,WAAuB,CAAA;AAEvB,QAAA,cAAA,CAAA,kCAAA,CAAA,GAAA,yBAA4D,CAAA;AAC5D,QAAA,cAAA,CAAA,sBAAA,CAAA,GAAA,sBAA6C,CAAA;AAC7C,QAAA,cAAA,CAAA,wBAAA,CAAA,GAAA,wBAAiD,CAAA;AACjD,QAAA,cAAA,CAAA,gCAAA,CAAA,GAAA,+BAAgE,CAAA;AAChE,QAAA,cAAA,CAAA,cAAA,CAAA,GAAA,aAA4B,CAAA;AAC5B,QAAA,cAAA,CAAA,gBAAA,CAAA,GAAA,eAAgC,CAAA;AAChC,QAAA,cAAA,CAAA,4BAAA,CAAA,GAAA,yBAAsD,CAAA;AACtD,QAAA,cAAA,CAAA,eAAA,CAAA,GAAA,2DAA2E,CAAA;AAC3E,QAAA,cAAA,CAAA,wBAAA,CAAA,GAAA,gBAAyC,CAAA;AACzC,QAAA,cAAA,CAAA,+BAAA,CAAA,GAAA,2BAA2D,CAAA;AAC3D,QAAA,cAAA,CAAA,oCAAA,CAAA,GAAA,gCAAqE,CAAA;AACrE,QAAA,cAAA,CAAA,kBAAA,CAAA,GAAA,kBAAqC,CAAA;AACrC,QAAA,cAAA,CAAA,4BAAA,CAAA,GAAA,gCAA6D,CAAA;AAC7D,QAAA,cAAA,CAAA,6BAAA,CAAA,GAAA,6BAA2D,CAAA;AAC3D,QAAA,cAAA,CAAA,oCAAA,CAAA,GAAA,gCAAqE,CAAA;AACrE,QAAA,cAAA,CAAA,4BAAA,CAAA,GAAA,4BAAyD,CAAA;AACzD,QAAA,cAAA,CAAA,YAAA,CAAA,GAAA,YAAyB,CAAA;AACzB,QAAA,cAAA,CAAA,wBAAA,CAAA,GAAA,wBAAiD,CAAA;AACjD,QAAA,cAAA,CAAA,4BAAA,CAAA,GAAA,mBAAgD,CAAA;AAChD,QAAA,cAAA,CAAA,WAAA,CAAA,GAAA,WAAuB,CAAA;;AAGvB,QAAA,cAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACf,QAAA,cAAA,CAAA,cAAA,CAAA,GAAA,aAA4B,CAAA;AAC5B,QAAA,cAAA,CAAA,aAAA,CAAA,GAAA,YAA0B,CAAA;AAC1B,QAAA,cAAA,CAAA,YAAA,CAAA,GAAA,YAAyB,CAAA;AACzB,QAAA,cAAA,CAAA,WAAA,CAAA,GAAA,WAAuB,CAAA;AACvB,QAAA,cAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AAErB,QAAA,cAAA,CAAA,eAAA,CAAA,GAAA,eAA+B,CAAA;AAC/B,QAAA,cAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AAErB,QAAA,cAAA,CAAA,oBAAA,CAAA,GAAA,oBAAyC,CAAA;AACzC,QAAA,cAAA,CAAA,YAAA,CAAA,GAAA,YAAyB,CAAA;AACzB,QAAA,cAAA,CAAA,qBAAA,CAAA,GAAA,qBAA2C,CAAA;AAC3C,QAAA,cAAA,CAAA,kBAAA,CAAA,GAAA,kBAAqC,CAAA;AACrC,QAAA,cAAA,CAAA,mCAAA,CAAA,GAAA,mCAAuE,CAAA;AAEvE,QAAA,cAAA,CAAA,aAAA,CAAA,GAAA,YAA0B,CAAA;AAC1B,QAAA,cAAA,CAAA,iBAAA,CAAA,GAAA,gBAAkC,CAAA;AAClC,QAAA,cAAA,CAAA,qBAAA,CAAA,GAAA,kBAAwC,CAAA;AACxC,QAAA,cAAA,CAAA,kBAAA,CAAA,GAAA,iBAAoC,CAAA;AACpC,QAAA,cAAA,CAAA,kBAAA,CAAA,GAAA,iBAAoC,CAAA;;AAGpC,QAAA,cAAA,CAAA,uBAAA,CAAA,GAAA,uBAA+C,CAAA;AAC/C,QAAA,cAAA,CAAA,uBAAA,CAAA,GAAA,uBAA+C,CAAA;AAC/C,QAAA,cAAA,CAAA,iCAAA,CAAA,GAAA,iCAAmE,CAAA;AACnE,QAAA,cAAA,CAAA,oBAAA,CAAA,GAAA,oBAAyC,CAAA;AACzC,QAAA,cAAA,CAAA,mCAAA,CAAA,GAAA,mCAAuE,CAAA;AACvE,QAAA,cAAA,CAAA,qBAAA,CAAA,GAAA,qBAA2C,CAAA;AAC3C,QAAA,cAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrB,QAAA,cAAA,CAAA,kBAAA,CAAA,GAAA,kBAAqC,CAAA;AACrC,QAAA,cAAA,CAAA,cAAA,CAAA,GAAA,cAA6B,CAAA;AAC7B,QAAA,cAAA,CAAA,6BAAA,CAAA,GAAA,6BAA2D,CAAA;AAC3D,QAAA,cAAA,CAAA,iCAAA,CAAA,GAAA,iCAAmE,CAAA;AACnE,QAAA,cAAA,CAAA,YAAA,CAAA,GAAA,YAAyB,CAAA;AACzB,QAAA,cAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnB,QAAA,cAAA,CAAA,oBAAA,CAAA,GAAA,oBAAyC,CAAA;AACzC,QAAA,cAAA,CAAA,4BAAA,CAAA,GAAA,4BAAyD,CAAA;AACzD,QAAA,cAAA,CAAA,mBAAA,CAAA,GAAA,mBAAuC,CAAA;AACvC,QAAA,cAAA,CAAA,yBAAA,CAAA,GAAA,yBAAmD,CAAA;AACnD,QAAA,cAAA,CAAA,aAAA,CAAA,GAAA,aAA2B,CAAA;;AAE3B,QAAA,cAAA,CAAA,aAAA,CAAA,GAAA,aAA2B,CAAA;AAC3B,QAAA,cAAA,CAAA,yBAAA,CAAA,GAAA,+BAAyD,CAAA;AACzD,QAAA,cAAA,CAAA,WAAA,CAAA,GAAA,WAAuB,CAAA;AACvB,QAAA,cAAA,CAAA,WAAA,CAAA,GAAA,WAAuB,CAAA;;AAGvB,QAAA,cAAA,CAAA,eAAA,CAAA,GAAA,eAA+B,CAAA;;AAG/B,QAAA,cAAA,CAAA,YAAA,CAAA,GAAA,YAAyB,CAAA;AACzB,QAAA,cAAA,CAAA,kBAAA,CAAA,GAAA,kBAAqC,CAAA;AACrC,QAAA,cAAA,CAAA,mBAAA,CAAA,GAAA,mBAAuC,CAAA;AAEvC,QAAA,cAAA,CAAA,wBAAA,CAAA,GAAA,gBAAyC,CAAA;AACzC,QAAA,cAAA,CAAA,yBAAA,CAAA,GAAA,iBAA2C,CAAA;;AAG3C,QAAA,cAAA,CAAA,gBAAA,CAAA,GAAA,gBAAiC,CAAA;AACjC,QAAA,cAAA,CAAA,aAAA,CAAA,GAAA,aAA2B,CAAA;AAC3B,QAAA,cAAA,CAAA,cAAA,CAAA,GAAA,cAA6B,CAAA;;AAG7B,QAAA,cAAA,CAAA,gBAAA,CAAA,GAAA,gBAAiC,CAAA;AACjC,QAAA,cAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,QAAA,cAAA,CAAA,aAAA,CAAA,GAAA,aAA2B,CAAA;AAC3B,QAAA,cAAA,CAAA,qBAAA,CAAA,GAAA,oBAA0C,CAAA;AAC1C,QAAA,cAAA,CAAA,6BAAA,CAAA,GAAA,6BAA2D,CAAA;AAC3D,QAAA,cAAA,CAAA,0BAAA,CAAA,GAAA,0BAAqD,CAAA;AACrD,QAAA,cAAA,CAAA,YAAA,CAAA,GAAA,YAAyB,CAAA;AACzB,QAAA,cAAA,CAAA,iBAAA,CAAA,GAAA,iBAAmC,CAAA;AACnC,QAAA,cAAA,CAAA,gBAAA,CAAA,GAAA,gBAAiC,CAAA;AACjC,QAAA,cAAA,CAAA,iBAAA,CAAA,GAAA,iBAAmC,CAAA;AACnC,QAAA,cAAA,CAAA,iBAAA,CAAA,GAAA,iBAAmC,CAAA;AACnC,QAAA,cAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;;AAGrB,QAAA,cAAA,CAAA,uBAAA,CAAA,GAAA,uBAA+C,CAAA;AAC/C,QAAA,cAAA,CAAA,YAAA,CAAA,GAAA,OAAoB,CAAA;AACtB,KAAC,EA9JW,cAAc,GAAd,kBAAc,CAAA,cAAA,KAAd,iCAAc,GA8JzB,EAAA,CAAA,CAAA,CAAA;;AAGD,IAAA,IAAY,UAuJX,CAAA;AAvJD,IAAA,CAAA,UAAY,UAAU,EAAA;AACpB,QAAA,UAAA,CAAA,SAAA,CAAA,GAAA,mBAA6B,CAAA;AAE7B,QAAA,UAAA,CAAA,iBAAA,CAAA,GAAA,yBAA2C,CAAA;AAC3C,QAAA,UAAA,CAAA,uBAAA,CAAA,GAAA,sBAA8C,CAAA;AAC9C,QAAA,UAAA,CAAA,oBAAA,CAAA,GAAA,mBAAwC,CAAA;AAExC,QAAA,UAAA,CAAA,SAAA,CAAA,GAAA,kBAA4B,CAAA;AAC5B,QAAA,UAAA,CAAA,iBAAA,CAAA,GAAA,SAA2B,CAAA;AAE3B,QAAA,UAAA,CAAA,sBAAA,CAAA,GAAA,8BAAqD,CAAA;AACrD,QAAA,UAAA,CAAA,0BAAA,CAAA,GAAA,yBAAoD,CAAA;AACpD,QAAA,UAAA,CAAA,0BAAA,CAAA,GAAA,yBAAoD,CAAA;AACpD,QAAA,UAAA,CAAA,0BAAA,CAAA,GAAA,yBAAoD,CAAA;AACpD,QAAA,UAAA,CAAA,0BAAA,CAAA,GAAA,yBAAoD,CAAA;AAEpD,QAAA,UAAA,CAAA,cAAA,CAAA,GAAA,aAA4B,CAAA;AAC5B,QAAA,UAAA,CAAA,eAAA,CAAA,GAAA,eAA+B,CAAA;AAC/B,QAAA,UAAA,CAAA,QAAA,CAAA,GAAA,SAAkB,CAAA;AAClB,QAAA,UAAA,CAAA,OAAA,CAAA,GAAA,eAAuB,CAAA;AACvB,QAAA,UAAA,CAAA,wBAAA,CAAA,GAAA,eAAwC,CAAA;AAExC,QAAA,UAAA,CAAA,qBAAA,CAAA,GAAA,qBAA2C,CAAA;AAC3C,QAAA,UAAA,CAAA,qBAAA,CAAA,GAAA,qBAA2C,CAAA;AAC3C,QAAA,UAAA,CAAA,0BAAA,CAAA,GAAA,0BAAqD,CAAA;AACrD,QAAA,UAAA,CAAA,4BAAA,CAAA,GAAA,6BAA0D,CAAA;AAC1D,QAAA,UAAA,CAAA,oBAAA,CAAA,GAAA,4BAAiD,CAAA;;AAGjD,QAAA,UAAA,CAAA,wBAAA,CAAA,GAAA,kCAA2D,CAAA;AAC3D,QAAA,UAAA,CAAA,wBAAA,CAAA,GAAA,yBAAkD,CAAA;AAElD,QAAA,UAAA,CAAA,cAAA,CAAA,GAAA,cAA6B,CAAA;;AAE7B,QAAA,UAAA,CAAA,MAAA,CAAA,GAAA,aAAoB,CAAA;;AAEpB,QAAA,UAAA,CAAA,kBAAA,CAAA,GAAA,iBAAoC,CAAA;AACpC,QAAA,UAAA,CAAA,MAAA,CAAA,GAAA,YAAmB,CAAA;AACnB,QAAA,UAAA,CAAA,mBAAA,CAAA,GAAA,mBAAuC,CAAA;AACvC,QAAA,UAAA,CAAA,iBAAA,CAAA,GAAA,gBAAkC,CAAA;AAClC,QAAA,UAAA,CAAA,cAAA,CAAA,GAAA,cAA6B,CAAA;;AAE7B,QAAA,UAAA,CAAA,wBAAA,CAAA,GAAA,wBAAiD,CAAA;AACjD,QAAA,UAAA,CAAA,sBAAA,CAAA,GAAA,qBAA4C,CAAA;AAC5C,QAAA,UAAA,CAAA,qBAAA,CAAA,GAAA,oBAA0C,CAAA;AAC1C,QAAA,UAAA,CAAA,mBAAA,CAAA,GAAA,qBAAyC,CAAA;AACzC,QAAA,UAAA,CAAA,kCAAA,CAAA,GAAA,yBAA4D,CAAA;AAC5D,QAAA,UAAA,CAAA,sBAAA,CAAA,GAAA,sBAA6C,CAAA;AAC7C,QAAA,UAAA,CAAA,wBAAA,CAAA,GAAA,wBAAiD,CAAA;AACjD,QAAA,UAAA,CAAA,gCAAA,CAAA,GAAA,+BAAgE,CAAA;AAChE,QAAA,UAAA,CAAA,cAAA,CAAA,GAAA,aAA4B,CAAA;AAC5B,QAAA,UAAA,CAAA,gBAAA,CAAA,GAAA,eAAgC,CAAA;AAChC,QAAA,UAAA,CAAA,4BAAA,CAAA,GAAA,yBAAsD,CAAA;AACtD,QAAA,UAAA,CAAA,kBAAA,CAAA,GAAA,kBAAqC,CAAA;AACrC,QAAA,UAAA,CAAA,WAAA,CAAA,GAAA,WAAuB,CAAA;AACvB,QAAA,UAAA,CAAA,eAAA,CAAA,GAAA,2DAA2E,CAAA;AAC3E,QAAA,UAAA,CAAA,wBAAA,CAAA,GAAA,gBAAyC,CAAA;AACzC,QAAA,UAAA,CAAA,+BAAA,CAAA,GAAA,2BAA2D,CAAA;AAC3D,QAAA,UAAA,CAAA,oCAAA,CAAA,GAAA,gCAAqE,CAAA;AACrE,QAAA,UAAA,CAAA,4BAAA,CAAA,GAAA,gCAA6D,CAAA;AAC7D,QAAA,UAAA,CAAA,kBAAA,CAAA,GAAA,kBAAqC,CAAA;AACrC,QAAA,UAAA,CAAA,6BAAA,CAAA,GAAA,6BAA2D,CAAA;AAC3D,QAAA,UAAA,CAAA,oCAAA,CAAA,GAAA,gCAAqE,CAAA;AACrE,QAAA,UAAA,CAAA,4BAAA,CAAA,GAAA,oBAAiD,CAAA;AACjD,QAAA,UAAA,CAAA,YAAA,CAAA,GAAA,YAAyB,CAAA;AACzB,QAAA,UAAA,CAAA,wBAAA,CAAA,GAAA,wBAAiD,CAAA;AACjD,QAAA,UAAA,CAAA,4BAAA,CAAA,GAAA,mBAAgD,CAAA;AAChD,QAAA,UAAA,CAAA,WAAA,CAAA,GAAA,YAAwB,CAAA;AACxB,QAAA,UAAA,CAAA,aAAA,CAAA,GAAA,aAA2B,CAAA;;AAG3B,QAAA,UAAA,CAAA,uBAAA,CAAA,GAAA,uBAA+C,CAAA;AAC/C,QAAA,UAAA,CAAA,uBAAA,CAAA,GAAA,uCAA+D,CAAA;AAC/D,QAAA,UAAA,CAAA,iCAAA,CAAA,GAAA,uCAAyE,CAAA;AACzE,QAAA,UAAA,CAAA,oBAAA,CAAA,GAAA,oBAAyC,CAAA;AACzC,QAAA,UAAA,CAAA,mCAAA,CAAA,GAAA,yCAA6E,CAAA;AAC7E,QAAA,UAAA,CAAA,qBAAA,CAAA,GAAA,qBAA2C,CAAA;AAC3C,QAAA,UAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrB,QAAA,UAAA,CAAA,kBAAA,CAAA,GAAA,kBAAqC,CAAA;AACrC,QAAA,UAAA,CAAA,cAAA,CAAA,GAAA,cAA6B,CAAA;AAC7B,QAAA,UAAA,CAAA,6BAAA,CAAA,GAAA,6BAA2D,CAAA;AAC3D,QAAA,UAAA,CAAA,iCAAA,CAAA,GAAA,iCAAmE,CAAA;AACnE,QAAA,UAAA,CAAA,YAAA,CAAA,GAAA,WAAwB,CAAA;AACxB,QAAA,UAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnB,QAAA,UAAA,CAAA,oBAAA,CAAA,GAAA,kBAAuC,CAAA;AACvC,QAAA,UAAA,CAAA,4BAAA,CAAA,GAAA,oBAAiD,CAAA;AACjD,QAAA,UAAA,CAAA,mBAAA,CAAA,GAAA,iBAAqC,CAAA;AACrC,QAAA,UAAA,CAAA,yBAAA,CAAA,GAAA,uBAAiD,CAAA;AACjD,QAAA,UAAA,CAAA,aAAA,CAAA,GAAA,aAA2B,CAAA;;AAE3B,QAAA,UAAA,CAAA,YAAA,CAAA,GAAA,YAAyB,CAAA;AACzB,QAAA,UAAA,CAAA,gBAAA,CAAA,GAAA,gBAAiC,CAAA;AACjC,QAAA,UAAA,CAAA,gBAAA,CAAA,GAAA,eAAgC,CAAA;AAChC,QAAA,UAAA,CAAA,qBAAA,CAAA,GAAA,cAAoC,CAAA;;AAGpC,QAAA,UAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACf,QAAA,UAAA,CAAA,cAAA,CAAA,GAAA,aAA4B,CAAA;AAC5B,QAAA,UAAA,CAAA,aAAA,CAAA,GAAA,YAA0B,CAAA;AAC1B,QAAA,UAAA,CAAA,YAAA,CAAA,GAAA,YAAyB,CAAA;AACzB,QAAA,UAAA,CAAA,WAAA,CAAA,GAAA,WAAuB,CAAA;AACvB,QAAA,UAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AAErB,QAAA,UAAA,CAAA,cAAA,CAAA,GAAA,aAA4B,CAAA;AAE5B,QAAA,UAAA,CAAA,eAAA,CAAA,GAAA,eAA+B,CAAA;AAC/B,QAAA,UAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AAErB,QAAA,UAAA,CAAA,iBAAA,CAAA,GAAA,gBAAkC,CAAA;AAElC,QAAA,UAAA,CAAA,oBAAA,CAAA,GAAA,oBAAyC,CAAA;AACzC,QAAA,UAAA,CAAA,YAAA,CAAA,GAAA,YAAyB,CAAA;AACzB,QAAA,UAAA,CAAA,qBAAA,CAAA,GAAA,qBAA2C,CAAA;AAC3C,QAAA,UAAA,CAAA,kBAAA,CAAA,GAAA,kBAAqC,CAAA;AACrC,QAAA,UAAA,CAAA,mCAAA,CAAA,GAAA,mCAAuE,CAAA;AAEvE,QAAA,UAAA,CAAA,aAAA,CAAA,GAAA,YAA0B,CAAA;AAC1B,QAAA,UAAA,CAAA,iBAAA,CAAA,GAAA,gBAAkC,CAAA;AAClC,QAAA,UAAA,CAAA,qBAAA,CAAA,GAAA,kBAAwC,CAAA;AACxC,QAAA,UAAA,CAAA,kBAAA,CAAA,GAAA,iBAAoC,CAAA;AACpC,QAAA,UAAA,CAAA,kBAAA,CAAA,GAAA,iBAAoC,CAAA;;AAGpC,QAAA,UAAA,CAAA,aAAA,CAAA,GAAA,aAA2B,CAAA;AAC3B,QAAA,UAAA,CAAA,yBAAA,CAAA,GAAA,+BAAyD,CAAA;AACzD,QAAA,UAAA,CAAA,WAAA,CAAA,GAAA,WAAuB,CAAA;AACvB,QAAA,UAAA,CAAA,WAAA,CAAA,GAAA,WAAuB,CAAA;;AAGvB,QAAA,UAAA,CAAA,YAAA,CAAA,GAAA,YAAyB,CAAA;AACzB,QAAA,UAAA,CAAA,wBAAA,CAAA,GAAA,gBAAyC,CAAA;AACzC,QAAA,UAAA,CAAA,yBAAA,CAAA,GAAA,iBAA2C,CAAA;;AAG3C,QAAA,UAAA,CAAA,eAAA,CAAA,GAAA,cAA8B,CAAA;AAC9B,QAAA,UAAA,CAAA,gBAAA,CAAA,GAAA,gBAAiC,CAAA;AACjC,QAAA,UAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,QAAA,UAAA,CAAA,aAAA,CAAA,GAAA,aAA2B,CAAA;AAC3B,QAAA,UAAA,CAAA,qBAAA,CAAA,GAAA,oBAA0C,CAAA;AAC1C,QAAA,UAAA,CAAA,6BAAA,CAAA,GAAA,6BAA2D,CAAA;AAC3D,QAAA,UAAA,CAAA,0BAAA,CAAA,GAAA,0BAAqD,CAAA;AACrD,QAAA,UAAA,CAAA,YAAA,CAAA,GAAA,YAAyB,CAAA;AACzB,QAAA,UAAA,CAAA,iBAAA,CAAA,GAAA,iBAAmC,CAAA;AACnC,QAAA,UAAA,CAAA,gBAAA,CAAA,GAAA,gBAAiC,CAAA;AACjC,QAAA,UAAA,CAAA,iBAAA,CAAA,GAAA,iBAAmC,CAAA;AACnC,QAAA,UAAA,CAAA,iBAAA,CAAA,GAAA,iBAAmC,CAAA;AACnC,QAAA,UAAA,CAAA,UAAA,CAAA,GAAA,kBAA6B,CAAA;AAE7B,QAAA,UAAA,CAAA,iBAAA,CAAA,GAAA,iBAAmC,CAAA;AACnC,QAAA,UAAA,CAAA,wBAAA,CAAA,GAAA,iBAA0C,CAAA;AAC1C,QAAA,UAAA,CAAA,kBAAA,CAAA,GAAA,kBAAqC,CAAA;AACvC,KAAC,EAvJW,UAAU,GAAV,kBAAU,CAAA,UAAA,KAAV,6BAAU,GAuJrB,EAAA,CAAA,CAAA,CAAA;AAED,IAAA,IAAY,aAAgB,CAAA;AAA5B,IAAA,CAAA,UAAY,aAAa,EAAA;AAAE,KAAC,EAAhB,aAAa,GAAb,kBAAa,CAAA,aAAA,KAAb,gCAAa,GAAG,EAAA,CAAA,CAAA,CAAA;AAE5B,IAAA,IAAY,sBAOX,CAAA;AAPD,IAAA,CAAA,UAAY,sBAAsB,EAAA;AAChC,QAAA,sBAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrB,QAAA,sBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,QAAA,sBAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrB,QAAA,sBAAA,CAAA,WAAA,CAAA,GAAA,WAAuB,CAAA;AACvB,QAAA,sBAAA,CAAA,gBAAA,CAAA,GAAA,gBAAiC,CAAA;AACjC,QAAA,sBAAA,CAAA,oBAAA,CAAA,GAAA,GAAwB,CAAA;AAC1B,KAAC,EAPW,sBAAsB,GAAtB,kBAAsB,CAAA,sBAAA,KAAtB,yCAAsB,GAOjC,EAAA,CAAA,CAAA,CAAA;AAEY,IAAA,kBAAA,CAAA,uBAAuB,GAEhC;AACF,QAAA,CAAC,sBAAsB,CAAC,QAAQ,GAAG;YACjC,IAAI,EAAE,sBAAsB,CAAC,QAAQ;YACrC,KAAK,EAAE,WAAW,CAAC,GAAG;AACtB,YAAA,cAAc,EAAE,oBAAoB;AACrC,SAAA;AACD,QAAA,CAAC,sBAAsB,CAAC,MAAM,GAAG;YAC/B,IAAI,EAAE,sBAAsB,CAAC,MAAM;YACnC,KAAK,EAAE,WAAW,CAAC,SAAS;AAC5B,YAAA,cAAc,EAAE,iBAAiB;AAClC,SAAA;AACD,QAAA,CAAC,sBAAsB,CAAC,QAAQ,GAAG;YACjC,IAAI,EAAE,sBAAsB,CAAC,QAAQ;YACrC,KAAK,EAAE,WAAW,CAAC,QAAQ;AAC3B,YAAA,cAAc,EAAE,gBAAgB;AACjC,SAAA;AACD,QAAA,CAAC,sBAAsB,CAAC,SAAS,GAAG;YAClC,IAAI,EAAE,sBAAsB,CAAC,SAAS;YACtC,KAAK,EAAE,WAAW,CAAC,iBAAiB;AACpC,YAAA,cAAc,EAAE,yBAAyB;AAC1C,SAAA;AACD,QAAA,CAAC,sBAAsB,CAAC,cAAc,GAAG;YACvC,IAAI,EAAE,sBAAsB,CAAC,cAAc;YAC3C,KAAK,EAAE,WAAW,CAAC,YAAY;AAC/B,YAAA,cAAc,EAAE,oBAAoB;AACrC,SAAA;AACD,QAAA,CAAC,sBAAsB,CAAC,kBAAkB,GAAG;YAC3C,IAAI,EAAE,sBAAsB,CAAC,kBAAkB;YAC/C,KAAK,EAAE,WAAW,CAAC,IAAI;AACvB,YAAA,cAAc,EAAE,gBAAgB;AACjC,SAAA;KACF,CAAC;;;;;AAOF,IAAA,IAAY,sBAEX,CAAA;AAFD,IAAA,CAAA,UAAY,sBAAsB,EAAA;AAChC,QAAA,sBAAA,CAAA,cAAA,CAAA,GAAA,aAA4B,CAAA;AAC9B,KAAC,EAFW,sBAAsB,GAAtB,kBAAsB,CAAA,sBAAA,KAAtB,yCAAsB,GAEjC,EAAA,CAAA,CAAA,CAAA;;;;AAMD,IAAA,IAAY,4BAEX,CAAA;AAFD,IAAA,CAAA,UAAY,4BAA4B,EAAA;AACtC,QAAA,4BAAA,CAAA,wBAAA,CAAA,GAAA,sBAA+C,CAAA;AACjD,KAAC,EAFW,4BAA4B,GAA5B,kBAA4B,CAAA,4BAAA,KAA5B,+CAA4B,GAEvC,EAAA,CAAA,CAAA,CAAA;IAEY,kBAAoB,CAAA,oBAAA,GAAG,sBAAsB,CAAC;IAC9C,kBAAwB,CAAA,wBAAA,GACnC,wGAAwG,CAAC;IAE9F,kBAA0B,CAAA,0BAAA,GAAG,4BAA4B,CAAC;IAC1D,kBAA8B,CAAA,8BAAA,GACzC,8GAA8G,CAAC;AAEpG,IAAA,kBAAA,CAAA,kBAAkB,GAAG;AAChC,QAAA,kBAAA,CAAA,oBAAoB;AACpB,QAAA,kBAAA,CAAA,0BAA0B;AAC1B,QAAA,UAAU,CAAC,gBAAgB;AAC3B,QAAA,UAAU,CAAC,oBAAoB;AAC/B,QAAA,UAAU,CAAC,UAAU;AACrB,QAAA,UAAU,CAAC,cAAc;AACzB,QAAA,UAAU,CAAC,YAAY;;KAExB,CAAC;AAEW,IAAA,kBAAA,CAAA,gBAAgB,GAAG;AAC9B,QAAA,kBAAA,CAAA,oBAAoB;AACpB,QAAA,UAAU,CAAC,gBAAgB;AAC3B,QAAA,UAAU,CAAC,oBAAoB;AAC/B,QAAA,UAAU,CAAC,UAAU;AACrB,QAAA,UAAU,CAAC,cAAc;AACzB,QAAA,UAAU,CAAC,YAAY;;KAExB,CAAC;AAEW,IAAA,kBAAA,CAAA,iBAAiB,GAAG;AAC/B,QAAA,kBAAA,CAAA,0BAA0B;;;;;;KAM3B,CAAC;AAEW,IAAA,kBAAA,CAAA,gCAAgC,GAAG;;AAE9C,QAAA,kBAAA,CAAA,oBAAoB;AACpB,QAAA,kBAAA,CAAA,0BAA0B;;;;;;;;AAU1B,QAAA,UAAU,CAAC,IAAI;;AAEf,QAAA,UAAU,CAAC,IAAI;AACf,QAAA,UAAU,CAAC,oBAAoB;AAC/B,QAAA,UAAU,CAAC,iBAAiB;AAC5B,QAAA,UAAU,CAAC,sBAAsB;AACjC,QAAA,UAAU,CAAC,WAAW;AACtB,QAAA,UAAU,CAAC,gBAAgB;AAC3B,QAAA,UAAU,CAAC,WAAW;;;;;;;AAQtB,QAAA,UAAU,CAAC,UAAU;AACrB,QAAA,UAAU,CAAC,cAAc;AACzB,QAAA,UAAU,CAAC,qBAAqB;AAChC,QAAA,UAAU,CAAC,kBAAkB;AAC7B,QAAA,UAAU,CAAC,qBAAqB;AAChC,QAAA,UAAU,CAAC,qBAAqB;AAChC,QAAA,UAAU,CAAC,iCAAiC;;;;;;;;AAQ5C,QAAA,UAAU,CAAC,mBAAmB;;AAE9B,QAAA,UAAU,CAAC,YAAY;AACvB,QAAA,UAAU,CAAC,aAAa;AACxB,QAAA,UAAU,CAAC,QAAQ;AACnB,QAAA,UAAU,CAAC,KAAK;KACjB,CAAC;AAEW,IAAA,kBAAA,CAAA,mBAAmB,GAAG;AACjC,QAAA,UAAU,CAAC,mBAAmB;AAC9B,QAAA,UAAU,CAAC,mBAAmB;AAC9B,QAAA,UAAU,CAAC,sBAAsB;AACjC,QAAA,UAAU,CAAC,sBAAsB;AACjC,QAAA,UAAU,CAAC,0BAA0B;AACrC,QAAA,UAAU,CAAC,kBAAkB;KAClB,CAAC;AACD,IAAA,kBAAA,CAAA,mBAAmB,GAAG;AACjC,QAAA,UAAU,CAAC,mBAAmB;AAC9B,QAAA,UAAU,CAAC,sBAAsB;AACjC,QAAA,UAAU,CAAC,sBAAsB;AACjC,QAAA,UAAU,CAAC,wBAAwB;KACxB,CAAC;AAED,IAAA,kBAAA,CAAA,0BAA0B,GAAG;AACxC,QAAA,sBAAsB,CAAC,YAAY;KACpC,CAAC;AACW,IAAA,kBAAA,CAAA,0BAA0B,GAAG;AACxC,QAAA,4BAA4B,CAAC,sBAAsB;KACpD,CAAC;;AAGW,IAAA,kBAAA,CAAA,cAAc,GAAG;AAC5B,QAAA,UAAU,CAAC,OAAO;AAElB,QAAA,UAAU,CAAC,eAAe;AAC1B,QAAA,UAAU,CAAC,qBAAqB;AAChC,QAAA,UAAU,CAAC,kBAAkB;AAE7B,QAAA,UAAU,CAAC,OAAO;AAElB,QAAA,UAAU,CAAC,oBAAoB;AAC/B,QAAA,UAAU,CAAC,wBAAwB;AACnC,QAAA,UAAU,CAAC,wBAAwB;AACnC,QAAA,UAAU,CAAC,wBAAwB;AACnC,QAAA,UAAU,CAAC,wBAAwB;AAEnC,QAAA,UAAU,CAAC,YAAY;AACvB,QAAA,UAAU,CAAC,aAAa;AACxB,QAAA,UAAU,CAAC,MAAM;AACjB,QAAA,UAAU,CAAC,KAAK;AAChB,QAAA,UAAU,CAAC,sBAAsB;AACjC,QAAA,kBAAkB,CAAC,oBAAoB;AACvC,QAAA,kBAAkB,CAAC,0BAA0B;;AAE7C,QAAA,UAAU,CAAC,IAAI;;AAEf,QAAA,UAAU,CAAC,IAAI;AACf,QAAA,UAAU,CAAC,iBAAiB;AAC5B,QAAA,UAAU,CAAC,sBAAsB;AACjC,QAAA,UAAU,CAAC,gBAAgB;AAC3B,QAAA,UAAU,CAAC,SAAS;AACpB,QAAA,UAAU,CAAC,eAAe;AAC1B,QAAA,UAAU,CAAC,YAAY;AACvB,QAAA,UAAU,CAAC,gCAAgC;AAC3C,QAAA,UAAU,CAAC,oBAAoB;AAC/B,QAAA,UAAU,CAAC,sBAAsB;AACjC,QAAA,UAAU,CAAC,8BAA8B;AACzC,QAAA,UAAU,CAAC,YAAY;AACvB,QAAA,UAAU,CAAC,kCAAkC;AAC7C,QAAA,UAAU,CAAC,0BAA0B;AACrC,QAAA,UAAU,CAAC,gBAAgB;AAC3B,QAAA,UAAU,CAAC,kCAAkC;AAC7C,QAAA,UAAU,CAAC,0BAA0B;AACrC,QAAA,UAAU,CAAC,sBAAsB;AACjC,QAAA,UAAU,CAAC,cAAc;AACzB,QAAA,UAAU,CAAC,0BAA0B;AACrC,QAAA,UAAU,CAAC,aAAa;AACxB,QAAA,UAAU,CAAC,sBAAsB;AACjC,QAAA,UAAU,CAAC,6BAA6B;AACxC,QAAA,UAAU,CAAC,2BAA2B;AACtC,QAAA,UAAU,CAAC,UAAU;AACrB,QAAA,UAAU,CAAC,0BAA0B;AACrC,QAAA,UAAU,CAAC,SAAS;AACpB,QAAA,UAAU,CAAC,iBAAiB;AAC5B,QAAA,UAAU,CAAC,mBAAmB;;AAG9B,QAAA,UAAU,CAAC,gBAAgB;;AAE3B,QAAA,UAAU,CAAC,qBAAqB;AAChC,QAAA,UAAU,CAAC,qBAAqB;AAChC,QAAA,UAAU,CAAC,+BAA+B;AAC1C,QAAA,UAAU,CAAC,kBAAkB;AAC7B,QAAA,UAAU,CAAC,iCAAiC;AAC5C,QAAA,UAAU,CAAC,mBAAmB;AAC9B,QAAA,UAAU,CAAC,QAAQ;AACnB,QAAA,UAAU,CAAC,gBAAgB;AAC3B,QAAA,UAAU,CAAC,YAAY;AACvB,QAAA,UAAU,CAAC,2BAA2B;AACtC,QAAA,UAAU,CAAC,+BAA+B;AAC1C,QAAA,UAAU,CAAC,UAAU;AACrB,QAAA,UAAU,CAAC,OAAO;AAClB,QAAA,UAAU,CAAC,kBAAkB;AAC7B,QAAA,UAAU,CAAC,0BAA0B;AACrC,QAAA,UAAU,CAAC,iBAAiB;AAC5B,QAAA,UAAU,CAAC,uBAAuB;AAClC,QAAA,UAAU,CAAC,WAAW;AAEtB,QAAA,UAAU,CAAC,UAAU;;AAErB,QAAA,UAAU,CAAC,cAAc;;AAGzB,QAAA,UAAU,CAAC,YAAY;AACvB,QAAA,UAAU,CAAC,WAAW;AACtB,QAAA,UAAU,CAAC,UAAU;AACrB,QAAA,UAAU,CAAC,SAAS;AACpB,QAAA,UAAU,CAAC,QAAQ;AACnB,QAAA,UAAU,CAAC,eAAe;AAC1B,QAAA,UAAU,CAAC,kBAAkB;AAC7B,QAAA,UAAU,CAAC,UAAU;AACrB,QAAA,UAAU,CAAC,mBAAmB;AAC9B,QAAA,UAAU,CAAC,gBAAgB;AAC3B,QAAA,UAAU,CAAC,iCAAiC;AAC5C,QAAA,UAAU,CAAC,WAAW;AACtB,QAAA,UAAU,CAAC,eAAe;AAC1B,QAAA,UAAU,CAAC,mBAAmB;AAC9B,QAAA,UAAU,CAAC,gBAAgB;AAC3B,QAAA,UAAU,CAAC,gBAAgB;AAC3B,QAAA,UAAU,CAAC,KAAK;;AAGhB,QAAA,UAAU,CAAC,WAAW;AACtB,QAAA,UAAU,CAAC,SAAS;AACpB,QAAA,UAAU,CAAC,SAAS;AACpB,QAAA,UAAU,CAAC,uBAAuB;;AAGlC,QAAA,UAAU,CAAC,UAAU;;AAGrB,QAAA,UAAU,CAAC,OAAO;AAElB,QAAA,UAAU,CAAC,eAAe;AAC1B,QAAA,UAAU,CAAC,qBAAqB;AAChC,QAAA,UAAU,CAAC,kBAAkB;AAE7B,QAAA,UAAU,CAAC,OAAO;AAClB,QAAA,UAAU,CAAC,eAAe;AAE1B,QAAA,UAAU,CAAC,oBAAoB;AAC/B,QAAA,UAAU,CAAC,wBAAwB;AACnC,QAAA,UAAU,CAAC,wBAAwB;AACnC,QAAA,UAAU,CAAC,wBAAwB;AACnC,QAAA,UAAU,CAAC,wBAAwB;AAEnC,QAAA,UAAU,CAAC,YAAY;AACvB,QAAA,UAAU,CAAC,aAAa;AACxB,QAAA,UAAU,CAAC,MAAM;AACjB,QAAA,UAAU,CAAC,KAAK;AAChB,QAAA,UAAU,CAAC,sBAAsB;AAEjC,QAAA,UAAU,CAAC,mBAAmB;AAC9B,QAAA,UAAU,CAAC,mBAAmB;AAC9B,QAAA,UAAU,CAAC,wBAAwB;AACnC,QAAA,UAAU,CAAC,0BAA0B;AACrC,QAAA,UAAU,CAAC,kBAAkB;;AAG7B,QAAA,UAAU,CAAC,sBAAsB;AACjC,QAAA,UAAU,CAAC,sBAAsB;AAEjC,QAAA,UAAU,CAAC,YAAY;;AAEvB,QAAA,UAAU,CAAC,IAAI;;AAEf,QAAA,UAAU,CAAC,gBAAgB;AAC3B,QAAA,UAAU,CAAC,IAAI;AACf,QAAA,UAAU,CAAC,iBAAiB;AAC5B,QAAA,UAAU,CAAC,eAAe;AAC1B,QAAA,UAAU,CAAC,YAAY;;AAEvB,QAAA,UAAU,CAAC,sBAAsB;AACjC,QAAA,UAAU,CAAC,oBAAoB;AAC/B,QAAA,UAAU,CAAC,mBAAmB;AAC9B,QAAA,UAAU,CAAC,iBAAiB;AAC5B,QAAA,UAAU,CAAC,gCAAgC;AAC3C,QAAA,UAAU,CAAC,oBAAoB;AAC/B,QAAA,UAAU,CAAC,sBAAsB;AACjC,QAAA,UAAU,CAAC,8BAA8B;AACzC,QAAA,UAAU,CAAC,YAAY;AACvB,QAAA,UAAU,CAAC,cAAc;AACzB,QAAA,UAAU,CAAC,0BAA0B;AACrC,QAAA,UAAU,CAAC,gBAAgB;AAC3B,QAAA,UAAU,CAAC,SAAS;AACpB,QAAA,UAAU,CAAC,aAAa;AACxB,QAAA,UAAU,CAAC,sBAAsB;AACjC,QAAA,UAAU,CAAC,6BAA6B;AACxC,QAAA,UAAU,CAAC,0BAA0B;AACrC,QAAA,UAAU,CAAC,kCAAkC;AAC7C,QAAA,UAAU,CAAC,gBAAgB;AAC3B,QAAA,UAAU,CAAC,2BAA2B;AACtC,QAAA,UAAU,CAAC,kCAAkC;AAC7C,QAAA,UAAU,CAAC,0BAA0B;AACrC,QAAA,UAAU,CAAC,UAAU;AACrB,QAAA,UAAU,CAAC,sBAAsB;AACjC,QAAA,UAAU,CAAC,0BAA0B;AACrC,QAAA,UAAU,CAAC,SAAS;AACpB,QAAA,UAAU,CAAC,WAAW;;AAGtB,QAAA,UAAU,CAAC,qBAAqB;AAChC,QAAA,UAAU,CAAC,qBAAqB;AAChC,QAAA,UAAU,CAAC,+BAA+B;AAC1C,QAAA,UAAU,CAAC,kBAAkB;AAC7B,QAAA,UAAU,CAAC,iCAAiC;AAC5C,QAAA,UAAU,CAAC,mBAAmB;AAC9B,QAAA,UAAU,CAAC,QAAQ;AACnB,QAAA,UAAU,CAAC,gBAAgB;AAC3B,QAAA,UAAU,CAAC,YAAY;AACvB,QAAA,UAAU,CAAC,2BAA2B;AACtC,QAAA,UAAU,CAAC,+BAA+B;AAC1C,QAAA,UAAU,CAAC,UAAU;AACrB,QAAA,UAAU,CAAC,OAAO;AAClB,QAAA,UAAU,CAAC,kBAAkB;AAC7B,QAAA,UAAU,CAAC,0BAA0B;AACrC,QAAA,UAAU,CAAC,iBAAiB;AAC5B,QAAA,UAAU,CAAC,uBAAuB;AAClC,QAAA,UAAU,CAAC,WAAW;;AAEtB,QAAA,UAAU,CAAC,UAAU;AACrB,QAAA,UAAU,CAAC,cAAc;AACzB,QAAA,UAAU,CAAC,cAAc;AACzB,QAAA,UAAU,CAAC,mBAAmB;;AAG9B,QAAA,UAAU,CAAC,KAAK;AAChB,QAAA,UAAU,CAAC,YAAY;AACvB,QAAA,UAAU,CAAC,WAAW;AACtB,QAAA,UAAU,CAAC,UAAU;AACrB,QAAA,UAAU,CAAC,SAAS;AACpB,QAAA,UAAU,CAAC,QAAQ;AAEnB,QAAA,UAAU,CAAC,YAAY;AAEvB,QAAA,UAAU,CAAC,aAAa;AACxB,QAAA,UAAU,CAAC,QAAQ;AAEnB,QAAA,UAAU,CAAC,eAAe;AAE1B,QAAA,UAAU,CAAC,kBAAkB;AAC7B,QAAA,UAAU,CAAC,UAAU;AACrB,QAAA,UAAU,CAAC,mBAAmB;AAC9B,QAAA,UAAU,CAAC,gBAAgB;AAC3B,QAAA,UAAU,CAAC,iCAAiC;AAE5C,QAAA,UAAU,CAAC,WAAW;AACtB,QAAA,UAAU,CAAC,eAAe;AAC1B,QAAA,UAAU,CAAC,mBAAmB;AAC9B,QAAA,UAAU,CAAC,gBAAgB;AAC3B,QAAA,UAAU,CAAC,gBAAgB;;AAG3B,QAAA,UAAU,CAAC,WAAW;AACtB,QAAA,UAAU,CAAC,uBAAuB;AAClC,QAAA,UAAU,CAAC,SAAS;AACpB,QAAA,UAAU,CAAC,SAAS;;AAGpB,QAAA,UAAU,CAAC,UAAU;AACrB,QAAA,UAAU,CAAC,sBAAsB;AACjC,QAAA,UAAU,CAAC,uBAAuB;;AAGlC,QAAA,UAAU,CAAC,MAAM;AACjB,QAAA,UAAU,CAAC,WAAW;AACtB,QAAA,UAAU,CAAC,mBAAmB;AAC9B,QAAA,UAAU,CAAC,2BAA2B;AACtC,QAAA,UAAU,CAAC,wBAAwB;AACnC,QAAA,UAAU,CAAC,UAAU;AACrB,QAAA,UAAU,CAAC,eAAe;AAC1B,QAAA,UAAU,CAAC,cAAc;AACzB,QAAA,UAAU,CAAC,eAAe;AAC1B,QAAA,UAAU,CAAC,eAAe;AAC1B,QAAA,UAAU,CAAC,QAAQ;AACnB,QAAA,UAAU,CAAC,eAAe;AAC1B,QAAA,UAAU,CAAC,sBAAsB;AACjC,QAAA,UAAU,CAAC,gBAAgB;KAChB,CAAC;IAED,kBAAe,CAAA,eAAA,GAAW,4BAA4B,CAAC;IACvD,kBAAkC,CAAA,kCAAA,GAC7C,oCAAoC,CAAC;IAC1B,kBAA6B,CAAA,6BAAA,GACxC,6DAA6D,CAAC;IACnD,kBAAiB,CAAA,iBAAA,GAAG,qCAAqC,CAAC;IAC1D,kBAAwB,CAAA,wBAAA,GACnC,iDAAiD,CAAC;IACvC,kBAAuB,CAAA,uBAAA,GAAW,8BAA8B,CAAC;IACjE,kBAAsB,CAAA,sBAAA,GAAG,6BAA6B,CAAC;IACvD,kBAAmB,CAAA,mBAAA,GAAG,0BAA0B,CAAC;IACjD,kBAAoB,CAAA,oBAAA,GAAG,2BAA2B,CAAC;IACnD,kBAAqB,CAAA,qBAAA,GAAG,4BAA4B,CAAC;IACrD,kBAAe,CAAA,eAAA,GAAG,iCAAiC,CAAC;IACpD,kBAAQ,CAAA,QAAA,GAAG,+BAA+B,CAAC;AAE3C,IAAA,kBAAA,CAAA,cAAc,GAEvB;AACF,QAAA,CAAC,eAAe,CAAC,MAAM,GAAG;AACxB,YAAA,aAAa,EAAE,CAAC;AAChB,YAAA,WAAW,EAAE,CAAC;AACd,YAAA,KAAK,EAAE;AACL,gBAAA,OAAO,EAAE,UAAU;AACnB,gBAAA,OAAO,EAAE,IAAI;AACb,gBAAA,MAAM,EAAE,kBAAkB,CAAC,WAAW,CAAC,IAAI;AAC3C,gBAAA,IAAI,EAAE,kBAAkB,CAAC,WAAW,CAAC,IAAI;AACzC,gBAAA,KAAK,EAAE,GAAG;AACX,aAAA;AACF,SAAA;AACD,QAAA,CAAC,eAAe,CAAC,IAAI,GAAG;AACtB,YAAA,WAAW,EAAE,CAAC;AACf,SAAA;AACD,QAAA,CAAC,eAAe,CAAC,cAAc,GAAG;AAChC,YAAA,WAAW,EAAE,CAAC;AACd,YAAA,SAAS,EAAE;AACT,gBAAA,WAAW,EAAE,IAAI;AACjB,gBAAA,MAAM,EAAE,OAAO;AACf,gBAAA,WAAW,EAAE,CAAC;AACd,gBAAA,IAAI,EAAE,MAAM;AACZ,gBAAA,eAAe,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;AACzB,gBAAA,OAAO,EAAE,KAAK;AACf,aAAA;AACF,SAAA;AACD,QAAA,CAAC,eAAe,CAAC,WAAW,GAAG;AAC7B,YAAA,WAAW,EAAE,CAAC;AACd,YAAA,UAAU,EAAE,KAAK;AACjB,YAAA,KAAK,EAAE;AACL,gBAAA,OAAO,EAAE,KAAK;AACf,aAAA;AACF,SAAA;KACF,CAAC;AASW,IAAA,kBAAA,CAAA,kBAAkB,GAAU;QACvC,mBAAmB;QACnB,oBAAoB;QACpB,uBAAuB;QACvB,oBAAoB;QACpB,sBAAsB;QACtB,oBAAoB;QACpB,YAAY;QACZ,kBAAkB;QAClB,sBAAsB;QACtB,kBAAkB;QAClB,mBAAmB;KACpB,CAAC;;;;;;;;;;;AAaW,IAAA,kBAAA,CAAA,cAAc,GAEvB;AACF,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG;YACxB,IAAI,EAAE,cAAc,CAAC,OAAO;AAC5B,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,eAAe,CAAqB,mBAAA,CAAA;YAC7C,UAAU,EAAE,UAAU,CAAC,OAAO;AAC/B,SAAA;AACD,QAAA,CAAC,cAAc,CAAC,aAAa,GAAG;YAC9B,IAAI,EAAE,cAAc,CAAC,aAAa;AAClC,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,eAAe,CAAoB,kBAAA,CAAA;YAC5C,UAAU,EAAE,UAAU,CAAC,aAAa;AACrC,SAAA;;AAGD,QAAA,CAAC,cAAc,CAAC,eAAe,GAAG;YAChC,IAAI,EAAE,cAAc,CAAC,eAAe;AACpC,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,eAAe,CAAsB,oBAAA,CAAA;YAC9C,UAAU,EAAE,UAAU,CAAC,eAAe;AACvC,SAAA;AACD,QAAA,CAAC,cAAc,CAAC,qBAAqB,GAAG;YACtC,IAAI,EAAE,cAAc,CAAC,qBAAqB;AAC1C,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,eAAe,CAAY,UAAA,CAAA;YACpC,UAAU,EAAE,UAAU,CAAC,qBAAqB;AAC7C,SAAA;AACD,QAAA,CAAC,cAAc,CAAC,kBAAkB,GAAG;YACnC,IAAI,EAAE,cAAc,CAAC,kBAAkB;AACvC,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,eAAe,CAAS,OAAA,CAAA;YACjC,UAAU,EAAE,UAAU,CAAC,kBAAkB;AAC1C,SAAA;AAED,QAAA,CAAC,cAAc,CAAC,YAAY,GAAG;YAC7B,IAAI,EAAE,cAAc,CAAC,YAAY;AACjC,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,eAAe,CAAmB,iBAAA,CAAA;YAC3C,UAAU,EAAE,UAAU,CAAC,YAAY;AACpC,SAAA;AACD,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG;YACxB,IAAI,EAAE,cAAc,CAAC,OAAO;;AAE5B,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,eAAe,CAAsB,oBAAA,CAAA;YAC9C,UAAU,EAAE,UAAU,CAAC,OAAO;AAC/B,SAAA;AACD,QAAA,CAAC,cAAc,CAAC,eAAe,GAAG;YAChC,IAAI,EAAE,cAAc,CAAC,eAAe;AACpC,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,eAAe,CAAc,YAAA,CAAA;YACtC,UAAU,EAAE,UAAU,CAAC,eAAe;AACvC,SAAA;AACD,QAAA,CAAC,cAAc,CAAC,MAAM,GAAG;YACvB,IAAI,EAAE,cAAc,CAAC,MAAM;AAC3B,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,eAAe,CAAa,WAAA,CAAA;YACrC,UAAU,EAAE,UAAU,CAAC,MAAM;AAC9B,SAAA;;AAGD,QAAA,CAAC,cAAc,CAAC,oBAAoB,GAAG;YACrC,IAAI,EAAE,cAAc,CAAC,oBAAoB;AACzC,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,eAAe,CAA2B,yBAAA,CAAA;;;;;YAKnD,UAAU,EAAE,UAAU,CAAC,oBAAoB;AAC5C,SAAA;AACD,QAAA,CAAC,cAAc,CAAC,wBAAwB,GAAG;YACzC,IAAI,EAAE,cAAc,CAAC,wBAAwB;AAC7C,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,eAAe,CAAU,QAAA,CAAA;;;;;YAKlC,UAAU,EAAE,UAAU,CAAC,wBAAwB;AAChD,SAAA;AACD,QAAA,CAAC,cAAc,CAAC,wBAAwB,GAAG;YACzC,IAAI,EAAE,cAAc,CAAC,wBAAwB;AAC7C,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,eAAe,CAAsB,oBAAA,CAAA;YAC9C,UAAU,EAAE,UAAU,CAAC,wBAAwB;AAChD,SAAA;AACD,QAAA,CAAC,cAAc,CAAC,wBAAwB,GAAG;YACzC,IAAI,EAAE,cAAc,CAAC,wBAAwB;AAC7C,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,eAAe,CAAU,QAAA,CAAA;;;;;YAKlC,UAAU,EAAE,UAAU,CAAC,wBAAwB;AAChD,SAAA;AACD,QAAA,CAAC,cAAc,CAAC,wBAAwB,GAAG;YACzC,IAAI,EAAE,cAAc,CAAC,wBAAwB;AAC7C,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,eAAe,CAAU,QAAA,CAAA;;;;;YAKlC,UAAU,EAAE,UAAU,CAAC,wBAAwB;AAChD,SAAA;AAED,QAAA,CAAC,cAAc,CAAC,sBAAsB,GAAG;YACvC,IAAI,EAAE,cAAc,CAAC,sBAAsB;AAC3C,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,eAAe,CAAiB,eAAA,CAAA;;;;;YAKzC,UAAU,EAAE,UAAU,CAAC,sBAAsB;AAC9C,SAAA;AACD,QAAA,CAAC,cAAc,CAAC,KAAK,GAAG;YACtB,IAAI,EAAE,cAAc,CAAC,KAAK;AAC1B,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,eAAe,CAAY,UAAA,CAAA;YACpC,UAAU,EAAE,UAAU,CAAC,KAAK;AAC7B,SAAA;AACD,QAAA,CAAC,cAAc,CAAC,SAAS,GAAG;YAC1B,IAAI,EAAE,cAAc,CAAC,SAAS;AAC/B,SAAA;AACD,QAAA,CAAC,cAAc,CAAC,KAAK,GAAG;YACtB,IAAI,EAAE,cAAc,CAAC,KAAK;AAC3B,SAAA;AAED,QAAA,CAAC,cAAc,CAAC,UAAU,GAAG;YAC3B,IAAI,EAAE,cAAc,CAAC,UAAU;AAChC,SAAA;AACD,QAAA,CAAC,cAAc,CAAC,WAAW,GAAG;YAC5B,IAAI,EAAE,cAAc,CAAC,WAAW;AACjC,SAAA;AACD,QAAA,CAAC,cAAc,CAAC,UAAU,GAAG;YAC3B,IAAI,EAAE,cAAc,CAAC,UAAU;AAChC,SAAA;AACD,QAAA,CAAC,cAAc,CAAC,QAAQ,GAAG;YACzB,IAAI,EAAE,cAAc,CAAC,QAAQ;AAC9B,SAAA;AAED,QAAA,CAAC,cAAc,CAAC,eAAe,GAAG;YAChC,IAAI,EAAE,cAAc,CAAC,eAAe;AACpC,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,uBAAuB,CAAc,YAAA,CAAA;AAC/C,SAAA;AACD,QAAA,CAAC,cAAc,CAAC,aAAa,GAAG;YAC9B,IAAI,EAAE,cAAc,CAAC,aAAa;AAClC,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,uBAAuB,CAAgB,cAAA,CAAA;AACjD,SAAA;AACD,QAAA,CAAC,cAAc,CAAC,iBAAiB,GAAG;YAClC,IAAI,EAAE,cAAc,CAAC,iBAAiB;AACtC,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,uBAAuB,CAAgB,cAAA,CAAA;AACjD,SAAA;AAED,QAAA,CAAC,cAAc,CAAC,mBAAmB,GAAG;YACpC,IAAI,EAAE,cAAc,CAAC,mBAAmB;;AAExC,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,eAAe,CAA0B,wBAAA,CAAA;YAClD,UAAU,EAAE,UAAU,CAAC,mBAAmB;AAC3C,SAAA;AAED,QAAA,CAAC,cAAc,CAAC,wBAAwB,GAAG;YACzC,IAAI,EAAE,cAAc,CAAC,wBAAwB;;AAE7C,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,eAAe,CAA+B,6BAAA,CAAA;YACvD,UAAU,EAAE,UAAU,CAAC,wBAAwB;AAChD,SAAA;AAED,QAAA,CAAC,cAAc,CAAC,0BAA0B,GAAG;YAC3C,IAAI,EAAE,cAAc,CAAC,0BAA0B;AAC/C,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,eAAe,CAAkC,gCAAA,CAAA;YAC1D,UAAU,EAAE,UAAU,CAAC,0BAA0B;AAClD,SAAA;AACD,QAAA,CAAC,cAAc,CAAC,kBAAkB,GAAG;YACnC,IAAI,EAAE,cAAc,CAAC,kBAAkB;AACvC,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,eAAe,CAA+B,6BAAA,CAAA;YACvD,UAAU,EAAE,UAAU,CAAC,kBAAkB;AAC1C,SAAA;AACD,QAAA,CAAC,cAAc,CAAC,sBAAsB,GAAG;YACvC,IAAI,EAAE,cAAc,CAAC,sBAAsB;AAC3C,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,eAAe,CAAsC,oCAAA,CAAA;YAC9D,UAAU,EAAE,UAAU,CAAC,sBAAsB;AAC9C,SAAA;AAED,QAAA,CAAC,cAAc,CAAC,mBAAmB,GAAG;YACpC,IAAI,EAAE,cAAc,CAAC,mBAAmB;AACxC,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,eAAe,CAA0B,wBAAA,CAAA;YAClD,UAAU,EAAE,UAAU,CAAC,mBAAmB;AAC3C,SAAA;AACD,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG;YACxB,IAAI,EAAE,cAAc,CAAC,OAAO;AAC5B,YAAA,IAAI,EAAE,EAAE;;AAET,SAAA;AAED,QAAA,CAAC,cAAc,CAAC,sBAAsB,GAAG;YACvC,IAAI,EAAE,cAAc,CAAC,sBAAsB;AAC3C,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,eAAe,CAA8B,4BAAA,CAAA;YACtD,UAAU,EAAE,UAAU,CAAC,sBAAsB;AAC9C,SAAA;AACD,QAAA,CAAC,cAAc,CAAC,aAAa,GAAG;YAC9B,IAAI,EAAE,cAAc,CAAC,aAAa;AAClC,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,uBAAuB,CAAgB,cAAA,CAAA;AACjD,SAAA;;;AAGD,QAAA,CAAC,cAAc,CAAC,IAAI,GAAG;YACrB,IAAI,EAAE,cAAc,CAAC,IAAI;AACzB,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,sBAAsB,CAAW,SAAA,CAAA;YAC1C,UAAU,EAAE,UAAU,CAAC,IAAI;;;;;AAK5B,SAAA;AACD,QAAA,CAAC,cAAc,CAAC,iBAAiB,GAAG;YAClC,IAAI,EAAE,cAAc,CAAC,iBAAiB;AACtC,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,sBAAsB,CAAwB,sBAAA,CAAA;YACvD,UAAU,EAAE,UAAU,CAAC,iBAAiB;;;;;AAKzC,SAAA;AACD,QAAA,CAAC,cAAc,CAAC,sBAAsB,GAAG;YACvC,IAAI,EAAE,cAAc,CAAC,sBAAsB;AAC3C,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,sBAAsB,CAAc,YAAA,CAAA;YAC7C,UAAU,EAAE,UAAU,CAAC,sBAAsB;AAC9C,SAAA;AACD,QAAA,CAAC,cAAc,CAAC,gBAAgB,GAAG;YACjC,IAAI,EAAE,cAAc,CAAC,gBAAgB;AACrC,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,sBAAsB,CAAuB,qBAAA,CAAA;YACtD,UAAU,EAAE,UAAU,CAAC,gBAAgB;AACxC,SAAA;AACD,QAAA,CAAC,cAAc,CAAC,SAAS,GAAG;YAC1B,IAAI,EAAE,cAAc,CAAC,SAAS;AAC9B,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,sBAAsB,CAAa,WAAA,CAAA;YAC5C,UAAU,EAAE,UAAU,CAAC,SAAS;AACjC,SAAA;AACD,QAAA,CAAC,cAAc,CAAC,eAAe,GAAG;YAChC,IAAI,EAAE,cAAc,CAAC,eAAe;AACpC,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,sBAAsB,CAAY,UAAA,CAAA;YAC3C,UAAU,EAAE,UAAU,CAAC,eAAe;AACvC,SAAA;AAED,QAAA,CAAC,cAAc,CAAC,YAAY,GAAG;YAC7B,IAAI,EAAE,cAAc,CAAC,YAAY;AACjC,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,sBAAsB,CAAkB,gBAAA,CAAA;YACjD,UAAU,EAAE,UAAU,CAAC,YAAY;AACpC,SAAA;AACD,QAAA,CAAC,cAAc,CAAC,gCAAgC,GAAG;YACjD,IAAI,EAAE,cAAc,CAAC,gCAAgC;AACrD,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,sBAAsB,CAAmC,iCAAA,CAAA;YAClE,UAAU,EAAE,UAAU,CAAC,gCAAgC;AACxD,SAAA;AACD,QAAA,CAAC,cAAc,CAAC,oBAAoB,GAAG;YACrC,IAAI,EAAE,cAAc,CAAC,oBAAoB;AACzC,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,sBAAsB,CAAmC,iCAAA,CAAA;YAClE,UAAU,EAAE,UAAU,CAAC,oBAAoB;AAC5C,SAAA;AACD,QAAA,CAAC,cAAc,CAAC,sBAAsB,GAAG;YACvC,IAAI,EAAE,cAAc,CAAC,sBAAsB;AAC3C,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,sBAAsB,CAAqC,mCAAA,CAAA;YACpE,UAAU,EAAE,UAAU,CAAC,sBAAsB;AAC9C,SAAA;AACD,QAAA,CAAC,cAAc,CAAC,8BAA8B,GAAG;YAC/C,IAAI,EAAE,cAAc,CAAC,8BAA8B;AACnD,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,sBAAsB,CAA4C,0CAAA,CAAA;YAC3E,UAAU,EAAE,UAAU,CAAC,8BAA8B;AACtD,SAAA;AACD,QAAA,CAAC,cAAc,CAAC,YAAY,GAAG;YAC7B,IAAI,EAAE,cAAc,CAAC,YAAY;AACjC,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,sBAAsB,CAAiB,eAAA,CAAA;YAChD,UAAU,EAAE,UAAU,CAAC,YAAY;AACpC,SAAA;AACD,QAAA,CAAC,cAAc,CAAC,kCAAkC,GAAG;YACnD,IAAI,EAAE,cAAc,CAAC,kCAAkC;AACvD,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,sBAAsB,CAA6C,2CAAA,CAAA;YAC5E,UAAU,EAAE,UAAU,CAAC,kCAAkC;AAC1D,SAAA;AACD,QAAA,CAAC,cAAc,CAAC,0BAA0B,GAAG;YAC3C,IAAI,EAAE,cAAc,CAAC,0BAA0B;AAC/C,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,sBAAsB,CAAqC,mCAAA,CAAA;YACpE,UAAU,EAAE,UAAU,CAAC,0BAA0B;AAClD,SAAA;AACD,QAAA,CAAC,cAAc,CAAC,gBAAgB,GAAG;YACjC,IAAI,EAAE,cAAc,CAAC,gBAAgB;AACrC,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,sBAAsB,CAAuB,qBAAA,CAAA;YACtD,UAAU,EAAE,UAAU,CAAC,gBAAgB;AACxC,SAAA;AACD,QAAA,CAAC,cAAc,CAAC,kCAAkC,GAAG;YACnD,IAAI,EAAE,cAAc,CAAC,kCAAkC;AACvD,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,sBAAsB,CAA6C,2CAAA,CAAA;YAC5E,UAAU,EAAE,UAAU,CAAC,kCAAkC;AAC1D,SAAA;AACD,QAAA,CAAC,cAAc,CAAC,0BAA0B,GAAG;YAC3C,IAAI,EAAE,cAAc,CAAC,0BAA0B;AAC/C,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,sBAAsB,CAAiC,+BAAA,CAAA;YAChE,UAAU,EAAE,UAAU,CAAC,0BAA0B;AAClD,SAAA;AACD,QAAA,CAAC,cAAc,CAAC,sBAAsB,GAAG;YACvC,IAAI,EAAE,cAAc,CAAC,sBAAsB;AAC3C,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,sBAAsB,CAA6B,2BAAA,CAAA;YAC5D,UAAU,EAAE,UAAU,CAAC,sBAAsB;AAC9C,SAAA;AACD,QAAA,CAAC,cAAc,CAAC,cAAc,GAAG;YAC/B,IAAI,EAAE,cAAc,CAAC,cAAc;AACnC,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,sBAAsB,CAAmC,iCAAA,CAAA;YAClE,UAAU,EAAE,UAAU,CAAC,cAAc;AACtC,SAAA;AACD,QAAA,CAAC,cAAc,CAAC,0BAA0B,GAAG;YAC3C,IAAI,EAAE,cAAc,CAAC,0BAA0B;AAC/C,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,sBAAsB,CAAuC,qCAAA,CAAA;YACtE,UAAU,EAAE,UAAU,CAAC,0BAA0B;AAClD,SAAA;AACD,QAAA,CAAC,cAAc,CAAC,aAAa,GAAG;YAC9B,IAAI,EAAE,cAAc,CAAC,aAAa;AAClC,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,sBAAsB,CAAe,aAAA,CAAA;YAC9C,UAAU,EAAE,UAAU,CAAC,aAAa;AACrC,SAAA;AACD,QAAA,CAAC,cAAc,CAAC,sBAAsB,GAAG;YACvC,IAAI,EAAE,cAAc,CAAC,sBAAsB;AAC3C,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,sBAAsB,CAAqB,mBAAA,CAAA;YACpD,UAAU,EAAE,UAAU,CAAC,sBAAsB;AAC9C,SAAA;AACD,QAAA,CAAC,cAAc,CAAC,6BAA6B,GAAG;YAC9C,IAAI,EAAE,cAAc,CAAC,6BAA6B;AAClD,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,sBAAsB,CAAwC,sCAAA,CAAA;YACvE,UAAU,EAAE,UAAU,CAAC,6BAA6B;AACrD,SAAA;AAED,QAAA,CAAC,cAAc,CAAC,2BAA2B,GAAG;YAC5C,IAAI,EAAE,cAAc,CAAC,2BAA2B;AAChD,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,sBAAsB,CAAkC,gCAAA,CAAA;YACjE,UAAU,EAAE,UAAU,CAAC,2BAA2B;AACnD,SAAA;AACD,QAAA,CAAC,cAAc,CAAC,UAAU,GAAG;YAC3B,IAAI,EAAE,cAAc,CAAC,UAAU;AAC/B,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,sBAAsB,CAAiB,eAAA,CAAA;YAChD,UAAU,EAAE,UAAU,CAAC,UAAU;AAClC,SAAA;AAED,QAAA,CAAC,cAAc,CAAC,0BAA0B,GAAG;YAC3C,IAAI,EAAE,cAAc,CAAC,0BAA0B;AAC/C,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,sBAAsB,CAAwB,sBAAA,CAAA;YACvD,UAAU,EAAE,UAAU,CAAC,0BAA0B;AAClD,SAAA;AACD,QAAA,CAAC,cAAc,CAAC,SAAS,GAAG;YAC1B,IAAI,EAAE,cAAc,CAAC,SAAS;AAC9B,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,sBAAsB,CAAwB,sBAAA,CAAA;YACvD,UAAU,EAAE,UAAU,CAAC,SAAS;AACjC,SAAA;;AAGD,QAAA,CAAC,cAAc,CAAC,qBAAqB,GAAG;YACtC,IAAI,EAAE,cAAc,CAAC,qBAAqB;AAC1C,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,mBAAmB,CAA4B,0BAAA,CAAA;YACxD,UAAU,EAAE,UAAU,CAAC,qBAAqB;AAC7C,SAAA;;;;;;AAMD,QAAA,CAAC,cAAc,CAAC,+BAA+B,GAAG;YAChD,IAAI,EAAE,cAAc,CAAC,+BAA+B;AACpD,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,mBAAmB,CAA4C,0CAAA,CAAA;YACxE,UAAU,EAAE,UAAU,CAAC,+BAA+B;AACvD,SAAA;;;;;;AAMD,QAAA,CAAC,cAAc,CAAC,iCAAiC,GAAG;YAClD,IAAI,EAAE,cAAc,CAAC,iCAAiC;AACtD,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,mBAAmB,CAA4C,0CAAA,CAAA;YACxE,UAAU,EAAE,UAAU,CAAC,iCAAiC;AACzD,SAAA;AACD,QAAA,CAAC,cAAc,CAAC,mBAAmB,GAAG;YACpC,IAAI,EAAE,cAAc,CAAC,mBAAmB;AACxC,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,mBAAmB,CAA0B,wBAAA,CAAA;YACtD,UAAU,EAAE,UAAU,CAAC,mBAAmB;AAC3C,SAAA;AACD,QAAA,CAAC,cAAc,CAAC,QAAQ,GAAG;YACzB,IAAI,EAAE,cAAc,CAAC,QAAQ;AAC7B,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,mBAAmB,CAAe,aAAA,CAAA;YAC3C,UAAU,EAAE,UAAU,CAAC,QAAQ;AAChC,SAAA;AACD,QAAA,CAAC,cAAc,CAAC,gBAAgB,GAAG;YACjC,IAAI,EAAE,cAAc,CAAC,gBAAgB;AACrC,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,mBAAmB,CAAuB,qBAAA,CAAA;YACnD,UAAU,EAAE,UAAU,CAAC,gBAAgB;AACxC,SAAA;AACD,QAAA,CAAC,cAAc,CAAC,YAAY,GAAG;YAC7B,IAAI,EAAE,cAAc,CAAC,YAAY;AACjC,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,mBAAmB,CAAmB,iBAAA,CAAA;YAC/C,UAAU,EAAE,UAAU,CAAC,YAAY;AACpC,SAAA;AACD,QAAA,CAAC,cAAc,CAAC,2BAA2B,GAAG;YAC5C,IAAI,EAAE,cAAc,CAAC,2BAA2B;AAChD,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,mBAAmB,CAAkC,gCAAA,CAAA;YAC9D,UAAU,EAAE,UAAU,CAAC,2BAA2B;AACnD,SAAA;AACD,QAAA,CAAC,cAAc,CAAC,+BAA+B,GAAG;YAChD,IAAI,EAAE,cAAc,CAAC,+BAA+B;AACpD,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,mBAAmB,CAAsC,oCAAA,CAAA;YAClE,UAAU,EAAE,UAAU,CAAC,+BAA+B;AACvD,SAAA;AACD,QAAA,CAAC,cAAc,CAAC,UAAU,GAAG;YAC3B,IAAI,EAAE,cAAc,CAAC,UAAU;AAC/B,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,mBAAmB,CAAiB,eAAA,CAAA;YAC7C,UAAU,EAAE,UAAU,CAAC,UAAU;AAClC,SAAA;;;;;;;;;;;AAWD,QAAA,CAAC,cAAc,CAAC,0BAA0B,GAAG;YAC3C,IAAI,EAAE,cAAc,CAAC,0BAA0B;AAC/C,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,mBAAmB,CAAiC,+BAAA,CAAA;YAC7D,UAAU,EAAE,UAAU,CAAC,0BAA0B;AAClD,SAAA;AACD,QAAA,CAAC,cAAc,CAAC,iBAAiB,GAAG;YAClC,IAAI,EAAE,cAAc,CAAC,iBAAiB;AACtC,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,mBAAmB,CAAwB,sBAAA,CAAA;YACpD,UAAU,EAAE,UAAU,CAAC,iBAAiB;AACzC,SAAA;AACD,QAAA,CAAC,cAAc,CAAC,uBAAuB,GAAG;YACxC,IAAI,EAAE,cAAc,CAAC,uBAAuB;AAC5C,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,mBAAmB,CAA8B,4BAAA,CAAA;YAC1D,UAAU,EAAE,UAAU,CAAC,uBAAuB;AAC/C,SAAA;AACD,QAAA,CAAC,cAAc,CAAC,WAAW,GAAG;YAC5B,IAAI,EAAE,cAAc,CAAC,WAAW;AAChC,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,mBAAmB,CAAkB,gBAAA,CAAA;YAC9C,UAAU,EAAE,UAAU,CAAC,WAAW;AACnC,SAAA;;AAED,QAAA,CAAC,cAAc,CAAC,YAAY,GAAG;YAC7B,IAAI,EAAE,cAAc,CAAC,YAAY;AACjC,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,oBAAoB,CAAkB,gBAAA,CAAA;YAC/C,UAAU,EAAE,UAAU,CAAC,YAAY;AACpC,SAAA;AACD,QAAA,CAAC,cAAc,CAAC,WAAW,GAAG;YAC5B,IAAI,EAAE,cAAc,CAAC,WAAW;AAChC,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,oBAAoB,CAAe,aAAA,CAAA;YAC5C,UAAU,EAAE,UAAU,CAAC,WAAW;AACnC,SAAA;AACD,QAAA,CAAC,cAAc,CAAC,UAAU,GAAG;YAC3B,IAAI,EAAE,cAAc,CAAC,UAAU;AAC/B,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,oBAAoB,CAAgB,cAAA,CAAA;YAC7C,UAAU,EAAE,UAAU,CAAC,UAAU;AAClC,SAAA;AACD,QAAA,CAAC,cAAc,CAAC,SAAS,GAAG;YAC1B,IAAI,EAAE,cAAc,CAAC,SAAS;AAC9B,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,oBAAoB,CAAe,aAAA,CAAA;YAC5C,UAAU,EAAE,UAAU,CAAC,SAAS;AACjC,SAAA;AACD,QAAA,CAAC,cAAc,CAAC,QAAQ,GAAG;YACzB,IAAI,EAAE,cAAc,CAAC,QAAQ;AAC7B,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,oBAAoB,CAAc,YAAA,CAAA;YAC3C,UAAU,EAAE,UAAU,CAAC,QAAQ;AAChC,SAAA;AACD,QAAA,CAAC,cAAc,CAAC,aAAa,GAAG;YAC9B,IAAI,EAAE,cAAc,CAAC,aAAa;AAClC,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,oBAAoB,CAAoB,kBAAA,CAAA;YACjD,UAAU,EAAE,UAAU,CAAC,aAAa;AACrC,SAAA;AACD,QAAA,CAAC,cAAc,CAAC,QAAQ,GAAG;YACzB,IAAI,EAAE,cAAc,CAAC,QAAQ;AAC7B,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,oBAAoB,CAAe,aAAA,CAAA;YAC5C,UAAU,EAAE,UAAU,CAAC,QAAQ;AAChC,SAAA;AAED,QAAA,CAAC,cAAc,CAAC,kBAAkB,GAAG;YACnC,IAAI,EAAE,cAAc,CAAC,kBAAkB;AACvC,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,oBAAoB,CAAyB,uBAAA,CAAA;YACtD,UAAU,EAAE,UAAU,CAAC,kBAAkB;AAC1C,SAAA;AACD,QAAA,CAAC,cAAc,CAAC,UAAU,GAAG;YAC3B,IAAI,EAAE,cAAc,CAAC,UAAU;AAC/B,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,oBAAoB,CAAiB,eAAA,CAAA;YAC9C,UAAU,EAAE,UAAU,CAAC,UAAU;AAClC,SAAA;AACD,QAAA,CAAC,cAAc,CAAC,mBAAmB,GAAG;YACpC,IAAI,EAAE,cAAc,CAAC,mBAAmB;AACxC,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,oBAAoB,CAA0B,wBAAA,CAAA;YACvD,UAAU,EAAE,UAAU,CAAC,mBAAmB;AAC3C,SAAA;AACD,QAAA,CAAC,cAAc,CAAC,gBAAgB,GAAG;YACjC,IAAI,EAAE,cAAc,CAAC,gBAAgB;AACrC,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,oBAAoB,CAAuB,qBAAA,CAAA;YACpD,UAAU,EAAE,UAAU,CAAC,gBAAgB;AACxC,SAAA;AACD,QAAA,CAAC,cAAc,CAAC,iCAAiC,GAAG;YAClD,IAAI,EAAE,cAAc,CAAC,iCAAiC;AACtD,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,oBAAoB,CAAwC,sCAAA,CAAA;YACrE,UAAU,EAAE,UAAU,CAAC,iCAAiC;AACzD,SAAA;AAED,QAAA,CAAC,cAAc,CAAC,WAAW,GAAG;YAC5B,IAAI,EAAE,cAAc,CAAC,WAAW;AAChC,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,oBAAoB,CAAkB,gBAAA,CAAA;YAC/C,UAAU,EAAE,UAAU,CAAC,WAAW;AACnC,SAAA;AACD,QAAA,CAAC,cAAc,CAAC,eAAe,GAAG;YAChC,IAAI,EAAE,cAAc,CAAC,eAAe;AACpC,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,oBAAoB,CAAsB,oBAAA,CAAA;YACnD,UAAU,EAAE,UAAU,CAAC,eAAe;AACvC,SAAA;AACD,QAAA,CAAC,cAAc,CAAC,mBAAmB,GAAG;YACpC,IAAI,EAAE,cAAc,CAAC,mBAAmB;AACxC,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,oBAAoB,CAAyB,uBAAA,CAAA;YACtD,UAAU,EAAE,UAAU,CAAC,mBAAmB;AAC3C,SAAA;AACD,QAAA,CAAC,cAAc,CAAC,gBAAgB,GAAG;YACjC,IAAI,EAAE,cAAc,CAAC,gBAAgB;AACrC,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,oBAAoB,CAA8B,4BAAA,CAAA;YAC3D,UAAU,EAAE,UAAU,CAAC,gBAAgB;AACxC,SAAA;AACD,QAAA,CAAC,cAAc,CAAC,gBAAgB,GAAG;YACjC,IAAI,EAAE,cAAc,CAAC,gBAAgB;AACrC,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,oBAAoB,CAA8B,4BAAA,CAAA;YAC3D,UAAU,EAAE,UAAU,CAAC,gBAAgB;AACxC,SAAA;AAED,QAAA,CAAC,cAAc,CAAC,KAAK,GAAG;YACtB,IAAI,EAAE,cAAc,CAAC,KAAK;AAC1B,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,oBAAoB,CAAkB,gBAAA,CAAA;YAC/C,UAAU,EAAE,UAAU,CAAC,KAAK;AAC7B,SAAA;;AAGD,QAAA,CAAC,cAAc,CAAC,qBAAqB,GAAG;YACtC,IAAI,EAAE,cAAc,CAAC,qBAAqB;AAC1C,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,sBAAsB,CAA6B,2BAAA,CAAA;YAC5D,UAAU,EAAE,UAAU,CAAC,qBAAqB;AAC7C,SAAA;AACD,QAAA,CAAC,cAAc,CAAC,kBAAkB,GAAG;YACnC,IAAI,EAAE,cAAc,CAAC,kBAAkB;AACvC,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,sBAAsB,CAA6B,2BAAA,CAAA;YAC5D,UAAU,EAAE,UAAU,CAAC,kBAAkB;AAC1C,SAAA;AAED,QAAA,CAAC,cAAc,CAAC,OAAO,GAAG;YACxB,IAAI,EAAE,cAAc,CAAC,OAAO;AAC5B,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,sBAAsB,CAAoC,kCAAA,CAAA;YACnE,UAAU,EAAE,UAAU,CAAC,OAAO;AAC/B,SAAA;AACD,QAAA,CAAC,cAAc,CAAC,kBAAkB,GAAG;YACnC,IAAI,EAAE,cAAc,CAAC,kBAAkB;AACvC,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,sBAAsB,CAAoC,kCAAA,CAAA;YACnE,UAAU,EAAE,UAAU,CAAC,kBAAkB;AAC1C,SAAA;;AAED,QAAA,CAAC,cAAc,CAAC,WAAW,GAAG;YAC5B,IAAI,EAAE,cAAc,CAAC,WAAW;AAChC,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,sBAAsB,CAAY,UAAA,CAAA;YAC3C,UAAU,EAAE,UAAU,CAAC,WAAW;AACnC,SAAA;AACD,QAAA,CAAC,cAAc,CAAC,uBAAuB,GAAG;YACxC,IAAI,EAAE,cAAc,CAAC,uBAAuB;AAC5C,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,sBAAsB,CAAoC,kCAAA,CAAA;YACnE,UAAU,EAAE,UAAU,CAAC,uBAAuB;AAC/C,SAAA;AACD,QAAA,CAAC,cAAc,CAAC,SAAS,GAAG;YAC1B,IAAI,EAAE,cAAc,CAAC,SAAS;AAC9B,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,sBAAsB,CAAe,aAAA,CAAA;YAC9C,UAAU,EAAE,UAAU,CAAC,SAAS;AACjC,SAAA;AACD,QAAA,CAAC,cAAc,CAAC,SAAS,GAAG;YAC1B,IAAI,EAAE,cAAc,CAAC,SAAS;AAC9B,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,sBAAsB,CAAc,YAAA,CAAA;YAC7C,UAAU,EAAE,UAAU,CAAC,SAAS;AACjC,SAAA;AAED,QAAA,CAAC,cAAc,CAAC,IAAI,GAAG;YACrB,IAAI,EAAE,cAAc,CAAC,IAAI;;AAE1B,SAAA;AACD,QAAA,CAAC,cAAc,CAAC,gBAAgB,GAAG;YACjC,IAAI,EAAE,cAAc,CAAC,gBAAgB;AACtC,SAAA;;AAGD,QAAA,CAAC,cAAc,CAAC,aAAa,GAAG;YAC9B,IAAI,EAAE,cAAc,CAAC,aAAa;AAClC,YAAA,IAAI,EAAE,EAAE;;AAET,SAAA;;AAGD,QAAA,CAAC,cAAc,CAAC,UAAU,GAAG;YAC3B,IAAI,EAAE,cAAc,CAAC,UAAU;AAC/B,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,eAAe,CAAW,SAAA,CAAA;YACnC,UAAU,EAAE,UAAU,CAAC,UAAU;AAClC,SAAA;AACD,QAAA,CAAC,cAAc,CAAC,gBAAgB,GAAG;YACjC,IAAI,EAAE,cAAc,CAAC,gBAAgB;AACrC,YAAA,IAAI,EAAE,EAAE;AACT,SAAA;AACD,QAAA,CAAC,cAAc,CAAC,iBAAiB,GAAG;YAClC,IAAI,EAAE,cAAc,CAAC,iBAAiB;AACtC,YAAA,IAAI,EAAE,EAAE;AACT,SAAA;AAED,QAAA,CAAC,cAAc,CAAC,sBAAsB,GAAG;YACvC,IAAI,EAAE,cAAc,CAAC,sBAAsB;AAC3C,YAAA,IAAI,EAAE,CAAE,CAAA;AACT,SAAA;AACD,QAAA,CAAC,cAAc,CAAC,uBAAuB,GAAG;YACxC,IAAI,EAAE,cAAc,CAAC,uBAAuB;AAC5C,YAAA,IAAI,EAAE,CAAE,CAAA;AACT,SAAA;AAED,QAAA,CAAC,cAAc,CAAC,cAAc,GAAG;YAC/B,IAAI,EAAE,cAAc,CAAC,cAAc;AACnC,YAAA,IAAI,EAAE,CAAE,CAAA;AACT,SAAA;AACD,QAAA,CAAC,cAAc,CAAC,WAAW,GAAG;YAC5B,IAAI,EAAE,cAAc,CAAC,WAAW;AAChC,YAAA,IAAI,EAAE,CAAE,CAAA;AACT,SAAA;AACD,QAAA,CAAC,cAAc,CAAC,YAAY,GAAG;YAC7B,IAAI,EAAE,cAAc,CAAC,YAAY;AACjC,YAAA,IAAI,EAAE,CAAE,CAAA;AACT,SAAA;;AAGD,QAAA,CAAC,cAAc,CAAC,cAAc,GAAG;YAC/B,IAAI,EAAE,cAAc,CAAC,cAAc;AACnC,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,qBAAqB,CAAe,aAAA,CAAA;AAC9C,SAAA;AACD,QAAA,CAAC,cAAc,CAAC,MAAM,GAAG;YACvB,IAAI,EAAE,cAAc,CAAC,MAAM;AAC3B,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,qBAAqB,CAAkB,gBAAA,CAAA;AACjD,SAAA;AACD,QAAA,CAAC,cAAc,CAAC,WAAW,GAAG;YAC5B,IAAI,EAAE,cAAc,CAAC,WAAW;AAChC,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,qBAAqB,CAAW,SAAA,CAAA;AAC1C,SAAA;AACD,QAAA,CAAC,cAAc,CAAC,mBAAmB,GAAG;YACpC,IAAI,EAAE,cAAc,CAAC,mBAAmB;AACxC,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,qBAAqB,CAAyB,uBAAA,CAAA;AACxD,SAAA;AACD,QAAA,CAAC,cAAc,CAAC,2BAA2B,GAAG;YAC5C,IAAI,EAAE,cAAc,CAAC,2BAA2B;AAChD,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,qBAAqB,CAAmB,iBAAA,CAAA;AAClD,SAAA;AACD,QAAA,CAAC,cAAc,CAAC,wBAAwB,GAAG;YACzC,IAAI,EAAE,cAAc,CAAC,wBAAwB;AAC7C,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,qBAAqB,CAA+B,6BAAA,CAAA;AAC9D,SAAA;AACD,QAAA,CAAC,cAAc,CAAC,UAAU,GAAG;YAC3B,IAAI,EAAE,cAAc,CAAC,UAAU;AAC/B,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,qBAAqB,CAAiB,eAAA,CAAA;AAChD,SAAA;AACD,QAAA,CAAC,cAAc,CAAC,eAAe,GAAG;YAChC,IAAI,EAAE,cAAc,CAAC,eAAe;AACpC,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,qBAAqB,CAAsB,oBAAA,CAAA;AACrD,SAAA;AACD,QAAA,CAAC,cAAc,CAAC,cAAc,GAAG;YAC/B,IAAI,EAAE,cAAc,CAAC,cAAc;AACnC,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,qBAAqB,CAAoB,kBAAA,CAAA;AACnD,SAAA;AACD,QAAA,CAAC,cAAc,CAAC,eAAe,GAAG;YAChC,IAAI,EAAE,cAAc,CAAC,eAAe;AACpC,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,qBAAqB,CAAsB,oBAAA,CAAA;AACrD,SAAA;AACD,QAAA,CAAC,cAAc,CAAC,eAAe,GAAG;YAChC,IAAI,EAAE,cAAc,CAAC,eAAe;AACpC,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,qBAAqB,CAAsB,oBAAA,CAAA;AACrD,SAAA;AACD,QAAA,CAAC,cAAc,CAAC,QAAQ,GAAG;YACzB,IAAI,EAAE,cAAc,CAAC,QAAQ;AAC7B,YAAA,IAAI,EAAE,CAAA,EAAG,kBAAA,CAAA,qBAAqB,CAAoB,kBAAA,CAAA;AACnD,SAAA;;AAGD,QAAA,CAAC,cAAc,CAAC,qBAAqB,GAAG;YACtC,IAAI,EAAE,cAAc,CAAC,qBAAqB;AAC1C,YAAA,IAAI,EAAE,CAAE,CAAA;AACT,SAAA;KACF,CAAC;AAEW,IAAA,kBAAA,CAAA,uBAAuB,GAEhC;AACF,QAAA,CAAC,UAAU,CAAC,mBAAmB,GAAG;YAChC,IAAI,EAAE,cAAc,CAAC,mBAAmB;AACxC,YAAA,UAAU,EAAE,CAAA,EAAG,kBAAA,CAAA,kCAAkC,CAAgC,8BAAA,CAAA;AACjF,YAAA,YAAY,EAAE,CAAA,EAAG,kBAAA,CAAA,kCAAkC,CAA0B,wBAAA,CAAA;AAC9E,SAAA;AACD,QAAA,CAAC,UAAU,CAAC,mBAAmB,GAAG;YAChC,IAAI,EAAE,cAAc,CAAC,mBAAmB;AACxC,YAAA,UAAU,EAAE,CAAA,EAAG,kBAAA,CAAA,kCAAkC,CAAgC,8BAAA,CAAA;AACjF,YAAA,YAAY,EAAE,CAAA,EAAG,kBAAA,CAAA,kCAAkC,CAA0B,wBAAA,CAAA;AAC7E,YAAA,iBAAiB,EAAE,IAAI;AACxB,SAAA;AACD,QAAA,CAAC,UAAU,CAAC,wBAAwB,GAAG;YACrC,IAAI,EAAE,cAAc,CAAC,wBAAwB;AAC7C,YAAA,UAAU,EAAE,CAAA,EAAG,kBAAA,CAAA,kCAAkC,CAAgC,8BAAA,CAAA;AACjF,YAAA,YAAY,EAAE,CAAA,EAAG,kBAAA,CAAA,kCAAkC,CAA0B,wBAAA,CAAA;AAC7E,YAAA,iBAAiB,EAAE,IAAI;AACxB,SAAA;AACD,QAAA,CAAC,UAAU,CAAC,0BAA0B,GAAG;YACvC,IAAI,EAAE,cAAc,CAAC,0BAA0B;AAC/C,YAAA,UAAU,EAAE,CAAA,EAAG,kBAAA,CAAA,kCAAkC,CAAwC,sCAAA,CAAA;AACzF,YAAA,YAAY,EAAE,CAAA,EAAG,kBAAA,CAAA,kCAAkC,CAAkC,gCAAA,CAAA;AACtF,SAAA;AACD,QAAA,CAAC,UAAU,CAAC,kBAAkB,GAAG;YAC/B,IAAI,EAAE,cAAc,CAAC,kBAAkB;AACvC,YAAA,UAAU,EAAE,CAAA,EAAG,kBAAA,CAAA,kCAAkC,CAAoC,kCAAA,CAAA;AACrF,YAAA,YAAY,EAAE,CAAA,EAAG,kBAAA,CAAA,kCAAkC,CAA8B,4BAAA,CAAA;AAClF,SAAA;AACD,QAAA,CAAC,UAAU,CAAC,sBAAsB,GAAG;YACnC,IAAI,EAAE,cAAc,CAAC,sBAAsB;AAC3C,YAAA,cAAc,EAAE,CAAA,EAAG,kBAAA,CAAA,kCAAkC,CAA6B,2BAAA,CAAA;AAClF,YAAA,YAAY,EAAE,CAAA,EAAG,kBAAA,CAAA,kCAAkC,CAAuB,qBAAA,CAAA;AAC3E,SAAA;AACD,QAAA,CAAC,UAAU,CAAC,sBAAsB,GAAG;YACnC,IAAI,EAAE,cAAc,CAAC,sBAAsB;AAC3C,YAAA,UAAU,EAAE,CAAA,EAAG,kBAAA,CAAA,kCAAkC,CAAoC,kCAAA,CAAA;AACrF,YAAA,YAAY,EAAE,CAAA,EAAG,kBAAA,CAAA,kCAAkC,CAA8B,4BAAA,CAAA;AAClF,SAAA;KACF,CAAC;AAEW,IAAA,kBAAA,CAAA,+BAA+B,GAAG;AAC7C,QAAA,uBAAuB,EAAE;AACvB,YAAA,UAAU,CAAC,eAAe;AAC1B,YAAA,UAAU,CAAC,qBAAqB;AAChC,YAAA,UAAU,CAAC,kBAAkB;AAC9B,SAAA;AACD,QAAA,6BAA6B,EAAE;AAC7B,YAAA,UAAU,CAAC,oBAAoB;AAC/B,YAAA,UAAU,CAAC,wBAAwB;AACnC,YAAA,UAAU,CAAC,wBAAwB;AACnC,YAAA,UAAU,CAAC,wBAAwB;AACnC,YAAA,UAAU,CAAC,wBAAwB;AACpC,SAAA;KACF,CAAC;AAEF,IAAA,IAAY,uBAMX,CAAA;AAND,IAAA,CAAA,UAAY,uBAAuB,EAAA;AACjC,QAAA,uBAAA,CAAA,iBAAA,CAAA,GAAA,iBAAmC,CAAA;AACnC,QAAA,uBAAA,CAAA,aAAA,CAAA,GAAA,YAA0B,CAAA;AAC1B,QAAA,uBAAA,CAAA,UAAA,CAAA,GAAA,aAAwB,CAAA;AACxB,QAAA,uBAAA,CAAA,kBAAA,CAAA,GAAA,kBAAqC,CAAA;AACrC,QAAA,uBAAA,CAAA,iBAAA,CAAA,GAAA,kBAAoC,CAAA;AACtC,KAAC,EANW,uBAAuB,GAAvB,kBAAuB,CAAA,uBAAA,KAAvB,0CAAuB,GAMlC,EAAA,CAAA,CAAA,CAAA;AAED,IAAA,IAAY,0BAGX,CAAA;AAHD,IAAA,CAAA,UAAY,0BAA0B,EAAA;AACpC,QAAA,0BAAA,CAAA,QAAA,CAAA,GAAA,WAAoB,CAAA;AACpB,QAAA,0BAAA,CAAA,SAAA,CAAA,GAAA,cAAwB,CAAA;AAC1B,KAAC,EAHW,0BAA0B,GAA1B,kBAA0B,CAAA,0BAAA,KAA1B,6CAA0B,GAGrC,EAAA,CAAA,CAAA,CAAA;AAED,IAAA,IAAY,iBAKX,CAAA;AALD,IAAA,CAAA,UAAY,iBAAiB,EAAA;AAC3B,QAAA,iBAAA,CAAA,gBAAA,CAAA,GAAA,eAAgC,CAAA;AAChC,QAAA,iBAAA,CAAA,gBAAA,CAAA,GAAA,cAA+B,CAAA;AAC/B,QAAA,iBAAA,CAAA,iBAAA,CAAA,GAAA,eAAiC,CAAA;AACjC,QAAA,iBAAA,CAAA,eAAA,CAAA,GAAA,cAA8B,CAAA;AAChC,KAAC,EALW,iBAAiB,GAAjB,kBAAiB,CAAA,iBAAA,KAAjB,oCAAiB,GAK5B,EAAA,CAAA,CAAA,CAAA;AAEY,IAAA,kBAAA,CAAA,SAAS,GAAG;AACvB,QAAA;AACE,YAAA,IAAI,EAAE,iBAAiB;YACvB,aAAa,EAAE,yBAAyB,CAAC,KAAK;AAC9C,YAAA,YAAY,EAAE,IAAI;YAClB,SAAS,EAAE,uBAAuB,CAAC,eAAe;AAClD,YAAA,QAAQ,EAAE;AACR,gBAAA;AACE,oBAAA,IAAI,EAAE,oBAAoB;AAC1B,oBAAA,QAAQ,EAAE,EAAE;oBACZ,UAAU,EAAE,iBAAiB,CAAC,cAAc;AAC5C,oBAAA,MAAM,EAAE,IAAI;AACb,iBAAA;AACD,gBAAA;AACE,oBAAA,IAAI,EAAE,aAAa;AACnB,oBAAA,QAAQ,EAAE,EAAE;oBACZ,UAAU,EAAE,iBAAiB,CAAC,cAAc;AAC5C,oBAAA,MAAM,EAAE,IAAI;AACb,iBAAA;AACF,aAAA;AACF,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;KA4BF,CAAC;AAEW,IAAA,kBAAA,CAAA,kBAAkB,GAAG;AAChC,QAAA,UAAU,CAAC,aAAa;AACxB,QAAA,UAAU,CAAC,MAAM;AACjB,QAAA,UAAU,CAAC,KAAK;AAChB,QAAA,UAAU,CAAC,OAAO;AAClB,QAAA,UAAU,CAAC,YAAY;AACvB,QAAA,UAAU,CAAC,sBAAsB;KAClC,CAAC;AAEW,IAAA,kBAAA,CAAA,iBAAiB,GAAG;AAC/B,QAAA,CAAC,WAAW,CAAC,QAAQ,GAAG;YACtB,WAAW,EAAE,WAAW,CAAC,QAAQ;YACjC,OAAO,EAAE,WAAW,CAAC,mBAAmB;AACzC,SAAA;AACD,QAAA,CAAC,WAAW,CAAC,MAAM,GAAG;YACpB,WAAW,EAAE,WAAW,CAAC,MAAM;YAC/B,OAAO,EAAE,WAAW,CAAC,iBAAiB;AACvC,SAAA;AACD,QAAA,CAAC,WAAW,CAAC,aAAa,GAAG;YAC3B,WAAW,EAAE,WAAW,CAAC,aAAa;YACtC,OAAO,EAAE,WAAW,CAAC,KAAK;AAC3B,SAAA;AACD,QAAA,CAAC,WAAW,CAAC,QAAQ,GAAG;YACtB,WAAW,EAAE,WAAW,CAAC,QAAQ;YACjC,OAAO,EAAE,WAAW,CAAC,QAAQ;AAC9B,SAAA;AACD,QAAA,CAAC,WAAW,CAAC,KAAK,GAAG;YACnB,WAAW,EAAE,WAAW,CAAC,KAAK;YAC9B,OAAO,EAAE,WAAW,CAAC,KAAK;AAC3B,SAAA;KACF,CAAC;;AAGW,IAAA,kBAAA,CAAA,oBAAoB,GAAa;AAC5C,QAAA,UAAU,CAAC,OAAO;AAElB,QAAA,UAAU,CAAC,eAAe;AAC1B,QAAA,UAAU,CAAC,qBAAqB;AAChC,QAAA,UAAU,CAAC,kBAAkB;AAE7B,QAAA,UAAU,CAAC,OAAO;AAElB,QAAA,UAAU,CAAC,oBAAoB;AAC/B,QAAA,UAAU,CAAC,wBAAwB;AACnC,QAAA,UAAU,CAAC,wBAAwB;AACnC,QAAA,UAAU,CAAC,wBAAwB;AACnC,QAAA,UAAU,CAAC,wBAAwB;AAEnC,QAAA,UAAU,CAAC,YAAY;AACvB,QAAA,UAAU,CAAC,aAAa;AACxB,QAAA,UAAU,CAAC,MAAM;AACjB,QAAA,UAAU,CAAC,KAAK;AAChB,QAAA,UAAU,CAAC,sBAAsB;AACjC,QAAA,kBAAkB,CAAC,oBAAoB;AACvC,QAAA,kBAAkB,CAAC,0BAA0B;KAC9C,CAAC;;AAGW,IAAA,kBAAA,CAAA,0BAA0B,GAAa;QAClD,kBAAkB,CAAC,cAAc,CAAC,OAAO;QACzC,kBAAkB,CAAC,cAAc,CAAC,MAAM;QACxC,kBAAkB,CAAC,cAAc,CAAC,aAAa;QAC/C,kBAAkB,CAAC,cAAc,CAAC,wBAAwB;QAC1D,kBAAkB,CAAC,cAAc,CAAC,wBAAwB;QAC1D,kBAAkB,CAAC,cAAc,CAAC,wBAAwB;QAC1D,kBAAkB,CAAC,cAAc,CAAC,wBAAwB;QAC1D,kBAAkB,CAAC,cAAc,CAAC,kBAAkB;QACpD,kBAAkB,CAAC,cAAc,CAAC,qBAAqB;QACvD,kBAAkB,CAAC,cAAc,CAAC,OAAO;QACzC,kBAAkB,CAAC,cAAc,CAAC,YAAY;QAC9C,kBAAkB,CAAC,cAAc,CAAC,sBAAsB;QACxD,kBAAkB,CAAC,cAAc,CAAC,KAAK;KACxC,CAAC;;;AAGW,IAAA,kBAAA,CAAA,yCAAyC,GAAa;QACjE,kBAAkB,CAAC,cAAc,CAAC,mBAAmB;QACrD,kBAAkB,CAAC,cAAc,CAAC,sBAAsB;QACxD,kBAAkB,CAAC,cAAc,CAAC,sBAAsB;QACxD,kBAAkB,CAAC,cAAc,CAAC,0BAA0B;QAC5D,kBAAkB,CAAC,cAAc,CAAC,kBAAkB;QACpD,kBAAkB,CAAC,cAAc,CAAC,mBAAmB;QACrD,kBAAkB,CAAC,cAAc,CAAC,wBAAwB;KAC3D,CAAC;;AAEW,IAAA,kBAAA,CAAA,yBAAyB,GAAa;QACjD,kBAAkB,CAAC,cAAc,CAAC,IAAI;QACtC,kBAAkB,CAAC,cAAc,CAAC,iBAAiB;QACnD,kBAAkB,CAAC,cAAc,CAAC,sBAAsB;QACxD,kBAAkB,CAAC,cAAc,CAAC,WAAW;QAC7C,kBAAkB,CAAC,cAAc,CAAC,YAAY;QAC9C,kBAAkB,CAAC,cAAc,CAAC,YAAY;QAC9C,kBAAkB,CAAC,cAAc,CAAC,cAAc;QAChD,kBAAkB,CAAC,cAAc,CAAC,0BAA0B;QAC5D,kBAAkB,CAAC,cAAc,CAAC,0BAA0B;QAC5D,kBAAkB,CAAC,cAAc,CAAC,SAAS;QAC3C,kBAAkB,CAAC,cAAc,CAAC,SAAS;QAC3C,kBAAkB,CAAC,cAAc,CAAC,eAAe;QACjD,kBAAkB,CAAC,cAAc,CAAC,0BAA0B;QAC5D,kBAAkB,CAAC,cAAc,CAAC,gBAAgB;QAClD,kBAAkB,CAAC,cAAc,CAAC,aAAa;QAC/C,kBAAkB,CAAC,cAAc,CAAC,6BAA6B;QAC/D,kBAAkB,CAAC,cAAc,CAAC,kCAAkC;QACpE,kBAAkB,CAAC,cAAc,CAAC,gBAAgB;QAClD,kBAAkB,CAAC,cAAc,CAAC,sBAAsB;QACxD,kBAAkB,CAAC,cAAc,CAAC,0BAA0B;QAC5D,kBAAkB,CAAC,cAAc,CAAC,2BAA2B;QAC7D,kBAAkB,CAAC,cAAc,CAAC,kCAAkC;QACpE,kBAAkB,CAAC,cAAc,CAAC,sBAAsB;QACxD,kBAAkB,CAAC,cAAc,CAAC,gCAAgC;QAClE,kBAAkB,CAAC,cAAc,CAAC,oBAAoB;QACtD,kBAAkB,CAAC,cAAc,CAAC,sBAAsB;QACxD,kBAAkB,CAAC,cAAc,CAAC,8BAA8B;KACjE,CAAC;;;;;;AAMW,IAAA,kBAAA,CAAA,yBAAyB,GAAa;QACjD,kBAAkB,CAAC,cAAc,CAAC,qBAAqB;QACvD,kBAAkB,CAAC,cAAc,CAAC,qBAAqB;QACvD,kBAAkB,CAAC,cAAc,CAAC,+BAA+B;QACjE,kBAAkB,CAAC,cAAc,CAAC,kBAAkB;QACpD,kBAAkB,CAAC,cAAc,CAAC,iCAAiC;QACnE,kBAAkB,CAAC,cAAc,CAAC,mBAAmB;QACrD,kBAAkB,CAAC,cAAc,CAAC,QAAQ;QAC1C,kBAAkB,CAAC,cAAc,CAAC,gBAAgB;QAClD,kBAAkB,CAAC,cAAc,CAAC,YAAY;QAC9C,kBAAkB,CAAC,cAAc,CAAC,2BAA2B;QAC7D,kBAAkB,CAAC,cAAc,CAAC,+BAA+B;QACjE,kBAAkB,CAAC,cAAc,CAAC,UAAU;QAC5C,kBAAkB,CAAC,cAAc,CAAC,OAAO;QACzC,kBAAkB,CAAC,cAAc,CAAC,kBAAkB;QACpD,kBAAkB,CAAC,cAAc,CAAC,0BAA0B;QAC5D,kBAAkB,CAAC,cAAc,CAAC,iBAAiB;QACnD,kBAAkB,CAAC,cAAc,CAAC,uBAAuB;KAC1D,CAAC;;;;;AAKW,IAAA,kBAAA,CAAA,kBAAkB,GAAa;QAC1C,kBAAkB,CAAC,cAAc,CAAC,YAAY;QAC9C,kBAAkB,CAAC,cAAc,CAAC,WAAW;QAC7C,kBAAkB,CAAC,cAAc,CAAC,UAAU;QAC5C,kBAAkB,CAAC,cAAc,CAAC,SAAS;QAC3C,kBAAkB,CAAC,cAAc,CAAC,QAAQ;QAC1C,kBAAkB,CAAC,cAAc,CAAC,aAAa;QAC/C,kBAAkB,CAAC,cAAc,CAAC,QAAQ;QAC1C,kBAAkB,CAAC,cAAc,CAAC,kBAAkB;QACpD,kBAAkB,CAAC,cAAc,CAAC,UAAU;QAC5C,kBAAkB,CAAC,cAAc,CAAC,mBAAmB;QACrD,kBAAkB,CAAC,cAAc,CAAC,gBAAgB;QAClD,kBAAkB,CAAC,cAAc,CAAC,iCAAiC;QACnE,kBAAkB,CAAC,cAAc,CAAC,WAAW;QAC7C,kBAAkB,CAAC,cAAc,CAAC,eAAe;QACjD,kBAAkB,CAAC,cAAc,CAAC,mBAAmB;QACrD,kBAAkB,CAAC,cAAc,CAAC,gBAAgB;QAClD,kBAAkB,CAAC,cAAc,CAAC,gBAAgB;KACnD,CAAC;;;;AAIW,IAAA,kBAAA,CAAA,mBAAmB,GAAa;QAC3C,kBAAkB,CAAC,cAAc,CAAC,cAAc;QAChD,kBAAkB,CAAC,cAAc,CAAC,MAAM;QACxC,kBAAkB,CAAC,cAAc,CAAC,WAAW;QAC7C,kBAAkB,CAAC,cAAc,CAAC,mBAAmB;QACrD,kBAAkB,CAAC,cAAc,CAAC,2BAA2B;QAC7D,kBAAkB,CAAC,cAAc,CAAC,wBAAwB;QAC1D,kBAAkB,CAAC,cAAc,CAAC,UAAU;QAC5C,kBAAkB,CAAC,cAAc,CAAC,eAAe;QACjD,kBAAkB,CAAC,cAAc,CAAC,cAAc;QAChD,kBAAkB,CAAC,cAAc,CAAC,eAAe;QACjD,kBAAkB,CAAC,cAAc,CAAC,eAAe;QACjD,kBAAkB,CAAC,cAAc,CAAC,QAAQ;KAC3C,CAAC;;;AAGW,IAAA,kBAAA,CAAA,qBAAqB,GAAa;QAC7C,kBAAkB,CAAC,cAAc,CAAC,eAAe;QACjD,kBAAkB,CAAC,cAAc,CAAC,eAAe;QACjD,kBAAkB,CAAC,cAAc,CAAC,aAAa;QAC/C,kBAAkB,CAAC,cAAc,CAAC,iBAAiB;QACnD,kBAAkB,CAAC,cAAc,CAAC,aAAa;KAChD,CAAC;AAEW,IAAA,kBAAA,CAAA,kBAAkB,GAAQ;QACrC,CAAC,kBAAkB,CAAC,cAAc,CAAC,cAAc,GAAG,kBAAkB,CAAC,cAAc,CAAC,QAAQ;KACjG,CAAC;AACF,CAAC,EAh3DgB,kBAAkB,KAAlB,kBAAkB,GAg3DlC,EAAA,CAAA,CAAA;;AC33DD;AACA;AAEO,MAAM,cAAc,GACvB,0LAA0L;;ACJ9L,IAAY,gBAsJX,CAAA;AAtJD,CAAA,UAAY,gBAAgB,EAAA;AACxB,IAAA,gBAAA,CAAA,GAAA,CAAA,GAAA,GAAO,CAAA;AACP,IAAA,gBAAA,CAAA,IAAA,CAAA,GAAA,IAAS,CAAA;AACT,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,MAAA,CAAA,GAAA,MAAW,CAAA;AACX,IAAA,gBAAA,CAAA,IAAA,CAAA,GAAA,IAAS,CAAA;AACT,IAAA,gBAAA,CAAA,YAAA,CAAA,GAAA,SAAiB,CAAA;AACjB,IAAA,gBAAA,CAAA,IAAA,CAAA,GAAA,IAAS,CAAA;AACT,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,IAAA,CAAA,GAAA,IAAS,CAAA;AACT,IAAA,gBAAA,CAAA,IAAA,CAAA,GAAA,IAAS,CAAA;AACT,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrB,IAAA,gBAAA,CAAA,QAAA,CAAA,GAAA,OAAgB,CAAA;AAChB,IAAA,gBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnB,IAAA,gBAAA,CAAA,iBAAA,CAAA,GAAA,cAA2B,CAAA;AAC3B,IAAA,gBAAA,CAAA,GAAA,CAAA,GAAA,GAAO,CAAA;AACP,IAAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,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,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AiB;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,iBA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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\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\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('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('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\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, 10, 5, 10),\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 {\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 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 },\n new go.Binding('text', '', (data, panel) => {\n return data?.name;\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 ),\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 !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, 83),\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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',\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}\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 // 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};\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[ENUM_ASSET_PARAMETERS.EVAPORATION_LOSS_FLOW_RATE],\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[ENUM_ASSET_PARAMETERS.MAKEUP_WATER_CONDUCTIVITY],\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 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};\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.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[ENUM_ASSET_PARAMETERS.INTERNAL_TREATMENT_PHOSPHATE],\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\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 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 { key: 100, type: AtoGojsEditorModel.ENUM_TEMPLATES.STORAGE, isGroup: true, name: 'Group' },\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 { key: 100, type: AtoGojsEditorModel.ENUM_TEMPLATES.WATER_TREATMENT, isGroup: true, name: 'Group' },\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: 93, color: AtoGojsEditorModel.ENUM_COLORS.BLUE, fromPort: 'T', toPort: 'T' },\n { from: 93, to: 99, color: AtoGojsEditorModel.ENUM_COLORS.BLUE, fromPort: 'B', toPort: 'R' },\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 { key: 100, type: AtoGojsEditorModel.ENUM_TEMPLATES.WATER_TREATMENT, isGroup: true, name: 'Group' },\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: 93, color: AtoGojsEditorModel.ENUM_COLORS.BLUE, fromPort: 'T', toPort: 'L' },\n { from: 93, to: 99, color: AtoGojsEditorModel.ENUM_COLORS.BLUE, fromPort: 'B', toPort: 'R' },\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[AtoGojsEditorModel.ENUM_COLORS.CERULEAN],\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[AtoGojsEditorModel.ENUM_COLORS.DANUBE],\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[AtoGojsEditorModel.ENUM_COLORS.FOUNTAIN_BLUE],\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[AtoGojsEditorModel.ENUM_COLORS.GALLIANO],\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 { key: 100, type: AtoGojsEditorModel.ENUM_TEMPLATES.PROCESS, isGroup: true, name: 'Group' },\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 { from: 99, to: 93, color: AtoGojsEditorModel.ENUM_COLORS.BLUE, fromPort: 'T', toPort: 'L' },\n { from: 93, to: 99, color: AtoGojsEditorModel.ENUM_COLORS.BLUE, fromPort: 'B', toPort: 'R' },\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 { key: 100, type: AtoGojsEditorModel.ENUM_TEMPLATES.WASTEWATER_TREATMENT, isGroup: true, name: 'Group' },\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: 93, color: AtoGojsEditorModel.ENUM_COLORS.BLUE, fromPort: 'T', toPort: 'L' },\n { from: 93, to: 99, color: AtoGojsEditorModel.ENUM_COLORS.BLUE, fromPort: 'B', toPort: 'R' },\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 { key: 100, type: AtoGojsEditorModel.ENUM_TEMPLATES.WASTEWATER_TREATMENT, isGroup: true, name: 'Group' },\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: 93, color: AtoGojsEditorModel.ENUM_COLORS.BLUE, fromPort: 'T', toPort: 'L' },\n { from: 93, to: 99, color: AtoGojsEditorModel.ENUM_COLORS.BLUE, fromPort: 'B', toPort: 'R' },\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 { key: 100, type: AtoGojsEditorModel.ENUM_TEMPLATES.WASTEWATER_TREATMENT, isGroup: true, name: 'Group' },\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: 93, color: AtoGojsEditorModel.ENUM_COLORS.BLUE, fromPort: 'T', toPort: 'L' },\n { from: 93, to: 99, color: AtoGojsEditorModel.ENUM_COLORS.BLUE, fromPort: 'B', toPort: 'R' },\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 { key: 100, type: AtoGojsEditorModel.ENUM_TEMPLATES.WASTEWATER_TREATMENT, isGroup: true, name: 'Group' },\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: 93, color: AtoGojsEditorModel.ENUM_COLORS.BLUE, fromPort: 'T', toPort: 'L' },\n { from: 93, to: 99, color: AtoGojsEditorModel.ENUM_COLORS.BLUE, fromPort: 'B', toPort: 'R' },\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 { key: 100, type: AtoGojsEditorModel.ENUM_TEMPLATES.WASTEWATER_TREATMENT, isGroup: true, name: 'Group' },\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: 93, color: AtoGojsEditorModel.ENUM_COLORS.BLUE, fromPort: 'T', toPort: 'L' },\n { from: 93, to: 99, color: AtoGojsEditorModel.ENUM_COLORS.BLUE, fromPort: 'B', toPort: 'R' },\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 { key: 100, type: AtoGojsEditorModel.ENUM_TEMPLATES.DOMESTIC_USE, isGroup: true, name: 'Group' },\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[WATER_SYSTEMS_NAME.EVAPORATION_LOSS].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[WATER_SYSTEMS_NAME.MAKEUP_WATER__FLOW].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: '30 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[WATER_SYSTEMS_NAME.MAKEUP_WATER__CHEMISTRY].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((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: 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((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: 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[WATER_SYSTEMS_NAME.COOLING_TOWER_ANALYSIS].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[WATER_SYSTEMS_NAME.COOLING_WATER_CHEMISTRY].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: '30 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((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: 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 { key: 100, type: AtoGojsEditorModel.ENUM_TEMPLATES.COOLING_TOWER, isGroup: true, name: 'Group' },\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: '13 280',\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[WATER_SYSTEMS_NAME.MAKEUP_WATER__CHEMISTRY].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 type: AtoGojsEditorModel.ENUM_TEMPLATES.PARAM_TABLE,\n group: 100,\n loc: '190 20',\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[WATER_SYSTEMS_NAME.CONDENSATE_RETURN__CHEMISTRY].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[WATER_SYSTEMS_NAME.STEAM__CHEMISTRY].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: '400 510',\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[WATER_SYSTEMS_NAME.BOILER_FEED_WATER__CHEMISTRY].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 270',\n padding: new go.Margin(0, 0, 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[WATER_SYSTEMS_NAME.BOILER_WATER].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(140, 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 280',\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: '460 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 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[WATER_SYSTEMS_NAME.MAKEUP_WATER__FLOW].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: '190 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[WATER_SYSTEMS_NAME.CONDENSATE_RETURN__FLOW].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 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[WATER_SYSTEMS_NAME.STEAM__FLOW].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: '400 510',\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[WATER_SYSTEMS_NAME.BOILER_FEED_WATER__FLOW].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 200',\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[WATER_SYSTEMS_NAME.STEAM_LOSS].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[WATER_SYSTEMS_NAME.BLOWDOWN].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: '460 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: '325 190',\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 { key: 100, type: AtoGojsEditorModel.ENUM_TEMPLATES.BOILER, isGroup: true, name: 'Group' },\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 { key: 100, type: AtoGojsEditorModel.ENUM_TEMPLATES.OTHER, isGroup: true, name: 'Group' },\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 { key: 100, type: AtoGojsEditorModel.ENUM_TEMPLATES.LANDSCAPING_IRRIGATION, isGroup: true, name: 'Group' },\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 this.clickParamTableRow.emit(itemTable);\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\">\n <div\n class=\"mr-auto font-size-13px text-truncate flex-grow-1\"\n [style.color]=\"itemTable?.color\"\n >\n {{ itemTable?.value }}\n </div>\n <svg *ngIf=\"isEditView\" 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 $ = 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 node = _.merge(\n node,\n node[`extendedData${isResponsiveView ? 'Responsive' : ''}`]\n );\n if (node?.assetLayers) {\n node.visible =\n node?.assetLayers === defaultData?.assetLayer &&\n node[`extendedData${isResponsiveView ? 'Responsive' : ''}`]?.visible;\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 node = _.merge(\n node,\n node[`extendedData${this.isResponsiveView ? 'Responsive' : ''}`],\n );\n if (node?.assetLayers) {\n node.visible =\n node?.assetLayers === data.assetLayer &&\n node[`extendedData${this.isResponsiveView ? 'Responsive' : ''}`]\n ?.visible;\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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A;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;AAC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AAA,gBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,gBAAA,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,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AiB;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,iBA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"}
|