d2aura 26.0.8 → 26.0.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (141) hide show
  1. package/api/eda/edaManagerApi.d.ts +26 -0
  2. package/api/eda/edaManagerApi.js +51 -0
  3. package/api/eda/edaManagerApi.js.map +1 -0
  4. package/api/eda/generated/events.d.ts +132 -0
  5. package/api/eda/generated/events.js +295 -0
  6. package/api/eda/generated/events.js.map +1 -0
  7. package/api/eda/generated/structures.d.ts +109 -0
  8. package/api/eda/generated/structures.js +2 -0
  9. package/api/eda/generated/structures.js.map +1 -0
  10. package/api/webPush/webPushApi.js.map +1 -1
  11. package/api/webPush/webPushUtils.js.map +1 -1
  12. package/core/i18n/d2aura.en.json +40 -1
  13. package/core/i18n/d2aura.sk.json +87 -1
  14. package/coreui/components/advancedFilter/advancedFilteredGrid.d.ts +1 -0
  15. package/coreui/components/advancedFilter/advancedFilteredGrid.js +5 -0
  16. package/coreui/components/advancedFilter/advancedFilteredGrid.js.map +1 -1
  17. package/coreui/components/edaManager/abstract/edaManagerAbstractPanel.d.ts +3 -2
  18. package/coreui/components/edaManager/abstract/edaManagerAbstractPanel.js +3 -3
  19. package/coreui/components/edaManager/abstract/edaManagerAbstractPanel.js.map +1 -1
  20. package/coreui/components/edaManager/abstract/edaManagerAbstractTablePanel.d.ts +2 -1
  21. package/coreui/components/edaManager/abstract/edaManagerAbstractTablePanel.js.map +1 -1
  22. package/coreui/components/edaManager/compactPanel/edaManagerCompactPanel.d.ts +7 -1
  23. package/coreui/components/edaManager/compactPanel/edaManagerCompactPanel.js.map +1 -1
  24. package/coreui/components/edaManager/components/edaManagerTablePanel.js +3 -2
  25. package/coreui/components/edaManager/components/edaManagerTablePanel.js.map +1 -1
  26. package/coreui/components/edaManagerComponent/components/edaBasePanel.d.ts +16 -0
  27. package/coreui/components/edaManagerComponent/components/edaBasePanel.js +85 -0
  28. package/coreui/components/edaManagerComponent/components/edaBasePanel.js.map +1 -0
  29. package/coreui/components/edaManagerComponent/components/edaDataBasePanel.d.ts +43 -0
  30. package/coreui/components/edaManagerComponent/components/edaDataBasePanel.js +217 -0
  31. package/coreui/components/edaManagerComponent/components/edaDataBasePanel.js.map +1 -0
  32. package/coreui/components/edaManagerComponent/components/edaDetailPanel.d.ts +16 -0
  33. package/coreui/components/edaManagerComponent/components/edaDetailPanel.js +25 -0
  34. package/coreui/components/edaManagerComponent/components/edaDetailPanel.js.map +1 -0
  35. package/coreui/components/edaManagerComponent/components/edaGraphPanel.d.ts +7 -0
  36. package/coreui/components/edaManagerComponent/components/edaGraphPanel.js +393 -0
  37. package/coreui/components/edaManagerComponent/components/edaGraphPanel.js.map +1 -0
  38. package/coreui/components/edaManagerComponent/components/edaGroupDetailPanel.d.ts +18 -0
  39. package/coreui/components/edaManagerComponent/components/edaGroupDetailPanel.js +72 -0
  40. package/coreui/components/edaManagerComponent/components/edaGroupDetailPanel.js.map +1 -0
  41. package/coreui/components/edaManagerComponent/components/edaSampleRangePickerPanel.d.ts +29 -0
  42. package/coreui/components/edaManagerComponent/components/edaSampleRangePickerPanel.js +94 -0
  43. package/coreui/components/edaManagerComponent/components/edaSampleRangePickerPanel.js.map +1 -0
  44. package/coreui/components/edaManagerComponent/components/edaScenarioDetailPanel.d.ts +18 -0
  45. package/coreui/components/edaManagerComponent/components/edaScenarioDetailPanel.js +86 -0
  46. package/coreui/components/edaManagerComponent/components/edaScenarioDetailPanel.js.map +1 -0
  47. package/coreui/components/edaManagerComponent/components/edaTablePanel.d.ts +4 -0
  48. package/coreui/components/edaManagerComponent/components/edaTablePanel.js +73 -0
  49. package/coreui/components/edaManagerComponent/components/edaTablePanel.js.map +1 -0
  50. package/coreui/components/edaManagerComponent/components/edaTimeWindowPickerPanel.d.ts +34 -0
  51. package/coreui/components/edaManagerComponent/components/edaTimeWindowPickerPanel.js +202 -0
  52. package/coreui/components/edaManagerComponent/components/edaTimeWindowPickerPanel.js.map +1 -0
  53. package/coreui/components/edaManagerComponent/components/edaTreeView.d.ts +61 -0
  54. package/coreui/components/edaManagerComponent/components/edaTreeView.js +399 -0
  55. package/coreui/components/edaManagerComponent/components/edaTreeView.js.map +1 -0
  56. package/coreui/components/edaManagerComponent/components/edaVectorDetailPanel.d.ts +20 -0
  57. package/coreui/components/edaManagerComponent/components/edaVectorDetailPanel.js +162 -0
  58. package/coreui/components/edaManagerComponent/components/edaVectorDetailPanel.js.map +1 -0
  59. package/coreui/components/edaManagerComponent/constants/edaTypes.d.ts +78 -0
  60. package/coreui/components/edaManagerComponent/constants/edaTypes.js +71 -0
  61. package/coreui/components/edaManagerComponent/constants/edaTypes.js.map +1 -0
  62. package/coreui/components/edaManagerComponent/constants/storageTypes.d.ts +5 -0
  63. package/coreui/components/edaManagerComponent/constants/storageTypes.js +7 -0
  64. package/coreui/components/edaManagerComponent/constants/storageTypes.js.map +1 -0
  65. package/coreui/components/edaManagerComponent/context/sharedSampleRange.d.ts +17 -0
  66. package/coreui/components/edaManagerComponent/context/sharedSampleRange.js +3 -0
  67. package/coreui/components/edaManagerComponent/context/sharedSampleRange.js.map +1 -0
  68. package/coreui/components/edaManagerComponent/context/sharedSampleRangeWrapper.d.ts +6 -0
  69. package/coreui/components/edaManagerComponent/context/sharedSampleRangeWrapper.js +14 -0
  70. package/coreui/components/edaManagerComponent/context/sharedSampleRangeWrapper.js.map +1 -0
  71. package/coreui/components/edaManagerComponent/edaDetail.d.ts +45 -0
  72. package/coreui/components/edaManagerComponent/edaDetail.js +173 -0
  73. package/coreui/components/edaManagerComponent/edaDetail.js.map +1 -0
  74. package/coreui/components/edaManagerComponent/edaManager.d.ts +20 -0
  75. package/coreui/components/edaManagerComponent/edaManager.js +33 -0
  76. package/coreui/components/edaManagerComponent/edaManager.js.map +1 -0
  77. package/coreui/components/edaManagerComponent/edaNavigator.d.ts +19 -0
  78. package/coreui/components/edaManagerComponent/edaNavigator.js +64 -0
  79. package/coreui/components/edaManagerComponent/edaNavigator.js.map +1 -0
  80. package/coreui/components/edaManagerComponent/edaSelect.d.ts +10 -0
  81. package/coreui/components/edaManagerComponent/edaSelect.js +9 -0
  82. package/coreui/components/edaManagerComponent/edaSelect.js.map +1 -0
  83. package/coreui/components/edaManagerComponent/icons/letterCFilled.d.ts +6 -0
  84. package/coreui/components/edaManagerComponent/icons/letterCFilled.js +6 -0
  85. package/coreui/components/edaManagerComponent/icons/letterCFilled.js.map +1 -0
  86. package/coreui/components/edaManagerComponent/icons/letterDFilled.d.ts +6 -0
  87. package/coreui/components/edaManagerComponent/icons/letterDFilled.js +6 -0
  88. package/coreui/components/edaManagerComponent/icons/letterDFilled.js.map +1 -0
  89. package/coreui/components/edaManagerComponent/icons/letterHFilled.d.ts +6 -0
  90. package/coreui/components/edaManagerComponent/icons/letterHFilled.js +6 -0
  91. package/coreui/components/edaManagerComponent/icons/letterHFilled.js.map +1 -0
  92. package/coreui/components/edaManagerComponent/icons/letterIFilled.d.ts +6 -0
  93. package/coreui/components/edaManagerComponent/icons/letterIFilled.js +6 -0
  94. package/coreui/components/edaManagerComponent/icons/letterIFilled.js.map +1 -0
  95. package/coreui/components/edaManagerComponent/icons/letterMFilled.d.ts +6 -0
  96. package/coreui/components/edaManagerComponent/icons/letterMFilled.js +6 -0
  97. package/coreui/components/edaManagerComponent/icons/letterMFilled.js.map +1 -0
  98. package/coreui/components/edaManagerComponent/icons/numberFifteenFilled.d.ts +6 -0
  99. package/coreui/components/edaManagerComponent/icons/numberFifteenFilled.js +7 -0
  100. package/coreui/components/edaManagerComponent/icons/numberFifteenFilled.js.map +1 -0
  101. package/coreui/components/edaManagerComponent/icons/pairOutlined.d.ts +6 -0
  102. package/coreui/components/edaManagerComponent/icons/pairOutlined.js +6 -0
  103. package/coreui/components/edaManagerComponent/icons/pairOutlined.js.map +1 -0
  104. package/coreui/components/edaManagerComponent/icons/periodicOutlined.d.ts +6 -0
  105. package/coreui/components/edaManagerComponent/icons/periodicOutlined.js +6 -0
  106. package/coreui/components/edaManagerComponent/icons/periodicOutlined.js.map +1 -0
  107. package/coreui/components/edaManagerComponent/utils/utils.d.ts +2 -0
  108. package/coreui/components/edaManagerComponent/utils/utils.js +8 -0
  109. package/coreui/components/edaManagerComponent/utils/utils.js.map +1 -0
  110. package/coreui/components/select/abstractSelectModalDialog.d.ts +6 -1
  111. package/coreui/components/select/abstractSelectModalDialog.js +21 -10
  112. package/coreui/components/select/abstractSelectModalDialog.js.map +1 -1
  113. package/coreui/components/webPush/webPushSwitch.js.map +1 -1
  114. package/coreui/images/logo.svg +9 -9
  115. package/coreui/images/logo_full.svg +11 -11
  116. package/d2configuration/edaManager/DB.EM_EDA_Function.xml +65 -0
  117. package/d2configuration/edaManager/DB.EM_EDA_GroupVector.xml +65 -0
  118. package/d2configuration/edaManager/DB.EM_EDA_Scenario.xml +65 -0
  119. package/d2configuration/edaManager/DB.EM_EDA_Vector.xml +65 -0
  120. package/d2configuration/edaManager/DB.EM_EDA_VectorEx.xml +65 -0
  121. package/d2configuration/edaManager/DBC_EM_EDA.xml +51 -0
  122. package/d2configuration/edaManager/E.EM_DETAIL_IMPL.xml +124 -0
  123. package/d2configuration/edaManager/E.EM_DETAIL_UNIT.xml +202 -0
  124. package/d2configuration/edaManager/E.EM_NAVIGATOR_IMPL.xml +160 -0
  125. package/d2configuration/edaManager/E.EM_NAVIGATOR_SQL.xml +272 -0
  126. package/d2configuration/edaManager/E.EM_NAVIGATOR_UNIT.xml +346 -0
  127. package/d2configuration/edaManager/E.EM_VECTOR_IMPL.xml +92 -0
  128. package/d2configuration/edaManager/E.EM_VECTOR_MANAGER.xml +116 -0
  129. package/d2configuration/edaManager/E.EM_VECTOR_UNIT.xml +124 -0
  130. package/d2configuration/edaManager/EDA_CancelSession.xml +54 -0
  131. package/d2configuration/edaManager/EDA_GetSessionId.xml +54 -0
  132. package/d2configuration/edaManager/EDA_ReadValuesFromVektorRec.xml +54 -0
  133. package/d2configuration/edaManager/SD.EM_EDA_Function.xml +135 -0
  134. package/d2configuration/edaManager/SD.EM_EDA_GroupVector.xml +190 -0
  135. package/d2configuration/edaManager/SD.EM_EDA_ReadValuesFromVector_V1.xml +168 -0
  136. package/d2configuration/edaManager/SD.EM_EDA_Scenario.xml +322 -0
  137. package/d2configuration/edaManager/SD.EM_EDA_Vector.xml +465 -0
  138. package/d2configuration/edaManager/SD.EM_EDA_VectorEx.xml +80 -0
  139. package/d2configuration/edaManager/SD.EM_EDA_VectorValues.xml +58 -0
  140. package/d2configuration/edaManager/SD.EM_Tree_Item.xml +113 -0
  141. package/package.json +7 -5
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../../coreui/components/edaManagerComponent/utils/utils.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,cAAc,CAAC,GAAW,EAAE,KAAU;IAClD,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,cAAc,CAAI,GAAW,EAAE,YAAe;IAC1D,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAEzC,OAAO,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;AAC/D,CAAC","sourcesContent":["export function savePreference(key: string, value: any) {\r\n localStorage.setItem(key, JSON.stringify(value));\r\n}\r\n\r\nexport function loadPreference<T>(key: string, defaultValue: T): T {\r\n const stored = localStorage.getItem(key);\r\n\r\n return stored !== null ? JSON.parse(stored) : defaultValue;\r\n}"]}
@@ -1,9 +1,10 @@
1
1
  import React from "react";
2
2
  import Entity from "../../../api/types/entity";
3
3
  import { DataGridColDef } from "d2coreui/components/grid/dataGrid";
4
- import { SelectionChangedEvent } from "ag-grid-community";
4
+ import { RowDoubleClickedEvent, SelectionChangedEvent } from "ag-grid-community";
5
5
  import AbstractEntityApi from "../../../api/abstractEntityApi";
6
6
  import AdvancedFilteredGrid, { AdvancedFilteredGridProps, AdvancedFilteredGridState } from "../advancedFilter/advancedFilteredGrid";
7
+ import type { ButtonProps } from "antd/es/button/button";
7
8
  export interface AbstractSelectModalDialogProps<T extends Entity> extends AdvancedFilteredGridProps<T> {
8
9
  api: AbstractEntityApi<T>;
9
10
  multiSelect?: boolean;
@@ -20,6 +21,7 @@ export default abstract class AbstractSelectModalDialog<T extends Entity, P exte
20
21
  private static MAX_ROWS_TO_SHOW;
21
22
  protected initialState: AbstractSelectModalDialogState<T>;
22
23
  protected constructor(props: Readonly<P>);
24
+ protected adaptLoadedData(data: T[]): void;
23
25
  abstract getIdColumnName(): string;
24
26
  abstract getTitle(): string;
25
27
  protected getCodeColumnDefinition(): DataGridColDef;
@@ -30,5 +32,8 @@ export default abstract class AbstractSelectModalDialog<T extends Entity, P exte
30
32
  protected renderToolbarButtons(): React.ReactElement | undefined;
31
33
  onSelectionChanged(event: SelectionChangedEvent): void;
32
34
  protected getInitialWidth(): number;
35
+ protected onOk(): void;
36
+ protected get okButtonProps(): ButtonProps | undefined;
37
+ protected onRowDoubleClicked(event: RowDoubleClickedEvent): void;
33
38
  render(): React.JSX.Element;
34
39
  }
@@ -28,6 +28,7 @@ class AbstractSelectModalDialog extends AdvancedFilteredGrid {
28
28
  if (totalNumberOfRows > AbstractSelectModalDialog.MAX_ROWS_TO_SHOW) {
29
29
  totalNumberOfRows = AbstractSelectModalDialog.MAX_ROWS_TO_SHOW;
30
30
  }
31
+ this.adaptLoadedData(pageableList.data);
31
32
  params.successCallback(pageableList.data, totalNumberOfRows);
32
33
  }
33
34
  else {
@@ -39,6 +40,11 @@ class AbstractSelectModalDialog extends AdvancedFilteredGrid {
39
40
  filterConditions: [],
40
41
  };
41
42
  this.onSelectionChanged = this.onSelectionChanged.bind(this);
43
+ this.onRowDoubleClicked = this.onRowDoubleClicked.bind(this);
44
+ this.onOk = this.onOk.bind(this);
45
+ }
46
+ adaptLoadedData(data) {
47
+ data;
42
48
  }
43
49
  getCodeColumnDefinition() {
44
50
  return this.getCodeColumn({ flex: 0.5 });
@@ -77,6 +83,18 @@ class AbstractSelectModalDialog extends AdvancedFilteredGrid {
77
83
  getInitialWidth() {
78
84
  return 800;
79
85
  }
86
+ onOk() {
87
+ if (this.state.selectedData.length > 0) {
88
+ this.props.onItemsSelected(this.state.selectedData);
89
+ }
90
+ }
91
+ get okButtonProps() {
92
+ return { disabled: this.state.selectedData.length === 0 };
93
+ }
94
+ onRowDoubleClicked(event) {
95
+ const item = event.data;
96
+ this.props.onItemsSelected([item]);
97
+ }
80
98
  render() {
81
99
  const { visible, initialWidth, initialHeight } = this.props;
82
100
  return (React.createElement(ModalDialog, { mode: "OK_CANCEL", title: React.createElement(React.Fragment, null,
@@ -84,23 +102,16 @@ class AbstractSelectModalDialog extends AdvancedFilteredGrid {
84
102
  !!this.state.totalNumberOfRows && this.state.totalNumberOfRows > AbstractSelectModalDialog.MAX_ROWS_TO_SHOW &&
85
103
  React.createElement("div", { style: { display: "inline" } },
86
104
  React.createElement(ColorTag, { style: { whiteSpace: "break-spaces", marginLeft: 8 }, color: "warning", icon: React.createElement(WarningOutlined, null) },
87
- React.createElement("span", null, i18n("Displaying first %{count} records", { count: AbstractSelectModalDialog.MAX_ROWS_TO_SHOW + "" }))))), onOk: () => {
88
- if (this.state.selectedData.length > 0) {
89
- this.props.onItemsSelected(this.state.selectedData);
90
- }
91
- }, onCancel: this.props.onCancel, initialWidth: initialWidth ?? this.getInitialWidth(), initialHeight: initialHeight ?? window.innerHeight * 0.9, maskClosable: false, open: visible, okButtonProps: { disabled: this.state.selectedData.length === 0 } },
105
+ React.createElement("span", null, i18n("Displaying first %{count} records", { count: AbstractSelectModalDialog.MAX_ROWS_TO_SHOW + "" }))))), onOk: this.onOk, onCancel: this.props.onCancel, initialWidth: initialWidth ?? this.getInitialWidth(), initialHeight: initialHeight ?? window.innerHeight * 0.9, maskClosable: false, open: visible, okButtonProps: this.okButtonProps },
92
106
  React.createElement(ExtendedDataGrid, { ref: (dataGrid) => {
93
107
  this.dataGrid = dataGrid;
94
108
  }, defaultGridConfiguration: { pageSize: -1, columnSearchVisible: true }, onGridReady: (params) => {
95
109
  this.gridApi = params.api;
96
- }, columnDefs: this.state.columnDefs, onLoadData: this.onLoadData, rowModelType: "infinite", datasource: this.state.datasource, rowSelection: this.props.multiSelect ? "multiple" : "single", onSelectionChanged: this.onSelectionChanged, onRowDoubleClicked: event => {
97
- const item = event.data;
98
- this.props.onItemsSelected([item]);
99
- }, toolbar: {
110
+ }, columnDefs: this.state.columnDefs, onLoadData: this.onLoadData, rowModelType: "infinite", datasource: this.state.datasource, rowSelection: this.props.multiSelect ? "multiple" : "single", onSelectionChanged: this.onSelectionChanged, onRowDoubleClicked: this.onRowDoubleClicked, toolbar: {
100
111
  toolbarButtons: this.renderToolbarButtons(),
101
112
  }, search: {
102
113
  hidden: true,
103
- }, onSortChanged: _event => {
114
+ }, onSortChanged: () => {
104
115
  this.dataGrid?.loadData();
105
116
  }, panelStyle: { padding: 0 }, noRecordsOverlayRenderer: () => React.createElement("div", null) })));
106
117
  }
@@ -1 +1 @@
1
- {"version":3,"file":"abstractSelectModalDialog.js","sourceRoot":"","sources":["../../../../../coreui/components/select/abstractSelectModalDialog.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from \"react\";\r\nimport Entity from \"../../../api/types/entity\";\r\nimport {DataGridColDef} from \"d2coreui/components/grid/dataGrid\";\r\nimport ExtendedDataGrid from \"d2coreui/components/grid/extendedDataGrid\";\r\nimport {GridReadyEvent, IGetRowsParams, SelectionChangedEvent} from \"ag-grid-community\";\r\nimport {ModalDialog, ModalDialogMode} from \"d2coreui/components/modal/modalDialog\";\r\nimport AbstractEntityApi, {PageableList} from \"../../../api/abstractEntityApi\";\r\nimport AdvancedFilteredGrid, {\r\n AdvancedFilteredGridProps,\r\n AdvancedFilteredGridState\r\n} from \"../advancedFilter/advancedFilteredGrid\";\r\nimport AdvancedFilterButton from \"../advancedFilter/advancedFilterButton\";\r\nimport {WarningOutlined} from \"@ant-design/icons\";\r\nimport i18n from \"d2core/i18n/i18n\";\r\nimport ColorTag from \"../colorTag/colorTag\";\r\n\r\nexport interface AbstractSelectModalDialogProps<T extends Entity> extends AdvancedFilteredGridProps<T> {\r\n api: AbstractEntityApi<T>\r\n\r\n multiSelect?: boolean\r\n visible: boolean\r\n initialWidth?: number\r\n initialHeight?: number\r\n\r\n onItemsSelected(selectedItems: T[]): void\r\n\r\n onCancel(): void\r\n}\r\n\r\nexport interface AbstractSelectModalDialogState<T extends Entity> extends AdvancedFilteredGridState<T> {\r\n totalNumberOfRows?: number\r\n}\r\n\r\nexport default abstract class AbstractSelectModalDialog<T extends Entity,\r\n P extends AbstractSelectModalDialogProps<T>,\r\n S extends AbstractSelectModalDialogState<T> = AbstractSelectModalDialogState<T>>\r\n extends AdvancedFilteredGrid<T, P, S> {\r\n\r\n private static MAX_ROWS_TO_SHOW = 1_000;\r\n\r\n protected initialState: AbstractSelectModalDialogState<T> = {\r\n loading: false,\r\n columnDefs: this.getInitialColumnDefs(),\r\n datasource: {\r\n getRows: async (params: IGetRowsParams) => {\r\n if (this.firstLoadedPage) {\r\n let pageableList: PageableList<T>;\r\n if (this.manualReload && params.startRow === 0 && params.endRow === 100) {\r\n this.manualReload = false;\r\n pageableList = this.firstLoadedPage;\r\n } else {\r\n pageableList = await this.getRecords(params.startRow, params.endRow);\r\n }\r\n this.setState({totalNumberOfRows: pageableList.totalNumberOfRows});\r\n let totalNumberOfRows = pageableList.totalNumberOfRows;\r\n if (totalNumberOfRows > AbstractSelectModalDialog.MAX_ROWS_TO_SHOW) {\r\n totalNumberOfRows = AbstractSelectModalDialog.MAX_ROWS_TO_SHOW;\r\n }\r\n params.successCallback(pageableList.data, totalNumberOfRows);\r\n } else {\r\n params.successCallback([], 0);\r\n }\r\n }\r\n },\r\n selectedData: [],\r\n\r\n filterConditions: [],\r\n }\r\n\r\n protected constructor(props: Readonly<P>) {\r\n super(props);\r\n\r\n this.onSelectionChanged = this.onSelectionChanged.bind(this);\r\n }\r\n\r\n abstract getIdColumnName(): string;\r\n\r\n abstract getTitle(): string;\r\n\r\n protected getCodeColumnDefinition(): DataGridColDef {\r\n return this.getCodeColumn({flex: 0.5});\r\n }\r\n\r\n protected getNameColumnDefinition(): DataGridColDef {\r\n return this.getNameColumn({flex: 0.5});\r\n }\r\n\r\n protected getExtraColumnDefinitions(): DataGridColDef[] {\r\n return [];\r\n }\r\n\r\n getOnlyValidRecords(): boolean {\r\n return true;\r\n }\r\n\r\n protected getInitialColumnDefs(): DataGridColDef[] {\r\n if (!this.initialColumnDefs) {\r\n this.initialColumnDefs = [\r\n this.getIdColumn(this.getIdColumnName()),\r\n this.getCodeColumnDefinition(),\r\n this.getNameColumnDefinition(),\r\n ...this.getExtraColumnDefinitions()\r\n ]\r\n }\r\n return this.initialColumnDefs;\r\n }\r\n\r\n protected renderToolbarButtons(): React.ReactElement | undefined {\r\n const advancedFilterConfig = this.getAdvancedFilterConfig();\r\n\r\n if (advancedFilterConfig) {\r\n return (\r\n <AdvancedFilterButton\r\n advancedFilterApi={this.props.advancedFilterApi}\r\n listName={advancedFilterConfig.listName}\r\n columnDefinitions={this.getAdvancedFilterColumnDefinitions()}\r\n filterConditions={this.state.filterConditions}\r\n onApplyFilter={this.onApplyFilter}\r\n />\r\n );\r\n }\r\n\r\n return undefined;\r\n }\r\n\r\n onSelectionChanged(event: SelectionChangedEvent): void {\r\n const selectedRows = event.api.getSelectedRows();\r\n this.setState({selectedData: selectedRows});\r\n }\r\n\r\n protected getInitialWidth(): number {\r\n return 800;\r\n }\r\n\r\n render() {\r\n const {visible, initialWidth, initialHeight} = this.props;\r\n\r\n return (\r\n <ModalDialog\r\n mode={ModalDialogMode.OK_CANCEL}\r\n title={\r\n <>\r\n {this.getTitle()}\r\n {!!this.state.totalNumberOfRows && this.state.totalNumberOfRows > AbstractSelectModalDialog.MAX_ROWS_TO_SHOW &&\r\n <div style={{display: \"inline\"}}>\r\n <ColorTag\r\n style={{whiteSpace: \"break-spaces\", marginLeft: 8}}\r\n color=\"warning\"\r\n icon={<WarningOutlined/>}\r\n >\r\n <span>{i18n(\"Displaying first %{count} records\", {count: AbstractSelectModalDialog.MAX_ROWS_TO_SHOW+\"\"})}</span>\r\n </ColorTag>\r\n </div>\r\n }\r\n </>\r\n }\r\n onOk={() => {\r\n if (this.state.selectedData.length > 0) {\r\n this.props.onItemsSelected(this.state.selectedData);\r\n }\r\n }}\r\n onCancel={this.props.onCancel}\r\n initialWidth={initialWidth ?? this.getInitialWidth()}\r\n initialHeight={initialHeight ?? window.innerHeight * 0.9}\r\n maskClosable={false}\r\n open={visible}\r\n okButtonProps={{disabled: this.state.selectedData.length === 0}}\r\n >\r\n <ExtendedDataGrid<T>\r\n ref={(dataGrid) => {\r\n this.dataGrid = dataGrid;\r\n }}\r\n defaultGridConfiguration={{pageSize: -1, columnSearchVisible: true}}\r\n onGridReady={(params: GridReadyEvent) => {\r\n this.gridApi = params.api;\r\n }}\r\n columnDefs={this.state.columnDefs}\r\n onLoadData={this.onLoadData}\r\n rowModelType=\"infinite\"\r\n datasource={this.state.datasource}\r\n rowSelection={this.props.multiSelect ? \"multiple\" : \"single\"}\r\n onSelectionChanged={this.onSelectionChanged}\r\n onRowDoubleClicked={event => {\r\n const item = event.data as T;\r\n this.props.onItemsSelected([item]);\r\n }}\r\n toolbar={{\r\n toolbarButtons: this.renderToolbarButtons(),\r\n }}\r\n search={{\r\n hidden: true,\r\n }}\r\n onSortChanged={_event => {\r\n this.dataGrid?.loadData();\r\n }}\r\n panelStyle={{padding: 0}}\r\n noRecordsOverlayRenderer={() => <div/>}\r\n />\r\n </ModalDialog>\r\n )\r\n }\r\n\r\n}"]}
1
+ {"version":3,"file":"abstractSelectModalDialog.js","sourceRoot":"","sources":["../../../../../coreui/components/select/abstractSelectModalDialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,gBAAgB,MAAM,2CAA2C,CAAC;AAEzE,OAAO,EAAC,WAAW,EAAkB,MAAM,uCAAuC,CAAC;AAEnF,OAAO,oBAGN,MAAM,wCAAwC,CAAC;AAChD,OAAO,oBAAoB,MAAM,wCAAwC,CAAC;AAC1E,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAClD,OAAO,IAAI,MAAM,kBAAkB,CAAC;AACpC,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAoB5C,MAA8B,yBAG1B,SAAQ,oBAA6B;IAkCrC,YAAsB,KAAkB;QACpC,KAAK,CAAC,KAAK,CAAC,CAAC;QA/BP,iBAAY,GAAsC;YACxD,OAAO,EAAE,KAAK;YACd,UAAU,EAAE,IAAI,CAAC,oBAAoB,EAAE;YACvC,UAAU,EAAE;gBACR,OAAO,EAAE,KAAK,EAAE,MAAsB,EAAE,EAAE;oBACtC,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;wBACvB,IAAI,YAA6B,CAAC;wBAClC,IAAI,IAAI,CAAC,YAAY,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;4BACtE,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;4BAC1B,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC;wBACxC,CAAC;6BAAM,CAAC;4BACJ,YAAY,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;wBACzE,CAAC;wBACD,IAAI,CAAC,QAAQ,CAAC,EAAC,iBAAiB,EAAE,YAAY,CAAC,iBAAiB,EAAC,CAAC,CAAC;wBACnE,IAAI,iBAAiB,GAAG,YAAY,CAAC,iBAAiB,CAAC;wBACvD,IAAI,iBAAiB,GAAG,yBAAyB,CAAC,gBAAgB,EAAE,CAAC;4BACjE,iBAAiB,GAAG,yBAAyB,CAAC,gBAAgB,CAAC;wBACnE,CAAC;wBACD,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;wBACxC,MAAM,CAAC,eAAe,CAAC,YAAY,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;oBACjE,CAAC;yBAAM,CAAC;wBACJ,MAAM,CAAC,eAAe,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;oBAClC,CAAC;gBACL,CAAC;aACJ;YACD,YAAY,EAAE,EAAE;YAEhB,gBAAgB,EAAE,EAAE;SACvB,CAAA;QAKG,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7D,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IAES,eAAe,CAAC,IAAS;QAC/B,IAAI,CAAC;IACT,CAAC;IAMS,uBAAuB;QAC7B,OAAO,IAAI,CAAC,aAAa,CAAC,EAAC,IAAI,EAAE,GAAG,EAAC,CAAC,CAAC;IAC3C,CAAC;IAES,uBAAuB;QAC7B,OAAO,IAAI,CAAC,aAAa,CAAC,EAAC,IAAI,EAAE,GAAG,EAAC,CAAC,CAAC;IAC3C,CAAC;IAES,yBAAyB;QAC/B,OAAO,EAAE,CAAC;IACd,CAAC;IAED,mBAAmB;QACf,OAAO,IAAI,CAAC;IAChB,CAAC;IAES,oBAAoB;QAC1B,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC1B,IAAI,CAAC,iBAAiB,GAAG;gBACrB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;gBACxC,IAAI,CAAC,uBAAuB,EAAE;gBAC9B,IAAI,CAAC,uBAAuB,EAAE;gBAC9B,GAAG,IAAI,CAAC,yBAAyB,EAAE;aACtC,CAAA;QACL,CAAC;QACD,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAClC,CAAC;IAES,oBAAoB;QAC1B,MAAM,oBAAoB,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAE5D,IAAI,oBAAoB,EAAE,CAAC;YACvB,OAAO,CACH,oBAAC,oBAAoB,IACjB,iBAAiB,EAAE,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAC/C,QAAQ,EAAE,oBAAoB,CAAC,QAAQ,EACvC,iBAAiB,EAAE,IAAI,CAAC,kCAAkC,EAAE,EAC5D,gBAAgB,EAAE,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAC7C,aAAa,EAAE,IAAI,CAAC,aAAa,GACnC,CACL,CAAC;QACN,CAAC;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,kBAAkB,CAAC,KAA4B;QAC3C,MAAM,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC;QACjD,IAAI,CAAC,QAAQ,CAAC,EAAC,YAAY,EAAE,YAAY,EAAC,CAAC,CAAC;IAChD,CAAC;IAES,eAAe;QACrB,OAAO,GAAG,CAAC;IACf,CAAC;IAES,IAAI;QACV,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACxD,CAAC;IACL,CAAC;IAED,IAAc,aAAa;QACvB,OAAO,EAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAC,CAAA;IAC3D,CAAC;IAES,kBAAkB,CAAC,KAA4B;QACrD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAS,CAAC;QAC7B,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACvC,CAAC;IAED,MAAM;QACF,MAAM,EAAC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAE1D,OAAO,CACH,oBAAC,WAAW,IACR,IAAI,eACJ,KAAK,EACD;gBACK,IAAI,CAAC,QAAQ,EAAE;gBACf,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,IAAI,IAAI,CAAC,KAAK,CAAC,iBAAiB,GAAG,yBAAyB,CAAC,gBAAgB;oBACxG,6BAAK,KAAK,EAAE,EAAC,OAAO,EAAE,QAAQ,EAAC;wBAC3B,oBAAC,QAAQ,IACL,KAAK,EAAE,EAAC,UAAU,EAAE,cAAc,EAAE,UAAU,EAAE,CAAC,EAAC,EAClD,KAAK,EAAC,SAAS,EACf,IAAI,EAAE,oBAAC,eAAe,OAAE;4BAExB,kCAAO,IAAI,CAAC,mCAAmC,EAAE,EAAC,KAAK,EAAE,yBAAyB,CAAC,gBAAgB,GAAC,EAAE,EAAC,CAAC,CAAQ,CACzG,CACT,CAEX,EAEP,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAC7B,YAAY,EAAE,YAAY,IAAI,IAAI,CAAC,eAAe,EAAE,EACpD,aAAa,EAAE,aAAa,IAAI,MAAM,CAAC,WAAW,GAAG,GAAG,EACxD,YAAY,EAAE,KAAK,EACnB,IAAI,EAAE,OAAO,EACb,aAAa,EAAE,IAAI,CAAC,aAAa;YAEjC,oBAAC,gBAAgB,IACb,GAAG,EAAE,CAAC,QAAQ,EAAE,EAAE;oBACd,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;gBAC7B,CAAC,EACD,wBAAwB,EAAE,EAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,mBAAmB,EAAE,IAAI,EAAC,EACnE,WAAW,EAAE,CAAC,MAAsB,EAAE,EAAE;oBACpC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC;gBAC9B,CAAC,EACD,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,EACjC,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,YAAY,EAAC,UAAU,EACvB,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,EACjC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,EAC5D,kBAAkB,EAAE,IAAI,CAAC,kBAAkB,EAC3C,kBAAkB,EAAE,IAAI,CAAC,kBAAkB,EAC3C,OAAO,EAAE;oBACL,cAAc,EAAE,IAAI,CAAC,oBAAoB,EAAE;iBAC9C,EACD,MAAM,EAAE;oBACJ,MAAM,EAAE,IAAI;iBACf,EACD,aAAa,EAAE,GAAG,EAAE;oBAChB,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC;gBAC9B,CAAC,EACD,UAAU,EAAE,EAAC,OAAO,EAAE,CAAC,EAAC,EACxB,wBAAwB,EAAE,GAAG,EAAE,CAAC,gCAAM,GACxC,CACQ,CACjB,CAAA;IACL,CAAC;;AAjLc,0CAAgB,GAAG,IAAK,AAAR,CAAS;eALd,yBAAyB","sourcesContent":["import React from \"react\";\r\nimport Entity from \"../../../api/types/entity\";\r\nimport {DataGridColDef} from \"d2coreui/components/grid/dataGrid\";\r\nimport ExtendedDataGrid from \"d2coreui/components/grid/extendedDataGrid\";\r\nimport {GridReadyEvent, IGetRowsParams, RowDoubleClickedEvent, SelectionChangedEvent} from \"ag-grid-community\";\r\nimport {ModalDialog, ModalDialogMode} from \"d2coreui/components/modal/modalDialog\";\r\nimport AbstractEntityApi, {PageableList} from \"../../../api/abstractEntityApi\";\r\nimport AdvancedFilteredGrid, {\r\n AdvancedFilteredGridProps,\r\n AdvancedFilteredGridState\r\n} from \"../advancedFilter/advancedFilteredGrid\";\r\nimport AdvancedFilterButton from \"../advancedFilter/advancedFilterButton\";\r\nimport {WarningOutlined} from \"@ant-design/icons\";\r\nimport i18n from \"d2core/i18n/i18n\";\r\nimport ColorTag from \"../colorTag/colorTag\";\r\nimport type {ButtonProps} from \"antd/es/button/button\";\r\n\r\nexport interface AbstractSelectModalDialogProps<T extends Entity> extends AdvancedFilteredGridProps<T> {\r\n api: AbstractEntityApi<T>\r\n\r\n multiSelect?: boolean\r\n visible: boolean\r\n initialWidth?: number\r\n initialHeight?: number\r\n\r\n onItemsSelected(selectedItems: T[]): void\r\n\r\n onCancel(): void\r\n}\r\n\r\nexport interface AbstractSelectModalDialogState<T extends Entity> extends AdvancedFilteredGridState<T> {\r\n totalNumberOfRows?: number\r\n}\r\n\r\nexport default abstract class AbstractSelectModalDialog<T extends Entity,\r\n P extends AbstractSelectModalDialogProps<T>,\r\n S extends AbstractSelectModalDialogState<T> = AbstractSelectModalDialogState<T>>\r\n extends AdvancedFilteredGrid<T, P, S> {\r\n\r\n private static MAX_ROWS_TO_SHOW = 1_000;\r\n\r\n protected initialState: AbstractSelectModalDialogState<T> = {\r\n loading: false,\r\n columnDefs: this.getInitialColumnDefs(),\r\n datasource: {\r\n getRows: async (params: IGetRowsParams) => {\r\n if (this.firstLoadedPage) {\r\n let pageableList: PageableList<T>;\r\n if (this.manualReload && params.startRow === 0 && params.endRow === 100) {\r\n this.manualReload = false;\r\n pageableList = this.firstLoadedPage;\r\n } else {\r\n pageableList = await this.getRecords(params.startRow, params.endRow);\r\n }\r\n this.setState({totalNumberOfRows: pageableList.totalNumberOfRows});\r\n let totalNumberOfRows = pageableList.totalNumberOfRows;\r\n if (totalNumberOfRows > AbstractSelectModalDialog.MAX_ROWS_TO_SHOW) {\r\n totalNumberOfRows = AbstractSelectModalDialog.MAX_ROWS_TO_SHOW;\r\n }\r\n this.adaptLoadedData(pageableList.data);\r\n params.successCallback(pageableList.data, totalNumberOfRows);\r\n } else {\r\n params.successCallback([], 0);\r\n }\r\n }\r\n },\r\n selectedData: [],\r\n\r\n filterConditions: [],\r\n }\r\n\r\n protected constructor(props: Readonly<P>) {\r\n super(props);\r\n\r\n this.onSelectionChanged = this.onSelectionChanged.bind(this);\r\n this.onRowDoubleClicked = this.onRowDoubleClicked.bind(this);\r\n this.onOk = this.onOk.bind(this);\r\n }\r\n\r\n protected adaptLoadedData(data: T[]) {\r\n data;\r\n }\r\n\r\n abstract getIdColumnName(): string;\r\n\r\n abstract getTitle(): string;\r\n\r\n protected getCodeColumnDefinition(): DataGridColDef {\r\n return this.getCodeColumn({flex: 0.5});\r\n }\r\n\r\n protected getNameColumnDefinition(): DataGridColDef {\r\n return this.getNameColumn({flex: 0.5});\r\n }\r\n\r\n protected getExtraColumnDefinitions(): DataGridColDef[] {\r\n return [];\r\n }\r\n\r\n getOnlyValidRecords(): boolean {\r\n return true;\r\n }\r\n\r\n protected getInitialColumnDefs(): DataGridColDef[] {\r\n if (!this.initialColumnDefs) {\r\n this.initialColumnDefs = [\r\n this.getIdColumn(this.getIdColumnName()),\r\n this.getCodeColumnDefinition(),\r\n this.getNameColumnDefinition(),\r\n ...this.getExtraColumnDefinitions()\r\n ]\r\n }\r\n return this.initialColumnDefs;\r\n }\r\n\r\n protected renderToolbarButtons(): React.ReactElement | undefined {\r\n const advancedFilterConfig = this.getAdvancedFilterConfig();\r\n\r\n if (advancedFilterConfig) {\r\n return (\r\n <AdvancedFilterButton\r\n advancedFilterApi={this.props.advancedFilterApi}\r\n listName={advancedFilterConfig.listName}\r\n columnDefinitions={this.getAdvancedFilterColumnDefinitions()}\r\n filterConditions={this.state.filterConditions}\r\n onApplyFilter={this.onApplyFilter}\r\n />\r\n );\r\n }\r\n\r\n return undefined;\r\n }\r\n\r\n onSelectionChanged(event: SelectionChangedEvent): void {\r\n const selectedRows = event.api.getSelectedRows();\r\n this.setState({selectedData: selectedRows});\r\n }\r\n\r\n protected getInitialWidth(): number {\r\n return 800;\r\n }\r\n\r\n protected onOk() {\r\n if (this.state.selectedData.length > 0) {\r\n this.props.onItemsSelected(this.state.selectedData);\r\n }\r\n }\r\n\r\n protected get okButtonProps(): ButtonProps | undefined {\r\n return {disabled: this.state.selectedData.length === 0}\r\n }\r\n\r\n protected onRowDoubleClicked(event: RowDoubleClickedEvent): void {\r\n const item = event.data as T;\r\n this.props.onItemsSelected([item]);\r\n }\r\n\r\n render() {\r\n const {visible, initialWidth, initialHeight} = this.props;\r\n\r\n return (\r\n <ModalDialog\r\n mode={ModalDialogMode.OK_CANCEL}\r\n title={\r\n <>\r\n {this.getTitle()}\r\n {!!this.state.totalNumberOfRows && this.state.totalNumberOfRows > AbstractSelectModalDialog.MAX_ROWS_TO_SHOW &&\r\n <div style={{display: \"inline\"}}>\r\n <ColorTag\r\n style={{whiteSpace: \"break-spaces\", marginLeft: 8}}\r\n color=\"warning\"\r\n icon={<WarningOutlined/>}\r\n >\r\n <span>{i18n(\"Displaying first %{count} records\", {count: AbstractSelectModalDialog.MAX_ROWS_TO_SHOW+\"\"})}</span>\r\n </ColorTag>\r\n </div>\r\n }\r\n </>\r\n }\r\n onOk={this.onOk}\r\n onCancel={this.props.onCancel}\r\n initialWidth={initialWidth ?? this.getInitialWidth()}\r\n initialHeight={initialHeight ?? window.innerHeight * 0.9}\r\n maskClosable={false}\r\n open={visible}\r\n okButtonProps={this.okButtonProps}\r\n >\r\n <ExtendedDataGrid<T>\r\n ref={(dataGrid) => {\r\n this.dataGrid = dataGrid;\r\n }}\r\n defaultGridConfiguration={{pageSize: -1, columnSearchVisible: true}}\r\n onGridReady={(params: GridReadyEvent) => {\r\n this.gridApi = params.api;\r\n }}\r\n columnDefs={this.state.columnDefs}\r\n onLoadData={this.onLoadData}\r\n rowModelType=\"infinite\"\r\n datasource={this.state.datasource}\r\n rowSelection={this.props.multiSelect ? \"multiple\" : \"single\"}\r\n onSelectionChanged={this.onSelectionChanged}\r\n onRowDoubleClicked={this.onRowDoubleClicked}\r\n toolbar={{\r\n toolbarButtons: this.renderToolbarButtons(),\r\n }}\r\n search={{\r\n hidden: true,\r\n }}\r\n onSortChanged={() => {\r\n this.dataGrid?.loadData();\r\n }}\r\n panelStyle={{padding: 0}}\r\n noRecordsOverlayRenderer={() => <div/>}\r\n />\r\n </ModalDialog>\r\n )\r\n }\r\n\r\n}"]}
@@ -1 +1 @@
1
- {"version":3,"file":"webPushSwitch.js","sourceRoot":"","sources":["../../../../../coreui/components/webPush/webPushSwitch.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from \"react\";\r\nimport {Switch} from \"antd\";\r\nimport i18n from \"d2core/i18n/i18n\";\r\nimport {WebPushApi} from \"../../../api/webPush/webPushApi\";\r\nimport WebPushUtils from \"../../../api/webPush/webPushUtils\";\r\nimport {EncodingUtils} from \"../../../api/encoding/encodingUtils\";\r\n\r\ninterface Props {\r\n webPushApi: WebPushApi\r\n}\r\n\r\ninterface State {\r\n loading: boolean\r\n isSubscribed: boolean\r\n}\r\n\r\nexport default class WebPushSwitch extends React.Component<Props, State> {\r\n constructor(props: Readonly<Props>) {\r\n super(props);\r\n\r\n this.state = {\r\n loading: true,\r\n isSubscribed: false,\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n this.updateSubscriptionState();\r\n }\r\n\r\n private updateSubscriptionState() {\r\n WebPushUtils.getSubscription().then(subscription => {\r\n this.setState({\r\n isSubscribed: subscription !== null,\r\n loading: false,\r\n });\r\n });\r\n }\r\n\r\n private async subscribe() {\r\n const applicationServerKey = await this.props.webPushApi.getPublicVapidKey();\r\n\r\n // 1. Ask for notification permission\r\n const permission = await Notification.requestPermission();\r\n if (permission !== \"granted\") {\r\n alert(\"Notifications not allowed\");\r\n return;\r\n }\r\n\r\n // 2. Get service worker\r\n const registration = await navigator.serviceWorker.ready;\r\n\r\n // 3. Subscribe to push\r\n const subscription = await registration.pushManager.subscribe({\r\n userVisibleOnly: true,\r\n applicationServerKey: EncodingUtils.base64ToUint8Array(applicationServerKey),\r\n });\r\n\r\n await this.props.webPushApi.saveSubscription(subscription);\r\n }\r\n\r\n private async unsubscribe() {\r\n const subscription = await WebPushUtils.getSubscription();\r\n\r\n if (subscription) {\r\n const success = await subscription.unsubscribe();\r\n\r\n if (success) {\r\n console.log(\"Unsubscribed: \", subscription.endpoint);\r\n await this.props.webPushApi.deleteSubscription(subscription);\r\n } else {\r\n console.warn(\"Failed to unsubscribe.\");\r\n }\r\n } else {\r\n console.log(\"No subscription found.\");\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n <Switch\r\n loading={this.state.loading}\r\n checked={this.state.isSubscribed}\r\n checkedChildren={i18n(\"Notifications\")}\r\n unCheckedChildren={i18n(\"Notifications\")}\r\n onChange={async checked => {\r\n this.setState({loading: true});\r\n if (checked) {\r\n await this.subscribe();\r\n } else {\r\n await this.unsubscribe()\r\n }\r\n\r\n this.updateSubscriptionState();\r\n }}\r\n />\r\n );\r\n }\r\n\r\n}"]}
1
+ {"version":3,"file":"webPushSwitch.js","sourceRoot":"","sources":["../../../../../coreui/components/webPush/webPushSwitch.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from \"react\";\nimport {Switch} from \"antd\";\nimport i18n from \"d2core/i18n/i18n\";\nimport {WebPushApi} from \"../../../api/webPush/webPushApi\";\nimport WebPushUtils from \"../../../api/webPush/webPushUtils\";\nimport {EncodingUtils} from \"../../../api/encoding/encodingUtils\";\n\ninterface Props {\n webPushApi: WebPushApi\n}\n\ninterface State {\n loading: boolean\n isSubscribed: boolean\n}\n\nexport default class WebPushSwitch extends React.Component<Props, State> {\n constructor(props: Readonly<Props>) {\n super(props);\n\n this.state = {\n loading: true,\n isSubscribed: false,\n }\n }\n\n componentDidMount() {\n this.updateSubscriptionState();\n }\n\n private updateSubscriptionState() {\n WebPushUtils.getSubscription().then(subscription => {\n this.setState({\n isSubscribed: subscription !== null,\n loading: false,\n });\n });\n }\n\n private async subscribe() {\n const applicationServerKey = await this.props.webPushApi.getPublicVapidKey();\n\n // 1. Ask for notification permission\n const permission = await Notification.requestPermission();\n if (permission !== \"granted\") {\n alert(\"Notifications not allowed\");\n return;\n }\n\n // 2. Get service worker\n const registration = await navigator.serviceWorker.ready;\n\n // 3. Subscribe to push\n const subscription = await registration.pushManager.subscribe({\n userVisibleOnly: true,\n applicationServerKey: EncodingUtils.base64ToUint8Array(applicationServerKey),\n });\n\n await this.props.webPushApi.saveSubscription(subscription);\n }\n\n private async unsubscribe() {\n const subscription = await WebPushUtils.getSubscription();\n\n if (subscription) {\n const success = await subscription.unsubscribe();\n\n if (success) {\n console.log(\"Unsubscribed: \", subscription.endpoint);\n await this.props.webPushApi.deleteSubscription(subscription);\n } else {\n console.warn(\"Failed to unsubscribe.\");\n }\n } else {\n console.log(\"No subscription found.\");\n }\n }\n\n render() {\n return (\n <Switch\n loading={this.state.loading}\n checked={this.state.isSubscribed}\n checkedChildren={i18n(\"Notifications\")}\n unCheckedChildren={i18n(\"Notifications\")}\n onChange={async checked => {\n this.setState({loading: true});\n if (checked) {\n await this.subscribe();\n } else {\n await this.unsubscribe()\n }\n\n this.updateSubscriptionState();\n }}\n />\n );\n }\n\n}"]}
@@ -1,9 +1,9 @@
1
- <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
- <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
3
- <svg width="100%" height="100%" viewBox="0 0 68 62" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
4
- <g transform="matrix(1,0,0,1,-172.565,-296.134)">
5
- <g transform="matrix(1,0,0,1,182.93,310.677)">
6
- <path d="M0,32.646L-10.365,32.646L-10.365,41.595L0,41.595C1.637,44.92 5.052,47.189 9.036,47.189C13.018,47.189 16.433,44.92 18.07,41.595L56.763,41.595L56.763,32.646L18.071,32.646C16.434,29.321 13.018,27.053 9.036,27.053C5.052,27.053 1.637,29.321 0,32.646M28.326,11.846L-10.365,11.846L-10.365,20.795L28.327,20.795C29.963,24.12 33.379,26.388 37.364,26.388C41.346,26.388 44.761,24.12 46.398,20.795L56.763,20.795L56.763,11.846L46.398,11.846C44.761,8.521 41.346,6.254 37.364,6.254C33.379,6.254 29.963,8.521 28.326,11.846M0.001,-8.951L-10.365,-8.951L-10.365,-0.003L0,-0.003C1.637,3.323 5.052,5.59 9.036,5.59C13.018,5.59 16.434,3.323 18.071,-0.003L56.763,-0.003L56.763,-8.951L18.07,-8.951C16.433,-12.276 13.018,-14.543 9.036,-14.543C5.052,-14.543 1.637,-12.276 0.001,-8.951" style="fill:rgb(1,52,255);"/>
7
- </g>
8
- </g>
9
- </svg>
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
3
+ <svg width="100%" height="100%" viewBox="0 0 68 62" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
4
+ <g transform="matrix(1,0,0,1,-172.565,-296.134)">
5
+ <g transform="matrix(1,0,0,1,182.93,310.677)">
6
+ <path d="M0,32.646L-10.365,32.646L-10.365,41.595L0,41.595C1.637,44.92 5.052,47.189 9.036,47.189C13.018,47.189 16.433,44.92 18.07,41.595L56.763,41.595L56.763,32.646L18.071,32.646C16.434,29.321 13.018,27.053 9.036,27.053C5.052,27.053 1.637,29.321 0,32.646M28.326,11.846L-10.365,11.846L-10.365,20.795L28.327,20.795C29.963,24.12 33.379,26.388 37.364,26.388C41.346,26.388 44.761,24.12 46.398,20.795L56.763,20.795L56.763,11.846L46.398,11.846C44.761,8.521 41.346,6.254 37.364,6.254C33.379,6.254 29.963,8.521 28.326,11.846M0.001,-8.951L-10.365,-8.951L-10.365,-0.003L0,-0.003C1.637,3.323 5.052,5.59 9.036,5.59C13.018,5.59 16.434,3.323 18.071,-0.003L56.763,-0.003L56.763,-8.951L18.07,-8.951C16.433,-12.276 13.018,-14.543 9.036,-14.543C5.052,-14.543 1.637,-12.276 0.001,-8.951" style="fill:rgb(1,52,255);"/>
7
+ </g>
8
+ </g>
9
+ </svg>
@@ -1,12 +1,12 @@
1
- <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
- <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
3
- <svg width="100%" height="100%" viewBox="172 295 459 64" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
4
- <g id="Layer-1" serif:id="Layer 1">
5
- <g transform="matrix(1,0,0,1,182.93,310.677)">
6
- <path d="M0,32.646L-10.365,32.646L-10.365,41.595L0,41.595C1.637,44.92 5.052,47.189 9.036,47.189C13.018,47.189 16.433,44.92 18.07,41.595L56.763,41.595L56.763,32.646L18.071,32.646C16.434,29.321 13.018,27.053 9.036,27.053C5.052,27.053 1.637,29.321 0,32.646M28.326,11.846L-10.365,11.846L-10.365,20.795L28.327,20.795C29.963,24.12 33.379,26.388 37.364,26.388C41.346,26.388 44.761,24.12 46.398,20.795L56.763,20.795L56.763,11.846L46.398,11.846C44.761,8.521 41.346,6.254 37.364,6.254C33.379,6.254 29.963,8.521 28.326,11.846M0.001,-8.951L-10.365,-8.951L-10.365,-0.003L0,-0.003C1.637,3.323 5.052,5.59 9.036,5.59C13.018,5.59 16.434,3.323 18.071,-0.003L56.763,-0.003L56.763,-8.951L18.07,-8.951C16.433,-12.276 13.018,-14.543 9.036,-14.543C5.052,-14.543 1.637,-12.276 0.001,-8.951" style="stroke:black;stroke-width:1px;"/>
7
- </g>
8
- <g transform="matrix(1,0,0,1,398.066,302.582)">
9
- <path d="M0,48.893L0,36.861C5.901,39.084 13.946,40.54 23.143,40.54C35.023,40.54 37.627,38.702 37.627,35.712C37.627,26.057 -1.533,34.947 -1.533,13.64C-1.533,3.141 7.357,-3.142 27.512,-3.142C34.18,-3.142 41,-2.223 46.441,-0.766L48.509,11.036C42.685,9.503 34.868,8.354 25.978,8.354C14.101,8.354 11.494,10.193 11.494,13.181C11.494,22.837 50.656,13.948 50.656,35.252C50.656,45.751 41.767,52.035 21.611,52.035C13.716,52.035 5.746,50.734 0,48.893M-62.23,24.447C-62.23,6.208 -51.96,-3.142 -29.429,-3.142C-23.759,-3.142 -17.168,-2.452 -11.19,-1.532L-9.198,10.27C-14.792,9.195 -22.533,8.354 -29.429,8.354C-43.071,8.354 -48.053,10.653 -49.277,19.083L-10.194,19.083L-10.194,29.812L-49.277,29.812C-48.053,38.242 -43.071,40.541 -29.429,40.541C-22.533,40.541 -14.792,39.698 -9.198,38.624L-11.19,50.426C-17.168,51.345 -23.759,52.035 -29.429,52.035C-51.96,52.035 -62.23,42.687 -62.23,24.447M56.481,24.447C56.481,5.365 66.214,-3.142 88.132,-3.142C110.051,-3.142 119.782,5.365 119.782,24.447C119.782,43.53 110.051,52.035 88.132,52.035C66.214,52.035 56.481,43.53 56.481,24.447M-120.167,-2.377L-95.184,-2.377C-76.331,-2.377 -68.055,4.215 -68.055,19.005C-68.055,33.797 -76.331,40.386 -95.184,40.386L-107.827,40.386L-107.827,51.27L-120.167,51.27L-120.167,-2.377ZM-144.688,-0.844L-132.426,-2.758L-132.426,51.269L-144.688,51.269L-144.688,-0.844ZM219.637,44.756C219.637,40.924 222.319,38.242 226.151,38.242C229.983,38.242 232.664,40.924 232.664,44.756C232.664,48.587 229.983,51.269 226.151,51.269C222.319,51.269 219.637,48.587 219.637,44.756M155.188,-3.142C161.318,-3.142 166.453,-2.682 171.127,-1.532L173.121,10.193C167.987,9.044 162.084,8.354 156.643,8.354C144.153,8.354 140.934,10.883 140.934,19.389L140.934,22.915L171.972,22.915L171.972,34.027L140.934,34.027L140.934,50.964L128.672,50.964L128.672,19.849C128.672,4.829 137.944,-3.142 155.188,-3.142M197.872,9.12L177.717,9.12L177.717,-2.375L230.366,-2.375L230.366,9.12L210.212,9.12L210.212,50.964L197.872,50.964L197.872,9.12ZM226.151,50.121C229.216,50.121 231.439,47.898 231.439,44.756C231.439,41.614 229.216,39.392 226.151,39.392C223.084,39.392 220.862,41.614 220.862,44.756C220.862,47.898 223.084,50.121 226.151,50.121M223.852,41.154L226.456,41.154C228.067,41.154 228.757,41.996 228.757,43.377C228.757,44.372 228.373,45.061 227.606,45.369L229.216,48.127L227.684,48.127L226.226,45.599L225.155,45.599L225.155,48.127L223.852,48.127L223.852,41.154ZM226.304,44.448C227.071,44.448 227.376,44.296 227.376,43.377C227.376,42.456 227.071,42.304 226.304,42.304L225.155,42.304L225.155,44.448L226.304,44.448ZM88.132,40.541C102.694,40.541 106.371,37.321 106.371,24.447C106.371,11.573 102.694,8.354 88.132,8.354C73.571,8.354 69.892,11.573 69.892,24.447C69.892,37.321 73.571,40.541 88.132,40.541M-92.272,28.892C-84.531,28.892 -81.081,26.21 -81.081,19.005C-81.081,12.108 -84.147,9.12 -92.272,9.12L-107.827,9.12L-107.827,28.892L-92.272,28.892Z" style="fill-rule:nonzero;"/>
10
- </g>
11
- </g>
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
3
+ <svg width="100%" height="100%" viewBox="172 295 459 64" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
4
+ <g id="Layer-1" serif:id="Layer 1">
5
+ <g transform="matrix(1,0,0,1,182.93,310.677)">
6
+ <path d="M0,32.646L-10.365,32.646L-10.365,41.595L0,41.595C1.637,44.92 5.052,47.189 9.036,47.189C13.018,47.189 16.433,44.92 18.07,41.595L56.763,41.595L56.763,32.646L18.071,32.646C16.434,29.321 13.018,27.053 9.036,27.053C5.052,27.053 1.637,29.321 0,32.646M28.326,11.846L-10.365,11.846L-10.365,20.795L28.327,20.795C29.963,24.12 33.379,26.388 37.364,26.388C41.346,26.388 44.761,24.12 46.398,20.795L56.763,20.795L56.763,11.846L46.398,11.846C44.761,8.521 41.346,6.254 37.364,6.254C33.379,6.254 29.963,8.521 28.326,11.846M0.001,-8.951L-10.365,-8.951L-10.365,-0.003L0,-0.003C1.637,3.323 5.052,5.59 9.036,5.59C13.018,5.59 16.434,3.323 18.071,-0.003L56.763,-0.003L56.763,-8.951L18.07,-8.951C16.433,-12.276 13.018,-14.543 9.036,-14.543C5.052,-14.543 1.637,-12.276 0.001,-8.951" style="stroke:black;stroke-width:1px;"/>
7
+ </g>
8
+ <g transform="matrix(1,0,0,1,398.066,302.582)">
9
+ <path d="M0,48.893L0,36.861C5.901,39.084 13.946,40.54 23.143,40.54C35.023,40.54 37.627,38.702 37.627,35.712C37.627,26.057 -1.533,34.947 -1.533,13.64C-1.533,3.141 7.357,-3.142 27.512,-3.142C34.18,-3.142 41,-2.223 46.441,-0.766L48.509,11.036C42.685,9.503 34.868,8.354 25.978,8.354C14.101,8.354 11.494,10.193 11.494,13.181C11.494,22.837 50.656,13.948 50.656,35.252C50.656,45.751 41.767,52.035 21.611,52.035C13.716,52.035 5.746,50.734 0,48.893M-62.23,24.447C-62.23,6.208 -51.96,-3.142 -29.429,-3.142C-23.759,-3.142 -17.168,-2.452 -11.19,-1.532L-9.198,10.27C-14.792,9.195 -22.533,8.354 -29.429,8.354C-43.071,8.354 -48.053,10.653 -49.277,19.083L-10.194,19.083L-10.194,29.812L-49.277,29.812C-48.053,38.242 -43.071,40.541 -29.429,40.541C-22.533,40.541 -14.792,39.698 -9.198,38.624L-11.19,50.426C-17.168,51.345 -23.759,52.035 -29.429,52.035C-51.96,52.035 -62.23,42.687 -62.23,24.447M56.481,24.447C56.481,5.365 66.214,-3.142 88.132,-3.142C110.051,-3.142 119.782,5.365 119.782,24.447C119.782,43.53 110.051,52.035 88.132,52.035C66.214,52.035 56.481,43.53 56.481,24.447M-120.167,-2.377L-95.184,-2.377C-76.331,-2.377 -68.055,4.215 -68.055,19.005C-68.055,33.797 -76.331,40.386 -95.184,40.386L-107.827,40.386L-107.827,51.27L-120.167,51.27L-120.167,-2.377ZM-144.688,-0.844L-132.426,-2.758L-132.426,51.269L-144.688,51.269L-144.688,-0.844ZM219.637,44.756C219.637,40.924 222.319,38.242 226.151,38.242C229.983,38.242 232.664,40.924 232.664,44.756C232.664,48.587 229.983,51.269 226.151,51.269C222.319,51.269 219.637,48.587 219.637,44.756M155.188,-3.142C161.318,-3.142 166.453,-2.682 171.127,-1.532L173.121,10.193C167.987,9.044 162.084,8.354 156.643,8.354C144.153,8.354 140.934,10.883 140.934,19.389L140.934,22.915L171.972,22.915L171.972,34.027L140.934,34.027L140.934,50.964L128.672,50.964L128.672,19.849C128.672,4.829 137.944,-3.142 155.188,-3.142M197.872,9.12L177.717,9.12L177.717,-2.375L230.366,-2.375L230.366,9.12L210.212,9.12L210.212,50.964L197.872,50.964L197.872,9.12ZM226.151,50.121C229.216,50.121 231.439,47.898 231.439,44.756C231.439,41.614 229.216,39.392 226.151,39.392C223.084,39.392 220.862,41.614 220.862,44.756C220.862,47.898 223.084,50.121 226.151,50.121M223.852,41.154L226.456,41.154C228.067,41.154 228.757,41.996 228.757,43.377C228.757,44.372 228.373,45.061 227.606,45.369L229.216,48.127L227.684,48.127L226.226,45.599L225.155,45.599L225.155,48.127L223.852,48.127L223.852,41.154ZM226.304,44.448C227.071,44.448 227.376,44.296 227.376,43.377C227.376,42.456 227.071,42.304 226.304,42.304L225.155,42.304L225.155,44.448L226.304,44.448ZM88.132,40.541C102.694,40.541 106.371,37.321 106.371,24.447C106.371,11.573 102.694,8.354 88.132,8.354C73.571,8.354 69.892,11.573 69.892,24.447C69.892,37.321 73.571,40.541 88.132,40.541M-92.272,28.892C-84.531,28.892 -81.081,26.21 -81.081,19.005C-81.081,12.108 -84.147,9.12 -92.272,9.12L-107.827,9.12L-107.827,28.892L-92.272,28.892Z" style="fill-rule:nonzero;"/>
10
+ </g>
11
+ </g>
12
12
  </svg>
@@ -0,0 +1,65 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <ROOT>
3
+ <REFERENCES>
4
+ <HOBJ_REF>
5
+ <uid>AE08787EB75A384D9C91C542BEDFBB8F</uid>
6
+ <name>DBC_EM_EDA</name>
7
+ <objType>DB_CONNECT</objType>
8
+ <valType>Int</valType>
9
+ </HOBJ_REF>
10
+ <HOBJ_REF>
11
+ <uid>42C6605F250C9D439C33565F834F13AF</uid>
12
+ <name>SD.EM_EDA_Function</name>
13
+ <objType>STRUCTDEF</objType>
14
+ <valType>NAN</valType>
15
+ </HOBJ_REF>
16
+ </REFERENCES>
17
+ <CFGRECORDS>
18
+ <TObjItemData>
19
+ <Id>2578151</Id>
20
+ <Name>DB.EM_EDA_Function</Name>
21
+ <Descript>EDA Vector Function</Descript>
22
+ <Typ>DB_TABLE</Typ>
23
+ <ParentId>DBC_EM_EDA</ParentId>
24
+ <Value_Type>NAN</Value_Type>
25
+ <CreateTime>26.03.2026 10:01:52.726</CreateTime>
26
+ <ModifyTime>23.04.2026 12:49:57.250</ModifyTime>
27
+ <Text_Palette/>
28
+ <Read_Only>False</Read_Only>
29
+ <TECH_UNIT/>
30
+ <UseLimits>False</UseLimits>
31
+ <VHL>1.00000000000000E+38</VHL>
32
+ <HL>1.00000000000000E+38</HL>
33
+ <LL>-1.00000000000000E+38</LL>
34
+ <VLL>-1.00000000000000E+38</VLL>
35
+ <VHL_ID/>
36
+ <HL_ID/>
37
+ <LL_ID/>
38
+ <VLL_ID/>
39
+ <Hysterezia>0.00000000000000E+00</Hysterezia>
40
+ <TransPalIdx>0</TransPalIdx>
41
+ <Hidden>False</Hidden>
42
+ <uuid>96E0FECCB01CE343A36451E252D80CC3</uuid>
43
+ <memberOfModule/>
44
+ <moduleRelation>AM_None</moduleRelation>
45
+ <memberOfDevice/>
46
+ <version>2</version>
47
+ <metadata/>
48
+ <EXP_SubDir/>
49
+ </TObjItemData>
50
+ <tDBTableInterface>
51
+ <StructTypId>SD.EM_EDA_Function</StructTypId>
52
+ <DB_Access>DBModify</DB_Access>
53
+ <DB_Table>EDA_FUNKCIA</DB_Table>
54
+ <DB_Key>1</DB_Key>
55
+ <DB_DeepCol>0</DB_DeepCol>
56
+ <DB_DeepTime>0</DB_DeepTime>
57
+ <DB_PurposeId/>
58
+ <DB_Optional/>
59
+ <DB_Not_Null/>
60
+ <DB_Export_Monitored>False</DB_Export_Monitored>
61
+ </tDBTableInterface>
62
+ </CFGRECORDS>
63
+ <MEMBEROFRESGROUP>
64
+ </MEMBEROFRESGROUP>
65
+ </ROOT>
@@ -0,0 +1,65 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <ROOT>
3
+ <REFERENCES>
4
+ <HOBJ_REF>
5
+ <uid>AE08787EB75A384D9C91C542BEDFBB8F</uid>
6
+ <name>DBC_EM_EDA</name>
7
+ <objType>DB_CONNECT</objType>
8
+ <valType>Int</valType>
9
+ </HOBJ_REF>
10
+ <HOBJ_REF>
11
+ <uid>368C6EC65CDE5C47942FAFADC8867589</uid>
12
+ <name>SD.EM_EDA_GroupVector</name>
13
+ <objType>STRUCTDEF</objType>
14
+ <valType>NAN</valType>
15
+ </HOBJ_REF>
16
+ </REFERENCES>
17
+ <CFGRECORDS>
18
+ <TObjItemData>
19
+ <Id>2578147</Id>
20
+ <Name>DB.EM_EDA_GroupVector</Name>
21
+ <Descript>EDA Group Vector</Descript>
22
+ <Typ>DB_TABLE</Typ>
23
+ <ParentId>DBC_EM_EDA</ParentId>
24
+ <Value_Type>NAN</Value_Type>
25
+ <CreateTime>26.03.2026 09:53:11.117</CreateTime>
26
+ <ModifyTime>23.04.2026 12:50:43.116</ModifyTime>
27
+ <Text_Palette/>
28
+ <Read_Only>False</Read_Only>
29
+ <TECH_UNIT/>
30
+ <UseLimits>False</UseLimits>
31
+ <VHL>1.00000000000000E+38</VHL>
32
+ <HL>1.00000000000000E+38</HL>
33
+ <LL>-1.00000000000000E+38</LL>
34
+ <VLL>-1.00000000000000E+38</VLL>
35
+ <VHL_ID/>
36
+ <HL_ID/>
37
+ <LL_ID/>
38
+ <VLL_ID/>
39
+ <Hysterezia>0.00000000000000E+00</Hysterezia>
40
+ <TransPalIdx>0</TransPalIdx>
41
+ <Hidden>False</Hidden>
42
+ <uuid>A41C1FB7C51DE740901A48CE6AB1835D</uuid>
43
+ <memberOfModule/>
44
+ <moduleRelation>AM_None</moduleRelation>
45
+ <memberOfDevice/>
46
+ <version>1</version>
47
+ <metadata/>
48
+ <EXP_SubDir/>
49
+ </TObjItemData>
50
+ <tDBTableInterface>
51
+ <StructTypId>SD.EM_EDA_GroupVector</StructTypId>
52
+ <DB_Access>DBModify</DB_Access>
53
+ <DB_Table>EDA_SKVEKTOR</DB_Table>
54
+ <DB_Key>1</DB_Key>
55
+ <DB_DeepCol>0</DB_DeepCol>
56
+ <DB_DeepTime>0</DB_DeepTime>
57
+ <DB_PurposeId/>
58
+ <DB_Optional/>
59
+ <DB_Not_Null/>
60
+ <DB_Export_Monitored>False</DB_Export_Monitored>
61
+ </tDBTableInterface>
62
+ </CFGRECORDS>
63
+ <MEMBEROFRESGROUP>
64
+ </MEMBEROFRESGROUP>
65
+ </ROOT>
@@ -0,0 +1,65 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <ROOT>
3
+ <REFERENCES>
4
+ <HOBJ_REF>
5
+ <uid>AE08787EB75A384D9C91C542BEDFBB8F</uid>
6
+ <name>DBC_EM_EDA</name>
7
+ <objType>DB_CONNECT</objType>
8
+ <valType>Int</valType>
9
+ </HOBJ_REF>
10
+ <HOBJ_REF>
11
+ <uid>AFC7C0F3EEC4744288BB210641AB1109</uid>
12
+ <name>SD.EM_EDA_Scenario</name>
13
+ <objType>STRUCTDEF</objType>
14
+ <valType>NAN</valType>
15
+ </HOBJ_REF>
16
+ </REFERENCES>
17
+ <CFGRECORDS>
18
+ <TObjItemData>
19
+ <Id>2578149</Id>
20
+ <Name>DB.EM_EDA_Scenario</Name>
21
+ <Descript>EDA Scenario</Descript>
22
+ <Typ>DB_TABLE</Typ>
23
+ <ParentId>DBC_EM_EDA</ParentId>
24
+ <Value_Type>NAN</Value_Type>
25
+ <CreateTime>26.03.2026 09:54:11.750</CreateTime>
26
+ <ModifyTime>23.04.2026 12:51:04.765</ModifyTime>
27
+ <Text_Palette/>
28
+ <Read_Only>False</Read_Only>
29
+ <TECH_UNIT/>
30
+ <UseLimits>False</UseLimits>
31
+ <VHL>1.00000000000000E+38</VHL>
32
+ <HL>1.00000000000000E+38</HL>
33
+ <LL>-1.00000000000000E+38</LL>
34
+ <VLL>-1.00000000000000E+38</VLL>
35
+ <VHL_ID/>
36
+ <HL_ID/>
37
+ <LL_ID/>
38
+ <VLL_ID/>
39
+ <Hysterezia>0.00000000000000E+00</Hysterezia>
40
+ <TransPalIdx>0</TransPalIdx>
41
+ <Hidden>False</Hidden>
42
+ <uuid>DC4771AFABE21F479810F277A878CC95</uuid>
43
+ <memberOfModule/>
44
+ <moduleRelation>AM_None</moduleRelation>
45
+ <memberOfDevice/>
46
+ <version>2</version>
47
+ <metadata/>
48
+ <EXP_SubDir/>
49
+ </TObjItemData>
50
+ <tDBTableInterface>
51
+ <StructTypId>SD.EM_EDA_Scenario</StructTypId>
52
+ <DB_Access>DBModify</DB_Access>
53
+ <DB_Table>EDA_SCENAR</DB_Table>
54
+ <DB_Key>1</DB_Key>
55
+ <DB_DeepCol>0</DB_DeepCol>
56
+ <DB_DeepTime>0</DB_DeepTime>
57
+ <DB_PurposeId/>
58
+ <DB_Optional/>
59
+ <DB_Not_Null/>
60
+ <DB_Export_Monitored>False</DB_Export_Monitored>
61
+ </tDBTableInterface>
62
+ </CFGRECORDS>
63
+ <MEMBEROFRESGROUP>
64
+ </MEMBEROFRESGROUP>
65
+ </ROOT>
@@ -0,0 +1,65 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <ROOT>
3
+ <REFERENCES>
4
+ <HOBJ_REF>
5
+ <uid>AE08787EB75A384D9C91C542BEDFBB8F</uid>
6
+ <name>DBC_EM_EDA</name>
7
+ <objType>DB_CONNECT</objType>
8
+ <valType>Int</valType>
9
+ </HOBJ_REF>
10
+ <HOBJ_REF>
11
+ <uid>153DB088C0D3BA4AA4CE2A1E44C1FD4E</uid>
12
+ <name>SD.EM_EDA_Vector</name>
13
+ <objType>STRUCTDEF</objType>
14
+ <valType>NAN</valType>
15
+ </HOBJ_REF>
16
+ </REFERENCES>
17
+ <CFGRECORDS>
18
+ <TObjItemData>
19
+ <Id>2578144</Id>
20
+ <Name>DB.EM_EDA_Vector</Name>
21
+ <Descript>EDA Vector</Descript>
22
+ <Typ>DB_TABLE</Typ>
23
+ <ParentId>DBC_EM_EDA</ParentId>
24
+ <Value_Type>NAN</Value_Type>
25
+ <CreateTime>26.03.2026 09:48:19.506</CreateTime>
26
+ <ModifyTime>23.04.2026 12:51:13.074</ModifyTime>
27
+ <Text_Palette/>
28
+ <Read_Only>False</Read_Only>
29
+ <TECH_UNIT/>
30
+ <UseLimits>False</UseLimits>
31
+ <VHL>1.00000000000000E+38</VHL>
32
+ <HL>1.00000000000000E+38</HL>
33
+ <LL>-1.00000000000000E+38</LL>
34
+ <VLL>-1.00000000000000E+38</VLL>
35
+ <VHL_ID/>
36
+ <HL_ID/>
37
+ <LL_ID/>
38
+ <VLL_ID/>
39
+ <Hysterezia>0.00000000000000E+00</Hysterezia>
40
+ <TransPalIdx>0</TransPalIdx>
41
+ <Hidden>False</Hidden>
42
+ <uuid>5D1EC332EA805F4BAC65D2D0888B1C0E</uuid>
43
+ <memberOfModule/>
44
+ <moduleRelation>AM_None</moduleRelation>
45
+ <memberOfDevice/>
46
+ <version>2</version>
47
+ <metadata/>
48
+ <EXP_SubDir/>
49
+ </TObjItemData>
50
+ <tDBTableInterface>
51
+ <StructTypId>SD.EM_EDA_Vector</StructTypId>
52
+ <DB_Access>DBModify</DB_Access>
53
+ <DB_Table>EDA_VEKTOR</DB_Table>
54
+ <DB_Key>1</DB_Key>
55
+ <DB_DeepCol>0</DB_DeepCol>
56
+ <DB_DeepTime>0</DB_DeepTime>
57
+ <DB_PurposeId/>
58
+ <DB_Optional/>
59
+ <DB_Not_Null/>
60
+ <DB_Export_Monitored>False</DB_Export_Monitored>
61
+ </tDBTableInterface>
62
+ </CFGRECORDS>
63
+ <MEMBEROFRESGROUP>
64
+ </MEMBEROFRESGROUP>
65
+ </ROOT>
@@ -0,0 +1,65 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <ROOT>
3
+ <REFERENCES>
4
+ <HOBJ_REF>
5
+ <uid>AE08787EB75A384D9C91C542BEDFBB8F</uid>
6
+ <name>DBC_EM_EDA</name>
7
+ <objType>DB_CONNECT</objType>
8
+ <valType>Int</valType>
9
+ </HOBJ_REF>
10
+ <HOBJ_REF>
11
+ <uid>AFDD83C85DDF934086CD1535D22D2911</uid>
12
+ <name>SD.EM_EDA_VectorEx</name>
13
+ <objType>STRUCTDEF</objType>
14
+ <valType>NAN</valType>
15
+ </HOBJ_REF>
16
+ </REFERENCES>
17
+ <CFGRECORDS>
18
+ <TObjItemData>
19
+ <Id>2578145</Id>
20
+ <Name>DB.EM_EDA_VectorEx</Name>
21
+ <Descript>EDA Vector Ex</Descript>
22
+ <Typ>DB_TABLE</Typ>
23
+ <ParentId>DBC_EM_EDA</ParentId>
24
+ <Value_Type>NAN</Value_Type>
25
+ <CreateTime>26.03.2026 09:50:53.553</CreateTime>
26
+ <ModifyTime>23.04.2026 12:51:27.498</ModifyTime>
27
+ <Text_Palette/>
28
+ <Read_Only>False</Read_Only>
29
+ <TECH_UNIT/>
30
+ <UseLimits>False</UseLimits>
31
+ <VHL>1.00000000000000E+38</VHL>
32
+ <HL>1.00000000000000E+38</HL>
33
+ <LL>-1.00000000000000E+38</LL>
34
+ <VLL>-1.00000000000000E+38</VLL>
35
+ <VHL_ID/>
36
+ <HL_ID/>
37
+ <LL_ID/>
38
+ <VLL_ID/>
39
+ <Hysterezia>0.00000000000000E+00</Hysterezia>
40
+ <TransPalIdx>0</TransPalIdx>
41
+ <Hidden>False</Hidden>
42
+ <uuid>5EE3C5C02DB9B54FA453690E22D9E0B7</uuid>
43
+ <memberOfModule/>
44
+ <moduleRelation>AM_None</moduleRelation>
45
+ <memberOfDevice/>
46
+ <version>1</version>
47
+ <metadata/>
48
+ <EXP_SubDir/>
49
+ </TObjItemData>
50
+ <tDBTableInterface>
51
+ <StructTypId>SD.EM_EDA_VectorEx</StructTypId>
52
+ <DB_Access>DBModify</DB_Access>
53
+ <DB_Table>EDA_VEKTOREX</DB_Table>
54
+ <DB_Key>1</DB_Key>
55
+ <DB_DeepCol>0</DB_DeepCol>
56
+ <DB_DeepTime>0</DB_DeepTime>
57
+ <DB_PurposeId/>
58
+ <DB_Optional/>
59
+ <DB_Not_Null/>
60
+ <DB_Export_Monitored>False</DB_Export_Monitored>
61
+ </tDBTableInterface>
62
+ </CFGRECORDS>
63
+ <MEMBEROFRESGROUP>
64
+ </MEMBEROFRESGROUP>
65
+ </ROOT>