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.
- package/api/eda/edaManagerApi.d.ts +26 -0
- package/api/eda/edaManagerApi.js +51 -0
- package/api/eda/edaManagerApi.js.map +1 -0
- package/api/eda/generated/events.d.ts +132 -0
- package/api/eda/generated/events.js +295 -0
- package/api/eda/generated/events.js.map +1 -0
- package/api/eda/generated/structures.d.ts +109 -0
- package/api/eda/generated/structures.js +2 -0
- package/api/eda/generated/structures.js.map +1 -0
- package/api/webPush/webPushApi.js.map +1 -1
- package/api/webPush/webPushUtils.js.map +1 -1
- package/core/i18n/d2aura.en.json +40 -1
- package/core/i18n/d2aura.sk.json +87 -1
- package/coreui/components/advancedFilter/advancedFilteredGrid.d.ts +1 -0
- package/coreui/components/advancedFilter/advancedFilteredGrid.js +5 -0
- package/coreui/components/advancedFilter/advancedFilteredGrid.js.map +1 -1
- package/coreui/components/edaManager/abstract/edaManagerAbstractPanel.d.ts +3 -2
- package/coreui/components/edaManager/abstract/edaManagerAbstractPanel.js +3 -3
- package/coreui/components/edaManager/abstract/edaManagerAbstractPanel.js.map +1 -1
- package/coreui/components/edaManager/abstract/edaManagerAbstractTablePanel.d.ts +2 -1
- package/coreui/components/edaManager/abstract/edaManagerAbstractTablePanel.js.map +1 -1
- package/coreui/components/edaManager/compactPanel/edaManagerCompactPanel.d.ts +7 -1
- package/coreui/components/edaManager/compactPanel/edaManagerCompactPanel.js.map +1 -1
- package/coreui/components/edaManager/components/edaManagerTablePanel.js +3 -2
- package/coreui/components/edaManager/components/edaManagerTablePanel.js.map +1 -1
- package/coreui/components/edaManagerComponent/components/edaBasePanel.d.ts +16 -0
- package/coreui/components/edaManagerComponent/components/edaBasePanel.js +85 -0
- package/coreui/components/edaManagerComponent/components/edaBasePanel.js.map +1 -0
- package/coreui/components/edaManagerComponent/components/edaDataBasePanel.d.ts +43 -0
- package/coreui/components/edaManagerComponent/components/edaDataBasePanel.js +217 -0
- package/coreui/components/edaManagerComponent/components/edaDataBasePanel.js.map +1 -0
- package/coreui/components/edaManagerComponent/components/edaDetailPanel.d.ts +16 -0
- package/coreui/components/edaManagerComponent/components/edaDetailPanel.js +25 -0
- package/coreui/components/edaManagerComponent/components/edaDetailPanel.js.map +1 -0
- package/coreui/components/edaManagerComponent/components/edaGraphPanel.d.ts +7 -0
- package/coreui/components/edaManagerComponent/components/edaGraphPanel.js +393 -0
- package/coreui/components/edaManagerComponent/components/edaGraphPanel.js.map +1 -0
- package/coreui/components/edaManagerComponent/components/edaGroupDetailPanel.d.ts +18 -0
- package/coreui/components/edaManagerComponent/components/edaGroupDetailPanel.js +72 -0
- package/coreui/components/edaManagerComponent/components/edaGroupDetailPanel.js.map +1 -0
- package/coreui/components/edaManagerComponent/components/edaSampleRangePickerPanel.d.ts +29 -0
- package/coreui/components/edaManagerComponent/components/edaSampleRangePickerPanel.js +94 -0
- package/coreui/components/edaManagerComponent/components/edaSampleRangePickerPanel.js.map +1 -0
- package/coreui/components/edaManagerComponent/components/edaScenarioDetailPanel.d.ts +18 -0
- package/coreui/components/edaManagerComponent/components/edaScenarioDetailPanel.js +86 -0
- package/coreui/components/edaManagerComponent/components/edaScenarioDetailPanel.js.map +1 -0
- package/coreui/components/edaManagerComponent/components/edaTablePanel.d.ts +4 -0
- package/coreui/components/edaManagerComponent/components/edaTablePanel.js +73 -0
- package/coreui/components/edaManagerComponent/components/edaTablePanel.js.map +1 -0
- package/coreui/components/edaManagerComponent/components/edaTimeWindowPickerPanel.d.ts +34 -0
- package/coreui/components/edaManagerComponent/components/edaTimeWindowPickerPanel.js +202 -0
- package/coreui/components/edaManagerComponent/components/edaTimeWindowPickerPanel.js.map +1 -0
- package/coreui/components/edaManagerComponent/components/edaTreeView.d.ts +61 -0
- package/coreui/components/edaManagerComponent/components/edaTreeView.js +399 -0
- package/coreui/components/edaManagerComponent/components/edaTreeView.js.map +1 -0
- package/coreui/components/edaManagerComponent/components/edaVectorDetailPanel.d.ts +20 -0
- package/coreui/components/edaManagerComponent/components/edaVectorDetailPanel.js +162 -0
- package/coreui/components/edaManagerComponent/components/edaVectorDetailPanel.js.map +1 -0
- package/coreui/components/edaManagerComponent/constants/edaTypes.d.ts +78 -0
- package/coreui/components/edaManagerComponent/constants/edaTypes.js +71 -0
- package/coreui/components/edaManagerComponent/constants/edaTypes.js.map +1 -0
- package/coreui/components/edaManagerComponent/constants/storageTypes.d.ts +5 -0
- package/coreui/components/edaManagerComponent/constants/storageTypes.js +7 -0
- package/coreui/components/edaManagerComponent/constants/storageTypes.js.map +1 -0
- package/coreui/components/edaManagerComponent/context/sharedSampleRange.d.ts +17 -0
- package/coreui/components/edaManagerComponent/context/sharedSampleRange.js +3 -0
- package/coreui/components/edaManagerComponent/context/sharedSampleRange.js.map +1 -0
- package/coreui/components/edaManagerComponent/context/sharedSampleRangeWrapper.d.ts +6 -0
- package/coreui/components/edaManagerComponent/context/sharedSampleRangeWrapper.js +14 -0
- package/coreui/components/edaManagerComponent/context/sharedSampleRangeWrapper.js.map +1 -0
- package/coreui/components/edaManagerComponent/edaDetail.d.ts +45 -0
- package/coreui/components/edaManagerComponent/edaDetail.js +173 -0
- package/coreui/components/edaManagerComponent/edaDetail.js.map +1 -0
- package/coreui/components/edaManagerComponent/edaManager.d.ts +20 -0
- package/coreui/components/edaManagerComponent/edaManager.js +33 -0
- package/coreui/components/edaManagerComponent/edaManager.js.map +1 -0
- package/coreui/components/edaManagerComponent/edaNavigator.d.ts +19 -0
- package/coreui/components/edaManagerComponent/edaNavigator.js +64 -0
- package/coreui/components/edaManagerComponent/edaNavigator.js.map +1 -0
- package/coreui/components/edaManagerComponent/edaSelect.d.ts +10 -0
- package/coreui/components/edaManagerComponent/edaSelect.js +9 -0
- package/coreui/components/edaManagerComponent/edaSelect.js.map +1 -0
- package/coreui/components/edaManagerComponent/icons/letterCFilled.d.ts +6 -0
- package/coreui/components/edaManagerComponent/icons/letterCFilled.js +6 -0
- package/coreui/components/edaManagerComponent/icons/letterCFilled.js.map +1 -0
- package/coreui/components/edaManagerComponent/icons/letterDFilled.d.ts +6 -0
- package/coreui/components/edaManagerComponent/icons/letterDFilled.js +6 -0
- package/coreui/components/edaManagerComponent/icons/letterDFilled.js.map +1 -0
- package/coreui/components/edaManagerComponent/icons/letterHFilled.d.ts +6 -0
- package/coreui/components/edaManagerComponent/icons/letterHFilled.js +6 -0
- package/coreui/components/edaManagerComponent/icons/letterHFilled.js.map +1 -0
- package/coreui/components/edaManagerComponent/icons/letterIFilled.d.ts +6 -0
- package/coreui/components/edaManagerComponent/icons/letterIFilled.js +6 -0
- package/coreui/components/edaManagerComponent/icons/letterIFilled.js.map +1 -0
- package/coreui/components/edaManagerComponent/icons/letterMFilled.d.ts +6 -0
- package/coreui/components/edaManagerComponent/icons/letterMFilled.js +6 -0
- package/coreui/components/edaManagerComponent/icons/letterMFilled.js.map +1 -0
- package/coreui/components/edaManagerComponent/icons/numberFifteenFilled.d.ts +6 -0
- package/coreui/components/edaManagerComponent/icons/numberFifteenFilled.js +7 -0
- package/coreui/components/edaManagerComponent/icons/numberFifteenFilled.js.map +1 -0
- package/coreui/components/edaManagerComponent/icons/pairOutlined.d.ts +6 -0
- package/coreui/components/edaManagerComponent/icons/pairOutlined.js +6 -0
- package/coreui/components/edaManagerComponent/icons/pairOutlined.js.map +1 -0
- package/coreui/components/edaManagerComponent/icons/periodicOutlined.d.ts +6 -0
- package/coreui/components/edaManagerComponent/icons/periodicOutlined.js +6 -0
- package/coreui/components/edaManagerComponent/icons/periodicOutlined.js.map +1 -0
- package/coreui/components/edaManagerComponent/utils/utils.d.ts +2 -0
- package/coreui/components/edaManagerComponent/utils/utils.js +8 -0
- package/coreui/components/edaManagerComponent/utils/utils.js.map +1 -0
- package/coreui/components/select/abstractSelectModalDialog.d.ts +6 -1
- package/coreui/components/select/abstractSelectModalDialog.js +21 -10
- package/coreui/components/select/abstractSelectModalDialog.js.map +1 -1
- package/coreui/components/webPush/webPushSwitch.js.map +1 -1
- package/coreui/images/logo.svg +9 -9
- package/coreui/images/logo_full.svg +11 -11
- package/d2configuration/edaManager/DB.EM_EDA_Function.xml +65 -0
- package/d2configuration/edaManager/DB.EM_EDA_GroupVector.xml +65 -0
- package/d2configuration/edaManager/DB.EM_EDA_Scenario.xml +65 -0
- package/d2configuration/edaManager/DB.EM_EDA_Vector.xml +65 -0
- package/d2configuration/edaManager/DB.EM_EDA_VectorEx.xml +65 -0
- package/d2configuration/edaManager/DBC_EM_EDA.xml +51 -0
- package/d2configuration/edaManager/E.EM_DETAIL_IMPL.xml +124 -0
- package/d2configuration/edaManager/E.EM_DETAIL_UNIT.xml +202 -0
- package/d2configuration/edaManager/E.EM_NAVIGATOR_IMPL.xml +160 -0
- package/d2configuration/edaManager/E.EM_NAVIGATOR_SQL.xml +272 -0
- package/d2configuration/edaManager/E.EM_NAVIGATOR_UNIT.xml +346 -0
- package/d2configuration/edaManager/E.EM_VECTOR_IMPL.xml +92 -0
- package/d2configuration/edaManager/E.EM_VECTOR_MANAGER.xml +116 -0
- package/d2configuration/edaManager/E.EM_VECTOR_UNIT.xml +124 -0
- package/d2configuration/edaManager/EDA_CancelSession.xml +54 -0
- package/d2configuration/edaManager/EDA_GetSessionId.xml +54 -0
- package/d2configuration/edaManager/EDA_ReadValuesFromVektorRec.xml +54 -0
- package/d2configuration/edaManager/SD.EM_EDA_Function.xml +135 -0
- package/d2configuration/edaManager/SD.EM_EDA_GroupVector.xml +190 -0
- package/d2configuration/edaManager/SD.EM_EDA_ReadValuesFromVector_V1.xml +168 -0
- package/d2configuration/edaManager/SD.EM_EDA_Scenario.xml +322 -0
- package/d2configuration/edaManager/SD.EM_EDA_Vector.xml +465 -0
- package/d2configuration/edaManager/SD.EM_EDA_VectorEx.xml +80 -0
- package/d2configuration/edaManager/SD.EM_EDA_VectorValues.xml +58 -0
- package/d2configuration/edaManager/SD.EM_Tree_Item.xml +113 -0
- package/package.json +7 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edaManagerAbstractTablePanel.js","sourceRoot":"","sources":["../../../../../../coreui/components/edaManager/abstract/edaManagerAbstractTablePanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAClD,OAAO,gBAAgB,MAAM,2CAA2C,CAAC;AACzE,OAAO,EAAC,KAAK,EAAC,MAAM,MAAM,CAAC;AAC3B,OAAO,IAAI,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"edaManagerAbstractTablePanel.js","sourceRoot":"","sources":["../../../../../../coreui/components/edaManager/abstract/edaManagerAbstractTablePanel.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from \"react\";\r\nimport {DataGridColDef, MenuElement} from \"d2coreui/components/grid/dataGrid\";\r\nimport {LoadingOutlined} from \"@ant-design/icons\";\r\nimport ExtendedDataGrid from \"d2coreui/components/grid/extendedDataGrid\";\r\nimport {Empty} from \"antd\";\r\nimport i18n from \"d2core/i18n/i18n\";\r\nimport {EdaManagerRecord, EdaVector} from \"../../../../api/edaApi\";\r\nimport {GridRowStyle} from \"d2coreui/components/grid/cell/tableDefaultRowStyleRules\";\r\nimport {SelectionChangedEvent, GridReadyEvent, GridApi} from \"ag-grid-community\";\r\nimport {EdaManagerArchiveValue} from \"../compactPanel/edaManagerCompactPanel\";\r\n\r\nexport interface EdaManagerAbstractTablePanelProps {\r\n style?: React.CSSProperties\r\n currentArchiveValues?: EdaManagerArchiveValue[]\r\n currentVectors?: EdaVector[],\r\n loadedVectors: EdaManagerRecord[],\r\n loading?: boolean\r\n}\r\n\r\nexport interface EdaManagerAbstractTablePanelState {\r\n columnDefs: DataGridColDef[]\r\n selectedData: EdaManagerRecord[]\r\n}\r\n\r\nexport default abstract class EdaManagerAbstractTablePanel<P extends EdaManagerAbstractTablePanelProps, S extends EdaManagerAbstractTablePanelState> extends React.Component<P, S> {\r\n protected gridApi?: GridApi;\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.renderContextMenu = this.renderContextMenu.bind(this);\r\n this.onClickContextMenuItem = this.onClickContextMenuItem.bind(this);\r\n }\r\n\r\n protected initialState: EdaManagerAbstractTablePanelState = {\r\n columnDefs: this.getColumnDefs(),\r\n selectedData: [],\r\n }\r\n\r\n onReload() {\r\n this.setState({columnDefs: this.getColumnDefs()});\r\n }\r\n\r\n refreshCells() {\r\n this.gridApi?.refreshCells();\r\n }\r\n\r\n redrawRows() {\r\n this.gridApi?.redrawRows();\r\n }\r\n\r\n protected getDateTimeColumn(): DataGridColDef {\r\n return {\r\n headerName: i18n(\"Date\"),\r\n colId: \"date\",\r\n field: \"date\",\r\n type: \"dateTimeColumn\",\r\n initialWidth: 140,\r\n group: i18n(\"Basic Columns\"),\r\n }\r\n }\r\n\r\n abstract getColumnDefs(): DataGridColDef[];\r\n\r\n private onSelectionChanged(event: SelectionChangedEvent) {\r\n const selectedRows = event.api.getSelectedRows();\r\n this.setState({selectedData: selectedRows});\r\n }\r\n\r\n protected renderToolbarButtons(): React.ReactElement | undefined {\r\n return undefined;\r\n }\r\n\r\n protected renderAdditionalContent(): React.ReactNode | undefined {\r\n return undefined;\r\n }\r\n\r\n protected getRowStyle(data: EdaManagerRecord): GridRowStyle | undefined {\r\n data;\r\n return undefined;\r\n }\r\n\r\n protected renderContextMenu(originalMenuItems: MenuElement[]): MenuElement[] {\r\n return originalMenuItems;\r\n }\r\n\r\n protected onClickContextMenuItem(key: string) {\r\n key;\r\n }\r\n\r\n render() {\r\n const toolbarButtons = this.renderToolbarButtons();\r\n\r\n if (this.props.loading) {\r\n return (\r\n <div style={{display: \"flex\", flexDirection: \"column\", height: \"100%\", ...this.props.style}}>\r\n {toolbarButtons}\r\n <div style={{height: \"100%\", display: \"flex\", justifyContent: \"center\", alignItems: \"center\"}}>\r\n <LoadingOutlined/>\r\n </div>\r\n </div>\r\n );\r\n }\r\n\r\n return (\r\n <div style={{height: \"100%\"}}>\r\n {this.renderAdditionalContent()}\r\n <ExtendedDataGrid\r\n columnDefs={this.state.columnDefs}\r\n onLoadData={callback => {\r\n callback(this.props.loadedVectors.length)\r\n }}\r\n defaultGridConfiguration={{\r\n pageSize: -1,\r\n }}\r\n onGridReady={(params: GridReadyEvent) => {\r\n this.gridApi = params.api;\r\n }}\r\n rowData={this.props.loadedVectors}\r\n onSelectionChanged={this.onSelectionChanged}\r\n tablePanelStyle={{marginTop: 8}}\r\n panelStyle={this.props.style}\r\n toolbar={{\r\n hideRecordCount: true,\r\n toolbarButtons: toolbarButtons,\r\n }}\r\n search={{\r\n hidden: true,\r\n searchButtonHidden: true,\r\n }}\r\n contextMenu={{\r\n renderer: this.renderContextMenu,\r\n onClick: this.onClickContextMenuItem\r\n }}\r\n noRecordsOverlayRenderer={() =>\r\n <Empty description={i18n(\"No records found.\")} imageStyle={{height: \"8vh\"}}/>\r\n }\r\n getRowStyle={params => {\r\n const data = params.node.data as EdaManagerRecord;\r\n return this.getRowStyle(data);\r\n }}\r\n rowSelection=\"multiple\"\r\n singleClickEdit\r\n stopEditingWhenCellsLoseFocus\r\n enterNavigatesVerticallyAfterEdit\r\n />\r\n </div>\r\n )\r\n }\r\n\r\n}"]}
|
|
@@ -1,8 +1,14 @@
|
|
|
1
1
|
import EdaManagerAbstractPanel, { EdaManagerAbstractPanelProps, EdaManagerAbstractPanelState, EdaManagerFilter } from "../abstract/edaManagerAbstractPanel";
|
|
2
2
|
import { EdaVector, EdaStepEnum } from "../../../../api/edaApi";
|
|
3
3
|
import dayjs from "d2core/dayjs";
|
|
4
|
+
import { DataGridColDef } from "d2coreui/components/grid/dataGrid";
|
|
5
|
+
export interface EdaManagerArchiveValue {
|
|
6
|
+
objectName: string;
|
|
7
|
+
displayName?: string;
|
|
8
|
+
columnDefinition?: Partial<DataGridColDef>;
|
|
9
|
+
}
|
|
4
10
|
interface Props extends EdaManagerAbstractPanelProps {
|
|
5
|
-
initialArchiveValues?:
|
|
11
|
+
initialArchiveValues?: EdaManagerArchiveValue[];
|
|
6
12
|
initialVectors?: EdaVector[];
|
|
7
13
|
initialTimeFrom: dayjs.Dayjs | null;
|
|
8
14
|
initialTimeTo: dayjs.Dayjs | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edaManagerCompactPanel.js","sourceRoot":"","sources":["../../../../../../coreui/components/edaManager/compactPanel/edaManagerCompactPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,uBAIN,MAAM,qCAAqC,CAAC;AAC7C,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAC,4BAA4B,EAAC,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAY,WAAW,EAAC,MAAM,wBAAwB,CAAC;AAE9D,OAAO,OAAO,MAAM,gBAAgB,CAAC;AACrC,OAAO,SAAS,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"edaManagerCompactPanel.js","sourceRoot":"","sources":["../../../../../../coreui/components/edaManager/compactPanel/edaManagerCompactPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,uBAIN,MAAM,qCAAqC,CAAC;AAC7C,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAC,4BAA4B,EAAC,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAY,WAAW,EAAC,MAAM,wBAAwB,CAAC;AAE9D,OAAO,OAAO,MAAM,gBAAgB,CAAC;AACrC,OAAO,SAAS,MAAM,kBAAkB,CAAC;AAoBzC,MAAM,CAAC,OAAO,OAAO,sBAAuB,SAAQ,uBAAqC;IACrF,YAAY,KAAsB;QAC9B,KAAK,CAAC,KAAK,CAAC,CAAC;QAEb,IAAI,CAAC,KAAK,GAAG;YACT,WAAW,EAAE,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,4BAA4B,EAAE,CAAC;YACtE,GAAG,IAAI,CAAC,YAAY;SACvB,CAAA;IACL,CAAC;IAED,kBAAkB,CAAC,SAA0B;QACzC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,oBAAoB,EAAE,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,SAAS,CAAC,WAAW,KAAK,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;YACnU,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;YAC/C,aAAa,CAAC,oBAAoB,GAAG,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC;YACrE,aAAa,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC;YACzD,aAAa,CAAC,sBAAsB,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC;YACnF,aAAa,CAAC,sBAAsB,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;YAC/E,aAAa,CAAC,sBAAsB,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,WAAW,CAAC,aAAa,CAAC;YAExG,IAAI,CAAC,QAAQ,CAAC;gBACV,aAAa,EAAE,EAAE;gBACjB,oBAAoB,EAAE,EAAE;gBACxB,aAAa,EAAE,aAAa;gBAC5B,gBAAgB,EAAE,SAAS,CAAC,aAAa,CAAC;aAC7C,EAAE,GAAG,EAAE;gBACJ,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,sBAAsB,CAAC,WAAW,EAAE,CAAC;oBAC9D,IAAI,CAAC,aAAa,EAAE,CAAC;gBACzB,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAED,IAAc,2BAA2B;QACrC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,IAAc,eAAe;QACzB,OAAO,EAAC,OAAO,EAAE,aAAa,EAAC,CAAC;IACpC,CAAC;IAED,IAAc,aAAa;QACvB,OAAO;YACH,oBAAoB,EAAE,IAAI,CAAC,KAAK,CAAC,oBAAoB;YACrD,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc;YACzC,sBAAsB,EAAE;gBACpB,gBAAgB,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe;gBAC5C,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa;gBACxC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,WAAW,CAAC,aAAa;gBACjE,WAAW,EAAE,KAAK;aACrB;SACJ,CAAA;IACL,CAAC;CACJ","sourcesContent":["import EdaManagerAbstractPanel, {\r\n EdaManagerAbstractPanelProps,\r\n EdaManagerAbstractPanelState,\r\n EdaManagerFilter\r\n} from \"../abstract/edaManagerAbstractPanel\";\r\nimport * as FlexLayout from \"flexlayout-react\";\r\nimport {edaManagerCompactLayoutModel} from \"./initialLayout\";\r\nimport {EdaVector, EdaStepEnum} from \"../../../../api/edaApi\";\r\nimport dayjs from \"d2core/dayjs\";\r\nimport isEqual from \"lodash/isEqual\";\r\nimport cloneDeep from \"lodash/cloneDeep\";\r\nimport {DataGridColDef} from \"d2coreui/components/grid/dataGrid\";\r\n\r\nexport interface EdaManagerArchiveValue {\r\n objectName: string,\r\n displayName?: string,\r\n columnDefinition?: Partial<DataGridColDef>\r\n}\r\n\r\ninterface Props extends EdaManagerAbstractPanelProps {\r\n initialArchiveValues?: EdaManagerArchiveValue[]\r\n initialVectors?: EdaVector[]\r\n initialTimeFrom: dayjs.Dayjs | null\r\n initialTimeTo: dayjs.Dayjs | null\r\n initialStep?: EdaStepEnum\r\n}\r\n\r\ninterface State extends EdaManagerAbstractPanelState {\r\n}\r\n\r\nexport default class EdaManagerCompactPanel extends EdaManagerAbstractPanel<Props, State> {\r\n constructor(props: Readonly<Props>) {\r\n super(props);\r\n\r\n this.state = {\r\n layoutModel: FlexLayout.Model.fromJson(edaManagerCompactLayoutModel()),\r\n ...this.initialState,\r\n }\r\n }\r\n\r\n componentDidUpdate(prevProps: Readonly<Props>) {\r\n if (!isEqual(prevProps.initialVectors, this.props.initialVectors) || !isEqual(prevProps.initialArchiveValues, this.props.initialArchiveValues) || !isEqual(prevProps.initialTimeFrom, this.props.initialTimeFrom) || !isEqual(prevProps.initialTimeTo, this.props.initialTimeTo) || prevProps.initialStep !== this.props.initialStep) {\r\n const currentFilter = this.state.currentFilter;\r\n currentFilter.currentArchiveValues = this.props.initialArchiveValues;\r\n currentFilter.currentVectors = this.props.initialVectors;\r\n currentFilter.timePanelConfiguration.selectedTimeFrom = this.props.initialTimeFrom;\r\n currentFilter.timePanelConfiguration.selectedTimeTo = this.props.initialTimeTo;\r\n currentFilter.timePanelConfiguration.selectedStep = this.props.initialStep ?? EdaStepEnum.DEFAULT_VALUE;\r\n\r\n this.setState({\r\n loadedVectors: [],\r\n loadedCalendarVector: [],\r\n currentFilter: currentFilter,\r\n loadedDataFilter: cloneDeep(currentFilter),\r\n }, () => {\r\n if (this.state.currentFilter.timePanelConfiguration.autoRefresh) {\r\n this.onLoadVectors();\r\n }\r\n });\r\n }\r\n }\r\n\r\n protected get edaManagerChartPanelCompact(): boolean {\r\n return true;\r\n }\r\n\r\n protected get tabWrapperStyle(): React.CSSProperties {\r\n return {padding: \"8px 0px 0px\"};\r\n }\r\n\r\n protected get initialFilter(): EdaManagerFilter {\r\n return {\r\n currentArchiveValues: this.props.initialArchiveValues,\r\n currentVectors: this.props.initialVectors,\r\n timePanelConfiguration: {\r\n selectedTimeFrom: this.props.initialTimeFrom,\r\n selectedTimeTo: this.props.initialTimeTo,\r\n selectedStep: this.props.initialStep ?? EdaStepEnum.DEFAULT_VALUE,\r\n autoRefresh: false,\r\n }\r\n }\r\n }\r\n}"]}
|
|
@@ -53,8 +53,8 @@ export default class EdaManagerTablePanel extends EdaManagerAbstractTablePanel {
|
|
|
53
53
|
getColumnDefsForArchiveValues() {
|
|
54
54
|
return this.props.currentArchiveValues?.map((value, index) => {
|
|
55
55
|
return {
|
|
56
|
-
headerName: value,
|
|
57
|
-
colId: value,
|
|
56
|
+
headerName: value.displayName ?? value.objectName,
|
|
57
|
+
colId: value.objectName,
|
|
58
58
|
field: `col${index}`,
|
|
59
59
|
type: ["numberColumn", "alignRight"],
|
|
60
60
|
cellRenderer: (params) => {
|
|
@@ -68,6 +68,7 @@ export default class EdaManagerTablePanel extends EdaManagerAbstractTablePanel {
|
|
|
68
68
|
},
|
|
69
69
|
initialWidth: 140,
|
|
70
70
|
group: i18n("Basic Columns"),
|
|
71
|
+
...value.columnDefinition
|
|
71
72
|
};
|
|
72
73
|
}) ?? [];
|
|
73
74
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edaManagerTablePanel.js","sourceRoot":"","sources":["../../../../../../coreui/components/edaManager/components/edaManagerTablePanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,IAAI,MAAM,kBAAkB,CAAC;AAGpC,OAAO,0BAA0B,MAAM,qCAAqC,CAAC;AAC7E,OAAO,4BAGN,MAAM,0CAA0C,CAAC;AAClD,OAAO,SAAS,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAC,YAAY,EAAC,MAAM,0BAA0B,CAAC;AAetD,MAAM,CAAC,OAAO,OAAO,oBAAqB,SAAQ,4BAA0C;IACxF,YAAY,KAAsB;QAC9B,KAAK,CAAC,KAAK,CAAC,CAAC;QAEb,IAAI,CAAC,KAAK,GAAG;YACT,2BAA2B,EAAE,KAAK;YAClC,wBAAwB,EAAE,EAAE;YAC5B,8BAA8B,EAAE,EAAE;YAClC,GAAG,IAAI,CAAC,YAAY;SACvB,CAAA;IACL,CAAC;IAEO,0BAA0B;QAC9B,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YACpD,OAAO;gBACH,UAAU,EAAE,MAAM,CAAC,IAAI,IAAI,EAAE;gBAC7B,KAAK,EAAE,MAAM,CAAC,IAAI,IAAI,EAAE;gBACxB,KAAK,EAAE,MAAM,KAAK,EAAE;gBACpB,IAAI,EAAE,CAAC,cAAc,EAAE,YAAY,CAAC;gBACpC,kBAAkB,EAAE;oBAChB,cAAc,EAAE,CAAC;iBACpB;gBACD,YAAY,EAAE,GAAG;gBACjB,mBAAmB,EAAE,CAAC,KAA6B,EAAE,EAAE;oBACnD,MAAM,uBAAuB,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,cAAe,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,MAAM,CAAC,KAAK,CAAE,CAAC,CAAC;oBACxH,MAAM,YAAY,GAAG,SAAS,CAAC,uBAAuB,CAAC,CAAC;oBAExD,uBAAuB,CAAC,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC;oBAErD,YAAY,CAAC,IAAI,IAAI,SAAS,CAAC;oBAC/B,IAAI,YAAY,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;wBACxC,YAAY,CAAC,UAAU,EAAE,CAAC;oBAC9B,CAAC;oBAED,IAAI,CAAC,QAAQ,CAAC;wBACV,2BAA2B,EAAE,IAAI;wBACjC,wBAAwB,EAAE,CAAC,uBAAuB,EAAE,YAAY,CAAC;wBACjE,8BAA8B,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;4BACjE,OAAO;gCACH,EAAE,EAAE,KAAK,CAAC,EAAE;gCACZ,IAAI,EAAE,KAAK,CAAC,IAAI;gCAChB,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAM,CAAC;gCAChC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAM,CAAC;6BACnC,CAAC;wBACN,CAAC,CAAC;qBACL,CAAC,CAAC;gBACP,CAAC;gBACD,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC;aAC/B,CAAA;QACL,CAAC,CAAC,IAAI,EAAE,CAAA;IACZ,CAAC;IAEO,6BAA6B;QACjC,OAAO,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YACzD,OAAO;gBACH,UAAU,EAAE,KAAK;
|
|
1
|
+
{"version":3,"file":"edaManagerTablePanel.js","sourceRoot":"","sources":["../../../../../../coreui/components/edaManager/components/edaManagerTablePanel.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from \"react\";\r\nimport {DataGridColDef} from \"d2coreui/components/grid/dataGrid\";\r\nimport i18n from \"d2core/i18n/i18n\";\r\nimport {EdaApi, EdaManagerRecord, EdaVector} from \"../../../../api/edaApi\";\r\nimport {CellDoubleClickedEvent} from \"ag-grid-community\";\r\nimport EdaVectorDetailModalDialog from \"./detail/edaVectorDetailModalDialog\";\r\nimport EdaManagerAbstractTablePanel, {\r\n EdaManagerAbstractTablePanelProps,\r\n EdaManagerAbstractTablePanelState\r\n} from \"../abstract/edaManagerAbstractTablePanel\";\r\nimport cloneDeep from \"lodash/cloneDeep\";\r\nimport {LocaleHolder} from \"d2core/i18n/localeHolder\";\r\n\r\ninterface Props extends EdaManagerAbstractTablePanelProps {\r\n edaApi?: EdaApi\r\n timePanel?: React.ReactElement\r\n\r\n onReloadVectorData(code: string): void\r\n}\r\n\r\ninterface State extends EdaManagerAbstractTablePanelState {\r\n edaVectorDetailModalVisible: boolean\r\n edaVectorsForDetailPanel: EdaVector[]\r\n loadedVectorDataForDetailPanel: EdaManagerRecord[],\r\n}\r\n\r\nexport default class EdaManagerTablePanel extends EdaManagerAbstractTablePanel<Props, State> {\r\n constructor(props: Readonly<Props>) {\r\n super(props);\r\n\r\n this.state = {\r\n edaVectorDetailModalVisible: false,\r\n edaVectorsForDetailPanel: [],\r\n loadedVectorDataForDetailPanel: [],\r\n ...this.initialState\r\n }\r\n }\r\n\r\n private getColumnDefsForEdaVectors(): DataGridColDef[] {\r\n return this.props.currentVectors?.map((vector, index) => {\r\n return {\r\n headerName: vector.name ?? \"\",\r\n colId: vector.code ?? \"\",\r\n field: `col${index}`,\r\n type: [\"numberColumn\", \"alignRight\"],\r\n cellRendererParams: {\r\n fractionDigits: 6,\r\n },\r\n initialWidth: 140,\r\n onCellDoubleClicked: (event: CellDoubleClickedEvent) => {\r\n const edaVectorForDetailPanel = cloneDeep(this.props.currentVectors!.find(value => value.code === event.colDef.colId)!);\r\n const vectorToEdit = cloneDeep(edaVectorForDetailPanel);\r\n\r\n edaVectorForDetailPanel.name = i18n(\"Original Data\");\r\n\r\n vectorToEdit.code += \"-edited\";\r\n if (vectorToEdit.colorIndex !== undefined) {\r\n vectorToEdit.colorIndex++;\r\n }\r\n\r\n this.setState({\r\n edaVectorDetailModalVisible: true,\r\n edaVectorsForDetailPanel: [edaVectorForDetailPanel, vectorToEdit],\r\n loadedVectorDataForDetailPanel: this.props.loadedVectors.map(value => {\r\n return {\r\n id: value.id,\r\n date: value.date,\r\n col0: value[event.colDef.field!],\r\n col1: value[event.colDef.field!],\r\n };\r\n })\r\n });\r\n },\r\n group: i18n(\"Basic Columns\"),\r\n }\r\n }) ?? []\r\n }\r\n\r\n private getColumnDefsForArchiveValues(): DataGridColDef[] {\r\n return this.props.currentArchiveValues?.map((value, index) => {\r\n return {\r\n headerName: value.displayName ?? value.objectName,\r\n colId: value.objectName,\r\n field: `col${index}`,\r\n type: [\"numberColumn\", \"alignRight\"],\r\n cellRenderer: (params: any): string => {\r\n const value = params.value;\r\n if (value !== undefined && value !== null) {\r\n return LocaleHolder.formatNumber(value, 6, false);\r\n } else {\r\n return \"\";\r\n }\r\n },\r\n initialWidth: 140,\r\n group: i18n(\"Basic Columns\"),\r\n ...value.columnDefinition\r\n }\r\n }) ?? []\r\n }\r\n\r\n\r\n getColumnDefs(): DataGridColDef[] {\r\n return [\r\n this.getDateTimeColumn(),\r\n ...this.getColumnDefsForEdaVectors(),\r\n ...this.getColumnDefsForArchiveValues(),\r\n ]\r\n }\r\n\r\n private renderEdaVectorDetailModalDialog() {\r\n return (\r\n <EdaVectorDetailModalDialog\r\n edaApi={this.props.edaApi!}\r\n visible={this.state.edaVectorDetailModalVisible}\r\n onCancel={() => this.setState({edaVectorDetailModalVisible: false})}\r\n edaVectors={this.state.edaVectorsForDetailPanel}\r\n loadedVectorData={this.state.loadedVectorDataForDetailPanel}\r\n onReloadVectorData={() => {\r\n this.props.onReloadVectorData(this.state.edaVectorsForDetailPanel[0]?.code ?? \"\");\r\n this.setState({\r\n edaVectorDetailModalVisible: false,\r\n edaVectorsForDetailPanel: [],\r\n loadedVectorDataForDetailPanel: [],\r\n });\r\n }}\r\n />\r\n );\r\n }\r\n\r\n protected renderToolbarButtons() {\r\n return this.props.timePanel;\r\n }\r\n\r\n protected renderAdditionalContent(): React.ReactNode | undefined {\r\n return this.renderEdaVectorDetailModalDialog()\r\n }\r\n\r\n}"]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { GroupData, IdType, ScenarioData, VectorData } from "../constants/edaTypes";
|
|
3
|
+
import { AliasToken } from "antd/es/theme/interface";
|
|
4
|
+
export interface BaseProps {
|
|
5
|
+
data?: VectorData | GroupData | ScenarioData;
|
|
6
|
+
type?: IdType;
|
|
7
|
+
}
|
|
8
|
+
export interface BaseState {
|
|
9
|
+
}
|
|
10
|
+
export declare abstract class EdaBasePanel<P extends BaseProps, S extends BaseState> extends React.Component<P, S> {
|
|
11
|
+
protected constructor(props: Readonly<P>);
|
|
12
|
+
protected abstract renderPanel(theme: AliasToken, type: IdType, data: VectorData | GroupData | ScenarioData): React.ReactNode;
|
|
13
|
+
protected abstract getDefaultBaseState(props: Readonly<P>): S;
|
|
14
|
+
render(): React.JSX.Element;
|
|
15
|
+
private renderEmpty;
|
|
16
|
+
}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Card, Empty } from "antd";
|
|
3
|
+
import { createStyles } from "antd-style";
|
|
4
|
+
import WithCss from "d2coreui/components/style/withCss";
|
|
5
|
+
import i18n from "d2core/i18n/i18n";
|
|
6
|
+
const useStyles = createStyles(({ css, token }) => {
|
|
7
|
+
return {
|
|
8
|
+
baseLayout: css `
|
|
9
|
+
display: flex;
|
|
10
|
+
height: 100%;
|
|
11
|
+
flex-direction: column;
|
|
12
|
+
justify-content: space-between;
|
|
13
|
+
border-top-left-radius: 0;
|
|
14
|
+
border-top-right-radius: 0;
|
|
15
|
+
|
|
16
|
+
> .ant-card-body {
|
|
17
|
+
height: 100%;
|
|
18
|
+
padding: ${token.paddingXS}px;
|
|
19
|
+
|
|
20
|
+
> div {
|
|
21
|
+
height: 100%;
|
|
22
|
+
overflow-x: hidden;
|
|
23
|
+
overflow-y: auto;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.ant-spin-nested-loading {
|
|
28
|
+
height: 100%;
|
|
29
|
+
width: 100%;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.ant-spin-container {
|
|
33
|
+
display: flex;
|
|
34
|
+
height: 100%;
|
|
35
|
+
width: 100%;
|
|
36
|
+
flex-direction: column;
|
|
37
|
+
justify-content: space-between;
|
|
38
|
+
gap: ${token.paddingXXS}px;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
.ant-spin-container > div {
|
|
42
|
+
flex: 0 0 auto;
|
|
43
|
+
display: flex;
|
|
44
|
+
justify-content: space-between;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.ant-spin-container > div:last-child {
|
|
48
|
+
width: 100%;
|
|
49
|
+
flex: 1 1 auto;
|
|
50
|
+
position: relative;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
.eda-detail-no-data {
|
|
54
|
+
padding: ${token.padding}px;
|
|
55
|
+
display: flex;
|
|
56
|
+
align-items: center;
|
|
57
|
+
justify-content: center !important;
|
|
58
|
+
width: 100%;
|
|
59
|
+
height: 100%;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
.progress {
|
|
63
|
+
display: flex;
|
|
64
|
+
align-items: center;
|
|
65
|
+
justify-content: center;
|
|
66
|
+
}
|
|
67
|
+
`
|
|
68
|
+
};
|
|
69
|
+
});
|
|
70
|
+
export class EdaBasePanel extends React.Component {
|
|
71
|
+
constructor(props) {
|
|
72
|
+
super(props);
|
|
73
|
+
this.state = this.getDefaultBaseState(props);
|
|
74
|
+
}
|
|
75
|
+
render() {
|
|
76
|
+
const { type, data } = this.props;
|
|
77
|
+
return (React.createElement(WithCss, { useStyles: useStyles }, (css) => React.createElement(Card, { className: css.styles.baseLayout },
|
|
78
|
+
React.createElement("div", null, (type === undefined || data === undefined) ? this.renderEmpty() : this.renderPanel(css.theme, type, data)))));
|
|
79
|
+
}
|
|
80
|
+
renderEmpty() {
|
|
81
|
+
return React.createElement("div", { className: "eda-detail-no-data" },
|
|
82
|
+
React.createElement(Empty, { description: i18n("No data provided") }));
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=edaBasePanel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"edaBasePanel.js","sourceRoot":"","sources":["../../../../../../coreui/components/edaManagerComponent/components/edaBasePanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,IAAI,EAAE,KAAK,EAAC,MAAM,MAAM,CAAC;AACjC,OAAO,EAAC,YAAY,EAAC,MAAM,YAAY,CAAC;AACxC,OAAO,OAAO,MAAM,mCAAmC,CAAC;AAExD,OAAO,IAAI,MAAM,kBAAkB,CAAC;AAGpC,MAAM,SAAS,GAAG,YAAY,CAAC,CAAC,EAAC,GAAG,EAAE,KAAK,EAAC,EAAG,EAAE;IAC7C,OAAO;QACH,UAAU,EAAE,GAAG,CAAA;;;;;;;;;;2BAUI,KAAK,CAAC,SAAS;;;;;;;;;;;;;;;;;;;;uBAoBnB,KAAK,CAAC,UAAU;;;;;;;;;;;;;;;;2BAgBZ,KAAK,CAAC,OAAO;;;;;;;;;;;;;SAa/B;KACJ,CAAA;AACL,CAAC,CAAC,CAAC;AASH,MAAM,OAAgB,YAAuD,SAAQ,KAAK,CAAC,SAAe;IACtG,YAAsB,KAAkB;QACpC,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;IACjD,CAAC;IAMD,MAAM;QACF,MAAM,EAAC,IAAI,EAAE,IAAI,EAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAEhC,OAAO,CACH,oBAAC,OAAO,IAAC,SAAS,EAAE,SAAS,IACxB,CAAC,GAAG,EAAE,EAAE,CACL,oBAAC,IAAI,IAAC,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,UAAU;YAClC,iCACK,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAmB,EAAE,IAAI,EAAE,IAAI,CAAC,CACtH,CACH,CAEL,CACb,CAAA;IACL,CAAC;IAEO,WAAW;QACf,OAAO,6BAAK,SAAS,EAAE,oBAAoB;YAAE,oBAAC,KAAK,IAAC,WAAW,EAAE,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAM,CAAA;IACtG,CAAC;CACJ","sourcesContent":["import React from \"react\";\r\nimport {Card, Empty} from \"antd\";\r\nimport {createStyles} from \"antd-style\";\r\nimport WithCss from \"d2coreui/components/style/withCss\";\r\nimport {GroupData, IdType, ScenarioData, VectorData} from \"../constants/edaTypes\";\r\nimport i18n from \"d2core/i18n/i18n\";\r\nimport {AliasToken} from \"antd/es/theme/interface\";\r\n\r\nconst useStyles = createStyles(({css, token},) => {\r\n return {\r\n baseLayout: css`\r\n display: flex;\r\n height: 100%;\r\n flex-direction: column;\r\n justify-content: space-between;\r\n border-top-left-radius: 0;\r\n border-top-right-radius: 0;\r\n\r\n > .ant-card-body {\r\n height: 100%;\r\n padding: ${token.paddingXS}px;\r\n\r\n > div {\r\n height: 100%;\r\n overflow-x: hidden;\r\n overflow-y: auto;\r\n }\r\n }\r\n\r\n .ant-spin-nested-loading {\r\n height: 100%;\r\n width: 100%;\r\n }\r\n\r\n .ant-spin-container {\r\n display: flex;\r\n height: 100%;\r\n width: 100%;\r\n flex-direction: column;\r\n justify-content: space-between;\r\n gap: ${token.paddingXXS}px;\r\n }\r\n\r\n .ant-spin-container > div {\r\n flex: 0 0 auto;\r\n display: flex;\r\n justify-content: space-between;\r\n }\r\n\r\n .ant-spin-container > div:last-child {\r\n width: 100%;\r\n flex: 1 1 auto;\r\n position: relative;\r\n }\r\n\r\n .eda-detail-no-data {\r\n padding: ${token.padding}px;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center !important;\r\n width: 100%;\r\n height: 100%;\r\n }\r\n\r\n .progress {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n }\r\n `\r\n }\r\n});\r\n\r\nexport interface BaseProps {\r\n data?: VectorData | GroupData | ScenarioData\r\n type?: IdType\r\n}\r\n\r\nexport interface BaseState {}\r\n\r\nexport abstract class EdaBasePanel<P extends BaseProps, S extends BaseState> extends React.Component<P, S> {\r\n protected constructor(props: Readonly<P>) {\r\n super(props);\r\n this.state = this.getDefaultBaseState(props);\r\n }\r\n\r\n protected abstract renderPanel(theme: AliasToken, type: IdType, data: VectorData | GroupData | ScenarioData): React.ReactNode;\r\n\r\n protected abstract getDefaultBaseState(props: Readonly<P>): S;\r\n\r\n render() {\r\n const {type, data} = this.props;\r\n\r\n return (\r\n <WithCss useStyles={useStyles}>\r\n {(css) =>\r\n <Card className={css.styles.baseLayout}>\r\n <div>\r\n {(type === undefined || data === undefined) ? this.renderEmpty() : this.renderPanel(css.theme as AliasToken, type, data)}\r\n </div>\r\n </Card>\r\n }\r\n </WithCss>\r\n )\r\n }\r\n\r\n private renderEmpty(): React.ReactNode {\r\n return <div className={\"eda-detail-no-data\"}><Empty description={i18n(\"No data provided\")}/></div>\r\n }\r\n}"]}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { BaseProps, BaseState, EdaBasePanel } from "./edaBasePanel";
|
|
2
|
+
import { GroupData, IdType, ScenarioData, VectorData } from "../constants/edaTypes";
|
|
3
|
+
import React from "react";
|
|
4
|
+
import { AliasToken } from "antd/es/theme/interface";
|
|
5
|
+
import { SizeType } from "antd/lib/config-provider/SizeContext";
|
|
6
|
+
import EdaManagerApi, { VectorValue } from "../../../../api/eda/edaManagerApi";
|
|
7
|
+
import { SD_EM_Tree_Item } from "../../../../api/eda/generated/structures";
|
|
8
|
+
import { WithSharedSampleRangeWrapperProps } from "../context/sharedSampleRangeWrapper";
|
|
9
|
+
import { SharedSampleRange } from "../context/sharedSampleRange";
|
|
10
|
+
export interface BaseDataProps extends BaseProps, WithSharedSampleRangeWrapperProps {
|
|
11
|
+
api: EdaManagerApi;
|
|
12
|
+
isActive: boolean;
|
|
13
|
+
size?: SizeType;
|
|
14
|
+
showTimeWindow?: boolean;
|
|
15
|
+
}
|
|
16
|
+
export interface BaseDataState extends BaseState {
|
|
17
|
+
needsReload: boolean;
|
|
18
|
+
loading: boolean;
|
|
19
|
+
loadingPercentage: number;
|
|
20
|
+
loadingVector: string;
|
|
21
|
+
loadingCount: number;
|
|
22
|
+
}
|
|
23
|
+
export declare abstract class EdaBaseDataPanel<P extends BaseDataProps, S extends BaseDataState> extends EdaBasePanel<P, S> {
|
|
24
|
+
static contextType: React.Context<SharedSampleRange | undefined>;
|
|
25
|
+
context: SharedSampleRange;
|
|
26
|
+
private latestRequestId;
|
|
27
|
+
protected abstract renderContent(token: AliasToken): React.ReactNode;
|
|
28
|
+
protected abstract getDefaultDataBaseState(props: P): Omit<S, keyof BaseDataState>;
|
|
29
|
+
protected abstract onDataLoaded(data: {
|
|
30
|
+
[id: number]: VectorValue[];
|
|
31
|
+
}, vectors: SD_EM_Tree_Item[]): void;
|
|
32
|
+
protected onDataSourceChanged(): void;
|
|
33
|
+
protected onLoadVectors(vectors: SD_EM_Tree_Item[]): SD_EM_Tree_Item[];
|
|
34
|
+
componentDidMount(): Promise<void>;
|
|
35
|
+
componentDidUpdate(prevProps: Readonly<P>, _prevState: Readonly<S>): Promise<void>;
|
|
36
|
+
protected getDefaultBaseState(props: P): S;
|
|
37
|
+
protected renderPanel(token: AliasToken, _type: IdType, _data: VectorData | GroupData | ScenarioData): React.ReactNode;
|
|
38
|
+
protected loadVectorData(vectors: SD_EM_Tree_Item[]): Promise<void>;
|
|
39
|
+
private getDefaultState;
|
|
40
|
+
private renderIndicator;
|
|
41
|
+
private loadData;
|
|
42
|
+
private handleError;
|
|
43
|
+
}
|
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
import { EdaBasePanel } from "./edaBasePanel";
|
|
2
|
+
import { EdaSamplingType } from "../constants/edaTypes";
|
|
3
|
+
import React from "react";
|
|
4
|
+
import Spin from "antd/lib/spin";
|
|
5
|
+
import { Progress, Typography } from "antd";
|
|
6
|
+
import { EdaSampleRangePickerPanel } from "./edaSampleRangePickerPanel";
|
|
7
|
+
import { EdaTimeWindowPickerPanel } from "./edaTimeWindowPickerPanel";
|
|
8
|
+
import { SharedSampleRangeContext } from "../context/sharedSampleRange";
|
|
9
|
+
export class EdaBaseDataPanel extends EdaBasePanel {
|
|
10
|
+
constructor() {
|
|
11
|
+
super(...arguments);
|
|
12
|
+
this.latestRequestId = 0;
|
|
13
|
+
}
|
|
14
|
+
onDataSourceChanged() { }
|
|
15
|
+
onLoadVectors(vectors) {
|
|
16
|
+
return vectors;
|
|
17
|
+
}
|
|
18
|
+
async componentDidMount() {
|
|
19
|
+
if (this.props.type !== undefined && this.props.data) {
|
|
20
|
+
await this.loadData(this.props.type, this.props.data);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
async componentDidUpdate(prevProps, _prevState) {
|
|
24
|
+
const { rangeContext, showTimeWindow, type, data, isActive } = this.props;
|
|
25
|
+
const { needsReload } = this.state;
|
|
26
|
+
const { btWindow, etWindow, btTotal, etTotal, sampling, step, vectorPage } = rangeContext;
|
|
27
|
+
const dataSourceChanged = prevProps.type !== type || prevProps.data !== data;
|
|
28
|
+
const windowChanged = !prevProps.rangeContext.btWindow.isSame(btWindow) ||
|
|
29
|
+
!prevProps.rangeContext.etWindow.isSame(etWindow) ||
|
|
30
|
+
prevProps.rangeContext.step !== step;
|
|
31
|
+
const showTimeWindowChanged = prevProps.showTimeWindow !== showTimeWindow;
|
|
32
|
+
const rangeChanged = prevProps.rangeContext.sampling !== sampling ||
|
|
33
|
+
prevProps.rangeContext.vectorPage !== vectorPage ||
|
|
34
|
+
prevProps.rangeContext.btTotal !== btTotal ||
|
|
35
|
+
prevProps.rangeContext.etTotal !== etTotal;
|
|
36
|
+
const totalChanged = prevProps.rangeContext.btTotal !== btTotal || prevProps.rangeContext.etTotal !== etTotal;
|
|
37
|
+
const shouldReload = dataSourceChanged || windowChanged || rangeChanged || showTimeWindowChanged || (!showTimeWindow && totalChanged);
|
|
38
|
+
if (type !== undefined && data !== undefined) {
|
|
39
|
+
if (dataSourceChanged) {
|
|
40
|
+
this.context.updateValues(btTotal, etTotal, sampling, 1);
|
|
41
|
+
}
|
|
42
|
+
if (dataSourceChanged || (prevProps.rangeContext.vectorPage !== vectorPage)) {
|
|
43
|
+
this.onDataSourceChanged();
|
|
44
|
+
}
|
|
45
|
+
if (isActive) {
|
|
46
|
+
if ((!prevProps.isActive && needsReload) || shouldReload) {
|
|
47
|
+
this.setState({ needsReload: false });
|
|
48
|
+
await this.loadData(type, data);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
else if (shouldReload) {
|
|
52
|
+
this.setState({ needsReload: true });
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
getDefaultBaseState(props) {
|
|
57
|
+
this.handleError = this.handleError.bind(this);
|
|
58
|
+
return {
|
|
59
|
+
...this.getDefaultState(),
|
|
60
|
+
...this.getDefaultDataBaseState(props),
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
renderPanel(token, _type, _data) {
|
|
64
|
+
const { api, size, rangeContext, showTimeWindow } = this.props;
|
|
65
|
+
const { loading } = this.state;
|
|
66
|
+
const { btTotal, etTotal, sampling, vectorPage, totalCount, step } = rangeContext;
|
|
67
|
+
return (React.createElement(Spin, { spinning: loading, indicator: this.renderIndicator() },
|
|
68
|
+
React.createElement(React.Fragment, null,
|
|
69
|
+
React.createElement("div", null,
|
|
70
|
+
React.createElement(EdaSampleRangePickerPanel, { bt: btTotal, et: etTotal, sampling: sampling, totalCount: totalCount, pageSize: api.pageSize, loading: loading, size: size, page: vectorPage, onChange: (bt, et, step, page) => {
|
|
71
|
+
rangeContext.updateValues(bt, et, step, page);
|
|
72
|
+
} })),
|
|
73
|
+
showTimeWindow &&
|
|
74
|
+
React.createElement("div", null,
|
|
75
|
+
React.createElement(EdaTimeWindowPickerPanel, { start: btTotal, end: etTotal, step: step, size: size, disabled: sampling === EdaSamplingType.Changes, onTimeWindowChanged: (bt, et, step) => {
|
|
76
|
+
rangeContext.updateTimeWindow(bt, et, step);
|
|
77
|
+
} })),
|
|
78
|
+
this.renderContent(token))));
|
|
79
|
+
}
|
|
80
|
+
async loadVectorData(vectors) {
|
|
81
|
+
const { api } = this.props;
|
|
82
|
+
const currentRequestId = ++this.latestRequestId;
|
|
83
|
+
try {
|
|
84
|
+
const { rangeContext, showTimeWindow } = this.props;
|
|
85
|
+
const { btTotal, etTotal, sampling } = rangeContext;
|
|
86
|
+
const result = [];
|
|
87
|
+
let { btWindow, etWindow } = rangeContext;
|
|
88
|
+
this.setState({ loading: true, loadingPercentage: 0 });
|
|
89
|
+
if (!showTimeWindow) {
|
|
90
|
+
btWindow = btTotal;
|
|
91
|
+
etWindow = etTotal;
|
|
92
|
+
}
|
|
93
|
+
this.setState({ loadingCount: vectors.length });
|
|
94
|
+
if (currentRequestId !== this.latestRequestId) {
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
for (let i = 0; i < vectors.length; i++) {
|
|
98
|
+
const vector = vectors[i];
|
|
99
|
+
this.setState({ loadingVector: vector.DisplayName ?? "" });
|
|
100
|
+
result[vector.ID] = await api.readVectorValues(vector.ID, btWindow, etWindow, sampling).catch(this.handleError);
|
|
101
|
+
this.setState({ loadingPercentage: (i + 1) / vectors.length * 100 });
|
|
102
|
+
}
|
|
103
|
+
this.onDataLoaded?.(result, vectors);
|
|
104
|
+
this.setState({ loadingPercentage: 100, });
|
|
105
|
+
}
|
|
106
|
+
catch (e) {
|
|
107
|
+
console.error(e);
|
|
108
|
+
await api.cancelSession();
|
|
109
|
+
}
|
|
110
|
+
finally {
|
|
111
|
+
if (currentRequestId === this.latestRequestId) {
|
|
112
|
+
this.setState({ loading: false, loadingPercentage: 0 });
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
getDefaultState() {
|
|
117
|
+
return {
|
|
118
|
+
needsReload: false,
|
|
119
|
+
loading: false,
|
|
120
|
+
loadingPercentage: 0,
|
|
121
|
+
loadingVector: "",
|
|
122
|
+
loadingCount: 0,
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
renderIndicator() {
|
|
126
|
+
const { loadingCount, loadingPercentage, loadingVector } = this.state;
|
|
127
|
+
return (React.createElement("div", { className: "progress" },
|
|
128
|
+
React.createElement("div", null,
|
|
129
|
+
React.createElement(Progress, { type: "dashboard", steps: loadingCount, percent: loadingPercentage, format: (percent) => Math.round(percent ?? 0) + "%", trailColor: "rgba(0, 0, 0, 0.06)" }),
|
|
130
|
+
React.createElement(Typography.Text, { style: { whiteSpace: "nowrap" } }, loadingVector))));
|
|
131
|
+
}
|
|
132
|
+
async loadData(type, data) {
|
|
133
|
+
const { api } = this.props;
|
|
134
|
+
const currentRequestId = ++this.latestRequestId;
|
|
135
|
+
try {
|
|
136
|
+
const { rangeContext, showTimeWindow } = this.props;
|
|
137
|
+
const { btTotal, etTotal, sampling, vectorPage } = rangeContext;
|
|
138
|
+
const result = [];
|
|
139
|
+
const columns = [];
|
|
140
|
+
let { btWindow, etWindow } = rangeContext;
|
|
141
|
+
this.setState({ loading: true, loadingPercentage: 0 });
|
|
142
|
+
if (!showTimeWindow) {
|
|
143
|
+
btWindow = btTotal;
|
|
144
|
+
etWindow = etTotal;
|
|
145
|
+
}
|
|
146
|
+
switch (type) {
|
|
147
|
+
case 1:
|
|
148
|
+
case 2: {
|
|
149
|
+
let vectors;
|
|
150
|
+
try {
|
|
151
|
+
if (type === 1) {
|
|
152
|
+
vectors = await api.getGroupVectors(data.data.ID_SKVEKTOR, (vectorPage - 1) * api.pageSize);
|
|
153
|
+
}
|
|
154
|
+
else {
|
|
155
|
+
vectors = await api.getScenarioVectors(data.data.ID_SCENAR, (vectorPage - 1) * api.pageSize, undefined, true);
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
catch (error) {
|
|
159
|
+
console.error(error);
|
|
160
|
+
vectors = { items: [], leftCount: 0 };
|
|
161
|
+
}
|
|
162
|
+
vectors.items = this.onLoadVectors(vectors.items);
|
|
163
|
+
this.setState({ loadingCount: vectors.items.length });
|
|
164
|
+
if (vectorPage === 1) {
|
|
165
|
+
this.context.updateTotalCount(vectors.items.length + vectors.leftCount);
|
|
166
|
+
}
|
|
167
|
+
if (currentRequestId !== this.latestRequestId) {
|
|
168
|
+
return;
|
|
169
|
+
}
|
|
170
|
+
for (let i = 0; i < vectors.items.length; i++) {
|
|
171
|
+
const vector = vectors.items[i];
|
|
172
|
+
this.setState({ loadingVector: vector.DisplayName ?? "" });
|
|
173
|
+
result[vector.ID] = await api.readVectorValues(vector.ID, btWindow, etWindow, sampling).catch(this.handleError);
|
|
174
|
+
columns.push(vector);
|
|
175
|
+
this.setState({ loadingPercentage: (i + 1) / vectors.items.length * 100 });
|
|
176
|
+
}
|
|
177
|
+
break;
|
|
178
|
+
}
|
|
179
|
+
case 0: {
|
|
180
|
+
const column = data.data;
|
|
181
|
+
const id = data.data.ID_VEKTOR;
|
|
182
|
+
this.setState({ loadingCount: 1, loadingVector: column.ZOBRAZ_MENO });
|
|
183
|
+
result[id] = await api.readVectorValues(id, btWindow, etWindow, sampling).catch(this.handleError);
|
|
184
|
+
if (currentRequestId !== this.latestRequestId) {
|
|
185
|
+
return;
|
|
186
|
+
}
|
|
187
|
+
columns.push({
|
|
188
|
+
ID: column.ID_VEKTOR,
|
|
189
|
+
DisplayName: column.ZOBRAZ_MENO,
|
|
190
|
+
Name: column.MENO,
|
|
191
|
+
ParentID: column.ID_SKVEKTOR,
|
|
192
|
+
Path: "",
|
|
193
|
+
Type: 0
|
|
194
|
+
});
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
this.onDataLoaded?.(result, columns);
|
|
198
|
+
this.setState({ loadingPercentage: 100, });
|
|
199
|
+
}
|
|
200
|
+
catch (e) {
|
|
201
|
+
console.error(e);
|
|
202
|
+
await api.cancelSession();
|
|
203
|
+
}
|
|
204
|
+
finally {
|
|
205
|
+
if (currentRequestId === this.latestRequestId) {
|
|
206
|
+
this.setState({ loading: false, loadingPercentage: 0 });
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
async handleError(error) {
|
|
211
|
+
console.error(error);
|
|
212
|
+
await this.props.api.cancelSession();
|
|
213
|
+
return [];
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
EdaBaseDataPanel.contextType = SharedSampleRangeContext;
|
|
217
|
+
//# sourceMappingURL=edaDataBasePanel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"edaDataBasePanel.js","sourceRoot":"","sources":["../../../../../../coreui/components/edaManagerComponent/components/edaDataBasePanel.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAuB,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAC,eAAe,EAA8C,MAAM,uBAAuB,CAAC;AACnG,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,IAAI,MAAM,eAAe,CAAC;AAEjC,OAAO,EAAC,QAAQ,EAAE,UAAU,EAAC,MAAM,MAAM,CAAC;AAC1C,OAAO,EAAC,yBAAyB,EAAC,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAC,wBAAwB,EAAC,MAAM,4BAA4B,CAAC;AAKpE,OAAO,EAAoB,wBAAwB,EAAC,MAAM,8BAA8B,CAAC;AAmBzF,MAAM,OAAgB,gBAAmE,SAAQ,YAAkB;IAAnH;;QAIY,oBAAe,GAAW,CAAC,CAAC;IAyRxC,CAAC;IAjRa,mBAAmB,KAAI,CAAC;IAExB,aAAa,CAAC,OAA0B;QAC9C,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,iBAAiB;QACnB,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YACnD,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1D,CAAC;IACL,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,SAAsB,EAAE,UAAuB;QACpE,MAAM,EAAC,YAAY,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QACxE,MAAM,EAAC,WAAW,EAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QACjC,MAAM,EAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAC,GAAG,YAAY,CAAC;QAExF,MAAM,iBAAiB,GAAG,SAAS,CAAC,IAAI,KAAK,IAAI,IAAI,SAAS,CAAC,IAAI,KAAK,IAAI,CAAC;QAC7E,MAAM,aAAa,GACf,CAAC,SAAS,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC;YACjD,CAAC,SAAS,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC;YACjD,SAAS,CAAC,YAAY,CAAC,IAAI,KAAK,IAAI,CAAC;QACzC,MAAM,qBAAqB,GAAG,SAAS,CAAC,cAAc,KAAK,cAAc,CAAC;QAC1E,MAAM,YAAY,GACd,SAAS,CAAC,YAAY,CAAC,QAAQ,KAAK,QAAQ;YAC5C,SAAS,CAAC,YAAY,CAAC,UAAU,KAAK,UAAU;YAChD,SAAS,CAAC,YAAY,CAAC,OAAO,KAAK,OAAO;YAC1C,SAAS,CAAC,YAAY,CAAC,OAAO,KAAK,OAAO,CAAC;QAC/C,MAAM,YAAY,GAAG,SAAS,CAAC,YAAY,CAAC,OAAO,KAAK,OAAO,IAAI,SAAS,CAAC,YAAY,CAAC,OAAO,KAAK,OAAO,CAAC;QAC9G,MAAM,YAAY,GAAG,iBAAiB,IAAI,aAAa,IAAI,YAAY,IAAI,qBAAqB,IAAI,CAAC,CAAC,cAAc,IAAI,YAAY,CAAC,CAAC;QAEtI,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YAE3C,IAAI,iBAAiB,EAAE,CAAC;gBACpB,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;YAC7D,CAAC;YAED,IAAI,iBAAiB,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,UAAU,KAAK,UAAU,CAAC,EAAE,CAAC;gBAC1E,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC/B,CAAC;YAED,IAAI,QAAQ,EAAE,CAAC;gBACX,IAAI,CAAC,CAAC,SAAS,CAAC,QAAQ,IAAI,WAAW,CAAC,IAAI,YAAY,EAAE,CAAC;oBACvD,IAAI,CAAC,QAAQ,CAAC,EAAC,WAAW,EAAE,KAAK,EAAC,CAAC,CAAC;oBACpC,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBACpC,CAAC;YACL,CAAC;iBAAM,IAAI,YAAY,EAAE,CAAC;gBACtB,IAAI,CAAC,QAAQ,CAAC,EAAC,WAAW,EAAE,IAAI,EAAC,CAAC,CAAC;YACvC,CAAC;QACL,CAAC;IACL,CAAC;IAES,mBAAmB,CAAC,KAAQ;QAClC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE/C,OAAO;YACH,GAAG,IAAI,CAAC,eAAe,EAAE;YACzB,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC;SACzB,CAAC;IACtB,CAAC;IAES,WAAW,CAAC,KAAiB,EAAE,KAAa,EAAE,KAA4C;QAChG,MAAM,EAAC,GAAG,EAAE,IAAI,EAAE,YAAY,EAAE,cAAc,EAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAC7D,MAAM,EAAC,OAAO,EAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAC7B,MAAM,EAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAC,GAAG,YAAY,CAAC;QAEhF,OAAO,CACH,oBAAC,IAAI,IAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,eAAe,EAAE;YACtD;gBACI;oBACI,oBAAC,yBAAyB,IACtB,EAAE,EAAE,OAAO,EACX,EAAE,EAAE,OAAO,EACX,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,GAAG,CAAC,QAAQ,EACtB,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,UAAU,EAChB,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;4BAC7B,YAAY,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;wBAClD,CAAC,GACH,CACA;gBACL,cAAc;oBACX;wBACI,oBAAC,wBAAwB,IACrB,KAAK,EAAE,OAAO,EACd,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,QAAQ,KAAK,eAAe,CAAC,OAAO,EAC9C,mBAAmB,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE;gCAClC,YAAY,CAAC,gBAAgB,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;4BAChD,CAAC,GACH,CACA;gBAET,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAC3B,CACA,CACV,CAAC;IACN,CAAC;IAES,KAAK,CAAC,cAAc,CAAC,OAA0B;QACrD,MAAM,EAAC,GAAG,EAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAEzB,MAAM,gBAAgB,GAAG,EAAE,IAAI,CAAC,eAAe,CAAC;QAEhD,IAAI,CAAC;YACD,MAAM,EAAC,YAAY,EAAE,cAAc,EAAC,GAAG,IAAI,CAAC,KAAK,CAAC;YAClD,MAAM,EAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAC,GAAG,YAAY,CAAC;YAClD,MAAM,MAAM,GAAoC,EAAE,CAAC;YACnD,IAAI,EAAC,QAAQ,EAAE,QAAQ,EAAC,GAAG,YAAY,CAAC;YAExC,IAAI,CAAC,QAAQ,CAAC,EAAC,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,EAAC,CAAC,CAAC;YAErD,IAAI,CAAC,cAAc,EAAE,CAAC;gBAClB,QAAQ,GAAG,OAAO,CAAC;gBACnB,QAAQ,GAAG,OAAO,CAAC;YACvB,CAAC;YAED,IAAI,CAAC,QAAQ,CAAC,EAAC,YAAY,EAAE,OAAO,CAAC,MAAM,EAAC,CAAC,CAAC;YAE9C,IAAI,gBAAgB,KAAK,IAAI,CAAC,eAAe,EAAE,CAAC;gBAC5C,OAAO;YACX,CAAC;YAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtC,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;gBAE1B,IAAI,CAAC,QAAQ,CAAC,EAAC,aAAa,EAAE,MAAM,CAAC,WAAW,IAAI,EAAE,EAAC,CAAC,CAAC;gBACzD,MAAM,CAAC,MAAM,CAAC,EAAY,CAAC,GAAG,MAAM,GAAG,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBACpI,IAAI,CAAC,QAAQ,CAAC,EAAC,iBAAiB,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,GAAG,EAAC,CAAC,CAAC;YACvE,CAAC;YAED,IAAI,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACrC,IAAI,CAAC,QAAQ,CAAC,EAAC,iBAAiB,EAAE,GAAG,GAAE,CAAC,CAAC;QAC7C,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjB,MAAM,GAAG,CAAC,aAAa,EAAE,CAAC;QAC9B,CAAC;gBAAS,CAAC;YACP,IAAI,gBAAgB,KAAK,IAAI,CAAC,eAAe,EAAE,CAAC;gBAC5C,IAAI,CAAC,QAAQ,CAAC,EAAC,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC,EAAC,CAAC,CAAC;YAC1D,CAAC;QACL,CAAC;IACL,CAAC;IAEO,eAAe;QACnB,OAAO;YACH,WAAW,EAAE,KAAK;YAElB,OAAO,EAAE,KAAK;YACd,iBAAiB,EAAE,CAAC;YACpB,aAAa,EAAE,EAAE;YACjB,YAAY,EAAE,CAAC;SAClB,CAAA;IACL,CAAC;IAEO,eAAe;QACnB,MAAM,EAAC,YAAY,EAAE,iBAAiB,EAAE,aAAa,EAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QACpE,OAAO,CACH,6BAAK,SAAS,EAAE,UAAU;YACtB;gBACI,oBAAC,QAAQ,IACL,IAAI,EAAE,WAAW,EACjB,KAAK,EAAE,YAAY,EACnB,OAAO,EAAE,iBAAiB,EAC1B,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,GAAG,EACnD,UAAU,EAAC,qBAAqB,GAClC;gBACF,oBAAC,UAAU,CAAC,IAAI,IAAC,KAAK,EAAE,EAAC,UAAU,EAAE,QAAQ,EAAC,IAAG,aAAa,CAAmB,CAC/E,CACJ,CACT,CAAA;IACL,CAAC;IAEO,KAAK,CAAC,QAAQ,CAAC,IAAY,EAAE,IAA2C;QAC5E,MAAM,EAAC,GAAG,EAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAEzB,MAAM,gBAAgB,GAAG,EAAE,IAAI,CAAC,eAAe,CAAC;QAEhD,IAAI,CAAC;YACD,MAAM,EAAC,YAAY,EAAE,cAAc,EAAC,GAAG,IAAI,CAAC,KAAK,CAAC;YAClD,MAAM,EAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAC,GAAG,YAAY,CAAC;YAC9D,MAAM,MAAM,GAAoC,EAAE,CAAC;YACnD,MAAM,OAAO,GAAsB,EAAE,CAAC;YACtC,IAAI,EAAC,QAAQ,EAAE,QAAQ,EAAC,GAAG,YAAY,CAAC;YAExC,IAAI,CAAC,QAAQ,CAAC,EAAC,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,EAAC,CAAC,CAAC;YAErD,IAAI,CAAC,cAAc,EAAE,CAAC;gBAClB,QAAQ,GAAG,OAAO,CAAC;gBACnB,QAAQ,GAAG,OAAO,CAAC;YACvB,CAAC;YAED,QAAQ,IAAI,EAAE,CAAC;gBACX,OAAkB;gBAClB,MAAoB,CAAC,CAAC,CAAC;oBACnB,IAAI,OAA+D,CAAC;oBAEpE,IAAI,CAAC;wBACD,IAAI,IAAI,MAAiB,EAAE,CAAC;4BACxB,OAAO,GAAG,MAAM,GAAG,CAAC,eAAe,CAAE,IAAkB,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC;wBAC/G,CAAC;6BAAM,CAAC;4BACJ,OAAO,GAAG,MAAM,GAAG,CAAC,kBAAkB,CAAE,IAAqB,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;wBACpI,CAAC;oBACL,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACb,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;wBACrB,OAAO,GAAG,EAAC,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,EAAC,CAAC;oBACxC,CAAC;oBAED,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,KAA0B,CAAC,CAAC;oBACvE,IAAI,CAAC,QAAQ,CAAC,EAAC,YAAY,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,EAAC,CAAC,CAAC;oBAEpD,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;wBACnB,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;oBAC5E,CAAC;oBAED,IAAI,gBAAgB,KAAK,IAAI,CAAC,eAAe,EAAE,CAAC;wBAC5C,OAAO;oBACX,CAAC;oBAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;wBAC5C,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;wBAEhC,IAAI,CAAC,QAAQ,CAAC,EAAC,aAAa,EAAE,MAAM,CAAC,WAAW,IAAI,EAAE,EAAC,CAAC,CAAC;wBACzD,MAAM,CAAC,MAAM,CAAC,EAAY,CAAC,GAAG,MAAM,GAAG,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;wBACpI,OAAO,CAAC,IAAI,CAAC,MAAyB,CAAC,CAAC;wBACxC,IAAI,CAAC,QAAQ,CAAC,EAAC,iBAAiB,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,EAAC,CAAC,CAAC;oBAC7E,CAAC;oBAED,MAAM;gBACV,CAAC;gBACD,MAAkB,CAAC,CAAC,CAAC;oBACjB,MAAM,MAAM,GAAI,IAAmB,CAAC,IAAI,CAAC;oBACzC,MAAM,EAAE,GAAI,IAAmB,CAAC,IAAI,CAAC,SAAS,CAAC;oBAE/C,IAAI,CAAC,QAAQ,CAAC,EAAC,YAAY,EAAE,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC,WAAW,EAAC,CAAC,CAAC;oBACpE,MAAM,CAAC,EAAE,CAAC,GAAG,MAAM,GAAG,CAAC,gBAAgB,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;oBAElG,IAAI,gBAAgB,KAAK,IAAI,CAAC,eAAe,EAAE,CAAC;wBAC5C,OAAO;oBACX,CAAC;oBAED,OAAO,CAAC,IAAI,CAAC;wBACT,EAAE,EAAE,MAAM,CAAC,SAAS;wBACpB,WAAW,EAAE,MAAM,CAAC,WAAW;wBAC/B,IAAI,EAAE,MAAM,CAAC,IAAI;wBACjB,QAAQ,EAAE,MAAM,CAAC,WAAW;wBAC5B,IAAI,EAAE,EAAE;wBACR,IAAI,EAAE,CAAC;qBACV,CAAC,CAAC;gBACP,CAAC;YACL,CAAC;YAED,IAAI,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACrC,IAAI,CAAC,QAAQ,CAAC,EAAC,iBAAiB,EAAE,GAAG,GAAE,CAAC,CAAC;QAC7C,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjB,MAAM,GAAG,CAAC,aAAa,EAAE,CAAC;QAC9B,CAAC;gBAAS,CAAC;YACP,IAAI,gBAAgB,KAAK,IAAI,CAAC,eAAe,EAAE,CAAC;gBAC5C,IAAI,CAAC,QAAQ,CAAC,EAAC,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC,EAAC,CAAC,CAAC;YAC1D,CAAC;QACL,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,KAAU;QAChC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QACpB,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;QACrC,OAAO,EAAE,CAAC;IACd,CAAC;;AA3RM,4BAAW,GAAG,wBAAwB,AAA3B,CAA4B","sourcesContent":["import {BaseProps, BaseState, EdaBasePanel} from \"./edaBasePanel\";\r\nimport {EdaSamplingType, GroupData, IdType, ScenarioData, VectorData} from \"../constants/edaTypes\";\r\nimport React from \"react\";\r\nimport Spin from \"antd/lib/spin\";\r\nimport {AliasToken} from \"antd/es/theme/interface\";\r\nimport {Progress, Typography} from \"antd\";\r\nimport {EdaSampleRangePickerPanel} from \"./edaSampleRangePickerPanel\";\r\nimport {EdaTimeWindowPickerPanel} from \"./edaTimeWindowPickerPanel\";\r\nimport {SizeType} from \"antd/lib/config-provider/SizeContext\";\r\nimport EdaManagerApi, {VectorValue} from \"../../../../api/eda/edaManagerApi\";\r\nimport {SD_EM_Tree_Item} from \"../../../../api/eda/generated/structures\";\r\nimport {WithSharedSampleRangeWrapperProps} from \"../context/sharedSampleRangeWrapper\";\r\nimport {SharedSampleRange, SharedSampleRangeContext} from \"../context/sharedSampleRange\";\r\n\r\nexport interface BaseDataProps extends BaseProps, WithSharedSampleRangeWrapperProps {\r\n api: EdaManagerApi\r\n isActive: boolean\r\n\r\n size?: SizeType\r\n showTimeWindow?: boolean\r\n}\r\n\r\nexport interface BaseDataState extends BaseState {\r\n needsReload: boolean\r\n\r\n loading: boolean\r\n loadingPercentage: number\r\n loadingVector: string\r\n loadingCount: number\r\n}\r\n\r\nexport abstract class EdaBaseDataPanel<P extends BaseDataProps, S extends BaseDataState> extends EdaBasePanel<P, S> {\r\n static contextType = SharedSampleRangeContext;\r\n declare context: SharedSampleRange;\r\n\r\n private latestRequestId: number = 0;\r\n\r\n protected abstract renderContent(token: AliasToken): React.ReactNode;\r\n\r\n protected abstract getDefaultDataBaseState(props: P): Omit<S, keyof BaseDataState>;\r\n\r\n protected abstract onDataLoaded(data: {[id: number]: VectorValue[]}, vectors: SD_EM_Tree_Item[]): void;\r\n\r\n protected onDataSourceChanged() {}\r\n\r\n protected onLoadVectors(vectors: SD_EM_Tree_Item[]): SD_EM_Tree_Item[] {\r\n return vectors;\r\n }\r\n\r\n async componentDidMount() {\r\n if (this.props.type !== undefined && this.props.data) {\r\n await this.loadData(this.props.type, this.props.data);\r\n }\r\n }\r\n\r\n async componentDidUpdate(prevProps: Readonly<P>, _prevState: Readonly<S>) {\r\n const {rangeContext, showTimeWindow, type, data, isActive} = this.props;\r\n const {needsReload} = this.state;\r\n const {btWindow, etWindow, btTotal, etTotal, sampling, step, vectorPage} = rangeContext;\r\n\r\n const dataSourceChanged = prevProps.type !== type || prevProps.data !== data;\r\n const windowChanged =\r\n !prevProps.rangeContext.btWindow.isSame(btWindow) ||\r\n !prevProps.rangeContext.etWindow.isSame(etWindow) ||\r\n prevProps.rangeContext.step !== step;\r\n const showTimeWindowChanged = prevProps.showTimeWindow !== showTimeWindow;\r\n const rangeChanged =\r\n prevProps.rangeContext.sampling !== sampling ||\r\n prevProps.rangeContext.vectorPage !== vectorPage ||\r\n prevProps.rangeContext.btTotal !== btTotal ||\r\n prevProps.rangeContext.etTotal !== etTotal;\r\n const totalChanged = prevProps.rangeContext.btTotal !== btTotal || prevProps.rangeContext.etTotal !== etTotal;\r\n const shouldReload = dataSourceChanged || windowChanged || rangeChanged || showTimeWindowChanged || (!showTimeWindow && totalChanged);\r\n\r\n if (type !== undefined && data !== undefined) {\r\n // Reset pagination if the data source changed\r\n if (dataSourceChanged) {\r\n this.context.updateValues(btTotal, etTotal, sampling, 1);\r\n }\r\n\r\n if (dataSourceChanged || (prevProps.rangeContext.vectorPage !== vectorPage)) {\r\n this.onDataSourceChanged();\r\n }\r\n\r\n if (isActive) {\r\n if ((!prevProps.isActive && needsReload) || shouldReload) {\r\n this.setState({needsReload: false});\r\n await this.loadData(type, data);\r\n }\r\n } else if (shouldReload) {\r\n this.setState({needsReload: true});\r\n }\r\n }\r\n }\r\n\r\n protected getDefaultBaseState(props: P): S {\r\n this.handleError = this.handleError.bind(this);\r\n\r\n return {\r\n ...this.getDefaultState(),\r\n ...this.getDefaultDataBaseState(props),\r\n } as unknown as S;\r\n }\r\n\r\n protected renderPanel(token: AliasToken, _type: IdType, _data: VectorData | GroupData | ScenarioData): React.ReactNode {\r\n const {api, size, rangeContext, showTimeWindow} = this.props;\r\n const {loading} = this.state;\r\n const {btTotal, etTotal, sampling, vectorPage, totalCount, step} = rangeContext;\r\n\r\n return (\r\n <Spin spinning={loading} indicator={this.renderIndicator()}>\r\n <>\r\n <div>\r\n <EdaSampleRangePickerPanel\r\n bt={btTotal}\r\n et={etTotal}\r\n sampling={sampling}\r\n totalCount={totalCount}\r\n pageSize={api.pageSize}\r\n loading={loading}\r\n size={size}\r\n page={vectorPage}\r\n onChange={(bt, et, step, page) => {\r\n rangeContext.updateValues(bt, et, step, page);\r\n }}\r\n />\r\n </div>\r\n {showTimeWindow &&\r\n <div>\r\n <EdaTimeWindowPickerPanel\r\n start={btTotal}\r\n end={etTotal}\r\n step={step}\r\n size={size}\r\n disabled={sampling === EdaSamplingType.Changes} // FIXME default -> ??\r\n onTimeWindowChanged={(bt, et, step) => {\r\n rangeContext.updateTimeWindow(bt, et, step);\r\n }}\r\n />\r\n </div>\r\n }\r\n {this.renderContent(token)}\r\n </>\r\n </Spin>\r\n );\r\n }\r\n\r\n protected async loadVectorData(vectors: SD_EM_Tree_Item[]) {\r\n const {api} = this.props;\r\n\r\n const currentRequestId = ++this.latestRequestId;\r\n\r\n try {\r\n const {rangeContext, showTimeWindow} = this.props;\r\n const {btTotal, etTotal, sampling} = rangeContext;\r\n const result: { [id: number]: VectorValue[] } = [];\r\n let {btWindow, etWindow} = rangeContext;\r\n\r\n this.setState({loading: true, loadingPercentage: 0});\r\n\r\n if (!showTimeWindow) {\r\n btWindow = btTotal;\r\n etWindow = etTotal;\r\n }\r\n\r\n this.setState({loadingCount: vectors.length});\r\n\r\n if (currentRequestId !== this.latestRequestId) {\r\n return;\r\n }\r\n\r\n for (let i = 0; i < vectors.length; i++) {\r\n const vector = vectors[i];\r\n\r\n this.setState({loadingVector: vector.DisplayName ?? \"\"});\r\n result[vector.ID as number] = await api.readVectorValues(vector.ID as number, btWindow, etWindow, sampling).catch(this.handleError);\r\n this.setState({loadingPercentage: (i + 1) / vectors.length * 100});\r\n }\r\n\r\n this.onDataLoaded?.(result, vectors);\r\n this.setState({loadingPercentage: 100,});\r\n } catch (e) {\r\n console.error(e);\r\n await api.cancelSession();\r\n } finally {\r\n if (currentRequestId === this.latestRequestId) {\r\n this.setState({loading: false, loadingPercentage: 0});\r\n }\r\n }\r\n }\r\n\r\n private getDefaultState(): BaseDataState {\r\n return {\r\n needsReload: false,\r\n\r\n loading: false,\r\n loadingPercentage: 0,\r\n loadingVector: \"\",\r\n loadingCount: 0,\r\n }\r\n }\r\n\r\n private renderIndicator(): React.ReactElement {\r\n const {loadingCount, loadingPercentage, loadingVector} = this.state;\r\n return (\r\n <div className={\"progress\"}>\r\n <div>\r\n <Progress\r\n type={\"dashboard\"}\r\n steps={loadingCount}\r\n percent={loadingPercentage}\r\n format={(percent) => Math.round(percent ?? 0) + \"%\"}\r\n trailColor=\"rgba(0, 0, 0, 0.06)\"\r\n />\r\n <Typography.Text style={{whiteSpace: \"nowrap\"}}>{loadingVector}</Typography.Text>\r\n </div>\r\n </div>\r\n )\r\n }\r\n\r\n private async loadData(type: IdType, data: VectorData | GroupData | ScenarioData) {\r\n const {api} = this.props;\r\n\r\n const currentRequestId = ++this.latestRequestId;\r\n\r\n try {\r\n const {rangeContext, showTimeWindow} = this.props;\r\n const {btTotal, etTotal, sampling, vectorPage} = rangeContext;\r\n const result: { [id: number]: VectorValue[] } = [];\r\n const columns: SD_EM_Tree_Item[] = [];\r\n let {btWindow, etWindow} = rangeContext;\r\n\r\n this.setState({loading: true, loadingPercentage: 0});\r\n\r\n if (!showTimeWindow) {\r\n btWindow = btTotal;\r\n etWindow = etTotal;\r\n }\r\n\r\n switch (type) {\r\n case IdType.GROUP:\r\n case IdType.SCENARIO: {\r\n let vectors: {items: Partial<SD_EM_Tree_Item>[], leftCount: number};\r\n\r\n try {\r\n if (type === IdType.GROUP) {\r\n vectors = await api.getGroupVectors((data as GroupData).data.ID_SKVEKTOR, (vectorPage - 1) * api.pageSize);\r\n } else {\r\n vectors = await api.getScenarioVectors((data as ScenarioData).data.ID_SCENAR, (vectorPage - 1) * api.pageSize, undefined, true);\r\n }\r\n } catch (error) {\r\n console.error(error);\r\n vectors = {items: [], leftCount: 0};\r\n }\r\n\r\n vectors.items = this.onLoadVectors(vectors.items as SD_EM_Tree_Item[]); // load only visible vectors\r\n this.setState({loadingCount: vectors.items.length});\r\n\r\n if (vectorPage === 1) {\r\n this.context.updateTotalCount(vectors.items.length + vectors.leftCount);\r\n }\r\n\r\n if (currentRequestId !== this.latestRequestId) {\r\n return;\r\n }\r\n\r\n for (let i = 0; i < vectors.items.length; i++) {\r\n const vector = vectors.items[i];\r\n\r\n this.setState({loadingVector: vector.DisplayName ?? \"\"});\r\n result[vector.ID as number] = await api.readVectorValues(vector.ID as number, btWindow, etWindow, sampling).catch(this.handleError);\r\n columns.push(vector as SD_EM_Tree_Item);\r\n this.setState({loadingPercentage: (i + 1) / vectors.items.length * 100});\r\n }\r\n\r\n break;\r\n }\r\n case IdType.VECTOR: {\r\n const column = (data as VectorData).data;\r\n const id = (data as VectorData).data.ID_VEKTOR;\r\n\r\n this.setState({loadingCount: 1, loadingVector: column.ZOBRAZ_MENO});\r\n result[id] = await api.readVectorValues(id, btWindow, etWindow, sampling).catch(this.handleError);\r\n\r\n if (currentRequestId !== this.latestRequestId) {\r\n return;\r\n }\r\n\r\n columns.push({\r\n ID: column.ID_VEKTOR,\r\n DisplayName: column.ZOBRAZ_MENO,\r\n Name: column.MENO,\r\n ParentID: column.ID_SKVEKTOR,\r\n Path: \"\",\r\n Type: 0\r\n });\r\n }\r\n }\r\n\r\n this.onDataLoaded?.(result, columns);\r\n this.setState({loadingPercentage: 100,});\r\n } catch (e) {\r\n console.error(e);\r\n await api.cancelSession();\r\n } finally {\r\n if (currentRequestId === this.latestRequestId) {\r\n this.setState({loading: false, loadingPercentage: 0});\r\n }\r\n }\r\n }\r\n\r\n private async handleError(error: any) {\r\n console.error(error)\r\n await this.props.api.cancelSession();\r\n return [];\r\n }\r\n}"]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { GroupData, IdType, ScenarioData, VectorData } from "../constants/edaTypes";
|
|
3
|
+
import { SizeType } from "antd/lib/config-provider/SizeContext";
|
|
4
|
+
import { BaseProps, BaseState, EdaBasePanel } from "./edaBasePanel";
|
|
5
|
+
import { AliasToken } from "antd/es/theme/interface";
|
|
6
|
+
import { Variant } from "antd/es/config-provider";
|
|
7
|
+
interface Props extends BaseProps {
|
|
8
|
+
size?: SizeType;
|
|
9
|
+
variant?: Variant;
|
|
10
|
+
}
|
|
11
|
+
export declare class EdaDetailPanel extends EdaBasePanel<Props, BaseState> {
|
|
12
|
+
constructor(props: Readonly<Props>);
|
|
13
|
+
protected getDefaultBaseState(): BaseState;
|
|
14
|
+
protected renderPanel(_css: AliasToken, type: IdType, data: VectorData | GroupData | ScenarioData): React.ReactNode;
|
|
15
|
+
}
|
|
16
|
+
export {};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { EdaVectorDetailPanel } from "./edaVectorDetailPanel";
|
|
3
|
+
import { EdaGroupDetailPanel } from "./edaGroupDetailPanel";
|
|
4
|
+
import { EdaScenarioDetailPanel } from "./edaScenarioDetailPanel";
|
|
5
|
+
import { EdaBasePanel } from "./edaBasePanel";
|
|
6
|
+
export class EdaDetailPanel extends EdaBasePanel {
|
|
7
|
+
constructor(props) {
|
|
8
|
+
super(props);
|
|
9
|
+
}
|
|
10
|
+
getDefaultBaseState() {
|
|
11
|
+
return {};
|
|
12
|
+
}
|
|
13
|
+
renderPanel(_css, type, data) {
|
|
14
|
+
const { size, variant } = this.props;
|
|
15
|
+
switch (type) {
|
|
16
|
+
case 0:
|
|
17
|
+
return React.createElement(EdaVectorDetailPanel, { data: data, size: size, variant: variant });
|
|
18
|
+
case 1:
|
|
19
|
+
return React.createElement(EdaGroupDetailPanel, { data: data, size: size, variant: variant });
|
|
20
|
+
case 2:
|
|
21
|
+
return React.createElement(EdaScenarioDetailPanel, { data: data, size: size, variant: variant });
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=edaDetailPanel.js.map
|