@pepperi-addons/ngx-lib 0.2.60 → 0.2.61-query-builder.1
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/README.md +39 -39
- package/address/address.component.theme.scss +5 -8
- package/address/pepperi-addons-ngx-lib-address.metadata.json +1 -1
- package/attachment/attachment.component.d.ts +1 -0
- package/attachment/attachment.component.theme.scss +1 -3
- package/attachment/pepperi-addons-ngx-lib-attachment.metadata.json +1 -1
- package/bread-crumbs/bread-crumbs.component.theme.scss +9 -9
- package/bread-crumbs/pepperi-addons-ngx-lib-bread-crumbs.metadata.json +1 -1
- package/bundles/pepperi-addons-ngx-lib-address.umd.js +2 -2
- package/bundles/pepperi-addons-ngx-lib-address.umd.js.map +1 -1
- package/bundles/pepperi-addons-ngx-lib-attachment.umd.js +7 -2
- package/bundles/pepperi-addons-ngx-lib-attachment.umd.js.map +1 -1
- package/bundles/pepperi-addons-ngx-lib-bread-crumbs.umd.js +2 -2
- package/bundles/pepperi-addons-ngx-lib-bread-crumbs.umd.js.map +1 -1
- package/bundles/pepperi-addons-ngx-lib-button.umd.js +2 -2
- package/bundles/pepperi-addons-ngx-lib-button.umd.js.map +1 -1
- package/bundles/pepperi-addons-ngx-lib-carousel.umd.js.map +1 -1
- package/bundles/pepperi-addons-ngx-lib-checkbox.umd.js +5 -2
- package/bundles/pepperi-addons-ngx-lib-checkbox.umd.js.map +1 -1
- package/bundles/pepperi-addons-ngx-lib-color.umd.js +9 -4
- package/bundles/pepperi-addons-ngx-lib-color.umd.js.map +1 -1
- package/bundles/pepperi-addons-ngx-lib-date.umd.js +6 -4
- package/bundles/pepperi-addons-ngx-lib-date.umd.js.map +1 -1
- package/bundles/pepperi-addons-ngx-lib-dialog.umd.js +3 -3
- package/bundles/pepperi-addons-ngx-lib-dialog.umd.js.map +1 -1
- package/bundles/pepperi-addons-ngx-lib-field-title.umd.js +2 -2
- package/bundles/pepperi-addons-ngx-lib-field-title.umd.js.map +1 -1
- package/bundles/pepperi-addons-ngx-lib-files-uploader.umd.js +2 -2
- package/bundles/pepperi-addons-ngx-lib-files-uploader.umd.js.map +1 -1
- package/bundles/pepperi-addons-ngx-lib-form.umd.js +27 -24
- package/bundles/pepperi-addons-ngx-lib-form.umd.js.map +1 -1
- package/bundles/pepperi-addons-ngx-lib-group-buttons.umd.js +2 -2
- package/bundles/pepperi-addons-ngx-lib-group-buttons.umd.js.map +1 -1
- package/bundles/pepperi-addons-ngx-lib-icon.umd.js.map +1 -1
- package/bundles/pepperi-addons-ngx-lib-image.umd.js +7 -2
- package/bundles/pepperi-addons-ngx-lib-image.umd.js.map +1 -1
- package/bundles/pepperi-addons-ngx-lib-images-filmstrip.umd.js +7 -2
- package/bundles/pepperi-addons-ngx-lib-images-filmstrip.umd.js.map +1 -1
- package/bundles/pepperi-addons-ngx-lib-list.umd.js +9 -9
- package/bundles/pepperi-addons-ngx-lib-list.umd.js.map +1 -1
- package/bundles/pepperi-addons-ngx-lib-menu.umd.js +2 -2
- package/bundles/pepperi-addons-ngx-lib-menu.umd.js.map +1 -1
- package/bundles/pepperi-addons-ngx-lib-page-layout.umd.js +1 -1
- package/bundles/pepperi-addons-ngx-lib-page-layout.umd.js.map +1 -1
- package/bundles/pepperi-addons-ngx-lib-quantity-selector.umd.js +7 -2
- package/bundles/pepperi-addons-ngx-lib-quantity-selector.umd.js.map +1 -1
- package/bundles/pepperi-addons-ngx-lib-query-builder.umd.js +1101 -0
- package/bundles/pepperi-addons-ngx-lib-query-builder.umd.js.map +1 -0
- package/bundles/pepperi-addons-ngx-lib-rich-html-textarea.umd.js +7 -2
- package/bundles/pepperi-addons-ngx-lib-rich-html-textarea.umd.js.map +1 -1
- package/bundles/pepperi-addons-ngx-lib-search.umd.js +1 -1
- package/bundles/pepperi-addons-ngx-lib-search.umd.js.map +1 -1
- package/bundles/pepperi-addons-ngx-lib-select.umd.js +7 -2
- package/bundles/pepperi-addons-ngx-lib-select.umd.js.map +1 -1
- package/bundles/pepperi-addons-ngx-lib-separator.umd.js +10 -2
- package/bundles/pepperi-addons-ngx-lib-separator.umd.js.map +1 -1
- package/bundles/pepperi-addons-ngx-lib-side-bar.umd.js +2 -2
- package/bundles/pepperi-addons-ngx-lib-side-bar.umd.js.map +1 -1
- package/bundles/pepperi-addons-ngx-lib-signature.umd.js +7 -2
- package/bundles/pepperi-addons-ngx-lib-signature.umd.js.map +1 -1
- package/bundles/pepperi-addons-ngx-lib-size-detector.umd.js +1 -1
- package/bundles/pepperi-addons-ngx-lib-size-detector.umd.js.map +1 -1
- package/bundles/pepperi-addons-ngx-lib-slider.umd.js +2 -2
- package/bundles/pepperi-addons-ngx-lib-slider.umd.js.map +1 -1
- package/bundles/pepperi-addons-ngx-lib-smart-filters.umd.js +308 -41
- package/bundles/pepperi-addons-ngx-lib-smart-filters.umd.js.map +1 -1
- package/bundles/pepperi-addons-ngx-lib-textarea.umd.js +7 -2
- package/bundles/pepperi-addons-ngx-lib-textarea.umd.js.map +1 -1
- package/bundles/pepperi-addons-ngx-lib-textbox-icon.umd.js +1 -1
- package/bundles/pepperi-addons-ngx-lib-textbox-icon.umd.js.map +1 -1
- package/bundles/pepperi-addons-ngx-lib-textbox.umd.js +6 -4
- package/bundles/pepperi-addons-ngx-lib-textbox.umd.js.map +1 -1
- package/bundles/pepperi-addons-ngx-lib-top-bar.umd.js +2 -2
- package/bundles/pepperi-addons-ngx-lib-top-bar.umd.js.map +1 -1
- package/bundles/pepperi-addons-ngx-lib.umd.js +38 -36
- package/bundles/pepperi-addons-ngx-lib.umd.js.map +1 -1
- package/button/button.component.theme.scss +0 -2
- package/button/pepperi-addons-ngx-lib-button.metadata.json +1 -1
- package/checkbox/checkbox.component.theme.scss +0 -2
- package/checkbox/pepperi-addons-ngx-lib-checkbox.metadata.json +1 -1
- package/color/color-picker.component.theme.scss +169 -175
- package/color/color.component.d.ts +1 -0
- package/color/color.component.theme.scss +0 -7
- package/color/pepperi-addons-ngx-lib-color.metadata.json +1 -1
- package/core/common/services/addon.service.d.ts +1 -2
- package/core/common/services/file.service.d.ts +4 -4
- package/core/customization/customization.service.d.ts +1 -0
- package/date/date.component.theme.scss +0 -169
- package/date/pepperi-addons-ngx-lib-date.metadata.json +1 -1
- package/dialog/dialog.component.theme.scss +5 -5
- package/dialog/pepperi-addons-ngx-lib-dialog.metadata.json +1 -1
- package/esm2015/address/address.component.js +3 -3
- package/esm2015/address/address.module.js +1 -1
- package/esm2015/address/public-api.js +1 -1
- package/esm2015/attachment/attachment.component.js +8 -3
- package/esm2015/attachment/attachment.module.js +1 -1
- package/esm2015/attachment/public-api.js +1 -1
- package/esm2015/bread-crumbs/bread-crumbs.component.js +3 -3
- package/esm2015/bread-crumbs/bread-crumbs.model.js +1 -1
- package/esm2015/bread-crumbs/bread-crumbs.module.js +1 -1
- package/esm2015/bread-crumbs/public-api.js +1 -1
- package/esm2015/button/button.component.js +3 -3
- package/esm2015/button/button.model.js +1 -1
- package/esm2015/button/button.module.js +1 -1
- package/esm2015/button/public-api.js +1 -1
- package/esm2015/carousel/carousel-item.directive.js +1 -1
- package/esm2015/carousel/carousel.component.js +15 -15
- package/esm2015/carousel/carousel.module.js +1 -1
- package/esm2015/carousel/public-api.js +1 -1
- package/esm2015/checkbox/checkbox.component.js +6 -3
- package/esm2015/checkbox/checkbox.module.js +1 -1
- package/esm2015/checkbox/public-api.js +1 -1
- package/esm2015/color/color-picker.component.js +29 -29
- package/esm2015/color/color.component.js +8 -3
- package/esm2015/color/color.model.js +1 -1
- package/esm2015/color/color.module.js +1 -1
- package/esm2015/color/public-api.js +1 -1
- package/esm2015/core/clipboard/clipboard.directive.js +1 -1
- package/esm2015/core/clipboard/clipboard.service.js +1 -1
- package/esm2015/core/clipboard/index.js +1 -1
- package/esm2015/core/clipboard/public-api.js +1 -1
- package/esm2015/core/common/directives/auto-width.directive.js +1 -1
- package/esm2015/core/common/directives/button-blur.directive.js +1 -1
- package/esm2015/core/common/directives/button-loader.directive.js +1 -1
- package/esm2015/core/common/directives/data-qa.directive.js +1 -1
- package/esm2015/core/common/directives/index.js +1 -1
- package/esm2015/core/common/directives/menu-blur.directive.js +1 -1
- package/esm2015/core/common/directives/prevent-multi-click.directive.js +1 -1
- package/esm2015/core/common/directives/public-api.js +1 -1
- package/esm2015/core/common/index.js +1 -1
- package/esm2015/core/common/model/index.js +1 -1
- package/esm2015/core/common/model/papi.model.js +1 -1
- package/esm2015/core/common/model/public-api.js +1 -1
- package/esm2015/core/common/model/utilities.model.js +1 -1
- package/esm2015/core/common/model/wapi.model.js +1 -1
- package/esm2015/core/common/pipes/common-pipes.js +1 -1
- package/esm2015/core/common/pipes/index.js +1 -1
- package/esm2015/core/common/pipes/public-api.js +1 -1
- package/esm2015/core/common/public-api.js +1 -1
- package/esm2015/core/common/services/addon.service.js +4 -19
- package/esm2015/core/common/services/color.service.js +1 -1
- package/esm2015/core/common/services/cookie.service.js +1 -1
- package/esm2015/core/common/services/data-convertor.service.js +1 -1
- package/esm2015/core/common/services/file.service.js +9 -9
- package/esm2015/core/common/services/index.js +1 -1
- package/esm2015/core/common/services/jwt-helper.service.js +1 -1
- package/esm2015/core/common/services/public-api.js +1 -1
- package/esm2015/core/common/services/session.service.js +1 -1
- package/esm2015/core/common/services/utilities.service.js +25 -4
- package/esm2015/core/common/services/validator.service.js +1 -1
- package/esm2015/core/common/services/window-scrolling.service.js +5 -5
- package/esm2015/core/customization/customization.model.js +1 -1
- package/esm2015/core/customization/customization.service.js +4 -2
- package/esm2015/core/customization/index.js +1 -1
- package/esm2015/core/customization/public-api.js +1 -1
- package/esm2015/core/http/index.js +1 -1
- package/esm2015/core/http/interceptors/error.interceptor.js +1 -1
- package/esm2015/core/http/interceptors/index.js +1 -1
- package/esm2015/core/http/interceptors/loader.interceptor.js +1 -1
- package/esm2015/core/http/interceptors/profiler.interceptor.js +1 -1
- package/esm2015/core/http/public-api.js +1 -1
- package/esm2015/core/http/services/http.service.js +1 -1
- package/esm2015/core/http/services/loader.service.js +1 -1
- package/esm2015/core/index.js +1 -1
- package/esm2015/core/layout/index.js +1 -1
- package/esm2015/core/layout/layout.service.js +1 -1
- package/esm2015/core/layout/public-api.js +1 -1
- package/esm2015/core/layout/rtl.directive.js +1 -1
- package/esm2015/core/portal/attach.directive.js +1 -1
- package/esm2015/core/portal/index.js +1 -1
- package/esm2015/core/portal/portal.service.js +1 -1
- package/esm2015/core/portal/public-api.js +1 -1
- package/esm2015/core/portal/target.directive.js +1 -1
- package/esm2015/core/public-api.js +1 -1
- package/esm2015/core/scroll-to/index.js +1 -1
- package/esm2015/core/scroll-to/public-api.js +1 -1
- package/esm2015/core/scroll-to/scroll-to.service.js +1 -1
- package/esm2015/date/date.component.js +7 -5
- package/esm2015/date/date.module.js +1 -1
- package/esm2015/date/public-api.js +1 -1
- package/esm2015/dialog/default-dialog.component.js +2 -2
- package/esm2015/dialog/dialog.component.js +3 -3
- package/esm2015/dialog/dialog.model.js +1 -1
- package/esm2015/dialog/dialog.module.js +1 -1
- package/esm2015/dialog/dialog.service.js +1 -1
- package/esm2015/dialog/public-api.js +1 -1
- package/esm2015/field-title/field-title.component.js +3 -3
- package/esm2015/field-title/field-title.module.js +1 -1
- package/esm2015/field-title/public-api.js +1 -1
- package/esm2015/files-uploader/files-uploader.component.js +3 -3
- package/esm2015/files-uploader/files-uploader.module.js +1 -1
- package/esm2015/files-uploader/public-api.js +1 -1
- package/esm2015/form/field-generator.component.js +2 -2
- package/esm2015/form/form.component.js +2 -2
- package/esm2015/form/form.module.js +1 -1
- package/esm2015/form/indicators.component.js +3 -3
- package/esm2015/form/internal-button.component.js +21 -18
- package/esm2015/form/internal-carusel.component.js +2 -2
- package/esm2015/form/internal-carusel.service.js +1 -1
- package/esm2015/form/internal-list.component.js +2 -2
- package/esm2015/form/internal-menu.component.js +2 -2
- package/esm2015/form/internal-page.component.js +2 -2
- package/esm2015/form/internal-page.service.js +1 -1
- package/esm2015/form/public-api.js +1 -1
- package/esm2015/group-buttons/group-buttons.component.js +3 -3
- package/esm2015/group-buttons/group-buttons.module.js +1 -1
- package/esm2015/group-buttons/public-api.js +1 -1
- package/esm2015/icon/icon-generated-all.model.js +1 -1
- package/esm2015/icon/icon-generated.model.js +1 -1
- package/esm2015/icon/icon-registry.service.js +2 -2
- package/esm2015/icon/icon.component.js +1 -1
- package/esm2015/icon/icon.module.js +1 -1
- package/esm2015/icon/public-api.js +1 -1
- package/esm2015/image/image.component.js +8 -3
- package/esm2015/image/image.module.js +1 -1
- package/esm2015/image/public-api.js +1 -1
- package/esm2015/images-filmstrip/images-filmstrip.component.js +8 -3
- package/esm2015/images-filmstrip/images-filmstrip.module.js +1 -1
- package/esm2015/images-filmstrip/public-api.js +1 -1
- package/esm2015/list/list-actions.component.js +2 -2
- package/esm2015/list/list-carousel.component.js +2 -2
- package/esm2015/list/list-chooser.component.js +2 -2
- package/esm2015/list/list-pager.component.js +2 -2
- package/esm2015/list/list-sorting.component.js +2 -2
- package/esm2015/list/list-total.component.js +3 -3
- package/esm2015/list/list-views.component.js +2 -2
- package/esm2015/list/list.component.js +2 -2
- package/esm2015/list/list.model.js +1 -1
- package/esm2015/list/list.module.js +1 -1
- package/esm2015/list/public-api.js +1 -1
- package/esm2015/menu/menu-item.component.js +2 -2
- package/esm2015/menu/menu.component.js +2 -2
- package/esm2015/menu/menu.model.js +1 -1
- package/esm2015/menu/menu.module.js +1 -1
- package/esm2015/menu/public-api.js +1 -1
- package/esm2015/ngx-lib.module.js +1 -1
- package/esm2015/page-layout/page-layout.component.js +2 -2
- package/esm2015/page-layout/page-layout.module.js +1 -1
- package/esm2015/page-layout/public-api.js +1 -1
- package/esm2015/public-api.js +1 -1
- package/esm2015/quantity-selector/public-api.js +1 -1
- package/esm2015/quantity-selector/quantity-selector-validation.directive.js +1 -1
- package/esm2015/quantity-selector/quantity-selector.component.js +8 -3
- package/esm2015/quantity-selector/quantity-selector.module.js +1 -1
- package/esm2015/quantity-selector/quantity-selector.pipes.js +1 -1
- package/esm2015/query-builder/common/model/filter.js +2 -0
- package/esm2015/query-builder/common/model/legacy.js +2 -0
- package/esm2015/query-builder/common/model/operator-unit.js +42 -0
- package/esm2015/query-builder/common/model/operator.js +207 -0
- package/esm2015/query-builder/common/model/structure.js +2 -0
- package/esm2015/query-builder/common/model/type-map.js +27 -0
- package/esm2015/query-builder/common/model/type.js +6 -0
- package/esm2015/query-builder/common/services/output-query.service.js +111 -0
- package/esm2015/query-builder/common/services/type-convertor.service.js +40 -0
- package/esm2015/query-builder/pepperi-addons-ngx-lib-query-builder.js +9 -0
- package/esm2015/query-builder/public-api.js +8 -0
- package/esm2015/query-builder/query-builder-item/query-builder-item.component.js +115 -0
- package/esm2015/query-builder/query-builder-section/query-builder-section.component.js +64 -0
- package/esm2015/query-builder/query-builder.component.js +104 -0
- package/esm2015/query-builder/query-builder.module.js +35 -0
- package/esm2015/query-builder/query-builder.service.js +280 -0
- package/esm2015/rich-html-textarea/public-api.js +1 -1
- package/esm2015/rich-html-textarea/rich-html-textarea.component.js +8 -3
- package/esm2015/rich-html-textarea/rich-html-textarea.module.js +1 -1
- package/esm2015/search/public-api.js +1 -1
- package/esm2015/search/search.component.js +2 -2
- package/esm2015/search/search.model.js +1 -1
- package/esm2015/search/search.module.js +1 -1
- package/esm2015/select/public-api.js +1 -1
- package/esm2015/select/select.component.js +8 -3
- package/esm2015/select/select.module.js +1 -1
- package/esm2015/separator/public-api.js +1 -1
- package/esm2015/separator/separator.component.js +11 -3
- package/esm2015/separator/separator.module.js +1 -1
- package/esm2015/side-bar/public-api.js +1 -1
- package/esm2015/side-bar/side-bar.component.js +3 -3
- package/esm2015/side-bar/side-bar.model.js +1 -1
- package/esm2015/side-bar/side-bar.module.js +1 -1
- package/esm2015/signature/public-api.js +1 -1
- package/esm2015/signature/signature.component.js +8 -3
- package/esm2015/signature/signature.module.js +1 -1
- package/esm2015/size-detector/public-api.js +1 -1
- package/esm2015/size-detector/size-detector.component.js +2 -2
- package/esm2015/size-detector/size-detector.module.js +1 -1
- package/esm2015/slider/public-api.js +1 -1
- package/esm2015/slider/slider.component.js +3 -3
- package/esm2015/slider/slider.module.js +1 -1
- package/esm2015/smart-filters/boolean-filter/boolean-filter.component.js +23 -3
- package/esm2015/smart-filters/common/filter-actions.component.js +2 -2
- package/esm2015/smart-filters/common/model/base-filter-component.js +35 -8
- package/esm2015/smart-filters/common/model/creator.js +8 -2
- package/esm2015/smart-filters/common/model/field.js +12 -1
- package/esm2015/smart-filters/common/model/filter.js +1 -1
- package/esm2015/smart-filters/common/model/operator.js +8 -8
- package/esm2015/smart-filters/common/model/type.js +1 -1
- package/esm2015/smart-filters/date-filter/date-filter.component.js +45 -2
- package/esm2015/smart-filters/multi-select-filter/multi-select-filter.component.js +53 -14
- package/esm2015/smart-filters/number-filter/number-filter.component.js +27 -2
- package/esm2015/smart-filters/public-api.js +2 -1
- package/esm2015/smart-filters/smart-filters.component.js +3 -3
- package/esm2015/smart-filters/smart-filters.module.js +16 -3
- package/esm2015/smart-filters/text-filter/text-filter.component.js +79 -0
- package/esm2015/textarea/public-api.js +1 -1
- package/esm2015/textarea/textarea.component.js +8 -3
- package/esm2015/textarea/textarea.module.js +1 -1
- package/esm2015/textbox/public-api.js +1 -1
- package/esm2015/textbox/textbox-validation.directive.js +1 -1
- package/esm2015/textbox/textbox.component.js +7 -5
- package/esm2015/textbox/textbox.module.js +1 -1
- package/esm2015/textbox-icon/public-api.js +1 -1
- package/esm2015/textbox-icon/textbox-icon.component.js +2 -2
- package/esm2015/textbox-icon/textbox-icon.module.js +1 -1
- package/esm2015/top-bar/public-api.js +1 -1
- package/esm2015/top-bar/top-bar.component.js +3 -3
- package/esm2015/top-bar/top-bar.model.js +1 -1
- package/esm2015/top-bar/top-bar.module.js +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-address.js +2 -2
- package/fesm2015/pepperi-addons-ngx-lib-address.js.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-attachment.js +7 -2
- package/fesm2015/pepperi-addons-ngx-lib-attachment.js.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-bread-crumbs.js +2 -2
- package/fesm2015/pepperi-addons-ngx-lib-bread-crumbs.js.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-button.js +2 -2
- package/fesm2015/pepperi-addons-ngx-lib-button.js.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-carousel.js +14 -14
- package/fesm2015/pepperi-addons-ngx-lib-carousel.js.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-checkbox.js +5 -2
- package/fesm2015/pepperi-addons-ngx-lib-checkbox.js.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-color.js +35 -30
- package/fesm2015/pepperi-addons-ngx-lib-color.js.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-date.js +6 -4
- package/fesm2015/pepperi-addons-ngx-lib-date.js.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-dialog.js +3 -3
- package/fesm2015/pepperi-addons-ngx-lib-dialog.js.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-field-title.js +2 -2
- package/fesm2015/pepperi-addons-ngx-lib-field-title.js.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-files-uploader.js +2 -2
- package/fesm2015/pepperi-addons-ngx-lib-files-uploader.js.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-form.js +27 -24
- package/fesm2015/pepperi-addons-ngx-lib-form.js.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-group-buttons.js +2 -2
- package/fesm2015/pepperi-addons-ngx-lib-group-buttons.js.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-icon.js +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-icon.js.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-image.js +7 -2
- package/fesm2015/pepperi-addons-ngx-lib-image.js.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-images-filmstrip.js +7 -2
- package/fesm2015/pepperi-addons-ngx-lib-images-filmstrip.js.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-list.js +9 -9
- package/fesm2015/pepperi-addons-ngx-lib-list.js.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-menu.js +2 -2
- package/fesm2015/pepperi-addons-ngx-lib-menu.js.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-page-layout.js +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-page-layout.js.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-quantity-selector.js +7 -2
- package/fesm2015/pepperi-addons-ngx-lib-quantity-selector.js.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-query-builder.js +1011 -0
- package/fesm2015/pepperi-addons-ngx-lib-query-builder.js.map +1 -0
- package/fesm2015/pepperi-addons-ngx-lib-rich-html-textarea.js +7 -2
- package/fesm2015/pepperi-addons-ngx-lib-rich-html-textarea.js.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-search.js +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-search.js.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-select.js +7 -2
- package/fesm2015/pepperi-addons-ngx-lib-select.js.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-separator.js +10 -2
- package/fesm2015/pepperi-addons-ngx-lib-separator.js.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-side-bar.js +2 -2
- package/fesm2015/pepperi-addons-ngx-lib-side-bar.js.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-signature.js +7 -2
- package/fesm2015/pepperi-addons-ngx-lib-signature.js.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-size-detector.js +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-size-detector.js.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-slider.js +2 -2
- package/fesm2015/pepperi-addons-ngx-lib-slider.js.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-smart-filters.js +295 -38
- package/fesm2015/pepperi-addons-ngx-lib-smart-filters.js.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-textarea.js +7 -2
- package/fesm2015/pepperi-addons-ngx-lib-textarea.js.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-textbox-icon.js +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-textbox-icon.js.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-textbox.js +6 -4
- package/fesm2015/pepperi-addons-ngx-lib-textbox.js.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-top-bar.js +2 -2
- package/fesm2015/pepperi-addons-ngx-lib-top-bar.js.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib.js +42 -34
- package/fesm2015/pepperi-addons-ngx-lib.js.map +1 -1
- package/field-title/field-title.component.theme.scss +0 -2
- package/field-title/pepperi-addons-ngx-lib-field-title.metadata.json +1 -1
- package/files-uploader/files-uploader.component.theme.scss +0 -2
- package/files-uploader/pepperi-addons-ngx-lib-files-uploader.metadata.json +1 -1
- package/form/indicators.component.theme.scss +7 -7
- package/form/internal-button.component.d.ts +0 -1
- package/form/pepperi-addons-ngx-lib-form.metadata.json +1 -1
- package/group-buttons/group-buttons.component.theme.scss +15 -15
- package/group-buttons/pepperi-addons-ngx-lib-group-buttons.metadata.json +1 -1
- package/image/image.component.d.ts +1 -0
- package/image/image.component.theme.scss +33 -35
- package/image/pepperi-addons-ngx-lib-image.metadata.json +1 -1
- package/images-filmstrip/images-filmstrip.component.d.ts +1 -0
- package/images-filmstrip/images-filmstrip.component.theme.scss +33 -32
- package/images-filmstrip/pepperi-addons-ngx-lib-images-filmstrip.metadata.json +1 -1
- package/list/list-total.component.theme.scss +10 -10
- package/list/pepperi-addons-ngx-lib-list.metadata.json +1 -1
- package/menu/pepperi-addons-ngx-lib-menu.metadata.json +1 -1
- package/package.json +5 -5
- package/page-layout/page-layout.component.theme.scss +7 -7
- package/page-layout/pepperi-addons-ngx-lib-page-layout.metadata.json +1 -1
- package/pepperi-addons-ngx-lib.metadata.json +1 -1
- package/quantity-selector/pepperi-addons-ngx-lib-quantity-selector.metadata.json +1 -1
- package/quantity-selector/quantity-selector.component.d.ts +1 -0
- package/quantity-selector/quantity-selector.component.theme.scss +77 -77
- package/query-builder/common/model/filter.d.ts +6 -0
- package/query-builder/common/model/legacy.d.ts +26 -0
- package/query-builder/common/model/operator-unit.d.ts +13 -0
- package/query-builder/common/model/operator.d.ts +21 -0
- package/query-builder/common/model/structure.d.ts +4 -0
- package/query-builder/common/model/type-map.d.ts +12 -0
- package/query-builder/common/model/type.d.ts +4 -0
- package/query-builder/common/services/output-query.service.d.ts +44 -0
- package/query-builder/common/services/type-convertor.service.d.ts +10 -0
- package/query-builder/package.json +14 -0
- package/query-builder/pepperi-addons-ngx-lib-query-builder.d.ts +8 -0
- package/query-builder/pepperi-addons-ngx-lib-query-builder.metadata.json +1 -0
- package/query-builder/public-api.d.ts +4 -0
- package/query-builder/query-builder-item/query-builder-item.component.d.ts +37 -0
- package/query-builder/query-builder-section/query-builder-section.component.d.ts +27 -0
- package/query-builder/query-builder-section/query-builder-section.component.theme.scss +7 -0
- package/query-builder/query-builder.component.d.ts +35 -0
- package/query-builder/query-builder.module.d.ts +2 -0
- package/query-builder/query-builder.service.d.ts +94 -0
- package/rich-html-textarea/pepperi-addons-ngx-lib-rich-html-textarea.metadata.json +1 -1
- package/rich-html-textarea/rich-html-textarea.component.d.ts +1 -0
- package/rich-html-textarea/rich-html-textarea.component.theme.scss +241 -237
- package/search/pepperi-addons-ngx-lib-search.metadata.json +1 -1
- package/select/pepperi-addons-ngx-lib-select.metadata.json +1 -1
- package/select/select.component.d.ts +1 -0
- package/select/select.component.theme.scss +0 -2
- package/separator/pepperi-addons-ngx-lib-separator.metadata.json +1 -1
- package/separator/separator.component.theme.scss +2 -2
- package/side-bar/pepperi-addons-ngx-lib-side-bar.metadata.json +1 -1
- package/side-bar/side-bar.component.theme.scss +26 -25
- package/signature/pepperi-addons-ngx-lib-signature.metadata.json +1 -1
- package/signature/signature.component.d.ts +1 -0
- package/signature/signature.component.theme.scss +8 -28
- package/size-detector/pepperi-addons-ngx-lib-size-detector.metadata.json +1 -1
- package/slider/pepperi-addons-ngx-lib-slider.metadata.json +1 -1
- package/slider/slider.component.theme.scss +66 -65
- package/smart-filters/boolean-filter/boolean-filter.component.d.ts +6 -1
- package/smart-filters/common/model/base-filter-component.d.ts +7 -0
- package/smart-filters/common/model/field.d.ts +4 -0
- package/smart-filters/common/model/operator.d.ts +1 -0
- package/smart-filters/common/model/type.d.ts +2 -2
- package/smart-filters/date-filter/date-filter.component.d.ts +8 -1
- package/smart-filters/multi-select-filter/multi-select-filter.component.d.ts +6 -0
- package/smart-filters/number-filter/number-filter.component.d.ts +5 -0
- package/smart-filters/pepperi-addons-ngx-lib-smart-filters.metadata.json +1 -1
- package/smart-filters/public-api.d.ts +1 -0
- package/smart-filters/smart-filters.component.theme.scss +9 -10
- package/smart-filters/text-filter/text-filter.component.d.ts +17 -0
- package/src/assets/i18n/de.ngx-lib.json +77 -77
- package/src/assets/i18n/en.ngx-lib.json +139 -138
- package/src/assets/i18n/es.ngx-lib.json +77 -77
- package/src/assets/i18n/fr.ngx-lib.json +78 -78
- package/src/assets/i18n/he.ngx-lib.json +78 -78
- package/src/assets/i18n/hu.ngx-lib.json +78 -78
- package/src/assets/i18n/it.ngx-lib.json +78 -78
- package/src/assets/i18n/ja.ngx-lib.json +78 -78
- package/src/assets/i18n/nl.ngx-lib.json +78 -78
- package/src/assets/i18n/pl.ngx-lib.json +78 -78
- package/src/assets/i18n/pt.ngx-lib.json +78 -78
- package/src/assets/i18n/ru.ngx-lib.json +78 -78
- package/src/assets/i18n/zh.ngx-lib.json +76 -76
- package/src/assets/images/no-image.svg +41 -41
- package/src/core/style/abstracts/breakpoints.scss +37 -35
- package/src/core/style/abstracts/functions.scss +439 -422
- package/src/core/style/abstracts/mixins.scss +800 -797
- package/src/core/style/abstracts/variables.scss +545 -545
- package/src/core/style/base/base.scss +874 -873
- package/src/core/style/base/grids.scss +4 -4
- package/src/core/style/base/helpers.scss +70 -70
- package/src/core/style/base/typography.scss +259 -255
- package/src/core/style/components/button.scss +346 -349
- package/src/core/style/components/checkbox.scss +476 -473
- package/src/core/style/components/datetime.scss +182 -22
- package/src/core/style/components/file.scss +223 -219
- package/src/core/style/components/general.scss +1002 -1086
- package/src/core/style/components/input.scss +98 -94
- package/src/core/style/components/quantity-selector.scss +17 -14
- package/src/core/style/components/radio-button.scss +171 -168
- package/src/core/style/components/select.scss +187 -185
- package/src/core/style/components/signature.scss +14 -12
- package/src/core/style/components/splitter.scss +67 -64
- package/src/core/style/components/textarea.scss +198 -195
- package/src/core/style/themes/black-theme.scss +7 -7
- package/src/core/style/themes/default-theme.scss +144 -144
- package/src/core/style/themes/light-theme.scss +7 -7
- package/src/core/style/themes/nature-theme.scss +7 -7
- package/src/core/style/vendors/normalize.scss +497 -497
- package/textarea/pepperi-addons-ngx-lib-textarea.metadata.json +1 -1
- package/textarea/textarea.component.d.ts +1 -0
- package/textarea/textarea.component.theme.scss +2 -2
- package/textbox/pepperi-addons-ngx-lib-textbox.metadata.json +1 -1
- package/textbox/textbox.component.theme.scss +3 -3
- package/textbox-icon/pepperi-addons-ngx-lib-textbox-icon.metadata.json +1 -1
- package/theming.scss +125 -220
- package/top-bar/pepperi-addons-ngx-lib-top-bar.metadata.json +1 -1
- package/top-bar/top-bar.component.theme.scss +9 -9
- package/form/form.component.theme.scss +0 -2
- package/form/internal-button.component.theme.scss +0 -2
- package/form/internal-menu.component.theme.scss +0 -3
- package/list/list-actions.component.theme.scss +0 -3
- package/list/list-carousel.component.theme.scss +0 -9
- package/list/list-chooser.component.theme.scss +0 -3
- package/list/list-pager.component.theme.scss +0 -3
- package/list/list-sorting.component.theme.scss +0 -3
- package/list/list-views.component.theme.scss +0 -3
- package/list/list.component.theme.scss +0 -5
- package/list/list_old.component.theme.scss +0 -5
- package/menu/menu.component.theme.scss +0 -2
- package/search/search.component.theme.scss +0 -3
- package/textbox-icon/textbox-icon.component.theme.scss +0 -3
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
(function (global, factory) {
|
|
2
|
-
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('@angular/forms'), require('@angular/flex-layout'), require('@angular/material/core'), require('@angular/material/checkbox'), require('@angular/material/chips'), require('@angular/material/expansion'), require('@angular/material/icon'), require('@angular/material/form-field'), require('@angular/material/input'), require('@angular/material/radio'), require('ngx-virtual-scroller'), require('@pepperi-addons/ngx-lib'), require('@pepperi-addons/ngx-lib/checkbox'), require('@pepperi-addons/ngx-lib/date'), require('@pepperi-addons/ngx-lib/select'), require('@pepperi-addons/ngx-lib/textbox'), require('@pepperi-addons/ngx-lib/search'), require('@pepperi-addons/ngx-lib/icon'), require('
|
|
3
|
-
typeof define === 'function' && define.amd ? define('@pepperi-addons/ngx-lib/smart-filters', ['exports', '@angular/core', '@angular/common', '@angular/forms', '@angular/flex-layout', '@angular/material/core', '@angular/material/checkbox', '@angular/material/chips', '@angular/material/expansion', '@angular/material/icon', '@angular/material/form-field', '@angular/material/input', '@angular/material/radio', 'ngx-virtual-scroller', '@pepperi-addons/ngx-lib', '@pepperi-addons/ngx-lib/checkbox', '@pepperi-addons/ngx-lib/date', '@pepperi-addons/ngx-lib/select', '@pepperi-addons/ngx-lib/textbox', '@pepperi-addons/ngx-lib/search', '@pepperi-addons/ngx-lib/icon', '
|
|
4
|
-
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global['pepperi-addons'] = global['pepperi-addons'] || {}, global['pepperi-addons']['ngx-lib'] = global['pepperi-addons']['ngx-lib'] || {}, global['pepperi-addons']['ngx-lib']['smart-filters'] = {}), global.ng.core, global.ng.common, global.ng.forms, global.ng.flexLayout, global.ng.material.core, global.ng.material.checkbox, global.ng.material.chips, global.ng.material.expansion, global.ng.material.icon, global.ng.material.formField, global.ng.material.input, global.ng.material.radio, global.ngxVirtualScroller, global['pepperi-addons']['ngx-lib'], global['pepperi-addons']['ngx-lib'].checkbox, global['pepperi-addons']['ngx-lib'].date, global['pepperi-addons']['ngx-lib'].select, global['pepperi-addons']['ngx-lib'].textbox, global['pepperi-addons']['ngx-lib'].search, global['pepperi-addons']['ngx-lib'].
|
|
5
|
-
}(this, (function (exports, core, common, forms, flexLayout, core$2, checkbox, chips, expansion, icon$1, formField, input, radio, ngxVirtualScroller, ngxLib, checkbox$1, date, select, textbox, search, icon,
|
|
2
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('@angular/forms'), require('@angular/flex-layout'), require('@angular/material/core'), require('@angular/material/checkbox'), require('@angular/material/chips'), require('@angular/material/expansion'), require('@angular/material/icon'), require('@angular/material/form-field'), require('@angular/material/input'), require('@angular/material/radio'), require('ngx-virtual-scroller'), require('@pepperi-addons/ngx-lib'), require('@pepperi-addons/ngx-lib/checkbox'), require('@pepperi-addons/ngx-lib/date'), require('@pepperi-addons/ngx-lib/select'), require('@pepperi-addons/ngx-lib/textbox'), require('@pepperi-addons/ngx-lib/search'), require('@pepperi-addons/ngx-lib/button'), require('@pepperi-addons/ngx-lib/icon'), require('@pepperi-addons/ngx-lib/group-buttons'), require('rxjs/operators'), require('rxjs'), require('@ngx-translate/core')) :
|
|
3
|
+
typeof define === 'function' && define.amd ? define('@pepperi-addons/ngx-lib/smart-filters', ['exports', '@angular/core', '@angular/common', '@angular/forms', '@angular/flex-layout', '@angular/material/core', '@angular/material/checkbox', '@angular/material/chips', '@angular/material/expansion', '@angular/material/icon', '@angular/material/form-field', '@angular/material/input', '@angular/material/radio', 'ngx-virtual-scroller', '@pepperi-addons/ngx-lib', '@pepperi-addons/ngx-lib/checkbox', '@pepperi-addons/ngx-lib/date', '@pepperi-addons/ngx-lib/select', '@pepperi-addons/ngx-lib/textbox', '@pepperi-addons/ngx-lib/search', '@pepperi-addons/ngx-lib/button', '@pepperi-addons/ngx-lib/icon', '@pepperi-addons/ngx-lib/group-buttons', 'rxjs/operators', 'rxjs', '@ngx-translate/core'], factory) :
|
|
4
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global['pepperi-addons'] = global['pepperi-addons'] || {}, global['pepperi-addons']['ngx-lib'] = global['pepperi-addons']['ngx-lib'] || {}, global['pepperi-addons']['ngx-lib']['smart-filters'] = {}), global.ng.core, global.ng.common, global.ng.forms, global.ng.flexLayout, global.ng.material.core, global.ng.material.checkbox, global.ng.material.chips, global.ng.material.expansion, global.ng.material.icon, global.ng.material.formField, global.ng.material.input, global.ng.material.radio, global.ngxVirtualScroller, global['pepperi-addons']['ngx-lib'], global['pepperi-addons']['ngx-lib'].checkbox, global['pepperi-addons']['ngx-lib'].date, global['pepperi-addons']['ngx-lib'].select, global['pepperi-addons']['ngx-lib'].textbox, global['pepperi-addons']['ngx-lib'].search, global['pepperi-addons']['ngx-lib'].button, global['pepperi-addons']['ngx-lib'].icon, global['pepperi-addons']['ngx-lib']['group-buttons'], global.rxjs.operators, global.rxjs, global.translate));
|
|
5
|
+
}(this, (function (exports, core, common, forms, flexLayout, core$2, checkbox, chips, expansion, icon$1, formField, input, radio, ngxVirtualScroller, ngxLib, checkbox$1, date, select, textbox, search, button, icon, groupButtons, operators, rxjs, core$1) { 'use strict';
|
|
6
6
|
|
|
7
7
|
/*! *****************************************************************************
|
|
8
8
|
Copyright (c) Microsoft Corporation.
|
|
@@ -439,9 +439,9 @@
|
|
|
439
439
|
PepSmartFiltersComponent.decorators = [
|
|
440
440
|
{ type: core.Component, args: [{
|
|
441
441
|
selector: 'pep-smart-filters',
|
|
442
|
-
template: "<div class=\"smart-filters-container\" dir=\"{{ layoutService.isRtl() ? 'rtl' : 'ltr' }}\">\n <div class=\"title\">\n <span class=\"body-md bold\">{{ title?.length > 0 ? title : (\"SMART_FILTERS.TITLE\" | translate)}}</span>\n <mat-chip *ngIf=\"filtersDataMap.size > 0\" [selectable]=\"false\" [removable]=\"true\" (click)=\"onFiltersClear()\"\n class=\"clear-filter pep-button chip xs weak\">\n <span class=\"body-xs ellipsis \">\n {{ \"ACTIONS.CLEAR\" | translate}}\n </span>\n </mat-chip>\n </div>\n\n <mat-accordion [displayMode]=\"'flat'\" [multi]=\"true\" class=\"pep-accordion2\">\n <mat-expansion-panel *ngFor=\"let field of fields; let i = index\" hideToggle=\"true\" [expanded]=\"field.isOpen\"\n (opened)=\"toggleField(i, true)\" (closed)=\"toggleField(i, false)\">\n <mat-expansion-panel-header [collapsedHeight]=\"expansionPanelHeaderHeight\"\n [expandedHeight]=\"expansionPanelHeaderHeight\">\n <mat-panel-title class=\"pep-spacing-element-negative\">\n <div class=\"smart-filter-title-container\">\n <mat-icon class=\"pep-spacing-element\">\n <pep-icon [name]=\"field.isOpen ? 'number_minus' : 'number_plus'\"></pep-icon>\n </mat-icon>\n <span class=\"body-sm ellipsis\" [title]=\"field.name\">\n {{ field.name }}\n </span>\n <mat-chip *ngIf=\"filtersDataMap.get(field.id)\" [selectable]=\"false\" [removable]=\"true\"\n (click)=\"onFilterClear(field)\" class=\"clear-filter pep-button chip xs weak\">\n <span *ngIf=\"field.componentType === 'multi-select'\" class=\"body-xs pep-spacing-element\">\n {{ filtersDataMap.get(field.id).value?.first?.length }}\n <!-- {{ field.componentType === 'multi-select' ?\n filtersDataMap.get(field.id).value?.first?.length : 1 }} -->\n </span>\n <mat-icon>\n <pep-icon name=\"system_close\"></pep-icon>\n </mat-icon>\n </mat-chip>\n </div>\n </mat-panel-title>\n </mat-expansion-panel-header>\n <div class=\"expansion-content smart-filter-content\">\n <ng-container [ngSwitch]=\"field.componentType\">\n <ng-container *ngSwitchCase=\"'boolean'\">\n <pep-boolean-filter [field]=\"field\" [filter]=\"filtersDataMap.get(field.id)\"\n (filterChange)=\"onFilterChange(field, $event)\" (filterClear)=\"onFilterClear(field)\">\n </pep-boolean-filter>\n </ng-container>\n <ng-container *ngSwitchCase=\"'date'\">\n <pep-date-filter [field]=\"field\" [filter]=\"filtersDataMap.get(field.id)\"\n (filterChange)=\"onFilterChange(field, $event)\" (filterClear)=\"onFilterClear(field)\">\n </pep-date-filter>\n </ng-container>\n <ng-container *ngSwitchCase=\"'multi-select'\">\n <pep-multi-select-filter [field]=\"field\" [filter]=\"filtersDataMap.get(field.id)\"\n (filterChange)=\"onFilterChange(field, $event)\" (filterClear)=\"onFilterClear(field)\">\n </pep-multi-select-filter>\n </ng-container>\n <ng-container *ngSwitchCase=\"'number'\">\n <pep-number-filter [field]=\"field\" [filter]=\"filtersDataMap.get(field.id)\"\n (filterChange)=\"onFilterChange(field, $event)\" (filterClear)=\"onFilterClear(field)\">\n </pep-number-filter>\n </ng-container>\n <!-- <div *ngSwitchDefault>\n </div> -->\n </ng-container>\n </div>\n </mat-expansion-panel>\n </mat-accordion>\n</div>",
|
|
442
|
+
template: "<div class=\"smart-filters-container\" dir=\"{{ layoutService.isRtl() ? 'rtl' : 'ltr' }}\">\r\n <div class=\"title\">\r\n <span class=\"body-md bold\">{{ title?.length > 0 ? title : (\"SMART_FILTERS.TITLE\" | translate)}}</span>\r\n <mat-chip *ngIf=\"filtersDataMap.size > 0\" [selectable]=\"false\" [removable]=\"true\" (click)=\"onFiltersClear()\"\r\n class=\"clear-filter pep-button chip xs weak\">\r\n <span class=\"body-xs ellipsis \">\r\n {{ \"ACTIONS.CLEAR\" | translate}}\r\n </span>\r\n </mat-chip>\r\n </div>\r\n\r\n <mat-accordion [displayMode]=\"'flat'\" [multi]=\"true\" class=\"pep-accordion2\">\r\n <mat-expansion-panel *ngFor=\"let field of fields; let i = index\" hideToggle=\"true\" [expanded]=\"field.isOpen\"\r\n (opened)=\"toggleField(i, true)\" (closed)=\"toggleField(i, false)\">\r\n <mat-expansion-panel-header [collapsedHeight]=\"expansionPanelHeaderHeight\"\r\n [expandedHeight]=\"expansionPanelHeaderHeight\">\r\n <mat-panel-title class=\"pep-spacing-element-negative\">\r\n <div class=\"smart-filter-title-container\">\r\n <mat-icon class=\"pep-spacing-element\">\r\n <pep-icon [name]=\"field.isOpen ? 'number_minus' : 'number_plus'\"></pep-icon>\r\n </mat-icon>\r\n <span class=\"body-sm ellipsis\" [title]=\"field.name\">\r\n {{ field.name }}\r\n </span>\r\n <mat-chip *ngIf=\"filtersDataMap.get(field.id)\" [selectable]=\"false\" [removable]=\"true\"\r\n (click)=\"onFilterClear(field)\" class=\"clear-filter pep-button chip xs weak\">\r\n <span *ngIf=\"field.componentType === 'multi-select'\" class=\"body-xs pep-spacing-element\">\r\n {{ filtersDataMap.get(field.id).value?.first?.length }}\r\n <!-- {{ field.componentType === 'multi-select' ?\r\n filtersDataMap.get(field.id).value?.first?.length : 1 }} -->\r\n </span>\r\n <mat-icon>\r\n <pep-icon name=\"system_close\"></pep-icon>\r\n </mat-icon>\r\n </mat-chip>\r\n </div>\r\n </mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <div class=\"expansion-content smart-filter-content\">\r\n <ng-container [ngSwitch]=\"field.componentType\">\r\n <ng-container *ngSwitchCase=\"'boolean'\">\r\n <pep-boolean-filter [field]=\"field\" [filter]=\"filtersDataMap.get(field.id)\"\r\n (filterChange)=\"onFilterChange(field, $event)\" (filterClear)=\"onFilterClear(field)\">\r\n </pep-boolean-filter>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'date'\">\r\n <pep-date-filter [field]=\"field\" [filter]=\"filtersDataMap.get(field.id)\"\r\n (filterChange)=\"onFilterChange(field, $event)\" (filterClear)=\"onFilterClear(field)\">\r\n </pep-date-filter>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'multi-select'\">\r\n <pep-multi-select-filter [field]=\"field\" [filter]=\"filtersDataMap.get(field.id)\"\r\n (filterChange)=\"onFilterChange(field, $event)\" (filterClear)=\"onFilterClear(field)\">\r\n </pep-multi-select-filter>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'number'\">\r\n <pep-number-filter [field]=\"field\" [filter]=\"filtersDataMap.get(field.id)\"\r\n (filterChange)=\"onFilterChange(field, $event)\" (filterClear)=\"onFilterClear(field)\">\r\n </pep-number-filter>\r\n </ng-container>\r\n <!-- <div *ngSwitchDefault>\r\n </div> -->\r\n </ng-container>\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n</div>",
|
|
443
443
|
changeDetection: core.ChangeDetectionStrategy.OnPush,
|
|
444
|
-
styles: [".smart-filters-container .title{height:calc(.5rem + 2.5rem);height:calc(var(--pep-top-bar-spacing-bottom, .5rem) + var(--pep-top-bar-field-height, 2.5rem));display:flex;flex-flow:wrap;align-items:center;justify-content:space-between}.smart-filters-container .title .clear-filter{display:flex;flex-direction:row;align-items:center;justify-content:center;margin:0 .25rem;margin:0 var(--pep-spacing-xs,.25rem);padding:0 .75rem;padding:0 var(--pep-spacing-md,.75rem)}.smart-filters-container .title .clear-filter:after{background-color:transparent}.smart-filters-container .smart-filter-title-container{display:grid;grid-auto-flow:column;grid-template-columns:auto 1fr auto;width:100%}.smart-filters-container .smart-filter-title-container>*{align-self:center}.smart-filters-container .smart-filter-title-container .clear-filter{display:flex;flex-direction:row;align-items:center;justify-content:center;-webkit-margin-end:.5rem;margin-inline-end:.5rem;-webkit-margin-end:var(--pep-spacing-sm,.5rem);margin-inline-end:var(--pep-spacing-sm,.5rem)}.smart-filters-container .smart-filter-title-container .clear-filter:after{background-color:transparent}.smart-filters-container .smart-filter-title-container .mat-icon pep-icon{height:.75rem;width:.75rem}"]
|
|
444
|
+
styles: [".smart-filters-container .title{height:calc(.5rem + 2.5rem);height:calc(var(--pep-top-bar-spacing-bottom, .5rem) + var(--pep-top-bar-field-height, 2.5rem));display:flex;flex-flow:wrap;align-items:center;justify-content:space-between}.smart-filters-container .title .clear-filter{display:flex;flex-direction:row;align-items:center;justify-content:center;margin:0 .25rem;margin:0 var(--pep-spacing-xs,.25rem);padding:0 .75rem;padding:0 var(--pep-spacing-md,.75rem)}.smart-filters-container .title .clear-filter:after{background-color:transparent}.smart-filters-container .smart-filter-title-container{display:grid;grid-auto-flow:column;grid-template-columns:auto 1fr auto;width:100%}.smart-filters-container .smart-filter-title-container>*{align-self:center}.smart-filters-container .smart-filter-title-container .clear-filter{display:flex;flex-direction:row;align-items:center;justify-content:center;-webkit-margin-end:.5rem;margin-inline-end:.5rem;-webkit-margin-end:var(--pep-spacing-sm,.5rem);margin-inline-end:var(--pep-spacing-sm,.5rem)}.smart-filters-container .smart-filter-title-container .clear-filter:after{background-color:transparent}.smart-filters-container .smart-filter-title-container .mat-icon pep-icon{height:.75rem;width:.75rem}", ".smart-filters-container .clear-filter.weak{background:rgba(26,26,26,.12);background:hsla(var(--pep-color-weak-h,0),var(--pep-color-weak-s,0%),var(--pep-color-weak-l,10%),.12)}.smart-filters-container .clear-filter.weak:hover{background:rgba(26,26,26,.16);background:hsla(var(--pep-color-weak-h,0),var(--pep-color-weak-s,0%),var(--pep-color-weak-l,10%),.16)}.smart-filters-container .clear-filter.weak:focus{box-shadow:0 .125rem .25rem 0 rgba(26,26,26,.08);box-shadow:var(--pep-shadow-xs-offset,0 .125rem .25rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.08);position:relative;box-shadow:0 0 0 .25rem rgba(23,102,166,.5);box-shadow:0 0 0 var(--pep-spacing-xs,.25rem) hsla(var(--pep-color-text-link-h,207),var(--pep-color-text-link-s,76%),var(--pep-color-text-link-l,37%),.5)}.smart-filters-container .clear-filter.weak:focus:not(.keep-background-on-focus){background:#fff;background:hsl(var(--pep-color-system-primary-invert-h,255),var(--pep-color-system-primary-invert-s,100%),var(--pep-color-system-primary-invert-l,100%))}.smart-filters-container .clear-filter.weak:focus:after{z-index:0;content:\"\";transition:all .25s;display:block;position:absolute;top:0;bottom:0;left:0;right:0;border-radius:inherit;border:1px solid #1a1a1a;border:1px solid hsl(var(--pep-color-weak-h,0),var(--pep-color-weak-s,0%),var(--pep-color-weak-l,10%))}.smart-filters-container .clear-filter.weak:active{box-shadow:0 .125rem .25rem 0 rgba(26,26,26,.08);box-shadow:var(--pep-shadow-xs-offset,0 .125rem .25rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.08);position:relative}.smart-filters-container .clear-filter.weak:active:not(.keep-background-on-focus){background:#fff;background:hsl(var(--pep-color-system-primary-invert-h,255),var(--pep-color-system-primary-invert-s,100%),var(--pep-color-system-primary-invert-l,100%))}.smart-filters-container .clear-filter.weak:active:after{z-index:0;content:\"\";transition:all .25s;display:block;position:absolute;top:0;bottom:0;left:0;right:0;border-radius:inherit;border:1px solid #1a1a1a;border:1px solid hsl(var(--pep-color-weak-h,0),var(--pep-color-weak-s,0%),var(--pep-color-weak-l,10%))}.smart-filters-container .clear-filter.weak:disabled:not(.ignore-disabled){box-shadow:unset;border:unset;color:rgba(26,26,26,.35)!important;color:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.35)!important;background:rgba(26,26,26,.04)!important;background:hsla(var(--pep-color-weak-h,0),var(--pep-color-weak-s,0%),var(--pep-color-weak-l,10%),.04)!important}.smart-filters-container .clear-filter.weak:disabled:not(.ignore-disabled):after{border:unset}.smart-filters-container .clear-filter.weak:disabled:not(.ignore-disabled) .svg-icon{fill:rgba(26,26,26,.35);fill:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.35)}.smart-filters-container .clear-filter.weak:disabled:not(.ignore-disabled) .svg-icon.stroke{fill:unset;stroke:rgba(26,26,26,.35);stroke:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.35)}"]
|
|
445
445
|
},] }
|
|
446
446
|
];
|
|
447
447
|
PepSmartFiltersComponent.ctorParameters = function () { return [
|
|
@@ -473,7 +473,7 @@
|
|
|
473
473
|
PepFilterActionsComponent.decorators = [
|
|
474
474
|
{ type: core.Component, args: [{
|
|
475
475
|
selector: 'pep-filter-actions',
|
|
476
|
-
template: "<div [formGroup]=\"form\" class=\"filter-actions pep-spacing-element-negative\">\n <button mat-button class=\"pep-spacing-element pep-button sm weak\" (click)=\"clear()\">\n {{ 'ACTIONS.CLEAR' | translate }}\n </button>\n <button mat-button class=\"pep-spacing-element pep-button sm strong\" (click)=\"apply()\" [disabled]=\"form.invalid\">\n {{ 'ACTIONS.APPLY' | translate }}\n </button>\n</div>",
|
|
476
|
+
template: "<div [formGroup]=\"form\" class=\"filter-actions pep-spacing-element-negative\">\r\n <button mat-button class=\"pep-spacing-element pep-button sm weak\" (click)=\"clear()\">\r\n {{ 'ACTIONS.CLEAR' | translate }}\r\n </button>\r\n <button mat-button class=\"pep-spacing-element pep-button sm strong\" (click)=\"apply()\" [disabled]=\"form.invalid\">\r\n {{ 'ACTIONS.APPLY' | translate }}\r\n </button>\r\n</div>",
|
|
477
477
|
styles: [".filter-actions{margin:1rem 0 calc(1rem / 2);margin:var(--pep-spacing-lg,1rem) 0 calc(var(--pep-spacing-lg, 1rem) / 2);display:flex;justify-content:flex-end}"]
|
|
478
478
|
},] }
|
|
479
479
|
];
|
|
@@ -545,12 +545,12 @@
|
|
|
545
545
|
short: 'Range',
|
|
546
546
|
componentType: ['number'],
|
|
547
547
|
};
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
548
|
+
var Contains = {
|
|
549
|
+
id: 'contains',
|
|
550
|
+
name: 'CONTAINS',
|
|
551
|
+
short: 'Contains',
|
|
552
|
+
componentType: ['text'],
|
|
553
|
+
};
|
|
554
554
|
// const BeginsWith: Operator = {
|
|
555
555
|
// id: 'beginsWith',
|
|
556
556
|
// name: 'Begins With',
|
|
@@ -655,7 +655,7 @@
|
|
|
655
655
|
GreaterThan: GreaterThan,
|
|
656
656
|
// GreaterThanOrEquals: GreaterThanOrEquals,
|
|
657
657
|
NumberRange: NumberRange,
|
|
658
|
-
|
|
658
|
+
Contains: Contains,
|
|
659
659
|
// BeginsWith: BeginsWith,
|
|
660
660
|
// EndsWith: EndsWith,
|
|
661
661
|
// After: After,
|
|
@@ -715,6 +715,10 @@
|
|
|
715
715
|
this.validator = validator;
|
|
716
716
|
this.renderer = renderer;
|
|
717
717
|
this._fieldIdWithNoDots = '';
|
|
718
|
+
this.emitOnChange = false;
|
|
719
|
+
this.inline = false;
|
|
720
|
+
this.showActionButtons = true;
|
|
721
|
+
this.renderTitle = true;
|
|
718
722
|
this.filterClear = new core.EventEmitter();
|
|
719
723
|
this.filterChange = new core.EventEmitter();
|
|
720
724
|
this.OPERATORS_TRANSLATION_PREFIX = 'SMART_FILTERS.OPERATORS';
|
|
@@ -744,6 +748,14 @@
|
|
|
744
748
|
enumerable: false,
|
|
745
749
|
configurable: true
|
|
746
750
|
});
|
|
751
|
+
Object.defineProperty(BaseFilterComponent.prototype, "parentForm", {
|
|
752
|
+
set: function (form) {
|
|
753
|
+
this._parentForm = form;
|
|
754
|
+
this.updateParentForm();
|
|
755
|
+
},
|
|
756
|
+
enumerable: false,
|
|
757
|
+
configurable: true
|
|
758
|
+
});
|
|
747
759
|
Object.defineProperty(BaseFilterComponent.prototype, "operator", {
|
|
748
760
|
get: function () {
|
|
749
761
|
return this._operator;
|
|
@@ -772,10 +784,7 @@
|
|
|
772
784
|
},
|
|
773
785
|
set: function (operatorUnit) {
|
|
774
786
|
// Validate operator unit
|
|
775
|
-
if (operatorUnit
|
|
776
|
-
this._operatorUnit = undefined;
|
|
777
|
-
}
|
|
778
|
-
else {
|
|
787
|
+
if (operatorUnit) {
|
|
779
788
|
var index = this.operatorUnits.findIndex(function (ou) { return ou.id === operatorUnit.id; });
|
|
780
789
|
if (index >= 0) {
|
|
781
790
|
this._operatorUnit = this.operatorUnits[index];
|
|
@@ -784,6 +793,9 @@
|
|
|
784
793
|
this._operatorUnit = this.operatorUnits[0];
|
|
785
794
|
}
|
|
786
795
|
}
|
|
796
|
+
else {
|
|
797
|
+
this._operatorUnit = undefined;
|
|
798
|
+
}
|
|
787
799
|
},
|
|
788
800
|
enumerable: false,
|
|
789
801
|
configurable: true
|
|
@@ -829,12 +841,14 @@
|
|
|
829
841
|
var formValue = {};
|
|
830
842
|
formValue[this.firstControlKey] = [];
|
|
831
843
|
formValue[this.secondControlKey] = [];
|
|
832
|
-
// this.form.patchValue(formValue);
|
|
844
|
+
// this.form.patchValue(formValue);
|
|
833
845
|
this.form = this.builder.group(formValue);
|
|
834
846
|
// this.form[this.firstControlKey] = [];
|
|
835
847
|
// this.form[this.secondControlKey] = [];
|
|
836
848
|
this.setupOperators();
|
|
837
|
-
this.
|
|
849
|
+
if (this.showActionButtons) {
|
|
850
|
+
this.createActionsComponent();
|
|
851
|
+
}
|
|
838
852
|
};
|
|
839
853
|
BaseFilterComponent.prototype.setupOperators = function () {
|
|
840
854
|
var _this = this;
|
|
@@ -879,6 +893,16 @@
|
|
|
879
893
|
this.clearFilter(false);
|
|
880
894
|
}
|
|
881
895
|
};
|
|
896
|
+
BaseFilterComponent.prototype.updateParentForm = function () {
|
|
897
|
+
this._parentForm.setControl('fieldId', this.builder.control(this.field.id));
|
|
898
|
+
this._parentForm.setControl('fieldType', this.builder.control(this.field.type));
|
|
899
|
+
this._parentForm.setControl('operator', this.builder.control(this.operator));
|
|
900
|
+
this._parentForm.setControl('operatorUnit', this.builder.control(this.operatorUnit));
|
|
901
|
+
this._parentForm.setControl('values', this.builder.group({
|
|
902
|
+
first: this.firstControl,
|
|
903
|
+
second: this.secondControl
|
|
904
|
+
}));
|
|
905
|
+
};
|
|
882
906
|
BaseFilterComponent.prototype.getDestroyer = function () {
|
|
883
907
|
return operators.takeUntil(this._destroyed);
|
|
884
908
|
};
|
|
@@ -943,7 +967,9 @@
|
|
|
943
967
|
BaseFilterComponent.prototype.ngOnDestroy = function () {
|
|
944
968
|
this._destroyed.next();
|
|
945
969
|
this._destroyed.complete();
|
|
946
|
-
this.
|
|
970
|
+
if (this.showActionButtons) {
|
|
971
|
+
this.actionsContainerRef.destroy();
|
|
972
|
+
}
|
|
947
973
|
};
|
|
948
974
|
return BaseFilterComponent;
|
|
949
975
|
}());
|
|
@@ -962,15 +988,108 @@
|
|
|
962
988
|
BaseFilterComponent.propDecorators = {
|
|
963
989
|
field: [{ type: core.Input }],
|
|
964
990
|
filter: [{ type: core.Input }],
|
|
991
|
+
parentForm: [{ type: core.Input }],
|
|
992
|
+
emitOnChange: [{ type: core.Input }],
|
|
993
|
+
inline: [{ type: core.Input }],
|
|
994
|
+
showActionButtons: [{ type: core.Input }],
|
|
995
|
+
renderTitle: [{ type: core.Input }],
|
|
965
996
|
filterClear: [{ type: core.Output }],
|
|
966
997
|
filterChange: [{ type: core.Output }]
|
|
967
998
|
};
|
|
968
999
|
|
|
1000
|
+
var PepTextFilterComponent = /** @class */ (function (_super) {
|
|
1001
|
+
__extends(PepTextFilterComponent, _super);
|
|
1002
|
+
function PepTextFilterComponent() {
|
|
1003
|
+
var _this = _super.apply(this, __spreadArray([], __read(arguments))) || this;
|
|
1004
|
+
_this.chooseTypeOptions = [];
|
|
1005
|
+
_this.operatorWidth = '38%';
|
|
1006
|
+
_this.firstControlWidth = '62%';
|
|
1007
|
+
return _this;
|
|
1008
|
+
}
|
|
1009
|
+
PepTextFilterComponent.prototype.ngOnInit = function () {
|
|
1010
|
+
var _this = this;
|
|
1011
|
+
this.firstControl.valueChanges
|
|
1012
|
+
.pipe(this.getDestroyer(), operators.distinctUntilChanged())
|
|
1013
|
+
.subscribe(function () {
|
|
1014
|
+
_this.setFieldsStateAndValidators();
|
|
1015
|
+
});
|
|
1016
|
+
};
|
|
1017
|
+
// Override
|
|
1018
|
+
PepTextFilterComponent.prototype.getDefaultOperator = function () {
|
|
1019
|
+
return PepSmartFilterOperators.Equals;
|
|
1020
|
+
};
|
|
1021
|
+
// Override
|
|
1022
|
+
PepTextFilterComponent.prototype.getFilterValue = function () {
|
|
1023
|
+
var filterValue = {
|
|
1024
|
+
first: this.firstControl.value,
|
|
1025
|
+
};
|
|
1026
|
+
if (this.operator === PepSmartFilterOperators.NumberRange) {
|
|
1027
|
+
filterValue['second'] = this.secondControl.value;
|
|
1028
|
+
}
|
|
1029
|
+
return filterValue;
|
|
1030
|
+
};
|
|
1031
|
+
// Override
|
|
1032
|
+
PepTextFilterComponent.prototype.loadOperatorsOptions = function () {
|
|
1033
|
+
var _this = this;
|
|
1034
|
+
this.chooseTypeOptions = this.operators.map(function (operator) {
|
|
1035
|
+
return {
|
|
1036
|
+
key: operator.id,
|
|
1037
|
+
value: _this.translate.instant(_this.OPERATORS_TRANSLATION_PREFIX + "." + operator.name),
|
|
1038
|
+
};
|
|
1039
|
+
});
|
|
1040
|
+
};
|
|
1041
|
+
// Override
|
|
1042
|
+
PepTextFilterComponent.prototype.setFieldsStateAndValidators = function () {
|
|
1043
|
+
if (this.operator === PepSmartFilterOperators.NumberRange) {
|
|
1044
|
+
var firstValidators = [forms.Validators.required];
|
|
1045
|
+
if (this.secondControl.value) {
|
|
1046
|
+
firstValidators.push(this.validator.isLessThan(this.secondControl));
|
|
1047
|
+
}
|
|
1048
|
+
this.firstControl.setValidators(firstValidators);
|
|
1049
|
+
}
|
|
1050
|
+
else {
|
|
1051
|
+
_super.prototype.setFieldsStateAndValidators.call(this);
|
|
1052
|
+
}
|
|
1053
|
+
};
|
|
1054
|
+
PepTextFilterComponent.prototype.onOperatorChanged = function (value) {
|
|
1055
|
+
var operator = Object.values(PepSmartFilterOperators).find(function (operator) { return operator.id === value; });
|
|
1056
|
+
this.operator = operator;
|
|
1057
|
+
if (this._parentForm) {
|
|
1058
|
+
this.updateParentForm();
|
|
1059
|
+
}
|
|
1060
|
+
if (this.emitOnChange) {
|
|
1061
|
+
this.applyFilter();
|
|
1062
|
+
}
|
|
1063
|
+
};
|
|
1064
|
+
PepTextFilterComponent.prototype.onValueChanged = function () {
|
|
1065
|
+
if (this.emitOnChange) {
|
|
1066
|
+
this.applyFilter();
|
|
1067
|
+
}
|
|
1068
|
+
};
|
|
1069
|
+
return PepTextFilterComponent;
|
|
1070
|
+
}(BaseFilterComponent));
|
|
1071
|
+
PepTextFilterComponent.decorators = [
|
|
1072
|
+
{ type: core.Component, args: [{
|
|
1073
|
+
selector: 'pep-text-filter',
|
|
1074
|
+
template: "<div [formGroup]=\"form\" [fxLayout]=\"inline ? 'row' : 'column'\" [fxLayoutGap]=\"inline ? '.5rem' : '0rem'\">\r\n <pep-select [fxFlex]=\"inline ? operatorWidth : null\" [key]=\"'typeOperator'\" [value]=\"operator.id\"\r\n [label]=\"'SMART_FILTERS.TYPE' | translate\" [renderTitle]=\"renderTitle\" [emptyOption]=\"false\"\r\n [options]=\"chooseTypeOptions\" (valueChange)=\"onOperatorChanged($event)\">\r\n </pep-select>\r\n <pep-textbox [fxFlex]=\"inline ? firstControlWidth : null\" [form]=\"form\" [key]=\"firstControlKey\"\r\n [label]=\"'SMART_FILTERS.AMOUNT' | translate\" [renderError]=\"false\" [renderTitle]=\"renderTitle\"\r\n [type]=\"field.type\" [formattedValue]=\"firstControl?.value || ''\" [value]=\"firstControl?.value || ''\"\r\n (valueChange)=\"onValueChanged()\">\r\n </pep-textbox>\r\n</div>",
|
|
1075
|
+
styles: [""]
|
|
1076
|
+
},] }
|
|
1077
|
+
];
|
|
1078
|
+
|
|
969
1079
|
var PepBooleanFilterComponent = /** @class */ (function (_super) {
|
|
970
1080
|
__extends(PepBooleanFilterComponent, _super);
|
|
971
1081
|
function PepBooleanFilterComponent() {
|
|
972
|
-
|
|
1082
|
+
var _this = _super.apply(this, __spreadArray([], __read(arguments))) || this;
|
|
1083
|
+
_this.options = [];
|
|
1084
|
+
return _this;
|
|
1085
|
+
// // Override
|
|
1086
|
+
// setFieldsStateAndValidators(): void {
|
|
1087
|
+
// this.secondControl.disable();
|
|
1088
|
+
// }
|
|
973
1089
|
}
|
|
1090
|
+
PepBooleanFilterComponent.prototype.ngOnInit = function () {
|
|
1091
|
+
//
|
|
1092
|
+
};
|
|
974
1093
|
// Override
|
|
975
1094
|
PepBooleanFilterComponent.prototype.getDefaultOperator = function () {
|
|
976
1095
|
return PepSmartFilterOperators.Equals;
|
|
@@ -980,15 +1099,24 @@
|
|
|
980
1099
|
var filterValue = { first: this.firstControl.value || false };
|
|
981
1100
|
return filterValue;
|
|
982
1101
|
};
|
|
1102
|
+
PepBooleanFilterComponent.prototype.onValueChanged = function (value) {
|
|
1103
|
+
this.firstControl.setValue(value);
|
|
1104
|
+
if (this.emitOnChange) {
|
|
1105
|
+
this.applyFilter();
|
|
1106
|
+
}
|
|
1107
|
+
};
|
|
983
1108
|
return PepBooleanFilterComponent;
|
|
984
1109
|
}(BaseFilterComponent));
|
|
985
1110
|
PepBooleanFilterComponent.decorators = [
|
|
986
1111
|
{ type: core.Component, args: [{
|
|
987
1112
|
selector: 'pep-boolean-filter',
|
|
988
|
-
template: "<div [formGroup]=\"form\">\n <mat-radio-group class=\"radio-group\" [formControlName]=\"firstControlKey\">\n <mat-radio-button class=\"pep-radio-button md pep-input no-default-background\" value=\"true\">\n {{ 'CHECKBOX.TRUE' | translate }}\n </mat-radio-button>\n <mat-radio-button class=\"pep-radio-button md pep-input no-default-background\" value=\"false\">\n {{ 'CHECKBOX.FALSE' | translate }}\n </mat-radio-button>\n </mat-radio-group>\n</div>",
|
|
1113
|
+
template: "<ng-container *ngIf=\"inline\">\r\n <pep-select [value]=\"firstControl?.value || ''\" xAlignment=\"left\" [options]=\"options\" [renderTitle]=\"renderTitle\"\r\n [emptyOption]=\"true\" (valueChange)=\"onValueChanged($event)\">\r\n </pep-select>\r\n\r\n</ng-container>\r\n\r\n<div *ngIf=\"!inline\" [formGroup]=\"form\">\r\n <mat-radio-group class=\"radio-group\" [formControlName]=\"firstControlKey\">\r\n <mat-radio-button class=\"pep-radio-button md pep-input no-default-background\" value=\"true\">\r\n {{ 'CHECKBOX.TRUE' | translate }}\r\n </mat-radio-button>\r\n <mat-radio-button class=\"pep-radio-button md pep-input no-default-background\" value=\"false\">\r\n {{ 'CHECKBOX.FALSE' | translate }}\r\n </mat-radio-button>\r\n </mat-radio-group>\r\n</div>",
|
|
989
1114
|
styles: [".radio-group{display:flex;flex-direction:column}.radio-group .pep-radio-button.pep-input{height:2.25rem;display:flex}"]
|
|
990
1115
|
},] }
|
|
991
|
-
];
|
|
1116
|
+
];
|
|
1117
|
+
PepBooleanFilterComponent.propDecorators = {
|
|
1118
|
+
options: [{ type: core.Input }]
|
|
1119
|
+
};
|
|
992
1120
|
|
|
993
1121
|
var PepDateFilterComponent = /** @class */ (function (_super) {
|
|
994
1122
|
__extends(PepDateFilterComponent, _super);
|
|
@@ -999,6 +1127,11 @@
|
|
|
999
1127
|
_this.chooseTimeUnitOptions = [];
|
|
1000
1128
|
return _this;
|
|
1001
1129
|
}
|
|
1130
|
+
PepDateFilterComponent.prototype.ngOnInit = function () {
|
|
1131
|
+
if (this.inline) {
|
|
1132
|
+
this.setControlsWidth();
|
|
1133
|
+
}
|
|
1134
|
+
};
|
|
1002
1135
|
// Override
|
|
1003
1136
|
PepDateFilterComponent.prototype.getDefaultOperator = function () {
|
|
1004
1137
|
return PepSmartFilterOperators.InTheLast;
|
|
@@ -1072,21 +1205,59 @@
|
|
|
1072
1205
|
_super.prototype.setFieldsStateAndValidators.call(this);
|
|
1073
1206
|
}
|
|
1074
1207
|
};
|
|
1208
|
+
PepDateFilterComponent.prototype.setControlsWidth = function () {
|
|
1209
|
+
if (this.operator === PepSmartFilterOperators.Today ||
|
|
1210
|
+
this.operator === PepSmartFilterOperators.ThisWeek ||
|
|
1211
|
+
this.operator === PepSmartFilterOperators.ThisMonth ||
|
|
1212
|
+
this.operator === PepSmartFilterOperators.IsEmpty ||
|
|
1213
|
+
this.operator === PepSmartFilterOperators.IsNotEmpty) {
|
|
1214
|
+
this.operatorWidth = 'auto';
|
|
1215
|
+
this.fieldsWidth = '0%';
|
|
1216
|
+
}
|
|
1217
|
+
else if (this.operator === PepSmartFilterOperators.On) {
|
|
1218
|
+
this.operatorWidth = '38%';
|
|
1219
|
+
this.fieldsWidth = '62%';
|
|
1220
|
+
}
|
|
1221
|
+
else {
|
|
1222
|
+
this.operatorWidth = '30%';
|
|
1223
|
+
this.fieldsWidth = '70%';
|
|
1224
|
+
}
|
|
1225
|
+
};
|
|
1075
1226
|
PepDateFilterComponent.prototype.onOperatorChanged = function (value) {
|
|
1076
1227
|
var operator = Object.values(PepSmartFilterOperators).find(function (operator) { return operator.id === value; });
|
|
1077
1228
|
this.operator = operator;
|
|
1078
1229
|
this.operatorUnit = this.getDefaultOperatorUnit();
|
|
1230
|
+
if (this.inline) {
|
|
1231
|
+
this.setControlsWidth();
|
|
1232
|
+
}
|
|
1233
|
+
if (this._parentForm) {
|
|
1234
|
+
this.updateParentForm();
|
|
1235
|
+
}
|
|
1236
|
+
if (this.emitOnChange) {
|
|
1237
|
+
this.applyFilter();
|
|
1238
|
+
}
|
|
1079
1239
|
};
|
|
1080
1240
|
PepDateFilterComponent.prototype.onTimeUnitChanged = function (value) {
|
|
1081
1241
|
var operatorUnit = Object.values(PepSmartFilterOperatorUnits).find(function (operatorUnit) { return operatorUnit.id === value; });
|
|
1082
1242
|
this.operatorUnit = operatorUnit;
|
|
1243
|
+
if (this._parentForm) {
|
|
1244
|
+
this.updateParentForm();
|
|
1245
|
+
}
|
|
1246
|
+
if (this.emitOnChange) {
|
|
1247
|
+
this.applyFilter();
|
|
1248
|
+
}
|
|
1249
|
+
};
|
|
1250
|
+
PepDateFilterComponent.prototype.onDateValueChanged = function () {
|
|
1251
|
+
if (this.emitOnChange) {
|
|
1252
|
+
this.applyFilter();
|
|
1253
|
+
}
|
|
1083
1254
|
};
|
|
1084
1255
|
return PepDateFilterComponent;
|
|
1085
1256
|
}(BaseFilterComponent));
|
|
1086
1257
|
PepDateFilterComponent.decorators = [
|
|
1087
1258
|
{ type: core.Component, args: [{
|
|
1088
1259
|
selector: 'pep-date-filter',
|
|
1089
|
-
template: "<div [formGroup]=\"form\">\n <ng-container>\n <pep-select [key]=\"'timeOperator'\" [value]=\"operator.id\" [label]=\"'SMART_FILTERS.CHOOSE_TIME' | translate\"\n [emptyOption]=\"false\" [options]=\"chooseTimeOptions\" (valueChange)=\"onOperatorChanged($event)\">\n </pep-select>\n </ng-container>\
|
|
1260
|
+
template: "<div [formGroup]=\"form\" [fxLayout]=\"inline ? 'row' : 'column'\" [fxLayoutGap]=\"inline ? '.5rem' : '0rem'\">\r\n <ng-container>\r\n <pep-select [key]=\"'timeOperator'\" [value]=\"operator.id\" [label]=\"'SMART_FILTERS.CHOOSE_TIME' | translate\"\r\n [renderTitle]=\"renderTitle\" [emptyOption]=\"false\" [options]=\"chooseTimeOptions\"\r\n [fxFlex]=\"inline ? operatorWidth : null\" (valueChange)=\"onOperatorChanged($event)\">\r\n </pep-select>\r\n </ng-container>\r\n <div *ngIf=\"operator === PepSmartFilterOperators.InTheLast ||\r\n operator === PepSmartFilterOperators.NotInTheLast ||\r\n operator === PepSmartFilterOperators.DueIn ||\r\n operator === PepSmartFilterOperators.NotDueIn\" fxLayout=\"row\" fxLayout.xs=\"column\"\r\n [fxLayoutGap]=\"inline ? '.5rem' : '1rem'\" [fxFlex]=\"inline ? fieldsWidth : null\">\r\n <!-- Amount -->\r\n <pep-textbox [form]=\"form\" [key]=\"firstControlKey\" [label]=\"'SMART_FILTERS.AMOUNT' | translate\"\r\n [renderError]=\"false\" [renderTitle]=\"renderTitle\" fxFlex=\"50%\" [type]=\"'int'\"\r\n [formattedValue]=\"firstControl?.value || ''\" [value]=\"firstControl?.value || ''\"\r\n (valueChange)=\"onDateValueChanged()\">\r\n </pep-textbox>\r\n <!-- Time unit -->\r\n <pep-select [form]=\"form\" [key]=\"'timeUnit'\" [value]=\"operatorUnit?.id\"\r\n [label]=\"'SMART_FILTERS.TIME_UNIT' | translate\" [renderTitle]=\"renderTitle\" fxFlex=\"50%\"\r\n [emptyOption]=\"false\" [options]=\"chooseTimeUnitOptions\" (valueChange)=\"onTimeUnitChanged($event)\">\r\n </pep-select>\r\n </div>\r\n <div pepRtlDirection *ngIf=\"operator === PepSmartFilterOperators.DateRange\" fxLayout=\"row\" fxLayout.xs=\"column\"\r\n [fxLayoutGap]=\"inline ? '.5rem' : '1rem'\" [fxFlex]=\"inline ? fieldsWidth : null\">\r\n <!-- Start date -->\r\n <pep-date [form]=\"form\" [key]=\"firstControlKey\" [label]=\"'SMART_FILTERS.START_DATE' | translate\"\r\n [renderError]=\"false\" [renderTitle]=\"renderTitle\" fxFlex=\"50%\"\r\n [type]=\"field.type === 'date' ? 'date' : 'datetime'\" [value]=\"firstControl?.value || ''\"\r\n [maxDateValue]=\"secondControl?.value\" (valueChange)=\"onDateValueChanged()\">\r\n </pep-date>\r\n <!-- End date -->\r\n <pep-date [form]=\"form\" [key]=\"secondControlKey\" [label]=\"'SMART_FILTERS.END_DATE' | translate\"\r\n [renderError]=\"false\" [renderTitle]=\"renderTitle\" fxFlex=\"50%\"\r\n [type]=\"field.type === 'date' ? 'date' : 'datetime'\" [value]=\"secondControl?.value || ''\"\r\n [minDateValue]=\"firstControl?.value\" (valueChange)=\"onDateValueChanged()\">\r\n </pep-date>\r\n </div>\r\n <ng-container *ngIf=\"operator === PepSmartFilterOperators.On\">\r\n <!-- Choose a date -->\r\n <pep-date [form]=\"form\" [key]=\"firstControlKey\" [label]=\"'SMART_FILTERS.CHOOSE_DATE' | translate\"\r\n [renderError]=\"false\" [renderTitle]=\"renderTitle\" [type]=\"field.type === 'date' ? 'date' : 'datetime'\"\r\n [fxFlex]=\"inline ? fieldsWidth : null\" [value]=\"firstControl?.value || ''\"\r\n (valueChange)=\"onDateValueChanged()\">\r\n </pep-date>\r\n </ng-container>\r\n</div>",
|
|
1090
1261
|
styles: [""]
|
|
1091
1262
|
},] }
|
|
1092
1263
|
];
|
|
@@ -1103,14 +1274,38 @@
|
|
|
1103
1274
|
var _this = _super.apply(this, __spreadArray([], __read(arguments))) || this;
|
|
1104
1275
|
_this.options = [];
|
|
1105
1276
|
_this.searchControl = new forms.FormControl();
|
|
1277
|
+
//inline props
|
|
1278
|
+
_this.selected = '';
|
|
1279
|
+
_this.inlineOptions = [];
|
|
1106
1280
|
_this.MAX_OPTIONS_TO_SHOW = 6.35;
|
|
1107
1281
|
_this.numberOptionsToShowSearch = 10;
|
|
1108
1282
|
return _this;
|
|
1109
1283
|
}
|
|
1110
1284
|
PepMultiSelectFilterComponent.prototype.ngOnInit = function () {
|
|
1285
|
+
_super.prototype.ngOnInit;
|
|
1286
|
+
if (this.inline) {
|
|
1287
|
+
this.inlineControlInit();
|
|
1288
|
+
}
|
|
1289
|
+
else {
|
|
1290
|
+
this.noneInlineControlInit();
|
|
1291
|
+
}
|
|
1292
|
+
};
|
|
1293
|
+
PepMultiSelectFilterComponent.prototype.ngAfterViewInit = function () {
|
|
1294
|
+
// Calc for the first time.
|
|
1295
|
+
this.calcOptionsHeight(this.options.length);
|
|
1296
|
+
};
|
|
1297
|
+
PepMultiSelectFilterComponent.prototype.inlineControlInit = function () {
|
|
1298
|
+
var _a, _b, _c, _d;
|
|
1299
|
+
//load options from field
|
|
1300
|
+
this.inlineOptions = ((_b = (_a = this.field) === null || _a === void 0 ? void 0 : _a.options) === null || _b === void 0 ? void 0 : _b.length) > 0 ? this.field.options : [];
|
|
1301
|
+
// Init the selected values from first value.
|
|
1302
|
+
if (((_d = (_c = this.firstControl) === null || _c === void 0 ? void 0 : _c.value) === null || _d === void 0 ? void 0 : _d.length) > 0) {
|
|
1303
|
+
this.selected = this.firstControl.value.join(';');
|
|
1304
|
+
}
|
|
1305
|
+
};
|
|
1306
|
+
PepMultiSelectFilterComponent.prototype.noneInlineControlInit = function () {
|
|
1111
1307
|
var _this = this;
|
|
1112
1308
|
var _a;
|
|
1113
|
-
_super.prototype.ngOnInit;
|
|
1114
1309
|
if (((_a = this.field.options) === null || _a === void 0 ? void 0 : _a.length) > 0) {
|
|
1115
1310
|
this.options = this.field.options.map(function (opt) {
|
|
1116
1311
|
return { value: opt.value, count: opt.count, selected: false };
|
|
@@ -1141,10 +1336,6 @@
|
|
|
1141
1336
|
}, 125);
|
|
1142
1337
|
});
|
|
1143
1338
|
};
|
|
1144
|
-
PepMultiSelectFilterComponent.prototype.ngAfterViewInit = function () {
|
|
1145
|
-
// Calc for the first time.
|
|
1146
|
-
this.calcOptionsHeight(this.options.length);
|
|
1147
|
-
};
|
|
1148
1339
|
PepMultiSelectFilterComponent.prototype.initOptionsSelectedValues = function (selectedValues) {
|
|
1149
1340
|
this.options.forEach(function (opt) {
|
|
1150
1341
|
var isValueSelected = selectedValues && selectedValues.includes(opt.value);
|
|
@@ -1172,13 +1363,20 @@
|
|
|
1172
1363
|
};
|
|
1173
1364
|
// Override
|
|
1174
1365
|
PepMultiSelectFilterComponent.prototype.getFilterValue = function () {
|
|
1175
|
-
|
|
1176
|
-
|
|
1177
|
-
|
|
1178
|
-
|
|
1179
|
-
|
|
1180
|
-
|
|
1181
|
-
|
|
1366
|
+
if (this.inline) {
|
|
1367
|
+
return {
|
|
1368
|
+
first: this.firstControl.value
|
|
1369
|
+
};
|
|
1370
|
+
}
|
|
1371
|
+
else {
|
|
1372
|
+
var selectedValues = this.options
|
|
1373
|
+
.filter(function (opt) { return opt.selected; })
|
|
1374
|
+
.map(function (opt) { return opt.value; });
|
|
1375
|
+
var filterValue = {
|
|
1376
|
+
first: selectedValues,
|
|
1377
|
+
};
|
|
1378
|
+
return selectedValues.length > 0 ? filterValue : null;
|
|
1379
|
+
}
|
|
1182
1380
|
};
|
|
1183
1381
|
// Override
|
|
1184
1382
|
PepMultiSelectFilterComponent.prototype.initFilter = function () {
|
|
@@ -1189,12 +1387,24 @@
|
|
|
1189
1387
|
option.selected = event.checked;
|
|
1190
1388
|
this.firstControl.setValue(this.options.filter(function (opt) { return opt.selected; }).map(function (opt) { return opt.value; }), { emitEvent: false });
|
|
1191
1389
|
};
|
|
1390
|
+
PepMultiSelectFilterComponent.prototype.onMultiSelectChanged = function (value) {
|
|
1391
|
+
if (value) {
|
|
1392
|
+
var selected = value.split(';');
|
|
1393
|
+
this.firstControl.setValue(selected);
|
|
1394
|
+
}
|
|
1395
|
+
else {
|
|
1396
|
+
this.firstControl.setValue(null);
|
|
1397
|
+
}
|
|
1398
|
+
if (this.emitOnChange) {
|
|
1399
|
+
this.applyFilter();
|
|
1400
|
+
}
|
|
1401
|
+
};
|
|
1192
1402
|
return PepMultiSelectFilterComponent;
|
|
1193
1403
|
}(BaseFilterComponent));
|
|
1194
1404
|
PepMultiSelectFilterComponent.decorators = [
|
|
1195
1405
|
{ type: core.Component, args: [{
|
|
1196
1406
|
selector: 'pep-multi-select-filter',
|
|
1197
|
-
template: "<div [formGroup]=\"form\">\n <pep-search *ngIf=\"options?.length > numberOptionsToShowSearch\" [searchControl]=\"searchControl\"\n [triggerOn]=\"'keydown'\" [shrinkInSmallScreen]=\"false\"></pep-search>\n <div pepRtlClass class=\"multi-select-options pep-border-top pep-border-bottom\"\n [ngClass]=\"{'with-no-search': options?.length <= numberOptionsToShowSearch}\">\n <div #optionsContainer class=\"flip-scroll\" pepRtlClass>\n <virtual-scroller #scroll [items]=\"filteredOptions$ | async\" [parentScroll]=\"optionsContainer\">\n <mat-checkbox *ngFor=\"let opt of scroll.viewPortItems\"\n class=\"pep-checkbox-container pep-input no-default-background md\" [title]=\"opt.value\"\n [checked]=\"opt.selected\" (change)=\"onOptionChange(opt, $event)\">\n <div class=\"title\">\n <span class=\"body-sm ellipsis\">{{ opt.value }}</span>\n <span *ngIf=\"opt.count\" class=\"color-dimmed body-xs ellipsis\">({{opt.count}})</span>\n </div>\n </mat-checkbox>\n <ng-container *ngIf=\"scroll.viewPortItems?.length === 0\">\n <span class=\"no-options body-sm ellipsis\" [title]=\"field.name\">\n {{ ( options.length > 0 ? \"SMART_FILTERS.NO_SEARCH_RESULTS\" : \"SMART_FILTERS.NO_OPTIONS\") |\n translate }}\n </span>\n </ng-container>\n </virtual-scroller>\n </div>\n </div>\n</div>",
|
|
1407
|
+
template: "<ng-container *ngIf=\"inline\">\r\n <pep-select [key]=\"'multi1'\" [label]=\"'Pepperi Multi Select'\" [type]=\"'multi'\" [value]=\"selected\"\r\n [xAlignment]=\"'left'\" [renderTitle]=\"renderTitle\" [options]='inlineOptions'\r\n (valueChange)=\"onMultiSelectChanged($event)\">\r\n </pep-select>\r\n</ng-container>\r\n<div *ngIf=\"!inline\" [formGroup]=\"form\">\r\n <pep-search *ngIf=\"options?.length > numberOptionsToShowSearch\" [searchControl]=\"searchControl\"\r\n [triggerOn]=\"'keydown'\" [shrinkInSmallScreen]=\"false\"></pep-search>\r\n <div pepRtlClass class=\"multi-select-options pep-border-top pep-border-bottom\"\r\n [ngClass]=\"{'with-no-search': options?.length <= numberOptionsToShowSearch}\">\r\n <div #optionsContainer class=\"flip-scroll\" pepRtlClass>\r\n <virtual-scroller #scroll [items]=\"filteredOptions$ | async\" [parentScroll]=\"optionsContainer\">\r\n <mat-checkbox *ngFor=\"let opt of scroll.viewPortItems\"\r\n class=\"pep-checkbox-container pep-input no-default-background md\" [title]=\"opt.value\"\r\n [checked]=\"opt.selected\" (change)=\"onOptionChange(opt, $event)\">\r\n <div class=\"title\">\r\n <span class=\"body-sm ellipsis\">{{ opt.value }}</span>\r\n <span *ngIf=\"opt.count\" class=\"color-dimmed body-xs ellipsis\">({{opt.count}})</span>\r\n </div>\r\n </mat-checkbox>\r\n <ng-container *ngIf=\"scroll.viewPortItems?.length === 0\">\r\n <span class=\"no-options body-sm ellipsis\" [title]=\"field.name\">\r\n {{ ( options.length > 0 ? \"SMART_FILTERS.NO_SEARCH_RESULTS\" : \"SMART_FILTERS.NO_OPTIONS\") |\r\n translate }}\r\n </span>\r\n </ng-container>\r\n </virtual-scroller>\r\n </div>\r\n </div>\r\n</div>",
|
|
1198
1408
|
styles: [".multi-select-options{margin:.5rem calc(.25rem * -1) 0;margin:var(--pep-spacing-sm,.5rem) calc(var(--pep-spacing-xs, .25rem) * -1) 0}.multi-select-options.with-no-search{margin:calc(.5rem * -1) calc(.25rem * -1) 0;margin:calc(var(--pep-spacing-sm, .5rem) * -1) calc(var(--pep-spacing-xs, .25rem) * -1) 0}.multi-select-options .no-options{display:flex;padding:.5rem .75rem;padding:var(--pep-spacing-sm,.5rem) var(--pep-spacing-md,.75rem)}.multi-select-options .flip-scroll{padding:.5rem .25rem;padding:var(--pep-spacing-sm,.5rem) var(--pep-spacing-xs,.25rem);min-height:3.25rem;max-height:34.75rem;direction:rtl}.multi-select-options .flip-scroll.rtl,.multi-select-options .flip-scroll virtual-scroller{direction:ltr}.multi-select-options .flip-scroll.rtl virtual-scroller{direction:rtl}.multi-select-options .pep-checkbox-container{height:2.25rem;-webkit-padding-end:0;padding-inline-end:0}.multi-select-options .pep-checkbox-container ::ng-deep.mat-checkbox-layout{width:100%;height:100%;grid-template-columns:auto 1fr}.multi-select-options .pep-checkbox-container ::ng-deep.mat-checkbox-layout .mat-checkbox-label{align-self:center}.multi-select-options .pep-checkbox-container .title{display:flex;justify-content:space-between;align-items:center;margin:0 .25rem;margin:0 var(--pep-spacing-xs,.25rem)}"]
|
|
1199
1409
|
},] }
|
|
1200
1410
|
];
|
|
@@ -1209,6 +1419,8 @@
|
|
|
1209
1419
|
var _this = _super.apply(this, __spreadArray([], __read(arguments))) || this;
|
|
1210
1420
|
_this.PepSmartFilterOperators = PepSmartFilterOperators;
|
|
1211
1421
|
_this.chooseTypeOptions = [];
|
|
1422
|
+
_this.operatorWidth = '38%';
|
|
1423
|
+
_this.fieldsWidth = '70%';
|
|
1212
1424
|
return _this;
|
|
1213
1425
|
}
|
|
1214
1426
|
PepNumberFilterComponent.prototype.ngOnInit = function () {
|
|
@@ -1223,6 +1435,7 @@
|
|
|
1223
1435
|
.subscribe(function () {
|
|
1224
1436
|
_this.setFieldsStateAndValidators();
|
|
1225
1437
|
});
|
|
1438
|
+
this.setControlsWidth();
|
|
1226
1439
|
};
|
|
1227
1440
|
// Override
|
|
1228
1441
|
PepNumberFilterComponent.prototype.getDefaultOperator = function () {
|
|
@@ -1267,16 +1480,38 @@
|
|
|
1267
1480
|
_super.prototype.setFieldsStateAndValidators.call(this);
|
|
1268
1481
|
}
|
|
1269
1482
|
};
|
|
1483
|
+
PepNumberFilterComponent.prototype.setControlsWidth = function () {
|
|
1484
|
+
if (this.operator === PepSmartFilterOperators.NumberRange) {
|
|
1485
|
+
this.operatorWidth = '30%';
|
|
1486
|
+
this.fieldsWidth = '70%';
|
|
1487
|
+
}
|
|
1488
|
+
else {
|
|
1489
|
+
this.operatorWidth = '38%';
|
|
1490
|
+
this.fieldsWidth = '62%';
|
|
1491
|
+
}
|
|
1492
|
+
};
|
|
1270
1493
|
PepNumberFilterComponent.prototype.onOperatorChanged = function (value) {
|
|
1271
1494
|
var operator = Object.values(PepSmartFilterOperators).find(function (operator) { return operator.id === value; });
|
|
1272
1495
|
this.operator = operator;
|
|
1496
|
+
if (this._parentForm) {
|
|
1497
|
+
this.updateParentForm();
|
|
1498
|
+
}
|
|
1499
|
+
if (this.emitOnChange) {
|
|
1500
|
+
this.applyFilter();
|
|
1501
|
+
}
|
|
1502
|
+
this.setControlsWidth();
|
|
1503
|
+
};
|
|
1504
|
+
PepNumberFilterComponent.prototype.onValueChanged = function () {
|
|
1505
|
+
if (this.emitOnChange) {
|
|
1506
|
+
this.applyFilter();
|
|
1507
|
+
}
|
|
1273
1508
|
};
|
|
1274
1509
|
return PepNumberFilterComponent;
|
|
1275
1510
|
}(BaseFilterComponent));
|
|
1276
1511
|
PepNumberFilterComponent.decorators = [
|
|
1277
1512
|
{ type: core.Component, args: [{
|
|
1278
1513
|
selector: 'pep-number-filter',
|
|
1279
|
-
template: "<div [formGroup]=\"form\">\n <ng-container>\n <pep-select [key]=\"'typeOperator'\" [value]=\"operator.id\"
|
|
1514
|
+
template: "<div [formGroup]=\"form\" [fxLayout]=\"inline ? 'row' : 'column'\" [fxLayoutGap]=\"inline ? '.5rem' : '0rem'\">\r\n <ng-container>\r\n <pep-select [fxFlex]=\"inline ? operatorWidth : null\" [key]=\"'typeOperator'\" [value]=\"operator.id\"\r\n [label]=\"'SMART_FILTERS.TYPE' | translate\" [renderTitle]=\"renderTitle\" [emptyOption]=\"false\"\r\n [options]=\"chooseTypeOptions\" (valueChange)=\"onOperatorChanged($event)\">\r\n </pep-select>\r\n </ng-container>\r\n <div *ngIf=\"operator !== PepSmartFilterOperators.NumberRange\" [fxFlex]=\"inline ? fieldsWidth : null\">\r\n <!-- Amount -->\r\n <pep-textbox [form]=\"form\" [key]=\"firstControlKey\" [label]=\"'SMART_FILTERS.AMOUNT' | translate\"\r\n [renderError]=\"false\" [renderTitle]=\"renderTitle\" [type]=\"field.type\"\r\n [formattedValue]=\"firstControl?.value || ''\" [value]=\"firstControl?.value || ''\"\r\n (valueChange)=\"onValueChanged()\">\r\n </pep-textbox>\r\n </div>\r\n <div *ngIf=\"operator === PepSmartFilterOperators.NumberRange\" fxLayout=\"row\" fxLayout.xs=\"column\"\r\n [fxLayoutGap]=\"inline ? '.5rem' : '1rem'\" [fxFlex]=\"inline ? fieldsWidth : null\">\r\n <!-- Min number -->\r\n <pep-textbox [form]=\"form\" [key]=\"firstControlKey\" [label]=\"'SMART_FILTERS.MIN' | translate\"\r\n [renderError]=\"false\" [renderTitle]=\"renderTitle\" [type]=\"field.type\" fxFlex=\"50%\"\r\n [formattedValue]=\"firstControl?.value || ''\" [value]=\"firstControl?.value || ''\"\r\n [maxValue]=\"secondControl?.value || ''\" (valueChange)=\"onValueChanged()\">\r\n </pep-textbox>\r\n <!-- Max number -->\r\n <pep-textbox [form]=\"form\" [key]=\"secondControlKey\" [label]=\"'SMART_FILTERS.MAX' | translate\"\r\n [renderError]=\"false\" [renderTitle]=\"renderTitle\" [type]=\"field.type\" fxFlex=\"50%\"\r\n [formattedValue]=\"secondControl?.value || ''\" [value]=\"secondControl?.value || ''\"\r\n [minValue]=\"firstControl?.value || ''\" (valueChange)=\"onValueChanged()\">\r\n </pep-textbox>\r\n </div>\r\n</div>",
|
|
1280
1515
|
styles: [""]
|
|
1281
1516
|
},] }
|
|
1282
1517
|
];
|
|
@@ -1316,16 +1551,26 @@
|
|
|
1316
1551
|
textbox.PepTextboxModule,
|
|
1317
1552
|
search.PepSearchModule,
|
|
1318
1553
|
icon.PepIconModule,
|
|
1554
|
+
button.PepButtonModule,
|
|
1555
|
+
groupButtons.PepGroupButtonsModule
|
|
1556
|
+
],
|
|
1557
|
+
exports: [
|
|
1558
|
+
PepSmartFiltersComponent,
|
|
1559
|
+
PepTextFilterComponent,
|
|
1560
|
+
PepBooleanFilterComponent,
|
|
1561
|
+
PepDateFilterComponent,
|
|
1562
|
+
PepMultiSelectFilterComponent,
|
|
1563
|
+
PepNumberFilterComponent
|
|
1319
1564
|
],
|
|
1320
|
-
exports: [PepSmartFiltersComponent],
|
|
1321
1565
|
declarations: [
|
|
1322
1566
|
// BaseFilterComponent,
|
|
1323
1567
|
PepSmartFiltersComponent,
|
|
1324
1568
|
PepFilterActionsComponent,
|
|
1569
|
+
PepTextFilterComponent,
|
|
1325
1570
|
PepBooleanFilterComponent,
|
|
1326
1571
|
PepDateFilterComponent,
|
|
1327
1572
|
PepMultiSelectFilterComponent,
|
|
1328
|
-
PepNumberFilterComponent
|
|
1573
|
+
PepNumberFilterComponent
|
|
1329
1574
|
],
|
|
1330
1575
|
},] }
|
|
1331
1576
|
];
|
|
@@ -1361,6 +1606,20 @@
|
|
|
1361
1606
|
});
|
|
1362
1607
|
return PepSmartFilterBaseField;
|
|
1363
1608
|
}());
|
|
1609
|
+
// Text field
|
|
1610
|
+
// ------------------------------
|
|
1611
|
+
var PepSmartFilterTextField = /** @class */ (function (_super) {
|
|
1612
|
+
__extends(PepSmartFilterTextField, _super);
|
|
1613
|
+
function PepSmartFilterTextField(field) {
|
|
1614
|
+
var _this = _super.call(this, field) || this;
|
|
1615
|
+
_this._componentType = 'text';
|
|
1616
|
+
return _this;
|
|
1617
|
+
}
|
|
1618
|
+
PepSmartFilterTextField.prototype.getType = function () {
|
|
1619
|
+
return 'text';
|
|
1620
|
+
};
|
|
1621
|
+
return PepSmartFilterTextField;
|
|
1622
|
+
}(PepSmartFilterBaseField));
|
|
1364
1623
|
// Boolean field
|
|
1365
1624
|
// ------------------------------
|
|
1366
1625
|
var PepSmartFilterBooleanField = /** @class */ (function (_super) {
|
|
@@ -1472,6 +1731,9 @@
|
|
|
1472
1731
|
return PepSmartFilterPercentageField;
|
|
1473
1732
|
}(PepSmartFilterNumberBaseField));
|
|
1474
1733
|
|
|
1734
|
+
function createTextSmartFilterField(data) {
|
|
1735
|
+
return new PepSmartFilterTextField(data);
|
|
1736
|
+
}
|
|
1475
1737
|
function createBooleanSmartFilterField(data) {
|
|
1476
1738
|
return new PepSmartFilterBooleanField(data);
|
|
1477
1739
|
}
|
|
@@ -1499,6 +1761,9 @@
|
|
|
1499
1761
|
function createSmartFilterField(data, type) {
|
|
1500
1762
|
var field;
|
|
1501
1763
|
switch (type) {
|
|
1764
|
+
case 'text':
|
|
1765
|
+
field = createTextSmartFilterField(data);
|
|
1766
|
+
break;
|
|
1502
1767
|
case 'boolean':
|
|
1503
1768
|
field = createBooleanSmartFilterField(data);
|
|
1504
1769
|
break;
|
|
@@ -1570,8 +1835,10 @@
|
|
|
1570
1835
|
exports.PepSmartFilterOperators = PepSmartFilterOperators;
|
|
1571
1836
|
exports.PepSmartFilterPercentageField = PepSmartFilterPercentageField;
|
|
1572
1837
|
exports.PepSmartFilterRealField = PepSmartFilterRealField;
|
|
1838
|
+
exports.PepSmartFilterTextField = PepSmartFilterTextField;
|
|
1573
1839
|
exports.PepSmartFiltersComponent = PepSmartFiltersComponent;
|
|
1574
1840
|
exports.PepSmartFiltersModule = PepSmartFiltersModule;
|
|
1841
|
+
exports.PepTextFilterComponent = PepTextFilterComponent;
|
|
1575
1842
|
exports.createSmartFilter = createSmartFilter;
|
|
1576
1843
|
exports.createSmartFilterField = createSmartFilterField;
|
|
1577
1844
|
|