d2aura 23.0.0
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/abstractApi.d.ts +21 -0
- package/api/abstractApi.js +56 -0
- package/api/abstractApi.js.map +1 -0
- package/api/abstractEntityApi.d.ts +37 -0
- package/api/abstractEntityApi.js +145 -0
- package/api/abstractEntityApi.js.map +1 -0
- package/api/advancedFilterApi.d.ts +56 -0
- package/api/advancedFilterApi.js +108 -0
- package/api/advancedFilterApi.js.map +1 -0
- package/api/archiveApi.d.ts +14 -0
- package/api/archiveApi.js +25 -0
- package/api/archiveApi.js.map +1 -0
- package/api/comparison/entityComparisonUtils.d.ts +4 -0
- package/api/comparison/entityComparisonUtils.js +15 -0
- package/api/comparison/entityComparisonUtils.js.map +1 -0
- package/api/constants/constants.d.ts +5 -0
- package/api/constants/constants.js +6 -0
- package/api/constants/constants.js.map +1 -0
- package/api/constants/d2ChartConstants.d.ts +5 -0
- package/api/constants/d2ChartConstants.js +6 -0
- package/api/constants/d2ChartConstants.js.map +1 -0
- package/api/edaApi.d.ts +36 -0
- package/api/edaApi.js +109 -0
- package/api/edaApi.js.map +1 -0
- package/api/impl/errorHandling.d.ts +1 -0
- package/api/impl/errorHandling.js +72 -0
- package/api/impl/errorHandling.js.map +1 -0
- package/api/impl/utils/reportError.d.ts +2 -0
- package/api/impl/utils/reportError.js +157 -0
- package/api/impl/utils/reportError.js.map +1 -0
- package/api/impl/utils/reportServiceMessage.d.ts +1 -0
- package/api/impl/utils/reportServiceMessage.js +29 -0
- package/api/impl/utils/reportServiceMessage.js.map +1 -0
- package/api/types/accessRight.d.ts +5 -0
- package/api/types/accessRight.js +7 -0
- package/api/types/accessRight.js.map +1 -0
- package/api/types/advancedFilter.d.ts +22 -0
- package/api/types/advancedFilter.js +16 -0
- package/api/types/advancedFilter.js.map +1 -0
- package/api/types/apiResult.d.ts +5 -0
- package/api/types/apiResult.js +2 -0
- package/api/types/apiResult.js.map +1 -0
- package/api/types/auditableEntity.d.ts +10 -0
- package/api/types/auditableEntity.js +2 -0
- package/api/types/auditableEntity.js.map +1 -0
- package/api/types/d2ArTypes.d.ts +5 -0
- package/api/types/d2ArTypes.js +2 -0
- package/api/types/d2ArTypes.js.map +1 -0
- package/api/types/d2ChartTypes.d.ts +26 -0
- package/api/types/d2ChartTypes.js +7 -0
- package/api/types/d2ChartTypes.js.map +1 -0
- package/api/types/dbBoolean.d.ts +5 -0
- package/api/types/dbBoolean.js +15 -0
- package/api/types/dbBoolean.js.map +1 -0
- package/api/types/entity.d.ts +7 -0
- package/api/types/entity.js +2 -0
- package/api/types/entity.js.map +1 -0
- package/api/types/entityListResult.d.ts +4 -0
- package/api/types/entityListResult.js +2 -0
- package/api/types/entityListResult.js.map +1 -0
- package/api/types/entityResult.d.ts +4 -0
- package/api/types/entityResult.js +2 -0
- package/api/types/entityResult.js.map +1 -0
- package/api/types/nounGender.d.ts +5 -0
- package/api/types/nounGender.js +7 -0
- package/api/types/nounGender.js.map +1 -0
- package/api/util/d2Boolean.d.ts +8 -0
- package/api/util/d2Boolean.js +14 -0
- package/api/util/d2Boolean.js.map +1 -0
- package/api/util/d2ChartUtils.d.ts +7 -0
- package/api/util/d2ChartUtils.js +62 -0
- package/api/util/d2ChartUtils.js.map +1 -0
- package/api/util/edaUtils.d.ts +5 -0
- package/api/util/edaUtils.js +33 -0
- package/api/util/edaUtils.js.map +1 -0
- package/api/util/fileUtils.d.ts +3 -0
- package/api/util/fileUtils.js +22 -0
- package/api/util/fileUtils.js.map +1 -0
- package/api/validation/abstractEntityValidationUtils.d.ts +8 -0
- package/api/validation/abstractEntityValidationUtils.js +24 -0
- package/api/validation/abstractEntityValidationUtils.js.map +1 -0
- package/core/types/panelConfiguration.d.ts +3 -0
- package/core/types/panelConfiguration.js +2 -0
- package/core/types/panelConfiguration.js.map +1 -0
- package/core/util/humanizeDuration.d.ts +1 -0
- package/core/util/humanizeDuration.js +24 -0
- package/core/util/humanizeDuration.js.map +1 -0
- package/core/util/isStringEmpty.d.ts +1 -0
- package/core/util/isStringEmpty.js +4 -0
- package/core/util/isStringEmpty.js.map +1 -0
- package/core/util/locationUtils.d.ts +10 -0
- package/core/util/locationUtils.js +34 -0
- package/core/util/locationUtils.js.map +1 -0
- package/coreui/abstractApp.d.ts +22 -0
- package/coreui/abstractApp.js +49 -0
- package/coreui/abstractApp.js.map +1 -0
- package/coreui/abstractListPanel.d.ts +88 -0
- package/coreui/abstractListPanel.js +426 -0
- package/coreui/abstractListPanel.js.map +1 -0
- package/coreui/abstractPage.d.ts +18 -0
- package/coreui/abstractPage.js +104 -0
- package/coreui/abstractPage.js.map +1 -0
- package/coreui/auth/loginForm.d.ts +27 -0
- package/coreui/auth/loginForm.js +47 -0
- package/coreui/auth/loginForm.js.map +1 -0
- package/coreui/auth/logoutButton.d.ts +9 -0
- package/coreui/auth/logoutButton.js +23 -0
- package/coreui/auth/logoutButton.js.map +1 -0
- package/coreui/components/about/aboutModalDialog.d.ts +30 -0
- package/coreui/components/about/aboutModalDialog.js +96 -0
- package/coreui/components/about/aboutModalDialog.js.map +1 -0
- package/coreui/components/advancedFilter/advancedFilterButton.d.ts +26 -0
- package/coreui/components/advancedFilter/advancedFilterButton.js +115 -0
- package/coreui/components/advancedFilter/advancedFilterButton.js.map +1 -0
- package/coreui/components/advancedFilter/advancedFilterColumnDefinitions.d.ts +18 -0
- package/coreui/components/advancedFilter/advancedFilterColumnDefinitions.js +39 -0
- package/coreui/components/advancedFilter/advancedFilterColumnDefinitions.js.map +1 -0
- package/coreui/components/advancedFilter/advancedFilterUtils.d.ts +12 -0
- package/coreui/components/advancedFilter/advancedFilterUtils.js +101 -0
- package/coreui/components/advancedFilter/advancedFilterUtils.js.map +1 -0
- package/coreui/components/advancedFilter/advancedFilterValidationUtils.d.ts +11 -0
- package/coreui/components/advancedFilter/advancedFilterValidationUtils.js +59 -0
- package/coreui/components/advancedFilter/advancedFilterValidationUtils.js.map +1 -0
- package/coreui/components/advancedFilter/advancedFilteredGrid.d.ts +55 -0
- package/coreui/components/advancedFilter/advancedFilteredGrid.js +165 -0
- package/coreui/components/advancedFilter/advancedFilteredGrid.js.map +1 -0
- package/coreui/components/advancedFilter/components/advancedFilterOperatorSelect.d.ts +14 -0
- package/coreui/components/advancedFilter/components/advancedFilterOperatorSelect.js +35 -0
- package/coreui/components/advancedFilter/components/advancedFilterOperatorSelect.js.map +1 -0
- package/coreui/components/advancedFilter/components/advancedFilterValueInput.d.ts +23 -0
- package/coreui/components/advancedFilter/components/advancedFilterValueInput.js +148 -0
- package/coreui/components/advancedFilter/components/advancedFilterValueInput.js.map +1 -0
- package/coreui/components/advancedFilter/conditionList/advancedFilterConditionDetailPanel.d.ts +18 -0
- package/coreui/components/advancedFilter/conditionList/advancedFilterConditionDetailPanel.js +82 -0
- package/coreui/components/advancedFilter/conditionList/advancedFilterConditionDetailPanel.js.map +1 -0
- package/coreui/components/advancedFilter/conditionList/advancedFilterConditionListModalDialog.d.ts +23 -0
- package/coreui/components/advancedFilter/conditionList/advancedFilterConditionListModalDialog.js +58 -0
- package/coreui/components/advancedFilter/conditionList/advancedFilterConditionListModalDialog.js.map +1 -0
- package/coreui/components/advancedFilter/conditionList/advancedFilterConditionListPanel.d.ts +31 -0
- package/coreui/components/advancedFilter/conditionList/advancedFilterConditionListPanel.js +211 -0
- package/coreui/components/advancedFilter/conditionList/advancedFilterConditionListPanel.js.map +1 -0
- package/coreui/components/advancedFilter/filterList/advancedFilterListModalDialog.d.ts +15 -0
- package/coreui/components/advancedFilter/filterList/advancedFilterListModalDialog.js +48 -0
- package/coreui/components/advancedFilter/filterList/advancedFilterListModalDialog.js.map +1 -0
- package/coreui/components/advancedFilter/filterSave/filterSaveModalDialog.d.ts +18 -0
- package/coreui/components/advancedFilter/filterSave/filterSaveModalDialog.js +37 -0
- package/coreui/components/advancedFilter/filterSave/filterSaveModalDialog.js.map +1 -0
- package/coreui/components/advancedFilter/floatingColumnFilter/advancedFilterFloatingColumnComponent.d.ts +26 -0
- package/coreui/components/advancedFilter/floatingColumnFilter/advancedFilterFloatingColumnComponent.js +81 -0
- package/coreui/components/advancedFilter/floatingColumnFilter/advancedFilterFloatingColumnComponent.js.map +1 -0
- package/coreui/components/assignEntitiesToEntity/abstractEntitiesOnEntityList.d.ts +32 -0
- package/coreui/components/assignEntitiesToEntity/abstractEntitiesOnEntityList.js +102 -0
- package/coreui/components/assignEntitiesToEntity/abstractEntitiesOnEntityList.js.map +1 -0
- package/coreui/components/changePasswordModalDialog/changePasswordModalDialog.d.ts +23 -0
- package/coreui/components/changePasswordModalDialog/changePasswordModalDialog.js +83 -0
- package/coreui/components/changePasswordModalDialog/changePasswordModalDialog.js.map +1 -0
- package/coreui/components/colorTag/colorTag.d.ts +9 -0
- package/coreui/components/colorTag/colorTag.js +17 -0
- package/coreui/components/colorTag/colorTag.js.map +1 -0
- package/coreui/components/d2Chart/d2ChartOptions.d.ts +3 -0
- package/coreui/components/d2Chart/d2ChartOptions.js +73 -0
- package/coreui/components/d2Chart/d2ChartOptions.js.map +1 -0
- package/coreui/components/d2Chart/d2ChartPanel.d.ts +48 -0
- package/coreui/components/d2Chart/d2ChartPanel.js +325 -0
- package/coreui/components/d2Chart/d2ChartPanel.js.map +1 -0
- package/coreui/components/d2Chart/d2ChartTablePanel.d.ts +31 -0
- package/coreui/components/d2Chart/d2ChartTablePanel.js +121 -0
- package/coreui/components/d2Chart/d2ChartTablePanel.js.map +1 -0
- package/coreui/components/d2Chart/d2ChartToolboxPanel.d.ts +27 -0
- package/coreui/components/d2Chart/d2ChartToolboxPanel.js +116 -0
- package/coreui/components/d2Chart/d2ChartToolboxPanel.js.map +1 -0
- package/coreui/components/edaManager/abstract/edaManagerAbstractPanel.d.ts +51 -0
- package/coreui/components/edaManager/abstract/edaManagerAbstractPanel.js +169 -0
- package/coreui/components/edaManager/abstract/edaManagerAbstractPanel.js.map +1 -0
- package/coreui/components/edaManager/abstract/edaManagerAbstractTablePanel.d.ts +32 -0
- package/coreui/components/edaManager/abstract/edaManagerAbstractTablePanel.js +87 -0
- package/coreui/components/edaManager/abstract/edaManagerAbstractTablePanel.js.map +1 -0
- package/coreui/components/edaManager/abstract/edaManagerAbstractVectorList.d.ts +24 -0
- package/coreui/components/edaManager/abstract/edaManagerAbstractVectorList.js +98 -0
- package/coreui/components/edaManager/abstract/edaManagerAbstractVectorList.js.map +1 -0
- package/coreui/components/edaManager/compactPanel/edaManagerCompactPanel.d.ts +19 -0
- package/coreui/components/edaManager/compactPanel/edaManagerCompactPanel.js +52 -0
- package/coreui/components/edaManager/compactPanel/edaManagerCompactPanel.js.map +1 -0
- package/coreui/components/edaManager/compactPanel/initialLayout.d.ts +2 -0
- package/coreui/components/edaManager/compactPanel/initialLayout.js +26 -0
- package/coreui/components/edaManager/compactPanel/initialLayout.js.map +1 -0
- package/coreui/components/edaManager/components/detail/components/edaVectorMassChangeButton.d.ts +38 -0
- package/coreui/components/edaManager/components/detail/components/edaVectorMassChangeButton.js +182 -0
- package/coreui/components/edaManager/components/detail/components/edaVectorMassChangeButton.js.map +1 -0
- package/coreui/components/edaManager/components/detail/edaVectorDetailModalDialog.d.ts +23 -0
- package/coreui/components/edaManager/components/detail/edaVectorDetailModalDialog.js +122 -0
- package/coreui/components/edaManager/components/detail/edaVectorDetailModalDialog.js.map +1 -0
- package/coreui/components/edaManager/components/detail/edaVectorDetailTablePanel.d.ts +16 -0
- package/coreui/components/edaManager/components/detail/edaVectorDetailTablePanel.js +63 -0
- package/coreui/components/edaManager/components/detail/edaVectorDetailTablePanel.js.map +1 -0
- package/coreui/components/edaManager/components/detail/initialLayout.d.ts +2 -0
- package/coreui/components/edaManager/components/detail/initialLayout.js +29 -0
- package/coreui/components/edaManager/components/detail/initialLayout.js.map +1 -0
- package/coreui/components/edaManager/components/edaManagerTablePanel.d.ts +22 -0
- package/coreui/components/edaManager/components/edaManagerTablePanel.js +80 -0
- package/coreui/components/edaManager/components/edaManagerTablePanel.js.map +1 -0
- package/coreui/components/edaManager/components/edaManagerTimePanel.d.ts +22 -0
- package/coreui/components/edaManager/components/edaManagerTimePanel.js +38 -0
- package/coreui/components/edaManager/components/edaManagerTimePanel.js.map +1 -0
- package/coreui/components/edaManager/components/edaManagerVectorList.d.ts +11 -0
- package/coreui/components/edaManager/components/edaManagerVectorList.js +35 -0
- package/coreui/components/edaManager/components/edaManagerVectorList.js.map +1 -0
- package/coreui/components/edaManager/components/edaStepSelect/edaStepConstants.d.ts +0 -0
- package/coreui/components/edaManager/components/edaStepSelect/edaStepConstants.js +2 -0
- package/coreui/components/edaManager/components/edaStepSelect/edaStepConstants.js.map +1 -0
- package/coreui/components/edaManager/components/edaStepSelect/edaStepSelect.d.ts +13 -0
- package/coreui/components/edaManager/components/edaStepSelect/edaStepSelect.js +14 -0
- package/coreui/components/edaManager/components/edaStepSelect/edaStepSelect.js.map +1 -0
- package/coreui/components/edaManager/components/edaVectorSelect/edaVectorSelect.d.ts +10 -0
- package/coreui/components/edaManager/components/edaVectorSelect/edaVectorSelect.js +20 -0
- package/coreui/components/edaManager/components/edaVectorSelect/edaVectorSelect.js.map +1 -0
- package/coreui/components/edaManager/components/edaVectorSelect/edaVectorSelectModalDialog.d.ts +13 -0
- package/coreui/components/edaManager/components/edaVectorSelect/edaVectorSelectModalDialog.js +22 -0
- package/coreui/components/edaManager/components/edaVectorSelect/edaVectorSelectModalDialog.js.map +1 -0
- package/coreui/components/edaManager/constants.d.ts +2 -0
- package/coreui/components/edaManager/constants.js +11 -0
- package/coreui/components/edaManager/constants.js.map +1 -0
- package/coreui/components/edaManager/panel/edaManagerPanel.d.ts +13 -0
- package/coreui/components/edaManager/panel/edaManagerPanel.js +32 -0
- package/coreui/components/edaManager/panel/edaManagerPanel.js.map +1 -0
- package/coreui/components/edaManager/panel/initialLayout.d.ts +2 -0
- package/coreui/components/edaManager/panel/initialLayout.js +39 -0
- package/coreui/components/edaManager/panel/initialLayout.js.map +1 -0
- package/coreui/components/editor/abstractEntityConfigPanel.d.ts +82 -0
- package/coreui/components/editor/abstractEntityConfigPanel.js +307 -0
- package/coreui/components/editor/abstractEntityConfigPanel.js.map +1 -0
- package/coreui/components/filePicker/filePicker.d.ts +20 -0
- package/coreui/components/filePicker/filePicker.js +57 -0
- package/coreui/components/filePicker/filePicker.js.map +1 -0
- package/coreui/components/grid/auditEntityRowStyleRules.d.ts +3 -0
- package/coreui/components/grid/auditEntityRowStyleRules.js +34 -0
- package/coreui/components/grid/auditEntityRowStyleRules.js.map +1 -0
- package/coreui/components/grid/detailHeaderPanel.d.ts +13 -0
- package/coreui/components/grid/detailHeaderPanel.js +29 -0
- package/coreui/components/grid/detailHeaderPanel.js.map +1 -0
- package/coreui/components/grid/standardColumns.d.ts +14 -0
- package/coreui/components/grid/standardColumns.js +150 -0
- package/coreui/components/grid/standardColumns.js.map +1 -0
- package/coreui/components/history/entityHistoryListPanel.d.ts +38 -0
- package/coreui/components/history/entityHistoryListPanel.js +154 -0
- package/coreui/components/history/entityHistoryListPanel.js.map +1 -0
- package/coreui/components/languageSelect/languageSelect.d.ts +17 -0
- package/coreui/components/languageSelect/languageSelect.js +28 -0
- package/coreui/components/languageSelect/languageSelect.js.map +1 -0
- package/coreui/components/modalWithIcon/openModalWithIcon.d.ts +8 -0
- package/coreui/components/modalWithIcon/openModalWithIcon.js +30 -0
- package/coreui/components/modalWithIcon/openModalWithIcon.js.map +1 -0
- package/coreui/components/select/abstractSelect.d.ts +57 -0
- package/coreui/components/select/abstractSelect.js +233 -0
- package/coreui/components/select/abstractSelect.js.map +1 -0
- package/coreui/components/select/abstractSelectModalDialog.d.ts +33 -0
- package/coreui/components/select/abstractSelectModalDialog.js +110 -0
- package/coreui/components/select/abstractSelectModalDialog.js.map +1 -0
- package/coreui/components/select/selectUtils.d.ts +4 -0
- package/coreui/components/select/selectUtils.js +14 -0
- package/coreui/components/select/selectUtils.js.map +1 -0
- package/coreui/components/titleWithCodePanel/titleWithCodePanel.d.ts +10 -0
- package/coreui/components/titleWithCodePanel/titleWithCodePanel.js +20 -0
- package/coreui/components/titleWithCodePanel/titleWithCodePanel.js.map +1 -0
- package/coreui/icons/icons.d.ts +3 -0
- package/coreui/icons/icons.js +18 -0
- package/coreui/icons/icons.js.map +1 -0
- package/coreui/layout/contextToolbar.d.ts +15 -0
- package/coreui/layout/contextToolbar.js +41 -0
- package/coreui/layout/contextToolbar.js.map +1 -0
- package/coreui/style/index.less +165 -0
- package/coreui/style/login.css +214 -0
- package/package.json +65 -0
- package/tsconfig.json +38 -0
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Button } from "antd";
|
|
3
|
+
import i18n from "d2core/i18n/i18n";
|
|
4
|
+
import { CloseCircleOutlined, DeleteOutlined, PlusCircleOutlined } from "@ant-design/icons";
|
|
5
|
+
import { ModalDialog } from "d2coreui/components/modal/modalDialog";
|
|
6
|
+
import ExtendedDataGrid from "d2coreui/components/grid/extendedDataGrid";
|
|
7
|
+
import { ERROR_COLOR } from "../../../api/constants/constants";
|
|
8
|
+
export class AbstractEntitiesOnEntityList extends React.Component {
|
|
9
|
+
constructor(props) {
|
|
10
|
+
super(props);
|
|
11
|
+
this.initialState = {
|
|
12
|
+
selectedRecords: [],
|
|
13
|
+
selectModalDialogVisible: false,
|
|
14
|
+
columnDefs: this.getInitialColumnDefs(),
|
|
15
|
+
};
|
|
16
|
+
this.onSelectionChanged = this.onSelectionChanged.bind(this);
|
|
17
|
+
this.renderControlPanel = this.renderControlPanel.bind(this);
|
|
18
|
+
}
|
|
19
|
+
componentDidUpdate(prevProps) {
|
|
20
|
+
if (prevProps.disabled !== this.props.disabled || prevProps.editedEntity.id !== this.props.editedEntity.id) {
|
|
21
|
+
this.gridApi?.updateGridOptions({ rowData: this.getSubEntities() });
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
renderSelectModalDialog() {
|
|
25
|
+
return undefined;
|
|
26
|
+
}
|
|
27
|
+
renderControlPanel() {
|
|
28
|
+
return null;
|
|
29
|
+
}
|
|
30
|
+
noRecordsOverlayRenderer() {
|
|
31
|
+
return React.createElement("div", null);
|
|
32
|
+
}
|
|
33
|
+
renderToolbarButtons() {
|
|
34
|
+
return React.createElement(React.Fragment, null,
|
|
35
|
+
React.createElement(Button, { title: i18n("Add Record"), disabled: this.props.disabled, onClick: () => {
|
|
36
|
+
this.setState({ selectModalDialogVisible: true });
|
|
37
|
+
} },
|
|
38
|
+
React.createElement(PlusCircleOutlined, null)),
|
|
39
|
+
React.createElement(Button, { title: i18n("Exclude Record"), disabled: this.state.selectedRecords.length === 0 || this.props.disabled, onClick: () => {
|
|
40
|
+
ModalDialog.delete({
|
|
41
|
+
mode: "YES_NO",
|
|
42
|
+
title: React.createElement("span", { style: { whiteSpace: "nowrap" } }, i18n("Exclude %n records?", this.state.selectedRecords.length)),
|
|
43
|
+
icon: React.createElement(DeleteOutlined, { style: { color: ERROR_COLOR } }),
|
|
44
|
+
onOk: () => {
|
|
45
|
+
const subEntities = this.getSubEntities();
|
|
46
|
+
this.state.selectedRecords.forEach(subEntityToExclude => {
|
|
47
|
+
const index = subEntities.findIndex(value => value.id === subEntityToExclude.id);
|
|
48
|
+
subEntities.splice(index, 1);
|
|
49
|
+
});
|
|
50
|
+
this.props.onChange?.();
|
|
51
|
+
this.gridApi?.applyTransaction({ remove: this.state.selectedRecords });
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
} },
|
|
55
|
+
React.createElement(CloseCircleOutlined, null)));
|
|
56
|
+
}
|
|
57
|
+
onSelectionChanged(event) {
|
|
58
|
+
const selectedRows = event.api.getSelectedRows();
|
|
59
|
+
this.setState({ selectedRecords: selectedRows });
|
|
60
|
+
}
|
|
61
|
+
addRecordsToGrid(records, idToSelect) {
|
|
62
|
+
if (records.length > 0) {
|
|
63
|
+
this.gridApi?.applyTransaction({ add: records });
|
|
64
|
+
this.props.onChange?.();
|
|
65
|
+
}
|
|
66
|
+
if (idToSelect !== undefined) {
|
|
67
|
+
let rowNode = this.gridApi?.getRowNode(idToSelect.toString());
|
|
68
|
+
if (rowNode) {
|
|
69
|
+
rowNode.setSelected(true, true);
|
|
70
|
+
this.gridApi?.ensureNodeVisible(rowNode);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
render() {
|
|
75
|
+
const subEntities = this.getSubEntities();
|
|
76
|
+
return (React.createElement("div", { style: { height: this.props.height, overflow: "auto", resize: "vertical" } },
|
|
77
|
+
this.renderSelectModalDialog(),
|
|
78
|
+
React.createElement(ExtendedDataGrid, { onGridReady: (params) => {
|
|
79
|
+
this.gridApi = params.api;
|
|
80
|
+
}, defaultGridConfiguration: { pageSize: -1 }, columnDefs: this.state.columnDefs, rowData: subEntities, onLoadData: (callback) => {
|
|
81
|
+
callback(subEntities.length);
|
|
82
|
+
}, search: {
|
|
83
|
+
hidden: true,
|
|
84
|
+
searchButtonHidden: true,
|
|
85
|
+
}, rowSelection: "multiple", onSelectionChanged: this.onSelectionChanged, toolbar: {
|
|
86
|
+
renderToolbar: (originalSearchBar) => this.renderSelectModalDialog() ? originalSearchBar : React.createElement(React.Fragment, null),
|
|
87
|
+
toolbarButtons: this.renderSelectModalDialog() ? this.renderToolbarButtons() : React.createElement(React.Fragment, null),
|
|
88
|
+
hideRecordCount: !this.renderSelectModalDialog()
|
|
89
|
+
}, tablePanelStyle: {
|
|
90
|
+
marginTop: this.renderSelectModalDialog() ? 4 : 0,
|
|
91
|
+
border: this.props.isError ? `1px solid ${ERROR_COLOR}` : "unset"
|
|
92
|
+
}, controlPanel: {
|
|
93
|
+
renderer: this.renderControlPanel
|
|
94
|
+
}, panelStyle: { padding: 0 }, tableConfigVisible: false, noRecordsOverlayRenderer: () => {
|
|
95
|
+
if (this.getSubEntities().length === 0) {
|
|
96
|
+
return this.noRecordsOverlayRenderer();
|
|
97
|
+
}
|
|
98
|
+
return React.createElement("div", null);
|
|
99
|
+
}, singleClickEdit: true, stopEditingWhenCellsLoseFocus: true, enterNavigatesVerticallyAfterEdit: true })));
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
//# sourceMappingURL=abstractEntitiesOnEntityList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"abstractEntitiesOnEntityList.js","sourceRoot":"","sources":["../../../../../coreui/components/assignEntitiesToEntity/abstractEntitiesOnEntityList.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 {GridApi, GridReadyEvent, SelectionChangedEvent} from \"ag-grid-community\";\r\nimport {Button} from \"antd\";\r\nimport i18n from \"d2core/i18n/i18n\";\r\nimport {CloseCircleOutlined, DeleteOutlined, PlusCircleOutlined} from \"@ant-design/icons\";\r\nimport {ModalDialog, ModalDialogMode} from \"d2coreui/components/modal/modalDialog\";\r\nimport ExtendedDataGrid from \"d2coreui/components/grid/extendedDataGrid\";\r\nimport {ERROR_COLOR} from \"../../../api/constants/constants\";\r\n\r\nexport interface AbstractEntitiesOnEntityListProps<ME extends Entity> {\r\n editedEntity: ME\r\n height: number\r\n disabled?: boolean\r\n isError?: boolean\r\n\r\n onChange?(): void\r\n}\r\n\r\nexport interface AbstractEntitiesOnEntityListState<SE extends Entity> {\r\n selectedRecords: SE[]\r\n selectModalDialogVisible: boolean\r\n columnDefs: DataGridColDef[]\r\n}\r\n\r\nexport abstract class AbstractEntitiesOnEntityList<\r\n ME extends Entity,\r\n SE extends Entity,\r\n P extends AbstractEntitiesOnEntityListProps<ME>,\r\n S extends AbstractEntitiesOnEntityListState<SE>\r\n> extends React.Component<P, S> {\r\n protected gridApi?: GridApi;\r\n protected initialColumnDefs?: DataGridColDef[];\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.renderControlPanel = this.renderControlPanel.bind(this);\r\n }\r\n\r\n protected initialState: AbstractEntitiesOnEntityListState<SE> = {\r\n selectedRecords: [],\r\n selectModalDialogVisible: false,\r\n columnDefs: this.getInitialColumnDefs(),\r\n }\r\n\r\n componentDidUpdate(prevProps: Readonly<P>) {\r\n if (prevProps.disabled !== this.props.disabled || prevProps.editedEntity.id !== this.props.editedEntity.id) {\r\n this.gridApi?.updateGridOptions({rowData: this.getSubEntities()});\r\n }\r\n }\r\n\r\n abstract getInitialColumnDefs(): DataGridColDef[];\r\n\r\n abstract getSubEntities(): SE[];\r\n\r\n protected renderSelectModalDialog(): React.ReactNode | undefined {\r\n return undefined;\r\n }\r\n\r\n protected renderControlPanel(): JSX.Element | null {\r\n return null;\r\n }\r\n\r\n protected noRecordsOverlayRenderer() {\r\n return <div/>\r\n }\r\n\r\n protected renderToolbarButtons() {\r\n return <>\r\n <Button\r\n title={i18n(\"Add Record\")}\r\n disabled={this.props.disabled}\r\n onClick={() => {\r\n this.setState({selectModalDialogVisible: true});\r\n }}\r\n >\r\n <PlusCircleOutlined/>\r\n </Button>\r\n <Button\r\n title={i18n(\"Exclude Record\")}\r\n disabled={this.state.selectedRecords.length === 0 || this.props.disabled}\r\n onClick={() => {\r\n ModalDialog.delete({\r\n mode: ModalDialogMode.YES_NO,\r\n title:\r\n <span style={{whiteSpace: \"nowrap\"}}>\r\n {i18n(\"Exclude %n records?\", this.state.selectedRecords.length)}\r\n </span>,\r\n icon: <DeleteOutlined style={{color: ERROR_COLOR}}/>,\r\n onOk: () => {\r\n const subEntities = this.getSubEntities();\r\n\r\n this.state.selectedRecords.forEach(subEntityToExclude => {\r\n const index = subEntities.findIndex(value => value.id === subEntityToExclude.id);\r\n subEntities.splice(index, 1);\r\n });\r\n\r\n this.props.onChange?.();\r\n this.gridApi?.applyTransaction({remove: this.state.selectedRecords});\r\n }\r\n });\r\n }}\r\n >\r\n <CloseCircleOutlined/>\r\n </Button>\r\n </>;\r\n }\r\n\r\n private onSelectionChanged(event: SelectionChangedEvent): void {\r\n const selectedRows = event.api.getSelectedRows();\r\n this.setState({selectedRecords: selectedRows});\r\n }\r\n\r\n protected addRecordsToGrid(records: SE[], idToSelect?: number) {\r\n if (records.length > 0) {\r\n this.gridApi?.applyTransaction({add: records});\r\n this.props.onChange?.();\r\n }\r\n\r\n if (idToSelect !== undefined) {\r\n let rowNode = this.gridApi?.getRowNode(idToSelect.toString());\r\n if (rowNode) {\r\n rowNode.setSelected(true, true);\r\n this.gridApi?.ensureNodeVisible(rowNode);\r\n }\r\n }\r\n }\r\n\r\n render() {\r\n const subEntities = this.getSubEntities();\r\n\r\n return (\r\n <div style={{height: this.props.height, overflow: \"auto\", resize: \"vertical\"}}>\r\n {this.renderSelectModalDialog()}\r\n <ExtendedDataGrid\r\n onGridReady={(params: GridReadyEvent) => {\r\n this.gridApi = params.api;\r\n }}\r\n defaultGridConfiguration={{pageSize: -1}}\r\n columnDefs={this.state.columnDefs}\r\n rowData={subEntities}\r\n onLoadData={(callback) => {\r\n callback(subEntities.length);\r\n }}\r\n search={{\r\n hidden: true,\r\n searchButtonHidden: true,\r\n }}\r\n rowSelection=\"multiple\"\r\n onSelectionChanged={this.onSelectionChanged}\r\n toolbar={{\r\n renderToolbar: (originalSearchBar) => this.renderSelectModalDialog() ? originalSearchBar : <></>,\r\n toolbarButtons: this.renderSelectModalDialog() ? this.renderToolbarButtons() : <></>,\r\n hideRecordCount: !this.renderSelectModalDialog()\r\n }}\r\n tablePanelStyle={{\r\n marginTop: this.renderSelectModalDialog() ? 4 : 0,\r\n border: this.props.isError ? `1px solid ${ERROR_COLOR}` : \"unset\"\r\n }}\r\n controlPanel={{\r\n renderer: this.renderControlPanel\r\n }}\r\n panelStyle={{padding: 0}}\r\n tableConfigVisible={false}\r\n noRecordsOverlayRenderer={() => {\r\n if (this.getSubEntities().length === 0) {\r\n return this.noRecordsOverlayRenderer();\r\n }\r\n return <div/>\r\n }}\r\n singleClickEdit\r\n stopEditingWhenCellsLoseFocus\r\n enterNavigatesVerticallyAfterEdit\r\n />\r\n </div>\r\n );\r\n }\r\n\r\n}"]}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { D2WebApi } from "d2jsapi";
|
|
3
|
+
interface Props {
|
|
4
|
+
open: boolean;
|
|
5
|
+
d2api: D2WebApi;
|
|
6
|
+
passwordExpired?: boolean;
|
|
7
|
+
onCancel(): void;
|
|
8
|
+
}
|
|
9
|
+
interface State {
|
|
10
|
+
oldPassword: string;
|
|
11
|
+
newPassword: string;
|
|
12
|
+
newPasswordConfirm: string;
|
|
13
|
+
loading: boolean;
|
|
14
|
+
alertType?: "success" | "info" | "warning" | "error";
|
|
15
|
+
alertMessage?: string;
|
|
16
|
+
}
|
|
17
|
+
export default class ChangePasswordModalDialog extends React.Component<Props, State> {
|
|
18
|
+
constructor(props: Readonly<Props>);
|
|
19
|
+
private isConfirmDisabled;
|
|
20
|
+
private onChangePassword;
|
|
21
|
+
render(): React.JSX.Element;
|
|
22
|
+
}
|
|
23
|
+
export {};
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import i18n from "d2core/i18n/i18n";
|
|
3
|
+
import { ModalDialog } from "d2coreui/components/modal/modalDialog";
|
|
4
|
+
import { Alert, Button, Form, Input } from "antd";
|
|
5
|
+
import { LockOutlined } from "@ant-design/icons";
|
|
6
|
+
import { Key } from "ts-key-enum";
|
|
7
|
+
import { PRIMARY_COLOR } from "../../../api/constants/constants";
|
|
8
|
+
export default class ChangePasswordModalDialog extends React.Component {
|
|
9
|
+
constructor(props) {
|
|
10
|
+
super(props);
|
|
11
|
+
this.state = {
|
|
12
|
+
oldPassword: "",
|
|
13
|
+
newPassword: "",
|
|
14
|
+
newPasswordConfirm: "",
|
|
15
|
+
loading: false,
|
|
16
|
+
};
|
|
17
|
+
this.onChangePassword = this.onChangePassword.bind(this);
|
|
18
|
+
}
|
|
19
|
+
isConfirmDisabled() {
|
|
20
|
+
return !this.state.oldPassword || !this.state.newPassword || !this.state.newPasswordConfirm;
|
|
21
|
+
}
|
|
22
|
+
async onChangePassword() {
|
|
23
|
+
const { oldPassword, newPassword, newPasswordConfirm } = this.state;
|
|
24
|
+
if (newPassword !== newPasswordConfirm) {
|
|
25
|
+
this.setState({
|
|
26
|
+
alertType: "error",
|
|
27
|
+
alertMessage: i18n("Passwords do not match.")
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
else if (oldPassword && newPassword) {
|
|
31
|
+
this.setState({ loading: true });
|
|
32
|
+
const changePasswordResultCode = await this.props.d2api.changePassword(oldPassword, newPassword);
|
|
33
|
+
if (changePasswordResultCode === "ok") {
|
|
34
|
+
this.setState({
|
|
35
|
+
alertType: "success",
|
|
36
|
+
alertMessage: i18n("Password changed.")
|
|
37
|
+
});
|
|
38
|
+
setTimeout(() => window.location.href = "./do.logout", 1000);
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
this.setState({
|
|
42
|
+
alertType: "error",
|
|
43
|
+
alertMessage: i18n(changePasswordResultCode),
|
|
44
|
+
loading: false,
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
render() {
|
|
50
|
+
return (React.createElement(ModalDialog, { styles: {
|
|
51
|
+
header: {
|
|
52
|
+
textAlign: "center"
|
|
53
|
+
},
|
|
54
|
+
body: {
|
|
55
|
+
textAlign: "center",
|
|
56
|
+
paddingTop: 0,
|
|
57
|
+
paddingBottom: 0,
|
|
58
|
+
},
|
|
59
|
+
}, title: this.props.passwordExpired ? i18n("Password expired") : i18n("Change password"), mode: "NO_BUTTONS", closable: !this.props.passwordExpired, open: this.props.open, onCancel: this.props.onCancel, initialWidth: 400, initialHeight: 440, maskClosable: !this.props.passwordExpired, keyboard: !this.props.passwordExpired, footer: React.createElement(Button, { block: true, type: "primary", disabled: this.isConfirmDisabled(), loading: this.state.loading, onClick: this.onChangePassword }, i18n("Confirm")) },
|
|
60
|
+
React.createElement("div", null,
|
|
61
|
+
React.createElement(LockOutlined, { style: { fontSize: 60, color: PRIMARY_COLOR } }),
|
|
62
|
+
React.createElement(Form, { className: "record-config-form", layout: "horizontal", labelCol: { sm: 24, md: 24, lg: 24, xl: 24, xxl: 24 }, onKeyUp: event => {
|
|
63
|
+
if (event.key === Key.Enter && !this.isConfirmDisabled()) {
|
|
64
|
+
this.onChangePassword();
|
|
65
|
+
}
|
|
66
|
+
} },
|
|
67
|
+
React.createElement(Form.Item, { label: i18n("Old password") },
|
|
68
|
+
React.createElement(Input.Password, { value: this.state.oldPassword, prefix: React.createElement(LockOutlined, null), onChange: event => {
|
|
69
|
+
this.setState({ oldPassword: event.target.value });
|
|
70
|
+
} })),
|
|
71
|
+
React.createElement(Form.Item, { label: i18n("New password") },
|
|
72
|
+
React.createElement(Input.Password, { value: this.state.newPassword, prefix: React.createElement(LockOutlined, null), onChange: event => {
|
|
73
|
+
this.setState({ newPassword: event.target.value });
|
|
74
|
+
} })),
|
|
75
|
+
React.createElement(Form.Item, { label: i18n("Confirm password") },
|
|
76
|
+
React.createElement(Input.Password, { value: this.state.newPasswordConfirm, prefix: React.createElement(LockOutlined, null), onChange: event => {
|
|
77
|
+
this.setState({ newPasswordConfirm: event.target.value });
|
|
78
|
+
} }))),
|
|
79
|
+
this.state.alertType &&
|
|
80
|
+
React.createElement(Alert, { style: { marginTop: 28 }, type: this.state.alertType, message: this.state.alertMessage, showIcon: true }))));
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=changePasswordModalDialog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"changePasswordModalDialog.js","sourceRoot":"","sources":["../../../../../coreui/components/changePasswordModalDialog/changePasswordModalDialog.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from \"react\";\r\nimport i18n from \"d2core/i18n/i18n\";\r\nimport {ModalDialog, ModalDialogMode} from \"d2coreui/components/modal/modalDialog\";\r\nimport {Alert, Button, Form, Input} from \"antd\";\r\nimport {D2WebApi} from \"d2jsapi\";\r\nimport {LockOutlined} from \"@ant-design/icons\";\r\nimport {Key} from \"ts-key-enum\";\r\nimport {PRIMARY_COLOR} from \"../../../api/constants/constants\";\r\n\r\ninterface Props {\r\n open: boolean\r\n d2api: D2WebApi\r\n passwordExpired?: boolean\r\n\r\n onCancel(): void\r\n}\r\n\r\ninterface State {\r\n oldPassword: string\r\n newPassword: string\r\n newPasswordConfirm: string\r\n loading: boolean\r\n\r\n alertType?: \"success\" | \"info\" | \"warning\" | \"error\"\r\n alertMessage?: string\r\n}\r\n\r\nexport default class ChangePasswordModalDialog extends React.Component<Props, State> {\r\n constructor(props: Readonly<Props>) {\r\n super(props);\r\n\r\n this.state = {\r\n oldPassword: \"\",\r\n newPassword: \"\",\r\n newPasswordConfirm: \"\",\r\n loading: false,\r\n }\r\n\r\n this.onChangePassword = this.onChangePassword.bind(this);\r\n }\r\n\r\n private isConfirmDisabled() {\r\n return !this.state.oldPassword || !this.state.newPassword || !this.state.newPasswordConfirm;\r\n }\r\n\r\n private async onChangePassword() {\r\n const {oldPassword, newPassword, newPasswordConfirm} = this.state;\r\n\r\n if (newPassword !== newPasswordConfirm) {\r\n this.setState({\r\n alertType: \"error\",\r\n alertMessage: i18n(\"Passwords do not match.\")\r\n });\r\n } else if (oldPassword && newPassword) {\r\n this.setState({loading: true});\r\n const changePasswordResultCode = await this.props.d2api.changePassword(oldPassword, newPassword);\r\n if (changePasswordResultCode === \"ok\") {\r\n this.setState({\r\n alertType: \"success\",\r\n alertMessage: i18n(\"Password changed.\")\r\n });\r\n setTimeout(() => window.location.href = \"./do.logout\", 1000);\r\n } else {\r\n this.setState({\r\n alertType: \"error\",\r\n alertMessage: i18n(changePasswordResultCode),\r\n loading: false,\r\n });\r\n }\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n <ModalDialog\r\n styles={{\r\n header: {\r\n textAlign: \"center\"\r\n },\r\n body: {\r\n textAlign: \"center\",\r\n paddingTop: 0,\r\n paddingBottom: 0,\r\n },\r\n }}\r\n title={this.props.passwordExpired ? i18n(\"Password expired\") : i18n(\"Change password\")}\r\n mode={ModalDialogMode.NO_BUTTONS}\r\n closable={!this.props.passwordExpired}\r\n open={this.props.open}\r\n onCancel={this.props.onCancel}\r\n initialWidth={400}\r\n initialHeight={440}\r\n maskClosable={!this.props.passwordExpired}\r\n keyboard={!this.props.passwordExpired}\r\n footer={\r\n <Button\r\n block\r\n type=\"primary\"\r\n disabled={this.isConfirmDisabled()}\r\n loading={this.state.loading}\r\n onClick={this.onChangePassword}\r\n >\r\n {i18n(\"Confirm\")}\r\n </Button>\r\n }\r\n >\r\n <div>\r\n <LockOutlined style={{fontSize: 60, color: PRIMARY_COLOR}}/>\r\n <Form\r\n className=\"record-config-form\"\r\n layout=\"horizontal\"\r\n labelCol={{sm: 24, md: 24, lg: 24, xl: 24, xxl: 24}}\r\n onKeyUp={event => {\r\n if (event.key === Key.Enter && !this.isConfirmDisabled()) {\r\n this.onChangePassword();\r\n }\r\n }}\r\n >\r\n <Form.Item label={i18n(\"Old password\")}>\r\n <Input.Password\r\n value={this.state.oldPassword}\r\n prefix={<LockOutlined/>}\r\n onChange={event => {\r\n this.setState({oldPassword: event.target.value})\r\n }}\r\n />\r\n </Form.Item>\r\n <Form.Item label={i18n(\"New password\")}>\r\n <Input.Password\r\n value={this.state.newPassword}\r\n prefix={<LockOutlined/>}\r\n onChange={event => {\r\n this.setState({newPassword: event.target.value})\r\n }}\r\n />\r\n </Form.Item>\r\n <Form.Item label={i18n(\"Confirm password\")}>\r\n <Input.Password\r\n value={this.state.newPasswordConfirm}\r\n prefix={<LockOutlined/>}\r\n onChange={event => {\r\n this.setState({newPasswordConfirm: event.target.value})\r\n }}\r\n />\r\n </Form.Item>\r\n </Form>\r\n {this.state.alertType &&\r\n <Alert\r\n style={{marginTop: 28}}\r\n type={this.state.alertType}\r\n message={this.state.alertMessage}\r\n showIcon\r\n />\r\n }\r\n </div>\r\n </ModalDialog>\r\n );\r\n }\r\n}"]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import ColorUtils from "d2coreui/components/color/colorUtils";
|
|
3
|
+
import { Tag } from "antd";
|
|
4
|
+
export default class ColorTag extends React.Component {
|
|
5
|
+
constructor(props) {
|
|
6
|
+
super(props);
|
|
7
|
+
}
|
|
8
|
+
render() {
|
|
9
|
+
const { color, title, style, children, ...rest } = this.props;
|
|
10
|
+
return (React.createElement(Tag, { style: {
|
|
11
|
+
color: color?.startsWith("#") ? ColorUtils.invertColor(color.substring(0, 7), true) : undefined,
|
|
12
|
+
fontSize: 12,
|
|
13
|
+
...style
|
|
14
|
+
}, color: color, bordered: false, ...rest }, children));
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=colorTag.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"colorTag.js","sourceRoot":"","sources":["../../../../../coreui/components/colorTag/colorTag.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,UAAU,MAAM,sCAAsC,CAAC;AAC9D,OAAO,EAAC,GAAG,EAAW,MAAM,MAAM,CAAC;AAKnC,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,KAAK,CAAC,SAAgB;IACxD,YAAY,KAAsB;QAC9B,KAAK,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC;IAED,MAAM;QACF,MAAM,EAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAE5D,OAAO,CACH,oBAAC,GAAG,IACA,KAAK,EAAE;gBACH,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;gBAC/F,QAAQ,EAAE,EAAE;gBACZ,GAAG,KAAK;aACX,EACD,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,KAAK,KACX,IAAI,IAEP,QAAQ,CACP,CACT,CAAC;IACN,CAAC;CAEJ","sourcesContent":["import React from \"react\";\r\nimport ColorUtils from \"d2coreui/components/color/colorUtils\";\r\nimport {Tag, TagProps} from \"antd\";\r\n\r\ninterface Props extends TagProps {\r\n}\r\n\r\nexport default class ColorTag extends React.Component<Props> {\r\n constructor(props: Readonly<Props>) {\r\n super(props);\r\n }\r\n\r\n render() {\r\n const {color, title, style, children, ...rest} = this.props;\r\n\r\n return (\r\n <Tag\r\n style={{\r\n color: color?.startsWith(\"#\") ? ColorUtils.invertColor(color.substring(0, 7), true) : undefined,\r\n fontSize: 12,\r\n ...style\r\n }}\r\n color={color}\r\n bordered={false}\r\n {...rest}\r\n >\r\n {children}\r\n </Tag>\r\n );\r\n }\r\n\r\n}"]}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
export const d2ChartOptions = {
|
|
2
|
+
xAxis: {
|
|
3
|
+
type: "time",
|
|
4
|
+
splitNumber: 4,
|
|
5
|
+
boundaryGap: [0, 0],
|
|
6
|
+
axisLabel: {
|
|
7
|
+
formatter: '{dd}.{MM}.{yyyy} {HH}:{mm}',
|
|
8
|
+
padding: [0, 24, 0, 0],
|
|
9
|
+
showMinLabel: true,
|
|
10
|
+
showMaxLabel: true,
|
|
11
|
+
},
|
|
12
|
+
},
|
|
13
|
+
yAxis: {
|
|
14
|
+
type: "value",
|
|
15
|
+
min: function (value) {
|
|
16
|
+
return Math.floor(value.min * 100) / 100;
|
|
17
|
+
},
|
|
18
|
+
max: function (value) {
|
|
19
|
+
return Math.round(value.max * 100) / 100;
|
|
20
|
+
},
|
|
21
|
+
nameTextStyle: {
|
|
22
|
+
align: "right",
|
|
23
|
+
},
|
|
24
|
+
},
|
|
25
|
+
legend: {
|
|
26
|
+
show: false,
|
|
27
|
+
},
|
|
28
|
+
dataZoom: [{
|
|
29
|
+
type: "inside",
|
|
30
|
+
}, {
|
|
31
|
+
type: "slider",
|
|
32
|
+
}],
|
|
33
|
+
toolbox: {
|
|
34
|
+
feature: {
|
|
35
|
+
dataZoom: {
|
|
36
|
+
yAxisIndex: "none",
|
|
37
|
+
icon: {
|
|
38
|
+
zoom: "path://M10 10",
|
|
39
|
+
back: "path://M10 10",
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
grid: {
|
|
45
|
+
top: 44,
|
|
46
|
+
right: 40,
|
|
47
|
+
left: 84,
|
|
48
|
+
},
|
|
49
|
+
};
|
|
50
|
+
export const compactChartOptions = {
|
|
51
|
+
...d2ChartOptions,
|
|
52
|
+
xAxis: {
|
|
53
|
+
type: "time",
|
|
54
|
+
splitNumber: 1,
|
|
55
|
+
boundaryGap: [0, 0],
|
|
56
|
+
axisLabel: {
|
|
57
|
+
formatter: '{dd}.{MM}.{yyyy} {HH}:{mm}',
|
|
58
|
+
padding: [0, 24, 0, 0],
|
|
59
|
+
showMinLabel: true,
|
|
60
|
+
showMaxLabel: true,
|
|
61
|
+
},
|
|
62
|
+
},
|
|
63
|
+
dataZoom: {
|
|
64
|
+
type: "inside",
|
|
65
|
+
},
|
|
66
|
+
grid: {
|
|
67
|
+
top: 40,
|
|
68
|
+
left: 68,
|
|
69
|
+
right: 40,
|
|
70
|
+
bottom: 20,
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
//# sourceMappingURL=d2ChartOptions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"d2ChartOptions.js","sourceRoot":"","sources":["../../../../../coreui/components/d2Chart/d2ChartOptions.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,cAAc,GAAkB;IACzC,KAAK,EAAE;QACH,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,CAAC;QACd,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QACnB,SAAS,EAAE;YACP,SAAS,EAAE,4BAA4B;YACvC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;YACtB,YAAY,EAAE,IAAI;YAClB,YAAY,EAAE,IAAI;SACrB;KACJ;IACD,KAAK,EAAE;QACH,IAAI,EAAE,OAAO;QACb,GAAG,EAAE,UAAU,KAAU;YACrB,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;QAC7C,CAAC;QACD,GAAG,EAAE,UAAU,KAAU;YACrB,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;QAC7C,CAAC;QACD,aAAa,EAAE;YACX,KAAK,EAAE,OAAO;SACjB;KACJ;IACD,MAAM,EAAE;QACJ,IAAI,EAAE,KAAK;KACd;IACD,QAAQ,EAAE,CAAC;YACP,IAAI,EAAE,QAAQ;SACjB,EAAE;YACC,IAAI,EAAE,QAAQ;SACjB,CAAC;IACF,OAAO,EAAE;QACL,OAAO,EAAE;YACL,QAAQ,EAAE;gBACN,UAAU,EAAE,MAAM;gBAClB,IAAI,EAAE;oBACF,IAAI,EAAE,eAAe;oBACrB,IAAI,EAAE,eAAe;iBACxB;aACJ;SACJ;KACJ;IACD,IAAI,EAAE;QACF,GAAG,EAAE,EAAE;QACP,KAAK,EAAE,EAAE;QACT,IAAI,EAAE,EAAE;KACX;CACJ,CAAA;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAkB;IAC9C,GAAG,cAAc;IACjB,KAAK,EAAE;QACH,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,CAAC;QACd,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QACnB,SAAS,EAAE;YACP,SAAS,EAAE,4BAA4B;YACvC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;YACtB,YAAY,EAAE,IAAI;YAClB,YAAY,EAAE,IAAI;SACrB;KACJ;IACD,QAAQ,EAAE;QACN,IAAI,EAAE,QAAQ;KACjB;IACD,IAAI,EAAE;QACF,GAAG,EAAE,EAAE;QACP,IAAI,EAAE,EAAE;QACR,KAAK,EAAE,EAAE;QACT,MAAM,EAAE,EAAE;KACb;CACJ,CAAA","sourcesContent":["import {EChartsOption} from \"echarts-for-react\";\r\n\r\nexport const d2ChartOptions: EChartsOption = {\r\n xAxis: {\r\n type: \"time\",\r\n splitNumber: 4,\r\n boundaryGap: [0, 0],\r\n axisLabel: {\r\n formatter: '{dd}.{MM}.{yyyy} {HH}:{mm}',\r\n padding: [0, 24, 0, 0],\r\n showMinLabel: true,\r\n showMaxLabel: true,\r\n },\r\n },\r\n yAxis: {\r\n type: \"value\",\r\n min: function (value: any) {\r\n return Math.floor(value.min * 100) / 100;\r\n },\r\n max: function (value: any) {\r\n return Math.round(value.max * 100) / 100;\r\n },\r\n nameTextStyle: {\r\n align: \"right\",\r\n },\r\n },\r\n legend: {\r\n show: false,\r\n },\r\n dataZoom: [{\r\n type: \"inside\",\r\n }, {\r\n type: \"slider\",\r\n }],\r\n toolbox: {\r\n feature: {\r\n dataZoom: {\r\n yAxisIndex: \"none\",\r\n icon: {\r\n zoom: \"path://M10 10\",\r\n back: \"path://M10 10\",\r\n }\r\n },\r\n }\r\n },\r\n grid: {\r\n top: 44,\r\n right: 40,\r\n left: 84,\r\n },\r\n}\r\n\r\nexport const compactChartOptions: EChartsOption = {\r\n ...d2ChartOptions,\r\n xAxis: {\r\n type: \"time\",\r\n splitNumber: 1,\r\n boundaryGap: [0, 0],\r\n axisLabel: {\r\n formatter: '{dd}.{MM}.{yyyy} {HH}:{mm}',\r\n padding: [0, 24, 0, 0],\r\n showMinLabel: true,\r\n showMaxLabel: true,\r\n },\r\n },\r\n dataZoom: {\r\n type: \"inside\",\r\n },\r\n grid: {\r\n top: 40,\r\n left: 68,\r\n right: 40,\r\n bottom: 20,\r\n }\r\n}\r\n"]}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { UnixTime } from "d2jsapi";
|
|
3
|
+
import { D2ChartTableItem } from "./d2ChartTablePanel";
|
|
4
|
+
import { D2ChartRecord, D2ChartSeriesItem, MarkArea, MarkAreaData } from "../../../api/types/d2ChartTypes";
|
|
5
|
+
export interface Props {
|
|
6
|
+
d2ChartSeries: D2ChartSeriesItem[];
|
|
7
|
+
d2ChartRecords: D2ChartRecord[];
|
|
8
|
+
d2ChartCalendarRecords?: D2ChartRecord[];
|
|
9
|
+
loading?: boolean;
|
|
10
|
+
markArea?: MarkArea;
|
|
11
|
+
compact?: boolean;
|
|
12
|
+
yAxisLabel?: string;
|
|
13
|
+
tableHeight: number | "auto";
|
|
14
|
+
tableWrapperStyle?: Omit<React.CSSProperties, "height">;
|
|
15
|
+
}
|
|
16
|
+
interface State {
|
|
17
|
+
tableItems: D2ChartTableItem[];
|
|
18
|
+
tooltipTime?: UnixTime;
|
|
19
|
+
missingData: MarkAreaData[][];
|
|
20
|
+
modalVisible: boolean;
|
|
21
|
+
calendarDataVisible: boolean;
|
|
22
|
+
missingDataVisible: boolean;
|
|
23
|
+
}
|
|
24
|
+
export default class D2ChartPanel extends React.Component<Props, State> {
|
|
25
|
+
private static SAMPLING_MODE;
|
|
26
|
+
private chartInstance;
|
|
27
|
+
private d2ChartPanelInModal;
|
|
28
|
+
private d2ChartTablePanel;
|
|
29
|
+
constructor(props: Readonly<Props>);
|
|
30
|
+
componentDidUpdate(prevProps: Readonly<Props>): void;
|
|
31
|
+
private onSwitchLegend;
|
|
32
|
+
private onSwitchCalendarData;
|
|
33
|
+
private prepareCalendarMarkarea;
|
|
34
|
+
private onSwitchMissingData;
|
|
35
|
+
private setTooltip;
|
|
36
|
+
private getUniqueId;
|
|
37
|
+
private getDiemnsions;
|
|
38
|
+
private getSeriesFields;
|
|
39
|
+
private getSeries;
|
|
40
|
+
private getTableItems;
|
|
41
|
+
private getDatasetSource;
|
|
42
|
+
onReload(): void;
|
|
43
|
+
resize(): void;
|
|
44
|
+
private renderToolbox;
|
|
45
|
+
private renderModalDialog;
|
|
46
|
+
render(): React.JSX.Element;
|
|
47
|
+
}
|
|
48
|
+
export {};
|