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":"advancedFilterColumnDefinitions.js","sourceRoot":"","sources":["../../../../../coreui/components/advancedFilter/advancedFilterColumnDefinitions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiC,uBAAuB,EAAC,MAAM,mCAAmC,CAAC;AAC1G,OAAO,EAAC,SAAS,EAAE,kBAAkB,EAAC,MAAM,8BAA8B,CAAC;AAE3E,MAAM,CAAN,IAAY,YAcX;AAdD,WAAY,YAAY;IAEpB,6BAAa,CAAA;IACb,6BAAa,CAAA;IACb,qCAAqB,CAAA;IACrB,6BAAa,CAAA;IAEb,uCAAuB,CAAA;IAEvB,uCAAuB,CAAA;IACvB,sCAAsB,CAAA;IACtB,uCAAuB,CAAA;IACvB,uCAAuB,CAAA;IACvB,uCAAuB,CAAA;AAC3B,CAAC,EAdW,YAAY,KAAZ,YAAY,QAcvB;AAGD,MAAM,UAAU,2BAA2B,CAAC,UAAkB;IAC1D,OAAO,EAAC,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,uBAAuB,CAAC,IAAI,EAAC,CAAA;AAC5E,CAAC;AAED,MAAM,UAAU,+BAA+B,CAAC,UAAkB;IAC9D,OAAO,EAAC,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,uBAAuB,CAAC,SAAS,EAAC,CAAA;AACjF,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,UAAkB;IAC5D,OAAO,EAAC,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,uBAAuB,CAAC,MAAM,EAAC,CAAA;AAC9E,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,UAAkB;IAC5D,OAAO,EAAC,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,uBAAuB,CAAC,MAAM,EAAC,CAAA;AAC9E,CAAC;AAED,MAAM,UAAU,gCAAgC,CAAC,UAAkB;IAC/D,OAAO;QACH,UAAU,EAAE,UAAU;QACtB,SAAS,EAAE,uBAAuB,CAAC,WAAW;QAC9C,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC;aAC/B,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC;aAC1C,GAAG,CAAC,KAAK,CAAC,EAAE;YACT,OAAO,EAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,kBAAkB,CAAC,KAAkB,CAAC,EAAC,CAAA;QACxE,CAAC,CAAC;KACT,CAAA;AACL,CAAC","sourcesContent":["import {AdvancedFilterColumnDefinition, AdvancedFilterValueType} from \"../../../api/types/advancedFilter\";\r\nimport {DbBoolean, getDbBooleanString} from \"../../../api/types/dbBoolean\";\r\n\r\nexport enum EntityColumn {\r\n // general\r\n CODE = \"code\",\r\n NAME = \"name\",\r\n BG_COLOR = \"bg_color\",\r\n NOTE = \"note\",\r\n // eda\r\n ID_VEKTOR = \"id_vektor\",\r\n // audit columns\r\n CREATE_DATE = \"date_in\",\r\n CREATED_BY = \"user_in\",\r\n MODIFY_DATE = \"date_ch\",\r\n MODIFIED_BY = \"user_ch\",\r\n VALIDITY = \"ano_platny\",\r\n}\r\n\r\n// general\r\nexport function getDateAdvancedFilterColumn(columnName: string): AdvancedFilterColumnDefinition {\r\n return {columnName: columnName, valueType: AdvancedFilterValueType.DATE}\r\n}\r\n\r\nexport function getDateTimeAdvancedFilterColumn(columnName: string): AdvancedFilterColumnDefinition {\r\n return {columnName: columnName, valueType: AdvancedFilterValueType.DATE_TIME}\r\n}\r\n\r\nexport function getStringAdvancedFilterColumn(columnName: string): AdvancedFilterColumnDefinition {\r\n return {columnName: columnName, valueType: AdvancedFilterValueType.STRING}\r\n}\r\n\r\nexport function getNumberAdvancedFilterColumn(columnName: string): AdvancedFilterColumnDefinition {\r\n return {columnName: columnName, valueType: AdvancedFilterValueType.NUMBER}\r\n}\r\n\r\nexport function getDbBooleanAdvancedFilterColumn(columnName: string): AdvancedFilterColumnDefinition {\r\n return {\r\n columnName: columnName,\r\n valueType: AdvancedFilterValueType.NUMBER_LIST,\r\n optionList: Object.values(DbBoolean)\r\n .filter(value => typeof value === \"number\")\r\n .map(value => {\r\n return {value: value, title: getDbBooleanString(value as DbBoolean)}\r\n }),\r\n }\r\n}"]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { AdvancedFilterCondition, AdvancedFilterOperator } from "../../../api/advancedFilterApi";
|
|
2
|
+
import { AdvancedFilterColumnDefinition, AdvancedFilterValueType } from "../../../api/types/advancedFilter";
|
|
3
|
+
export declare enum AdvancedFilterListNameEnum {
|
|
4
|
+
EDA_VECTOR_SELECT_LIST = "eda_vector_select_list"
|
|
5
|
+
}
|
|
6
|
+
export default class AdvancedFilterUtils {
|
|
7
|
+
static humanizeCondition(columnDefinition: AdvancedFilterColumnDefinition, withOperator: boolean, filterCondition?: AdvancedFilterCondition): string;
|
|
8
|
+
static serializeConditionValues(filterConditions: AdvancedFilterCondition[]): AdvancedFilterCondition[];
|
|
9
|
+
static parseConditionValues(filterConditions: AdvancedFilterCondition[]): AdvancedFilterCondition[];
|
|
10
|
+
static createNewCondition(id: number, columnDefinition: AdvancedFilterColumnDefinition, additionalConfig?: Partial<AdvancedFilterCondition>): AdvancedFilterCondition;
|
|
11
|
+
static getOperatorsForValueType(valueType: AdvancedFilterValueType): AdvancedFilterOperator[];
|
|
12
|
+
}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { AdvancedFilterOperator, getAdvancedFilterOperatorString } from "../../../api/advancedFilterApi";
|
|
2
|
+
import cloneDeep from "lodash/cloneDeep";
|
|
3
|
+
import { AdvancedFilterValueType } from "../../../api/types/advancedFilter";
|
|
4
|
+
import dayjs from "d2core/dayjs";
|
|
5
|
+
import { ADVANCED_FILTER_DATE_FORMAT } from "./components/advancedFilterValueInput";
|
|
6
|
+
import { LocaleHolder } from "d2core/i18n/localeHolder";
|
|
7
|
+
export var AdvancedFilterListNameEnum;
|
|
8
|
+
(function (AdvancedFilterListNameEnum) {
|
|
9
|
+
AdvancedFilterListNameEnum["EDA_VECTOR_SELECT_LIST"] = "eda_vector_select_list";
|
|
10
|
+
})(AdvancedFilterListNameEnum || (AdvancedFilterListNameEnum = {}));
|
|
11
|
+
export default class AdvancedFilterUtils {
|
|
12
|
+
static humanizeCondition(columnDefinition, withOperator, filterCondition) {
|
|
13
|
+
let result = "";
|
|
14
|
+
if (filterCondition?.value !== undefined) {
|
|
15
|
+
const { operator, value, value_type } = filterCondition;
|
|
16
|
+
if (value_type === AdvancedFilterValueType.DATE_TIME) {
|
|
17
|
+
result = dayjs(value, ADVANCED_FILTER_DATE_FORMAT).format(LocaleHolder.getDateTimeFormat(true, true, false));
|
|
18
|
+
}
|
|
19
|
+
else if (value_type === AdvancedFilterValueType.DATE) {
|
|
20
|
+
result = dayjs(value, ADVANCED_FILTER_DATE_FORMAT).format(LocaleHolder.getDateFormat(true));
|
|
21
|
+
}
|
|
22
|
+
else if (value_type === AdvancedFilterValueType.NUMBER_LIST) {
|
|
23
|
+
if (operator === AdvancedFilterOperator.IN) {
|
|
24
|
+
result = `(${columnDefinition.optionList
|
|
25
|
+
?.filter(v => typeof v.value === "number" && value.includes(v.value))
|
|
26
|
+
.map(v => v.title)
|
|
27
|
+
.join(", ")})`;
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
result = columnDefinition.optionList?.find(v => v.value == value)?.title ?? "";
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
else if (Array.isArray(value)) {
|
|
34
|
+
result = `(${value.join(", ")})`;
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
result = value.toString();
|
|
38
|
+
}
|
|
39
|
+
if (withOperator) {
|
|
40
|
+
const operatorString = getAdvancedFilterOperatorString(operator);
|
|
41
|
+
result = `${operatorString} ${result}`;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
return result;
|
|
45
|
+
}
|
|
46
|
+
static serializeConditionValues(filterConditions) {
|
|
47
|
+
const serializedFilterConditions = cloneDeep(filterConditions);
|
|
48
|
+
serializedFilterConditions.forEach(filterCondition => {
|
|
49
|
+
if (Array.isArray(filterCondition.value)) {
|
|
50
|
+
filterCondition.value = filterCondition.value.join("@#@");
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
return serializedFilterConditions;
|
|
54
|
+
}
|
|
55
|
+
static parseConditionValues(filterConditions) {
|
|
56
|
+
const parsedFilterConditions = cloneDeep(filterConditions);
|
|
57
|
+
parsedFilterConditions.forEach(value => {
|
|
58
|
+
if (typeof value.value === "string" && value.value.includes("@#@")) {
|
|
59
|
+
value.value = value.value.split("@#@");
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
return parsedFilterConditions;
|
|
63
|
+
}
|
|
64
|
+
static createNewCondition(id, columnDefinition, additionalConfig) {
|
|
65
|
+
const allowedOperators = this.getOperatorsForValueType(columnDefinition.valueType);
|
|
66
|
+
return cloneDeep(Object.assign({
|
|
67
|
+
id: id,
|
|
68
|
+
id_condition: -1,
|
|
69
|
+
id_filter: -1,
|
|
70
|
+
not_flag: 0,
|
|
71
|
+
left_par: 0,
|
|
72
|
+
column_name: columnDefinition.columnName,
|
|
73
|
+
operator: allowedOperators[0],
|
|
74
|
+
value: undefined,
|
|
75
|
+
value_type: columnDefinition.valueType,
|
|
76
|
+
right_par: 0,
|
|
77
|
+
logical_operator: null,
|
|
78
|
+
}, additionalConfig));
|
|
79
|
+
}
|
|
80
|
+
static getOperatorsForValueType(valueType) {
|
|
81
|
+
switch (valueType) {
|
|
82
|
+
case AdvancedFilterValueType.STRING:
|
|
83
|
+
return [AdvancedFilterOperator.LIKE, AdvancedFilterOperator.EQUALS, AdvancedFilterOperator.LESS_THAN,
|
|
84
|
+
AdvancedFilterOperator.GREATER_THAN, AdvancedFilterOperator.NOT_EQUALS, AdvancedFilterOperator.LESS_THAN_EQUALS,
|
|
85
|
+
AdvancedFilterOperator.GREATER_THAN_EQUALS, AdvancedFilterOperator.IN, AdvancedFilterOperator.IS_NULL];
|
|
86
|
+
case AdvancedFilterValueType.NUMBER:
|
|
87
|
+
return [AdvancedFilterOperator.EQUALS, AdvancedFilterOperator.LESS_THAN, AdvancedFilterOperator.GREATER_THAN,
|
|
88
|
+
AdvancedFilterOperator.NOT_EQUALS, AdvancedFilterOperator.LESS_THAN_EQUALS, AdvancedFilterOperator.GREATER_THAN_EQUALS,
|
|
89
|
+
AdvancedFilterOperator.IN, AdvancedFilterOperator.IS_NULL];
|
|
90
|
+
case AdvancedFilterValueType.STRING_LIST:
|
|
91
|
+
case AdvancedFilterValueType.NUMBER_LIST:
|
|
92
|
+
return [AdvancedFilterOperator.EQUALS, AdvancedFilterOperator.IN, AdvancedFilterOperator.IS_NULL];
|
|
93
|
+
case AdvancedFilterValueType.DATE_TIME:
|
|
94
|
+
case AdvancedFilterValueType.DATE:
|
|
95
|
+
return [AdvancedFilterOperator.EQUALS, AdvancedFilterOperator.LESS_THAN, AdvancedFilterOperator.GREATER_THAN,
|
|
96
|
+
AdvancedFilterOperator.NOT_EQUALS, AdvancedFilterOperator.LESS_THAN_EQUALS, AdvancedFilterOperator.GREATER_THAN_EQUALS,
|
|
97
|
+
AdvancedFilterOperator.IS_NULL];
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
//# sourceMappingURL=advancedFilterUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"advancedFilterUtils.js","sourceRoot":"","sources":["../../../../../coreui/components/advancedFilter/advancedFilterUtils.ts"],"names":[],"mappings":"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","sourcesContent":["import {\r\n AdvancedFilterCondition,\r\n AdvancedFilterOperator,\r\n getAdvancedFilterOperatorString\r\n} from \"../../../api/advancedFilterApi\";\r\nimport cloneDeep from \"lodash/cloneDeep\";\r\nimport {AdvancedFilterColumnDefinition, AdvancedFilterValueType} from \"../../../api/types/advancedFilter\";\r\nimport dayjs from \"d2core/dayjs\";\r\nimport {ADVANCED_FILTER_DATE_FORMAT} from \"./components/advancedFilterValueInput\";\r\nimport {LocaleHolder} from \"d2core/i18n/localeHolder\";\r\n\r\nexport enum AdvancedFilterListNameEnum {\r\n EDA_VECTOR_SELECT_LIST = \"eda_vector_select_list\",\r\n}\r\n\r\nexport default class AdvancedFilterUtils {\r\n\r\n static humanizeCondition(columnDefinition: AdvancedFilterColumnDefinition, withOperator: boolean, filterCondition?: AdvancedFilterCondition) {\r\n let result = \"\";\r\n\r\n if (filterCondition?.value !== undefined) {\r\n const {operator, value, value_type} = filterCondition;\r\n\r\n if (value_type === AdvancedFilterValueType.DATE_TIME) {\r\n result = dayjs(value as string, ADVANCED_FILTER_DATE_FORMAT).format(LocaleHolder.getDateTimeFormat(true, true, false));\r\n } else if (value_type === AdvancedFilterValueType.DATE) {\r\n result = dayjs(value as string, ADVANCED_FILTER_DATE_FORMAT).format(LocaleHolder.getDateFormat(true));\r\n } else if (value_type === AdvancedFilterValueType.NUMBER_LIST) {\r\n if (operator === AdvancedFilterOperator.IN) {\r\n result = `(${\r\n columnDefinition.optionList\r\n ?.filter(v => typeof v.value === \"number\" && (value as number[]).includes(v.value))\r\n .map(v => v.title)\r\n .join(\", \")\r\n })`;\r\n } else {\r\n result = columnDefinition.optionList?.find(v => v.value == value)?.title ?? \"\";\r\n }\r\n } else if (Array.isArray(value)) {\r\n result = `(${value.join(\", \")})`;\r\n } else {\r\n result = value.toString();\r\n }\r\n\r\n if (withOperator) {\r\n const operatorString = getAdvancedFilterOperatorString(operator);\r\n result = `${operatorString} ${result}`;\r\n }\r\n }\r\n\r\n return result;\r\n }\r\n\r\n static serializeConditionValues(filterConditions: AdvancedFilterCondition[]): AdvancedFilterCondition[] {\r\n const serializedFilterConditions = cloneDeep(filterConditions);\r\n serializedFilterConditions.forEach(filterCondition => {\r\n if (Array.isArray(filterCondition.value)) {\r\n filterCondition.value = filterCondition.value.join(\"@#@\");\r\n }\r\n });\r\n\r\n return serializedFilterConditions;\r\n }\r\n\r\n static parseConditionValues(filterConditions: AdvancedFilterCondition[]): AdvancedFilterCondition[] {\r\n const parsedFilterConditions = cloneDeep(filterConditions);\r\n parsedFilterConditions.forEach(value => {\r\n if (typeof value.value === \"string\" && value.value.includes(\"@#@\")) {\r\n value.value = value.value.split(\"@#@\");\r\n }\r\n });\r\n\r\n return parsedFilterConditions;\r\n }\r\n\r\n static createNewCondition(id: number, columnDefinition: AdvancedFilterColumnDefinition, additionalConfig?: Partial<AdvancedFilterCondition>): AdvancedFilterCondition {\r\n const allowedOperators = this.getOperatorsForValueType(columnDefinition.valueType);\r\n\r\n return cloneDeep(Object.assign({\r\n id: id,\r\n id_condition: -1,\r\n id_filter: -1,\r\n not_flag: 0,\r\n left_par: 0,\r\n column_name: columnDefinition.columnName,\r\n operator: allowedOperators[0],\r\n value: undefined,\r\n value_type: columnDefinition.valueType,\r\n right_par: 0,\r\n logical_operator: null,\r\n }, additionalConfig));\r\n }\r\n\r\n static getOperatorsForValueType(valueType: AdvancedFilterValueType): AdvancedFilterOperator[] {\r\n switch (valueType) {\r\n case AdvancedFilterValueType.STRING:\r\n return [AdvancedFilterOperator.LIKE, AdvancedFilterOperator.EQUALS, AdvancedFilterOperator.LESS_THAN,\r\n AdvancedFilterOperator.GREATER_THAN, AdvancedFilterOperator.NOT_EQUALS, AdvancedFilterOperator.LESS_THAN_EQUALS,\r\n AdvancedFilterOperator.GREATER_THAN_EQUALS, AdvancedFilterOperator.IN, AdvancedFilterOperator.IS_NULL];\r\n case AdvancedFilterValueType.NUMBER:\r\n return [AdvancedFilterOperator.EQUALS, AdvancedFilterOperator.LESS_THAN, AdvancedFilterOperator.GREATER_THAN,\r\n AdvancedFilterOperator.NOT_EQUALS, AdvancedFilterOperator.LESS_THAN_EQUALS, AdvancedFilterOperator.GREATER_THAN_EQUALS,\r\n AdvancedFilterOperator.IN, AdvancedFilterOperator.IS_NULL];\r\n case AdvancedFilterValueType.STRING_LIST:\r\n case AdvancedFilterValueType.NUMBER_LIST:\r\n return [AdvancedFilterOperator.EQUALS, AdvancedFilterOperator.IN, AdvancedFilterOperator.IS_NULL];\r\n case AdvancedFilterValueType.DATE_TIME:\r\n case AdvancedFilterValueType.DATE:\r\n return [AdvancedFilterOperator.EQUALS, AdvancedFilterOperator.LESS_THAN, AdvancedFilterOperator.GREATER_THAN,\r\n AdvancedFilterOperator.NOT_EQUALS, AdvancedFilterOperator.LESS_THAN_EQUALS, AdvancedFilterOperator.GREATER_THAN_EQUALS,\r\n AdvancedFilterOperator.IS_NULL];\r\n }\r\n }\r\n}"]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { AdvancedFilterCondition, AdvancedFilterValue } from "../../../api/advancedFilterApi";
|
|
2
|
+
import { ValidateStatus } from "antd/lib/form/FormItem";
|
|
3
|
+
import { AdvancedFilterConditionError } from "../../../api/types/advancedFilter";
|
|
4
|
+
export default class AdvancedFilterValidationUtils {
|
|
5
|
+
static isConditionValueInvalid(value: AdvancedFilterValue): boolean;
|
|
6
|
+
static validade(filterConditions: AdvancedFilterCondition[]): {
|
|
7
|
+
isConditionError: boolean;
|
|
8
|
+
isParenthesisError: boolean;
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
export declare function getErrorInfo(possibleErrors: AdvancedFilterConditionError[], allErrors: AdvancedFilterConditionError[]): [ValidateStatus, string | undefined];
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import i18n from "d2core/i18n/i18n";
|
|
2
|
+
import { AdvancedFilterConditionError } from "../../../api/types/advancedFilter";
|
|
3
|
+
function getAdvancedFilterConditionErrorString(error) {
|
|
4
|
+
switch (error) {
|
|
5
|
+
case AdvancedFilterConditionError.VALUE_REQUIRED:
|
|
6
|
+
return i18n("Missing Value");
|
|
7
|
+
case AdvancedFilterConditionError.LOGICAL_OPERATOR_REQUIRED:
|
|
8
|
+
return i18n("Missing Logical Operator");
|
|
9
|
+
case AdvancedFilterConditionError.LOGICAL_OPERATOR_UNNECESSARY:
|
|
10
|
+
return i18n("Unnecessary Logical Operator");
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
export default class AdvancedFilterValidationUtils {
|
|
14
|
+
static isConditionValueInvalid(value) {
|
|
15
|
+
return value === undefined || value === "" || (Array.isArray(value) && value.length === 0);
|
|
16
|
+
}
|
|
17
|
+
static validade(filterConditions) {
|
|
18
|
+
const parenthesisStack = [];
|
|
19
|
+
let isConditionError = false;
|
|
20
|
+
let isParenthesisError = false;
|
|
21
|
+
filterConditions.forEach((filterCondition, index) => {
|
|
22
|
+
filterCondition._errors = [];
|
|
23
|
+
if (this.isConditionValueInvalid(filterCondition.value)) {
|
|
24
|
+
isConditionError = true;
|
|
25
|
+
filterCondition._errors.push(AdvancedFilterConditionError.VALUE_REQUIRED);
|
|
26
|
+
}
|
|
27
|
+
if (filterConditions[index + 1] !== undefined && filterCondition.logical_operator === null) {
|
|
28
|
+
isConditionError = true;
|
|
29
|
+
filterCondition._errors.push(AdvancedFilterConditionError.LOGICAL_OPERATOR_REQUIRED);
|
|
30
|
+
}
|
|
31
|
+
if (filterConditions[index + 1] === undefined && filterCondition.logical_operator !== null) {
|
|
32
|
+
isConditionError = true;
|
|
33
|
+
filterCondition._errors.push(AdvancedFilterConditionError.LOGICAL_OPERATOR_UNNECESSARY);
|
|
34
|
+
}
|
|
35
|
+
if (filterCondition.left_par === 1 && filterCondition.right_par === 0) {
|
|
36
|
+
parenthesisStack.push("(");
|
|
37
|
+
}
|
|
38
|
+
else if (filterCondition.left_par === 0 && filterCondition.right_par === 1) {
|
|
39
|
+
const pop = parenthesisStack.pop();
|
|
40
|
+
if (pop !== "(") {
|
|
41
|
+
isParenthesisError = true;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
isParenthesisError = isParenthesisError || parenthesisStack.length !== 0;
|
|
46
|
+
return {
|
|
47
|
+
isConditionError: isConditionError,
|
|
48
|
+
isParenthesisError: isParenthesisError,
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
export function getErrorInfo(possibleErrors, allErrors) {
|
|
53
|
+
const foundError = possibleErrors.find(error => allErrors.includes(error));
|
|
54
|
+
if (foundError) {
|
|
55
|
+
return ["error", getAdvancedFilterConditionErrorString(foundError)];
|
|
56
|
+
}
|
|
57
|
+
return ["success", undefined];
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=advancedFilterValidationUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"advancedFilterValidationUtils.js","sourceRoot":"","sources":["../../../../../coreui/components/advancedFilter/advancedFilterValidationUtils.ts"],"names":[],"mappings":"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","sourcesContent":["import {AdvancedFilterCondition, AdvancedFilterValue} from \"../../../api/advancedFilterApi\";\r\nimport i18n from \"d2core/i18n/i18n\";\r\nimport {ValidateStatus} from \"antd/lib/form/FormItem\";\r\nimport {AdvancedFilterConditionError} from \"../../../api/types/advancedFilter\";\r\n\r\nfunction getAdvancedFilterConditionErrorString(error: AdvancedFilterConditionError): string {\r\n switch (error) {\r\n case AdvancedFilterConditionError.VALUE_REQUIRED:\r\n return i18n(\"Missing Value\");\r\n case AdvancedFilterConditionError.LOGICAL_OPERATOR_REQUIRED:\r\n return i18n(\"Missing Logical Operator\");\r\n case AdvancedFilterConditionError.LOGICAL_OPERATOR_UNNECESSARY:\r\n return i18n(\"Unnecessary Logical Operator\");\r\n }\r\n}\r\n\r\nexport default class AdvancedFilterValidationUtils {\r\n\r\n static isConditionValueInvalid(value: AdvancedFilterValue): boolean {\r\n return value === undefined || value === \"\" || (Array.isArray(value) && value.length === 0);\r\n }\r\n\r\n static validade(filterConditions: AdvancedFilterCondition[]): { isConditionError: boolean, isParenthesisError: boolean } {\r\n const parenthesisStack: string[] = [];\r\n let isConditionError = false;\r\n let isParenthesisError = false;\r\n\r\n filterConditions.forEach((filterCondition, index) => {\r\n filterCondition._errors = [];\r\n\r\n if (this.isConditionValueInvalid(filterCondition.value)) {\r\n isConditionError = true;\r\n filterCondition._errors.push(AdvancedFilterConditionError.VALUE_REQUIRED);\r\n }\r\n if (filterConditions[index + 1] !== undefined && filterCondition.logical_operator === null) {\r\n isConditionError = true;\r\n filterCondition._errors.push(AdvancedFilterConditionError.LOGICAL_OPERATOR_REQUIRED);\r\n }\r\n if (filterConditions[index + 1] === undefined && filterCondition.logical_operator !== null) {\r\n isConditionError = true;\r\n filterCondition._errors.push(AdvancedFilterConditionError.LOGICAL_OPERATOR_UNNECESSARY);\r\n }\r\n\r\n // parentheses check\r\n if (filterCondition.left_par === 1 && filterCondition.right_par === 0) {\r\n parenthesisStack.push(\"(\");\r\n } else if (filterCondition.left_par === 0 && filterCondition.right_par === 1) {\r\n const pop = parenthesisStack.pop();\r\n if (pop !== \"(\") {\r\n isParenthesisError = true;\r\n }\r\n }\r\n });\r\n\r\n isParenthesisError = isParenthesisError || parenthesisStack.length !== 0;\r\n\r\n return {\r\n isConditionError: isConditionError,\r\n isParenthesisError: isParenthesisError,\r\n };\r\n }\r\n}\r\n\r\nexport function getErrorInfo(possibleErrors: AdvancedFilterConditionError[], allErrors: AdvancedFilterConditionError[]): [ValidateStatus, string | undefined] {\r\n const foundError = possibleErrors.find(error => allErrors.includes(error));\r\n\r\n if (foundError) {\r\n return [\"error\", getAdvancedFilterConditionErrorString(foundError)]\r\n }\r\n\r\n return [\"success\", undefined];\r\n}\r\n"]}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { AdvancedFilterApi, AdvancedFilterCondition } from "../../../api/advancedFilterApi";
|
|
3
|
+
import Entity from "../../../api/types/entity";
|
|
4
|
+
import ExtendedDataGrid from "d2coreui/components/grid/extendedDataGrid";
|
|
5
|
+
import { GridApi, IDatasource } from "ag-grid-community";
|
|
6
|
+
import { AdvancedFilterColumnDefinition } from "../../../api/types/advancedFilter";
|
|
7
|
+
import { DataGridColDef, OnLoadDataCallback } from "d2coreui/components/grid/dataGrid";
|
|
8
|
+
import AbstractEntityApi, { PageableList } from "../../../api/abstractEntityApi";
|
|
9
|
+
export interface AdvancedFilteredGridProps<T extends Entity> {
|
|
10
|
+
api: AbstractEntityApi<T>;
|
|
11
|
+
advancedFilterApi: AdvancedFilterApi;
|
|
12
|
+
filterConditions?: AdvancedFilterCondition[];
|
|
13
|
+
}
|
|
14
|
+
export interface AdvancedFilteredGridState<T extends Entity> {
|
|
15
|
+
filterConditions: AdvancedFilterCondition[];
|
|
16
|
+
selectedData: T[];
|
|
17
|
+
columnDefs: DataGridColDef[];
|
|
18
|
+
loading: boolean;
|
|
19
|
+
datasource: IDatasource;
|
|
20
|
+
}
|
|
21
|
+
export default abstract class AdvancedFilteredGrid<T extends Entity, P extends AdvancedFilteredGridProps<T>, S extends AdvancedFilteredGridState<T>> extends React.Component<P, S> {
|
|
22
|
+
protected dataGrid: ExtendedDataGrid<T> | null;
|
|
23
|
+
protected gridApi?: GridApi;
|
|
24
|
+
protected firstLoadedPage: PageableList<T> | null;
|
|
25
|
+
protected manualReload: boolean;
|
|
26
|
+
protected initialColumnDefs?: DataGridColDef[];
|
|
27
|
+
protected constructor(props: Readonly<P>);
|
|
28
|
+
componentDidMount(): void;
|
|
29
|
+
protected onLoadData(callback: OnLoadDataCallback): Promise<void>;
|
|
30
|
+
protected getRecords(from: number, to: number): Promise<PageableList<T>>;
|
|
31
|
+
abstract getOnlyValidRecords(): boolean;
|
|
32
|
+
protected onRecordsLoaded(): Promise<void>;
|
|
33
|
+
private saveConfiguration;
|
|
34
|
+
abstract getAdvancedFilterListName(): string | undefined;
|
|
35
|
+
protected getAdvancedFilterColumnDefinitions(): AdvancedFilterColumnDefinition[];
|
|
36
|
+
protected renderFloatingFilter(columnDefinition: AdvancedFilterColumnDefinition): React.JSX.Element;
|
|
37
|
+
protected onApplyFilter(filterConditions: AdvancedFilterCondition[]): void;
|
|
38
|
+
private onAddCondition;
|
|
39
|
+
private onSetCondition;
|
|
40
|
+
private onClearCondition;
|
|
41
|
+
protected getIdColumn(columnName: string): DataGridColDef;
|
|
42
|
+
protected getCodeColumn(params?: Partial<DataGridColDef>): DataGridColDef;
|
|
43
|
+
protected getCodeColumnWithBackgroundColor(): DataGridColDef;
|
|
44
|
+
protected getNameColumn(params?: Partial<DataGridColDef>): DataGridColDef;
|
|
45
|
+
protected getEntityColumn(columnConfig: {
|
|
46
|
+
codeColumn: string;
|
|
47
|
+
nameColumn: string;
|
|
48
|
+
backgroundColorColumn?: string;
|
|
49
|
+
}, params?: Partial<DataGridColDef>): DataGridColDef;
|
|
50
|
+
protected getDateColumn(columnName: string, params?: Partial<DataGridColDef>): DataGridColDef;
|
|
51
|
+
protected getDateTimeColumn(columnName: string, params?: Partial<DataGridColDef>): DataGridColDef;
|
|
52
|
+
protected getDbBooleanColumn(columnName: string, params?: Partial<DataGridColDef>): DataGridColDef;
|
|
53
|
+
protected getStringColumn(columnName: string, params?: Partial<DataGridColDef>): DataGridColDef;
|
|
54
|
+
protected getNumberColumn(columnName: string, params?: Partial<DataGridColDef>): DataGridColDef;
|
|
55
|
+
}
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { AdvancedFilterLogicalOperator } from "../../../api/advancedFilterApi";
|
|
3
|
+
import cloneDeep from "lodash/cloneDeep";
|
|
4
|
+
import AdvancedFilterFloatingColumnComponent from "./floatingColumnFilter/advancedFilterFloatingColumnComponent";
|
|
5
|
+
import AdvancedFilterUtils from "./advancedFilterUtils";
|
|
6
|
+
import { getCodeColumn, getDateColumn, getDateTimeColumn, getDbBooleanColumn, getEntityColumn, getIDColumn, getNameColumn, getNumberColumn, getStringColumn } from "../grid/standardColumns";
|
|
7
|
+
import { EntityColumn, getDateAdvancedFilterColumn, getDateTimeAdvancedFilterColumn, getDbBooleanAdvancedFilterColumn, getNumberAdvancedFilterColumn, getStringAdvancedFilterColumn } from "./advancedFilterColumnDefinitions";
|
|
8
|
+
import i18n from "d2core/i18n/i18n";
|
|
9
|
+
const CONFIGURATION_VERSION = 1;
|
|
10
|
+
export default class AdvancedFilteredGrid extends React.Component {
|
|
11
|
+
constructor(props) {
|
|
12
|
+
super(props);
|
|
13
|
+
this.dataGrid = null;
|
|
14
|
+
this.firstLoadedPage = null;
|
|
15
|
+
this.manualReload = true;
|
|
16
|
+
this.renderFloatingFilter = this.renderFloatingFilter.bind(this);
|
|
17
|
+
this.onApplyFilter = this.onApplyFilter.bind(this);
|
|
18
|
+
this.onAddCondition = this.onAddCondition.bind(this);
|
|
19
|
+
this.onSetCondition = this.onSetCondition.bind(this);
|
|
20
|
+
this.onClearCondition = this.onClearCondition.bind(this);
|
|
21
|
+
this.onLoadData = this.onLoadData.bind(this);
|
|
22
|
+
}
|
|
23
|
+
componentDidMount() {
|
|
24
|
+
if (this.state.filterConditions.length === 0) {
|
|
25
|
+
const advancedFilterListName = this.getAdvancedFilterListName();
|
|
26
|
+
if (advancedFilterListName) {
|
|
27
|
+
const item = localStorage.getItem(advancedFilterListName);
|
|
28
|
+
if (item) {
|
|
29
|
+
try {
|
|
30
|
+
const savedConditions = JSON.parse(item);
|
|
31
|
+
if (savedConditions.version === CONFIGURATION_VERSION) {
|
|
32
|
+
this.setState({ filterConditions: savedConditions.filterConditions });
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
catch {
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
async onLoadData(callback) {
|
|
42
|
+
this.manualReload = true;
|
|
43
|
+
this.firstLoadedPage = await this.getRecords(0, 100);
|
|
44
|
+
callback(this.firstLoadedPage.totalNumberOfRows);
|
|
45
|
+
this.gridApi?.onFilterChanged();
|
|
46
|
+
}
|
|
47
|
+
async getRecords(from, to) {
|
|
48
|
+
this.setState({ loading: true });
|
|
49
|
+
const filterConditions = [...this.state.filterConditions];
|
|
50
|
+
if (this.props.filterConditions) {
|
|
51
|
+
if (filterConditions.length > 0) {
|
|
52
|
+
filterConditions[filterConditions.length - 1].logical_operator = AdvancedFilterLogicalOperator.AND;
|
|
53
|
+
}
|
|
54
|
+
filterConditions.push(...this.props.filterConditions);
|
|
55
|
+
}
|
|
56
|
+
let orderBy = "";
|
|
57
|
+
const sortModel = this.dataGrid?.getSortModel()[0];
|
|
58
|
+
if (sortModel) {
|
|
59
|
+
orderBy = `${sortModel.colId} ${sortModel.sort}`;
|
|
60
|
+
}
|
|
61
|
+
const pageableList = await this.props.api.getAllData(from, to, orderBy, AdvancedFilterUtils.serializeConditionValues(filterConditions), this.getOnlyValidRecords());
|
|
62
|
+
await this.onRecordsLoaded();
|
|
63
|
+
this.setState({ loading: false });
|
|
64
|
+
return pageableList;
|
|
65
|
+
}
|
|
66
|
+
async onRecordsLoaded() {
|
|
67
|
+
}
|
|
68
|
+
saveConfiguration() {
|
|
69
|
+
const advancedFilterListName = this.getAdvancedFilterListName();
|
|
70
|
+
if (advancedFilterListName) {
|
|
71
|
+
const conditionsToSave = {
|
|
72
|
+
version: CONFIGURATION_VERSION,
|
|
73
|
+
filterConditions: this.state.filterConditions,
|
|
74
|
+
};
|
|
75
|
+
localStorage.setItem(advancedFilterListName, JSON.stringify(conditionsToSave));
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
getAdvancedFilterColumnDefinitions() {
|
|
79
|
+
return this.dataGrid?.props.columnDefs
|
|
80
|
+
.filter(value => value.renderFilter && value.context)
|
|
81
|
+
.map(value => value.context)
|
|
82
|
+
?? [];
|
|
83
|
+
}
|
|
84
|
+
renderFloatingFilter(columnDefinition) {
|
|
85
|
+
const filterCondition = this.state.filterConditions.find(value => value.column_name === columnDefinition.columnName);
|
|
86
|
+
return (React.createElement(AdvancedFilterFloatingColumnComponent, { filterCondition: filterCondition, columnDefinition: columnDefinition, onAddCondition: (operator, value) => this.onAddCondition(columnDefinition, operator, value), onSetCondition: (operator, value) => this.onSetCondition(columnDefinition, operator, value), onClearCondition: () => this.onClearCondition(columnDefinition) }));
|
|
87
|
+
}
|
|
88
|
+
onApplyFilter(filterConditions) {
|
|
89
|
+
this.setState({ filterConditions: filterConditions }, () => {
|
|
90
|
+
this.dataGrid?.loadData();
|
|
91
|
+
this.saveConfiguration();
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
onAddCondition(columnDefinition, operator, value) {
|
|
95
|
+
const filterConditions = cloneDeep(this.state.filterConditions);
|
|
96
|
+
const filterConditionIndex = filterConditions.findIndex(filterCondition => filterCondition.column_name === columnDefinition.columnName);
|
|
97
|
+
if (filterConditionIndex >= 0) {
|
|
98
|
+
if (filterConditions[filterConditionIndex + 1]) {
|
|
99
|
+
filterConditions[filterConditionIndex].logical_operator = AdvancedFilterLogicalOperator.AND;
|
|
100
|
+
}
|
|
101
|
+
filterConditions[filterConditionIndex].operator = operator;
|
|
102
|
+
filterConditions[filterConditionIndex].value = value;
|
|
103
|
+
}
|
|
104
|
+
else {
|
|
105
|
+
const newId = filterConditions.length === 0 ? 0 : Math.max(...filterConditions.map(value => value.id)) + 1;
|
|
106
|
+
const newCondition = AdvancedFilterUtils.createNewCondition(newId, columnDefinition, { operator, value });
|
|
107
|
+
if (filterConditions.length > 0) {
|
|
108
|
+
filterConditions[filterConditions.length - 1].logical_operator = AdvancedFilterLogicalOperator.AND;
|
|
109
|
+
}
|
|
110
|
+
filterConditions.push(newCondition);
|
|
111
|
+
}
|
|
112
|
+
this.setState({ filterConditions: filterConditions }, () => {
|
|
113
|
+
this.dataGrid?.loadData();
|
|
114
|
+
this.saveConfiguration();
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
onSetCondition(columnDefinition, operator, value) {
|
|
118
|
+
const newCondition = AdvancedFilterUtils.createNewCondition(0, columnDefinition, { operator, value });
|
|
119
|
+
this.setState({ filterConditions: [newCondition] }, () => {
|
|
120
|
+
this.dataGrid?.loadData();
|
|
121
|
+
this.saveConfiguration();
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
onClearCondition(columnDefinition) {
|
|
125
|
+
const filterConditions = this.state.filterConditions.filter(value => value.column_name !== columnDefinition.columnName);
|
|
126
|
+
if (filterConditions.length > 0) {
|
|
127
|
+
filterConditions[filterConditions.length - 1].logical_operator = null;
|
|
128
|
+
}
|
|
129
|
+
this.setState({ filterConditions: filterConditions }, () => {
|
|
130
|
+
this.dataGrid?.loadData();
|
|
131
|
+
this.saveConfiguration();
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
getIdColumn(columnName) {
|
|
135
|
+
return getIDColumn(() => this.renderFloatingFilter(getNumberAdvancedFilterColumn(columnName)), { colId: columnName, context: getNumberAdvancedFilterColumn(columnName) });
|
|
136
|
+
}
|
|
137
|
+
getCodeColumn(params) {
|
|
138
|
+
return getCodeColumn(() => this.renderFloatingFilter(getStringAdvancedFilterColumn(EntityColumn.CODE)), { context: getStringAdvancedFilterColumn(EntityColumn.CODE), ...params });
|
|
139
|
+
}
|
|
140
|
+
getCodeColumnWithBackgroundColor() {
|
|
141
|
+
return this.getEntityColumn({ codeColumn: EntityColumn.CODE, nameColumn: EntityColumn.NAME, backgroundColorColumn: EntityColumn.BG_COLOR }, { headerName: i18n("Code") });
|
|
142
|
+
}
|
|
143
|
+
getNameColumn(params) {
|
|
144
|
+
return getNameColumn(() => this.renderFloatingFilter(getStringAdvancedFilterColumn(EntityColumn.NAME)), { context: getStringAdvancedFilterColumn(EntityColumn.NAME), ...params });
|
|
145
|
+
}
|
|
146
|
+
getEntityColumn(columnConfig, params) {
|
|
147
|
+
return getEntityColumn(columnConfig, () => this.renderFloatingFilter(getStringAdvancedFilterColumn(columnConfig.codeColumn)), { context: getStringAdvancedFilterColumn(columnConfig.codeColumn), ...params });
|
|
148
|
+
}
|
|
149
|
+
getDateColumn(columnName, params) {
|
|
150
|
+
return getDateColumn(columnName, () => this.renderFloatingFilter(getDateAdvancedFilterColumn(columnName)), { context: getDateAdvancedFilterColumn(columnName), ...params });
|
|
151
|
+
}
|
|
152
|
+
getDateTimeColumn(columnName, params) {
|
|
153
|
+
return getDateTimeColumn(columnName, () => this.renderFloatingFilter(getDateTimeAdvancedFilterColumn(columnName)), { context: getDateTimeAdvancedFilterColumn(columnName), ...params });
|
|
154
|
+
}
|
|
155
|
+
getDbBooleanColumn(columnName, params) {
|
|
156
|
+
return getDbBooleanColumn(columnName, () => this.renderFloatingFilter(getDbBooleanAdvancedFilterColumn(columnName)), { context: getDbBooleanAdvancedFilterColumn(columnName), ...params });
|
|
157
|
+
}
|
|
158
|
+
getStringColumn(columnName, params) {
|
|
159
|
+
return getStringColumn(columnName, () => this.renderFloatingFilter(getStringAdvancedFilterColumn(columnName)), { context: getStringAdvancedFilterColumn(columnName), ...params });
|
|
160
|
+
}
|
|
161
|
+
getNumberColumn(columnName, params) {
|
|
162
|
+
return getNumberColumn(columnName, () => this.renderFloatingFilter(getNumberAdvancedFilterColumn(columnName)), { context: getNumberAdvancedFilterColumn(columnName), ...params });
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
//# sourceMappingURL=advancedFilteredGrid.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"advancedFilteredGrid.js","sourceRoot":"","sources":["../../../../../coreui/components/advancedFilter/advancedFilteredGrid.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from \"react\";\r\nimport {\r\n AdvancedFilterApi,\r\n AdvancedFilterCondition,\r\n AdvancedFilterLogicalOperator,\r\n AdvancedFilterOperator,\r\n AdvancedFilterValue\r\n} from \"../../../api/advancedFilterApi\";\r\nimport Entity from \"../../../api/types/entity\";\r\nimport ExtendedDataGrid from \"d2coreui/components/grid/extendedDataGrid\";\r\nimport {GridApi, IDatasource} from \"ag-grid-community\";\r\nimport cloneDeep from \"lodash/cloneDeep\";\r\nimport AdvancedFilterFloatingColumnComponent from \"./floatingColumnFilter/advancedFilterFloatingColumnComponent\";\r\nimport {AdvancedFilterColumnDefinition} from \"../../../api/types/advancedFilter\";\r\nimport AdvancedFilterUtils from \"./advancedFilterUtils\";\r\nimport {\r\n getCodeColumn,\r\n getDateColumn,\r\n getDateTimeColumn,\r\n getDbBooleanColumn,\r\n getEntityColumn,\r\n getIDColumn,\r\n getNameColumn,\r\n getNumberColumn,\r\n getStringColumn\r\n} from \"../grid/standardColumns\";\r\nimport {\r\n EntityColumn,\r\n getDateAdvancedFilterColumn,\r\n getDateTimeAdvancedFilterColumn,\r\n getDbBooleanAdvancedFilterColumn,\r\n getNumberAdvancedFilterColumn,\r\n getStringAdvancedFilterColumn\r\n} from \"./advancedFilterColumnDefinitions\";\r\nimport {DataGridColDef, OnLoadDataCallback} from \"d2coreui/components/grid/dataGrid\";\r\nimport i18n from \"d2core/i18n/i18n\";\r\nimport AbstractEntityApi, {PageableList} from \"../../../api/abstractEntityApi\";\r\n\r\nconst CONFIGURATION_VERSION = 1;\r\n\r\ninterface AdvancedFilterSavedConditions {\r\n version: number\r\n filterConditions: AdvancedFilterCondition[]\r\n}\r\n\r\nexport interface AdvancedFilteredGridProps<T extends Entity> {\r\n api: AbstractEntityApi<T>\r\n advancedFilterApi: AdvancedFilterApi\r\n filterConditions?: AdvancedFilterCondition[]\r\n}\r\n\r\nexport interface AdvancedFilteredGridState<T extends Entity> {\r\n filterConditions: AdvancedFilterCondition[]\r\n selectedData: T[]\r\n columnDefs: DataGridColDef[]\r\n loading: boolean\r\n datasource: IDatasource\r\n}\r\n\r\nexport default abstract class AdvancedFilteredGrid<T extends Entity, P extends AdvancedFilteredGridProps<T>, S extends AdvancedFilteredGridState<T>> extends React.Component<P, S> {\r\n protected dataGrid: ExtendedDataGrid<T> | null = null;\r\n protected gridApi?: GridApi;\r\n protected firstLoadedPage: PageableList<T> | null = null;\r\n protected manualReload = true;\r\n protected initialColumnDefs?: DataGridColDef[];\r\n\r\n protected constructor(props: Readonly<P>) {\r\n super(props);\r\n\r\n this.renderFloatingFilter = this.renderFloatingFilter.bind(this);\r\n this.onApplyFilter = this.onApplyFilter.bind(this);\r\n this.onAddCondition = this.onAddCondition.bind(this);\r\n this.onSetCondition = this.onSetCondition.bind(this);\r\n this.onClearCondition = this.onClearCondition.bind(this);\r\n this.onLoadData = this.onLoadData.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n // can be set in child component from url parameters\r\n if (this.state.filterConditions.length === 0) {\r\n const advancedFilterListName = this.getAdvancedFilterListName();\r\n\r\n if (advancedFilterListName) {\r\n const item = localStorage.getItem(advancedFilterListName);\r\n\r\n if (item) {\r\n try {\r\n const savedConditions: AdvancedFilterSavedConditions = JSON.parse(item);\r\n if (savedConditions.version === CONFIGURATION_VERSION) {\r\n this.setState({filterConditions: savedConditions.filterConditions});\r\n }\r\n } catch {\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n protected async onLoadData(callback: OnLoadDataCallback) {\r\n this.manualReload = true;\r\n this.firstLoadedPage = await this.getRecords(0, 100);\r\n callback(this.firstLoadedPage.totalNumberOfRows);\r\n this.gridApi?.onFilterChanged();\r\n }\r\n\r\n protected async getRecords(from: number, to: number): Promise<PageableList<T>> {\r\n this.setState({loading: true});\r\n\r\n const filterConditions = [...this.state.filterConditions];\r\n if (this.props.filterConditions) {\r\n if (filterConditions.length > 0) {\r\n filterConditions[filterConditions.length - 1].logical_operator = AdvancedFilterLogicalOperator.AND;\r\n }\r\n filterConditions.push(...this.props.filterConditions);\r\n }\r\n\r\n let orderBy = \"\";\r\n const sortModel = this.dataGrid?.getSortModel()[0];\r\n if (sortModel) {\r\n orderBy = `${sortModel.colId} ${sortModel.sort}`;\r\n }\r\n const pageableList = await this.props.api.getAllData(from, to, orderBy, AdvancedFilterUtils.serializeConditionValues(filterConditions), this.getOnlyValidRecords());\r\n await this.onRecordsLoaded();\r\n\r\n this.setState({loading: false});\r\n return pageableList;\r\n }\r\n\r\n abstract getOnlyValidRecords(): boolean\r\n\r\n protected async onRecordsLoaded() {\r\n }\r\n\r\n private saveConfiguration() {\r\n const advancedFilterListName = this.getAdvancedFilterListName();\r\n\r\n if (advancedFilterListName) {\r\n const conditionsToSave: AdvancedFilterSavedConditions = {\r\n version: CONFIGURATION_VERSION,\r\n filterConditions: this.state.filterConditions,\r\n }\r\n\r\n localStorage.setItem(advancedFilterListName, JSON.stringify(conditionsToSave));\r\n }\r\n }\r\n\r\n abstract getAdvancedFilterListName(): string | undefined;\r\n\r\n protected getAdvancedFilterColumnDefinitions(): AdvancedFilterColumnDefinition[] {\r\n return this.dataGrid?.props.columnDefs\r\n .filter(value => value.renderFilter && value.context)\r\n .map(value => value.context as AdvancedFilterColumnDefinition)\r\n ?? [];\r\n }\r\n\r\n protected renderFloatingFilter(columnDefinition: AdvancedFilterColumnDefinition) {\r\n const filterCondition = this.state.filterConditions.find(value => value.column_name === columnDefinition.columnName);\r\n return (\r\n <AdvancedFilterFloatingColumnComponent\r\n filterCondition={filterCondition}\r\n columnDefinition={columnDefinition}\r\n onAddCondition={(operator, value) => this.onAddCondition(columnDefinition, operator, value)}\r\n onSetCondition={(operator, value) => this.onSetCondition(columnDefinition, operator, value)}\r\n onClearCondition={() => this.onClearCondition(columnDefinition)}\r\n />\r\n );\r\n }\r\n\r\n protected onApplyFilter(filterConditions: AdvancedFilterCondition[]) {\r\n this.setState({filterConditions: filterConditions}, () => {\r\n this.dataGrid?.loadData();\r\n this.saveConfiguration();\r\n });\r\n }\r\n\r\n private onAddCondition(columnDefinition: AdvancedFilterColumnDefinition, operator: AdvancedFilterOperator, value: AdvancedFilterValue) {\r\n const filterConditions = cloneDeep(this.state.filterConditions);\r\n\r\n const filterConditionIndex = filterConditions.findIndex(filterCondition => filterCondition.column_name === columnDefinition.columnName);\r\n\r\n if (filterConditionIndex >= 0) {\r\n if (filterConditions[filterConditionIndex + 1]) {\r\n filterConditions[filterConditionIndex].logical_operator = AdvancedFilterLogicalOperator.AND;\r\n }\r\n filterConditions[filterConditionIndex].operator = operator;\r\n filterConditions[filterConditionIndex].value = value;\r\n } else {\r\n const newId = filterConditions.length === 0 ? 0 : Math.max(...filterConditions.map(value => value.id)) + 1;\r\n const newCondition = AdvancedFilterUtils.createNewCondition(newId, columnDefinition, {operator, value});\r\n\r\n if (filterConditions.length > 0) {\r\n filterConditions[filterConditions.length - 1].logical_operator = AdvancedFilterLogicalOperator.AND;\r\n }\r\n filterConditions.push(newCondition);\r\n }\r\n\r\n this.setState({filterConditions: filterConditions}, () => {\r\n this.dataGrid?.loadData();\r\n this.saveConfiguration();\r\n });\r\n }\r\n\r\n private onSetCondition(columnDefinition: AdvancedFilterColumnDefinition, operator: AdvancedFilterOperator, value: AdvancedFilterValue) {\r\n const newCondition = AdvancedFilterUtils.createNewCondition(0, columnDefinition, {operator, value});\r\n\r\n this.setState({filterConditions: [newCondition]}, () => {\r\n this.dataGrid?.loadData()\r\n this.saveConfiguration();\r\n });\r\n }\r\n\r\n private onClearCondition(columnDefinition: AdvancedFilterColumnDefinition) {\r\n const filterConditions = this.state.filterConditions.filter(value => value.column_name !== columnDefinition.columnName);\r\n\r\n if (filterConditions.length > 0) {\r\n filterConditions[filterConditions.length - 1].logical_operator = null;\r\n }\r\n\r\n this.setState({filterConditions: filterConditions}, () => {\r\n this.dataGrid?.loadData();\r\n this.saveConfiguration();\r\n });\r\n }\r\n\r\n // columns\r\n protected getIdColumn(columnName: string) {\r\n return getIDColumn(() => this.renderFloatingFilter(getNumberAdvancedFilterColumn(columnName)), {colId: columnName, context: getNumberAdvancedFilterColumn(columnName)});\r\n }\r\n\r\n protected getCodeColumn(params?: Partial<DataGridColDef>) {\r\n return getCodeColumn(() => this.renderFloatingFilter(getStringAdvancedFilterColumn(EntityColumn.CODE)), {context: getStringAdvancedFilterColumn(EntityColumn.CODE), ...params});\r\n }\r\n\r\n protected getCodeColumnWithBackgroundColor() {\r\n return this.getEntityColumn({codeColumn: EntityColumn.CODE, nameColumn: EntityColumn.NAME, backgroundColorColumn: EntityColumn.BG_COLOR}, {headerName: i18n(\"Code\")});\r\n }\r\n\r\n protected getNameColumn(params?: Partial<DataGridColDef>) {\r\n return getNameColumn(() => this.renderFloatingFilter(getStringAdvancedFilterColumn(EntityColumn.NAME)), {context: getStringAdvancedFilterColumn(EntityColumn.NAME), ...params});\r\n }\r\n\r\n protected getEntityColumn(columnConfig: {codeColumn: string, nameColumn: string, backgroundColorColumn?: string}, params?: Partial<DataGridColDef>) {\r\n return getEntityColumn(columnConfig, () => this.renderFloatingFilter(getStringAdvancedFilterColumn(columnConfig.codeColumn)), {context: getStringAdvancedFilterColumn(columnConfig.codeColumn), ...params});\r\n }\r\n\r\n protected getDateColumn(columnName: string, params?: Partial<DataGridColDef>) {\r\n return getDateColumn(columnName, () => this.renderFloatingFilter(getDateAdvancedFilterColumn(columnName)), {context: getDateAdvancedFilterColumn(columnName), ...params});\r\n }\r\n\r\n protected getDateTimeColumn(columnName: string, params?: Partial<DataGridColDef>) {\r\n return getDateTimeColumn(columnName, () => this.renderFloatingFilter(getDateTimeAdvancedFilterColumn(columnName)), {context: getDateTimeAdvancedFilterColumn(columnName), ...params});\r\n }\r\n\r\n protected getDbBooleanColumn(columnName: string, params?: Partial<DataGridColDef>) {\r\n return getDbBooleanColumn(columnName, () => this.renderFloatingFilter(getDbBooleanAdvancedFilterColumn(columnName)), {context: getDbBooleanAdvancedFilterColumn(columnName), ...params});\r\n }\r\n\r\n protected getStringColumn(columnName: string, params?: Partial<DataGridColDef>) {\r\n return getStringColumn(columnName, () => this.renderFloatingFilter(getStringAdvancedFilterColumn(columnName)), {context: getStringAdvancedFilterColumn(columnName), ...params});\r\n }\r\n\r\n protected getNumberColumn(columnName: string, params?: Partial<DataGridColDef>) {\r\n return getNumberColumn(columnName, () => this.renderFloatingFilter(getNumberAdvancedFilterColumn(columnName)), {context: getNumberAdvancedFilterColumn(columnName), ...params});\r\n }\r\n\r\n}"]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { AdvancedFilterOperator, AdvancedFilterValue } from "../../../../api/advancedFilterApi";
|
|
3
|
+
import { AdvancedFilterValueType } from "../../../../api/types/advancedFilter";
|
|
4
|
+
interface AdvancedFilterOperatorSelectProps {
|
|
5
|
+
operator: AdvancedFilterOperator;
|
|
6
|
+
value: AdvancedFilterValue;
|
|
7
|
+
valueType: AdvancedFilterValueType;
|
|
8
|
+
onChange(operator: AdvancedFilterOperator, value: AdvancedFilterValue): void;
|
|
9
|
+
}
|
|
10
|
+
export default class AdvancedFilterOperatorSelect extends React.Component<AdvancedFilterOperatorSelectProps> {
|
|
11
|
+
constructor(props: Readonly<AdvancedFilterOperatorSelectProps>);
|
|
12
|
+
render(): React.JSX.Element;
|
|
13
|
+
}
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { AdvancedFilterOperator, getAdvancedFilterOperatorString } from "../../../../api/advancedFilterApi";
|
|
3
|
+
import { Select } from "antd";
|
|
4
|
+
import AdvancedFilterUtils from "../advancedFilterUtils";
|
|
5
|
+
export default class AdvancedFilterOperatorSelect extends React.Component {
|
|
6
|
+
constructor(props) {
|
|
7
|
+
super(props);
|
|
8
|
+
}
|
|
9
|
+
render() {
|
|
10
|
+
const allowedOperators = AdvancedFilterUtils.getOperatorsForValueType(this.props.valueType);
|
|
11
|
+
let editedOperator = this.props.operator;
|
|
12
|
+
let editedValue = this.props.value;
|
|
13
|
+
return (React.createElement(Select, { style: { width: "100%" }, value: editedOperator, onChange: value => {
|
|
14
|
+
if (value === AdvancedFilterOperator.IS_NULL) {
|
|
15
|
+
editedValue = "NULL";
|
|
16
|
+
}
|
|
17
|
+
else if (value === AdvancedFilterOperator.LIKE) {
|
|
18
|
+
if (typeof editedValue === "string" && !editedValue.includes("%")) {
|
|
19
|
+
editedValue += "%";
|
|
20
|
+
}
|
|
21
|
+
else if (editedValue === undefined) {
|
|
22
|
+
editedValue = "%";
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
else if ([editedOperator, value].includes(AdvancedFilterOperator.IN) || editedOperator === AdvancedFilterOperator.IS_NULL) {
|
|
26
|
+
editedValue = undefined;
|
|
27
|
+
}
|
|
28
|
+
editedOperator = value;
|
|
29
|
+
this.props.onChange(editedOperator, editedValue);
|
|
30
|
+
} }, allowedOperators.map(value => {
|
|
31
|
+
return (React.createElement(Select.Option, { value: value, key: value }, getAdvancedFilterOperatorString(value)));
|
|
32
|
+
})));
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=advancedFilterOperatorSelect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"advancedFilterOperatorSelect.js","sourceRoot":"","sources":["../../../../../../coreui/components/advancedFilter/components/advancedFilterOperatorSelect.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EACH,sBAAsB,EAEtB,+BAA+B,EAClC,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAC,MAAM,EAAC,MAAM,MAAM,CAAC;AAE5B,OAAO,mBAAmB,MAAM,wBAAwB,CAAC;AAUzD,MAAM,CAAC,OAAO,OAAO,4BAA6B,SAAQ,KAAK,CAAC,SAA4C;IACxG,YAAY,KAAkD;QAC1D,KAAK,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC;IAED,MAAM;QACF,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC5F,IAAI,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;QACzC,IAAI,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAEnC,OAAO,CACH,oBAAC,MAAM,IACH,KAAK,EAAE,EAAC,KAAK,EAAE,MAAM,EAAC,EACtB,KAAK,EAAE,cAAc,EACrB,QAAQ,EAAE,KAAK,CAAC,EAAE;gBACd,IAAI,KAAK,KAAK,sBAAsB,CAAC,OAAO,EAAE,CAAC;oBAC3C,WAAW,GAAG,MAAM,CAAC;gBACzB,CAAC;qBAAM,IAAI,KAAK,KAAK,sBAAsB,CAAC,IAAI,EAAE,CAAC;oBAC/C,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;wBAChE,WAAW,IAAI,GAAG,CAAC;oBACvB,CAAC;yBAAM,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;wBACnC,WAAW,GAAG,GAAG,CAAC;oBACtB,CAAC;gBACL,CAAC;qBAAM,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAAC,IAAI,cAAc,KAAK,sBAAsB,CAAC,OAAO,EAAE,CAAC;oBAC1H,WAAW,GAAG,SAAS,CAAC;gBAC5B,CAAC;gBACD,cAAc,GAAG,KAAK,CAAC;gBAEvB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;YACrD,CAAC,IAEA,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YAC1B,OAAO,CACH,oBAAC,MAAM,CAAC,MAAM,IAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,IAClC,+BAA+B,CAAC,KAAK,CAAC,CAC3B,CACnB,CAAC;QACN,CAAC,CAAC,CACG,CACZ,CAAC;IACN,CAAC;CAEJ","sourcesContent":["import React from \"react\";\r\nimport {\r\n AdvancedFilterOperator,\r\n AdvancedFilterValue,\r\n getAdvancedFilterOperatorString\r\n} from \"../../../../api/advancedFilterApi\";\r\nimport {Select} from \"antd\";\r\nimport {AdvancedFilterValueType} from \"../../../../api/types/advancedFilter\";\r\nimport AdvancedFilterUtils from \"../advancedFilterUtils\";\r\n\r\ninterface AdvancedFilterOperatorSelectProps {\r\n operator: AdvancedFilterOperator\r\n value: AdvancedFilterValue\r\n valueType: AdvancedFilterValueType\r\n\r\n onChange(operator: AdvancedFilterOperator, value: AdvancedFilterValue): void\r\n}\r\n\r\nexport default class AdvancedFilterOperatorSelect extends React.Component<AdvancedFilterOperatorSelectProps> {\r\n constructor(props: Readonly<AdvancedFilterOperatorSelectProps>) {\r\n super(props);\r\n }\r\n\r\n render() {\r\n const allowedOperators = AdvancedFilterUtils.getOperatorsForValueType(this.props.valueType);\r\n let editedOperator = this.props.operator;\r\n let editedValue = this.props.value;\r\n\r\n return (\r\n <Select\r\n style={{width: \"100%\"}}\r\n value={editedOperator}\r\n onChange={value => {\r\n if (value === AdvancedFilterOperator.IS_NULL) {\r\n editedValue = \"NULL\";\r\n } else if (value === AdvancedFilterOperator.LIKE) {\r\n if (typeof editedValue === \"string\" && !editedValue.includes(\"%\")) {\r\n editedValue += \"%\";\r\n } else if (editedValue === undefined) {\r\n editedValue = \"%\";\r\n }\r\n } else if ([editedOperator, value].includes(AdvancedFilterOperator.IN) || editedOperator === AdvancedFilterOperator.IS_NULL) {\r\n editedValue = undefined;\r\n }\r\n editedOperator = value;\r\n\r\n this.props.onChange(editedOperator, editedValue);\r\n }}\r\n >\r\n {allowedOperators.map(value => {\r\n return (\r\n <Select.Option value={value} key={value}>\r\n {getAdvancedFilterOperatorString(value)}\r\n </Select.Option>\r\n );\r\n })}\r\n </Select>\r\n );\r\n }\r\n\r\n}"]}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { AdvancedFilterOperator, AdvancedFilterValue } from "../../../../api/advancedFilterApi";
|
|
3
|
+
import { AdvancedFilterColumnDefinition } from "../../../../api/types/advancedFilter";
|
|
4
|
+
export declare const ADVANCED_FILTER_DATE_FORMAT = "YYYY-MM-DD HH:mm:ss";
|
|
5
|
+
interface AdvancedFilterValueInputProps {
|
|
6
|
+
operator: AdvancedFilterOperator;
|
|
7
|
+
editedValue: AdvancedFilterValue;
|
|
8
|
+
columnDefinition: AdvancedFilterColumnDefinition;
|
|
9
|
+
onPressEnter?(isCtrl: boolean, isAlt: boolean): void;
|
|
10
|
+
onChange(value: AdvancedFilterValue): void;
|
|
11
|
+
}
|
|
12
|
+
export default class AdvancedFilterValueInput extends React.Component<AdvancedFilterValueInputProps> {
|
|
13
|
+
private inputComponent;
|
|
14
|
+
constructor(props: Readonly<AdvancedFilterValueInputProps>);
|
|
15
|
+
focusInput(): void;
|
|
16
|
+
private renderInputComponent;
|
|
17
|
+
private renderInputNumberComponent;
|
|
18
|
+
private renderSelectListComponent;
|
|
19
|
+
private renderDateComponent;
|
|
20
|
+
private renderValueComponent;
|
|
21
|
+
render(): React.JSX.Element | "Unsupported operator";
|
|
22
|
+
}
|
|
23
|
+
export {};
|