@pepperi-addons/ngx-lib 0.5.0-ng15.3 → 0.5.0-ng16.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/address/address.component.d.ts +1 -1
- package/attachment/attachment.component.d.ts +1 -1
- package/bread-crumbs/bread-crumbs.component.d.ts +1 -1
- package/button/button.component.d.ts +1 -1
- package/carousel/carousel-item.directive.d.ts +1 -1
- package/carousel/carousel.component.d.ts +1 -1
- package/checkbox/checkbox.component.d.ts +1 -1
- package/chips/chips.component.d.ts +1 -1
- package/color/color.component.d.ts +1 -1
- package/core/clipboard/clipboard.directive.d.ts +1 -1
- package/core/common/directives/auto-width.directive.d.ts +1 -1
- package/core/common/directives/button-loader.directive.d.ts +1 -1
- package/core/common/directives/data-qa.directive.d.ts +1 -1
- package/core/common/directives/div-loader.directive.d.ts +1 -1
- package/core/common/directives/prevent-multi-click.directive.d.ts +1 -1
- package/core/common/directives/print.directive.d.ts +1 -1
- package/core/portal/attach.directive.d.ts +1 -1
- package/core/portal/target.directive.d.ts +1 -1
- package/date/date.component.d.ts +1 -1
- package/dialog/dialog.component.d.ts +1 -1
- package/draggable-items/draggable-item/draggable-item.component.d.ts +1 -1
- package/draggable-items/draggable-items.component.d.ts +1 -1
- package/esm2022/address/address.component.mjs +112 -0
- package/{esm2020 → esm2022}/address/address.module.mjs +23 -23
- package/{esm2020 → esm2022}/attachment/attachment.component.mjs +65 -61
- package/{esm2020 → esm2022}/attachment/attachment.module.mjs +21 -21
- package/esm2022/bread-crumbs/bread-crumbs.component.mjs +87 -0
- package/esm2022/bread-crumbs/bread-crumbs.model.mjs +10 -0
- package/esm2022/bread-crumbs/bread-crumbs.module.mjs +51 -0
- package/{esm2020 → esm2022}/button/button.component.mjs +76 -53
- package/esm2022/button/button.model.mjs +13 -0
- package/{esm2020 → esm2022}/button/button.module.mjs +19 -19
- package/esm2022/carousel/carousel-item.directive.mjs +34 -0
- package/esm2022/carousel/carousel.component.mjs +765 -0
- package/{esm2020 → esm2022}/carousel/carousel.module.mjs +5 -5
- package/esm2022/checkbox/checkbox.component.mjs +182 -0
- package/esm2022/checkbox/checkbox.module.mjs +64 -0
- package/esm2022/chips/chips.component.mjs +187 -0
- package/esm2022/chips/chips.module.mjs +82 -0
- package/{esm2020 → esm2022}/chips/chips.service.mjs +5 -5
- package/esm2022/color/color-picker.component.mjs +229 -0
- package/esm2022/color/color.component.mjs +93 -0
- package/esm2022/color/color.module.mjs +93 -0
- package/{esm2020 → esm2022}/core/clipboard/clipboard.directive.mjs +4 -4
- package/{esm2020 → esm2022}/core/clipboard/clipboard.service.mjs +4 -4
- package/esm2022/core/common/directives/auto-width.directive.mjs +79 -0
- package/esm2022/core/common/directives/base-destroyer.directive.mjs +23 -0
- package/esm2022/core/common/directives/button-blur.directive.mjs +25 -0
- package/esm2022/core/common/directives/button-loader.directive.mjs +117 -0
- package/esm2022/core/common/directives/data-qa.directive.mjs +26 -0
- package/esm2022/core/common/directives/div-loader.directive.mjs +67 -0
- package/esm2022/core/common/directives/menu-blur.directive.mjs +33 -0
- package/esm2022/core/common/directives/prevent-multi-click.directive.mjs +25 -0
- package/esm2022/core/common/directives/print.directive.mjs +176 -0
- package/esm2022/core/common/model/wapi.model.mjs +247 -0
- package/esm2022/core/common/pipes/common-pipes.mjs +180 -0
- package/esm2022/core/common/pipes/date-ago.pipe.mjs +47 -0
- package/esm2022/core/common/services/addon.service.mjs +234 -0
- package/esm2022/core/common/services/color.service.mjs +383 -0
- package/esm2022/core/common/services/cookie.service.mjs +156 -0
- package/esm2022/core/common/services/data-convertor.service.mjs +139 -0
- package/esm2022/core/common/services/file.service.mjs +252 -0
- package/{esm2020 → esm2022}/core/common/services/jwt-helper.service.mjs +4 -4
- package/esm2022/core/common/services/session.service.mjs +73 -0
- package/esm2022/core/common/services/translate.service.mjs +47 -0
- package/esm2022/core/common/services/utilities.service.mjs +302 -0
- package/esm2022/core/common/services/validator.service.mjs +273 -0
- package/esm2022/core/common/services/window-scrolling.service.mjs +38 -0
- package/esm2022/core/customization/customization.model.mjs +377 -0
- package/esm2022/core/customization/customization.service.mjs +802 -0
- package/{esm2020 → esm2022}/core/http/interceptors/error.interceptor.mjs +4 -4
- package/esm2022/core/http/interceptors/loader.interceptor.mjs +33 -0
- package/{esm2020 → esm2022}/core/http/interceptors/profiler.interceptor.mjs +4 -4
- package/esm2022/core/http/services/http.service.mjs +158 -0
- package/{esm2020 → esm2022}/core/http/services/loader.service.mjs +6 -6
- package/esm2022/core/layout/layout.service.mjs +171 -0
- package/esm2022/core/layout/rtl.directive.mjs +50 -0
- package/esm2022/core/portal/attach.directive.mjs +30 -0
- package/esm2022/core/portal/portal.service.mjs +37 -0
- package/esm2022/core/portal/target.directive.mjs +27 -0
- package/{esm2020 → esm2022}/core/scroll-to/scroll-to.service.mjs +4 -4
- package/esm2022/date/date.component.mjs +345 -0
- package/{esm2020 → esm2022}/date/date.model.mjs +7 -7
- package/esm2022/date/date.module.mjs +89 -0
- package/esm2022/dialog/default-dialog.component.mjs +39 -0
- package/esm2022/dialog/dialog.component.mjs +37 -0
- package/esm2022/dialog/dialog.model.mjs +41 -0
- package/esm2022/dialog/dialog.module.mjs +59 -0
- package/esm2022/dialog/dialog.service.mjs +106 -0
- package/esm2022/draggable-items/draggable-item/draggable-item.component.mjs +68 -0
- package/esm2022/draggable-items/draggable-items.component.mjs +95 -0
- package/esm2022/draggable-items/draggable-items.module.mjs +65 -0
- package/esm2022/field-title/field-title.component.mjs +46 -0
- package/esm2022/field-title/field-title.module.mjs +48 -0
- package/{esm2020 → esm2022}/files-uploader/files-uploader.component.mjs +36 -27
- package/esm2022/files-uploader/files-uploader.module.mjs +80 -0
- package/esm2022/form/field-generator.component.mjs +152 -0
- package/esm2022/form/form.component.mjs +1258 -0
- package/esm2022/form/form.module.mjs +180 -0
- package/esm2022/form/indicators.component.mjs +23 -0
- package/esm2022/form/internal-button.component.mjs +188 -0
- package/esm2022/form/internal-carusel.component.mjs +126 -0
- package/esm2022/form/internal-carusel.service.mjs +34 -0
- package/esm2022/form/internal-field-generator.component.mjs +146 -0
- package/esm2022/form/internal-form.component.mjs +1236 -0
- package/esm2022/form/internal-list.component.mjs +524 -0
- package/esm2022/form/internal-menu.component.mjs +62 -0
- package/esm2022/form/internal-page.component.mjs +380 -0
- package/esm2022/form/internal-page.service.mjs +125 -0
- package/esm2022/group-buttons/group-buttons.component.mjs +73 -0
- package/esm2022/group-buttons/group-buttons.module.mjs +60 -0
- package/esm2022/icon/icon-registry.service.mjs +24 -0
- package/esm2022/icon/icon.component.mjs +95 -0
- package/{esm2020 → esm2022}/icon/icon.module.mjs +5 -5
- package/esm2022/icon/icon.service.mjs +34 -0
- package/{esm2020 → esm2022}/image/image.component.mjs +45 -39
- package/esm2022/image/image.module.mjs +74 -0
- package/esm2022/image/image.service.mjs +53 -0
- package/esm2022/images-filmstrip/images-filmstrip.component.mjs +360 -0
- package/esm2022/images-filmstrip/images-filmstrip.module.mjs +84 -0
- package/esm2022/link/link.component.mjs +324 -0
- package/esm2022/link/link.module.mjs +81 -0
- package/{esm2020 → esm2022}/link/link.pipes.mjs +4 -4
- package/esm2022/list/list-actions.component.mjs +42 -0
- package/esm2022/list/list-carousel.component.mjs +110 -0
- package/esm2022/list/list-chooser.component.mjs +64 -0
- package/esm2022/list/list-pager.component.mjs +126 -0
- package/{esm2020 → esm2022}/list/list-sorting.component.mjs +15 -13
- package/esm2022/list/list-total.component.mjs +31 -0
- package/esm2022/list/list-views.component.mjs +86 -0
- package/esm2022/list/list.component.mjs +1394 -0
- package/{esm2020 → esm2022}/list/list.model.mjs +4 -1
- package/esm2022/list/list.module.mjs +145 -0
- package/esm2022/list/list.pipes.mjs +45 -0
- package/esm2022/list/virtual-scroller.mjs +1124 -0
- package/esm2022/menu/menu-item.component.mjs +111 -0
- package/esm2022/menu/menu.component.mjs +218 -0
- package/esm2022/menu/menu.model.mjs +23 -0
- package/esm2022/menu/menu.module.mjs +60 -0
- package/{esm2020 → esm2022}/ngx-lib.module.mjs +65 -65
- package/esm2022/page-layout/page-layout.component.mjs +41 -0
- package/{esm2020 → esm2022}/page-layout/page-layout.module.mjs +13 -13
- package/esm2022/profile-data-views-list/profile-data-view/profile-data-view.component.mjs +48 -0
- package/esm2022/profile-data-views-list/profile-data-views-card/profile-data-views-card.component.mjs +82 -0
- package/esm2022/profile-data-views-list/profile-data-views-list.component.mjs +131 -0
- package/esm2022/profile-data-views-list/profile-data-views-list.module.mjs +89 -0
- package/esm2022/quantity-selector/quantity-selector-validation.directive.mjs +53 -0
- package/{esm2020 → esm2022}/quantity-selector/quantity-selector.component.mjs +83 -73
- package/esm2022/quantity-selector/quantity-selector.module.mjs +83 -0
- package/{esm2020 → esm2022}/quantity-selector/quantity-selector.pipes.mjs +4 -4
- package/esm2022/query-builder/common/model/type-map.mjs +28 -0
- package/esm2022/query-builder/common/services/output-query.service.mjs +118 -0
- package/esm2022/query-builder/common/services/query-structure.service.mjs +263 -0
- package/esm2022/query-builder/common/services/type-convertor.service.mjs +42 -0
- package/esm2022/query-builder/query-builder-item/query-builder-item.component.mjs +134 -0
- package/esm2022/query-builder/query-builder-section/query-builder-section.component.mjs +76 -0
- package/esm2022/query-builder/query-builder.component.mjs +116 -0
- package/esm2022/query-builder/query-builder.module.mjs +71 -0
- package/{esm2020 → esm2022}/query-builder/query-builder.service.mjs +4 -4
- package/esm2022/remote-loader/addon-block-loader.component.mjs +115 -0
- package/esm2022/remote-loader/addon-block-loader.service.mjs +66 -0
- package/esm2022/remote-loader/remote-loader-element.component.mjs +179 -0
- package/esm2022/remote-loader/remote-loader.component.mjs +120 -0
- package/{esm2020 → esm2022}/remote-loader/remote-loader.module.mjs +26 -26
- package/esm2022/remote-loader/remote-loader.service.mjs +107 -0
- package/{esm2020 → esm2022}/rich-html-textarea/rich-html-textarea.component.mjs +38 -30
- package/esm2022/rich-html-textarea/rich-html-textarea.module.mjs +96 -0
- package/esm2022/search/search.component.mjs +322 -0
- package/esm2022/search/search.module.mjs +71 -0
- package/esm2022/select/select.component.mjs +341 -0
- package/esm2022/select/select.module.mjs +71 -0
- package/esm2022/select-panel/select-panel.component.mjs +161 -0
- package/{esm2020 → esm2022}/select-panel/select-panel.module.mjs +31 -31
- package/esm2022/separator/separator.component.mjs +65 -0
- package/{esm2020 → esm2022}/separator/separator.module.mjs +5 -5
- package/esm2022/side-bar/side-bar.component.mjs +141 -0
- package/esm2022/side-bar/side-bar.module.mjs +56 -0
- package/esm2022/signature/signature-dialog.component.mjs +82 -0
- package/{esm2020 → esm2022}/signature/signature.component.mjs +41 -31
- package/esm2022/signature/signature.module.mjs +92 -0
- package/esm2022/size-detector/size-detector.component.mjs +97 -0
- package/{esm2020 → esm2022}/size-detector/size-detector.module.mjs +13 -13
- package/esm2022/skeleton-loader/skeleton-loader.component.mjs +46 -0
- package/{esm2020 → esm2022}/skeleton-loader/skeleton-loader.module.mjs +7 -7
- package/esm2022/slider/slider.component.mjs +105 -0
- package/{esm2020 → esm2022}/slider/slider.module.mjs +17 -17
- package/esm2022/smart-filters/boolean-filter/boolean-filter.component.mjs +74 -0
- package/esm2022/smart-filters/common/filter-actions.component.mjs +28 -0
- package/esm2022/smart-filters/common/model/base-filter-component.mjs +307 -0
- package/esm2022/smart-filters/common/model/field.mjs +125 -0
- package/esm2022/smart-filters/common/model/operator.mjs +287 -0
- package/esm2022/smart-filters/date-filter/date-filter.component.mjs +181 -0
- package/esm2022/smart-filters/multi-select-filter/multi-select-filter.component.mjs +202 -0
- package/esm2022/smart-filters/number-filter/number-filter.component.mjs +133 -0
- package/esm2022/smart-filters/smart-filters.component.mjs +143 -0
- package/esm2022/smart-filters/smart-filters.module.mjs +159 -0
- package/esm2022/smart-filters/text-filter/text-filter.component.mjs +110 -0
- package/esm2022/snack-bar/default-snack-bar.component.mjs +31 -0
- package/esm2022/snack-bar/snack-bar.component.mjs +28 -0
- package/esm2022/snack-bar/snack-bar.model.mjs +9 -0
- package/esm2022/snack-bar/snack-bar.module.mjs +63 -0
- package/esm2022/snack-bar/snack-bar.service.mjs +62 -0
- package/{esm2020 → esm2022}/textarea/textarea.component.mjs +35 -27
- package/esm2022/textarea/textarea.module.mjs +83 -0
- package/esm2022/textbox/textbox-validation.directive.mjs +96 -0
- package/esm2022/textbox/textbox.component.mjs +646 -0
- package/esm2022/textbox/textbox.module.mjs +73 -0
- package/esm2022/textbox-icon/textbox-icon.component.mjs +50 -0
- package/esm2022/textbox-icon/textbox-icon.module.mjs +65 -0
- package/esm2022/top-bar/top-bar.component.mjs +127 -0
- package/esm2022/top-bar/top-bar.module.mjs +63 -0
- package/fesm2022/pepperi-addons-ngx-lib-address.mjs +173 -0
- package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-address.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-attachment.mjs +84 -80
- package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-attachment.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-bread-crumbs.mjs +34 -28
- package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-bread-crumbs.mjs.map +1 -1
- package/fesm2022/pepperi-addons-ngx-lib-button.mjs +227 -0
- package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-button.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-carousel.mjs +76 -55
- package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-carousel.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-checkbox.mjs +54 -48
- package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-checkbox.mjs.map +1 -1
- package/fesm2022/pepperi-addons-ngx-lib-chips.mjs +308 -0
- package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-chips.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-color.mjs +92 -84
- package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-color.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-date.mjs +116 -104
- package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-date.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-dialog.mjs +50 -36
- package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-dialog.mjs.map +1 -1
- package/fesm2022/pepperi-addons-ngx-lib-draggable-items.mjs +229 -0
- package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-draggable-items.mjs.map +1 -1
- package/fesm2022/pepperi-addons-ngx-lib-field-title.mjs +101 -0
- package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-field-title.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-files-uploader.mjs +66 -56
- package/fesm2022/pepperi-addons-ngx-lib-files-uploader.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-form.mjs +391 -310
- package/{fesm2015 → fesm2022}/pepperi-addons-ngx-lib-form.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-group-buttons.mjs +38 -35
- package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-group-buttons.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-icon.mjs +23 -18
- package/{fesm2015 → fesm2022}/pepperi-addons-ngx-lib-icon.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-image.mjs +77 -68
- package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-image.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-images-filmstrip.mjs +83 -60
- package/fesm2022/pepperi-addons-ngx-lib-images-filmstrip.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-link.mjs +113 -103
- package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-link.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-list.mjs +339 -273
- package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-list.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-menu.mjs +89 -87
- package/{fesm2015 → fesm2022}/pepperi-addons-ngx-lib-menu.mjs.map +1 -1
- package/{fesm2015 → fesm2022}/pepperi-addons-ngx-lib-page-layout.mjs +23 -17
- package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-page-layout.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-profile-data-views-list.mjs +72 -63
- package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-profile-data-views-list.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-quantity-selector.mjs +125 -110
- package/{fesm2015 → fesm2022}/pepperi-addons-ngx-lib-quantity-selector.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-query-builder.mjs +93 -66
- package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-query-builder.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-remote-loader.mjs +84 -64
- package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-remote-loader.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-rich-html-textarea.mjs +76 -67
- package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-rich-html-textarea.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-search.mjs +85 -79
- package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-search.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-select-panel.mjs +53 -49
- package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-select-panel.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-select.mjs +74 -66
- package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-select.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-separator.mjs +18 -16
- package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-separator.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-side-bar.mjs +44 -38
- package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-side-bar.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-signature.mjs +95 -81
- package/fesm2022/pepperi-addons-ngx-lib-signature.mjs.map +1 -0
- package/fesm2022/pepperi-addons-ngx-lib-size-detector.mjs +139 -0
- package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-size-detector.mjs.map +1 -1
- package/fesm2022/pepperi-addons-ngx-lib-skeleton-loader.mjs +78 -0
- package/{fesm2015 → fesm2022}/pepperi-addons-ngx-lib-skeleton-loader.mjs.map +1 -1
- package/fesm2022/pepperi-addons-ngx-lib-slider.mjs +154 -0
- package/fesm2022/pepperi-addons-ngx-lib-slider.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-smart-filters.mjs +186 -158
- package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-smart-filters.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-snack-bar.mjs +42 -34
- package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-snack-bar.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-textarea.mjs +67 -58
- package/{fesm2015 → fesm2022}/pepperi-addons-ngx-lib-textarea.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-textbox-icon.mjs +28 -25
- package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-textbox-icon.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-textbox.mjs +156 -144
- package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-textbox.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-top-bar.mjs +48 -32
- package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib-top-bar.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib.mjs +661 -449
- package/{fesm2020 → fesm2022}/pepperi-addons-ngx-lib.mjs.map +1 -1
- package/field-title/field-title.component.d.ts +1 -1
- package/files-uploader/files-uploader.component.d.ts +1 -1
- package/form/field-generator.component.d.ts +1 -1
- package/form/form.component.d.ts +1 -1
- package/form/form.module.d.ts +2 -2
- package/form/indicators.component.d.ts +1 -1
- package/form/internal-button.component.d.ts +1 -1
- package/form/internal-carusel.component.d.ts +1 -1
- package/form/internal-field-generator.component.d.ts +1 -1
- package/form/internal-form.component.d.ts +1 -1
- package/form/internal-list.component.d.ts +1 -1
- package/form/internal-menu.component.d.ts +1 -1
- package/form/internal-page.component.d.ts +1 -1
- package/group-buttons/group-buttons.component.d.ts +1 -1
- package/icon/icon.component.d.ts +1 -1
- package/image/image.component.d.ts +1 -1
- package/images-filmstrip/images-filmstrip.component.d.ts +1 -1
- package/link/link.component.d.ts +1 -1
- package/list/list-actions.component.d.ts +1 -1
- package/list/list-carousel.component.d.ts +1 -1
- package/list/list-chooser.component.d.ts +1 -1
- package/list/list-pager.component.d.ts +1 -1
- package/list/list-sorting.component.d.ts +1 -1
- package/list/list-total.component.d.ts +1 -1
- package/list/list-views.component.d.ts +1 -1
- package/list/list.component.d.ts +1 -1
- package/list/virtual-scroller.d.ts +1 -1
- package/menu/menu-item.component.d.ts +1 -1
- package/menu/menu.component.d.ts +1 -1
- package/package.json +145 -235
- package/page-layout/page-layout.component.d.ts +1 -1
- package/profile-data-views-list/profile-data-view/profile-data-view.component.d.ts +1 -1
- package/profile-data-views-list/profile-data-views-card/profile-data-views-card.component.d.ts +1 -1
- package/profile-data-views-list/profile-data-views-list.component.d.ts +1 -1
- package/quantity-selector/quantity-selector-validation.directive.d.ts +1 -1
- package/quantity-selector/quantity-selector.component.d.ts +1 -1
- package/query-builder/query-builder-item/query-builder-item.component.d.ts +1 -1
- package/query-builder/query-builder-section/query-builder-section.component.d.ts +1 -1
- package/query-builder/query-builder.component.d.ts +1 -1
- package/remote-loader/addon-block-loader.component.d.ts +1 -1
- package/remote-loader/remote-loader-element.component.d.ts +1 -1
- package/remote-loader/remote-loader.component.d.ts +1 -1
- package/rich-html-textarea/rich-html-textarea.component.d.ts +1 -1
- package/search/search.component.d.ts +1 -1
- package/select/select.component.d.ts +1 -1
- package/select-panel/select-panel.component.d.ts +1 -1
- package/separator/separator.component.d.ts +1 -1
- package/side-bar/side-bar.component.d.ts +1 -1
- package/signature/signature-dialog.component.d.ts +2 -2
- package/signature/signature.component.d.ts +1 -1
- package/signature/signature.module.d.ts +2 -2
- package/size-detector/size-detector.component.d.ts +1 -1
- package/skeleton-loader/skeleton-loader.component.d.ts +1 -1
- package/slider/slider.component.d.ts +1 -1
- package/slider/slider.component.theme.scss +13 -6
- package/smart-filters/boolean-filter/boolean-filter.component.d.ts +1 -1
- package/smart-filters/common/filter-actions.component.d.ts +1 -1
- package/smart-filters/common/model/base-filter-component.d.ts +1 -1
- package/smart-filters/smart-filters.component.d.ts +1 -1
- package/snack-bar/snack-bar.component.d.ts +1 -1
- package/textarea/textarea.component.d.ts +1 -1
- package/textbox/textbox-validation.directive.d.ts +1 -1
- package/textbox/textbox.component.d.ts +1 -1
- package/textbox-icon/textbox-icon.component.d.ts +1 -1
- package/top-bar/top-bar.component.d.ts +1 -1
- package/esm2020/address/address.component.mjs +0 -109
- package/esm2020/bread-crumbs/bread-crumbs.component.mjs +0 -85
- package/esm2020/bread-crumbs/bread-crumbs.model.mjs +0 -7
- package/esm2020/bread-crumbs/bread-crumbs.module.mjs +0 -50
- package/esm2020/button/button.model.mjs +0 -6
- package/esm2020/carousel/carousel-item.directive.mjs +0 -33
- package/esm2020/carousel/carousel.component.mjs +0 -745
- package/esm2020/checkbox/checkbox.component.mjs +0 -177
- package/esm2020/checkbox/checkbox.module.mjs +0 -63
- package/esm2020/chips/chips.component.mjs +0 -185
- package/esm2020/chips/chips.module.mjs +0 -81
- package/esm2020/color/color-picker.component.mjs +0 -224
- package/esm2020/color/color.component.mjs +0 -90
- package/esm2020/color/color.module.mjs +0 -93
- package/esm2020/core/common/directives/auto-width.directive.mjs +0 -77
- package/esm2020/core/common/directives/base-destroyer.directive.mjs +0 -22
- package/esm2020/core/common/directives/button-blur.directive.mjs +0 -24
- package/esm2020/core/common/directives/button-loader.directive.mjs +0 -112
- package/esm2020/core/common/directives/data-qa.directive.mjs +0 -23
- package/esm2020/core/common/directives/div-loader.directive.mjs +0 -61
- package/esm2020/core/common/directives/menu-blur.directive.mjs +0 -32
- package/esm2020/core/common/directives/prevent-multi-click.directive.mjs +0 -27
- package/esm2020/core/common/directives/print.directive.mjs +0 -170
- package/esm2020/core/common/model/wapi.model.mjs +0 -157
- package/esm2020/core/common/pipes/common-pipes.mjs +0 -177
- package/esm2020/core/common/pipes/date-ago.pipe.mjs +0 -46
- package/esm2020/core/common/services/addon.service.mjs +0 -227
- package/esm2020/core/common/services/color.service.mjs +0 -385
- package/esm2020/core/common/services/cookie.service.mjs +0 -153
- package/esm2020/core/common/services/data-convertor.service.mjs +0 -122
- package/esm2020/core/common/services/file.service.mjs +0 -250
- package/esm2020/core/common/services/session.service.mjs +0 -72
- package/esm2020/core/common/services/translate.service.mjs +0 -46
- package/esm2020/core/common/services/utilities.service.mjs +0 -301
- package/esm2020/core/common/services/validator.service.mjs +0 -272
- package/esm2020/core/common/services/window-scrolling.service.mjs +0 -36
- package/esm2020/core/customization/customization.model.mjs +0 -338
- package/esm2020/core/customization/customization.service.mjs +0 -799
- package/esm2020/core/http/interceptors/loader.interceptor.mjs +0 -32
- package/esm2020/core/http/services/http.service.mjs +0 -155
- package/esm2020/core/layout/layout.service.mjs +0 -168
- package/esm2020/core/layout/rtl.directive.mjs +0 -44
- package/esm2020/core/portal/attach.directive.mjs +0 -27
- package/esm2020/core/portal/portal.service.mjs +0 -36
- package/esm2020/core/portal/target.directive.mjs +0 -24
- package/esm2020/date/date.component.mjs +0 -334
- package/esm2020/date/date.module.mjs +0 -88
- package/esm2020/dialog/default-dialog.component.mjs +0 -37
- package/esm2020/dialog/dialog.component.mjs +0 -36
- package/esm2020/dialog/dialog.model.mjs +0 -33
- package/esm2020/dialog/dialog.module.mjs +0 -59
- package/esm2020/dialog/dialog.service.mjs +0 -103
- package/esm2020/draggable-items/draggable-item/draggable-item.component.mjs +0 -67
- package/esm2020/draggable-items/draggable-items.component.mjs +0 -94
- package/esm2020/draggable-items/draggable-items.module.mjs +0 -64
- package/esm2020/field-title/field-title.component.mjs +0 -48
- package/esm2020/field-title/field-title.module.mjs +0 -47
- package/esm2020/files-uploader/files-uploader.module.mjs +0 -79
- package/esm2020/form/field-generator.component.mjs +0 -152
- package/esm2020/form/form.component.mjs +0 -1240
- package/esm2020/form/form.module.mjs +0 -179
- package/esm2020/form/indicators.component.mjs +0 -23
- package/esm2020/form/internal-button.component.mjs +0 -184
- package/esm2020/form/internal-carusel.component.mjs +0 -121
- package/esm2020/form/internal-carusel.service.mjs +0 -32
- package/esm2020/form/internal-field-generator.component.mjs +0 -146
- package/esm2020/form/internal-form.component.mjs +0 -1218
- package/esm2020/form/internal-list.component.mjs +0 -513
- package/esm2020/form/internal-menu.component.mjs +0 -64
- package/esm2020/form/internal-page.component.mjs +0 -361
- package/esm2020/form/internal-page.service.mjs +0 -120
- package/esm2020/group-buttons/group-buttons.component.mjs +0 -71
- package/esm2020/group-buttons/group-buttons.module.mjs +0 -59
- package/esm2020/icon/icon-registry.service.mjs +0 -26
- package/esm2020/icon/icon.component.mjs +0 -91
- package/esm2020/icon/icon.service.mjs +0 -31
- package/esm2020/image/image.module.mjs +0 -74
- package/esm2020/image/image.service.mjs +0 -50
- package/esm2020/images-filmstrip/images-filmstrip.component.mjs +0 -338
- package/esm2020/images-filmstrip/images-filmstrip.module.mjs +0 -83
- package/esm2020/link/link.component.mjs +0 -315
- package/esm2020/link/link.module.mjs +0 -80
- package/esm2020/list/list-actions.component.mjs +0 -44
- package/esm2020/list/list-carousel.component.mjs +0 -107
- package/esm2020/list/list-chooser.component.mjs +0 -64
- package/esm2020/list/list-pager.component.mjs +0 -120
- package/esm2020/list/list-total.component.mjs +0 -33
- package/esm2020/list/list-views.component.mjs +0 -85
- package/esm2020/list/list.component.mjs +0 -1382
- package/esm2020/list/list.module.mjs +0 -144
- package/esm2020/list/list.pipes.mjs +0 -47
- package/esm2020/list/virtual-scroller.mjs +0 -1080
- package/esm2020/menu/menu-item.component.mjs +0 -115
- package/esm2020/menu/menu.component.mjs +0 -216
- package/esm2020/menu/menu.model.mjs +0 -20
- package/esm2020/menu/menu.module.mjs +0 -59
- package/esm2020/page-layout/page-layout.component.mjs +0 -35
- package/esm2020/profile-data-views-list/profile-data-view/profile-data-view.component.mjs +0 -45
- package/esm2020/profile-data-views-list/profile-data-views-card/profile-data-views-card.component.mjs +0 -81
- package/esm2020/profile-data-views-list/profile-data-views-list.component.mjs +0 -127
- package/esm2020/profile-data-views-list/profile-data-views-list.module.mjs +0 -88
- package/esm2020/quantity-selector/quantity-selector-validation.directive.mjs +0 -49
- package/esm2020/quantity-selector/quantity-selector.module.mjs +0 -82
- package/esm2020/query-builder/common/model/type-map.mjs +0 -27
- package/esm2020/query-builder/common/services/output-query.service.mjs +0 -116
- package/esm2020/query-builder/common/services/query-structure.service.mjs +0 -258
- package/esm2020/query-builder/common/services/type-convertor.service.mjs +0 -42
- package/esm2020/query-builder/query-builder-item/query-builder-item.component.mjs +0 -127
- package/esm2020/query-builder/query-builder-section/query-builder-section.component.mjs +0 -71
- package/esm2020/query-builder/query-builder.component.mjs +0 -110
- package/esm2020/query-builder/query-builder.module.mjs +0 -70
- package/esm2020/remote-loader/addon-block-loader.component.mjs +0 -112
- package/esm2020/remote-loader/addon-block-loader.service.mjs +0 -65
- package/esm2020/remote-loader/remote-loader-element.component.mjs +0 -171
- package/esm2020/remote-loader/remote-loader.component.mjs +0 -115
- package/esm2020/remote-loader/remote-loader.service.mjs +0 -104
- package/esm2020/rich-html-textarea/rich-html-textarea.module.mjs +0 -95
- package/esm2020/search/search.component.mjs +0 -317
- package/esm2020/search/search.module.mjs +0 -70
- package/esm2020/select/select.component.mjs +0 -334
- package/esm2020/select/select.module.mjs +0 -70
- package/esm2020/select-panel/select-panel.component.mjs +0 -157
- package/esm2020/separator/separator.component.mjs +0 -63
- package/esm2020/side-bar/side-bar.component.mjs +0 -136
- package/esm2020/side-bar/side-bar.module.mjs +0 -55
- package/esm2020/signature/signature-dialog.component.mjs +0 -79
- package/esm2020/signature/signature.module.mjs +0 -91
- package/esm2020/size-detector/size-detector.component.mjs +0 -94
- package/esm2020/skeleton-loader/skeleton-loader.component.mjs +0 -44
- package/esm2020/slider/slider.component.mjs +0 -101
- package/esm2020/smart-filters/boolean-filter/boolean-filter.component.mjs +0 -75
- package/esm2020/smart-filters/common/filter-actions.component.mjs +0 -29
- package/esm2020/smart-filters/common/model/base-filter-component.mjs +0 -290
- package/esm2020/smart-filters/common/model/field.mjs +0 -117
- package/esm2020/smart-filters/common/model/operator.mjs +0 -280
- package/esm2020/smart-filters/date-filter/date-filter.component.mjs +0 -182
- package/esm2020/smart-filters/multi-select-filter/multi-select-filter.component.mjs +0 -200
- package/esm2020/smart-filters/number-filter/number-filter.component.mjs +0 -136
- package/esm2020/smart-filters/smart-filters.component.mjs +0 -141
- package/esm2020/smart-filters/smart-filters.module.mjs +0 -158
- package/esm2020/smart-filters/text-filter/text-filter.component.mjs +0 -113
- package/esm2020/snack-bar/default-snack-bar.component.mjs +0 -29
- package/esm2020/snack-bar/snack-bar.component.mjs +0 -26
- package/esm2020/snack-bar/snack-bar.model.mjs +0 -7
- package/esm2020/snack-bar/snack-bar.module.mjs +0 -63
- package/esm2020/snack-bar/snack-bar.service.mjs +0 -60
- package/esm2020/textarea/textarea.module.mjs +0 -82
- package/esm2020/textbox/textbox-validation.directive.mjs +0 -93
- package/esm2020/textbox/textbox.component.mjs +0 -638
- package/esm2020/textbox/textbox.module.mjs +0 -72
- package/esm2020/textbox-icon/textbox-icon.component.mjs +0 -48
- package/esm2020/textbox-icon/textbox-icon.module.mjs +0 -64
- package/esm2020/top-bar/top-bar.component.mjs +0 -112
- package/esm2020/top-bar/top-bar.module.mjs +0 -62
- package/fesm2015/pepperi-addons-ngx-lib-address.mjs +0 -170
- package/fesm2015/pepperi-addons-ngx-lib-address.mjs.map +0 -1
- package/fesm2015/pepperi-addons-ngx-lib-attachment.mjs +0 -306
- package/fesm2015/pepperi-addons-ngx-lib-attachment.mjs.map +0 -1
- package/fesm2015/pepperi-addons-ngx-lib-bread-crumbs.mjs +0 -147
- package/fesm2015/pepperi-addons-ngx-lib-bread-crumbs.mjs.map +0 -1
- package/fesm2015/pepperi-addons-ngx-lib-button.mjs +0 -197
- package/fesm2015/pepperi-addons-ngx-lib-button.mjs.map +0 -1
- package/fesm2015/pepperi-addons-ngx-lib-carousel.mjs +0 -804
- package/fesm2015/pepperi-addons-ngx-lib-carousel.mjs.map +0 -1
- package/fesm2015/pepperi-addons-ngx-lib-checkbox.mjs +0 -246
- package/fesm2015/pepperi-addons-ngx-lib-checkbox.mjs.map +0 -1
- package/fesm2015/pepperi-addons-ngx-lib-chips.mjs +0 -306
- package/fesm2015/pepperi-addons-ngx-lib-chips.mjs.map +0 -1
- package/fesm2015/pepperi-addons-ngx-lib-color.mjs +0 -404
- package/fesm2015/pepperi-addons-ngx-lib-color.mjs.map +0 -1
- package/fesm2015/pepperi-addons-ngx-lib-date.mjs +0 -481
- package/fesm2015/pepperi-addons-ngx-lib-date.mjs.map +0 -1
- package/fesm2015/pepperi-addons-ngx-lib-dialog.mjs +0 -263
- package/fesm2015/pepperi-addons-ngx-lib-dialog.mjs.map +0 -1
- package/fesm2015/pepperi-addons-ngx-lib-draggable-items.mjs +0 -227
- package/fesm2015/pepperi-addons-ngx-lib-draggable-items.mjs.map +0 -1
- package/fesm2015/pepperi-addons-ngx-lib-field-title.mjs +0 -102
- package/fesm2015/pepperi-addons-ngx-lib-field-title.mjs.map +0 -1
- package/fesm2015/pepperi-addons-ngx-lib-files-uploader.mjs +0 -331
- package/fesm2015/pepperi-addons-ngx-lib-files-uploader.mjs.map +0 -1
- package/fesm2015/pepperi-addons-ngx-lib-form.mjs +0 -4232
- package/fesm2015/pepperi-addons-ngx-lib-group-buttons.mjs +0 -136
- package/fesm2015/pepperi-addons-ngx-lib-group-buttons.mjs.map +0 -1
- package/fesm2015/pepperi-addons-ngx-lib-icon.mjs +0 -741
- package/fesm2015/pepperi-addons-ngx-lib-image.mjs +0 -397
- package/fesm2015/pepperi-addons-ngx-lib-image.mjs.map +0 -1
- package/fesm2015/pepperi-addons-ngx-lib-images-filmstrip.mjs +0 -426
- package/fesm2015/pepperi-addons-ngx-lib-images-filmstrip.mjs.map +0 -1
- package/fesm2015/pepperi-addons-ngx-lib-link.mjs +0 -414
- package/fesm2015/pepperi-addons-ngx-lib-link.mjs.map +0 -1
- package/fesm2015/pepperi-addons-ngx-lib-list.mjs +0 -3131
- package/fesm2015/pepperi-addons-ngx-lib-list.mjs.map +0 -1
- package/fesm2015/pepperi-addons-ngx-lib-menu.mjs +0 -403
- package/fesm2015/pepperi-addons-ngx-lib-page-layout.mjs.map +0 -1
- package/fesm2015/pepperi-addons-ngx-lib-profile-data-views-list.mjs +0 -337
- package/fesm2015/pepperi-addons-ngx-lib-profile-data-views-list.mjs.map +0 -1
- package/fesm2015/pepperi-addons-ngx-lib-quantity-selector.mjs +0 -741
- package/fesm2015/pepperi-addons-ngx-lib-query-builder.mjs +0 -1226
- package/fesm2015/pepperi-addons-ngx-lib-query-builder.mjs.map +0 -1
- package/fesm2015/pepperi-addons-ngx-lib-remote-loader.mjs +0 -644
- package/fesm2015/pepperi-addons-ngx-lib-remote-loader.mjs.map +0 -1
- package/fesm2015/pepperi-addons-ngx-lib-rich-html-textarea.mjs +0 -363
- package/fesm2015/pepperi-addons-ngx-lib-rich-html-textarea.mjs.map +0 -1
- package/fesm2015/pepperi-addons-ngx-lib-search.mjs +0 -393
- package/fesm2015/pepperi-addons-ngx-lib-search.mjs.map +0 -1
- package/fesm2015/pepperi-addons-ngx-lib-select-panel.mjs +0 -235
- package/fesm2015/pepperi-addons-ngx-lib-select-panel.mjs.map +0 -1
- package/fesm2015/pepperi-addons-ngx-lib-select.mjs +0 -410
- package/fesm2015/pepperi-addons-ngx-lib-select.mjs.map +0 -1
- package/fesm2015/pepperi-addons-ngx-lib-separator.mjs +0 -89
- package/fesm2015/pepperi-addons-ngx-lib-separator.mjs.map +0 -1
- package/fesm2015/pepperi-addons-ngx-lib-side-bar.mjs +0 -196
- package/fesm2015/pepperi-addons-ngx-lib-side-bar.mjs.map +0 -1
- package/fesm2015/pepperi-addons-ngx-lib-signature.mjs +0 -464
- package/fesm2015/pepperi-addons-ngx-lib-signature.mjs.map +0 -1
- package/fesm2015/pepperi-addons-ngx-lib-size-detector.mjs +0 -136
- package/fesm2015/pepperi-addons-ngx-lib-size-detector.mjs.map +0 -1
- package/fesm2015/pepperi-addons-ngx-lib-skeleton-loader.mjs +0 -78
- package/fesm2015/pepperi-addons-ngx-lib-slider.mjs +0 -151
- package/fesm2015/pepperi-addons-ngx-lib-slider.mjs.map +0 -1
- package/fesm2015/pepperi-addons-ngx-lib-smart-filters.mjs +0 -1731
- package/fesm2015/pepperi-addons-ngx-lib-smart-filters.mjs.map +0 -1
- package/fesm2015/pepperi-addons-ngx-lib-snack-bar.mjs +0 -183
- package/fesm2015/pepperi-addons-ngx-lib-snack-bar.mjs.map +0 -1
- package/fesm2015/pepperi-addons-ngx-lib-textarea.mjs +0 -286
- package/fesm2015/pepperi-addons-ngx-lib-textbox-icon.mjs +0 -118
- package/fesm2015/pepperi-addons-ngx-lib-textbox-icon.mjs.map +0 -1
- package/fesm2015/pepperi-addons-ngx-lib-textbox.mjs +0 -806
- package/fesm2015/pepperi-addons-ngx-lib-textbox.mjs.map +0 -1
- package/fesm2015/pepperi-addons-ngx-lib-top-bar.mjs +0 -180
- package/fesm2015/pepperi-addons-ngx-lib-top-bar.mjs.map +0 -1
- package/fesm2015/pepperi-addons-ngx-lib.mjs +0 -4995
- package/fesm2015/pepperi-addons-ngx-lib.mjs.map +0 -1
- package/fesm2020/pepperi-addons-ngx-lib-address.mjs +0 -170
- package/fesm2020/pepperi-addons-ngx-lib-button.mjs +0 -197
- package/fesm2020/pepperi-addons-ngx-lib-chips.mjs +0 -305
- package/fesm2020/pepperi-addons-ngx-lib-draggable-items.mjs +0 -226
- package/fesm2020/pepperi-addons-ngx-lib-field-title.mjs +0 -102
- package/fesm2020/pepperi-addons-ngx-lib-files-uploader.mjs.map +0 -1
- package/fesm2020/pepperi-addons-ngx-lib-form.mjs.map +0 -1
- package/fesm2020/pepperi-addons-ngx-lib-icon.mjs.map +0 -1
- package/fesm2020/pepperi-addons-ngx-lib-images-filmstrip.mjs.map +0 -1
- package/fesm2020/pepperi-addons-ngx-lib-menu.mjs.map +0 -1
- package/fesm2020/pepperi-addons-ngx-lib-page-layout.mjs +0 -77
- package/fesm2020/pepperi-addons-ngx-lib-quantity-selector.mjs.map +0 -1
- package/fesm2020/pepperi-addons-ngx-lib-signature.mjs.map +0 -1
- package/fesm2020/pepperi-addons-ngx-lib-size-detector.mjs +0 -136
- package/fesm2020/pepperi-addons-ngx-lib-skeleton-loader.mjs +0 -76
- package/fesm2020/pepperi-addons-ngx-lib-skeleton-loader.mjs.map +0 -1
- package/fesm2020/pepperi-addons-ngx-lib-slider.mjs +0 -150
- package/fesm2020/pepperi-addons-ngx-lib-slider.mjs.map +0 -1
- package/fesm2020/pepperi-addons-ngx-lib-textarea.mjs.map +0 -1
- /package/{esm2020 → esm2022}/address/pepperi-addons-ngx-lib-address.mjs +0 -0
- /package/{esm2020 → esm2022}/address/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/attachment/pepperi-addons-ngx-lib-attachment.mjs +0 -0
- /package/{esm2020 → esm2022}/attachment/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/bread-crumbs/pepperi-addons-ngx-lib-bread-crumbs.mjs +0 -0
- /package/{esm2020 → esm2022}/bread-crumbs/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/button/pepperi-addons-ngx-lib-button.mjs +0 -0
- /package/{esm2020 → esm2022}/button/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/carousel/pepperi-addons-ngx-lib-carousel.mjs +0 -0
- /package/{esm2020 → esm2022}/carousel/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/checkbox/pepperi-addons-ngx-lib-checkbox.mjs +0 -0
- /package/{esm2020 → esm2022}/checkbox/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/chips/chips.model.mjs +0 -0
- /package/{esm2020 → esm2022}/chips/pepperi-addons-ngx-lib-chips.mjs +0 -0
- /package/{esm2020 → esm2022}/chips/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/color/color.model.mjs +0 -0
- /package/{esm2020 → esm2022}/color/pepperi-addons-ngx-lib-color.mjs +0 -0
- /package/{esm2020 → esm2022}/color/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/core/clipboard/index.mjs +0 -0
- /package/{esm2020 → esm2022}/core/clipboard/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/core/common/directives/index.mjs +0 -0
- /package/{esm2020 → esm2022}/core/common/directives/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/core/common/index.mjs +0 -0
- /package/{esm2020 → esm2022}/core/common/model/index.mjs +0 -0
- /package/{esm2020 → esm2022}/core/common/model/papi.model.mjs +0 -0
- /package/{esm2020 → esm2022}/core/common/model/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/core/common/model/utilities.model.mjs +0 -0
- /package/{esm2020 → esm2022}/core/common/pipes/index.mjs +0 -0
- /package/{esm2020 → esm2022}/core/common/pipes/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/core/common/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/core/common/services/index.mjs +0 -0
- /package/{esm2020 → esm2022}/core/common/services/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/core/customization/index.mjs +0 -0
- /package/{esm2020 → esm2022}/core/customization/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/core/http/index.mjs +0 -0
- /package/{esm2020 → esm2022}/core/http/interceptors/index.mjs +0 -0
- /package/{esm2020 → esm2022}/core/http/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/core/index.mjs +0 -0
- /package/{esm2020 → esm2022}/core/layout/index.mjs +0 -0
- /package/{esm2020 → esm2022}/core/layout/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/core/portal/index.mjs +0 -0
- /package/{esm2020 → esm2022}/core/portal/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/core/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/core/scroll-to/index.mjs +0 -0
- /package/{esm2020 → esm2022}/core/scroll-to/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/date/pepperi-addons-ngx-lib-date.mjs +0 -0
- /package/{esm2020 → esm2022}/date/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/dialog/pepperi-addons-ngx-lib-dialog.mjs +0 -0
- /package/{esm2020 → esm2022}/dialog/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/draggable-items/draggable-items.model.mjs +0 -0
- /package/{esm2020 → esm2022}/draggable-items/pepperi-addons-ngx-lib-draggable-items.mjs +0 -0
- /package/{esm2020 → esm2022}/draggable-items/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/field-title/pepperi-addons-ngx-lib-field-title.mjs +0 -0
- /package/{esm2020 → esm2022}/field-title/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/files-uploader/pepperi-addons-ngx-lib-files-uploader.mjs +0 -0
- /package/{esm2020 → esm2022}/files-uploader/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/form/form.model.mjs +0 -0
- /package/{esm2020 → esm2022}/form/pepperi-addons-ngx-lib-form.mjs +0 -0
- /package/{esm2020 → esm2022}/form/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/group-buttons/pepperi-addons-ngx-lib-group-buttons.mjs +0 -0
- /package/{esm2020 → esm2022}/group-buttons/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/icon/icon-generated-all.model.mjs +0 -0
- /package/{esm2020 → esm2022}/icon/icon-generated.model.mjs +0 -0
- /package/{esm2020 → esm2022}/icon/pepperi-addons-ngx-lib-icon.mjs +0 -0
- /package/{esm2020 → esm2022}/icon/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/image/pepperi-addons-ngx-lib-image.mjs +0 -0
- /package/{esm2020 → esm2022}/image/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/images-filmstrip/pepperi-addons-ngx-lib-images-filmstrip.mjs +0 -0
- /package/{esm2020 → esm2022}/images-filmstrip/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/link/pepperi-addons-ngx-lib-link.mjs +0 -0
- /package/{esm2020 → esm2022}/link/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/list/pepperi-addons-ngx-lib-list.mjs +0 -0
- /package/{esm2020 → esm2022}/list/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/menu/pepperi-addons-ngx-lib-menu.mjs +0 -0
- /package/{esm2020 → esm2022}/menu/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/page-layout/pepperi-addons-ngx-lib-page-layout.mjs +0 -0
- /package/{esm2020 → esm2022}/page-layout/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/pepperi-addons-ngx-lib.mjs +0 -0
- /package/{esm2020 → esm2022}/profile-data-views-list/pepperi-addons-ngx-lib-profile-data-views-list.mjs +0 -0
- /package/{esm2020 → esm2022}/profile-data-views-list/profile-data-views-list.model.mjs +0 -0
- /package/{esm2020 → esm2022}/profile-data-views-list/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/quantity-selector/pepperi-addons-ngx-lib-quantity-selector.mjs +0 -0
- /package/{esm2020 → esm2022}/quantity-selector/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/query-builder/common/model/field.mjs +0 -0
- /package/{esm2020 → esm2022}/query-builder/common/model/filter.mjs +0 -0
- /package/{esm2020 → esm2022}/query-builder/common/model/legacy.mjs +0 -0
- /package/{esm2020 → esm2022}/query-builder/common/model/operator-unit.mjs +0 -0
- /package/{esm2020 → esm2022}/query-builder/common/model/operator.mjs +0 -0
- /package/{esm2020 → esm2022}/query-builder/common/model/structure.mjs +0 -0
- /package/{esm2020 → esm2022}/query-builder/common/model/type.mjs +0 -0
- /package/{esm2020 → esm2022}/query-builder/pepperi-addons-ngx-lib-query-builder.mjs +0 -0
- /package/{esm2020 → esm2022}/query-builder/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/remote-loader/pepperi-addons-ngx-lib-remote-loader.mjs +0 -0
- /package/{esm2020 → esm2022}/remote-loader/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/remote-loader/remote-loader.model.mjs +0 -0
- /package/{esm2020 → esm2022}/rich-html-textarea/pepperi-addons-ngx-lib-rich-html-textarea.mjs +0 -0
- /package/{esm2020 → esm2022}/rich-html-textarea/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/search/pepperi-addons-ngx-lib-search.mjs +0 -0
- /package/{esm2020 → esm2022}/search/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/search/search.model.mjs +0 -0
- /package/{esm2020 → esm2022}/select/pepperi-addons-ngx-lib-select.mjs +0 -0
- /package/{esm2020 → esm2022}/select/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/select-panel/pepperi-addons-ngx-lib-select-panel.mjs +0 -0
- /package/{esm2020 → esm2022}/select-panel/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/select-panel/select-panel.model.mjs +0 -0
- /package/{esm2020 → esm2022}/separator/pepperi-addons-ngx-lib-separator.mjs +0 -0
- /package/{esm2020 → esm2022}/separator/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/side-bar/pepperi-addons-ngx-lib-side-bar.mjs +0 -0
- /package/{esm2020 → esm2022}/side-bar/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/side-bar/side-bar.model.mjs +0 -0
- /package/{esm2020 → esm2022}/signature/pepperi-addons-ngx-lib-signature.mjs +0 -0
- /package/{esm2020 → esm2022}/signature/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/size-detector/pepperi-addons-ngx-lib-size-detector.mjs +0 -0
- /package/{esm2020 → esm2022}/size-detector/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/skeleton-loader/pepperi-addons-ngx-lib-skeleton-loader.mjs +0 -0
- /package/{esm2020 → esm2022}/skeleton-loader/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/slider/pepperi-addons-ngx-lib-slider.mjs +0 -0
- /package/{esm2020 → esm2022}/slider/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/smart-filters/common/model/creator.mjs +0 -0
- /package/{esm2020 → esm2022}/smart-filters/common/model/filter.mjs +0 -0
- /package/{esm2020 → esm2022}/smart-filters/common/model/type.mjs +0 -0
- /package/{esm2020 → esm2022}/smart-filters/pepperi-addons-ngx-lib-smart-filters.mjs +0 -0
- /package/{esm2020 → esm2022}/smart-filters/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/snack-bar/pepperi-addons-ngx-lib-snack-bar.mjs +0 -0
- /package/{esm2020 → esm2022}/snack-bar/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/textarea/pepperi-addons-ngx-lib-textarea.mjs +0 -0
- /package/{esm2020 → esm2022}/textarea/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/textbox/pepperi-addons-ngx-lib-textbox.mjs +0 -0
- /package/{esm2020 → esm2022}/textbox/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/textbox-icon/pepperi-addons-ngx-lib-textbox-icon.mjs +0 -0
- /package/{esm2020 → esm2022}/textbox-icon/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/top-bar/pepperi-addons-ngx-lib-top-bar.mjs +0 -0
- /package/{esm2020 → esm2022}/top-bar/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/top-bar/top-bar.model.mjs +0 -0
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class PepTypeConvertorService {
|
|
4
|
+
_operators = [];
|
|
5
|
+
_booleans = [];
|
|
6
|
+
get operators() {
|
|
7
|
+
return this._operators;
|
|
8
|
+
}
|
|
9
|
+
get booleans() {
|
|
10
|
+
return this._booleans;
|
|
11
|
+
}
|
|
12
|
+
constructor() {
|
|
13
|
+
this.initOperators();
|
|
14
|
+
this.initBooleans();
|
|
15
|
+
}
|
|
16
|
+
initOperators() {
|
|
17
|
+
this._operators.push({
|
|
18
|
+
key: 'AND',
|
|
19
|
+
value: 'And'
|
|
20
|
+
});
|
|
21
|
+
this._operators.push({
|
|
22
|
+
key: 'OR',
|
|
23
|
+
value: 'Or'
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
initBooleans() {
|
|
27
|
+
this._booleans.push({
|
|
28
|
+
key: 'True',
|
|
29
|
+
value: 'True'
|
|
30
|
+
});
|
|
31
|
+
this._booleans.push({
|
|
32
|
+
key: 'False',
|
|
33
|
+
value: 'False'
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PepTypeConvertorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
37
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PepTypeConvertorService });
|
|
38
|
+
}
|
|
39
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PepTypeConvertorService, decorators: [{
|
|
40
|
+
type: Injectable
|
|
41
|
+
}], ctorParameters: function () { return []; } });
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS1jb252ZXJ0b3Iuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWIvcXVlcnktYnVpbGRlci9jb21tb24vc2VydmljZXMvdHlwZS1jb252ZXJ0b3Iuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUkzQyxNQUFNLE9BQU8sdUJBQXVCO0lBQ2YsVUFBVSxHQUFpQixFQUFFLENBQUM7SUFDOUIsU0FBUyxHQUFpQixFQUFFLENBQUM7SUFFOUMsSUFBVyxTQUFTO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUMzQixDQUFDO0lBRUQsSUFBVyxRQUFRO1FBQ2YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzFCLENBQUM7SUFFRDtRQUNJLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVPLGFBQWE7UUFDakIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUM7WUFDakIsR0FBRyxFQUFFLEtBQUs7WUFDVixLQUFLLEVBQUUsS0FBSztTQUNmLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDO1lBQ2pCLEdBQUcsRUFBRSxJQUFJO1lBQ1QsS0FBSyxFQUFFLElBQUk7U0FDZCxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8sWUFBWTtRQUNoQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQztZQUNoQixHQUFHLEVBQUUsTUFBTTtZQUNYLEtBQUssRUFBRSxNQUFNO1NBQ2hCLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDO1lBQ2hCLEdBQUcsRUFBRSxPQUFPO1lBQ1osS0FBSyxFQUFFLE9BQU87U0FDakIsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzt3R0FyQ1EsdUJBQXVCOzRHQUF2Qix1QkFBdUI7OzRGQUF2Qix1QkFBdUI7a0JBRG5DLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJUGVwT3B0aW9uIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWInO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgUGVwVHlwZUNvbnZlcnRvclNlcnZpY2Uge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX29wZXJhdG9yczogSVBlcE9wdGlvbltdID0gW107XG4gICAgcHJpdmF0ZSByZWFkb25seSBfYm9vbGVhbnM6IElQZXBPcHRpb25bXSA9IFtdO1xuXG4gICAgcHVibGljIGdldCBvcGVyYXRvcnMoKTogSVBlcE9wdGlvbltdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX29wZXJhdG9ycztcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGJvb2xlYW5zKCk6IElQZXBPcHRpb25bXSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9ib29sZWFucztcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5pbml0T3BlcmF0b3JzKCk7XG4gICAgICAgIHRoaXMuaW5pdEJvb2xlYW5zKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbml0T3BlcmF0b3JzKCkge1xuICAgICAgICB0aGlzLl9vcGVyYXRvcnMucHVzaCh7XG4gICAgICAgICAgICBrZXk6ICdBTkQnLFxuICAgICAgICAgICAgdmFsdWU6ICdBbmQnXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLl9vcGVyYXRvcnMucHVzaCh7XG4gICAgICAgICAgICBrZXk6ICdPUicsXG4gICAgICAgICAgICB2YWx1ZTogJ09yJ1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXRCb29sZWFucygpIHtcbiAgICAgICAgdGhpcy5fYm9vbGVhbnMucHVzaCh7XG4gICAgICAgICAgICBrZXk6ICdUcnVlJyxcbiAgICAgICAgICAgIHZhbHVlOiAnVHJ1ZSdcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuX2Jvb2xlYW5zLnB1c2goe1xuICAgICAgICAgICAga2V5OiAnRmFsc2UnLFxuICAgICAgICAgICAgdmFsdWU6ICdGYWxzZSdcbiAgICAgICAgfSk7XG4gICAgfVxuXG59Il19
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/forms";
|
|
4
|
+
import * as i2 from "../common/services/type-convertor.service";
|
|
5
|
+
import * as i3 from "../common/services/query-structure.service";
|
|
6
|
+
import * as i4 from "@angular/common";
|
|
7
|
+
import * as i5 from "@ngbracket/ngx-layout/flex";
|
|
8
|
+
import * as i6 from "@pepperi-addons/ngx-lib/select";
|
|
9
|
+
import * as i7 from "@pepperi-addons/ngx-lib/button";
|
|
10
|
+
import * as i8 from "@pepperi-addons/ngx-lib/smart-filters";
|
|
11
|
+
export class PepQueryBuilderItemComponent {
|
|
12
|
+
_fb;
|
|
13
|
+
typeConvertorService;
|
|
14
|
+
queryStructureService;
|
|
15
|
+
formKey;
|
|
16
|
+
_fields = [];
|
|
17
|
+
_options = [];
|
|
18
|
+
set fields(list) {
|
|
19
|
+
if (list?.length > 0) {
|
|
20
|
+
this._fields = list;
|
|
21
|
+
this._options = list.map(field => {
|
|
22
|
+
return {
|
|
23
|
+
key: field.smart.id,
|
|
24
|
+
value: field.smart.name
|
|
25
|
+
};
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
_selectedField = null;
|
|
30
|
+
set selected(value) {
|
|
31
|
+
if (value) {
|
|
32
|
+
this._selectedField = value.smart;
|
|
33
|
+
this.queryForm.fieldType.setValue(value.query.fieldType);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
_filter;
|
|
37
|
+
set filter(value) {
|
|
38
|
+
if (value) {
|
|
39
|
+
this._filter = value;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
_parentForm;
|
|
43
|
+
set parentForm(value) {
|
|
44
|
+
if (value) {
|
|
45
|
+
this._parentForm = value;
|
|
46
|
+
this.addToParentForm();
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
variableFields = {};
|
|
50
|
+
filterChange = new EventEmitter();
|
|
51
|
+
remove = new EventEmitter();
|
|
52
|
+
form;
|
|
53
|
+
constructor(_fb, typeConvertorService, queryStructureService) {
|
|
54
|
+
this._fb = _fb;
|
|
55
|
+
this.typeConvertorService = typeConvertorService;
|
|
56
|
+
this.queryStructureService = queryStructureService;
|
|
57
|
+
this.setupForm();
|
|
58
|
+
}
|
|
59
|
+
ngOnInit() {
|
|
60
|
+
//this.variableFields = this.queryStructureService.variableFields;
|
|
61
|
+
}
|
|
62
|
+
get f() {
|
|
63
|
+
return this.form.controls;
|
|
64
|
+
}
|
|
65
|
+
get queryForm() {
|
|
66
|
+
return this.f.query.controls;
|
|
67
|
+
}
|
|
68
|
+
setupForm() {
|
|
69
|
+
this.form = this._fb.group({
|
|
70
|
+
smart: this._fb.group({
|
|
71
|
+
fieldId: this._fb.control(null),
|
|
72
|
+
fieldType: this._fb.control(null),
|
|
73
|
+
operator: this._fb.control(null),
|
|
74
|
+
operatorUnit: this._fb.control(null),
|
|
75
|
+
values: this._fb.group({
|
|
76
|
+
first: this._fb.control(null),
|
|
77
|
+
second: this._fb.control(null)
|
|
78
|
+
})
|
|
79
|
+
}),
|
|
80
|
+
query: this._fb.group({
|
|
81
|
+
fieldType: this._fb.control(null)
|
|
82
|
+
})
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
addToParentForm() {
|
|
86
|
+
this._parentForm.setControl(this.formKey, this.form);
|
|
87
|
+
}
|
|
88
|
+
onFieldChanged(key) {
|
|
89
|
+
const item = this._fields.find(field => field.smart.id === key);
|
|
90
|
+
this.setupForm();
|
|
91
|
+
this.queryForm.fieldType.setValue(item.query.fieldType);
|
|
92
|
+
this.addToParentForm();
|
|
93
|
+
/**
|
|
94
|
+
* hack due to angular's change detection bug -
|
|
95
|
+
* ERROR Error: There is no FormControl instance attached to form control element with name: [formControlName]
|
|
96
|
+
*/
|
|
97
|
+
this._selectedField = null;
|
|
98
|
+
setTimeout(() => {
|
|
99
|
+
this._selectedField = item ? item.smart : null;
|
|
100
|
+
}, 0);
|
|
101
|
+
this._filter = null;
|
|
102
|
+
}
|
|
103
|
+
onFilterChanged() {
|
|
104
|
+
if (this.form.valid) {
|
|
105
|
+
this.filterChange.emit();
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
onDeleteItemClicked() {
|
|
109
|
+
this.remove.emit();
|
|
110
|
+
}
|
|
111
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PepQueryBuilderItemComponent, deps: [{ token: i1.FormBuilder }, { token: i2.PepTypeConvertorService }, { token: i3.PepQueryStructureService }], target: i0.ɵɵFactoryTarget.Component });
|
|
112
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PepQueryBuilderItemComponent, selector: "pep-query-builder-item", inputs: { formKey: "formKey", fields: "fields", selected: "selected", filter: "filter", parentForm: "parentForm", variableFields: "variableFields" }, outputs: { filterChange: "filterChange", remove: "remove" }, ngImport: i0, 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\" [variableField]=\"variableFields?.text\"\n [field]=\"_selectedField\" [filter]=\"_filter\" [parentForm]=\"f.smart\" [emitOnChange]=\"true\"\n [inline]=\"true\" [renderTitle]=\"false\" (filterChange)=\"onFilterChanged()\">\n </pep-text-filter>\n </ng-container>\n <ng-container *ngSwitchCase=\"'boolean'\">\n <pep-boolean-filter fxFlex=\"auto\" [showActionButtons]=\"false\"\n [variableField]=\"variableFields?.boolean\" [field]=\"_selectedField\" [filter]=\"_filter\"\n [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\" [showAdditionalOperators]=\"true\"\n [variableField]=\"variableFields?.date\" [field]=\"_selectedField\" [filter]=\"_filter\"\n [parentForm]=\"f.smart\" [emitOnChange]=\"true\" [inline]=\"true\" [renderTitle]=\"false\"\n (filterChange)=\"onFilterChanged()\">\n </pep-date-filter>\n </ng-container>\n <!-- <ng-container *ngSwitchCase=\"'text'\">\n <pep-multi-select-filter fxFlex=\"auto\" [showActionButtons]=\"false\"\n [variableField]=\"variableFields?.text\" [field]=\"_selectedField\" [filter]=\"_filter\"\n [parentForm]=\"f.smart\" [emitOnChange]=\"true\" [inline]=\"true\" [renderTitle]=\"false\"\n (filterChange)=\"onFilterChanged()\">\n </pep-multi-select-filter>\n </ng-container> -->\n <ng-container *ngSwitchCase=\"'multi-select'\">\n <pep-multi-select-filter fxFlex=\"auto\" [showActionButtons]=\"false\"\n [variableField]=\"variableFields?.text\" [field]=\"_selectedField\" [filter]=\"_filter\"\n [parentForm]=\"f.smart\" [emitOnChange]=\"true\" [inline]=\"true\" [renderTitle]=\"false\"\n (filterChange)=\"onFilterChanged()\">\n </pep-multi-select-filter>\n </ng-container>\n <ng-container *ngSwitchCase=\"'number'\">\n <pep-number-filter fxFlex=\"auto\" [showActionButtons]=\"false\"\n [variableField]=\"variableFields?.number\" [field]=\"_selectedField\" [filter]=\"_filter\"\n [parentForm]=\"f.smart\" [emitOnChange]=\"true\" [inline]=\"true\" [renderTitle]=\"false\"\n (filterChange)=\"onFilterChanged()\">\n </pep-number-filter>\n </ng-container>\n </ng-container>\n </ng-container>\n <pep-button styleType=\"weak\" styleStateType=\"system\" sizeType=\"md\" classNames=\"\" [disabled]=\"false\"\n iconName=\"system_bin\" iconPosition=\"end\" [visible]=\"true\" (buttonClick)=\"onDeleteItemClicked()\">\n </pep-button>\n </div>\n</div>", styles: ["::ng-deep .pep-field-no-spacing{min-height:0!important;margin-bottom:0!important}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i4.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i5.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i5.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i5.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "component", type: i6.PepSelectComponent, selector: "pep-select", inputs: ["key", "value", "label", "type", "mandatory", "disabled", "readonly", "xAlignment", "rowSpan", "placeholder", "placeholderWhenDisabled", "autoSortOptions", "options", "visible", "emptyOption", "form", "layoutType", "parentFieldKey", "isActive", "showTitle", "renderTitle", "typeaheadDebounceInterval", "addValueToOptionsIfNotExist"], outputs: ["valueChange", "validationChange"] }, { kind: "component", type: i7.PepButtonComponent, selector: "pep-button", inputs: ["key", "value", "styleType", "styleStateType", "sizeType", "classNames", "disabled", "iconName", "iconPosition", "visible"], outputs: ["buttonClick"] }, { kind: "component", type: i8.PepTextFilterComponent, selector: "pep-text-filter" }, { kind: "component", type: i8.PepBooleanFilterComponent, selector: "pep-boolean-filter", inputs: ["options"] }, { kind: "component", type: i8.PepDateFilterComponent, selector: "pep-date-filter" }, { kind: "component", type: i8.PepMultiSelectFilterComponent, selector: "pep-multi-select-filter" }, { kind: "component", type: i8.PepNumberFilterComponent, selector: "pep-number-filter" }] });
|
|
113
|
+
}
|
|
114
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PepQueryBuilderItemComponent, decorators: [{
|
|
115
|
+
type: Component,
|
|
116
|
+
args: [{ selector: 'pep-query-builder-item', 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\" [variableField]=\"variableFields?.text\"\n [field]=\"_selectedField\" [filter]=\"_filter\" [parentForm]=\"f.smart\" [emitOnChange]=\"true\"\n [inline]=\"true\" [renderTitle]=\"false\" (filterChange)=\"onFilterChanged()\">\n </pep-text-filter>\n </ng-container>\n <ng-container *ngSwitchCase=\"'boolean'\">\n <pep-boolean-filter fxFlex=\"auto\" [showActionButtons]=\"false\"\n [variableField]=\"variableFields?.boolean\" [field]=\"_selectedField\" [filter]=\"_filter\"\n [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\" [showAdditionalOperators]=\"true\"\n [variableField]=\"variableFields?.date\" [field]=\"_selectedField\" [filter]=\"_filter\"\n [parentForm]=\"f.smart\" [emitOnChange]=\"true\" [inline]=\"true\" [renderTitle]=\"false\"\n (filterChange)=\"onFilterChanged()\">\n </pep-date-filter>\n </ng-container>\n <!-- <ng-container *ngSwitchCase=\"'text'\">\n <pep-multi-select-filter fxFlex=\"auto\" [showActionButtons]=\"false\"\n [variableField]=\"variableFields?.text\" [field]=\"_selectedField\" [filter]=\"_filter\"\n [parentForm]=\"f.smart\" [emitOnChange]=\"true\" [inline]=\"true\" [renderTitle]=\"false\"\n (filterChange)=\"onFilterChanged()\">\n </pep-multi-select-filter>\n </ng-container> -->\n <ng-container *ngSwitchCase=\"'multi-select'\">\n <pep-multi-select-filter fxFlex=\"auto\" [showActionButtons]=\"false\"\n [variableField]=\"variableFields?.text\" [field]=\"_selectedField\" [filter]=\"_filter\"\n [parentForm]=\"f.smart\" [emitOnChange]=\"true\" [inline]=\"true\" [renderTitle]=\"false\"\n (filterChange)=\"onFilterChanged()\">\n </pep-multi-select-filter>\n </ng-container>\n <ng-container *ngSwitchCase=\"'number'\">\n <pep-number-filter fxFlex=\"auto\" [showActionButtons]=\"false\"\n [variableField]=\"variableFields?.number\" [field]=\"_selectedField\" [filter]=\"_filter\"\n [parentForm]=\"f.smart\" [emitOnChange]=\"true\" [inline]=\"true\" [renderTitle]=\"false\"\n (filterChange)=\"onFilterChanged()\">\n </pep-number-filter>\n </ng-container>\n </ng-container>\n </ng-container>\n <pep-button styleType=\"weak\" styleStateType=\"system\" sizeType=\"md\" classNames=\"\" [disabled]=\"false\"\n iconName=\"system_bin\" iconPosition=\"end\" [visible]=\"true\" (buttonClick)=\"onDeleteItemClicked()\">\n </pep-button>\n </div>\n</div>", styles: ["::ng-deep .pep-field-no-spacing{min-height:0!important;margin-bottom:0!important}\n"] }]
|
|
117
|
+
}], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type: i2.PepTypeConvertorService }, { type: i3.PepQueryStructureService }]; }, propDecorators: { formKey: [{
|
|
118
|
+
type: Input
|
|
119
|
+
}], fields: [{
|
|
120
|
+
type: Input
|
|
121
|
+
}], selected: [{
|
|
122
|
+
type: Input
|
|
123
|
+
}], filter: [{
|
|
124
|
+
type: Input
|
|
125
|
+
}], parentForm: [{
|
|
126
|
+
type: Input
|
|
127
|
+
}], variableFields: [{
|
|
128
|
+
type: Input
|
|
129
|
+
}], filterChange: [{
|
|
130
|
+
type: Output
|
|
131
|
+
}], remove: [{
|
|
132
|
+
type: Output
|
|
133
|
+
}] } });
|
|
134
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktYnVpbGRlci1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWIvcXVlcnktYnVpbGRlci9xdWVyeS1idWlsZGVyLWl0ZW0vcXVlcnktYnVpbGRlci1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWIvcXVlcnktYnVpbGRlci9xdWVyeS1idWlsZGVyLWl0ZW0vcXVlcnktYnVpbGRlci1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7Ozs7QUFjdkUsTUFBTSxPQUFPLDRCQUE0QjtJQW1EekI7SUFDRDtJQUNDO0lBcERILE9BQU8sQ0FBUztJQUN6QixPQUFPLEdBQTBDLEVBQUUsQ0FBQztJQUNwRCxRQUFRLEdBQWlCLEVBQUUsQ0FBQztJQUM1QixJQUNJLE1BQU0sQ0FBQyxJQUEyQztRQUNsRCxJQUFJLElBQUksRUFBRSxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ2xCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDN0IsT0FBTztvQkFDSCxHQUFHLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFO29CQUNuQixLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJO2lCQUMxQixDQUFBO1lBQ0wsQ0FBQyxDQUFDLENBQUE7U0FDTDtJQUNMLENBQUM7SUFDRCxjQUFjLEdBQTRCLElBQUksQ0FBQztJQUMvQyxJQUNJLFFBQVEsQ0FBQyxLQUFxQztRQUM5QyxJQUFJLEtBQUssRUFBRTtZQUNQLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQztZQUNsQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUM1RDtJQUNMLENBQUM7SUFDRCxPQUFPLENBQXNCO0lBQzdCLElBQ0ksTUFBTSxDQUFDLEtBQTBCO1FBQ2pDLElBQUksS0FBSyxFQUFFO1lBQ1AsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7U0FDeEI7SUFDTCxDQUFDO0lBQ0QsV0FBVyxDQUFZO0lBQ3ZCLElBQ0ksVUFBVSxDQUFDLEtBQWdCO1FBQzNCLElBQUksS0FBSyxFQUFFO1lBQ1AsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7WUFDekIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1NBQzFCO0lBQ0wsQ0FBQztJQUdELGNBQWMsR0FBUSxFQUFFLENBQUM7SUFHekIsWUFBWSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFFbEMsTUFBTSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFFNUIsSUFBSSxDQUFZO0lBRWhCLFlBQ1ksR0FBZ0IsRUFDakIsb0JBQTZDLEVBQzVDLHFCQUErQztRQUYvQyxRQUFHLEdBQUgsR0FBRyxDQUFhO1FBQ2pCLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBeUI7UUFDNUMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUEwQjtRQUV2RCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELFFBQVE7UUFDSixrRUFBa0U7SUFDdEUsQ0FBQztJQUVELElBQUksQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDOUIsQ0FBQztJQUVELElBQUksU0FBUztRQUNULE9BQVEsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFtQixDQUFDLFFBQVEsQ0FBQztJQUNoRCxDQUFDO0lBRUQsU0FBUztRQUNMLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUM7WUFDdkIsS0FBSyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDO2dCQUNsQixPQUFPLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO2dCQUMvQixTQUFTLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO2dCQUNqQyxRQUFRLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO2dCQUNoQyxZQUFZLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO2dCQUNwQyxNQUFNLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUM7b0JBQ25CLEtBQUssRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7b0JBQzdCLE1BQU0sRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7aUJBQ2pDLENBQUM7YUFDTCxDQUFDO1lBQ0YsS0FBSyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDO2dCQUNsQixTQUFTLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO2FBQ3BDLENBQUM7U0FDTCxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsZUFBZTtRQUNYLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRCxjQUFjLENBQUMsR0FBRztRQUNkLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFLEtBQUssR0FBRyxDQUFDLENBQUM7UUFFaEUsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3hELElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUV2Qjs7O1dBR0c7UUFDSCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztRQUMzQixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ1osSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUNuRCxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFTixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztJQUN4QixDQUFDO0lBRUQsZUFBZTtRQUNYLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDakIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUM1QjtJQUNMLENBQUM7SUFFRCxtQkFBbUI7UUFDZixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3ZCLENBQUM7d0dBdkhRLDRCQUE0Qjs0RkFBNUIsNEJBQTRCLGlSQ2R6Qyx5M0hBc0RNOzs0RkR4Q08sNEJBQTRCO2tCQUx4QyxTQUFTOytCQUNJLHdCQUF3QjsrS0FLekIsT0FBTztzQkFBZixLQUFLO2dCQUlGLE1BQU07c0JBRFQsS0FBSztnQkFjRixRQUFRO3NCQURYLEtBQUs7Z0JBU0YsTUFBTTtzQkFEVCxLQUFLO2dCQVFGLFVBQVU7c0JBRGIsS0FBSztnQkFTTixjQUFjO3NCQURiLEtBQUs7Z0JBSU4sWUFBWTtzQkFEWCxNQUFNO2dCQUdQLE1BQU07c0JBREwsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUGVwU21hcnRGaWx0ZXJCYXNlRmllbGQsIElQZXBTbWFydEZpbHRlckZpZWxkIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWIvc21hcnQtZmlsdGVycyc7XG5pbXBvcnQgeyBJUGVwU21hcnRGaWx0ZXJEYXRhIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWIvc21hcnQtZmlsdGVycyc7XG5pbXBvcnQgeyBJUGVwT3B0aW9uIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWInO1xuaW1wb3J0IHsgUGVwVHlwZUNvbnZlcnRvclNlcnZpY2UgfSBmcm9tICcuLi9jb21tb24vc2VydmljZXMvdHlwZS1jb252ZXJ0b3Iuc2VydmljZSc7XG5pbXBvcnQgeyBJUGVwUXVlcnlCdWlsZGVyRmllbGRDb250YWluZXIgfSBmcm9tICcuLi9jb21tb24vbW9kZWwvZmllbGQnO1xuaW1wb3J0IHsgUGVwUXVlcnlTdHJ1Y3R1cmVTZXJ2aWNlIH0gZnJvbSAnLi4vY29tbW9uL3NlcnZpY2VzL3F1ZXJ5LXN0cnVjdHVyZS5zZXJ2aWNlJ1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3BlcC1xdWVyeS1idWlsZGVyLWl0ZW0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9xdWVyeS1idWlsZGVyLWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3F1ZXJ5LWJ1aWxkZXItaXRlbS5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBQZXBRdWVyeUJ1aWxkZXJJdGVtQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKSBmb3JtS2V5OiBzdHJpbmc7XG4gICAgX2ZpZWxkczogQXJyYXk8SVBlcFF1ZXJ5QnVpbGRlckZpZWxkQ29udGFpbmVyPiA9IFtdO1xuICAgIF9vcHRpb25zOiBJUGVwT3B0aW9uW10gPSBbXTtcbiAgICBASW5wdXQoKVxuICAgIHNldCBmaWVsZHMobGlzdDogQXJyYXk8SVBlcFF1ZXJ5QnVpbGRlckZpZWxkQ29udGFpbmVyPikge1xuICAgICAgICBpZiAobGlzdD8ubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgdGhpcy5fZmllbGRzID0gbGlzdDtcbiAgICAgICAgICAgIHRoaXMuX29wdGlvbnMgPSBsaXN0Lm1hcChmaWVsZCA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAga2V5OiBmaWVsZC5zbWFydC5pZCxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGZpZWxkLnNtYXJ0Lm5hbWVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgfVxuICAgIF9zZWxlY3RlZEZpZWxkOiBQZXBTbWFydEZpbHRlckJhc2VGaWVsZCA9IG51bGw7XG4gICAgQElucHV0KClcbiAgICBzZXQgc2VsZWN0ZWQodmFsdWU6IElQZXBRdWVyeUJ1aWxkZXJGaWVsZENvbnRhaW5lcikge1xuICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuX3NlbGVjdGVkRmllbGQgPSB2YWx1ZS5zbWFydDtcbiAgICAgICAgICAgIHRoaXMucXVlcnlGb3JtLmZpZWxkVHlwZS5zZXRWYWx1ZSh2YWx1ZS5xdWVyeS5maWVsZFR5cGUpO1xuICAgICAgICB9XG4gICAgfVxuICAgIF9maWx0ZXI6IElQZXBTbWFydEZpbHRlckRhdGE7XG4gICAgQElucHV0KClcbiAgICBzZXQgZmlsdGVyKHZhbHVlOiBJUGVwU21hcnRGaWx0ZXJEYXRhKSB7XG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5fZmlsdGVyID0gdmFsdWU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgX3BhcmVudEZvcm06IEZvcm1Hcm91cDtcbiAgICBASW5wdXQoKVxuICAgIHNldCBwYXJlbnRGb3JtKHZhbHVlOiBGb3JtR3JvdXApIHtcbiAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLl9wYXJlbnRGb3JtID0gdmFsdWU7XG4gICAgICAgICAgICB0aGlzLmFkZFRvUGFyZW50Rm9ybSgpO1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIEBJbnB1dCgpIFxuICAgIHZhcmlhYmxlRmllbGRzOiBhbnkgPSB7fTtcblxuICAgIEBPdXRwdXQoKVxuICAgIGZpbHRlckNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBAT3V0cHV0KClcbiAgICByZW1vdmUgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBmb3JtOiBGb3JtR3JvdXA7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBfZmI6IEZvcm1CdWlsZGVyLFxuICAgICAgICBwdWJsaWMgdHlwZUNvbnZlcnRvclNlcnZpY2U6IFBlcFR5cGVDb252ZXJ0b3JTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHF1ZXJ5U3RydWN0dXJlU2VydmljZTogUGVwUXVlcnlTdHJ1Y3R1cmVTZXJ2aWNlXG4gICAgKSB7XG4gICAgICAgIHRoaXMuc2V0dXBGb3JtKCk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIC8vdGhpcy52YXJpYWJsZUZpZWxkcyA9IHRoaXMucXVlcnlTdHJ1Y3R1cmVTZXJ2aWNlLnZhcmlhYmxlRmllbGRzO1xuICAgIH1cblxuICAgIGdldCBmKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5mb3JtLmNvbnRyb2xzO1xuICAgIH1cblxuICAgIGdldCBxdWVyeUZvcm0oKSB7XG4gICAgICAgIHJldHVybiAodGhpcy5mLnF1ZXJ5IGFzIEZvcm1Hcm91cCkuY29udHJvbHM7XG4gICAgfVxuXG4gICAgc2V0dXBGb3JtKCkge1xuICAgICAgICB0aGlzLmZvcm0gPSB0aGlzLl9mYi5ncm91cCh7XG4gICAgICAgICAgICBzbWFydDogdGhpcy5fZmIuZ3JvdXAoe1xuICAgICAgICAgICAgICAgIGZpZWxkSWQ6IHRoaXMuX2ZiLmNvbnRyb2wobnVsbCksXG4gICAgICAgICAgICAgICAgZmllbGRUeXBlOiB0aGlzLl9mYi5jb250cm9sKG51bGwpLFxuICAgICAgICAgICAgICAgIG9wZXJhdG9yOiB0aGlzLl9mYi5jb250cm9sKG51bGwpLFxuICAgICAgICAgICAgICAgIG9wZXJhdG9yVW5pdDogdGhpcy5fZmIuY29udHJvbChudWxsKSxcbiAgICAgICAgICAgICAgICB2YWx1ZXM6IHRoaXMuX2ZiLmdyb3VwKHtcbiAgICAgICAgICAgICAgICAgICAgZmlyc3Q6IHRoaXMuX2ZiLmNvbnRyb2wobnVsbCksXG4gICAgICAgICAgICAgICAgICAgIHNlY29uZDogdGhpcy5fZmIuY29udHJvbChudWxsKVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHF1ZXJ5OiB0aGlzLl9mYi5ncm91cCh7XG4gICAgICAgICAgICAgICAgZmllbGRUeXBlOiB0aGlzLl9mYi5jb250cm9sKG51bGwpXG4gICAgICAgICAgICB9KVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBhZGRUb1BhcmVudEZvcm0oKSB7XG4gICAgICAgIHRoaXMuX3BhcmVudEZvcm0uc2V0Q29udHJvbCh0aGlzLmZvcm1LZXksIHRoaXMuZm9ybSk7XG4gICAgfVxuXG4gICAgb25GaWVsZENoYW5nZWQoa2V5KSB7XG4gICAgICAgIGNvbnN0IGl0ZW0gPSB0aGlzLl9maWVsZHMuZmluZChmaWVsZCA9PiBmaWVsZC5zbWFydC5pZCA9PT0ga2V5KTtcblxuICAgICAgICB0aGlzLnNldHVwRm9ybSgpO1xuICAgICAgICB0aGlzLnF1ZXJ5Rm9ybS5maWVsZFR5cGUuc2V0VmFsdWUoaXRlbS5xdWVyeS5maWVsZFR5cGUpO1xuICAgICAgICB0aGlzLmFkZFRvUGFyZW50Rm9ybSgpO1xuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBoYWNrIGR1ZSB0byBhbmd1bGFyJ3MgY2hhbmdlIGRldGVjdGlvbiBidWcgLVxuICAgICAgICAgKiBFUlJPUiBFcnJvcjogVGhlcmUgaXMgbm8gRm9ybUNvbnRyb2wgaW5zdGFuY2UgYXR0YWNoZWQgdG8gZm9ybSBjb250cm9sIGVsZW1lbnQgd2l0aCBuYW1lOiBbZm9ybUNvbnRyb2xOYW1lXVxuICAgICAgICAgKi9cbiAgICAgICAgdGhpcy5fc2VsZWN0ZWRGaWVsZCA9IG51bGw7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fc2VsZWN0ZWRGaWVsZCA9IGl0ZW0gPyBpdGVtLnNtYXJ0IDogbnVsbDtcbiAgICAgICAgfSwgMCk7XG5cbiAgICAgICAgdGhpcy5fZmlsdGVyID0gbnVsbDtcbiAgICB9XG5cbiAgICBvbkZpbHRlckNoYW5nZWQoKSB7XG4gICAgICAgIGlmICh0aGlzLmZvcm0udmFsaWQpIHtcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyQ2hhbmdlLmVtaXQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uRGVsZXRlSXRlbUNsaWNrZWQoKSB7XG4gICAgICAgIHRoaXMucmVtb3ZlLmVtaXQoKTtcbiAgICB9XG5cblxuXG59XG4iLCI8ZGl2IGZ4TGF5b3V0PVwiY29sdW1uXCIgZnhMYXlvdXRHYXA9XCIuNXJlbVwiPlxuICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEdhcD1cIi41cmVtXCI+XG4gICAgICAgIDxwZXAtc2VsZWN0IGZ4RmxleD1cIjI1JVwiIFt2YWx1ZV09XCJfc2VsZWN0ZWRGaWVsZD8uaWRcIiB4QWxpZ25tZW50PVwibGVmdFwiIFtvcHRpb25zXT1cIl9vcHRpb25zXCJcbiAgICAgICAgICAgIFtyZW5kZXJUaXRsZV09XCJmYWxzZVwiICh2YWx1ZUNoYW5nZSk9XCJvbkZpZWxkQ2hhbmdlZCgkZXZlbnQpXCI+PC9wZXAtc2VsZWN0PlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiX3NlbGVjdGVkRmllbGQ/LmNvbXBvbmVudFR5cGVcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cIl9zZWxlY3RlZEZpZWxkLmNvbXBvbmVudFR5cGVcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCIndGV4dCdcIj5cbiAgICAgICAgICAgICAgICAgICAgPHBlcC10ZXh0LWZpbHRlciBmeEZsZXg9XCJhdXRvXCIgW3Nob3dBY3Rpb25CdXR0b25zXT1cImZhbHNlXCIgW3ZhcmlhYmxlRmllbGRdPVwidmFyaWFibGVGaWVsZHM/LnRleHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2ZpZWxkXT1cIl9zZWxlY3RlZEZpZWxkXCIgW2ZpbHRlcl09XCJfZmlsdGVyXCIgW3BhcmVudEZvcm1dPVwiZi5zbWFydFwiIFtlbWl0T25DaGFuZ2VdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbaW5saW5lXT1cInRydWVcIiBbcmVuZGVyVGl0bGVdPVwiZmFsc2VcIiAoZmlsdGVyQ2hhbmdlKT1cIm9uRmlsdGVyQ2hhbmdlZCgpXCI+XG4gICAgICAgICAgICAgICAgICAgIDwvcGVwLXRleHQtZmlsdGVyPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidib29sZWFuJ1wiPlxuICAgICAgICAgICAgICAgICAgICA8cGVwLWJvb2xlYW4tZmlsdGVyIGZ4RmxleD1cImF1dG9cIiBbc2hvd0FjdGlvbkJ1dHRvbnNdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3ZhcmlhYmxlRmllbGRdPVwidmFyaWFibGVGaWVsZHM/LmJvb2xlYW5cIiBbZmllbGRdPVwiX3NlbGVjdGVkRmllbGRcIiBbZmlsdGVyXT1cIl9maWx0ZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3BhcmVudEZvcm1dPVwiZi5zbWFydFwiIFtlbWl0T25DaGFuZ2VdPVwidHJ1ZVwiIFtpbmxpbmVdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbb3B0aW9uc109XCJ0eXBlQ29udmVydG9yU2VydmljZS5ib29sZWFuc1wiIFtyZW5kZXJUaXRsZV09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoZmlsdGVyQ2hhbmdlKT1cIm9uRmlsdGVyQ2hhbmdlZCgpXCI+XG4gICAgICAgICAgICAgICAgICAgIDwvcGVwLWJvb2xlYW4tZmlsdGVyPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidkYXRlJ1wiPlxuICAgICAgICAgICAgICAgICAgICA8cGVwLWRhdGUtZmlsdGVyIGZ4RmxleD1cImF1dG9cIiBbc2hvd0FjdGlvbkJ1dHRvbnNdPVwiZmFsc2VcIiBbc2hvd0FkZGl0aW9uYWxPcGVyYXRvcnNdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbdmFyaWFibGVGaWVsZF09XCJ2YXJpYWJsZUZpZWxkcz8uZGF0ZVwiIFtmaWVsZF09XCJfc2VsZWN0ZWRGaWVsZFwiIFtmaWx0ZXJdPVwiX2ZpbHRlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbcGFyZW50Rm9ybV09XCJmLnNtYXJ0XCIgW2VtaXRPbkNoYW5nZV09XCJ0cnVlXCIgW2lubGluZV09XCJ0cnVlXCIgW3JlbmRlclRpdGxlXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChmaWx0ZXJDaGFuZ2UpPVwib25GaWx0ZXJDaGFuZ2VkKClcIj5cbiAgICAgICAgICAgICAgICAgICAgPC9wZXAtZGF0ZS1maWx0ZXI+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPCEtLSA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCIndGV4dCdcIj5cbiAgICAgICAgICAgICAgICAgICAgPHBlcC1tdWx0aS1zZWxlY3QtZmlsdGVyIGZ4RmxleD1cImF1dG9cIiBbc2hvd0FjdGlvbkJ1dHRvbnNdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3ZhcmlhYmxlRmllbGRdPVwidmFyaWFibGVGaWVsZHM/LnRleHRcIiBbZmllbGRdPVwiX3NlbGVjdGVkRmllbGRcIiBbZmlsdGVyXT1cIl9maWx0ZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3BhcmVudEZvcm1dPVwiZi5zbWFydFwiIFtlbWl0T25DaGFuZ2VdPVwidHJ1ZVwiIFtpbmxpbmVdPVwidHJ1ZVwiIFtyZW5kZXJUaXRsZV09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoZmlsdGVyQ2hhbmdlKT1cIm9uRmlsdGVyQ2hhbmdlZCgpXCI+XG4gICAgICAgICAgICAgICAgICAgIDwvcGVwLW11bHRpLXNlbGVjdC1maWx0ZXI+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+IC0tPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidtdWx0aS1zZWxlY3QnXCI+XG4gICAgICAgICAgICAgICAgICAgIDxwZXAtbXVsdGktc2VsZWN0LWZpbHRlciBmeEZsZXg9XCJhdXRvXCIgW3Nob3dBY3Rpb25CdXR0b25zXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt2YXJpYWJsZUZpZWxkXT1cInZhcmlhYmxlRmllbGRzPy50ZXh0XCIgW2ZpZWxkXT1cIl9zZWxlY3RlZEZpZWxkXCIgW2ZpbHRlcl09XCJfZmlsdGVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtwYXJlbnRGb3JtXT1cImYuc21hcnRcIiBbZW1pdE9uQ2hhbmdlXT1cInRydWVcIiBbaW5saW5lXT1cInRydWVcIiBbcmVuZGVyVGl0bGVdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGZpbHRlckNoYW5nZSk9XCJvbkZpbHRlckNoYW5nZWQoKVwiPlxuICAgICAgICAgICAgICAgICAgICA8L3BlcC1tdWx0aS1zZWxlY3QtZmlsdGVyPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidudW1iZXInXCI+XG4gICAgICAgICAgICAgICAgICAgIDxwZXAtbnVtYmVyLWZpbHRlciBmeEZsZXg9XCJhdXRvXCIgW3Nob3dBY3Rpb25CdXR0b25zXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt2YXJpYWJsZUZpZWxkXT1cInZhcmlhYmxlRmllbGRzPy5udW1iZXJcIiBbZmllbGRdPVwiX3NlbGVjdGVkRmllbGRcIiBbZmlsdGVyXT1cIl9maWx0ZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3BhcmVudEZvcm1dPVwiZi5zbWFydFwiIFtlbWl0T25DaGFuZ2VdPVwidHJ1ZVwiIFtpbmxpbmVdPVwidHJ1ZVwiIFtyZW5kZXJUaXRsZV09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoZmlsdGVyQ2hhbmdlKT1cIm9uRmlsdGVyQ2hhbmdlZCgpXCI+XG4gICAgICAgICAgICAgICAgICAgIDwvcGVwLW51bWJlci1maWx0ZXI+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxwZXAtYnV0dG9uIHN0eWxlVHlwZT1cIndlYWtcIiBzdHlsZVN0YXRlVHlwZT1cInN5c3RlbVwiIHNpemVUeXBlPVwibWRcIiBjbGFzc05hbWVzPVwiXCIgW2Rpc2FibGVkXT1cImZhbHNlXCJcbiAgICAgICAgICAgIGljb25OYW1lPVwic3lzdGVtX2JpblwiIGljb25Qb3NpdGlvbj1cImVuZFwiIFt2aXNpYmxlXT1cInRydWVcIiAoYnV0dG9uQ2xpY2spPVwib25EZWxldGVJdGVtQ2xpY2tlZCgpXCI+XG4gICAgICAgIDwvcGVwLWJ1dHRvbj5cbiAgICA8L2Rpdj5cbjwvZGl2PiJdfQ==
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output, ViewChild, ViewContainerRef } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "../common/services/type-convertor.service";
|
|
4
|
+
import * as i2 from "@angular/common";
|
|
5
|
+
import * as i3 from "@ngbracket/ngx-layout/flex";
|
|
6
|
+
import * as i4 from "@pepperi-addons/ngx-lib/button";
|
|
7
|
+
import * as i5 from "@pepperi-addons/ngx-lib/group-buttons";
|
|
8
|
+
export class PepQueryBuilderSectionComponent {
|
|
9
|
+
_typeConvertorService;
|
|
10
|
+
form;
|
|
11
|
+
depth;
|
|
12
|
+
hasFields = true;
|
|
13
|
+
createSection = new EventEmitter();
|
|
14
|
+
createItem = new EventEmitter();
|
|
15
|
+
remove = new EventEmitter();
|
|
16
|
+
operatorChange = new EventEmitter();
|
|
17
|
+
sectionContainer;
|
|
18
|
+
toggleButtons;
|
|
19
|
+
constructor(_typeConvertorService) {
|
|
20
|
+
this._typeConvertorService = _typeConvertorService;
|
|
21
|
+
}
|
|
22
|
+
ngOnInit() {
|
|
23
|
+
this.initOperators();
|
|
24
|
+
}
|
|
25
|
+
get f() {
|
|
26
|
+
return this.form.controls;
|
|
27
|
+
}
|
|
28
|
+
initOperators() {
|
|
29
|
+
this.toggleButtons = this._typeConvertorService.operators.map((operator) => {
|
|
30
|
+
return {
|
|
31
|
+
key: operator.key,
|
|
32
|
+
value: operator.value,
|
|
33
|
+
callback: (event) => this.onOperatorChanged(event)
|
|
34
|
+
};
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
onOperatorChanged(event) {
|
|
38
|
+
if (event?.source?.key) {
|
|
39
|
+
this.f.operator.setValue(event.source.key);
|
|
40
|
+
this.operatorChange.emit();
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
onAddRuleClicked() {
|
|
44
|
+
this.createItem.emit();
|
|
45
|
+
}
|
|
46
|
+
onAddRuleSetClicked() {
|
|
47
|
+
this.createSection.emit();
|
|
48
|
+
}
|
|
49
|
+
onDeleteSectionClicked() {
|
|
50
|
+
this.remove.emit();
|
|
51
|
+
}
|
|
52
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PepQueryBuilderSectionComponent, deps: [{ token: i1.PepTypeConvertorService }], target: i0.ɵɵFactoryTarget.Component });
|
|
53
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PepQueryBuilderSectionComponent, selector: "pep-query-builder-section", inputs: { form: "form", depth: "depth", hasFields: "hasFields" }, outputs: { createSection: "createSection", createItem: "createItem", remove: "remove", operatorChange: "operatorChange" }, viewQueries: [{ propertyName: "sectionContainer", first: true, predicate: ["sectionContainer"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, 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\" sizeType=\"md\" classNames=\"\"\n [disabled]=\"false\" iconName=\"system_bin\" iconPosition=\"end\" [visible]=\"true\"\n (buttonClick)=\"onDeleteSectionClicked()\">\n </pep-button>\n</div>", styles: [".query-section-container{border-radius:var(--pep-border-radius-md, .25rem);padding:.5rem;width:100%}\n", ".query-section-container{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 hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.24)}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i3.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i3.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "component", type: i4.PepButtonComponent, selector: "pep-button", inputs: ["key", "value", "styleType", "styleStateType", "sizeType", "classNames", "disabled", "iconName", "iconPosition", "visible"], outputs: ["buttonClick"] }, { kind: "component", type: i5.PepGroupButtonsComponent, selector: "pep-group-buttons", inputs: ["viewType", "styleType", "sizeType", "buttons", "buttonsDisabled", "supportUnselect", "selectedButtonKey", "stretch"], outputs: ["buttonClick"] }] });
|
|
54
|
+
}
|
|
55
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PepQueryBuilderSectionComponent, decorators: [{
|
|
56
|
+
type: Component,
|
|
57
|
+
args: [{ selector: 'pep-query-builder-section', 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\" sizeType=\"md\" classNames=\"\"\n [disabled]=\"false\" iconName=\"system_bin\" iconPosition=\"end\" [visible]=\"true\"\n (buttonClick)=\"onDeleteSectionClicked()\">\n </pep-button>\n</div>", styles: [".query-section-container{border-radius:var(--pep-border-radius-md, .25rem);padding:.5rem;width:100%}\n", ".query-section-container{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 hsla(var(--pep-color-system-primary-h, 0),var(--pep-color-system-primary-s, 0%),var(--pep-color-system-primary-l, 10%),.24)}\n"] }]
|
|
58
|
+
}], ctorParameters: function () { return [{ type: i1.PepTypeConvertorService }]; }, propDecorators: { form: [{
|
|
59
|
+
type: Input
|
|
60
|
+
}], depth: [{
|
|
61
|
+
type: Input
|
|
62
|
+
}], hasFields: [{
|
|
63
|
+
type: Input
|
|
64
|
+
}], createSection: [{
|
|
65
|
+
type: Output
|
|
66
|
+
}], createItem: [{
|
|
67
|
+
type: Output
|
|
68
|
+
}], remove: [{
|
|
69
|
+
type: Output
|
|
70
|
+
}], operatorChange: [{
|
|
71
|
+
type: Output
|
|
72
|
+
}], sectionContainer: [{
|
|
73
|
+
type: ViewChild,
|
|
74
|
+
args: ['sectionContainer', { read: ViewContainerRef, static: true }]
|
|
75
|
+
}] } });
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktYnVpbGRlci1zZWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWIvcXVlcnktYnVpbGRlci9xdWVyeS1idWlsZGVyLXNlY3Rpb24vcXVlcnktYnVpbGRlci1zZWN0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWIvcXVlcnktYnVpbGRlci9xdWVyeS1idWlsZGVyLXNlY3Rpb24vcXVlcnktYnVpbGRlci1zZWN0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULGdCQUFnQixFQUNuQixNQUFNLGVBQWUsQ0FBQzs7Ozs7OztBQWV2QixNQUFNLE9BQU8sK0JBQStCO0lBa0JwQjtJQWpCWCxJQUFJLENBQVk7SUFDaEIsS0FBSyxDQUFpQjtJQUN0QixTQUFTLEdBQUcsSUFBSSxDQUFDO0lBRzFCLGFBQWEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBRW5DLFVBQVUsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBRWhDLE1BQU0sR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBRTVCLGNBQWMsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBRXFDLGdCQUFnQixDQUFtQjtJQUU1RyxhQUFhLENBQW1CO0lBRWhDLFlBQW9CLHFCQUE4QztRQUE5QywwQkFBcUIsR0FBckIscUJBQXFCLENBQXlCO0lBQ2xFLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUFJLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQzlCLENBQUM7SUFFRCxhQUFhO1FBQ1QsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQW9CLEVBQUUsRUFBRTtZQUNuRixPQUFPO2dCQUNILEdBQUcsRUFBRSxRQUFRLENBQUMsR0FBRztnQkFDakIsS0FBSyxFQUFFLFFBQVEsQ0FBQyxLQUFLO2dCQUNyQixRQUFRLEVBQUUsQ0FBQyxLQUEyQixFQUFFLEVBQUUsQ0FDdEMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQzthQUN2QixDQUFBO1FBQ2xCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELGlCQUFpQixDQUFDLEtBQUs7UUFDbkIsSUFBSSxLQUFLLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRTtZQUNwQixJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUMzQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDO1NBQzlCO0lBQ0wsQ0FBQztJQUVELGdCQUFnQjtRQUNaLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELG1CQUFtQjtRQUNmLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVELHNCQUFzQjtRQUNsQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3ZCLENBQUM7d0dBekRRLCtCQUErQjs0RkFBL0IsK0JBQStCLCtWQWNELGdCQUFnQiwyQ0NwQzNELHNuREF1Qk07OzRGRERPLCtCQUErQjtrQkFMM0MsU0FBUzsrQkFDSSwyQkFBMkI7OEdBSzVCLElBQUk7c0JBQVosS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFHTixhQUFhO3NCQURaLE1BQU07Z0JBR1AsVUFBVTtzQkFEVCxNQUFNO2dCQUdQLE1BQU07c0JBREwsTUFBTTtnQkFHUCxjQUFjO3NCQURiLE1BQU07Z0JBR2tFLGdCQUFnQjtzQkFBeEYsU0FBUzt1QkFBQyxrQkFBa0IsRUFBRSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0NvbnRhaW5lclJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gICAgSVBlcEJ1dHRvbkNsaWNrRXZlbnQsXG4gICAgUGVwQnV0dG9uLFxufSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYi9idXR0b24nO1xuaW1wb3J0IHsgSVBlcE9wdGlvbiB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliJztcbmltcG9ydCB7IFBlcFR5cGVDb252ZXJ0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vY29tbW9uL3NlcnZpY2VzL3R5cGUtY29udmVydG9yLnNlcnZpY2UnO1xuaW1wb3J0IHsgSVBlcFF1ZXJ5RGVwdGggfSBmcm9tICcuLi9jb21tb24vbW9kZWwvc3RydWN0dXJlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdwZXAtcXVlcnktYnVpbGRlci1zZWN0aW9uJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcXVlcnktYnVpbGRlci1zZWN0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9xdWVyeS1idWlsZGVyLXNlY3Rpb24uY29tcG9uZW50LnNjc3MnLCAnLi9xdWVyeS1idWlsZGVyLXNlY3Rpb24uY29tcG9uZW50LnRoZW1lLnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgUGVwUXVlcnlCdWlsZGVyU2VjdGlvbkNvbXBvbmVudCB7XG4gICAgQElucHV0KCkgZm9ybTogRm9ybUdyb3VwO1xuICAgIEBJbnB1dCgpIGRlcHRoOiBJUGVwUXVlcnlEZXB0aDtcbiAgICBASW5wdXQoKSBoYXNGaWVsZHMgPSB0cnVlO1xuXG4gICAgQE91dHB1dCgpXG4gICAgY3JlYXRlU2VjdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBAT3V0cHV0KClcbiAgICBjcmVhdGVJdGVtID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIEBPdXRwdXQoKVxuICAgIHJlbW92ZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBAT3V0cHV0KClcbiAgICBvcGVyYXRvckNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIEBWaWV3Q2hpbGQoJ3NlY3Rpb25Db250YWluZXInLCB7IHJlYWQ6IFZpZXdDb250YWluZXJSZWYsIHN0YXRpYzogdHJ1ZSB9KSBzZWN0aW9uQ29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmO1xuXG4gICAgdG9nZ2xlQnV0dG9uczogQXJyYXk8UGVwQnV0dG9uPjtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgX3R5cGVDb252ZXJ0b3JTZXJ2aWNlOiBQZXBUeXBlQ29udmVydG9yU2VydmljZSkge1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmluaXRPcGVyYXRvcnMoKTtcbiAgICB9XG5cbiAgICBnZXQgZigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybS5jb250cm9scztcbiAgICB9XG5cbiAgICBpbml0T3BlcmF0b3JzKCkge1xuICAgICAgICB0aGlzLnRvZ2dsZUJ1dHRvbnMgPSB0aGlzLl90eXBlQ29udmVydG9yU2VydmljZS5vcGVyYXRvcnMubWFwKChvcGVyYXRvcjogSVBlcE9wdGlvbikgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBrZXk6IG9wZXJhdG9yLmtleSxcbiAgICAgICAgICAgICAgICB2YWx1ZTogb3BlcmF0b3IudmFsdWUsXG4gICAgICAgICAgICAgICAgY2FsbGJhY2s6IChldmVudDogSVBlcEJ1dHRvbkNsaWNrRXZlbnQpID0+XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub25PcGVyYXRvckNoYW5nZWQoZXZlbnQpXG4gICAgICAgICAgICB9IGFzIFBlcEJ1dHRvblxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBvbk9wZXJhdG9yQ2hhbmdlZChldmVudCkge1xuICAgICAgICBpZiAoZXZlbnQ/LnNvdXJjZT8ua2V5KSB7XG4gICAgICAgICAgICB0aGlzLmYub3BlcmF0b3Iuc2V0VmFsdWUoZXZlbnQuc291cmNlLmtleSk7XG4gICAgICAgICAgICB0aGlzLm9wZXJhdG9yQ2hhbmdlLmVtaXQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uQWRkUnVsZUNsaWNrZWQoKSB7XG4gICAgICAgIHRoaXMuY3JlYXRlSXRlbS5lbWl0KCk7XG4gICAgfVxuXG4gICAgb25BZGRSdWxlU2V0Q2xpY2tlZCgpIHtcbiAgICAgICAgdGhpcy5jcmVhdGVTZWN0aW9uLmVtaXQoKTtcbiAgICB9XG5cbiAgICBvbkRlbGV0ZVNlY3Rpb25DbGlja2VkKCkge1xuICAgICAgICB0aGlzLnJlbW92ZS5lbWl0KCk7XG4gICAgfVxuXG5cbn1cbiIsIjxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEdhcD1cIi41cmVtXCI+XG4gICAgPGRpdiBjbGFzcz1cInF1ZXJ5LXNlY3Rpb24tY29udGFpbmVyXCIgZnhMYXlvdXQ9XCJjb2x1bW5cIiBmeExheW91dEdhcD1cIi41cmVtXCI+XG4gICAgICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwic3BhY2UtYmV0d2VlblwiPlxuICAgICAgICAgICAgPHBlcC1ncm91cC1idXR0b25zIFtidXR0b25zXT1cInRvZ2dsZUJ1dHRvbnNcIiBbc2VsZWN0ZWRCdXR0b25LZXldPVwiZi5vcGVyYXRvcj8udmFsdWUgfHwgJydcIiBzdHlsZVR5cGU9XCJ3ZWFrXCJcbiAgICAgICAgICAgICAgICBzaXplVHlwZT1cInNtXCIgW3ZpZXdUeXBlXT1cIid0b2dnbGUnXCIgW2J1dHRvbnNEaXNhYmxlZF09XCIhaGFzRmllbGRzXCI+XG4gICAgICAgICAgICA8L3BlcC1ncm91cC1idXR0b25zPlxuICAgICAgICAgICAgPGRpdiBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0R2FwPVwiLjVyZW1cIj5cbiAgICAgICAgICAgICAgICA8cGVwLWJ1dHRvbiB2YWx1ZT1cIkFkZCBGaWx0ZXJcIiBzdHlsZVR5cGU9XCJ3ZWFrXCIgc3R5bGVTdGF0ZVR5cGU9XCJzeXN0ZW1cIiBzaXplVHlwZT1cInNtXCIgY2xhc3NOYW1lcz1cIlwiXG4gICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhaGFzRmllbGRzXCIgaWNvbk5hbWU9XCJudW1iZXJfcGx1c1wiIGljb25Qb3NpdGlvbj1cImVuZFwiIFt2aXNpYmxlXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAoYnV0dG9uQ2xpY2spPVwib25BZGRSdWxlQ2xpY2tlZCgpXCI+PC9wZXAtYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJkZXB0aC5jdXJyZW50IDwgZGVwdGgubWF4LTFcIj5cbiAgICAgICAgICAgICAgICAgICAgPHBlcC1idXR0b24gdmFsdWU9XCJBZGQgRmlsdGVyIEdyb3VwXCIgc3R5bGVUeXBlPVwid2Vha1wiIHN0eWxlU3RhdGVUeXBlPVwic3lzdGVtXCIgc2l6ZVR5cGU9XCJzbVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWVzPVwiXCIgW2Rpc2FibGVkXT1cIiFoYXNGaWVsZHNcIiBpY29uTmFtZT1cIm51bWJlcl9wbHVzXCIgaWNvblBvc2l0aW9uPVwiZW5kXCIgW3Zpc2libGVdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoYnV0dG9uQ2xpY2spPVwib25BZGRSdWxlU2V0Q2xpY2tlZCgpXCI+PC9wZXAtYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bmctY29udGFpbmVyICNzZWN0aW9uQ29udGFpbmVyPjwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICAgIDxwZXAtYnV0dG9uICpuZ0lmPVwiZGVwdGguY3VycmVudCA+IDBcIiBzdHlsZVR5cGU9XCJ3ZWFrXCIgc3R5bGVTdGF0ZVR5cGU9XCJzeXN0ZW1cIiBzaXplVHlwZT1cIm1kXCIgY2xhc3NOYW1lcz1cIlwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJmYWxzZVwiIGljb25OYW1lPVwic3lzdGVtX2JpblwiIGljb25Qb3NpdGlvbj1cImVuZFwiIFt2aXNpYmxlXT1cInRydWVcIlxuICAgICAgICAoYnV0dG9uQ2xpY2spPVwib25EZWxldGVTZWN0aW9uQ2xpY2tlZCgpXCI+XG4gICAgPC9wZXAtYnV0dG9uPlxuPC9kaXY+Il19
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
|
|
2
|
+
import { PepQueryStructureService } from './common/services/query-structure.service';
|
|
3
|
+
import { PepTypeConvertorService } from './common/services/type-convertor.service';
|
|
4
|
+
import { PepOutputQueryService } from './common/services/output-query.service';
|
|
5
|
+
import { PepOperatorTypes } from './common/model/type';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@angular/forms";
|
|
8
|
+
import * as i2 from "./common/services/query-structure.service";
|
|
9
|
+
import * as i3 from "./query-builder-section/query-builder-section.component";
|
|
10
|
+
export class PepQueryBuilderComponent {
|
|
11
|
+
_fb;
|
|
12
|
+
queryStructureService;
|
|
13
|
+
_query = null;
|
|
14
|
+
set query(object) {
|
|
15
|
+
this._query = object;
|
|
16
|
+
this.loadQuery();
|
|
17
|
+
}
|
|
18
|
+
set fields(list) {
|
|
19
|
+
this.queryStructureService.fields = list;
|
|
20
|
+
this.hasFields = this.queryStructureService.hasFields;
|
|
21
|
+
this.loadQuery();
|
|
22
|
+
}
|
|
23
|
+
set variableFields(list) {
|
|
24
|
+
this.queryStructureService.variableFields = list;
|
|
25
|
+
}
|
|
26
|
+
set maxDepth(value) {
|
|
27
|
+
this.queryStructureService.maxDepth = value;
|
|
28
|
+
}
|
|
29
|
+
queryChange = new EventEmitter();
|
|
30
|
+
formValidationChange = new EventEmitter();
|
|
31
|
+
root;
|
|
32
|
+
_formSubscription$;
|
|
33
|
+
_outputQuerySubscription$;
|
|
34
|
+
_lastFormValidStatus = true;
|
|
35
|
+
depth;
|
|
36
|
+
hasFields = false;
|
|
37
|
+
constructor(_fb, queryStructureService) {
|
|
38
|
+
this._fb = _fb;
|
|
39
|
+
this.queryStructureService = queryStructureService;
|
|
40
|
+
this.setupForm();
|
|
41
|
+
this.initDepth();
|
|
42
|
+
this._formSubscription$ = this.queryStructureService.form.valueChanges.subscribe((val) => {
|
|
43
|
+
if (this.queryStructureService.form.valid !== this._lastFormValidStatus) {
|
|
44
|
+
this._lastFormValidStatus = this.queryStructureService.form.valid;
|
|
45
|
+
this.formValidationChange.emit(this._lastFormValidStatus);
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
this._outputQuerySubscription$ = this.queryStructureService.outputQuery$.subscribe((outputQuery) => {
|
|
49
|
+
this.queryChange.emit(outputQuery);
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
ngOnInit() {
|
|
53
|
+
//
|
|
54
|
+
}
|
|
55
|
+
setupForm() {
|
|
56
|
+
this.queryStructureService.form = this._fb.group({
|
|
57
|
+
operator: this._fb.control(PepOperatorTypes.And)
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
initDepth() {
|
|
61
|
+
this.depth = {
|
|
62
|
+
current: 0,
|
|
63
|
+
max: this.queryStructureService.maxDepth
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* builds UI query structure as soon as both the fields and query loads
|
|
68
|
+
*/
|
|
69
|
+
loadQuery() {
|
|
70
|
+
if (this._query &&
|
|
71
|
+
this.queryStructureService.hasFields &&
|
|
72
|
+
this.root?.sectionContainer) {
|
|
73
|
+
this.queryStructureService.buildQueryStructure(this._query, this.root.sectionContainer);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
onCreateSection() {
|
|
77
|
+
const section = this.queryStructureService.createSection(PepOperatorTypes.And, this.root.sectionContainer, this.queryStructureService.form, 1);
|
|
78
|
+
this.queryStructureService.createItem(null, section.containerRef, section.parentForm);
|
|
79
|
+
}
|
|
80
|
+
onCreateItem() {
|
|
81
|
+
this.queryStructureService.createItem(null, this.root.sectionContainer, this.queryStructureService.form);
|
|
82
|
+
}
|
|
83
|
+
onOperatorChange() {
|
|
84
|
+
this.queryStructureService.createOutputQuery();
|
|
85
|
+
}
|
|
86
|
+
ngOnDestroy() {
|
|
87
|
+
if (this._formSubscription$) {
|
|
88
|
+
this._formSubscription$.unsubscribe();
|
|
89
|
+
}
|
|
90
|
+
if (this._outputQuerySubscription$) {
|
|
91
|
+
this._outputQuerySubscription$.unsubscribe();
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PepQueryBuilderComponent, deps: [{ token: i1.FormBuilder }, { token: i2.PepQueryStructureService }], target: i0.ɵɵFactoryTarget.Component });
|
|
95
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PepQueryBuilderComponent, selector: "pep-query-builder", inputs: { query: "query", fields: "fields", variableFields: "variableFields", maxDepth: "maxDepth" }, outputs: { queryChange: "queryChange", formValidationChange: "formValidationChange" }, providers: [PepQueryStructureService, PepTypeConvertorService, PepOutputQueryService], viewQueries: [{ propertyName: "root", first: true, predicate: ["rootContainer"], descendants: true, static: true }], ngImport: i0, template: "<pep-query-builder-section #rootContainer [form]=\"queryStructureService.form\" [depth]=\"depth\" [hasFields]=\"hasFields\"\n (createSection)=\"onCreateSection()\" (createItem)=\"onCreateItem()\" (operatorChange)=\"onOperatorChange()\">\n</pep-query-builder-section>", styles: [""], dependencies: [{ kind: "component", type: i3.PepQueryBuilderSectionComponent, selector: "pep-query-builder-section", inputs: ["form", "depth", "hasFields"], outputs: ["createSection", "createItem", "remove", "operatorChange"] }] });
|
|
96
|
+
}
|
|
97
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PepQueryBuilderComponent, decorators: [{
|
|
98
|
+
type: Component,
|
|
99
|
+
args: [{ selector: 'pep-query-builder', providers: [PepQueryStructureService, PepTypeConvertorService, PepOutputQueryService], template: "<pep-query-builder-section #rootContainer [form]=\"queryStructureService.form\" [depth]=\"depth\" [hasFields]=\"hasFields\"\n (createSection)=\"onCreateSection()\" (createItem)=\"onCreateItem()\" (operatorChange)=\"onOperatorChange()\">\n</pep-query-builder-section>" }]
|
|
100
|
+
}], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type: i2.PepQueryStructureService }]; }, propDecorators: { query: [{
|
|
101
|
+
type: Input
|
|
102
|
+
}], fields: [{
|
|
103
|
+
type: Input
|
|
104
|
+
}], variableFields: [{
|
|
105
|
+
type: Input
|
|
106
|
+
}], maxDepth: [{
|
|
107
|
+
type: Input
|
|
108
|
+
}], queryChange: [{
|
|
109
|
+
type: Output
|
|
110
|
+
}], formValidationChange: [{
|
|
111
|
+
type: Output
|
|
112
|
+
}], root: [{
|
|
113
|
+
type: ViewChild,
|
|
114
|
+
args: ['rootContainer', { static: true }]
|
|
115
|
+
}] } });
|
|
116
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktYnVpbGRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL3F1ZXJ5LWJ1aWxkZXIvcXVlcnktYnVpbGRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL3F1ZXJ5LWJ1aWxkZXIvcXVlcnktYnVpbGRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUdOLFNBQVMsRUFDWixNQUFNLGVBQWUsQ0FBQztBQUl2QixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNyRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNuRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUUvRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7QUFTdkQsTUFBTSxPQUFPLHdCQUF3QjtJQW9DckI7SUFDRDtJQXBDWCxNQUFNLEdBQXFDLElBQUksQ0FBQztJQUNoRCxJQUNJLEtBQUssQ0FBQyxNQUF3QztRQUM5QyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUE7SUFDcEIsQ0FBQztJQUNELElBQ0ksTUFBTSxDQUFDLElBQWtDO1FBQ3pDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ3pDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFNBQVMsQ0FBQztRQUN0RCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUNELElBQ0ksY0FBYyxDQUFDLElBQW1DO1FBQ2xELElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO0lBQ3JELENBQUM7SUFDRCxJQUNJLFFBQVEsQ0FBQyxLQUFhO1FBQ3RCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ2hELENBQUM7SUFHRCxXQUFXLEdBQW1ELElBQUksWUFBWSxFQUFvQyxDQUFDO0lBRW5ILG9CQUFvQixHQUEwQixJQUFJLFlBQVksRUFBVyxDQUFDO0lBRTVCLElBQUksQ0FBa0M7SUFFcEYsa0JBQWtCLENBQWU7SUFDakMseUJBQXlCLENBQWU7SUFDeEMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDO0lBQzVCLEtBQUssQ0FBaUI7SUFDdEIsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUVsQixZQUNZLEdBQWdCLEVBQ2pCLHFCQUErQztRQUQ5QyxRQUFHLEdBQUgsR0FBRyxDQUFhO1FBQ2pCLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBMEI7UUFFdEQsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDckYsSUFBSSxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsb0JBQW9CLEVBQUU7Z0JBQ3JFLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztnQkFDbEUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQzthQUM3RDtRQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLHlCQUF5QixHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUU7WUFDL0YsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDdkMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsUUFBUTtRQUNKLEVBQUU7SUFDTixDQUFDO0lBRUQsU0FBUztRQUNMLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUM7WUFDN0MsUUFBUSxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQztTQUNuRCxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsU0FBUztRQUNMLElBQUksQ0FBQyxLQUFLLEdBQUc7WUFDVCxPQUFPLEVBQUUsQ0FBQztZQUNWLEdBQUcsRUFBRSxJQUFJLENBQUMscUJBQXFCLENBQUMsUUFBUTtTQUMzQyxDQUFBO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0gsU0FBUztRQUNMLElBQ0ksSUFBSSxDQUFDLE1BQU07WUFDWCxJQUFJLENBQUMscUJBQXFCLENBQUMsU0FBUztZQUNwQyxJQUFJLENBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUM3QjtZQUNFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztTQUMzRjtJQUNMLENBQUM7SUFFRCxlQUFlO1FBQ1gsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQy9JLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxZQUFZLEVBQUUsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzFGLENBQUM7SUFFRCxZQUFZO1FBQ1IsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0csQ0FBQztJQUVELGdCQUFnQjtRQUNaLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQ25ELENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUU7WUFDekIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ3pDO1FBQ0QsSUFBSSxJQUFJLENBQUMseUJBQXlCLEVBQUU7WUFDaEMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ2hEO0lBQ0wsQ0FBQzt3R0F0R1Esd0JBQXdCOzRGQUF4Qix3QkFBd0IseU9BRnRCLENBQUUsd0JBQXdCLEVBQUUsdUJBQXVCLEVBQUUscUJBQXFCLENBQUMsK0lDdkIxRiwrUUFFNEI7OzRGRHVCZix3QkFBd0I7a0JBTnBDLFNBQVM7K0JBQ0ksbUJBQW1CLGFBR2xCLENBQUUsd0JBQXdCLEVBQUUsdUJBQXVCLEVBQUUscUJBQXFCLENBQUM7eUlBS2xGLEtBQUs7c0JBRFIsS0FBSztnQkFNRixNQUFNO3NCQURULEtBQUs7Z0JBT0YsY0FBYztzQkFEakIsS0FBSztnQkFLRixRQUFRO3NCQURYLEtBQUs7Z0JBTU4sV0FBVztzQkFEVixNQUFNO2dCQUdQLG9CQUFvQjtzQkFEbkIsTUFBTTtnQkFHdUMsSUFBSTtzQkFBakQsU0FBUzt1QkFBQyxlQUFlLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbiAgICBPbkluaXQsXG4gICAgT25EZXN0cm95LFxuICAgIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUGVwUXVlcnlCdWlsZGVyU2VjdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vcXVlcnktYnVpbGRlci1zZWN0aW9uL3F1ZXJ5LWJ1aWxkZXItc2VjdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgSVBlcFF1ZXJ5QnVpbGRlckZpZWxkLCBJUGVwUXVlcnlTZWN0aW9uLCBJUGVwUXVlcnlJdGVtIH0gZnJvbSAnLi9jb21tb24vbW9kZWwvbGVnYWN5JztcbmltcG9ydCB7IFBlcFF1ZXJ5U3RydWN0dXJlU2VydmljZSB9IGZyb20gJy4vY29tbW9uL3NlcnZpY2VzL3F1ZXJ5LXN0cnVjdHVyZS5zZXJ2aWNlJztcbmltcG9ydCB7IFBlcFR5cGVDb252ZXJ0b3JTZXJ2aWNlIH0gZnJvbSAnLi9jb21tb24vc2VydmljZXMvdHlwZS1jb252ZXJ0b3Iuc2VydmljZSc7XG5pbXBvcnQgeyBQZXBPdXRwdXRRdWVyeVNlcnZpY2UgfSBmcm9tICcuL2NvbW1vbi9zZXJ2aWNlcy9vdXRwdXQtcXVlcnkuc2VydmljZSc7XG5pbXBvcnQgeyBJUGVwUXVlcnlEZXB0aCB9IGZyb20gJy4vY29tbW9uL21vZGVsL3N0cnVjdHVyZSc7XG5pbXBvcnQgeyBQZXBPcGVyYXRvclR5cGVzIH0gZnJvbSAnLi9jb21tb24vbW9kZWwvdHlwZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdwZXAtcXVlcnktYnVpbGRlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3F1ZXJ5LWJ1aWxkZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3F1ZXJ5LWJ1aWxkZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgICBwcm92aWRlcnM6IFsgUGVwUXVlcnlTdHJ1Y3R1cmVTZXJ2aWNlLCBQZXBUeXBlQ29udmVydG9yU2VydmljZSwgUGVwT3V0cHV0UXVlcnlTZXJ2aWNlXVxufSlcbmV4cG9ydCBjbGFzcyBQZXBRdWVyeUJ1aWxkZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgX3F1ZXJ5OiBJUGVwUXVlcnlTZWN0aW9uIHwgSVBlcFF1ZXJ5SXRlbSA9IG51bGw7XG4gICAgQElucHV0KClcbiAgICBzZXQgcXVlcnkob2JqZWN0OiBJUGVwUXVlcnlTZWN0aW9uIHwgSVBlcFF1ZXJ5SXRlbSkge1xuICAgICAgICB0aGlzLl9xdWVyeSA9IG9iamVjdDtcbiAgICAgICAgdGhpcy5sb2FkUXVlcnkoKVxuICAgIH1cbiAgICBASW5wdXQoKVxuICAgIHNldCBmaWVsZHMobGlzdDogQXJyYXk8SVBlcFF1ZXJ5QnVpbGRlckZpZWxkPikge1xuICAgICAgICB0aGlzLnF1ZXJ5U3RydWN0dXJlU2VydmljZS5maWVsZHMgPSBsaXN0O1xuICAgICAgICB0aGlzLmhhc0ZpZWxkcyA9IHRoaXMucXVlcnlTdHJ1Y3R1cmVTZXJ2aWNlLmhhc0ZpZWxkcztcbiAgICAgICAgdGhpcy5sb2FkUXVlcnkoKTtcbiAgICB9XG4gICAgQElucHV0KCkgXG4gICAgc2V0IHZhcmlhYmxlRmllbGRzKGxpc3QgOiBBcnJheTxJUGVwUXVlcnlCdWlsZGVyRmllbGQ+KSB7XG4gICAgICAgIHRoaXMucXVlcnlTdHJ1Y3R1cmVTZXJ2aWNlLnZhcmlhYmxlRmllbGRzID0gbGlzdDtcbiAgICB9XG4gICAgQElucHV0KClcbiAgICBzZXQgbWF4RGVwdGgodmFsdWU6IG51bWJlcikge1xuICAgICAgICB0aGlzLnF1ZXJ5U3RydWN0dXJlU2VydmljZS5tYXhEZXB0aCA9IHZhbHVlO1xuICAgIH1cblxuICAgIEBPdXRwdXQoKVxuICAgIHF1ZXJ5Q2hhbmdlOiBFdmVudEVtaXR0ZXI8SVBlcFF1ZXJ5U2VjdGlvbiB8IElQZXBRdWVyeUl0ZW0+ID0gbmV3IEV2ZW50RW1pdHRlcjxJUGVwUXVlcnlTZWN0aW9uIHwgSVBlcFF1ZXJ5SXRlbT4oKTtcbiAgICBAT3V0cHV0KClcbiAgICBmb3JtVmFsaWRhdGlvbkNoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gICAgQFZpZXdDaGlsZCgncm9vdENvbnRhaW5lcicsIHsgc3RhdGljOiB0cnVlIH0pIHJvb3Q6IFBlcFF1ZXJ5QnVpbGRlclNlY3Rpb25Db21wb25lbnQ7XG5cbiAgICBfZm9ybVN1YnNjcmlwdGlvbiQ6IFN1YnNjcmlwdGlvbjtcbiAgICBfb3V0cHV0UXVlcnlTdWJzY3JpcHRpb24kOiBTdWJzY3JpcHRpb247XG4gICAgX2xhc3RGb3JtVmFsaWRTdGF0dXMgPSB0cnVlO1xuICAgIGRlcHRoOiBJUGVwUXVlcnlEZXB0aDtcbiAgICBoYXNGaWVsZHMgPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIF9mYjogRm9ybUJ1aWxkZXIsXG4gICAgICAgIHB1YmxpYyBxdWVyeVN0cnVjdHVyZVNlcnZpY2U6IFBlcFF1ZXJ5U3RydWN0dXJlU2VydmljZVxuICAgICkge1xuICAgICAgICB0aGlzLnNldHVwRm9ybSgpO1xuICAgICAgICB0aGlzLmluaXREZXB0aCgpO1xuICAgICAgICB0aGlzLl9mb3JtU3Vic2NyaXB0aW9uJCA9IHRoaXMucXVlcnlTdHJ1Y3R1cmVTZXJ2aWNlLmZvcm0udmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgodmFsKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5xdWVyeVN0cnVjdHVyZVNlcnZpY2UuZm9ybS52YWxpZCAhPT0gdGhpcy5fbGFzdEZvcm1WYWxpZFN0YXR1cykge1xuICAgICAgICAgICAgICAgIHRoaXMuX2xhc3RGb3JtVmFsaWRTdGF0dXMgPSB0aGlzLnF1ZXJ5U3RydWN0dXJlU2VydmljZS5mb3JtLnZhbGlkO1xuICAgICAgICAgICAgICAgIHRoaXMuZm9ybVZhbGlkYXRpb25DaGFuZ2UuZW1pdCh0aGlzLl9sYXN0Rm9ybVZhbGlkU3RhdHVzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuX291dHB1dFF1ZXJ5U3Vic2NyaXB0aW9uJCA9IHRoaXMucXVlcnlTdHJ1Y3R1cmVTZXJ2aWNlLm91dHB1dFF1ZXJ5JC5zdWJzY3JpYmUoKG91dHB1dFF1ZXJ5KSA9PiB7XG4gICAgICAgICAgICB0aGlzLnF1ZXJ5Q2hhbmdlLmVtaXQob3V0cHV0UXVlcnkpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgLy9cbiAgICB9XG5cbiAgICBzZXR1cEZvcm0oKSB7XG4gICAgICAgIHRoaXMucXVlcnlTdHJ1Y3R1cmVTZXJ2aWNlLmZvcm0gPSB0aGlzLl9mYi5ncm91cCh7XG4gICAgICAgICAgICBvcGVyYXRvcjogdGhpcy5fZmIuY29udHJvbChQZXBPcGVyYXRvclR5cGVzLkFuZClcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgaW5pdERlcHRoKCkge1xuICAgICAgICB0aGlzLmRlcHRoID0ge1xuICAgICAgICAgICAgY3VycmVudDogMCxcbiAgICAgICAgICAgIG1heDogdGhpcy5xdWVyeVN0cnVjdHVyZVNlcnZpY2UubWF4RGVwdGhcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGJ1aWxkcyBVSSBxdWVyeSBzdHJ1Y3R1cmUgYXMgc29vbiBhcyBib3RoIHRoZSBmaWVsZHMgYW5kIHF1ZXJ5IGxvYWRzXG4gICAgICovXG4gICAgbG9hZFF1ZXJ5KCkge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgICB0aGlzLl9xdWVyeSAmJlxuICAgICAgICAgICAgdGhpcy5xdWVyeVN0cnVjdHVyZVNlcnZpY2UuaGFzRmllbGRzICYmXG4gICAgICAgICAgICB0aGlzLnJvb3Q/LnNlY3Rpb25Db250YWluZXJcbiAgICAgICAgKSB7XG4gICAgICAgICAgICB0aGlzLnF1ZXJ5U3RydWN0dXJlU2VydmljZS5idWlsZFF1ZXJ5U3RydWN0dXJlKHRoaXMuX3F1ZXJ5LCB0aGlzLnJvb3Quc2VjdGlvbkNvbnRhaW5lcik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkNyZWF0ZVNlY3Rpb24oKSB7XG4gICAgICAgIGNvbnN0IHNlY3Rpb24gPSB0aGlzLnF1ZXJ5U3RydWN0dXJlU2VydmljZS5jcmVhdGVTZWN0aW9uKFBlcE9wZXJhdG9yVHlwZXMuQW5kLCB0aGlzLnJvb3Quc2VjdGlvbkNvbnRhaW5lciwgdGhpcy5xdWVyeVN0cnVjdHVyZVNlcnZpY2UuZm9ybSwgMSk7XG4gICAgICAgIHRoaXMucXVlcnlTdHJ1Y3R1cmVTZXJ2aWNlLmNyZWF0ZUl0ZW0obnVsbCwgc2VjdGlvbi5jb250YWluZXJSZWYsIHNlY3Rpb24ucGFyZW50Rm9ybSk7XG4gICAgfVxuXG4gICAgb25DcmVhdGVJdGVtKCkge1xuICAgICAgICB0aGlzLnF1ZXJ5U3RydWN0dXJlU2VydmljZS5jcmVhdGVJdGVtKG51bGwsIHRoaXMucm9vdC5zZWN0aW9uQ29udGFpbmVyLCB0aGlzLnF1ZXJ5U3RydWN0dXJlU2VydmljZS5mb3JtKTtcbiAgICB9XG5cbiAgICBvbk9wZXJhdG9yQ2hhbmdlKCkge1xuICAgICAgICB0aGlzLnF1ZXJ5U3RydWN0dXJlU2VydmljZS5jcmVhdGVPdXRwdXRRdWVyeSgpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICBpZiAodGhpcy5fZm9ybVN1YnNjcmlwdGlvbiQpIHtcbiAgICAgICAgICAgIHRoaXMuX2Zvcm1TdWJzY3JpcHRpb24kLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuX291dHB1dFF1ZXJ5U3Vic2NyaXB0aW9uJCkge1xuICAgICAgICAgICAgdGhpcy5fb3V0cHV0UXVlcnlTdWJzY3JpcHRpb24kLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cbiIsIjxwZXAtcXVlcnktYnVpbGRlci1zZWN0aW9uICNyb290Q29udGFpbmVyIFtmb3JtXT1cInF1ZXJ5U3RydWN0dXJlU2VydmljZS5mb3JtXCIgW2RlcHRoXT1cImRlcHRoXCIgW2hhc0ZpZWxkc109XCJoYXNGaWVsZHNcIlxuICAgIChjcmVhdGVTZWN0aW9uKT1cIm9uQ3JlYXRlU2VjdGlvbigpXCIgKGNyZWF0ZUl0ZW0pPVwib25DcmVhdGVJdGVtKClcIiAob3BlcmF0b3JDaGFuZ2UpPVwib25PcGVyYXRvckNoYW5nZSgpXCI+XG48L3BlcC1xdWVyeS1idWlsZGVyLXNlY3Rpb24+Il19
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { FormBuilder, ReactiveFormsModule } from '@angular/forms';
|
|
4
|
+
import { FlexLayoutModule } from '@ngbracket/ngx-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
|
+
import { PepIconModule, pepIconSystemBin, } from '@pepperi-addons/ngx-lib/icon';
|
|
13
|
+
import * as i0 from "@angular/core";
|
|
14
|
+
import * as i1 from "@pepperi-addons/ngx-lib/icon";
|
|
15
|
+
export class PepQueryBuilderModule {
|
|
16
|
+
pepIconRegistry;
|
|
17
|
+
constructor(pepIconRegistry) {
|
|
18
|
+
this.pepIconRegistry = pepIconRegistry;
|
|
19
|
+
this.pepIconRegistry.registerIcons([
|
|
20
|
+
pepIconSystemBin,
|
|
21
|
+
]);
|
|
22
|
+
}
|
|
23
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PepQueryBuilderModule, deps: [{ token: i1.PepIconRegistry }], target: i0.ɵɵFactoryTarget.NgModule });
|
|
24
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: PepQueryBuilderModule, declarations: [PepQueryBuilderComponent,
|
|
25
|
+
PepQueryBuilderSectionComponent,
|
|
26
|
+
PepQueryBuilderItemComponent], imports: [CommonModule,
|
|
27
|
+
ReactiveFormsModule,
|
|
28
|
+
FlexLayoutModule,
|
|
29
|
+
PepSelectModule,
|
|
30
|
+
PepButtonModule,
|
|
31
|
+
PepIconModule,
|
|
32
|
+
PepGroupButtonsModule,
|
|
33
|
+
PepSmartFiltersModule], exports: [PepQueryBuilderComponent] });
|
|
34
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PepQueryBuilderModule, providers: [
|
|
35
|
+
FormBuilder
|
|
36
|
+
], imports: [CommonModule,
|
|
37
|
+
ReactiveFormsModule,
|
|
38
|
+
FlexLayoutModule,
|
|
39
|
+
PepSelectModule,
|
|
40
|
+
PepButtonModule,
|
|
41
|
+
PepIconModule,
|
|
42
|
+
PepGroupButtonsModule,
|
|
43
|
+
PepSmartFiltersModule] });
|
|
44
|
+
}
|
|
45
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PepQueryBuilderModule, decorators: [{
|
|
46
|
+
type: NgModule,
|
|
47
|
+
args: [{
|
|
48
|
+
imports: [
|
|
49
|
+
CommonModule,
|
|
50
|
+
ReactiveFormsModule,
|
|
51
|
+
FlexLayoutModule,
|
|
52
|
+
PepSelectModule,
|
|
53
|
+
PepButtonModule,
|
|
54
|
+
PepIconModule,
|
|
55
|
+
PepGroupButtonsModule,
|
|
56
|
+
PepSmartFiltersModule
|
|
57
|
+
],
|
|
58
|
+
exports: [
|
|
59
|
+
PepQueryBuilderComponent
|
|
60
|
+
],
|
|
61
|
+
declarations: [
|
|
62
|
+
PepQueryBuilderComponent,
|
|
63
|
+
PepQueryBuilderSectionComponent,
|
|
64
|
+
PepQueryBuilderItemComponent
|
|
65
|
+
],
|
|
66
|
+
providers: [
|
|
67
|
+
FormBuilder
|
|
68
|
+
]
|
|
69
|
+
}]
|
|
70
|
+
}], ctorParameters: function () { return [{ type: i1.PepIconRegistry }]; } });
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktYnVpbGRlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL3F1ZXJ5LWJ1aWxkZXIvcXVlcnktYnVpbGRlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNqRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDakUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFFOUUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDckUsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0seURBQXlELENBQUM7QUFDMUcsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFFakcsT0FBTyxFQUNILGFBQWEsRUFFYixnQkFBZ0IsR0FDbkIsTUFBTSw4QkFBOEIsQ0FBQzs7O0FBeUJ0QyxNQUFNLE9BQU8scUJBQXFCO0lBQ1Y7SUFBcEIsWUFBb0IsZUFBZ0M7UUFBaEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hELElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDO1lBQy9CLGdCQUFnQjtTQUNuQixDQUFDLENBQUM7SUFDUCxDQUFDO3dHQUxRLHFCQUFxQjt5R0FBckIscUJBQXFCLGlCQVIxQix3QkFBd0I7WUFDeEIsK0JBQStCO1lBQy9CLDRCQUE0QixhQWY1QixZQUFZO1lBQ1osbUJBQW1CO1lBQ25CLGdCQUFnQjtZQUNoQixlQUFlO1lBQ2YsZUFBZTtZQUNmLGFBQWE7WUFDYixxQkFBcUI7WUFDckIscUJBQXFCLGFBR3JCLHdCQUF3Qjt5R0FXbkIscUJBQXFCLGFBSm5CO1lBQ1AsV0FBVztTQUNkLFlBbkJHLFlBQVk7WUFDWixtQkFBbUI7WUFDbkIsZ0JBQWdCO1lBQ2hCLGVBQWU7WUFDZixlQUFlO1lBQ2YsYUFBYTtZQUNiLHFCQUFxQjtZQUNyQixxQkFBcUI7OzRGQWNoQixxQkFBcUI7a0JBdkJqQyxRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRTt3QkFDTCxZQUFZO3dCQUNaLG1CQUFtQjt3QkFDbkIsZ0JBQWdCO3dCQUNoQixlQUFlO3dCQUNmLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixxQkFBcUI7d0JBQ3JCLHFCQUFxQjtxQkFDeEI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMLHdCQUF3QjtxQkFDM0I7b0JBQ0QsWUFBWSxFQUFFO3dCQUNWLHdCQUF3Qjt3QkFDeEIsK0JBQStCO3dCQUMvQiw0QkFBNEI7cUJBQy9CO29CQUNELFNBQVMsRUFBRTt3QkFDUCxXQUFXO3FCQUNkO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEZsZXhMYXlvdXRNb2R1bGUgfSBmcm9tICdAbmdicmFja2V0L25neC1sYXlvdXQnO1xuaW1wb3J0IHsgUGVwU21hcnRGaWx0ZXJzTW9kdWxlIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWIvc21hcnQtZmlsdGVycyc7XG5pbXBvcnQgeyBQZXBTZWxlY3RNb2R1bGUgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYi9zZWxlY3QnO1xuaW1wb3J0IHsgUGVwQnV0dG9uTW9kdWxlIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWIvYnV0dG9uJztcbmltcG9ydCB7IFBlcEdyb3VwQnV0dG9uc01vZHVsZSB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliL2dyb3VwLWJ1dHRvbnMnO1xuXG5pbXBvcnQgeyBQZXBRdWVyeUJ1aWxkZXJDb21wb25lbnQgfSBmcm9tICcuL3F1ZXJ5LWJ1aWxkZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFBlcFF1ZXJ5QnVpbGRlclNlY3Rpb25Db21wb25lbnQgfSBmcm9tICcuL3F1ZXJ5LWJ1aWxkZXItc2VjdGlvbi9xdWVyeS1idWlsZGVyLXNlY3Rpb24uY29tcG9uZW50JztcbmltcG9ydCB7IFBlcFF1ZXJ5QnVpbGRlckl0ZW1Db21wb25lbnQgfSBmcm9tICcuL3F1ZXJ5LWJ1aWxkZXItaXRlbS9xdWVyeS1idWlsZGVyLWl0ZW0uY29tcG9uZW50JztcblxuaW1wb3J0IHtcbiAgICBQZXBJY29uTW9kdWxlLFxuICAgIFBlcEljb25SZWdpc3RyeSxcbiAgICBwZXBJY29uU3lzdGVtQmluLFxufSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYi9pY29uJztcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICAgICAgRmxleExheW91dE1vZHVsZSxcbiAgICAgICAgUGVwU2VsZWN0TW9kdWxlLFxuICAgICAgICBQZXBCdXR0b25Nb2R1bGUsXG4gICAgICAgIFBlcEljb25Nb2R1bGUsXG4gICAgICAgIFBlcEdyb3VwQnV0dG9uc01vZHVsZSxcbiAgICAgICAgUGVwU21hcnRGaWx0ZXJzTW9kdWxlXG4gICAgXSxcbiAgICBleHBvcnRzOiBbXG4gICAgICAgIFBlcFF1ZXJ5QnVpbGRlckNvbXBvbmVudFxuICAgIF0sXG4gICAgZGVjbGFyYXRpb25zOiBbXG4gICAgICAgIFBlcFF1ZXJ5QnVpbGRlckNvbXBvbmVudCxcbiAgICAgICAgUGVwUXVlcnlCdWlsZGVyU2VjdGlvbkNvbXBvbmVudCxcbiAgICAgICAgUGVwUXVlcnlCdWlsZGVySXRlbUNvbXBvbmVudFxuICAgIF0sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIEZvcm1CdWlsZGVyXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBQZXBRdWVyeUJ1aWxkZXJNb2R1bGUgeyBcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBlcEljb25SZWdpc3RyeTogUGVwSWNvblJlZ2lzdHJ5KSB7XG4gICAgICAgIHRoaXMucGVwSWNvblJlZ2lzdHJ5LnJlZ2lzdGVySWNvbnMoW1xuICAgICAgICAgICAgcGVwSWNvblN5c3RlbUJpbixcbiAgICAgICAgXSk7XG4gICAgfVxufVxuIl19
|