@pepperi-addons/ngx-lib 0.2.59 → 0.2.61-beta.3
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/address/address.component.theme.scss +4 -7
- 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 +3 -2
- package/attachment/pepperi-addons-ngx-lib-attachment.metadata.json +1 -1
- package/bread-crumbs/bread-crumbs.component.theme.scss +7 -7
- package/bread-crumbs/pepperi-addons-ngx-lib-bread-crumbs.metadata.json +1 -1
- package/bundles/pepperi-addons-ngx-lib-address.umd.js +1 -1
- 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 +1 -1
- package/bundles/pepperi-addons-ngx-lib-bread-crumbs.umd.js.map +1 -1
- package/bundles/pepperi-addons-ngx-lib-button.umd.js +1 -1
- package/bundles/pepperi-addons-ngx-lib-button.umd.js.map +1 -1
- package/bundles/pepperi-addons-ngx-lib-checkbox.umd.js +4 -1
- package/bundles/pepperi-addons-ngx-lib-checkbox.umd.js.map +1 -1
- package/bundles/pepperi-addons-ngx-lib-color.umd.js +8 -3
- package/bundles/pepperi-addons-ngx-lib-color.umd.js.map +1 -1
- package/bundles/pepperi-addons-ngx-lib-date.umd.js +4 -1
- package/bundles/pepperi-addons-ngx-lib-date.umd.js.map +1 -1
- package/bundles/pepperi-addons-ngx-lib-dialog.umd.js +1 -1
- package/bundles/pepperi-addons-ngx-lib-dialog.umd.js.map +1 -1
- package/bundles/pepperi-addons-ngx-lib-field-title.umd.js +1 -1
- package/bundles/pepperi-addons-ngx-lib-field-title.umd.js.map +1 -1
- package/bundles/pepperi-addons-ngx-lib-files-uploader.umd.js +1 -1
- package/bundles/pepperi-addons-ngx-lib-files-uploader.umd.js.map +1 -1
- package/bundles/pepperi-addons-ngx-lib-form.umd.js +19 -16
- package/bundles/pepperi-addons-ngx-lib-form.umd.js.map +1 -1
- package/bundles/pepperi-addons-ngx-lib-group-buttons.umd.js +1 -1
- package/bundles/pepperi-addons-ngx-lib-group-buttons.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 +1 -1
- package/bundles/pepperi-addons-ngx-lib-list.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 +1104 -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-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 +9 -1
- package/bundles/pepperi-addons-ngx-lib-separator.umd.js.map +1 -1
- package/bundles/pepperi-addons-ngx-lib-side-bar.umd.js +1 -1
- 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-slider.umd.js +1 -1
- package/bundles/pepperi-addons-ngx-lib-slider.umd.js.map +1 -1
- package/bundles/pepperi-addons-ngx-lib-smart-filters.umd.js +306 -39
- 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.umd.js +5 -3
- package/bundles/pepperi-addons-ngx-lib-textbox.umd.js.map +1 -1
- package/bundles/pepperi-addons-ngx-lib-top-bar.umd.js +1 -1
- package/bundles/pepperi-addons-ngx-lib-top-bar.umd.js.map +1 -1
- package/bundles/pepperi-addons-ngx-lib.umd.js +3 -1
- 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 +123 -128
- 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/customization/customization.service.d.ts +1 -0
- package/date/date.component.theme.scss +163 -169
- package/date/pepperi-addons-ngx-lib-date.metadata.json +1 -1
- package/dialog/dialog.component.theme.scss +4 -4
- package/dialog/pepperi-addons-ngx-lib-dialog.metadata.json +1 -1
- package/esm2015/address/address.component.js +2 -2
- package/esm2015/attachment/attachment.component.js +8 -3
- package/esm2015/bread-crumbs/bread-crumbs.component.js +2 -2
- package/esm2015/button/button.component.js +2 -2
- package/esm2015/checkbox/checkbox.component.js +5 -2
- package/esm2015/color/color-picker.component.js +2 -2
- package/esm2015/color/color.component.js +8 -3
- package/esm2015/core/customization/customization.service.js +4 -2
- package/esm2015/date/date.component.js +5 -2
- package/esm2015/dialog/dialog.component.js +2 -2
- package/esm2015/field-title/field-title.component.js +2 -2
- package/esm2015/files-uploader/files-uploader.component.js +2 -2
- package/esm2015/form/indicators.component.js +2 -2
- package/esm2015/form/internal-button.component.js +20 -17
- package/esm2015/group-buttons/group-buttons.component.js +2 -2
- package/esm2015/image/image.component.js +8 -3
- package/esm2015/images-filmstrip/images-filmstrip.component.js +8 -3
- package/esm2015/list/list-total.component.js +2 -2
- package/esm2015/quantity-selector/quantity-selector.component.js +8 -3
- package/esm2015/query-builder/common/model/field.js +2 -0
- 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 +116 -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 +282 -0
- package/esm2015/rich-html-textarea/rich-html-textarea.component.js +8 -3
- package/esm2015/select/select.component.js +8 -3
- package/esm2015/separator/separator.component.js +10 -2
- package/esm2015/side-bar/side-bar.component.js +2 -2
- package/esm2015/signature/signature.component.js +8 -3
- package/esm2015/slider/slider.component.js +2 -2
- package/esm2015/smart-filters/boolean-filter/boolean-filter.component.js +23 -3
- 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/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 +2 -2
- 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/textarea.component.js +8 -3
- package/esm2015/textbox/textbox.component.js +6 -4
- package/esm2015/top-bar/top-bar.component.js +2 -2
- package/fesm2015/pepperi-addons-ngx-lib-address.js +1 -1
- 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 +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-bread-crumbs.js.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-button.js +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-button.js.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-checkbox.js +4 -1
- package/fesm2015/pepperi-addons-ngx-lib-checkbox.js.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-color.js +8 -3
- package/fesm2015/pepperi-addons-ngx-lib-color.js.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-date.js +4 -1
- package/fesm2015/pepperi-addons-ngx-lib-date.js.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-dialog.js +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-dialog.js.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-field-title.js +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-field-title.js.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-files-uploader.js +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-files-uploader.js.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-form.js +19 -16
- package/fesm2015/pepperi-addons-ngx-lib-form.js.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-group-buttons.js +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-group-buttons.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 +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-list.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 +1014 -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-select.js +7 -2
- package/fesm2015/pepperi-addons-ngx-lib-select.js.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-separator.js +9 -1
- package/fesm2015/pepperi-addons-ngx-lib-separator.js.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-side-bar.js +1 -1
- 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-slider.js +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-slider.js.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-smart-filters.js +293 -36
- 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.js +5 -3
- package/fesm2015/pepperi-addons-ngx-lib-textbox.js.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-top-bar.js +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-top-bar.js.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib.js +3 -1
- 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 +3 -2
- package/files-uploader/pepperi-addons-ngx-lib-files-uploader.metadata.json +1 -1
- package/form/indicators.component.theme.scss +5 -5
- 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 +11 -11
- 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 +28 -27
- 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 +27 -26
- package/images-filmstrip/pepperi-addons-ngx-lib-images-filmstrip.metadata.json +1 -1
- package/list/list-total.component.theme.scss +6 -6
- package/list/pepperi-addons-ngx-lib-list.metadata.json +1 -1
- package/package.json +5 -5
- package/page-layout/page-layout.component.theme.scss +6 -6
- 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 +21 -21
- package/query-builder/common/model/field.d.ts +8 -0
- package/query-builder/common/model/filter.d.ts +6 -0
- package/query-builder/common/model/legacy.d.ts +29 -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 +77 -70
- 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 +98 -2
- package/separator/pepperi-addons-ngx-lib-separator.metadata.json +1 -1
- package/separator/separator.component.theme.scss +1 -1
- package/side-bar/pepperi-addons-ngx-lib-side-bar.metadata.json +1 -1
- package/side-bar/side-bar.component.theme.scss +17 -16
- 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 +5 -21
- package/slider/pepperi-addons-ngx-lib-slider.metadata.json +1 -1
- package/slider/slider.component.theme.scss +55 -53
- 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 +6 -7
- package/smart-filters/text-filter/text-filter.component.d.ts +17 -0
- package/src/assets/i18n/en.ngx-lib.json +2 -1
- package/src/core/style/abstracts/breakpoints.scss +4 -2
- package/src/core/style/abstracts/functions.scss +233 -216
- package/src/core/style/abstracts/mixins.scss +191 -188
- package/src/core/style/base/base.scss +125 -124
- package/src/core/style/base/grids.scss +1 -1
- package/src/core/style/base/typography.scss +66 -62
- package/src/core/style/components/button.scss +57 -60
- package/src/core/style/components/checkbox.scss +41 -38
- package/src/core/style/components/datetime.scss +182 -22
- package/src/core/style/components/file.scss +159 -141
- package/src/core/style/components/general.scss +180 -278
- package/src/core/style/components/input.scss +21 -24
- package/src/core/style/components/quantity-selector.scss +15 -12
- package/src/core/style/components/radio-button.scss +22 -38
- package/src/core/style/components/select.scss +184 -182
- package/src/core/style/components/signature.scss +14 -12
- package/src/core/style/components/splitter.scss +58 -55
- package/src/core/style/components/textarea.scss +89 -78
- 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 +3 -2
- package/textbox/pepperi-addons-ngx-lib-textbox.metadata.json +1 -1
- package/textbox/textbox.component.theme.scss +1 -1
- package/theming.scss +50 -144
- package/top-bar/pepperi-addons-ngx-lib-top-bar.metadata.json +1 -1
- package/top-bar/top-bar.component.theme.scss +7 -7
- 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
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import { FormBuilder } from '@angular/forms';
|
|
3
|
+
import { PepTypeConvertorService } from '../common/services/type-convertor.service';
|
|
4
|
+
export class PepQueryBuilderItemComponent {
|
|
5
|
+
constructor(_fb, typeConvertorService) {
|
|
6
|
+
this._fb = _fb;
|
|
7
|
+
this.typeConvertorService = typeConvertorService;
|
|
8
|
+
this._fields = [];
|
|
9
|
+
this._options = [];
|
|
10
|
+
this._selectedField = null;
|
|
11
|
+
this.filterChange = new EventEmitter();
|
|
12
|
+
this.remove = new EventEmitter();
|
|
13
|
+
this.setupForm();
|
|
14
|
+
}
|
|
15
|
+
set fields(list) {
|
|
16
|
+
if ((list === null || list === void 0 ? void 0 : list.length) > 0) {
|
|
17
|
+
this._fields = list;
|
|
18
|
+
this._options = list.map(field => {
|
|
19
|
+
return {
|
|
20
|
+
key: field.smart.id,
|
|
21
|
+
value: field.smart.name
|
|
22
|
+
};
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
set selected(value) {
|
|
27
|
+
if (value) {
|
|
28
|
+
this._selectedField = value.smart;
|
|
29
|
+
this.queryForm.fieldType.setValue(value.query.fieldType);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
set filter(value) {
|
|
33
|
+
if (value) {
|
|
34
|
+
this._filter = value;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
set parentForm(value) {
|
|
38
|
+
if (value) {
|
|
39
|
+
this._parentForm = value;
|
|
40
|
+
this.addToParentForm();
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
ngOnInit() {
|
|
44
|
+
//
|
|
45
|
+
}
|
|
46
|
+
get f() {
|
|
47
|
+
return this.form.controls;
|
|
48
|
+
}
|
|
49
|
+
get queryForm() {
|
|
50
|
+
return this.f.query.controls;
|
|
51
|
+
}
|
|
52
|
+
setupForm() {
|
|
53
|
+
this.form = this._fb.group({
|
|
54
|
+
smart: this._fb.group({
|
|
55
|
+
fieldId: this._fb.control(null),
|
|
56
|
+
fieldType: this._fb.control(null),
|
|
57
|
+
operator: this._fb.control(null),
|
|
58
|
+
operatorUnit: this._fb.control(null),
|
|
59
|
+
values: this._fb.group({
|
|
60
|
+
first: this._fb.control(null),
|
|
61
|
+
second: this._fb.control(null)
|
|
62
|
+
})
|
|
63
|
+
}),
|
|
64
|
+
query: this._fb.group({
|
|
65
|
+
fieldType: this._fb.control(null)
|
|
66
|
+
})
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
addToParentForm() {
|
|
70
|
+
this._parentForm.setControl(this.formKey, this.form);
|
|
71
|
+
}
|
|
72
|
+
onFieldChanged(key) {
|
|
73
|
+
const item = this._fields.find(field => field.smart.id === key);
|
|
74
|
+
this.setupForm();
|
|
75
|
+
this.queryForm.fieldType.setValue(item.query.fieldType);
|
|
76
|
+
this.addToParentForm();
|
|
77
|
+
/**
|
|
78
|
+
* hack due to angular's change detection bug -
|
|
79
|
+
* ERROR Error: There is no FormControl instance attached to form control element with name: [formControlName]
|
|
80
|
+
*/
|
|
81
|
+
this._selectedField = null;
|
|
82
|
+
setTimeout(() => {
|
|
83
|
+
this._selectedField = item ? item.smart : null;
|
|
84
|
+
}, 0);
|
|
85
|
+
this._filter = null;
|
|
86
|
+
}
|
|
87
|
+
onFilterChanged() {
|
|
88
|
+
if (this.form.valid) {
|
|
89
|
+
this.filterChange.emit();
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
onDeleteItemClicked() {
|
|
93
|
+
this.remove.emit();
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
PepQueryBuilderItemComponent.decorators = [
|
|
97
|
+
{ type: Component, args: [{
|
|
98
|
+
selector: 'pep-query-builder-item',
|
|
99
|
+
template: "<div fxLayout=\"column\" fxLayoutGap=\".5rem\">\n <div fxLayout=\"row\" fxLayoutGap=\".5rem\">\n <pep-select fxFlex=\"25%\" [value]=\"_selectedField?.id\" xAlignment=\"left\" [options]=\"_options\"\n [renderTitle]=\"false\" (valueChange)=\"onFieldChanged($event)\"></pep-select>\n <ng-container *ngIf=\"_selectedField?.componentType\">\n <ng-container [ngSwitch]=\"_selectedField.componentType\">\n <ng-container *ngSwitchCase=\"'text'\">\n <pep-text-filter fxFlex=\"auto\" [showActionButtons]=\"false\" [field]=\"_selectedField\"\n [filter]=\"_filter\" [parentForm]=\"f.smart\" [emitOnChange]=\"true\" [inline]=\"true\"\n [renderTitle]=\"false\" (filterChange)=\"onFilterChanged()\">\n </pep-text-filter>\n </ng-container>\n <ng-container *ngSwitchCase=\"'boolean'\">\n <pep-boolean-filter fxFlex=\"auto\" [showActionButtons]=\"false\" [field]=\"_selectedField\"\n [filter]=\"_filter\" [parentForm]=\"f.smart\" [emitOnChange]=\"true\" [inline]=\"true\"\n [options]=\"typeConvertorService.booleans\" [renderTitle]=\"false\"\n (filterChange)=\"onFilterChanged()\">\n </pep-boolean-filter>\n </ng-container>\n <ng-container *ngSwitchCase=\"'date'\">\n <pep-date-filter fxFlex=\"auto\" [showActionButtons]=\"false\" [field]=\"_selectedField\"\n [filter]=\"_filter\" [parentForm]=\"f.smart\" [emitOnChange]=\"true\" [inline]=\"true\"\n [renderTitle]=\"false\" (filterChange)=\"onFilterChanged()\">\n </pep-date-filter>\n </ng-container>\n <ng-container *ngSwitchCase=\"'multi-select'\">\n <pep-multi-select-filter fxFlex=\"auto\" [showActionButtons]=\"false\" [field]=\"_selectedField\"\n [filter]=\"_filter\" [parentForm]=\"f.smart\" [emitOnChange]=\"true\" [inline]=\"true\"\n [renderTitle]=\"false\" (filterChange)=\"onFilterChanged()\">\n </pep-multi-select-filter>\n </ng-container>\n <ng-container *ngSwitchCase=\"'number'\">\n <pep-number-filter fxFlex=\"auto\" [showActionButtons]=\"false\" [field]=\"_selectedField\"\n [filter]=\"_filter\" [parentForm]=\"f.smart\" [emitOnChange]=\"true\" [inline]=\"true\"\n [renderTitle]=\"false\" (filterChange)=\"onFilterChanged()\">\n </pep-number-filter>\n </ng-container>\n </ng-container>\n </ng-container>\n <pep-button styleType=\"weak\" styleStateType=\"system_bin\" sizeType=\"md\" classNames=\"\" [disabled]=\"false\"\n iconName=\"system_bin\" iconPosition=\"end\" [visible]=\"true\" (buttonClick)=\"onDeleteItemClicked()\">\n </pep-button>\n </div>\n</div>",
|
|
100
|
+
styles: ["::ng-deep .pep-field-no-spacing{min-height:0!important;margin-bottom:0!important}"]
|
|
101
|
+
},] }
|
|
102
|
+
];
|
|
103
|
+
PepQueryBuilderItemComponent.ctorParameters = () => [
|
|
104
|
+
{ type: FormBuilder },
|
|
105
|
+
{ type: PepTypeConvertorService }
|
|
106
|
+
];
|
|
107
|
+
PepQueryBuilderItemComponent.propDecorators = {
|
|
108
|
+
formKey: [{ type: Input }],
|
|
109
|
+
fields: [{ type: Input }],
|
|
110
|
+
selected: [{ type: Input }],
|
|
111
|
+
filter: [{ type: Input }],
|
|
112
|
+
parentForm: [{ type: Input }],
|
|
113
|
+
filterChange: [{ type: Output }],
|
|
114
|
+
remove: [{ type: Output }]
|
|
115
|
+
};
|
|
116
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktYnVpbGRlci1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWIvcXVlcnktYnVpbGRlci9xdWVyeS1idWlsZGVyLWl0ZW0vcXVlcnktYnVpbGRlci1pdGVtLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxXQUFXLEVBQWEsTUFBTSxnQkFBZ0IsQ0FBQztBQUl4RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQVFwRixNQUFNLE9BQU8sNEJBQTRCO0lBK0NyQyxZQUNZLEdBQWdCLEVBQ2pCLG9CQUE2QztRQUQ1QyxRQUFHLEdBQUgsR0FBRyxDQUFhO1FBQ2pCLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBeUI7UUEvQ3hELFlBQU8sR0FBMEMsRUFBRSxDQUFDO1FBQ3BELGFBQVEsR0FBaUIsRUFBRSxDQUFDO1FBYTVCLG1CQUFjLEdBQTRCLElBQUksQ0FBQztRQXlCL0MsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRWxDLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBUXhCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBaERELElBQ0ksTUFBTSxDQUFDLElBQTJDO1FBQ2xELElBQUksQ0FBQSxJQUFJLGFBQUosSUFBSSx1QkFBSixJQUFJLENBQUUsTUFBTSxJQUFHLENBQUMsRUFBRTtZQUNsQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztZQUNwQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQzdCLE9BQU87b0JBQ0gsR0FBRyxFQUFFLEtBQUssQ0FB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QUFHLEVBQUU7WUFDWixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ25ELENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUVOLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxlQUFlO1FBQ1gsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNqQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO1NBQzVCO0lBQ0wsQ0FBQztJQUVELG1CQUFtQjtRQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdkIsQ0FBQzs7O1lBeEhKLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsd0JBQXdCO2dCQUNsQywwaEdBQWtEOzthQUVyRDs7O1lBWFEsV0FBVztZQUlYLHVCQUF1Qjs7O3NCQVMzQixLQUFLO3FCQUdMLEtBQUs7dUJBYUwsS0FBSztxQkFRTCxLQUFLO3lCQU9MLEtBQUs7MkJBUUwsTUFBTTtxQkFFTixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBQZXBTbWFydEZpbHRlckJhc2VGaWVsZCwgSVBlcFNtYXJ0RmlsdGVyRmllbGQgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYi9zbWFydC1maWx0ZXJzJztcbmltcG9ydCB7IElQZXBTbWFydEZpbHRlckRhdGEgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYi9zbWFydC1maWx0ZXJzJztcbmltcG9ydCB7IElQZXBPcHRpb24gfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYic7XG5pbXBvcnQgeyBQZXBUeXBlQ29udmVydG9yU2VydmljZSB9IGZyb20gJy4uL2NvbW1vbi9zZXJ2aWNlcy90eXBlLWNvbnZlcnRvci5zZXJ2aWNlJztcbmltcG9ydCB7IElQZXBRdWVyeUJ1aWxkZXJGaWVsZENvbnRhaW5lciB9IGZyb20gJy4uL2NvbW1vbi9tb2RlbC9maWVsZCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncGVwLXF1ZXJ5LWJ1aWxkZXItaXRlbScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3F1ZXJ5LWJ1aWxkZXItaXRlbS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vcXVlcnktYnVpbGRlci1pdGVtLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFBlcFF1ZXJ5QnVpbGRlckl0ZW1Db21wb25lbnQge1xuICAgIEBJbnB1dCgpIGZvcm1LZXk6IHN0cmluZztcbiAgICBfZmllbGRzOiBBcnJheTxJUGVwUXVlcnlCdWlsZGVyRmllbGRDb250YWluZXI+ID0gW107XG4gICAgX29wdGlvbnM6IElQZXBPcHRpb25bXSA9IFtdO1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IGZpZWxkcyhsaXN0OiBBcnJheTxJUGVwUXVlcnlCdWlsZGVyRmllbGRDb250YWluZXI+KSB7XG4gICAgICAgIGlmIChsaXN0Py5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICB0aGlzLl9maWVsZHMgPSBsaXN0O1xuICAgICAgICAgICAgdGhpcy5fb3B0aW9ucyA9IGxpc3QubWFwKGZpZWxkID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICBrZXk6IGZpZWxkLnNtYXJ0LmlkLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogZmllbGQuc21hcnQubmFtZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICB9XG4gICAgX3NlbGVjdGVkRmllbGQ6IFBlcFNtYXJ0RmlsdGVyQmFzZUZpZWxkID0gbnVsbDtcbiAgICBASW5wdXQoKVxuICAgIHNldCBzZWxlY3RlZCh2YWx1ZTogSVBlcFF1ZXJ5QnVpbGRlckZpZWxkQ29udGFpbmVyKSB7XG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5fc2VsZWN0ZWRGaWVsZCA9IHZhbHVlLnNtYXJ0O1xuICAgICAgICAgICAgdGhpcy5xdWVyeUZvcm0uZmllbGRUeXBlLnNldFZhbHVlKHZhbHVlLnF1ZXJ5LmZpZWxkVHlwZSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgX2ZpbHRlcjogSVBlcFNtYXJ0RmlsdGVyRGF0YTtcbiAgICBASW5wdXQoKVxuICAgIHNldCBmaWx0ZXIodmFsdWU6IElQZXBTbWFydEZpbHRlckRhdGEpIHtcbiAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLl9maWx0ZXIgPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBfcGFyZW50Rm9ybTogRm9ybUdyb3VwO1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHBhcmVudEZvcm0odmFsdWU6IEZvcm1Hcm91cCkge1xuICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuX3BhcmVudEZvcm0gPSB2YWx1ZTtcbiAgICAgICAgICAgIHRoaXMuYWRkVG9QYXJlbnRGb3JtKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAT3V0cHV0KClcbiAgICBmaWx0ZXJDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgQE91dHB1dCgpXG4gICAgcmVtb3ZlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgZm9ybTogRm9ybUdyb3VwO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgX2ZiOiBGb3JtQnVpbGRlcixcbiAgICAgICAgcHVibGljIHR5cGVDb252ZXJ0b3JTZXJ2aWNlOiBQZXBUeXBlQ29udmVydG9yU2VydmljZVxuICAgICkge1xuICAgICAgICB0aGlzLnNldHVwRm9ybSgpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICAvL1xuICAgIH1cblxuICAgIGdldCBmKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5mb3JtLmNvbnRyb2xzO1xuICAgIH1cblxuICAgIGdldCBxdWVyeUZvcm0oKSB7XG4gICAgICAgIHJldHVybiAodGhpcy5mLnF1ZXJ5IGFzIEZvcm1Hcm91cCkuY29udHJvbHM7XG4gICAgfVxuXG4gICAgc2V0dXBGb3JtKCkge1xuICAgICAgICB0aGlzLmZvcm0gPSB0aGlzLl9mYi5ncm91cCh7XG4gICAgICAgICAgICBzbWFydDogdGhpcy5fZmIuZ3JvdXAoe1xuICAgICAgICAgICAgICAgIGZpZWxkSWQ6IHRoaXMuX2ZiLmNvbnRyb2wobnVsbCksXG4gICAgICAgICAgICAgICAgZmllbGRUeXBlOiB0aGlzLl9mYi5jb250cm9sKG51bGwpLFxuICAgICAgICAgICAgICAgIG9wZXJhdG9yOiB0aGlzLl9mYi5jb250cm9sKG51bGwpLFxuICAgICAgICAgICAgICAgIG9wZXJhdG9yVW5pdDogdGhpcy5fZmIuY29udHJvbChudWxsKSxcbiAgICAgICAgICAgICAgICB2YWx1ZXM6IHRoaXMuX2ZiLmdyb3VwKHtcbiAgICAgICAgICAgICAgICAgICAgZmlyc3Q6IHRoaXMuX2ZiLmNvbnRyb2wobnVsbCksXG4gICAgICAgICAgICAgICAgICAgIHNlY29uZDogdGhpcy5fZmIuY29udHJvbChudWxsKVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHF1ZXJ5OiB0aGlzLl9mYi5ncm91cCh7XG4gICAgICAgICAgICAgICAgZmllbGRUeXBlOiB0aGlzLl9mYi5jb250cm9sKG51bGwpXG4gICAgICAgICAgICB9KVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBhZGRUb1BhcmVudEZvcm0oKSB7XG4gICAgICAgIHRoaXMuX3BhcmVudEZvcm0uc2V0Q29udHJvbCh0aGlzLmZvcm1LZXksIHRoaXMuZm9ybSk7XG4gICAgfVxuXG4gICAgb25GaWVsZENoYW5nZWQoa2V5KSB7XG4gICAgICAgIGNvbnN0IGl0ZW0gPSB0aGlzLl9maWVsZHMuZmluZChmaWVsZCA9PiBmaWVsZC5zbWFydC5pZCA9PT0ga2V5KTtcblxuICAgICAgICB0aGlzLnNldHVwRm9ybSgpO1xuICAgICAgICB0aGlzLnF1ZXJ5Rm9ybS5maWVsZFR5cGUuc2V0VmFsdWUoaXRlbS5xdWVyeS5maWVsZFR5cGUpO1xuICAgICAgICB0aGlzLmFkZFRvUGFyZW50Rm9ybSgpO1xuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBoYWNrIGR1ZSB0byBhbmd1bGFyJ3MgY2hhbmdlIGRldGVjdGlvbiBidWcgLVxuICAgICAgICAgKiBFUlJPUiBFcnJvcjogVGhlcmUgaXMgbm8gRm9ybUNvbnRyb2wgaW5zdGFuY2UgYXR0YWNoZWQgdG8gZm9ybSBjb250cm9sIGVsZW1lbnQgd2l0aCBuYW1lOiBbZm9ybUNvbnRyb2xOYW1lXVxuICAgICAgICAgKi9cbiAgICAgICAgdGhpcy5fc2VsZWN0ZWRGaWVsZCA9IG51bGw7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fc2VsZWN0ZWRGaWVsZCA9IGl0ZW0gPyBpdGVtLnNtYXJ0IDogbnVsbDtcbiAgICAgICAgfSwgMCk7XG5cbiAgICAgICAgdGhpcy5fZmlsdGVyID0gbnVsbDtcbiAgICB9XG5cbiAgICBvbkZpbHRlckNoYW5nZWQoKSB7XG4gICAgICAgIGlmICh0aGlzLmZvcm0udmFsaWQpIHtcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyQ2hhbmdlLmVtaXQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uRGVsZXRlSXRlbUNsaWNrZWQoKSB7XG4gICAgICAgIHRoaXMucmVtb3ZlLmVtaXQoKTtcbiAgICB9XG5cblxuXG59XG4iXX0=
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output, ViewChild, ViewContainerRef } from '@angular/core';
|
|
2
|
+
import { PepTypeConvertorService } from '../common/services/type-convertor.service';
|
|
3
|
+
export class PepQueryBuilderSectionComponent {
|
|
4
|
+
constructor(_typeConvertorService) {
|
|
5
|
+
this._typeConvertorService = _typeConvertorService;
|
|
6
|
+
this.hasFields = true;
|
|
7
|
+
this.createSection = new EventEmitter();
|
|
8
|
+
this.createItem = new EventEmitter();
|
|
9
|
+
this.remove = new EventEmitter();
|
|
10
|
+
this.operatorChange = new EventEmitter();
|
|
11
|
+
}
|
|
12
|
+
ngOnInit() {
|
|
13
|
+
this.initOperators();
|
|
14
|
+
}
|
|
15
|
+
get f() {
|
|
16
|
+
return this.form.controls;
|
|
17
|
+
}
|
|
18
|
+
initOperators() {
|
|
19
|
+
this.toggleButtons = this._typeConvertorService.operators.map((operator) => {
|
|
20
|
+
return {
|
|
21
|
+
key: operator.key,
|
|
22
|
+
value: operator.value,
|
|
23
|
+
callback: (event) => this.onOperatorChanged(event)
|
|
24
|
+
};
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
onOperatorChanged(event) {
|
|
28
|
+
var _a;
|
|
29
|
+
if ((_a = event === null || event === void 0 ? void 0 : event.source) === null || _a === void 0 ? void 0 : _a.key) {
|
|
30
|
+
this.f.operator.setValue(event.source.key);
|
|
31
|
+
this.operatorChange.emit();
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
onAddRuleClicked() {
|
|
35
|
+
this.createItem.emit();
|
|
36
|
+
}
|
|
37
|
+
onAddRuleSetClicked() {
|
|
38
|
+
this.createSection.emit();
|
|
39
|
+
}
|
|
40
|
+
onDeleteSectionClicked() {
|
|
41
|
+
this.remove.emit();
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
PepQueryBuilderSectionComponent.decorators = [
|
|
45
|
+
{ type: Component, args: [{
|
|
46
|
+
selector: 'pep-query-builder-section',
|
|
47
|
+
template: "<div fxLayout=\"row\" fxLayoutGap=\".5rem\">\n <div class=\"query-section-container\" fxLayout=\"column\" fxLayoutGap=\".5rem\">\n <div fxLayout=\"row\" fxLayoutAlign=\"space-between\">\n <pep-group-buttons [buttons]=\"toggleButtons\" [selectedButtonKey]=\"f.operator?.value || ''\" styleType=\"weak\"\n sizeType=\"sm\" [viewType]=\"'toggle'\" [buttonsDisabled]=\"!hasFields\">\n </pep-group-buttons>\n <div fxLayout=\"row\" fxLayoutGap=\".5rem\">\n <pep-button value=\"Add Filter\" styleType=\"weak\" styleStateType=\"system\" sizeType=\"sm\" classNames=\"\"\n [disabled]=\"!hasFields\" iconName=\"number_plus\" iconPosition=\"end\" [visible]=\"true\"\n (buttonClick)=\"onAddRuleClicked()\"></pep-button>\n <ng-container *ngIf=\"depth.current < depth.max-1\">\n <pep-button value=\"Add Filter Group\" styleType=\"weak\" styleStateType=\"system\" sizeType=\"sm\"\n classNames=\"\" [disabled]=\"!hasFields\" iconName=\"number_plus\" iconPosition=\"end\" [visible]=\"true\"\n (buttonClick)=\"onAddRuleSetClicked()\"></pep-button>\n </ng-container>\n </div>\n </div>\n <ng-container #sectionContainer></ng-container>\n </div>\n <pep-button *ngIf=\"depth.current > 0\" styleType=\"weak\" styleStateType=\"system_bin\" sizeType=\"md\" classNames=\"\"\n [disabled]=\"false\" iconName=\"system_bin\" iconPosition=\"end\" [visible]=\"true\"\n (buttonClick)=\"onDeleteSectionClicked()\">\n </pep-button>\n</div>",
|
|
48
|
+
styles: [".query-section-container{border-radius:.25rem;border-radius:var(--pep-border-radius-md,.25rem);padding:.5rem;width:100%}", ".query-section-container{box-shadow:0 .25rem .5rem 0 rgba(26,26,26,.08);box-shadow:var(--pep-shadow-sm-offset,0 .25rem .5rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.08);border:1px solid rgba(26,26,26,.24);border:1px solid hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.24)}"]
|
|
49
|
+
},] }
|
|
50
|
+
];
|
|
51
|
+
PepQueryBuilderSectionComponent.ctorParameters = () => [
|
|
52
|
+
{ type: PepTypeConvertorService }
|
|
53
|
+
];
|
|
54
|
+
PepQueryBuilderSectionComponent.propDecorators = {
|
|
55
|
+
form: [{ type: Input }],
|
|
56
|
+
depth: [{ type: Input }],
|
|
57
|
+
hasFields: [{ type: Input }],
|
|
58
|
+
createSection: [{ type: Output }],
|
|
59
|
+
createItem: [{ type: Output }],
|
|
60
|
+
remove: [{ type: Output }],
|
|
61
|
+
operatorChange: [{ type: Output }],
|
|
62
|
+
sectionContainer: [{ type: ViewChild, args: ['sectionContainer', { read: ViewContainerRef, static: true },] }]
|
|
63
|
+
};
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktYnVpbGRlci1zZWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWIvcXVlcnktYnVpbGRlci9xdWVyeS1idWlsZGVyLXNlY3Rpb24vcXVlcnktYnVpbGRlci1zZWN0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFDVCxnQkFBZ0IsRUFDbkIsTUFBTSxlQUFlLENBQUM7QUFPdkIsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFRcEYsTUFBTSxPQUFPLCtCQUErQjtJQWtCeEMsWUFBb0IscUJBQThDO1FBQTlDLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBeUI7UUFmekQsY0FBUyxHQUFHLElBQUksQ0FBQztRQUcxQixrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFbkMsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFaEMsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFNUIsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBT3BDLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUFJLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQzlCLENBQUM7SUFFRCxhQUFhO1FBQ1QsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQW9CLEVBQUUsRUFBRTtZQUNuRixPQUFPO2dCQUNILEdBQUcsRUFBRSxRQUFRLENBQUMsR0FBRztnQkFDakIsS0FBSyxFQUFFLFFBQVEsQ0FBQyxLQUFLO2dCQUNyQixRQUFRLEVBQUUsQ0FBQyxLQUEyQixFQUFFLEVBQUUsQ0FDdEMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQzthQUN2QixDQUFBO1FBQ2xCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELGlCQUFpQixDQUFDLEtBQUs7O1FBQ25CLElBQUksTUFBQSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsTUFBTSwwQ0FBRSxHQUFHLEVBQUU7WUFDcEIsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDM0MsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUM5QjtJQUNMLENBQUM7SUFFRCxnQkFBZ0I7UUFDWixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxtQkFBbUI7UUFDZixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRCxzQkFBc0I7UUFDbEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN2QixDQUFDOzs7WUE5REosU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSwyQkFBMkI7Z0JBQ3JDLG9vREFBcUQ7O2FBRXhEOzs7WUFQUSx1QkFBdUI7OzttQkFTM0IsS0FBSztvQkFDTCxLQUFLO3dCQUNMLEtBQUs7NEJBRUwsTUFBTTt5QkFFTixNQUFNO3FCQUVOLE1BQU07NkJBRU4sTUFBTTsrQkFHTixTQUFTLFNBQUMsa0JBQWtCLEVBQUUsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdDb250YWluZXJSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICAgIElQZXBCdXR0b25DbGlja0V2ZW50LFxuICAgIFBlcEJ1dHRvbixcbn0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWIvYnV0dG9uJztcbmltcG9ydCB7IElQZXBPcHRpb24gfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYic7XG5pbXBvcnQgeyBQZXBUeXBlQ29udmVydG9yU2VydmljZSB9IGZyb20gJy4uL2NvbW1vbi9zZXJ2aWNlcy90eXBlLWNvbnZlcnRvci5zZXJ2aWNlJztcbmltcG9ydCB7IElQZXBRdWVyeURlcHRoIH0gZnJvbSAnLi4vY29tbW9uL21vZGVsL3N0cnVjdHVyZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncGVwLXF1ZXJ5LWJ1aWxkZXItc2VjdGlvbicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3F1ZXJ5LWJ1aWxkZXItc2VjdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vcXVlcnktYnVpbGRlci1zZWN0aW9uLmNvbXBvbmVudC5zY3NzJywgJy4vcXVlcnktYnVpbGRlci1zZWN0aW9uLmNvbXBvbmVudC50aGVtZS5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFBlcFF1ZXJ5QnVpbGRlclNlY3Rpb25Db21wb25lbnQge1xuICAgIEBJbnB1dCgpIGZvcm06IEZvcm1Hcm91cDtcbiAgICBASW5wdXQoKSBkZXB0aDogSVBlcFF1ZXJ5RGVwdGg7XG4gICAgQElucHV0KCkgaGFzRmllbGRzID0gdHJ1ZTtcblxuICAgIEBPdXRwdXQoKVxuICAgIGNyZWF0ZVNlY3Rpb24gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgQE91dHB1dCgpXG4gICAgY3JlYXRlSXRlbSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBAT3V0cHV0KClcbiAgICByZW1vdmUgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgQE91dHB1dCgpXG4gICAgb3BlcmF0b3JDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBAVmlld0NoaWxkKCdzZWN0aW9uQ29udGFpbmVyJywgeyByZWFkOiBWaWV3Q29udGFpbmVyUmVmLCBzdGF0aWM6IHRydWUgfSkgc2VjdGlvbkNvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZjtcblxuICAgIHRvZ2dsZUJ1dHRvbnM6IEFycmF5PFBlcEJ1dHRvbj47XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF90eXBlQ29udmVydG9yU2VydmljZTogUGVwVHlwZUNvbnZlcnRvclNlcnZpY2UpIHtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5pbml0T3BlcmF0b3JzKCk7XG4gICAgfVxuXG4gICAgZ2V0IGYoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvcm0uY29udHJvbHM7XG4gICAgfVxuXG4gICAgaW5pdE9wZXJhdG9ycygpIHtcbiAgICAgICAgdGhpcy50b2dnbGVCdXR0b25zID0gdGhpcy5fdHlwZUNvbnZlcnRvclNlcnZpY2Uub3BlcmF0b3JzLm1hcCgob3BlcmF0b3I6IElQZXBPcHRpb24pID0+IHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAga2V5OiBvcGVyYXRvci5rZXksXG4gICAgICAgICAgICAgICAgdmFsdWU6IG9wZXJhdG9yLnZhbHVlLFxuICAgICAgICAgICAgICAgIGNhbGxiYWNrOiAoZXZlbnQ6IElQZXBCdXR0b25DbGlja0V2ZW50KSA9PlxuICAgICAgICAgICAgICAgICAgICB0aGlzLm9uT3BlcmF0b3JDaGFuZ2VkKGV2ZW50KVxuICAgICAgICAgICAgfSBhcyBQZXBCdXR0b25cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb25PcGVyYXRvckNoYW5nZWQoZXZlbnQpIHtcbiAgICAgICAgaWYgKGV2ZW50Py5zb3VyY2U/LmtleSkge1xuICAgICAgICAgICAgdGhpcy5mLm9wZXJhdG9yLnNldFZhbHVlKGV2ZW50LnNvdXJjZS5rZXkpO1xuICAgICAgICAgICAgdGhpcy5vcGVyYXRvckNoYW5nZS5lbWl0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkFkZFJ1bGVDbGlja2VkKCkge1xuICAgICAgICB0aGlzLmNyZWF0ZUl0ZW0uZW1pdCgpO1xuICAgIH1cblxuICAgIG9uQWRkUnVsZVNldENsaWNrZWQoKSB7XG4gICAgICAgIHRoaXMuY3JlYXRlU2VjdGlvbi5lbWl0KCk7XG4gICAgfVxuXG4gICAgb25EZWxldGVTZWN0aW9uQ2xpY2tlZCgpIHtcbiAgICAgICAgdGhpcy5yZW1vdmUuZW1pdCgpO1xuICAgIH1cblxuXG59XG4iXX0=
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
|
|
2
|
+
import { FormBuilder } from '@angular/forms';
|
|
3
|
+
import { PepQueryBuilderService } from './query-builder.service';
|
|
4
|
+
import { PepTypeConvertorService } from './common/services/type-convertor.service';
|
|
5
|
+
import { PepOutputQueryService } from './common/services/output-query.service';
|
|
6
|
+
import { PepOperatorTypes } from './common/model/type';
|
|
7
|
+
export class PepQueryBuilderComponent {
|
|
8
|
+
constructor(_fb, queryBuilderService) {
|
|
9
|
+
this._fb = _fb;
|
|
10
|
+
this.queryBuilderService = queryBuilderService;
|
|
11
|
+
this._query = null;
|
|
12
|
+
this.queryChange = new EventEmitter();
|
|
13
|
+
this.formValidationChange = new EventEmitter();
|
|
14
|
+
this._lastFormValidStatus = true;
|
|
15
|
+
this.hasFields = false;
|
|
16
|
+
this.setupForm();
|
|
17
|
+
this.initDepth();
|
|
18
|
+
this._formSubscription$ = this.queryBuilderService.form.valueChanges.subscribe((val) => {
|
|
19
|
+
if (this.queryBuilderService.form.valid !== this._lastFormValidStatus) {
|
|
20
|
+
this._lastFormValidStatus = this.queryBuilderService.form.valid;
|
|
21
|
+
this.formValidationChange.emit(this._lastFormValidStatus);
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
this._outputQuerySubscription$ = this.queryBuilderService.outputQuery$.subscribe((outputQuery) => {
|
|
25
|
+
this.queryChange.emit(outputQuery);
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
set query(object) {
|
|
29
|
+
this._query = object;
|
|
30
|
+
this.loadQuery();
|
|
31
|
+
}
|
|
32
|
+
set fields(list) {
|
|
33
|
+
this.queryBuilderService.fields = list;
|
|
34
|
+
this.hasFields = this.queryBuilderService.hasFields;
|
|
35
|
+
this.loadQuery();
|
|
36
|
+
}
|
|
37
|
+
set maxDepth(value) {
|
|
38
|
+
this.queryBuilderService.maxDepth = value;
|
|
39
|
+
}
|
|
40
|
+
ngOnInit() {
|
|
41
|
+
//
|
|
42
|
+
}
|
|
43
|
+
setupForm() {
|
|
44
|
+
this.queryBuilderService.form = this._fb.group({
|
|
45
|
+
operator: this._fb.control(PepOperatorTypes.And)
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
initDepth() {
|
|
49
|
+
this.depth = {
|
|
50
|
+
current: 0,
|
|
51
|
+
max: this.queryBuilderService.maxDepth
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* builds UI query structure as soon as both the fields and query loads
|
|
56
|
+
*/
|
|
57
|
+
loadQuery() {
|
|
58
|
+
var _a;
|
|
59
|
+
if (this._query &&
|
|
60
|
+
this.queryBuilderService.hasFields &&
|
|
61
|
+
((_a = this.root) === null || _a === void 0 ? void 0 : _a.sectionContainer)) {
|
|
62
|
+
this.queryBuilderService.buildQueryStructure(this._query, this.root.sectionContainer);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
onCreateSection() {
|
|
66
|
+
const section = this.queryBuilderService.createSection(PepOperatorTypes.And, this.root.sectionContainer, this.queryBuilderService.form, 1);
|
|
67
|
+
this.queryBuilderService.createItem(null, section.containerRef, section.parentForm);
|
|
68
|
+
}
|
|
69
|
+
onCreateItem() {
|
|
70
|
+
this.queryBuilderService.createItem(null, this.root.sectionContainer, this.queryBuilderService.form);
|
|
71
|
+
}
|
|
72
|
+
onOperatorChange() {
|
|
73
|
+
this.queryBuilderService.createOutputQuery();
|
|
74
|
+
}
|
|
75
|
+
ngOnDestroy() {
|
|
76
|
+
if (this._formSubscription$) {
|
|
77
|
+
this._formSubscription$.unsubscribe();
|
|
78
|
+
}
|
|
79
|
+
if (this._outputQuerySubscription$) {
|
|
80
|
+
this._outputQuerySubscription$.unsubscribe();
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
PepQueryBuilderComponent.decorators = [
|
|
85
|
+
{ type: Component, args: [{
|
|
86
|
+
selector: 'pep-query-builder',
|
|
87
|
+
template: "<pep-query-builder-section #rootContainer [form]=\"queryBuilderService.form\" [depth]=\"depth\" [hasFields]=\"hasFields\"\n (createSection)=\"onCreateSection()\" (createItem)=\"onCreateItem()\" (operatorChange)=\"onOperatorChange()\">\n</pep-query-builder-section>",
|
|
88
|
+
providers: [PepQueryBuilderService, PepTypeConvertorService, PepOutputQueryService],
|
|
89
|
+
styles: [""]
|
|
90
|
+
},] }
|
|
91
|
+
];
|
|
92
|
+
PepQueryBuilderComponent.ctorParameters = () => [
|
|
93
|
+
{ type: FormBuilder },
|
|
94
|
+
{ type: PepQueryBuilderService }
|
|
95
|
+
];
|
|
96
|
+
PepQueryBuilderComponent.propDecorators = {
|
|
97
|
+
query: [{ type: Input }],
|
|
98
|
+
fields: [{ type: Input }],
|
|
99
|
+
maxDepth: [{ type: Input }],
|
|
100
|
+
queryChange: [{ type: Output }],
|
|
101
|
+
formValidationChange: [{ type: Output }],
|
|
102
|
+
root: [{ type: ViewChild, args: ['rootContainer', { static: true },] }]
|
|
103
|
+
};
|
|
104
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktYnVpbGRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL3F1ZXJ5LWJ1aWxkZXIvcXVlcnktYnVpbGRlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFHTixTQUFTLEVBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRzdDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBRS9FLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBU3ZELE1BQU0sT0FBTyx3QkFBd0I7SUErQmpDLFlBQ1ksR0FBZ0IsRUFDakIsbUJBQTJDO1FBRDFDLFFBQUcsR0FBSCxHQUFHLENBQWE7UUFDakIsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUF3QjtRQWhDdEQsV0FBTSxHQUFxQyxJQUFJLENBQUM7UUFrQmhELGdCQUFXLEdBQW1ELElBQUksWUFBWSxFQUFvQyxDQUFDO1FBRW5ILHlCQUFvQixHQUEwQixJQUFJLFlBQVksRUFBVyxDQUFDO1FBTTFFLHlCQUFvQixHQUFHLElBQUksQ0FBQztRQUU1QixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBTWQsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDbkYsSUFBSSxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsb0JBQW9CLEVBQUU7Z0JBQ25FLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztnQkFDaEUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQzthQUM3RDtRQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLHlCQUF5QixHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUU7WUFDN0YsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDdkMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBNUNELElBQ0ksS0FBSyxDQUFDLE1BQXdDO1FBQzlDLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQTtJQUNwQixDQUFDO0lBQ0QsSUFDSSxNQUFNLENBQUMsSUFBa0M7UUFDekMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFDdkMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsU0FBUyxDQUFDO1FBQ3BELElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBQ0QsSUFDSSxRQUFRLENBQUMsS0FBYTtRQUN0QixJQUFJLENBQUMsbUJBQW1CLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUM5QyxDQUFDO0lBZ0NELFFBQVE7UUFDSixFQUFFO0lBQ04sQ0FBQztJQUVELFNBQVM7UUFDTCxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDO1lBQzNDLFFBQVEsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUM7U0FDbkQsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFNBQVM7UUFDTCxJQUFJLENBQUMsS0FBSyxHQUFHO1lBQ1QsT0FBTyxFQUFFLENBQUM7WUFDVixHQUFHLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFFBQVE7U0FDekMsQ0FBQTtJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNILFNBQVM7O1FBQ0wsSUFDSSxJQUFJLENBQUMsTUFBTTtZQUNYLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTO2FBQ2xDLE1BQUEsSUFBSSxDQUFDLElBQUksMENBQUUsZ0JBQWdCLENBQUEsRUFDN0I7WUFDRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7U0FDekY7SUFDTCxDQUFDO0lBRUQsZUFBZTtRQUNYLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMzSSxJQUFJLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN4RixDQUFDO0lBRUQsWUFBWTtRQUNSLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pHLENBQUM7SUFFRCxnQkFBZ0I7UUFDWixJQUFJLENBQUMsbUJBQW1CLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUNqRCxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFO1lBQ3pCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUN6QztRQUNELElBQUksSUFBSSxDQUFDLHlCQUF5QixFQUFFO1lBQ2hDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUNoRDtJQUNMLENBQUM7OztZQXhHSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLG1CQUFtQjtnQkFDN0IsdVJBQTZDO2dCQUU3QyxTQUFTLEVBQUUsQ0FBQyxzQkFBc0IsRUFBRSx1QkFBdUIsRUFBRSxxQkFBcUIsQ0FBQzs7YUFDdEY7OztZQWZRLFdBQVc7WUFHWCxzQkFBc0I7OztvQkFlMUIsS0FBSztxQkFLTCxLQUFLO3VCQU1MLEtBQUs7MEJBS0wsTUFBTTttQ0FFTixNQUFNO21CQUdOLFNBQVMsU0FBQyxlQUFlLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbiAgICBPbkluaXQsXG4gICAgT25EZXN0cm95LFxuICAgIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUGVwUXVlcnlCdWlsZGVyU2VjdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vcXVlcnktYnVpbGRlci1zZWN0aW9uL3F1ZXJ5LWJ1aWxkZXItc2VjdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgSVBlcFF1ZXJ5QnVpbGRlckZpZWxkLCBJUGVwUXVlcnlTZWN0aW9uLCBJUGVwUXVlcnlJdGVtIH0gZnJvbSAnLi9jb21tb24vbW9kZWwvbGVnYWN5JztcbmltcG9ydCB7IFBlcFF1ZXJ5QnVpbGRlclNlcnZpY2UgfSBmcm9tICcuL3F1ZXJ5LWJ1aWxkZXIuc2VydmljZSc7XG5pbXBvcnQgeyBQZXBUeXBlQ29udmVydG9yU2VydmljZSB9IGZyb20gJy4vY29tbW9uL3NlcnZpY2VzL3R5cGUtY29udmVydG9yLnNlcnZpY2UnO1xuaW1wb3J0IHsgUGVwT3V0cHV0UXVlcnlTZXJ2aWNlIH0gZnJvbSAnLi9jb21tb24vc2VydmljZXMvb3V0cHV0LXF1ZXJ5LnNlcnZpY2UnO1xuaW1wb3J0IHsgSVBlcFF1ZXJ5RGVwdGggfSBmcm9tICcuL2NvbW1vbi9tb2RlbC9zdHJ1Y3R1cmUnO1xuaW1wb3J0IHsgUGVwT3BlcmF0b3JUeXBlcyB9IGZyb20gJy4vY29tbW9uL21vZGVsL3R5cGUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncGVwLXF1ZXJ5LWJ1aWxkZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9xdWVyeS1idWlsZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9xdWVyeS1idWlsZGVyLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgcHJvdmlkZXJzOiBbUGVwUXVlcnlCdWlsZGVyU2VydmljZSwgUGVwVHlwZUNvbnZlcnRvclNlcnZpY2UsIFBlcE91dHB1dFF1ZXJ5U2VydmljZV1cbn0pXG5leHBvcnQgY2xhc3MgUGVwUXVlcnlCdWlsZGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIF9xdWVyeTogSVBlcFF1ZXJ5U2VjdGlvbiB8IElQZXBRdWVyeUl0ZW0gPSBudWxsO1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHF1ZXJ5KG9iamVjdDogSVBlcFF1ZXJ5U2VjdGlvbiB8IElQZXBRdWVyeUl0ZW0pIHtcbiAgICAgICAgdGhpcy5fcXVlcnkgPSBvYmplY3Q7XG4gICAgICAgIHRoaXMubG9hZFF1ZXJ5KClcbiAgICB9XG4gICAgQElucHV0KClcbiAgICBzZXQgZmllbGRzKGxpc3Q6IEFycmF5PElQZXBRdWVyeUJ1aWxkZXJGaWVsZD4pIHtcbiAgICAgICAgdGhpcy5xdWVyeUJ1aWxkZXJTZXJ2aWNlLmZpZWxkcyA9IGxpc3Q7XG4gICAgICAgIHRoaXMuaGFzRmllbGRzID0gdGhpcy5xdWVyeUJ1aWxkZXJTZXJ2aWNlLmhhc0ZpZWxkcztcbiAgICAgICAgdGhpcy5sb2FkUXVlcnkoKTtcbiAgICB9XG4gICAgQElucHV0KClcbiAgICBzZXQgbWF4RGVwdGgodmFsdWU6IG51bWJlcikge1xuICAgICAgICB0aGlzLnF1ZXJ5QnVpbGRlclNlcnZpY2UubWF4RGVwdGggPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBAT3V0cHV0KClcbiAgICBxdWVyeUNoYW5nZTogRXZlbnRFbWl0dGVyPElQZXBRdWVyeVNlY3Rpb24gfCBJUGVwUXVlcnlJdGVtPiA9IG5ldyBFdmVudEVtaXR0ZXI8SVBlcFF1ZXJ5U2VjdGlvbiB8IElQZXBRdWVyeUl0ZW0+KCk7XG4gICAgQE91dHB1dCgpXG4gICAgZm9ybVZhbGlkYXRpb25DaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIEBWaWV3Q2hpbGQoJ3Jvb3RDb250YWluZXInLCB7IHN0YXRpYzogdHJ1ZSB9KSByb290OiBQZXBRdWVyeUJ1aWxkZXJTZWN0aW9uQ29tcG9uZW50O1xuXG4gICAgX2Zvcm1TdWJzY3JpcHRpb24kOiBTdWJzY3JpcHRpb247XG4gICAgX291dHB1dFF1ZXJ5U3Vic2NyaXB0aW9uJDogU3Vic2NyaXB0aW9uO1xuICAgIF9sYXN0Rm9ybVZhbGlkU3RhdHVzID0gdHJ1ZTtcbiAgICBkZXB0aDogSVBlcFF1ZXJ5RGVwdGg7XG4gICAgaGFzRmllbGRzID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBfZmI6IEZvcm1CdWlsZGVyLFxuICAgICAgICBwdWJsaWMgcXVlcnlCdWlsZGVyU2VydmljZTogUGVwUXVlcnlCdWlsZGVyU2VydmljZVxuICAgICkge1xuICAgICAgICB0aGlzLnNldHVwRm9ybSgpO1xuICAgICAgICB0aGlzLmluaXREZXB0aCgpO1xuICAgICAgICB0aGlzLl9mb3JtU3Vic2NyaXB0aW9uJCA9IHRoaXMucXVlcnlCdWlsZGVyU2VydmljZS5mb3JtLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKHZhbCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMucXVlcnlCdWlsZGVyU2VydmljZS5mb3JtLnZhbGlkICE9PSB0aGlzLl9sYXN0Rm9ybVZhbGlkU3RhdHVzKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fbGFzdEZvcm1WYWxpZFN0YXR1cyA9IHRoaXMucXVlcnlCdWlsZGVyU2VydmljZS5mb3JtLnZhbGlkO1xuICAgICAgICAgICAgICAgIHRoaXMuZm9ybVZhbGlkYXRpb25DaGFuZ2UuZW1pdCh0aGlzLl9sYXN0Rm9ybVZhbGlkU3RhdHVzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuX291dHB1dFF1ZXJ5U3Vic2NyaXB0aW9uJCA9IHRoaXMucXVlcnlCdWlsZGVyU2VydmljZS5vdXRwdXRRdWVyeSQuc3Vic2NyaWJlKChvdXRwdXRRdWVyeSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5xdWVyeUNoYW5nZS5lbWl0KG91dHB1dFF1ZXJ5KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIC8vXG4gICAgfVxuXG4gICAgc2V0dXBGb3JtKCkge1xuICAgICAgICB0aGlzLnF1ZXJ5QnVpbGRlclNlcnZpY2UuZm9ybSA9IHRoaXMuX2ZiLmdyb3VwKHtcbiAgICAgICAgICAgIG9wZXJhdG9yOiB0aGlzLl9mYi5jb250cm9sKFBlcE9wZXJhdG9yVHlwZXMuQW5kKVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBpbml0RGVwdGgoKSB7XG4gICAgICAgIHRoaXMuZGVwdGggPSB7XG4gICAgICAgICAgICBjdXJyZW50OiAwLFxuICAgICAgICAgICAgbWF4OiB0aGlzLnF1ZXJ5QnVpbGRlclNlcnZpY2UubWF4RGVwdGhcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGJ1aWxkcyBVSSBxdWVyeSBzdHJ1Y3R1cmUgYXMgc29vbiBhcyBib3RoIHRoZSBmaWVsZHMgYW5kIHF1ZXJ5IGxvYWRzXG4gICAgICovXG4gICAgbG9hZFF1ZXJ5KCkge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgICB0aGlzLl9xdWVyeSAmJlxuICAgICAgICAgICAgdGhpcy5xdWVyeUJ1aWxkZXJTZXJ2aWNlLmhhc0ZpZWxkcyAmJlxuICAgICAgICAgICAgdGhpcy5yb290Py5zZWN0aW9uQ29udGFpbmVyXG4gICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy5xdWVyeUJ1aWxkZXJTZXJ2aWNlLmJ1aWxkUXVlcnlTdHJ1Y3R1cmUodGhpcy5fcXVlcnksIHRoaXMucm9vdC5zZWN0aW9uQ29udGFpbmVyKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uQ3JlYXRlU2VjdGlvbigpIHtcbiAgICAgICAgY29uc3Qgc2VjdGlvbiA9IHRoaXMucXVlcnlCdWlsZGVyU2VydmljZS5jcmVhdGVTZWN0aW9uKFBlcE9wZXJhdG9yVHlwZXMuQW5kLCB0aGlzLnJvb3Quc2VjdGlvbkNvbnRhaW5lciwgdGhpcy5xdWVyeUJ1aWxkZXJTZXJ2aWNlLmZvcm0sIDEpO1xuICAgICAgICB0aGlzLnF1ZXJ5QnVpbGRlclNlcnZpY2UuY3JlYXRlSXRlbShudWxsLCBzZWN0aW9uLmNvbnRhaW5lclJlZiwgc2VjdGlvbi5wYXJlbnRGb3JtKTtcbiAgICB9XG5cbiAgICBvbkNyZWF0ZUl0ZW0oKSB7XG4gICAgICAgIHRoaXMucXVlcnlCdWlsZGVyU2VydmljZS5jcmVhdGVJdGVtKG51bGwsIHRoaXMucm9vdC5zZWN0aW9uQ29udGFpbmVyLCB0aGlzLnF1ZXJ5QnVpbGRlclNlcnZpY2UuZm9ybSk7XG4gICAgfVxuXG4gICAgb25PcGVyYXRvckNoYW5nZSgpIHtcbiAgICAgICAgdGhpcy5xdWVyeUJ1aWxkZXJTZXJ2aWNlLmNyZWF0ZU91dHB1dFF1ZXJ5KCk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIGlmICh0aGlzLl9mb3JtU3Vic2NyaXB0aW9uJCkge1xuICAgICAgICAgICAgdGhpcy5fZm9ybVN1YnNjcmlwdGlvbiQudW5zdWJzY3JpYmUoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5fb3V0cHV0UXVlcnlTdWJzY3JpcHRpb24kKSB7XG4gICAgICAgICAgICB0aGlzLl9vdXRwdXRRdWVyeVN1YnNjcmlwdGlvbiQudW5zdWJzY3JpYmUoKTtcbiAgICAgICAgfVxuICAgIH1cblxufVxuIl19
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { ReactiveFormsModule } from '@angular/forms';
|
|
4
|
+
import { FlexLayoutModule } from '@angular/flex-layout';
|
|
5
|
+
import { PepSmartFiltersModule } from '@pepperi-addons/ngx-lib/smart-filters';
|
|
6
|
+
import { PepSelectModule } from '@pepperi-addons/ngx-lib/select';
|
|
7
|
+
import { PepButtonModule } from '@pepperi-addons/ngx-lib/button';
|
|
8
|
+
import { PepGroupButtonsModule } from '@pepperi-addons/ngx-lib/group-buttons';
|
|
9
|
+
import { PepQueryBuilderComponent } from './query-builder.component';
|
|
10
|
+
import { PepQueryBuilderSectionComponent } from './query-builder-section/query-builder-section.component';
|
|
11
|
+
import { PepQueryBuilderItemComponent } from './query-builder-item/query-builder-item.component';
|
|
12
|
+
export class PepQueryBuilderModule {
|
|
13
|
+
}
|
|
14
|
+
PepQueryBuilderModule.decorators = [
|
|
15
|
+
{ type: NgModule, args: [{
|
|
16
|
+
imports: [
|
|
17
|
+
CommonModule,
|
|
18
|
+
ReactiveFormsModule,
|
|
19
|
+
FlexLayoutModule,
|
|
20
|
+
PepSelectModule,
|
|
21
|
+
PepButtonModule,
|
|
22
|
+
PepGroupButtonsModule,
|
|
23
|
+
PepSmartFiltersModule
|
|
24
|
+
],
|
|
25
|
+
exports: [
|
|
26
|
+
PepQueryBuilderComponent
|
|
27
|
+
],
|
|
28
|
+
declarations: [
|
|
29
|
+
PepQueryBuilderComponent,
|
|
30
|
+
PepQueryBuilderSectionComponent,
|
|
31
|
+
PepQueryBuilderItemComponent
|
|
32
|
+
]
|
|
33
|
+
},] }
|
|
34
|
+
];
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktYnVpbGRlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL3F1ZXJ5LWJ1aWxkZXIvcXVlcnktYnVpbGRlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDOUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNqRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUU5RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUMxRyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQXNCakcsTUFBTSxPQUFPLHFCQUFxQjs7O1lBbkJqQyxRQUFRLFNBQUM7Z0JBQ04sT0FBTyxFQUFFO29CQUNMLFlBQVk7b0JBQ1osbUJBQW1CO29CQUNuQixnQkFBZ0I7b0JBQ2hCLGVBQWU7b0JBQ2YsZUFBZTtvQkFDZixxQkFBcUI7b0JBQ3JCLHFCQUFxQjtpQkFDeEI7Z0JBQ0QsT0FBTyxFQUFFO29CQUNMLHdCQUF3QjtpQkFDM0I7Z0JBQ0QsWUFBWSxFQUFFO29CQUNWLHdCQUF3QjtvQkFDeEIsK0JBQStCO29CQUMvQiw0QkFBNEI7aUJBQy9CO2FBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBGbGV4TGF5b3V0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZmxleC1sYXlvdXQnO1xuaW1wb3J0IHsgUGVwU21hcnRGaWx0ZXJzTW9kdWxlIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWIvc21hcnQtZmlsdGVycyc7XG5pbXBvcnQgeyBQZXBTZWxlY3RNb2R1bGUgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYi9zZWxlY3QnO1xuaW1wb3J0IHsgUGVwQnV0dG9uTW9kdWxlIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWIvYnV0dG9uJztcbmltcG9ydCB7IFBlcEdyb3VwQnV0dG9uc01vZHVsZSB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliL2dyb3VwLWJ1dHRvbnMnO1xuXG5pbXBvcnQgeyBQZXBRdWVyeUJ1aWxkZXJDb21wb25lbnQgfSBmcm9tICcuL3F1ZXJ5LWJ1aWxkZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFBlcFF1ZXJ5QnVpbGRlclNlY3Rpb25Db21wb25lbnQgfSBmcm9tICcuL3F1ZXJ5LWJ1aWxkZXItc2VjdGlvbi9xdWVyeS1idWlsZGVyLXNlY3Rpb24uY29tcG9uZW50JztcbmltcG9ydCB7IFBlcFF1ZXJ5QnVpbGRlckl0ZW1Db21wb25lbnQgfSBmcm9tICcuL3F1ZXJ5LWJ1aWxkZXItaXRlbS9xdWVyeS1idWlsZGVyLWl0ZW0uY29tcG9uZW50JztcblxuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgICAgICBGbGV4TGF5b3V0TW9kdWxlLFxuICAgICAgICBQZXBTZWxlY3RNb2R1bGUsXG4gICAgICAgIFBlcEJ1dHRvbk1vZHVsZSxcbiAgICAgICAgUGVwR3JvdXBCdXR0b25zTW9kdWxlLFxuICAgICAgICBQZXBTbWFydEZpbHRlcnNNb2R1bGVcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtcbiAgICAgICAgUGVwUXVlcnlCdWlsZGVyQ29tcG9uZW50XG4gICAgXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtcbiAgICAgICAgUGVwUXVlcnlCdWlsZGVyQ29tcG9uZW50LFxuICAgICAgICBQZXBRdWVyeUJ1aWxkZXJTZWN0aW9uQ29tcG9uZW50LFxuICAgICAgICBQZXBRdWVyeUJ1aWxkZXJJdGVtQ29tcG9uZW50XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBQZXBRdWVyeUJ1aWxkZXJNb2R1bGUgeyB9XG4iXX0=
|