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 @@
|
|
|
1
|
+
{"version":3,"file":"abstractEntityConfigPanel.js","sourceRoot":"","sources":["../../../../../coreui/components/editor/abstractEntityConfigPanel.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from \"react\";\r\nimport {cloneDeep, isEqual, omit} from \"lodash\";\r\nimport {Button, Col, Divider, Form, Input, InputRef, Row, Switch} from \"antd\";\r\nimport AbstractEntityApi from \"../../../api/abstractEntityApi\";\r\nimport i18n from \"d2core/i18n/i18n\";\r\nimport {CloseCircleOutlined, EditOutlined, SaveOutlined} from \"@ant-design/icons\";\r\nimport {UndoIcon} from \"d2coreui/components/icons/undoIcon\";\r\nimport DetailHeaderPanel from \"../grid/detailHeaderPanel\";\r\nimport {AbstractBreadcrumbItem} from \"../../abstractListPanel\";\r\nimport {EntityColumn} from \"../advancedFilter/advancedFilterColumnDefinitions\";\r\nimport TextArea from \"antd/es/input/TextArea\";\r\nimport AuditableEntity from \"../../../api/types/auditableEntity\";\r\nimport {AccessRight} from \"../../../api/types/accessRight\";\r\nimport {ModalDialog, ModalDialogMode} from \"d2coreui/components/modal/modalDialog\";\r\nimport {\r\n AbstractEntityValidationErrorEnum,\r\n ErrorCode,\r\n getErrorInfo\r\n} from \"../../../api/validation/abstractEntityValidationUtils\";\r\nimport {DbBoolean} from \"../../../api/types/dbBoolean\";\r\n\r\ninterface GeneralConfigItemParams {\r\n hidden?: boolean,\r\n notRequired?: boolean,\r\n disabled?: boolean\r\n}\r\n\r\n/**\r\n * Additional data needed for object validation\r\n */\r\nexport interface EntityValidationContext {\r\n errors: ErrorCode[]\r\n}\r\n\r\nexport interface EntityConfigPanelProperties<T extends AuditableEntity> {\r\n api: AbstractEntityApi<T>\r\n selectedEntity?: T\r\n hidePrevNextButton?: boolean\r\n hideConfigHeader?: boolean\r\n hideConfigFooter?: boolean\r\n historyMode?: boolean\r\n fieldsToHighlight?: string[]\r\n breadcrumbPath?: AbstractBreadcrumbItem[]\r\n\r\n // detail close handler\r\n onClose?(): void\r\n\r\n // next record handler\r\n onNextRecord?(): void\r\n\r\n // previous record handler\r\n onPrevRecord?(): void\r\n\r\n onSave?(savedEntity: T): void\r\n}\r\n\r\nexport interface EntityConfigPanelState<T extends AuditableEntity> {\r\n originalEntity?: T\r\n editedEntity: T\r\n editedEntityValidationContext: EntityValidationContext\r\n validationIsRunning: boolean\r\n savingIsRunning: boolean\r\n validateOnChange: boolean\r\n waitingForLockResponse: boolean\r\n savingIsStarting: boolean\r\n nameSameAsCode: boolean\r\n}\r\n\r\nexport default abstract class AbstractEntityConfigPanel<P extends EntityConfigPanelProperties<E>,\r\n S extends EntityConfigPanelState<E>,\r\n E extends AuditableEntity = S extends EntityConfigPanelState<infer T> ? T : never> extends React.Component<P, S> {\r\n protected codeInput: InputRef | null = null;\r\n\r\n protected constructor(props: Readonly<P>) {\r\n super(props);\r\n\r\n this.updateEditedObject = this.updateEditedObject.bind(this);\r\n this.renderNoteFormItem = this.renderNoteFormItem.bind(this);\r\n }\r\n\r\n protected initialState: EntityConfigPanelState<E> = {\r\n editedEntity: this.props.selectedEntity as unknown as E,\r\n editedEntityValidationContext: {errors: []},\r\n validationIsRunning: false,\r\n savingIsRunning: false,\r\n validateOnChange: false,\r\n waitingForLockResponse: false,\r\n savingIsStarting: false,\r\n nameSameAsCode: true,\r\n }\r\n\r\n componentDidMount() {\r\n this.updateEditedObject();\r\n }\r\n\r\n componentDidUpdate(prevProps: Readonly<P>, prevState: Readonly<S>) {\r\n if (!isEqual(prevProps.selectedEntity, this.props.selectedEntity)) {\r\n if (prevState.editedEntity?.locked) {\r\n this.props.api.unlockEntity(prevState.editedEntity);\r\n }\r\n this.updateData(this.props.selectedEntity, cloneDeep(this.props.selectedEntity), {errors: []}, () => {\r\n this.setState({validateOnChange: false, nameSameAsCode: this.isNewEntity()});\r\n });\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n if (this.state.editedEntity?.locked) {\r\n this.props.api.unlockEntity(this.state.editedEntity);\r\n }\r\n }\r\n\r\n getOriginal(): E | undefined {\r\n return this.state.originalEntity;\r\n }\r\n\r\n getEdited(): E {\r\n return this.state.editedEntity;\r\n }\r\n\r\n revertChanges() {\r\n if (this.state.originalEntity && !isEqual(this.state.editedEntity, this.state.originalEntity)) {\r\n this.updateData(undefined, cloneDeep(this.state.originalEntity), undefined, () => {\r\n const editedEntityValidationContext = this.state.editedEntityValidationContext;\r\n editedEntityValidationContext.errors = [];\r\n this.setState({editedEntityValidationContext: editedEntityValidationContext});\r\n });\r\n }\r\n }\r\n\r\n abstract validateObject(): ErrorCode[];\r\n\r\n private async validate() {\r\n const isNewEntity = this.state.editedEntity.id < 0 || this.state.editedEntity.id === undefined;\r\n this.setState({validationIsRunning: true});\r\n\r\n const editedEntityValidationContext = this.state.editedEntityValidationContext;\r\n editedEntityValidationContext.errors = this.validateObject();\r\n\r\n // code validation - only when creating new entity (editation of code is not allowed)\r\n const code = this.state.editedEntity.code;\r\n if (isNewEntity && code) {\r\n const codeExists = await this.props.api.codeExists(code);\r\n\r\n if (codeExists) {\r\n if (!editedEntityValidationContext.errors.includes(AbstractEntityValidationErrorEnum.CODE_DUPLICATE)) {\r\n editedEntityValidationContext.errors.push(AbstractEntityValidationErrorEnum.CODE_DUPLICATE);\r\n }\r\n } else {\r\n const index = editedEntityValidationContext.errors.findIndex(value => value === AbstractEntityValidationErrorEnum.CODE_DUPLICATE);\r\n if (index >= 0) {\r\n editedEntityValidationContext.errors.splice(index, 1);\r\n }\r\n }\r\n }\r\n\r\n this.setState({\r\n editedEntityValidationContext: editedEntityValidationContext,\r\n validateOnChange: true,\r\n validationIsRunning: false,\r\n });\r\n };\r\n\r\n async save(isCosmeticChange?: boolean): Promise<E | undefined> {\r\n await this.validate();\r\n const errors = this.state.editedEntityValidationContext.errors;\r\n let savedEntity: E | undefined = undefined;\r\n\r\n if (errors.length === 0 && this.state.originalEntity && !isEqual(this.state.editedEntity, this.state.originalEntity)) {\r\n this.setState({savingIsRunning: true});\r\n savedEntity = await this.props.api.saveEntity(this.state.editedEntity, isCosmeticChange);\r\n this.setState({savingIsRunning: false});\r\n if (savedEntity) {\r\n this.updateData(savedEntity, cloneDeep(savedEntity), {errors: []});\r\n this.props.onSave?.(savedEntity);\r\n }\r\n }\r\n this.afterSave();\r\n\r\n return savedEntity;\r\n }\r\n\r\n protected async onSave() {\r\n await this.save();\r\n }\r\n\r\n protected afterSave() {\r\n }\r\n\r\n updateEditedObject() {\r\n if (this.state.validateOnChange) {\r\n this.validate();\r\n }\r\n this.updateData(undefined, this.state.editedEntity as E, this.state.editedEntityValidationContext);\r\n }\r\n\r\n onChangeEditContext(_original?: E, _edited?: E, _editedEntityValidationContext?: EntityValidationContext) {\r\n }\r\n\r\n updateData(originalEntity?: E, editedEntity?: E, editedEntityValidationContext?: EntityValidationContext, callback?: () => void) {\r\n const newState: Partial<S> = {};\r\n if (originalEntity) {\r\n newState.originalEntity = originalEntity;\r\n }\r\n if (editedEntity) {\r\n newState.editedEntity = editedEntity;\r\n }\r\n if (editedEntityValidationContext) {\r\n newState.editedEntityValidationContext = editedEntityValidationContext;\r\n }\r\n this.setState(newState as S, () => {\r\n this.onChangeEditContext(originalEntity, editedEntity, editedEntityValidationContext);\r\n callback?.();\r\n })\r\n }\r\n\r\n renderConfigHeader(hidePrevNextButton?: boolean) {\r\n return (\r\n <DetailHeaderPanel\r\n hidePrevNextButton={hidePrevNextButton}\r\n code={this.state.editedEntity?.code}\r\n onPrevRecord={this.props.onPrevRecord}\r\n onNextRecord={this.props.onNextRecord}\r\n onClose={this.props.onClose}\r\n />\r\n );\r\n }\r\n\r\n protected async onEditStart() {\r\n this.focusFirstField();\r\n }\r\n\r\n focusFirstField() {\r\n if (this.props.selectedEntity?.id === undefined || this.props.selectedEntity?.id === null) {\r\n this.codeInput?.focus();\r\n }\r\n }\r\n\r\n isEditDisabled() {\r\n const entityExists = !!this.state.originalEntity;\r\n const isNewEntity = this.state.editedEntity.id < 0 || this.state.editedEntity.id === undefined;\r\n const isSaveMode = entityExists && (isNewEntity || this.state.editedEntity.locked);\r\n return !isSaveMode;\r\n }\r\n\r\n protected getCodeMaxLength() {\r\n return 64;\r\n }\r\n\r\n protected getNameMaxLength() {\r\n return 256;\r\n }\r\n\r\n protected renderCodeSuffix(): React.ReactNode | undefined {\r\n return undefined;\r\n }\r\n\r\n protected handleCodeChange(value: string) {\r\n const entity = this.state.editedEntity;\r\n\r\n entity.code = value;\r\n if (this.state.nameSameAsCode) {\r\n entity.name = value;\r\n }\r\n this.updateEditedObject();\r\n }\r\n\r\n protected renderGeneralConfigItems(codeConfig?: GeneralConfigItemParams, nameConfig?: GeneralConfigItemParams, hideDivider?: boolean) {\r\n const entity = this.state.editedEntity;\r\n const errors = this.state.editedEntityValidationContext.errors;\r\n const fieldsToHighlight = this.props.fieldsToHighlight;\r\n\r\n const [codeValidateStatus, codeErrorMessage] = getErrorInfo([AbstractEntityValidationErrorEnum.CODE_REQUIRED, AbstractEntityValidationErrorEnum.CODE_DUPLICATE], errors);\r\n const [nameValidateStatus, nameErrorMessage] = getErrorInfo([AbstractEntityValidationErrorEnum.NAME_REQUIRED], errors);\r\n\r\n return (\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 >\r\n <Row gutter={8}>\r\n <Col span={6}>\r\n <Form.Item label={i18n(\"ID\")}>\r\n <Input disabled value={entity.id}/>\r\n </Form.Item>\r\n </Col>\r\n {!codeConfig?.hidden &&\r\n <Col span={18}>\r\n <Form.Item\r\n label={i18n(\"Code\")}\r\n validateStatus={fieldsToHighlight?.includes(EntityColumn.CODE) ? \"warning\" : codeValidateStatus}\r\n help={codeErrorMessage}\r\n required={!codeConfig?.notRequired}\r\n >\r\n <Input\r\n disabled={entity.id !== undefined || this.isEditDisabled() || codeConfig?.disabled}\r\n ref={(input) => {\r\n this.codeInput = input;\r\n }}\r\n value={entity.code ?? undefined}\r\n onChange={e => {\r\n this.handleCodeChange(e.target.value);\r\n }}\r\n suffix={this.renderCodeSuffix()}\r\n maxLength={this.getCodeMaxLength()}\r\n showCount\r\n />\r\n </Form.Item>\r\n </Col>\r\n }\r\n </Row>\r\n {!nameConfig?.hidden &&\r\n <Form.Item\r\n className=\"form-item-full-width-label\"\r\n label={\r\n <div\r\n style={{\r\n width: \"100%\",\r\n display: \"flex\",\r\n justifyContent: \"space-between\",\r\n alignItems: \"baseline\",\r\n }}\r\n >\r\n <span>{i18n(\"Name\")}</span>\r\n {this.isNewEntity() &&\r\n <span style={{display: \"flex\"}}>\r\n <Switch\r\n style={{marginRight: 4}}\r\n size=\"small\"\r\n checked={this.state.nameSameAsCode}\r\n onChange={checked => {\r\n this.setState({nameSameAsCode: checked})\r\n if (checked) {\r\n entity.name = entity.code;\r\n this.updateEditedObject();\r\n }\r\n }}\r\n />\r\n {i18n(\"Same As Code\")}\r\n </span>\r\n }\r\n </div>\r\n }\r\n validateStatus={fieldsToHighlight?.includes(EntityColumn.NAME) ? \"warning\" : nameValidateStatus}\r\n help={nameErrorMessage}\r\n required={!nameConfig?.notRequired}\r\n >\r\n <Input\r\n value={entity.name ?? undefined}\r\n disabled={this.isEditDisabled() || nameConfig?.disabled || this.state.nameSameAsCode}\r\n onChange={e => {\r\n entity.name = e.target.value;\r\n this.updateEditedObject();\r\n }}\r\n maxLength={this.getNameMaxLength()}\r\n />\r\n </Form.Item>\r\n }\r\n {!hideDivider && <Divider className=\"compact-divider\"/>}\r\n </Form>\r\n )\r\n }\r\n\r\n protected renderNoteFormItem() {\r\n const entity = this.state.editedEntity;\r\n const fieldsToHighlight = this.props.fieldsToHighlight;\r\n\r\n return (\r\n <Form.Item\r\n label={i18n(\"Note\")}\r\n validateStatus={fieldsToHighlight?.includes(EntityColumn.NOTE) ? \"warning\" : undefined}\r\n >\r\n <TextArea\r\n disabled={this.isEditDisabled()}\r\n value={entity.note ?? undefined}\r\n onChange={event => {\r\n entity.note = event.target.value;\r\n this.updateEditedObject();\r\n }}\r\n />\r\n </Form.Item>\r\n );\r\n }\r\n\r\n protected isNewEntity() {\r\n return !this.state.editedEntity?.id;\r\n }\r\n\r\n protected isEditMode() {\r\n return this.state.originalEntity && !this.isNewEntity() && !this.state.editedEntity.locked;\r\n }\r\n\r\n protected async getAccessRightForEntity(): Promise<{ accessRight: AccessRight, message: string }> {\r\n return {\r\n accessRight: AccessRight.WRITE,\r\n message: \"\",\r\n }\r\n }\r\n\r\n protected getFieldsToOmitForCompare(): string[] {\r\n return [\"locked\"]\r\n }\r\n\r\n protected isEntityModified() {\r\n return !isEqual(\r\n omit(cloneDeep(this.state.editedEntity), this.getFieldsToOmitForCompare()),\r\n omit(cloneDeep(this.state.originalEntity), this.getFieldsToOmitForCompare())\r\n );\r\n }\r\n\r\n async startEdit(): Promise<boolean> {\r\n this.setState({savingIsStarting: true});\r\n await this.onEditStart();\r\n const accessRightResult = await this.getAccessRightForEntity();\r\n this.setState({savingIsStarting: false});\r\n if (accessRightResult.accessRight !== AccessRight.WRITE) {\r\n ModalDialog.error({\r\n mode: ModalDialogMode.OK,\r\n title: i18n(\"Edit is not allowed\"),\r\n content: accessRightResult.message,\r\n okText: i18n(\"Cancel\")\r\n });\r\n return false;\r\n } else {\r\n this.setState({waitingForLockResponse: true, nameSameAsCode: false});\r\n const isOk = await this.props.api.lockEntity(this.state.editedEntity);\r\n this.setState({waitingForLockResponse: false});\r\n if (isOk) {\r\n this.updateEditedObject();\r\n } else {\r\n return false;\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n renderConfigFooter() {\r\n const entityExists = !!this.state.originalEntity;\r\n const isNewEntity = this.isNewEntity();\r\n const isEditMode = this.isEditMode();\r\n const isSaveMode = entityExists && (isNewEntity || this.state.editedEntity.locked);\r\n const isEntityModified = entityExists && this.isEntityModified();\r\n\r\n return (\r\n <div style={{padding: 8}}>\r\n <Button.Group style={{width: \"100%\"}}>\r\n <Button\r\n disabled={!entityExists || (isSaveMode ? !isEntityModified : !isEditMode) || this.state.editedEntityValidationContext.errors.length !== 0 || this.state.validationIsRunning}\r\n block\r\n loading={this.state.waitingForLockResponse || this.state.savingIsStarting || this.state.savingIsRunning}\r\n type=\"primary\"\r\n icon={isSaveMode ? <SaveOutlined/> : <EditOutlined/>}\r\n onClick={async () => {\r\n if (isSaveMode) {\r\n await this.onSave();\r\n } else if (isEditMode) {\r\n await this.startEdit();\r\n }\r\n }}\r\n >\r\n {isSaveMode ? i18n(\"Save\") : i18n(\"Edit\")}\r\n </Button>\r\n <Button\r\n disabled={!entityExists || !isSaveMode}\r\n block\r\n danger\r\n icon={(isEntityModified && !isNewEntity) ? <UndoIcon/> : <CloseCircleOutlined/>}\r\n onClick={async () => {\r\n if (isNewEntity) {\r\n this.props.onClose?.();\r\n } else if (isSaveMode) {\r\n if (this.state.editedEntity.locked) {\r\n await this.props.api.unlockEntity(this.state.editedEntity);\r\n }\r\n this.revertChanges();\r\n }\r\n }}\r\n >\r\n {(isEntityModified && !isNewEntity) ? i18n(\"Revert Changes\") : i18n(\"Cancel\")}\r\n </Button>\r\n </Button.Group>\r\n </div>\r\n );\r\n }\r\n\r\n abstract renderConfigForm(): React.ReactNode;\r\n\r\n render() {\r\n const entity = this.state.editedEntity;\r\n const {hideConfigHeader, hideConfigFooter, historyMode} = this.props;\r\n\r\n return (\r\n <div style={{display: \"flex\", flexDirection: \"column\", overflow: \"hidden\", width: \"100%\", height: \"100%\"}}>\r\n {!hideConfigHeader && !historyMode && this.renderConfigHeader(entity?.id === undefined || this.props.hidePrevNextButton)}\r\n <div style={{flex: \"1 1 auto\", overflow: \"hidden\"}}>\r\n <div style={{height: `calc(100% - ${hideConfigFooter ? 0 : 48}px)`}}>\r\n <div style={{height: \"100%\", overflow: \"auto\"}}>\r\n <div style={{margin: \"0px 12px 16px\"}}>\r\n {entity && this.renderConfigForm()}\r\n </div>\r\n </div>\r\n </div>\r\n {!hideConfigFooter && !historyMode && entity?.ano_platny === DbBoolean.TRUE && this.renderConfigFooter()}\r\n </div>\r\n </div>\r\n );\r\n }\r\n\r\n}"]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
interface Props {
|
|
3
|
+
disabled?: boolean;
|
|
4
|
+
downloadDisabled?: boolean;
|
|
5
|
+
value: string | undefined;
|
|
6
|
+
acceptedFiles?: string[];
|
|
7
|
+
onChange(fileName: string, fileContent: ArrayBuffer): void;
|
|
8
|
+
onDownload(): void;
|
|
9
|
+
}
|
|
10
|
+
interface State {
|
|
11
|
+
waitingForDownload: boolean;
|
|
12
|
+
}
|
|
13
|
+
export default class FilePicker extends React.Component<Props, State> {
|
|
14
|
+
constructor(props: Readonly<Props>);
|
|
15
|
+
private renderUploadIcon;
|
|
16
|
+
private renderDownloadIcon;
|
|
17
|
+
private getSuffixIcon;
|
|
18
|
+
render(): React.JSX.Element;
|
|
19
|
+
}
|
|
20
|
+
export {};
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Input, Modal, Upload } from "antd";
|
|
3
|
+
import i18n from "d2core/i18n/i18n";
|
|
4
|
+
import { DownloadOutlined, LoadingOutlined, SelectOutlined } from "@ant-design/icons";
|
|
5
|
+
export default class FilePicker extends React.Component {
|
|
6
|
+
constructor(props) {
|
|
7
|
+
super(props);
|
|
8
|
+
this.state = {
|
|
9
|
+
waitingForDownload: false,
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
renderUploadIcon() {
|
|
13
|
+
if (!this.props.disabled) {
|
|
14
|
+
const accept = this.props.acceptedFiles?.join(", ");
|
|
15
|
+
return (React.createElement(Upload, { accept: accept, maxCount: 1, fileList: [], customRequest: ({ onSuccess }) => onSuccess?.("ok"), beforeUpload: file => {
|
|
16
|
+
if (this.props.acceptedFiles?.some(value => file.name.endsWith(value))) {
|
|
17
|
+
const reader = new FileReader();
|
|
18
|
+
reader.readAsArrayBuffer(file);
|
|
19
|
+
reader.onloadend = ev => {
|
|
20
|
+
this.props.onChange(file.name, ev.target?.result);
|
|
21
|
+
};
|
|
22
|
+
return true;
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
Modal.error({
|
|
26
|
+
title: i18n("Error processing the file"),
|
|
27
|
+
content: i18n("Only the following suffixed are accepted: " + accept),
|
|
28
|
+
});
|
|
29
|
+
return false;
|
|
30
|
+
}
|
|
31
|
+
} },
|
|
32
|
+
React.createElement(SelectOutlined, { style: { cursor: "pointer" }, title: i18n("Open Select Dialog") })));
|
|
33
|
+
}
|
|
34
|
+
return React.createElement("span", null);
|
|
35
|
+
}
|
|
36
|
+
renderDownloadIcon() {
|
|
37
|
+
if (this.state.waitingForDownload) {
|
|
38
|
+
return (React.createElement(LoadingOutlined, null));
|
|
39
|
+
}
|
|
40
|
+
return (React.createElement(DownloadOutlined, { style: { cursor: this.props.downloadDisabled ? "not-allowed" : "pointer" }, title: i18n("Download File"), onClick: async () => {
|
|
41
|
+
if (!this.props.downloadDisabled) {
|
|
42
|
+
this.setState({ waitingForDownload: true });
|
|
43
|
+
await this.props.onDownload();
|
|
44
|
+
this.setState({ waitingForDownload: false });
|
|
45
|
+
}
|
|
46
|
+
} }));
|
|
47
|
+
}
|
|
48
|
+
getSuffixIcon() {
|
|
49
|
+
return (React.createElement(React.Fragment, null,
|
|
50
|
+
this.renderUploadIcon(),
|
|
51
|
+
this.renderDownloadIcon()));
|
|
52
|
+
}
|
|
53
|
+
render() {
|
|
54
|
+
return (React.createElement(Input, { disabled: this.props.disabled, readOnly: true, value: this.props.value, suffix: React.createElement("span", { style: { display: "flex", gap: 4, fontSize: 14, color: "rgba(0, 0, 0, 0.55)" } }, this.getSuffixIcon()) }));
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=filePicker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filePicker.js","sourceRoot":"","sources":["../../../../../coreui/components/filePicker/filePicker.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from \"react\";\r\nimport {Input, Modal, Upload} from \"antd\";\r\nimport i18n from \"d2core/i18n/i18n\";\r\nimport {DownloadOutlined, LoadingOutlined, SelectOutlined} from \"@ant-design/icons\";\r\n\r\ninterface Props {\r\n disabled?: boolean\r\n downloadDisabled?: boolean\r\n value: string | undefined\r\n acceptedFiles?: string[]\r\n\r\n onChange(fileName: string, fileContent: ArrayBuffer): void\r\n\r\n onDownload(): void\r\n}\r\n\r\ninterface State {\r\n waitingForDownload: boolean\r\n}\r\n\r\nexport default class FilePicker extends React.Component<Props, State> {\r\n constructor(props: Readonly<Props>) {\r\n super(props);\r\n\r\n this.state = {\r\n waitingForDownload: false,\r\n }\r\n }\r\n\r\n private renderUploadIcon() {\r\n if (!this.props.disabled) {\r\n const accept = this.props.acceptedFiles?.join(\", \");\r\n\r\n return (\r\n <Upload\r\n accept={accept}\r\n maxCount={1}\r\n fileList={[]}\r\n customRequest={({onSuccess}) =>\r\n onSuccess?.(\"ok\")\r\n }\r\n beforeUpload={file => {\r\n if (this.props.acceptedFiles?.some(value => file.name.endsWith(value))) {\r\n const reader = new FileReader();\r\n reader.readAsArrayBuffer(file);\r\n reader.onloadend = ev => {\r\n this.props.onChange(file.name, ev.target?.result as ArrayBuffer);\r\n }\r\n return true;\r\n } else {\r\n Modal.error({\r\n title: i18n(\"Error processing the file\"),\r\n content: i18n(\"Only the following suffixed are accepted: \" + accept),\r\n });\r\n return false;\r\n }\r\n }}\r\n >\r\n <SelectOutlined\r\n style={{cursor: \"pointer\"}}\r\n title={i18n(\"Open Select Dialog\")}\r\n />\r\n </Upload>\r\n );\r\n }\r\n\r\n return <span/>\r\n }\r\n\r\n private renderDownloadIcon() {\r\n if (this.state.waitingForDownload) {\r\n return (\r\n <LoadingOutlined/>\r\n )\r\n }\r\n\r\n return (\r\n <DownloadOutlined\r\n style={{cursor: this.props.downloadDisabled ? \"not-allowed\" : \"pointer\"}}\r\n title={i18n(\"Download File\")}\r\n onClick={async () => {\r\n if (!this.props.downloadDisabled) {\r\n this.setState({waitingForDownload: true});\r\n await this.props.onDownload();\r\n this.setState({waitingForDownload: false});\r\n }\r\n }}\r\n />\r\n )\r\n }\r\n\r\n private getSuffixIcon() {\r\n return (\r\n <>\r\n {this.renderUploadIcon()}\r\n {this.renderDownloadIcon()}\r\n </>\r\n );\r\n }\r\n\r\n render() {\r\n return (\r\n <Input\r\n disabled={this.props.disabled}\r\n readOnly\r\n value={this.props.value}\r\n suffix={\r\n <span style={{display: \"flex\", gap: 4, fontSize: 14, color: \"rgba(0, 0, 0, 0.55)\"}}>\r\n {this.getSuffixIcon()}\r\n </span>\r\n }\r\n />\r\n );\r\n }\r\n\r\n}"]}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import tableDefaultRowStyleRules from "d2coreui/components/grid/cell/tableDefaultRowStyleRules";
|
|
2
|
+
const auditEntityRowStyleRules = function () {
|
|
3
|
+
const rowStyleRules = [
|
|
4
|
+
...tableDefaultRowStyleRules(),
|
|
5
|
+
{
|
|
6
|
+
key: "valid",
|
|
7
|
+
name: "Valid Records",
|
|
8
|
+
expression: `ano_platny in (1)`,
|
|
9
|
+
style: {},
|
|
10
|
+
styleEditor: {
|
|
11
|
+
fontWeight: true,
|
|
12
|
+
color: true,
|
|
13
|
+
backgroundColor: true,
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
key: "invalid",
|
|
18
|
+
name: "Invalid Records",
|
|
19
|
+
expression: `ano_platny in (0)`,
|
|
20
|
+
style: {
|
|
21
|
+
color: "#d4380d",
|
|
22
|
+
backgroundColor: "#fff2e8"
|
|
23
|
+
},
|
|
24
|
+
styleEditor: {
|
|
25
|
+
fontWeight: true,
|
|
26
|
+
color: true,
|
|
27
|
+
backgroundColor: true,
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
];
|
|
31
|
+
return rowStyleRules;
|
|
32
|
+
};
|
|
33
|
+
export default auditEntityRowStyleRules;
|
|
34
|
+
//# sourceMappingURL=auditEntityRowStyleRules.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auditEntityRowStyleRules.js","sourceRoot":"","sources":["../../../../../coreui/components/grid/auditEntityRowStyleRules.ts"],"names":[],"mappings":"AAAA,OAAO,yBAAyC,MAAM,yDAAyD,CAAC;AAEhH,MAAM,wBAAwB,GAAG;IAC7B,MAAM,aAAa,GAAG;QAClB,GAAG,yBAAyB,EAAE;QAC9B;YACI,GAAG,EAAE,OAAO;YACZ,IAAI,EAAE,eAAe;YACrB,UAAU,EAAE,mBAAmB;YAC/B,KAAK,EAAE,EACN;YACD,WAAW,EAAE;gBACT,UAAU,EAAE,IAAI;gBAChB,KAAK,EAAE,IAAI;gBACX,eAAe,EAAE,IAAI;aACxB;SACJ;QACD;YACI,GAAG,EAAE,SAAS;YACd,IAAI,EAAE,iBAAiB;YACvB,UAAU,EAAE,mBAAmB;YAC/B,KAAK,EAAE;gBACH,KAAK,EAAE,SAAS;gBAChB,eAAe,EAAE,SAAS;aAC7B;YACD,WAAW,EAAE;gBACT,UAAU,EAAE,IAAI;gBAChB,KAAK,EAAE,IAAI;gBACX,eAAe,EAAE,IAAI;aACxB;SACJ;KACJ,CAAC;IACF,OAAO,aAAa,CAAC;AACzB,CAAC,CAAC;AAEF,eAAe,wBAAwB,CAAC","sourcesContent":["import tableDefaultRowStyleRules, {RowStyleRule} from \"d2coreui/components/grid/cell/tableDefaultRowStyleRules\";\r\n\r\nconst auditEntityRowStyleRules = function (): RowStyleRule[] {\r\n const rowStyleRules = [\r\n ...tableDefaultRowStyleRules(),\r\n {\r\n key: \"valid\",\r\n name: \"Valid Records\",\r\n expression: `ano_platny in (1)`,\r\n style: {\r\n },\r\n styleEditor: {\r\n fontWeight: true,\r\n color: true,\r\n backgroundColor: true,\r\n }\r\n },\r\n {\r\n key: \"invalid\",\r\n name: \"Invalid Records\",\r\n expression: `ano_platny in (0)`,\r\n style: {\r\n color: \"#d4380d\",\r\n backgroundColor: \"#fff2e8\"\r\n },\r\n styleEditor: {\r\n fontWeight: true,\r\n color: true,\r\n backgroundColor: true,\r\n }\r\n }\r\n ];\r\n return rowStyleRules;\r\n};\r\n\r\nexport default auditEntityRowStyleRules;"]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
interface Props {
|
|
3
|
+
hidePrevNextButton?: boolean;
|
|
4
|
+
code?: string | null;
|
|
5
|
+
onPrevRecord?(): void;
|
|
6
|
+
onNextRecord?(): void;
|
|
7
|
+
onClose?(): void;
|
|
8
|
+
}
|
|
9
|
+
export default class DetailHeaderPanel extends React.Component<Props> {
|
|
10
|
+
constructor(props: Readonly<Props>);
|
|
11
|
+
render(): React.JSX.Element;
|
|
12
|
+
}
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { ArrowDownOutlined, ArrowUpOutlined, CloseOutlined, ProfileOutlined } from "@ant-design/icons";
|
|
3
|
+
import i18n from "d2core/i18n/i18n";
|
|
4
|
+
import { Button } from "antd";
|
|
5
|
+
import ColorTag from "../colorTag/colorTag";
|
|
6
|
+
export default class DetailHeaderPanel extends React.Component {
|
|
7
|
+
constructor(props) {
|
|
8
|
+
super(props);
|
|
9
|
+
}
|
|
10
|
+
render() {
|
|
11
|
+
const code = this.props.code;
|
|
12
|
+
return (React.createElement("div", { style: { padding: "8px 4px 8px 12px", display: "flex", justifyContent: "space-between", fontSize: 16 } },
|
|
13
|
+
React.createElement("div", { style: { display: "flex", alignItems: "center", gap: 2 } },
|
|
14
|
+
React.createElement(ProfileOutlined, null),
|
|
15
|
+
" ",
|
|
16
|
+
i18n("Detail"),
|
|
17
|
+
code && React.createElement(ColorTag, { style: { marginLeft: 4, fontSize: 13 } }, code)),
|
|
18
|
+
React.createElement("div", null,
|
|
19
|
+
!this.props.hidePrevNextButton &&
|
|
20
|
+
React.createElement(Button.Group, { style: { marginTop: -4 } },
|
|
21
|
+
React.createElement(Button, { title: i18n("Previous Record"), onClick: this.props.onPrevRecord },
|
|
22
|
+
React.createElement(ArrowUpOutlined, null)),
|
|
23
|
+
React.createElement(Button, { title: i18n("Next Record"), onClick: this.props.onNextRecord },
|
|
24
|
+
React.createElement(ArrowDownOutlined, null))),
|
|
25
|
+
React.createElement(Button, { title: i18n("Close"), type: "text", onClick: this.props.onClose },
|
|
26
|
+
React.createElement(CloseOutlined, null)))));
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=detailHeaderPanel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"detailHeaderPanel.js","sourceRoot":"","sources":["../../../../../coreui/components/grid/detailHeaderPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,iBAAiB,EAAE,eAAe,EAAE,aAAa,EAAE,eAAe,EAAC,MAAM,mBAAmB,CAAC;AACrG,OAAO,IAAI,MAAM,kBAAkB,CAAC;AACpC,OAAO,EAAC,MAAM,EAAC,MAAM,MAAM,CAAC;AAC5B,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAa5C,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,KAAK,CAAC,SAAgB;IACjE,YAAY,KAAsB;QAC9B,KAAK,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC;IAED,MAAM;QACF,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QAE7B,OAAO,CACH,6BAAK,KAAK,EAAE,EAAC,OAAO,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,eAAe,EAAE,QAAQ,EAAE,EAAE,EAAC;YACrG,6BAAK,KAAK,EAAE,EAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAC;gBACvD,oBAAC,eAAe,OAAE;;gBAAE,IAAI,CAAC,QAAQ,CAAC;gBACjC,IAAI,IAAI,oBAAC,QAAQ,IAAC,KAAK,EAAE,EAAC,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAC,IAAG,IAAI,CAAY,CACxE;YACN;gBACK,CAAC,IAAI,CAAC,KAAK,CAAC,kBAAkB;oBAC3B,oBAAC,MAAM,CAAC,KAAK,IAAC,KAAK,EAAE,EAAC,SAAS,EAAE,CAAC,CAAC,EAAC;wBAChC,oBAAC,MAAM,IAAC,KAAK,EAAE,IAAI,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY;4BACpE,oBAAC,eAAe,OAAE,CACb;wBACT,oBAAC,MAAM,IAAC,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY;4BAChE,oBAAC,iBAAiB,OAAE,CACf,CACE;gBAEnB,oBAAC,MAAM,IAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,EAAC,MAAM,EAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO;oBACjE,oBAAC,aAAa,OAAE,CACX,CACP,CACJ,CACT,CAAC;IACN,CAAC;CACJ","sourcesContent":["import React from \"react\";\r\nimport {ArrowDownOutlined, ArrowUpOutlined, CloseOutlined, ProfileOutlined} from \"@ant-design/icons\";\r\nimport i18n from \"d2core/i18n/i18n\";\r\nimport {Button} from \"antd\";\r\nimport ColorTag from \"../colorTag/colorTag\";\r\n\r\ninterface Props {\r\n hidePrevNextButton?: boolean\r\n code?: string | null\r\n\r\n onPrevRecord?(): void\r\n\r\n onNextRecord?(): void\r\n\r\n onClose?(): void\r\n}\r\n\r\nexport default class DetailHeaderPanel extends React.Component<Props> {\r\n constructor(props: Readonly<Props>) {\r\n super(props);\r\n }\r\n\r\n render() {\r\n const code = this.props.code;\r\n\r\n return (\r\n <div style={{padding: \"8px 4px 8px 12px\", display: \"flex\", justifyContent: \"space-between\", fontSize: 16}}>\r\n <div style={{display: \"flex\", alignItems: \"center\", gap: 2}}>\r\n <ProfileOutlined/> {i18n(\"Detail\")}\r\n {code && <ColorTag style={{marginLeft: 4, fontSize: 13}}>{code}</ColorTag>}\r\n </div>\r\n <div>\r\n {!this.props.hidePrevNextButton &&\r\n <Button.Group style={{marginTop: -4}}>\r\n <Button title={i18n(\"Previous Record\")} onClick={this.props.onPrevRecord}>\r\n <ArrowUpOutlined/>\r\n </Button>\r\n <Button title={i18n(\"Next Record\")} onClick={this.props.onNextRecord}>\r\n <ArrowDownOutlined/>\r\n </Button>\r\n </Button.Group>\r\n }\r\n <Button title={i18n(\"Close\")} type=\"text\" onClick={this.props.onClose}>\r\n <CloseOutlined/>\r\n </Button>\r\n </div>\r\n </div>\r\n );\r\n }\r\n}"]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { DataGridColDef, FilterRenderer } from "d2coreui/components/grid/dataGrid";
|
|
2
|
+
export declare function getIDColumn(renderFilter?: FilterRenderer, params?: Partial<DataGridColDef>): DataGridColDef;
|
|
3
|
+
export declare function getCodeColumn(renderFilter?: FilterRenderer, params?: Partial<DataGridColDef>): DataGridColDef;
|
|
4
|
+
export declare function getNameColumn(renderFilter?: FilterRenderer, params?: Partial<DataGridColDef>): DataGridColDef;
|
|
5
|
+
export declare function getDbBooleanColumn(columnName: string, renderFilter?: FilterRenderer, params?: Partial<DataGridColDef>): DataGridColDef;
|
|
6
|
+
export declare function getDateColumn(columnName: string, renderFilter?: FilterRenderer, params?: Partial<DataGridColDef>): DataGridColDef;
|
|
7
|
+
export declare function getDateTimeColumn(columnName: string, renderFilter?: FilterRenderer, params?: Partial<DataGridColDef>): DataGridColDef;
|
|
8
|
+
export declare function getEntityColumn(columnConfig: {
|
|
9
|
+
codeColumn: string;
|
|
10
|
+
nameColumn: string;
|
|
11
|
+
backgroundColorColumn?: string;
|
|
12
|
+
}, renderFilter?: FilterRenderer, params?: Partial<DataGridColDef>): DataGridColDef;
|
|
13
|
+
export declare function getStringColumn(columnName: string, renderFilter?: FilterRenderer, params?: Partial<DataGridColDef>): DataGridColDef;
|
|
14
|
+
export declare function getNumberColumn(columnName: string, renderFilter?: FilterRenderer, params?: Partial<DataGridColDef>): DataGridColDef;
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import i18n from "d2core/i18n/i18n";
|
|
3
|
+
import { EntityColumn } from "../advancedFilter/advancedFilterColumnDefinitions";
|
|
4
|
+
import { getDbBooleanString } from "../../../api/types/dbBoolean";
|
|
5
|
+
import ColorTag from "../colorTag/colorTag";
|
|
6
|
+
export function getIDColumn(renderFilter, params) {
|
|
7
|
+
const type = ["numberColumn", "alignRight"];
|
|
8
|
+
if (renderFilter) {
|
|
9
|
+
type.push("customColumnServerFilter");
|
|
10
|
+
}
|
|
11
|
+
return {
|
|
12
|
+
headerName: i18n("Id"),
|
|
13
|
+
colId: "id",
|
|
14
|
+
field: "id",
|
|
15
|
+
initialWidth: 100,
|
|
16
|
+
sortable: true,
|
|
17
|
+
type: type,
|
|
18
|
+
group: i18n("Basic Columns"),
|
|
19
|
+
renderFilter: renderFilter,
|
|
20
|
+
...params
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
export function getCodeColumn(renderFilter, params) {
|
|
24
|
+
const columnName = EntityColumn.CODE;
|
|
25
|
+
return {
|
|
26
|
+
headerName: i18n("Code"),
|
|
27
|
+
colId: columnName,
|
|
28
|
+
field: columnName,
|
|
29
|
+
initialWidth: 160,
|
|
30
|
+
type: renderFilter ? "customColumnServerFilter" : undefined,
|
|
31
|
+
sortable: true,
|
|
32
|
+
group: i18n("Basic Columns"),
|
|
33
|
+
renderFilter: renderFilter,
|
|
34
|
+
...params
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
export function getNameColumn(renderFilter, params) {
|
|
38
|
+
const columnName = EntityColumn.NAME;
|
|
39
|
+
return {
|
|
40
|
+
headerName: i18n("Name"),
|
|
41
|
+
colId: columnName,
|
|
42
|
+
field: columnName,
|
|
43
|
+
initialWidth: 160,
|
|
44
|
+
type: renderFilter ? "customColumnServerFilter" : undefined,
|
|
45
|
+
sortable: true,
|
|
46
|
+
group: i18n("Basic Columns"),
|
|
47
|
+
renderFilter: renderFilter,
|
|
48
|
+
...params
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
export function getDbBooleanColumn(columnName, renderFilter, params) {
|
|
52
|
+
return {
|
|
53
|
+
colId: columnName,
|
|
54
|
+
field: columnName,
|
|
55
|
+
valueGetter: (params) => {
|
|
56
|
+
const data = params.data;
|
|
57
|
+
return data ? getDbBooleanString(data[columnName]) : null;
|
|
58
|
+
},
|
|
59
|
+
initialWidth: 160,
|
|
60
|
+
type: renderFilter ? "customColumnServerFilter" : undefined,
|
|
61
|
+
sortable: true,
|
|
62
|
+
group: i18n("Basic Columns"),
|
|
63
|
+
renderFilter: renderFilter,
|
|
64
|
+
...params
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
export function getDateColumn(columnName, renderFilter, params) {
|
|
68
|
+
const type = ["dateColumn", "alignRight"];
|
|
69
|
+
if (renderFilter) {
|
|
70
|
+
type.push("customColumnServerFilter");
|
|
71
|
+
}
|
|
72
|
+
return {
|
|
73
|
+
colId: columnName,
|
|
74
|
+
field: columnName,
|
|
75
|
+
initialWidth: 120,
|
|
76
|
+
type: type,
|
|
77
|
+
sortable: true,
|
|
78
|
+
group: i18n("Basic Columns"),
|
|
79
|
+
renderFilter: renderFilter,
|
|
80
|
+
...params
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
export function getDateTimeColumn(columnName, renderFilter, params) {
|
|
84
|
+
const type = ["dateTimeColumn", "alignRight"];
|
|
85
|
+
if (renderFilter) {
|
|
86
|
+
type.push("customColumnServerFilter");
|
|
87
|
+
}
|
|
88
|
+
return {
|
|
89
|
+
colId: columnName,
|
|
90
|
+
field: columnName,
|
|
91
|
+
initialWidth: 140,
|
|
92
|
+
type: type,
|
|
93
|
+
sortable: true,
|
|
94
|
+
group: i18n("Basic Columns"),
|
|
95
|
+
renderFilter: renderFilter,
|
|
96
|
+
...params
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
export function getEntityColumn(columnConfig, renderFilter, params) {
|
|
100
|
+
const { codeColumn, nameColumn, backgroundColorColumn } = columnConfig;
|
|
101
|
+
return {
|
|
102
|
+
colId: codeColumn,
|
|
103
|
+
field: codeColumn,
|
|
104
|
+
cellRenderer: (params) => {
|
|
105
|
+
const data = params.data;
|
|
106
|
+
if (data && data[codeColumn]) {
|
|
107
|
+
const code = data[codeColumn];
|
|
108
|
+
const name = data[nameColumn];
|
|
109
|
+
const backgroundColor = backgroundColorColumn ? data[backgroundColorColumn] : undefined;
|
|
110
|
+
return React.createElement(ColorTag, { title: name, color: backgroundColor }, code);
|
|
111
|
+
}
|
|
112
|
+
return null;
|
|
113
|
+
},
|
|
114
|
+
initialWidth: 160,
|
|
115
|
+
type: renderFilter ? "customColumnServerFilter" : undefined,
|
|
116
|
+
sortable: true,
|
|
117
|
+
group: i18n("Basic Columns"),
|
|
118
|
+
renderFilter: renderFilter,
|
|
119
|
+
...params
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
export function getStringColumn(columnName, renderFilter, params) {
|
|
123
|
+
return {
|
|
124
|
+
colId: columnName,
|
|
125
|
+
field: columnName,
|
|
126
|
+
initialWidth: 160,
|
|
127
|
+
type: renderFilter ? "customColumnServerFilter" : undefined,
|
|
128
|
+
sortable: true,
|
|
129
|
+
group: i18n("Basic Columns"),
|
|
130
|
+
renderFilter: renderFilter,
|
|
131
|
+
...params
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
export function getNumberColumn(columnName, renderFilter, params) {
|
|
135
|
+
const type = ["numberColumn", "alignRight"];
|
|
136
|
+
if (renderFilter) {
|
|
137
|
+
type.push("customColumnServerFilter");
|
|
138
|
+
}
|
|
139
|
+
return {
|
|
140
|
+
colId: columnName,
|
|
141
|
+
field: columnName,
|
|
142
|
+
initialWidth: 140,
|
|
143
|
+
type: type,
|
|
144
|
+
sortable: true,
|
|
145
|
+
group: i18n("Basic Columns"),
|
|
146
|
+
renderFilter: renderFilter,
|
|
147
|
+
...params
|
|
148
|
+
};
|
|
149
|
+
}
|
|
150
|
+
//# sourceMappingURL=standardColumns.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"standardColumns.js","sourceRoot":"","sources":["../../../../../coreui/components/grid/standardColumns.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from \"react\";\r\nimport {DataGridColDef, FilterRenderer} from \"d2coreui/components/grid/dataGrid\";\r\nimport i18n from \"d2core/i18n/i18n\";\r\nimport {EntityColumn} from \"../advancedFilter/advancedFilterColumnDefinitions\";\r\nimport {getDbBooleanString} from \"../../../api/types/dbBoolean\";\r\nimport ColorTag from \"../colorTag/colorTag\";\r\n\r\nexport function getIDColumn(renderFilter?: FilterRenderer, params?: Partial<DataGridColDef>): DataGridColDef {\r\n const type = [\"numberColumn\", \"alignRight\"];\r\n if (renderFilter) {\r\n type.push(\"customColumnServerFilter\");\r\n }\r\n\r\n return {\r\n headerName: i18n(\"Id\"),\r\n colId: \"id\",\r\n field: \"id\",\r\n initialWidth: 100,\r\n sortable: true,\r\n type: type,\r\n group: i18n(\"Basic Columns\"),\r\n renderFilter: renderFilter,\r\n ...params\r\n };\r\n}\r\n\r\nexport function getCodeColumn(renderFilter?: FilterRenderer, params?: Partial<DataGridColDef>): DataGridColDef {\r\n const columnName = EntityColumn.CODE;\r\n\r\n return {\r\n headerName: i18n(\"Code\"),\r\n colId: columnName,\r\n field: columnName,\r\n initialWidth: 160,\r\n type: renderFilter ? \"customColumnServerFilter\" : undefined,\r\n sortable: true,\r\n group: i18n(\"Basic Columns\"),\r\n renderFilter: renderFilter,\r\n ...params\r\n };\r\n}\r\n\r\nexport function getNameColumn(renderFilter?: FilterRenderer, params?: Partial<DataGridColDef>): DataGridColDef {\r\n const columnName = EntityColumn.NAME;\r\n\r\n return {\r\n headerName: i18n(\"Name\"),\r\n colId: columnName,\r\n field: columnName,\r\n initialWidth: 160,\r\n type: renderFilter ? \"customColumnServerFilter\" : undefined,\r\n sortable: true,\r\n group: i18n(\"Basic Columns\"),\r\n renderFilter: renderFilter,\r\n ...params\r\n };\r\n}\r\n\r\n// headerName needs to be passed within @params parameter\r\nexport function getDbBooleanColumn(columnName: string, renderFilter?: FilterRenderer, params?: Partial<DataGridColDef>): DataGridColDef {\r\n return {\r\n colId: columnName,\r\n field: columnName,\r\n valueGetter: (params) => {\r\n const data = params.data;\r\n return data ? getDbBooleanString(data[columnName]) : null;\r\n },\r\n initialWidth: 160,\r\n type: renderFilter ? \"customColumnServerFilter\" : undefined,\r\n sortable: true,\r\n group: i18n(\"Basic Columns\"),\r\n renderFilter: renderFilter,\r\n ...params\r\n }\r\n}\r\n\r\nexport function getDateColumn(columnName: string, renderFilter?: FilterRenderer, params?: Partial<DataGridColDef>): DataGridColDef {\r\n const type = [\"dateColumn\", \"alignRight\"];\r\n if (renderFilter) {\r\n type.push(\"customColumnServerFilter\");\r\n }\r\n\r\n return {\r\n colId: columnName,\r\n field: columnName,\r\n initialWidth: 120,\r\n type: type,\r\n sortable: true,\r\n group: i18n(\"Basic Columns\"),\r\n renderFilter: renderFilter,\r\n ...params\r\n }\r\n}\r\n\r\nexport function getDateTimeColumn(columnName: string, renderFilter?: FilterRenderer, params?: Partial<DataGridColDef>): DataGridColDef {\r\n const type = [\"dateTimeColumn\", \"alignRight\"];\r\n if (renderFilter) {\r\n type.push(\"customColumnServerFilter\");\r\n }\r\n\r\n return {\r\n colId: columnName,\r\n field: columnName,\r\n initialWidth: 140,\r\n type: type,\r\n sortable: true,\r\n group: i18n(\"Basic Columns\"),\r\n renderFilter: renderFilter,\r\n ...params\r\n }\r\n}\r\n\r\nexport function getEntityColumn(columnConfig: { codeColumn: string, nameColumn: string, backgroundColorColumn?: string }, renderFilter?: FilterRenderer, params?: Partial<DataGridColDef>): DataGridColDef {\r\n const {codeColumn, nameColumn, backgroundColorColumn} = columnConfig;\r\n\r\n return {\r\n colId: codeColumn,\r\n field: codeColumn,\r\n cellRenderer: (params: any) => {\r\n const data = params.data;\r\n\r\n if (data && data[codeColumn]) {\r\n const code = data[codeColumn];\r\n const name = data[nameColumn];\r\n const backgroundColor = backgroundColorColumn ? data[backgroundColorColumn] : undefined;\r\n return <ColorTag title={name} color={backgroundColor}>{code}</ColorTag>;\r\n }\r\n return null;\r\n },\r\n initialWidth: 160,\r\n type: renderFilter ? \"customColumnServerFilter\" : undefined,\r\n sortable: true,\r\n group: i18n(\"Basic Columns\"),\r\n renderFilter: renderFilter,\r\n ...params\r\n }\r\n}\r\n\r\nexport function getStringColumn(columnName: string, renderFilter?: FilterRenderer, params?: Partial<DataGridColDef>): DataGridColDef {\r\n return {\r\n colId: columnName,\r\n field: columnName,\r\n initialWidth: 160,\r\n type: renderFilter ? \"customColumnServerFilter\" : undefined,\r\n sortable: true,\r\n group: i18n(\"Basic Columns\"),\r\n renderFilter: renderFilter,\r\n ...params\r\n };\r\n}\r\n\r\nexport function getNumberColumn(columnName: string, renderFilter?: FilterRenderer, params?: Partial<DataGridColDef>): DataGridColDef {\r\n const type = [\"numberColumn\", \"alignRight\"];\r\n if (renderFilter) {\r\n type.push(\"customColumnServerFilter\");\r\n }\r\n\r\n return {\r\n colId: columnName,\r\n field: columnName,\r\n initialWidth: 140,\r\n type: type,\r\n sortable: true,\r\n group: i18n(\"Basic Columns\"),\r\n renderFilter: renderFilter,\r\n ...params\r\n };\r\n}"]}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { IDatasource } from "ag-grid-community";
|
|
3
|
+
import AuditableEntity from "../../../api/types/auditableEntity";
|
|
4
|
+
import { DataGridColDef } from "d2coreui/components/grid/dataGrid";
|
|
5
|
+
import AbstractEntityApi from "../../../api/abstractEntityApi";
|
|
6
|
+
interface Props<T extends AuditableEntity> {
|
|
7
|
+
api: AbstractEntityApi<T>;
|
|
8
|
+
entity?: T;
|
|
9
|
+
detailPanelWidth: number;
|
|
10
|
+
onSelectionChanged(): void;
|
|
11
|
+
renderDetail(entity: T | undefined, differences: string[]): React.ReactNode;
|
|
12
|
+
}
|
|
13
|
+
interface State<T extends AuditableEntity> {
|
|
14
|
+
columnDefs: DataGridColDef[];
|
|
15
|
+
loading: boolean;
|
|
16
|
+
datasource: IDatasource;
|
|
17
|
+
selectedData: T[];
|
|
18
|
+
}
|
|
19
|
+
export default class EntityHistoryListPanel<T extends AuditableEntity> extends React.Component<Props<T>, State<T>> {
|
|
20
|
+
private initialColumnDefs?;
|
|
21
|
+
private dataGrid;
|
|
22
|
+
private gridApi?;
|
|
23
|
+
private firstLoadedPage;
|
|
24
|
+
private manualReload;
|
|
25
|
+
private mask;
|
|
26
|
+
constructor(props: Readonly<Props<T>>);
|
|
27
|
+
private onLoadData;
|
|
28
|
+
private getRecords;
|
|
29
|
+
private getInitialColumnDefs;
|
|
30
|
+
private renderConfigHeader;
|
|
31
|
+
renderDetailPanel(): React.ReactElement;
|
|
32
|
+
private getLeftContentEntity;
|
|
33
|
+
private getRightContentEntity;
|
|
34
|
+
private onCloseDetailPanel;
|
|
35
|
+
private onSelectionChanged;
|
|
36
|
+
render(): React.JSX.Element;
|
|
37
|
+
}
|
|
38
|
+
export {};
|