@pepperi-addons/ngx-lib 0.4.2-storybook.1 → 0.5.0-ng15.2
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 +2 -1
- package/bread-crumbs/bread-crumbs.component.d.ts +1 -1
- package/bread-crumbs/bread-crumbs.model.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 +2 -1
- package/chips/chips.component.d.ts +4 -5
- package/chips/chips.component.theme.scss +15 -5
- package/chips/chips.model.d.ts +2 -2
- package/chips/chips.service.d.ts +0 -3
- package/color/color-picker.component.d.ts +1 -1
- package/color/color-picker.component.theme.scss +2 -1
- package/color/color.component.d.ts +1 -1
- package/color/color.model.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/base-destroyer.directive.d.ts +10 -0
- package/core/common/directives/button-blur.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/menu-blur.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/common/directives/public-api.d.ts +1 -0
- package/core/common/pipes/common-pipes.d.ts +5 -2
- package/core/common/services/addon.service.d.ts +6 -4
- package/core/common/services/file.service.d.ts +1 -1
- package/core/common/services/utilities.service.d.ts +4 -4
- package/core/customization/customization.model.d.ts +15 -12
- package/core/customization/customization.service.d.ts +4 -0
- package/core/layout/layout.service.d.ts +1 -1
- package/core/layout/rtl.directive.d.ts +2 -2
- package/core/portal/attach.directive.d.ts +1 -1
- package/core/portal/target.directive.d.ts +1 -1
- package/date/date.component.d.ts +4 -2
- package/dialog/default-dialog.component.d.ts +1 -1
- package/dialog/dialog.component.d.ts +1 -1
- package/dialog/dialog.model.d.ts +2 -2
- package/draggable-items/draggable-item/draggable-item.component.d.ts +16 -2
- package/draggable-items/draggable-items.component.d.ts +4 -7
- package/draggable-items/draggable-items.model.d.ts +2 -2
- package/draggable-items/draggable-items.module.d.ts +4 -3
- package/esm2020/address/address.component.mjs +16 -16
- package/esm2020/address/address.module.mjs +5 -5
- package/esm2020/attachment/attachment.component.mjs +58 -49
- package/esm2020/attachment/attachment.module.mjs +5 -5
- package/esm2020/bread-crumbs/bread-crumbs.component.mjs +15 -15
- package/esm2020/bread-crumbs/bread-crumbs.module.mjs +5 -5
- package/esm2020/button/button.component.mjs +23 -23
- package/esm2020/button/button.module.mjs +5 -5
- package/esm2020/carousel/carousel-item.directive.mjs +9 -9
- package/esm2020/carousel/carousel.component.mjs +52 -52
- package/esm2020/carousel/carousel.module.mjs +5 -5
- package/esm2020/checkbox/checkbox.component.mjs +40 -31
- package/esm2020/checkbox/checkbox.module.mjs +5 -5
- package/esm2020/chips/chips.component.mjs +26 -28
- package/esm2020/chips/chips.module.mjs +5 -5
- package/esm2020/chips/chips.service.mjs +5 -14
- package/esm2020/color/color-picker.component.mjs +5 -5
- package/esm2020/color/color.component.mjs +5 -5
- package/esm2020/color/color.module.mjs +5 -5
- package/esm2020/core/clipboard/clipboard.directive.mjs +4 -4
- package/esm2020/core/clipboard/clipboard.service.mjs +4 -4
- package/esm2020/core/common/directives/auto-width.directive.mjs +4 -4
- package/esm2020/core/common/directives/base-destroyer.directive.mjs +22 -0
- package/esm2020/core/common/directives/button-blur.directive.mjs +4 -4
- package/esm2020/core/common/directives/button-loader.directive.mjs +10 -10
- package/esm2020/core/common/directives/data-qa.directive.mjs +4 -4
- package/esm2020/core/common/directives/div-loader.directive.mjs +4 -4
- package/esm2020/core/common/directives/menu-blur.directive.mjs +4 -4
- package/esm2020/core/common/directives/prevent-multi-click.directive.mjs +4 -4
- package/esm2020/core/common/directives/print.directive.mjs +4 -4
- package/esm2020/core/common/directives/public-api.mjs +2 -1
- package/esm2020/core/common/pipes/common-pipes.mjs +47 -37
- package/esm2020/core/common/pipes/date-ago.pipe.mjs +4 -4
- package/esm2020/core/common/services/addon.service.mjs +36 -12
- package/esm2020/core/common/services/color.service.mjs +4 -4
- package/esm2020/core/common/services/cookie.service.mjs +4 -4
- package/esm2020/core/common/services/data-convertor.service.mjs +6 -6
- package/esm2020/core/common/services/file.service.mjs +4 -4
- package/esm2020/core/common/services/jwt-helper.service.mjs +4 -4
- package/esm2020/core/common/services/session.service.mjs +4 -4
- package/esm2020/core/common/services/translate.service.mjs +4 -4
- package/esm2020/core/common/services/utilities.service.mjs +10 -10
- package/esm2020/core/common/services/validator.service.mjs +4 -4
- package/esm2020/core/common/services/window-scrolling.service.mjs +4 -4
- package/esm2020/core/customization/customization.model.mjs +40 -5
- package/esm2020/core/customization/customization.service.mjs +23 -4
- package/esm2020/core/http/interceptors/error.interceptor.mjs +4 -4
- package/esm2020/core/http/interceptors/loader.interceptor.mjs +4 -4
- package/esm2020/core/http/interceptors/profiler.interceptor.mjs +4 -4
- package/esm2020/core/http/services/http.service.mjs +4 -4
- package/esm2020/core/http/services/loader.service.mjs +10 -10
- package/esm2020/core/layout/layout.service.mjs +12 -12
- package/esm2020/core/layout/rtl.directive.mjs +7 -7
- package/esm2020/core/portal/attach.directive.mjs +4 -4
- package/esm2020/core/portal/portal.service.mjs +4 -4
- package/esm2020/core/portal/target.directive.mjs +4 -4
- package/esm2020/core/scroll-to/scroll-to.service.mjs +4 -4
- package/esm2020/date/date.component.mjs +81 -59
- package/esm2020/date/date.model.mjs +7 -7
- package/esm2020/date/date.module.mjs +5 -5
- package/esm2020/dialog/default-dialog.component.mjs +4 -4
- package/esm2020/dialog/dialog.component.mjs +4 -4
- package/esm2020/dialog/dialog.module.mjs +5 -5
- package/esm2020/dialog/dialog.service.mjs +4 -4
- package/esm2020/draggable-items/draggable-item/draggable-item.component.mjs +46 -6
- package/esm2020/draggable-items/draggable-items.component.mjs +21 -29
- package/esm2020/draggable-items/draggable-items.module.mjs +9 -5
- package/esm2020/field-title/field-title.component.mjs +8 -5
- package/esm2020/field-title/field-title.module.mjs +5 -5
- package/esm2020/files-uploader/files-uploader.component.mjs +12 -12
- package/esm2020/files-uploader/files-uploader.module.mjs +5 -5
- package/esm2020/form/field-generator.component.mjs +5 -5
- package/esm2020/form/form.component.mjs +30 -28
- package/esm2020/form/form.module.mjs +5 -5
- package/esm2020/form/indicators.component.mjs +4 -4
- package/esm2020/form/internal-button.component.mjs +17 -17
- package/esm2020/form/internal-carusel.component.mjs +24 -20
- package/esm2020/form/internal-carusel.service.mjs +4 -4
- package/esm2020/form/internal-field-generator.component.mjs +5 -5
- package/esm2020/form/internal-form.component.mjs +30 -28
- package/esm2020/form/internal-list.component.mjs +7 -7
- package/esm2020/form/internal-menu.component.mjs +6 -8
- package/esm2020/form/internal-page.component.mjs +4 -4
- package/esm2020/form/internal-page.service.mjs +4 -4
- package/esm2020/group-buttons/group-buttons.component.mjs +5 -5
- package/esm2020/group-buttons/group-buttons.module.mjs +5 -5
- package/esm2020/icon/icon-registry.service.mjs +4 -4
- package/esm2020/icon/icon.component.mjs +11 -11
- package/esm2020/icon/icon.module.mjs +5 -5
- package/esm2020/icon/icon.service.mjs +4 -4
- package/esm2020/image/image.component.mjs +52 -43
- package/esm2020/image/image.module.mjs +5 -5
- package/esm2020/image/image.service.mjs +4 -4
- package/esm2020/images-filmstrip/images-filmstrip.component.mjs +26 -25
- package/esm2020/images-filmstrip/images-filmstrip.module.mjs +5 -5
- package/esm2020/link/link.component.mjs +65 -50
- package/esm2020/link/link.module.mjs +5 -5
- package/esm2020/link/link.pipes.mjs +4 -4
- package/esm2020/list/list-actions.component.mjs +6 -6
- package/esm2020/list/list-carousel.component.mjs +20 -20
- package/esm2020/list/list-chooser.component.mjs +6 -6
- package/esm2020/list/list-pager.component.mjs +12 -12
- package/esm2020/list/list-sorting.component.mjs +6 -6
- package/esm2020/list/list-total.component.mjs +9 -6
- package/esm2020/list/list-views.component.mjs +6 -6
- package/esm2020/list/list.component.mjs +151 -72
- package/esm2020/list/list.module.mjs +5 -5
- package/esm2020/list/list.pipes.mjs +7 -7
- package/esm2020/list/virtual-scroller.mjs +58 -58
- package/esm2020/menu/menu-item.component.mjs +5 -5
- package/esm2020/menu/menu.component.mjs +15 -12
- package/esm2020/menu/menu.model.mjs +2 -1
- package/esm2020/menu/menu.module.mjs +5 -5
- package/esm2020/ngx-lib.module.mjs +5 -5
- package/esm2020/page-layout/page-layout.component.mjs +4 -4
- package/esm2020/page-layout/page-layout.module.mjs +5 -5
- package/esm2020/profile-data-views-list/profile-data-view/profile-data-view.component.mjs +4 -4
- package/esm2020/profile-data-views-list/profile-data-views-card/profile-data-views-card.component.mjs +27 -11
- package/esm2020/profile-data-views-list/profile-data-views-list.component.mjs +70 -38
- package/esm2020/profile-data-views-list/profile-data-views-list.model.mjs +1 -1
- package/esm2020/profile-data-views-list/profile-data-views-list.module.mjs +5 -5
- package/esm2020/quantity-selector/quantity-selector-validation.directive.mjs +4 -4
- package/esm2020/quantity-selector/quantity-selector.component.mjs +102 -89
- package/esm2020/quantity-selector/quantity-selector.module.mjs +5 -5
- package/esm2020/quantity-selector/quantity-selector.pipes.mjs +4 -4
- package/esm2020/query-builder/common/model/legacy.mjs +1 -1
- package/esm2020/query-builder/common/model/operator.mjs +72 -62
- package/esm2020/query-builder/common/services/output-query.service.mjs +8 -6
- package/esm2020/query-builder/common/services/query-structure.service.mjs +37 -5
- package/esm2020/query-builder/common/services/type-convertor.service.mjs +10 -10
- package/esm2020/query-builder/query-builder-item/query-builder-item.component.mjs +25 -23
- package/esm2020/query-builder/query-builder-section/query-builder-section.component.mjs +5 -5
- package/esm2020/query-builder/query-builder.component.mjs +19 -19
- package/esm2020/query-builder/query-builder.module.mjs +17 -6
- package/esm2020/query-builder/query-builder.service.mjs +5 -5
- package/esm2020/remote-loader/addon-block-loader.component.mjs +45 -35
- package/esm2020/remote-loader/addon-block-loader.service.mjs +8 -5
- package/esm2020/remote-loader/remote-loader-element.component.mjs +81 -26
- package/esm2020/remote-loader/remote-loader.component.mjs +13 -13
- package/esm2020/remote-loader/remote-loader.model.mjs +1 -1
- package/esm2020/remote-loader/remote-loader.module.mjs +5 -5
- package/esm2020/remote-loader/remote-loader.service.mjs +38 -15
- package/esm2020/rich-html-textarea/rich-html-textarea.component.mjs +52 -36
- package/esm2020/rich-html-textarea/rich-html-textarea.module.mjs +5 -5
- package/esm2020/search/search.component.mjs +35 -35
- package/esm2020/search/search.module.mjs +5 -5
- package/esm2020/select/select.component.mjs +89 -45
- package/esm2020/select/select.module.mjs +5 -5
- package/esm2020/select-panel/select-panel.component.mjs +26 -28
- package/esm2020/select-panel/select-panel.module.mjs +5 -5
- package/esm2020/separator/separator.component.mjs +16 -16
- package/esm2020/separator/separator.module.mjs +5 -5
- package/esm2020/side-bar/side-bar.component.mjs +29 -15
- package/esm2020/side-bar/side-bar.module.mjs +5 -5
- package/esm2020/signature/signature-dialog.component.mjs +4 -4
- package/esm2020/signature/signature.component.mjs +41 -32
- package/esm2020/signature/signature.module.mjs +5 -5
- package/esm2020/size-detector/size-detector.component.mjs +15 -13
- package/esm2020/size-detector/size-detector.module.mjs +5 -5
- package/esm2020/skeleton-loader/public-api.mjs +2 -2
- package/esm2020/skeleton-loader/skeleton-loader.component.mjs +5 -5
- package/esm2020/skeleton-loader/skeleton-loader.module.mjs +5 -5
- package/esm2020/slider/slider.component.mjs +21 -21
- package/esm2020/slider/slider.module.mjs +5 -5
- package/esm2020/smart-filters/boolean-filter/boolean-filter.component.mjs +4 -4
- package/esm2020/smart-filters/common/filter-actions.component.mjs +4 -4
- package/esm2020/smart-filters/common/model/base-filter-component.mjs +28 -34
- package/esm2020/smart-filters/common/model/field.mjs +7 -7
- package/esm2020/smart-filters/common/model/operator.mjs +15 -6
- package/esm2020/smart-filters/common/model/type.mjs +1 -1
- package/esm2020/smart-filters/date-filter/date-filter.component.mjs +4 -4
- package/esm2020/smart-filters/multi-select-filter/multi-select-filter.component.mjs +5 -5
- package/esm2020/smart-filters/number-filter/number-filter.component.mjs +4 -4
- package/esm2020/smart-filters/smart-filters.component.mjs +19 -19
- package/esm2020/smart-filters/smart-filters.module.mjs +5 -5
- package/esm2020/smart-filters/text-filter/text-filter.component.mjs +29 -9
- package/esm2020/snack-bar/default-snack-bar.component.mjs +4 -4
- package/esm2020/snack-bar/snack-bar.component.mjs +4 -4
- package/esm2020/snack-bar/snack-bar.module.mjs +5 -5
- package/esm2020/snack-bar/snack-bar.service.mjs +4 -4
- package/esm2020/textarea/textarea.component.mjs +40 -31
- package/esm2020/textarea/textarea.module.mjs +5 -5
- package/esm2020/textbox/textbox-validation.directive.mjs +5 -5
- package/esm2020/textbox/textbox.component.mjs +171 -115
- package/esm2020/textbox/textbox.module.mjs +5 -5
- package/esm2020/textbox-icon/textbox-icon.component.mjs +4 -4
- package/esm2020/textbox-icon/textbox-icon.module.mjs +5 -5
- package/esm2020/top-bar/top-bar.component.mjs +5 -5
- package/esm2020/top-bar/top-bar.module.mjs +5 -5
- package/fesm2015/pepperi-addons-ngx-lib-address.mjs +19 -19
- package/fesm2015/pepperi-addons-ngx-lib-address.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-attachment.mjs +61 -52
- package/fesm2015/pepperi-addons-ngx-lib-attachment.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-bread-crumbs.mjs +18 -18
- package/fesm2015/pepperi-addons-ngx-lib-bread-crumbs.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-button.mjs +26 -26
- package/fesm2015/pepperi-addons-ngx-lib-button.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-carousel.mjs +63 -63
- package/fesm2015/pepperi-addons-ngx-lib-carousel.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-checkbox.mjs +43 -34
- package/fesm2015/pepperi-addons-ngx-lib-checkbox.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-chips.mjs +33 -44
- package/fesm2015/pepperi-addons-ngx-lib-chips.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-color.mjs +12 -12
- package/fesm2015/pepperi-addons-ngx-lib-color.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-date.mjs +91 -68
- package/fesm2015/pepperi-addons-ngx-lib-date.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-dialog.mjs +13 -13
- package/fesm2015/pepperi-addons-ngx-lib-dialog.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-draggable-items.mjs +75 -40
- package/fesm2015/pepperi-addons-ngx-lib-draggable-items.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-field-title.mjs +11 -8
- package/fesm2015/pepperi-addons-ngx-lib-field-title.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-files-uploader.mjs +15 -15
- package/fesm2015/pepperi-addons-ngx-lib-files-uploader.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-form.mjs +132 -126
- package/fesm2015/pepperi-addons-ngx-lib-form.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-group-buttons.mjs +8 -8
- package/fesm2015/pepperi-addons-ngx-lib-group-buttons.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-icon.mjs +20 -20
- package/fesm2015/pepperi-addons-ngx-lib-icon.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-image.mjs +58 -49
- package/fesm2015/pepperi-addons-ngx-lib-image.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-images-filmstrip.mjs +29 -28
- package/fesm2015/pepperi-addons-ngx-lib-images-filmstrip.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-link.mjs +71 -56
- package/fesm2015/pepperi-addons-ngx-lib-link.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-list.mjs +276 -192
- package/fesm2015/pepperi-addons-ngx-lib-list.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-menu.mjs +23 -19
- package/fesm2015/pepperi-addons-ngx-lib-menu.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-page-layout.mjs +7 -7
- package/fesm2015/pepperi-addons-ngx-lib-page-layout.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-profile-data-views-list.mjs +102 -54
- package/fesm2015/pepperi-addons-ngx-lib-profile-data-views-list.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-quantity-selector.mjs +110 -97
- package/fesm2015/pepperi-addons-ngx-lib-quantity-selector.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-query-builder.mjs +191 -132
- package/fesm2015/pepperi-addons-ngx-lib-query-builder.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-remote-loader.mjs +197 -108
- package/fesm2015/pepperi-addons-ngx-lib-remote-loader.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-rich-html-textarea.mjs +55 -39
- package/fesm2015/pepperi-addons-ngx-lib-rich-html-textarea.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-search.mjs +38 -38
- package/fesm2015/pepperi-addons-ngx-lib-search.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-select-panel.mjs +29 -31
- package/fesm2015/pepperi-addons-ngx-lib-select-panel.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-select.mjs +92 -48
- package/fesm2015/pepperi-addons-ngx-lib-select.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-separator.mjs +19 -19
- package/fesm2015/pepperi-addons-ngx-lib-separator.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-side-bar.mjs +32 -18
- package/fesm2015/pepperi-addons-ngx-lib-side-bar.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-signature.mjs +48 -38
- package/fesm2015/pepperi-addons-ngx-lib-signature.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-size-detector.mjs +18 -16
- package/fesm2015/pepperi-addons-ngx-lib-size-detector.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-skeleton-loader.mjs +9 -9
- package/fesm2015/pepperi-addons-ngx-lib-skeleton-loader.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-slider.mjs +24 -24
- package/fesm2015/pepperi-addons-ngx-lib-slider.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-smart-filters.mjs +114 -91
- package/fesm2015/pepperi-addons-ngx-lib-smart-filters.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-snack-bar.mjs +13 -13
- package/fesm2015/pepperi-addons-ngx-lib-snack-bar.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-textarea.mjs +43 -34
- package/fesm2015/pepperi-addons-ngx-lib-textarea.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-textbox-icon.mjs +7 -7
- package/fesm2015/pepperi-addons-ngx-lib-textbox-icon.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-textbox.mjs +181 -123
- package/fesm2015/pepperi-addons-ngx-lib-textbox.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-top-bar.mjs +8 -8
- package/fesm2015/pepperi-addons-ngx-lib-top-bar.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib.mjs +760 -653
- package/fesm2015/pepperi-addons-ngx-lib.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-address.mjs +19 -19
- package/fesm2020/pepperi-addons-ngx-lib-address.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-attachment.mjs +61 -52
- package/fesm2020/pepperi-addons-ngx-lib-attachment.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-bread-crumbs.mjs +18 -18
- package/fesm2020/pepperi-addons-ngx-lib-bread-crumbs.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-button.mjs +26 -26
- package/fesm2020/pepperi-addons-ngx-lib-button.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-carousel.mjs +63 -63
- package/fesm2020/pepperi-addons-ngx-lib-carousel.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-checkbox.mjs +43 -34
- package/fesm2020/pepperi-addons-ngx-lib-checkbox.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-chips.mjs +33 -44
- package/fesm2020/pepperi-addons-ngx-lib-chips.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-color.mjs +12 -12
- package/fesm2020/pepperi-addons-ngx-lib-color.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-date.mjs +90 -68
- package/fesm2020/pepperi-addons-ngx-lib-date.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-dialog.mjs +13 -13
- package/fesm2020/pepperi-addons-ngx-lib-dialog.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-draggable-items.mjs +74 -39
- package/fesm2020/pepperi-addons-ngx-lib-draggable-items.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-field-title.mjs +11 -8
- package/fesm2020/pepperi-addons-ngx-lib-field-title.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-files-uploader.mjs +15 -15
- package/fesm2020/pepperi-addons-ngx-lib-files-uploader.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-form.mjs +132 -126
- package/fesm2020/pepperi-addons-ngx-lib-form.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-group-buttons.mjs +8 -8
- package/fesm2020/pepperi-addons-ngx-lib-group-buttons.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-icon.mjs +20 -20
- package/fesm2020/pepperi-addons-ngx-lib-icon.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-image.mjs +58 -49
- package/fesm2020/pepperi-addons-ngx-lib-image.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-images-filmstrip.mjs +29 -28
- package/fesm2020/pepperi-addons-ngx-lib-images-filmstrip.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-link.mjs +71 -56
- package/fesm2020/pepperi-addons-ngx-lib-link.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-list.mjs +274 -192
- package/fesm2020/pepperi-addons-ngx-lib-list.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-menu.mjs +23 -19
- package/fesm2020/pepperi-addons-ngx-lib-menu.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-page-layout.mjs +7 -7
- package/fesm2020/pepperi-addons-ngx-lib-page-layout.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-profile-data-views-list.mjs +102 -54
- package/fesm2020/pepperi-addons-ngx-lib-profile-data-views-list.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-quantity-selector.mjs +110 -97
- package/fesm2020/pepperi-addons-ngx-lib-quantity-selector.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-query-builder.mjs +187 -131
- package/fesm2020/pepperi-addons-ngx-lib-query-builder.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-remote-loader.mjs +184 -93
- package/fesm2020/pepperi-addons-ngx-lib-remote-loader.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-rich-html-textarea.mjs +55 -39
- package/fesm2020/pepperi-addons-ngx-lib-rich-html-textarea.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-search.mjs +38 -38
- package/fesm2020/pepperi-addons-ngx-lib-search.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-select-panel.mjs +29 -31
- package/fesm2020/pepperi-addons-ngx-lib-select-panel.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-select.mjs +92 -48
- package/fesm2020/pepperi-addons-ngx-lib-select.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-separator.mjs +19 -19
- package/fesm2020/pepperi-addons-ngx-lib-separator.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-side-bar.mjs +32 -18
- package/fesm2020/pepperi-addons-ngx-lib-side-bar.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-signature.mjs +47 -38
- package/fesm2020/pepperi-addons-ngx-lib-signature.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-size-detector.mjs +18 -16
- package/fesm2020/pepperi-addons-ngx-lib-size-detector.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-skeleton-loader.mjs +9 -9
- package/fesm2020/pepperi-addons-ngx-lib-skeleton-loader.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-slider.mjs +24 -24
- package/fesm2020/pepperi-addons-ngx-lib-slider.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-smart-filters.mjs +114 -91
- package/fesm2020/pepperi-addons-ngx-lib-smart-filters.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-snack-bar.mjs +13 -13
- package/fesm2020/pepperi-addons-ngx-lib-snack-bar.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-textarea.mjs +43 -34
- package/fesm2020/pepperi-addons-ngx-lib-textarea.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-textbox-icon.mjs +7 -7
- package/fesm2020/pepperi-addons-ngx-lib-textbox-icon.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-textbox.mjs +179 -123
- package/fesm2020/pepperi-addons-ngx-lib-textbox.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-top-bar.mjs +8 -8
- package/fesm2020/pepperi-addons-ngx-lib-top-bar.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib.mjs +780 -674
- package/fesm2020/pepperi-addons-ngx-lib.mjs.map +1 -1
- package/field-title/field-title.component.d.ts +2 -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/indicators.component.d.ts +1 -1
- package/form/internal-button.component.d.ts +1 -1
- package/form/internal-carusel.component.d.ts +2 -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 +2 -2
- package/form/internal-menu.component.d.ts +1 -2
- package/form/internal-page.component.d.ts +1 -1
- package/group-buttons/group-buttons.component.d.ts +2 -2
- package/icon/icon-generated.model.d.ts +2 -2
- package/icon/icon.component.d.ts +1 -1
- package/image/image.component.d.ts +2 -1
- package/image/image.component.theme.scss +4 -2
- package/images-filmstrip/images-filmstrip.component.d.ts +1 -1
- package/link/link.component.d.ts +4 -1
- package/list/list-actions.component.d.ts +1 -1
- package/list/list-carousel.component.d.ts +2 -2
- 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 +2 -1
- package/list/list-views.component.d.ts +2 -2
- package/list/list.component.d.ts +9 -3
- package/list/list.model.d.ts +6 -6
- package/list/virtual-scroller.d.ts +2 -2
- package/menu/menu-item.component.d.ts +1 -1
- package/menu/menu.component.d.ts +2 -1
- package/menu/menu.model.d.ts +4 -3
- package/package.json +11 -11
- package/page-layout/page-layout.component.d.ts +1 -1
- package/profile-data-views-list/profile-data-view/profile-data-view.component.d.ts +4 -4
- package/profile-data-views-list/profile-data-views-card/profile-data-views-card.component.d.ts +5 -4
- package/profile-data-views-list/profile-data-views-list.component.d.ts +13 -10
- package/profile-data-views-list/profile-data-views-list.model.d.ts +8 -0
- package/quantity-selector/quantity-selector-validation.directive.d.ts +1 -1
- package/quantity-selector/quantity-selector.component.d.ts +8 -9
- package/quantity-selector/quantity-selector.component.theme.scss +12 -6
- package/query-builder/common/model/legacy.d.ts +2 -0
- package/query-builder/common/model/operator.d.ts +11 -1
- package/query-builder/common/services/query-structure.service.d.ts +1 -0
- package/query-builder/query-builder-item/query-builder-item.component.d.ts +4 -2
- 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/query-builder/query-builder.module.d.ts +7 -3
- package/remote-loader/addon-block-loader.component.d.ts +4 -2
- package/remote-loader/remote-loader-element.component.d.ts +9 -2
- package/remote-loader/remote-loader.component.d.ts +1 -1
- package/remote-loader/remote-loader.model.d.ts +3 -2
- package/remote-loader/remote-loader.service.d.ts +2 -0
- package/rich-html-textarea/rich-html-textarea.component.d.ts +4 -1
- package/rich-html-textarea/rich-html-textarea.component.theme.scss +8 -5
- package/search/search.component.d.ts +1 -1
- package/search/search.model.d.ts +4 -4
- package/select/select.component.d.ts +9 -1
- package/select/select.component.theme.scss +22 -11
- package/select-panel/select-panel.component.d.ts +1 -2
- package/select-panel/select-panel.component.theme.scss +0 -2
- package/separator/separator.component.d.ts +1 -1
- package/side-bar/side-bar.component.d.ts +4 -1
- package/side-bar/side-bar.model.d.ts +1 -1
- package/signature/signature-dialog.component.d.ts +2 -2
- package/signature/signature.component.d.ts +2 -1
- package/size-detector/size-detector.component.d.ts +1 -1
- package/skeleton-loader/skeleton-loader.component.d.ts +4 -4
- package/slider/slider.component.d.ts +1 -1
- package/slider/slider.component.theme.scss +15 -5
- package/smart-filters/boolean-filter/boolean-filter.component.d.ts +4 -1
- package/smart-filters/common/filter-actions.component.d.ts +1 -1
- package/smart-filters/common/model/base-filter-component.d.ts +3 -5
- package/smart-filters/common/model/operator.d.ts +3 -0
- package/smart-filters/common/model/type.d.ts +4 -4
- package/smart-filters/date-filter/date-filter.component.d.ts +4 -1
- package/smart-filters/multi-select-filter/multi-select-filter.component.d.ts +4 -1
- package/smart-filters/number-filter/number-filter.component.d.ts +4 -1
- package/smart-filters/smart-filters.component.d.ts +1 -1
- package/smart-filters/text-filter/text-filter.component.d.ts +5 -1
- package/snack-bar/default-snack-bar.component.d.ts +1 -1
- package/snack-bar/snack-bar.component.d.ts +1 -1
- package/src/assets/i18n/ar.ngx-lib.json +180 -0
- package/src/assets/i18n/de.ngx-lib.json +106 -4
- package/src/assets/i18n/en.ngx-lib.json +10 -3
- package/src/assets/i18n/es.ngx-lib.json +113 -11
- package/src/assets/i18n/fr.ngx-lib.json +105 -4
- package/src/assets/i18n/he.ngx-lib.json +105 -4
- package/src/assets/i18n/it.ngx-lib.json +114 -13
- package/src/assets/i18n/ja.ngx-lib.json +105 -4
- package/src/assets/i18n/pl.ngx-lib.json +105 -4
- package/src/assets/i18n/pt.ngx-lib.json +105 -4
- package/src/assets/i18n/sr.ngx-lib.json +180 -0
- package/src/assets/i18n/zh.ngx-lib.json +105 -2
- package/src/core/style/abstracts/mixins.scss +157 -37
- package/src/core/style/abstracts/variables.scss +10 -1
- package/src/core/style/base/Spacing.stories.mdx +22 -22
- package/src/core/style/base/base.scss +219 -117
- package/src/core/style/base/typography.scss +2 -1
- package/src/core/style/components/button.scss +52 -19
- package/src/core/style/components/checkbox.scss +132 -128
- package/src/core/style/components/file.scss +13 -9
- package/src/core/style/components/general.scss +149 -65
- package/src/core/style/components/radio-button.scss +50 -23
- package/src/core/style/components/textarea.scss +69 -30
- package/textarea/textarea.component.d.ts +2 -1
- package/textbox/textbox-validation.directive.d.ts +1 -1
- package/textbox/textbox.component.d.ts +4 -1
- package/textbox-icon/textbox-icon.component.d.ts +1 -1
- package/theming-offline.scss +2 -1
- package/theming.scss +7 -2
- package/top-bar/top-bar.component.d.ts +1 -1
- package/top-bar/top-bar.model.d.ts +1 -1
- package/src/assets/images/sail-away.jpg +0 -0
|
@@ -17,6 +17,7 @@ export class PepQueryStructureService {
|
|
|
17
17
|
this._outputQuery$ = new BehaviorSubject(null);
|
|
18
18
|
this._variableFields = {};
|
|
19
19
|
this._maxStructureDepth = MAX_STRUCTURE_DEPTH;
|
|
20
|
+
this._cmpRefMap = new Map();
|
|
20
21
|
this.outputQuery$ = this._outputQuery$.asObservable();
|
|
21
22
|
}
|
|
22
23
|
set maxDepth(value) {
|
|
@@ -37,13 +38,22 @@ export class PepQueryStructureService {
|
|
|
37
38
|
list.forEach(field => {
|
|
38
39
|
const fieldType = this.convertSmartFilterComponentType(typeMapper.getSmartFilterType(field.FieldType));
|
|
39
40
|
if (this.hasProperty(this._variableFields, fieldType)) {
|
|
40
|
-
this._variableFields[fieldType].
|
|
41
|
+
if (!this._variableFields[fieldType].includes(field.FieldID)) {
|
|
42
|
+
this._variableFields[fieldType].push(field.FieldID);
|
|
43
|
+
}
|
|
41
44
|
}
|
|
42
45
|
else {
|
|
43
46
|
this._variableFields[fieldType] = [field.FieldID];
|
|
44
47
|
}
|
|
45
48
|
});
|
|
46
49
|
}
|
|
50
|
+
this._cmpRefMap.forEach((value, key) => {
|
|
51
|
+
if (value.instance.variableFields) {
|
|
52
|
+
Object.keys(value.instance.variableFields).forEach(function (key, index) {
|
|
53
|
+
value.instance.variableFields[key] = JSON.parse(JSON.stringify(value.instance.variableFields[key]));
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
});
|
|
47
57
|
}
|
|
48
58
|
set form(value) {
|
|
49
59
|
this._form = value;
|
|
@@ -58,6 +68,18 @@ export class PepQueryStructureService {
|
|
|
58
68
|
* @param containerRef reference to root element
|
|
59
69
|
*/
|
|
60
70
|
buildQueryStructure(query, containerRef) {
|
|
71
|
+
// Remove all the components from the query builder.
|
|
72
|
+
this._cmpRefMap.forEach((value, key) => {
|
|
73
|
+
// console.log(key, value);
|
|
74
|
+
// value.instance.remove();
|
|
75
|
+
if (value.instance.parentForm) {
|
|
76
|
+
value.instance.parentForm.removeControl(key);
|
|
77
|
+
}
|
|
78
|
+
value.destroy();
|
|
79
|
+
this._cmpRefMap.delete(key);
|
|
80
|
+
});
|
|
81
|
+
// Clear containerRef
|
|
82
|
+
containerRef.clear();
|
|
61
83
|
//update root operator
|
|
62
84
|
if (this.hasProperty(query, 'ComplexId') &&
|
|
63
85
|
query?.Operation &&
|
|
@@ -138,10 +160,15 @@ export class PepQueryStructureService {
|
|
|
138
160
|
parentForm.removeControl(formKey);
|
|
139
161
|
componentRef.destroy();
|
|
140
162
|
this.createOutputQuery();
|
|
163
|
+
if (this._cmpRefMap.has(formKey)) {
|
|
164
|
+
this._cmpRefMap.delete(formKey);
|
|
165
|
+
}
|
|
141
166
|
});
|
|
142
167
|
componentRef.instance.operatorChange.subscribe(() => {
|
|
143
168
|
this.createOutputQuery();
|
|
144
169
|
});
|
|
170
|
+
// Add this to remove all the components when fields changes.
|
|
171
|
+
this._cmpRefMap.set(formKey, componentRef);
|
|
145
172
|
return {
|
|
146
173
|
containerRef: componentRef.instance.sectionContainer,
|
|
147
174
|
parentForm: sectionGroup
|
|
@@ -179,7 +206,12 @@ export class PepQueryStructureService {
|
|
|
179
206
|
parentForm.removeControl(formKey);
|
|
180
207
|
componentRef.destroy();
|
|
181
208
|
this.createOutputQuery();
|
|
209
|
+
if (this._cmpRefMap.has(formKey)) {
|
|
210
|
+
this._cmpRefMap.delete(formKey);
|
|
211
|
+
}
|
|
182
212
|
});
|
|
213
|
+
// Add this to remove all the components when fields changes.
|
|
214
|
+
this._cmpRefMap.set(formKey, componentRef);
|
|
183
215
|
}
|
|
184
216
|
/**
|
|
185
217
|
* get smart filter field
|
|
@@ -218,9 +250,9 @@ export class PepQueryStructureService {
|
|
|
218
250
|
}
|
|
219
251
|
}
|
|
220
252
|
}
|
|
221
|
-
PepQueryStructureService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
222
|
-
PepQueryStructureService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
223
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
253
|
+
PepQueryStructureService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PepQueryStructureService, deps: [{ token: i0.ComponentFactoryResolver }, { token: i1.PepOutputQueryService }, { token: i2.PepQueryBuilderService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
254
|
+
PepQueryStructureService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PepQueryStructureService });
|
|
255
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PepQueryStructureService, decorators: [{
|
|
224
256
|
type: Injectable
|
|
225
257
|
}], ctorParameters: function () { return [{ type: i0.ComponentFactoryResolver }, { type: i1.PepOutputQueryService }, { type: i2.PepQueryBuilderService }]; } });
|
|
226
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktc3RydWN0dXJlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL3F1ZXJ5LWJ1aWxkZXIvY29tbW9uL3NlcnZpY2VzL3F1ZXJ5LXN0cnVjdHVyZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQThDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQWV2QyxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSw2REFBNkQsQ0FBQztBQUM5RyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUVyRyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUdyRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7OztBQUUzRCxNQUFNLG1CQUFtQixHQUFHLENBQUMsQ0FBQztBQUc5QixNQUFNLE9BQU8sd0JBQXdCO0lBVWpDLFlBQ1ksU0FBbUMsRUFDbkMsbUJBQTBDLEVBQzFDLG9CQUE0QztRQUY1QyxjQUFTLEdBQVQsU0FBUyxDQUEwQjtRQUNuQyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXVCO1FBQzFDLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBd0I7UUFaaEQsa0JBQWEsR0FBRyxJQUFJLGVBQWUsQ0FBbUMsSUFBSSxDQUFDLENBQUM7UUFHNUUsb0JBQWUsR0FBUSxFQUFFLENBQUM7UUFFMUIsdUJBQWtCLEdBQUcsbUJBQW1CLENBQUM7UUFFMUMsaUJBQVksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBT3hELENBQUM7SUFFRCxJQUFJLFFBQVEsQ0FBQyxLQUFLO1FBQ2Qs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QUMsQ0FBQztZQUN2RixPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7U0FDaEc7YUFBTTtZQUNILE9BQU8sSUFBSSxDQUFDLGtCQUFrQixFQUFFLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1NBQ2xGO0lBQ0wsQ0FBQztJQUVPLCtCQUErQixDQUFDLElBQVk7UUFDaEQsUUFBUSxJQUFJLEVBQUU7WUFDVixLQUFLLEtBQUssQ0FBQztZQUNYLEtBQUssVUFBVSxDQUFDO1lBQ2hCLEtBQUssTUFBTSxDQUFDO1lBQ1osS0FBSyxZQUFZO2dCQUNiLE9BQU8sUUFBUSxDQUFDO1lBQ3BCLEtBQUssV0FBVztnQkFDWixPQUFPLE1BQU0sQ0FBQztZQUNsQjtnQkFDSSxPQUFPLElBQUksQ0FBQztTQUNuQjtJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNILGlCQUFpQjtRQUNiLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUU7WUFDbEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3ZFLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ2xDO0lBQ0wsQ0FBQzs7cUhBcE9RLHdCQUF3Qjt5SEFBeEIsd0JBQXdCOzJGQUF4Qix3QkFBd0I7a0JBRHBDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBWaWV3Q29udGFpbmVyUmVmLCBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IElQZXBRdWVyeUJ1aWxkZXJGaWVsZCwgSVBlcFF1ZXJ5U2VjdGlvbiwgSVBlcFF1ZXJ5SXRlbSB9IGZyb20gJy4uLy4uL2NvbW1vbi9tb2RlbC9sZWdhY3knO1xuaW1wb3J0IHtcbiAgICBJUGVwU21hcnRGaWx0ZXJEYXRhLFxuICAgIFBlcFNtYXJ0RmlsdGVyT3BlcmF0b3JzLFxuICAgIElQZXBTbWFydEZpbHRlck9wZXJhdG9yLFxuICAgIFBlcFNtYXJ0RmlsdGVyVHlwZSxcbiAgICBjcmVhdGVTbWFydEZpbHRlcixcbiAgICBjcmVhdGVTbWFydEZpbHRlckZpZWxkLFxuICAgIFBlcFNtYXJ0RmlsdGVyQmFzZUZpZWxkXG59IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliL3NtYXJ0LWZpbHRlcnMnO1xuaW1wb3J0IHsgUGVwUXVlcnlCdWlsZGVyU2VydmljZSB9IGZyb20gJy4uLy4uL3F1ZXJ5LWJ1aWxkZXIuc2VydmljZSc7XG5pbXBvcnQgeyBQZXBPdXRwdXRRdWVyeVNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb21tb24vc2VydmljZXMvb3V0cHV0LXF1ZXJ5LnNlcnZpY2UnO1xuaW1wb3J0IHsgZ2V0U21hcnRGaWx0ZXJPcGVyYXRvciB9IGZyb20gJy4uLy4uL2NvbW1vbi9tb2RlbC9vcGVyYXRvcic7XG5pbXBvcnQgeyBQZXBRdWVyeUJ1aWxkZXJTZWN0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vcXVlcnktYnVpbGRlci1zZWN0aW9uL3F1ZXJ5LWJ1aWxkZXItc2VjdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGVwUXVlcnlCdWlsZGVySXRlbUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL3F1ZXJ5LWJ1aWxkZXItaXRlbS9xdWVyeS1idWlsZGVyLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IElQZXBRdWVyeUJ1aWxkZXJGaWVsZENvbnRhaW5lciB9IGZyb20gJy4uLy4uL2NvbW1vbi9tb2RlbC9maWVsZCc7XG5pbXBvcnQgeyBQZXBRdWVyeUJ1aWxkZXJUeXBlTWFwIH0gZnJvbSAnLi4vLi4vY29tbW9uL21vZGVsL3R5cGUtbWFwJztcbmltcG9ydCB7IGdldFNtYXJ0RmlsdGVyT3BlcmF0aW9uVW5pdCB9IGZyb20gJy4uLy4uL2NvbW1vbi9tb2RlbC9vcGVyYXRvci11bml0JztcbmltcG9ydCB7IElQZXBRdWVyeUJ1aWxkZXJWYWx1ZXMgfSBmcm9tICcuLi8uLi9jb21tb24vbW9kZWwvZmlsdGVyJztcbmltcG9ydCB7IFBlcE9wZXJhdG9yVHlwZXMgfSBmcm9tICcuLi8uLi9jb21tb24vbW9kZWwvdHlwZSc7XG5cbmNvbnN0IE1BWF9TVFJVQ1RVUkVfREVQVEggPSAzO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgUGVwUXVlcnlTdHJ1Y3R1cmVTZXJ2aWNlIHtcbiAgICBwcml2YXRlIF9vdXRwdXRRdWVyeSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PElQZXBRdWVyeVNlY3Rpb24gfCBJUGVwUXVlcnlJdGVtPihudWxsKTtcblxuICAgIHByaXZhdGUgX3NtYXJ0RmlsdGVyRmllbGRzOiBBcnJheTxJUGVwUXVlcnlCdWlsZGVyRmllbGRDb250YWluZXI+O1xuICAgIHByaXZhdGUgX3ZhcmlhYmxlRmllbGRzOiBhbnkgPSB7fTtcbiAgICBwcml2YXRlIF9mb3JtOiBGb3JtR3JvdXA7XG4gICAgcHJpdmF0ZSBfbWF4U3RydWN0dXJlRGVwdGggPSBNQVhfU1RSVUNUVVJFX0RFUFRIO1xuXG4gICAgcHVibGljIG91dHB1dFF1ZXJ5JCA9IHRoaXMuX291dHB1dFF1ZXJ5JC5hc09ic2VydmFibGUoKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIF9yZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgICAgICBwcml2YXRlIF9vdXRwdXRRdWVyeVNlcnZpY2U6IFBlcE91dHB1dFF1ZXJ5U2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBfcXVlcnlCdWlsZGVyU2VydmljZTogUGVwUXVlcnlCdWlsZGVyU2VydmljZSkge1xuXG4gICAgfVxuXG4gICAgc2V0IG1heERlcHRoKHZhbHVlKSB7XG4gICAgICAgIHRoaXMuX21heFN0cnVjdHVyZURlcHRoID0gdmFsdWU7XG4gICAgfVxuXG4gICAgZ2V0IG1heERlcHRoKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fbWF4U3RydWN0dXJlRGVwdGg7XG4gICAgfVxuXG4gICAgc2V0IGZpZWxkcyhsaXN0OiBBcnJheTxJUGVwUXVlcnlCdWlsZGVyRmllbGQ+KSB7XG4gICAgICAgIHRoaXMuX3NtYXJ0RmlsdGVyRmllbGRzID0gdGhpcy5fcXVlcnlCdWlsZGVyU2VydmljZS5jb252ZXJ0VG9TbWFydEZpbHRlckZpZWxkcyhsaXN0KTtcbiAgICB9XG5cbiAgICBnZXQgaGFzRmllbGRzKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fc21hcnRGaWx0ZXJGaWVsZHM/Lmxlbmd0aCA+IDA7XG4gICAgfVxuXG4gICAgc2V0IHZhcmlhYmxlRmllbGRzKGxpc3Q6IEFycmF5PElQZXBRdWVyeUJ1aWxkZXJGaWVsZD4pIHtcbiAgICAgICAgaWYgKGxpc3Q/Lmxlbmd0aCkge1xuICAgICAgICAgICAgY29uc3QgdHlwZU1hcHBlciA9IG5ldyBQZXBRdWVyeUJ1aWxkZXJUeXBlTWFwKCk7XG4gICAgICAgICAgICBsaXN0LmZvckVhY2goZmllbGQgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGZpZWxkVHlwZSA9IHRoaXMuY29udmVydFNtYXJ0RmlsdGVyQ29tcG9uZW50VHlwZSh0eXBlTWFwcGVyLmdldFNtYXJ0RmlsdGVyVHlwZShmaWVsZC5GaWVsZFR5cGUpKTtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5oYXNQcm9wZXJ0eSh0aGlzLl92YXJpYWJsZUZpZWxkcywgZmllbGRUeXBlKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl92YXJpYWJsZUZpZWxkc1tmaWVsZFR5cGVdLnB1c2goZmllbGQuRmllbGRJRCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fdmFyaWFibGVGaWVsZHNbZmllbGRUeXBlXSA9IFtmaWVsZC5GaWVsZElEXTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNldCBmb3JtKHZhbHVlOiBGb3JtR3JvdXApIHtcbiAgICAgICAgdGhpcy5fZm9ybSA9IHZhbHVlO1xuICAgIH1cblxuICAgIGdldCBmb3JtKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZm9ybTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBidWlsZHMgYSBkeW5hbWljIFVJIHF1ZXJ5IHN0cnVjdHVyZVxuICAgICAqIG1pZ2h0IGhhcyBhIGRpZmZlcmVudCBzdHJ1Y3R1cmUgdGhhbiB0aGUgcXVlcnkncyBkdWUgdG8gcGFyZW50LWNoaWxkIGVsZW1lbnRzIG1lcmdlXG4gICAgICogQHBhcmFtIHF1ZXJ5IGxlZ2FjeSBxdWVyeSAgICAgXG4gICAgICogQHBhcmFtIGNvbnRhaW5lclJlZiByZWZlcmVuY2UgdG8gcm9vdCBlbGVtZW50XG4gICAgICovXG4gICAgYnVpbGRRdWVyeVN0cnVjdHVyZShcbiAgICAgICAgcXVlcnk6IElQZXBRdWVyeVNlY3Rpb24gfCBJUGVwUXVlcnlJdGVtLFxuICAgICAgICBjb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWZcbiAgICApIHtcbiAgICAgICAgLy91cGRhdGUgcm9vdCBvcGVyYXRvciAgICAgICAgXG4gICAgICAgIGlmICh0aGlzLmhhc1Byb3BlcnR5KHF1ZXJ5LCAnQ29tcGxleElkJykgJiZcbiAgICAgICAgICAgIHF1ZXJ5Py5PcGVyYXRpb24gJiZcbiAgICAgICAgICAgIHF1ZXJ5Lk9wZXJhdGlvbiAhPT0gdGhpcy5fZm9ybS5nZXQoJ29wZXJhdG9yJykudmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuX2Zvcm0uZ2V0KCdvcGVyYXRvcicpLnNldFZhbHVlKHF1ZXJ5Lk9wZXJhdGlvbik7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5mbGF0dGVuKHRoaXMuX2Zvcm0uZ2V0KCdvcGVyYXRvcicpLnZhbHVlLCBxdWVyeSwgY29udGFpbmVyUmVmLCB0aGlzLl9mb3JtLCAwKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAqIGNoZWNrcyBpZiB0aGUgb2JqZWN0IGNvbnRhaW5zIHByb3BlcnR5XG4gICAgKiBAcGFyYW0gb2JqIG9iamVjdFxuICAgICogQHBhcmFtIHByb3AgcHJvcGVydHkgbmFtZVxuICAgICogQHJldHVybnMgdHJ1ZSBpZiBjb250YWlucywgZmFsc2Ugb3RoZXJ3aXNlXG4gICAgKi9cbiAgICBwcml2YXRlIGhhc1Byb3BlcnR5KG9iaiwgcHJvcCkge1xuICAgICAgICByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iaiwgcHJvcCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogYSByZWN1cnNpdmUgZnVuY3Rpb24gZHluYW1pY2FsbHkgYnVpbGRzIFVJIGZpbHRlcnMgc3RydWN0dXJlXG4gICAgICogQHBhcmFtIHBhcmVudE9wZXJhdG9yIHBhcmVudCBsZWdhY3kgY29tcGxleCBvcGVyYXRvclxuICAgICAqIEBwYXJhbSBjdXJyZW50IGNoaWxkIGxlZ2FjeSBvYmplY3QgKGVpdGhlciBhbm90aGVyIGNvbXBsZXggb3IgZXhwcmVzc2lvbiB0eXBlKVxuICAgICAqIEBwYXJhbSBjb250YWluZXJSZWYgcGFyZW50IGVsZW1lbnRcbiAgICAgKiBAcGFyYW0gcGFyZW50Rm9ybSBwYXJlbnQgZm9ybVxuICAgICAqL1xuICAgIHByaXZhdGUgZmxhdHRlbihwYXJlbnRPcGVyYXRvcjogc3RyaW5nLCBjdXJyZW50OiBJUGVwUXVlcnlTZWN0aW9uIHwgSVBlcFF1ZXJ5SXRlbSwgY29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLCBwYXJlbnRGb3JtOiBGb3JtR3JvdXAsIGRlcHRoOiBudW1iZXIpIHtcbiAgICAgICAgaWYgKHRoaXMuaGFzUHJvcGVydHkoY3VycmVudCwgJ0NvbXBsZXhJZCcpKSB7XG4gICAgICAgICAgICBjb25zdCBzZWN0aW9uID0gY3VycmVudCBhcyBJUGVwUXVlcnlTZWN0aW9uO1xuICAgICAgICAgICAgaWYgKHBhcmVudE9wZXJhdG9yID09PSBjdXJyZW50Lk9wZXJhdGlvbikge1xuICAgICAgICAgICAgICAgIHRoaXMuZmxhdHRlbihjdXJyZW50Lk9wZXJhdGlvbiwgc2VjdGlvbi5MZWZ0Tm9kZSwgY29udGFpbmVyUmVmLCBwYXJlbnRGb3JtLCBkZXB0aCk7XG4gICAgICAgICAgICAgICAgdGhpcy5mbGF0dGVuKGN1cnJlbnQuT3BlcmF0aW9uLCBzZWN0aW9uLlJpZ2h0Tm9kZSwgY29udGFpbmVyUmVmLCBwYXJlbnRGb3JtLCBkZXB0aCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuY3JlYXRlU2VjdGlvbihzZWN0aW9uLk9wZXJhdGlvbiwgY29udGFpbmVyUmVmLCBwYXJlbnRGb3JtLCBkZXB0aCArIDEpO1xuICAgICAgICAgICAgICAgIHRoaXMuZmxhdHRlbihzZWN0aW9uLk9wZXJhdGlvbiwgc2VjdGlvbi5MZWZ0Tm9kZSwgcmVzdWx0LmNvbnRhaW5lclJlZiwgcmVzdWx0LnBhcmVudEZvcm0sIGRlcHRoICsgMSk7XG4gICAgICAgICAgICAgICAgdGhpcy5mbGF0dGVuKHNlY3Rpb24uT3BlcmF0aW9uLCBzZWN0aW9uLlJpZ2h0Tm9kZSwgcmVzdWx0LmNvbnRhaW5lclJlZiwgcmVzdWx0LnBhcmVudEZvcm0sIGRlcHRoICsgMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5oYXNQcm9wZXJ0eShjdXJyZW50LCAnRXhwcmVzc2lvbklkJykpIHtcbiAgICAgICAgICAgIHRoaXMuY3JlYXRlSXRlbShjdXJyZW50IGFzIElQZXBRdWVyeUl0ZW0sIGNvbnRhaW5lclJlZiwgcGFyZW50Rm9ybSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBjcmVhdGVzIGEgY29udGFpbmVyIG9iamVjdCBvZiB0d28gb3IgbW9yZSBjaGlsZCBmaWx0ZXIgaXRlbXNcbiAgICAgKiBAcGFyYW0gb3BlcmF0b3IgQU5EL09SIG9wZXJhdG9yXG4gICAgICogQHBhcmFtIGNvbnRhaW5lclJlZiBwYXJlbnQgZWxlbWVudFxuICAgICAqIEBwYXJhbSBwYXJlbnRGb3JtIHBhcmVudCBmb3JtXG4gICAgICogQHBhcmFtIGRlcHRoXG4gICAgICogQHJldHVybnMgYW4gb2JqZWN0IGNvbnRhaW5pbmcgdGhlIGN1cnJlbnQgZWxlbWVudCBhbmQgY3VycmVudCBmb3JtXG4gICAgICovXG4gICAgY3JlYXRlU2VjdGlvbihvcGVyYXRvcjogUGVwT3BlcmF0b3JUeXBlcywgY29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLCBwYXJlbnRGb3JtOiBGb3JtR3JvdXAsIGRlcHRoOiBudW1iZXIpIHtcbiAgICAgICAgY29uc3QgZmFjdG9yeSA9IHRoaXMuX3Jlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KFBlcFF1ZXJ5QnVpbGRlclNlY3Rpb25Db21wb25lbnQpO1xuICAgICAgICBjb25zdCBjb21wb25lbnRSZWYgPSBjb250YWluZXJSZWYuY3JlYXRlQ29tcG9uZW50KGZhY3RvcnkpO1xuXG4gICAgICAgIC8vIGNvbnN0IHNlY3Rpb25Hcm91cCA9IHRoaXMuX2ZiLmdyb3VwKHtcbiAgICAgICAgLy8gICAgIG9wZXJhdG9yOiB0aGlzLl9mYi5jb250cm9sKG9wZXJhdG9yKVxuICAgICAgICAvLyB9KTtcbiAgICAgICAgY29uc3Qgc2VjdGlvbkdyb3VwID0gbmV3IEZvcm1Hcm91cCh7XG4gICAgICAgICAgICBvcGVyYXRvcjogbmV3IEZvcm1Db250cm9sKG9wZXJhdG9yKVxuICAgICAgICB9KTtcbiAgICAgICAgbGV0IGNvdW50ZXIgPSAxO1xuICAgICAgICBPYmplY3Qua2V5cyhwYXJlbnRGb3JtLmNvbnRyb2xzKS5mb3JFYWNoKGl0ZW0gPT4geyBpZiAoaXRlbS5pbmNsdWRlcygnc2VjdGlvbicpKSB7IGNvdW50ZXIrKzsgfSB9KTtcbiAgICAgICAgY29uc3QgZm9ybUtleSA9IGBzZWN0aW9uJHtjb3VudGVyfWA7XG4gICAgICAgIHBhcmVudEZvcm0uYWRkQ29udHJvbChmb3JtS2V5LCBzZWN0aW9uR3JvdXApO1xuXG4gICAgICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZS5mb3JtID0gc2VjdGlvbkdyb3VwO1xuICAgICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UuZGVwdGggPSB7XG4gICAgICAgICAgICBjdXJyZW50OiBkZXB0aCxcbiAgICAgICAgICAgIG1heDogdGhpcy5fbWF4U3RydWN0dXJlRGVwdGhcbiAgICAgICAgfTtcbiAgICAgICAgY29tcG9uZW50UmVmLmluc3RhbmNlLmNyZWF0ZVNlY3Rpb24uc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHNlY3Rpb24gPSB0aGlzLmNyZWF0ZVNlY3Rpb24oUGVwT3BlcmF0b3JUeXBlcy5BbmQsIGNvbXBvbmVudFJlZi5pbnN0YW5jZS5zZWN0aW9uQ29udGFpbmVyLCBzZWN0aW9uR3JvdXAsIGRlcHRoICsgMSk7XG4gICAgICAgICAgICB0aGlzLmNyZWF0ZUl0ZW0obnVsbCwgc2VjdGlvbi5jb250YWluZXJSZWYsIHNlY3Rpb24ucGFyZW50Rm9ybSk7XG4gICAgICAgIH0pO1xuICAgICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UuY3JlYXRlSXRlbS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5jcmVhdGVJdGVtKG51bGwsIGNvbXBvbmVudFJlZi5pbnN0YW5jZS5zZWN0aW9uQ29udGFpbmVyLCBzZWN0aW9uR3JvdXApO1xuICAgICAgICB9KTtcbiAgICAgICAgY29tcG9uZW50UmVmLmluc3RhbmNlLnJlbW92ZS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgcGFyZW50Rm9ybS5yZW1vdmVDb250cm9sKGZvcm1LZXkpO1xuICAgICAgICAgICAgY29tcG9uZW50UmVmLmRlc3Ryb3koKTtcbiAgICAgICAgICAgIHRoaXMuY3JlYXRlT3V0cHV0UXVlcnkoKTtcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZS5vcGVyYXRvckNoYW5nZS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5jcmVhdGVPdXRwdXRRdWVyeSgpO1xuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgY29udGFpbmVyUmVmOiBjb21wb25lbnRSZWYuaW5zdGFuY2Uuc2VjdGlvbkNvbnRhaW5lcixcbiAgICAgICAgICAgIHBhcmVudEZvcm06IHNlY3Rpb25Hcm91cFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGNyZWF0ZXMgYSBjb21wb25lbnQgcmVwcmVzZW50cyBmaWx0ZXIgaXRlbSAobGVhZiBlbGVtZW50IC0gaGFzIG5vIGNoaWxkcylcbiAgICAgKiBAcGFyYW0gY3VycmVudCBmaWx0ZXIgbGVnYWN5IGVsZW1lbnRcbiAgICAgKiBAcGFyYW0gY29udGFpbmVyUmVmIHBhcmVudCBlbGVtZW50XG4gICAgICogQHBhcmFtIHBhcmVudEZvcm0gcGFyZW50IGZvcm1cbiAgICAgKi9cbiAgICBjcmVhdGVJdGVtKGN1cnJlbnQ6IElQZXBRdWVyeUl0ZW0sIGNvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZiwgcGFyZW50Rm9ybTogRm9ybUdyb3VwKSB7XG4gICAgICAgIGNvbnN0IGZhY3RvcnkgPSB0aGlzLl9yZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShQZXBRdWVyeUJ1aWxkZXJJdGVtQ29tcG9uZW50KTtcbiAgICAgICAgY29uc3QgY29tcG9uZW50UmVmID0gY29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudChmYWN0b3J5KTtcblxuICAgICAgICBsZXQgY291bnRlciA9IDE7XG4gICAgICAgIE9iamVjdC5rZXlzKHBhcmVudEZvcm0uY29udHJvbHMpLmZvckVhY2goaXRlbSA9PiB7IGlmIChpdGVtLmluY2x1ZGVzKCdpdGVtJykpIHsgY291bnRlcisrOyB9IH0pO1xuICAgICAgICBjb25zdCBmb3JtS2V5ID0gYGl0ZW0ke2NvdW50ZXJ9YDtcblxuICAgICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UuZm9ybUtleSA9IGZvcm1LZXk7XG4gICAgICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZS5maWVsZHMgPSB0aGlzLl9zbWFydEZpbHRlckZpZWxkcztcbiAgICAgICAgY29tcG9uZW50UmVmLmluc3RhbmNlLnZhcmlhYmxlRmllbGRzID0gdGhpcy5fdmFyaWFibGVGaWVsZHM7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkRmllbGQgPSB0aGlzLmdldFNlbGVjdGVkRmllbGQoY3VycmVudCk7XG4gICAgICAgIGlmIChzZWxlY3RlZEZpZWxkKSB7XG4gICAgICAgICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2Uuc2VsZWN0ZWQgPSBzZWxlY3RlZEZpZWxkO1xuICAgICAgICAgICAgaWYgKGN1cnJlbnQpIHtcbiAgICAgICAgICAgICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UuZmlsdGVyID0gdGhpcy5fcXVlcnlCdWlsZGVyU2VydmljZS5nZXRGaWx0ZXIoY3VycmVudCwgc2VsZWN0ZWRGaWVsZC5zbWFydCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgY29tcG9uZW50UmVmLmluc3RhbmNlLnBhcmVudEZvcm0gPSBwYXJlbnRGb3JtO1xuICAgICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UuZmlsdGVyQ2hhbmdlLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmNyZWF0ZU91dHB1dFF1ZXJ5KCk7XG4gICAgICAgIH0pO1xuICAgICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UucmVtb3ZlLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICBwYXJlbnRGb3JtLnJlbW92ZUNvbnRyb2woZm9ybUtleSk7XG4gICAgICAgICAgICBjb21wb25lbnRSZWYuZGVzdHJveSgpO1xuICAgICAgICAgICAgdGhpcy5jcmVhdGVPdXRwdXRRdWVyeSgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBnZXQgc21hcnQgZmlsdGVyIGZpZWxkXG4gICAgICogQHBhcmFtIGN1cnJlbnQgZmlsdGVyIGxlZ2FjeSBlbGVtZW50XG4gICAgICogQHJldHVybnMgc21hcnQgZmlsdGVyIGZpZWxkLCBpZiBub3QgZm91bmQgcmV0dXJucyB0aGUgZmlyc3QgZmllbGRcbiAgICAgKi9cbiAgICBwcml2YXRlIGdldFNlbGVjdGVkRmllbGQoY3VycmVudDogSVBlcFF1ZXJ5SXRlbSk6IElQZXBRdWVyeUJ1aWxkZXJGaWVsZENvbnRhaW5lciB8IG51bGwge1xuICAgICAgICBpZiAoY3VycmVudCkge1xuICAgICAgICAgICAgY29uc3QgaXRlbSA9IHRoaXMuX3NtYXJ0RmlsdGVyRmllbGRzLmZpbmQoZmllbGQgPT4gZmllbGQuc21hcnQuaWQgPT09IGN1cnJlbnQuQXBpTmFtZSk7XG4gICAgICAgICAgICByZXR1cm4gaXRlbSA/IGl0ZW0gOiB0aGlzLl9zbWFydEZpbHRlckZpZWxkcz8ubGVuZ3RoID4gMCA/IHRoaXMuX3NtYXJ0RmlsdGVyRmllbGRzWzBdIDogbnVsbDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9zbWFydEZpbHRlckZpZWxkcz8ubGVuZ3RoID4gMCA/IHRoaXMuX3NtYXJ0RmlsdGVyRmllbGRzWzBdIDogbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgY29udmVydFNtYXJ0RmlsdGVyQ29tcG9uZW50VHlwZSh0eXBlOiBzdHJpbmcpIHtcbiAgICAgICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICAgICAgICBjYXNlICdpbnQnOlxuICAgICAgICAgICAgY2FzZSAnY3VycmVuY3knOlxuICAgICAgICAgICAgY2FzZSAncmVhbCc6XG4gICAgICAgICAgICBjYXNlICdwZXJjZW50YWdlJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gJ251bWJlcic7XG4gICAgICAgICAgICBjYXNlICdkYXRlLXRpbWUnOlxuICAgICAgICAgICAgICAgIHJldHVybiAnZGF0ZSc7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiB0eXBlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogY3JlYXRlcyBhIGxlZ2FjeSBvdXRwdXQgcXVlcnkgXG4gICAgICovXG4gICAgY3JlYXRlT3V0cHV0UXVlcnkoKSB7XG4gICAgICAgIGlmICh0aGlzLl9mb3JtLnZhbGlkKSB7XG4gICAgICAgICAgICBjb25zdCBxdWVyeSA9IHRoaXMuX291dHB1dFF1ZXJ5U2VydmljZS5nZW5lcmF0ZVF1ZXJ5KHRoaXMuX2Zvcm0udmFsdWUpO1xuICAgICAgICAgICAgdGhpcy5fb3V0cHV0UXVlcnkkLm5leHQocXVlcnkpO1xuICAgICAgICB9XG4gICAgfVxuXG59Il19
|
|
258
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktc3RydWN0dXJlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL3F1ZXJ5LWJ1aWxkZXIvY29tbW9uL3NlcnZpY2VzL3F1ZXJ5LXN0cnVjdHVyZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQTRELE1BQU0sZUFBZSxDQUFDO0FBQ3JHLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUt2QyxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSw2REFBNkQsQ0FBQztBQUM5RyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUVyRyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7OztBQUUzRCxNQUFNLG1CQUFtQixHQUFHLENBQUMsQ0FBQztBQUc5QixNQUFNLE9BQU8sd0JBQXdCO0lBWWpDLFlBQ1ksU0FBbUMsRUFDbkMsbUJBQTBDLEVBQzFDLG9CQUE0QztRQUY1QyxjQUFTLEdBQVQsU0FBUyxDQUEwQjtRQUNuQyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXVCO1FBQzFDLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBd0I7UUFkaEQsa0JBQWEsR0FBRyxJQUFJLGVBQWUsQ0FBbUMsSUFBSSxDQUFDLENBQUM7UUFHNUUsb0JBQWUsR0FBUSxFQUFFLENBQUM7UUFFMUIsdUJBQWtCLEdBQUcsbUJBQW1CLENBQUM7UUFFekMsZUFBVSxHQUFtQyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBRXhELGlCQUFZLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQU94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RztJQUNILGlCQUFpQjtRQUNiLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUU7WUFDbEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3ZFLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ2xDO0lBQ0wsQ0FBQzs7c0hBMVFRLHdCQUF3QjswSEFBeEIsd0JBQXdCOzRGQUF4Qix3QkFBd0I7a0JBRHBDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBWaWV3Q29udGFpbmVyUmVmLCBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsIENvbXBvbmVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgSVBlcFF1ZXJ5QnVpbGRlckZpZWxkLCBJUGVwUXVlcnlTZWN0aW9uLCBJUGVwUXVlcnlJdGVtIH0gZnJvbSAnLi4vLi4vY29tbW9uL21vZGVsL2xlZ2FjeSc7XG5pbXBvcnQgeyBQZXBRdWVyeUJ1aWxkZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcXVlcnktYnVpbGRlci5zZXJ2aWNlJztcbmltcG9ydCB7IFBlcE91dHB1dFF1ZXJ5U2VydmljZSB9IGZyb20gJy4uLy4uL2NvbW1vbi9zZXJ2aWNlcy9vdXRwdXQtcXVlcnkuc2VydmljZSc7XG5pbXBvcnQgeyBQZXBRdWVyeUJ1aWxkZXJTZWN0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vcXVlcnktYnVpbGRlci1zZWN0aW9uL3F1ZXJ5LWJ1aWxkZXItc2VjdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGVwUXVlcnlCdWlsZGVySXRlbUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL3F1ZXJ5LWJ1aWxkZXItaXRlbS9xdWVyeS1idWlsZGVyLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IElQZXBRdWVyeUJ1aWxkZXJGaWVsZENvbnRhaW5lciB9IGZyb20gJy4uLy4uL2NvbW1vbi9tb2RlbC9maWVsZCc7XG5pbXBvcnQgeyBQZXBRdWVyeUJ1aWxkZXJUeXBlTWFwIH0gZnJvbSAnLi4vLi4vY29tbW9uL21vZGVsL3R5cGUtbWFwJztcbmltcG9ydCB7IFBlcE9wZXJhdG9yVHlwZXMgfSBmcm9tICcuLi8uLi9jb21tb24vbW9kZWwvdHlwZSc7XG5cbmNvbnN0IE1BWF9TVFJVQ1RVUkVfREVQVEggPSAzO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgUGVwUXVlcnlTdHJ1Y3R1cmVTZXJ2aWNlIHtcbiAgICBwcml2YXRlIF9vdXRwdXRRdWVyeSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PElQZXBRdWVyeVNlY3Rpb24gfCBJUGVwUXVlcnlJdGVtPihudWxsKTtcblxuICAgIHByaXZhdGUgX3NtYXJ0RmlsdGVyRmllbGRzOiBBcnJheTxJUGVwUXVlcnlCdWlsZGVyRmllbGRDb250YWluZXI+O1xuICAgIHByaXZhdGUgX3ZhcmlhYmxlRmllbGRzOiBhbnkgPSB7fTtcbiAgICBwcml2YXRlIF9mb3JtOiBGb3JtR3JvdXA7XG4gICAgcHJpdmF0ZSBfbWF4U3RydWN0dXJlRGVwdGggPSBNQVhfU1RSVUNUVVJFX0RFUFRIO1xuXG4gICAgcHJpdmF0ZSBfY21wUmVmTWFwOiBNYXA8c3RyaW5nLCBDb21wb25lbnRSZWY8YW55Pj4gPSBuZXcgTWFwKCk7XG5cbiAgICBwdWJsaWMgb3V0cHV0UXVlcnkkID0gdGhpcy5fb3V0cHV0UXVlcnkkLmFzT2JzZXJ2YWJsZSgpO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgX3Jlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgICAgIHByaXZhdGUgX291dHB1dFF1ZXJ5U2VydmljZTogUGVwT3V0cHV0UXVlcnlTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIF9xdWVyeUJ1aWxkZXJTZXJ2aWNlOiBQZXBRdWVyeUJ1aWxkZXJTZXJ2aWNlKSB7XG5cbiAgICB9XG5cbiAgICBzZXQgbWF4RGVwdGgodmFsdWUpIHtcbiAgICAgICAgdGhpcy5fbWF4U3RydWN0dXJlRGVwdGggPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBnZXQgbWF4RGVwdGgoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9tYXhTdHJ1Y3R1cmVEZXB0aDtcbiAgICB9XG5cbiAgICBzZXQgZmllbGRzKGxpc3Q6IEFycmF5PElQZXBRdWVyeUJ1aWxkZXJGaWVsZD4pIHtcbiAgICAgICAgdGhpcy5fc21hcnRGaWx0ZXJGaWVsZHMgPSB0aGlzLl9xdWVyeUJ1aWxkZXJTZXJ2aWNlLmNvbnZlcnRUb1NtYXJ0RmlsdGVyRmllbGRzKGxpc3QpO1xuICAgIH1cblxuICAgIGdldCBoYXNGaWVsZHMoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zbWFydEZpbHRlckZpZWxkcz8ubGVuZ3RoID4gMDtcbiAgICB9XG5cbiAgICBzZXQgdmFyaWFibGVGaWVsZHMobGlzdDogQXJyYXk8SVBlcFF1ZXJ5QnVpbGRlckZpZWxkPikge1xuICAgICAgICBpZiAobGlzdD8ubGVuZ3RoKSB7XG4gICAgICAgICAgICBjb25zdCB0eXBlTWFwcGVyID0gbmV3IFBlcFF1ZXJ5QnVpbGRlclR5cGVNYXAoKTtcbiAgICAgICAgICAgIGxpc3QuZm9yRWFjaChmaWVsZCA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgZmllbGRUeXBlID0gdGhpcy5jb252ZXJ0U21hcnRGaWx0ZXJDb21wb25lbnRUeXBlKHR5cGVNYXBwZXIuZ2V0U21hcnRGaWx0ZXJUeXBlKGZpZWxkLkZpZWxkVHlwZSkpO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmhhc1Byb3BlcnR5KHRoaXMuX3ZhcmlhYmxlRmllbGRzLCBmaWVsZFR5cGUpKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmKCF0aGlzLl92YXJpYWJsZUZpZWxkc1tmaWVsZFR5cGVdLmluY2x1ZGVzKGZpZWxkLkZpZWxkSUQpKXtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX3ZhcmlhYmxlRmllbGRzW2ZpZWxkVHlwZV0ucHVzaChmaWVsZC5GaWVsZElEKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3ZhcmlhYmxlRmllbGRzW2ZpZWxkVHlwZV0gPSBbZmllbGQuRmllbGRJRF07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9jbXBSZWZNYXAuZm9yRWFjaCgodmFsdWU6IENvbXBvbmVudFJlZjxhbnk+LCBrZXk6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgaWYgKHZhbHVlLmluc3RhbmNlLnZhcmlhYmxlRmllbGRzKSB7XG4gICAgICAgICAgICAgICAgT2JqZWN0LmtleXModmFsdWUuaW5zdGFuY2UudmFyaWFibGVGaWVsZHMpLmZvckVhY2goZnVuY3Rpb24oa2V5LCBpbmRleCl7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlLmluc3RhbmNlLnZhcmlhYmxlRmllbGRzW2tleV0gPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHZhbHVlLmluc3RhbmNlLnZhcmlhYmxlRmllbGRzW2tleV0pKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgc2V0IGZvcm0odmFsdWU6IEZvcm1Hcm91cCkge1xuICAgICAgICB0aGlzLl9mb3JtID0gdmFsdWU7XG4gICAgfVxuXG4gICAgZ2V0IGZvcm0oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9mb3JtO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGJ1aWxkcyBhIGR5bmFtaWMgVUkgcXVlcnkgc3RydWN0dXJlXG4gICAgICogbWlnaHQgaGFzIGEgZGlmZmVyZW50IHN0cnVjdHVyZSB0aGFuIHRoZSBxdWVyeSdzIGR1ZSB0byBwYXJlbnQtY2hpbGQgZWxlbWVudHMgbWVyZ2VcbiAgICAgKiBAcGFyYW0gcXVlcnkgbGVnYWN5IHF1ZXJ5ICAgICBcbiAgICAgKiBAcGFyYW0gY29udGFpbmVyUmVmIHJlZmVyZW5jZSB0byByb290IGVsZW1lbnRcbiAgICAgKi9cbiAgICBidWlsZFF1ZXJ5U3RydWN0dXJlKFxuICAgICAgICBxdWVyeTogSVBlcFF1ZXJ5U2VjdGlvbiB8IElQZXBRdWVyeUl0ZW0sXG4gICAgICAgIGNvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZlxuICAgICkge1xuICAgICAgICAvLyBSZW1vdmUgYWxsIHRoZSBjb21wb25lbnRzIGZyb20gdGhlIHF1ZXJ5IGJ1aWxkZXIuXG4gICAgICAgIHRoaXMuX2NtcFJlZk1hcC5mb3JFYWNoKCh2YWx1ZTogQ29tcG9uZW50UmVmPGFueT4sIGtleTogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICAvLyBjb25zb2xlLmxvZyhrZXksIHZhbHVlKTtcbiAgICAgICAgICAgIC8vIHZhbHVlLmluc3RhbmNlLnJlbW92ZSgpO1xuICAgICAgICAgICAgaWYgKHZhbHVlLmluc3RhbmNlLnBhcmVudEZvcm0pIHtcbiAgICAgICAgICAgICAgICB2YWx1ZS5pbnN0YW5jZS5wYXJlbnRGb3JtLnJlbW92ZUNvbnRyb2woa2V5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHZhbHVlLmRlc3Ryb3koKTtcbiAgICAgICAgICAgIHRoaXMuX2NtcFJlZk1hcC5kZWxldGUoa2V5KTtcbiAgICAgICAgfSk7XG4gICAgICAgIFxuICAgICAgICAvLyBDbGVhciBjb250YWluZXJSZWZcbiAgICAgICAgY29udGFpbmVyUmVmLmNsZWFyKCk7XG5cbiAgICAgICAgLy91cGRhdGUgcm9vdCBvcGVyYXRvciAgICAgICAgXG4gICAgICAgIGlmICh0aGlzLmhhc1Byb3BlcnR5KHF1ZXJ5LCAnQ29tcGxleElkJykgJiZcbiAgICAgICAgICAgIHF1ZXJ5Py5PcGVyYXRpb24gJiZcbiAgICAgICAgICAgIHF1ZXJ5Lk9wZXJhdGlvbiAhPT0gdGhpcy5fZm9ybS5nZXQoJ29wZXJhdG9yJykudmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuX2Zvcm0uZ2V0KCdvcGVyYXRvcicpLnNldFZhbHVlKHF1ZXJ5Lk9wZXJhdGlvbik7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5mbGF0dGVuKHRoaXMuX2Zvcm0uZ2V0KCdvcGVyYXRvcicpLnZhbHVlLCBxdWVyeSwgY29udGFpbmVyUmVmLCB0aGlzLl9mb3JtLCAwKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAqIGNoZWNrcyBpZiB0aGUgb2JqZWN0IGNvbnRhaW5zIHByb3BlcnR5XG4gICAgKiBAcGFyYW0gb2JqIG9iamVjdFxuICAgICogQHBhcmFtIHByb3AgcHJvcGVydHkgbmFtZVxuICAgICogQHJldHVybnMgdHJ1ZSBpZiBjb250YWlucywgZmFsc2Ugb3RoZXJ3aXNlXG4gICAgKi9cbiAgICBwcml2YXRlIGhhc1Byb3BlcnR5KG9iaiwgcHJvcCkge1xuICAgICAgICByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iaiwgcHJvcCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogYSByZWN1cnNpdmUgZnVuY3Rpb24gZHluYW1pY2FsbHkgYnVpbGRzIFVJIGZpbHRlcnMgc3RydWN0dXJlXG4gICAgICogQHBhcmFtIHBhcmVudE9wZXJhdG9yIHBhcmVudCBsZWdhY3kgY29tcGxleCBvcGVyYXRvclxuICAgICAqIEBwYXJhbSBjdXJyZW50IGNoaWxkIGxlZ2FjeSBvYmplY3QgKGVpdGhlciBhbm90aGVyIGNvbXBsZXggb3IgZXhwcmVzc2lvbiB0eXBlKVxuICAgICAqIEBwYXJhbSBjb250YWluZXJSZWYgcGFyZW50IGVsZW1lbnRcbiAgICAgKiBAcGFyYW0gcGFyZW50Rm9ybSBwYXJlbnQgZm9ybVxuICAgICAqL1xuICAgIHByaXZhdGUgZmxhdHRlbihwYXJlbnRPcGVyYXRvcjogc3RyaW5nLCBjdXJyZW50OiBJUGVwUXVlcnlTZWN0aW9uIHwgSVBlcFF1ZXJ5SXRlbSwgY29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLCBwYXJlbnRGb3JtOiBGb3JtR3JvdXAsIGRlcHRoOiBudW1iZXIpIHtcbiAgICAgICAgaWYgKHRoaXMuaGFzUHJvcGVydHkoY3VycmVudCwgJ0NvbXBsZXhJZCcpKSB7XG4gICAgICAgICAgICBjb25zdCBzZWN0aW9uID0gY3VycmVudCBhcyBJUGVwUXVlcnlTZWN0aW9uO1xuICAgICAgICAgICAgaWYgKHBhcmVudE9wZXJhdG9yID09PSBjdXJyZW50Lk9wZXJhdGlvbikge1xuICAgICAgICAgICAgICAgIHRoaXMuZmxhdHRlbihjdXJyZW50Lk9wZXJhdGlvbiwgc2VjdGlvbi5MZWZ0Tm9kZSwgY29udGFpbmVyUmVmLCBwYXJlbnRGb3JtLCBkZXB0aCk7XG4gICAgICAgICAgICAgICAgdGhpcy5mbGF0dGVuKGN1cnJlbnQuT3BlcmF0aW9uLCBzZWN0aW9uLlJpZ2h0Tm9kZSwgY29udGFpbmVyUmVmLCBwYXJlbnRGb3JtLCBkZXB0aCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuY3JlYXRlU2VjdGlvbihzZWN0aW9uLk9wZXJhdGlvbiwgY29udGFpbmVyUmVmLCBwYXJlbnRGb3JtLCBkZXB0aCArIDEpO1xuICAgICAgICAgICAgICAgIHRoaXMuZmxhdHRlbihzZWN0aW9uLk9wZXJhdGlvbiwgc2VjdGlvbi5MZWZ0Tm9kZSwgcmVzdWx0LmNvbnRhaW5lclJlZiwgcmVzdWx0LnBhcmVudEZvcm0sIGRlcHRoICsgMSk7XG4gICAgICAgICAgICAgICAgdGhpcy5mbGF0dGVuKHNlY3Rpb24uT3BlcmF0aW9uLCBzZWN0aW9uLlJpZ2h0Tm9kZSwgcmVzdWx0LmNvbnRhaW5lclJlZiwgcmVzdWx0LnBhcmVudEZvcm0sIGRlcHRoICsgMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5oYXNQcm9wZXJ0eShjdXJyZW50LCAnRXhwcmVzc2lvbklkJykpIHtcbiAgICAgICAgICAgIHRoaXMuY3JlYXRlSXRlbShjdXJyZW50IGFzIElQZXBRdWVyeUl0ZW0sIGNvbnRhaW5lclJlZiwgcGFyZW50Rm9ybSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBjcmVhdGVzIGEgY29udGFpbmVyIG9iamVjdCBvZiB0d28gb3IgbW9yZSBjaGlsZCBmaWx0ZXIgaXRlbXNcbiAgICAgKiBAcGFyYW0gb3BlcmF0b3IgQU5EL09SIG9wZXJhdG9yXG4gICAgICogQHBhcmFtIGNvbnRhaW5lclJlZiBwYXJlbnQgZWxlbWVudFxuICAgICAqIEBwYXJhbSBwYXJlbnRGb3JtIHBhcmVudCBmb3JtXG4gICAgICogQHBhcmFtIGRlcHRoXG4gICAgICogQHJldHVybnMgYW4gb2JqZWN0IGNvbnRhaW5pbmcgdGhlIGN1cnJlbnQgZWxlbWVudCBhbmQgY3VycmVudCBmb3JtXG4gICAgICovXG4gICAgY3JlYXRlU2VjdGlvbihvcGVyYXRvcjogUGVwT3BlcmF0b3JUeXBlcywgY29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLCBwYXJlbnRGb3JtOiBGb3JtR3JvdXAsIGRlcHRoOiBudW1iZXIpIHtcbiAgICAgICAgY29uc3QgZmFjdG9yeSA9IHRoaXMuX3Jlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KFBlcFF1ZXJ5QnVpbGRlclNlY3Rpb25Db21wb25lbnQpO1xuICAgICAgICBjb25zdCBjb21wb25lbnRSZWYgPSBjb250YWluZXJSZWYuY3JlYXRlQ29tcG9uZW50KGZhY3RvcnkpO1xuXG4gICAgICAgIC8vIGNvbnN0IHNlY3Rpb25Hcm91cCA9IHRoaXMuX2ZiLmdyb3VwKHtcbiAgICAgICAgLy8gICAgIG9wZXJhdG9yOiB0aGlzLl9mYi5jb250cm9sKG9wZXJhdG9yKVxuICAgICAgICAvLyB9KTtcbiAgICAgICAgY29uc3Qgc2VjdGlvbkdyb3VwID0gbmV3IEZvcm1Hcm91cCh7XG4gICAgICAgICAgICBvcGVyYXRvcjogbmV3IEZvcm1Db250cm9sKG9wZXJhdG9yKVxuICAgICAgICB9KTtcbiAgICAgICAgbGV0IGNvdW50ZXIgPSAxO1xuICAgICAgICBPYmplY3Qua2V5cyhwYXJlbnRGb3JtLmNvbnRyb2xzKS5mb3JFYWNoKGl0ZW0gPT4geyBpZiAoaXRlbS5pbmNsdWRlcygnc2VjdGlvbicpKSB7IGNvdW50ZXIrKzsgfSB9KTtcbiAgICAgICAgY29uc3QgZm9ybUtleSA9IGBzZWN0aW9uJHtjb3VudGVyfWA7XG4gICAgICAgIHBhcmVudEZvcm0uYWRkQ29udHJvbChmb3JtS2V5LCBzZWN0aW9uR3JvdXApO1xuXG4gICAgICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZS5mb3JtID0gc2VjdGlvbkdyb3VwO1xuICAgICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UuZGVwdGggPSB7XG4gICAgICAgICAgICBjdXJyZW50OiBkZXB0aCxcbiAgICAgICAgICAgIG1heDogdGhpcy5fbWF4U3RydWN0dXJlRGVwdGhcbiAgICAgICAgfTtcbiAgICAgICAgY29tcG9uZW50UmVmLmluc3RhbmNlLmNyZWF0ZVNlY3Rpb24uc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHNlY3Rpb24gPSB0aGlzLmNyZWF0ZVNlY3Rpb24oUGVwT3BlcmF0b3JUeXBlcy5BbmQsIGNvbXBvbmVudFJlZi5pbnN0YW5jZS5zZWN0aW9uQ29udGFpbmVyLCBzZWN0aW9uR3JvdXAsIGRlcHRoICsgMSk7XG4gICAgICAgICAgICB0aGlzLmNyZWF0ZUl0ZW0obnVsbCwgc2VjdGlvbi5jb250YWluZXJSZWYsIHNlY3Rpb24ucGFyZW50Rm9ybSk7XG4gICAgICAgIH0pO1xuICAgICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UuY3JlYXRlSXRlbS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5jcmVhdGVJdGVtKG51bGwsIGNvbXBvbmVudFJlZi5pbnN0YW5jZS5zZWN0aW9uQ29udGFpbmVyLCBzZWN0aW9uR3JvdXApO1xuICAgICAgICB9KTtcbiAgICAgICAgY29tcG9uZW50UmVmLmluc3RhbmNlLnJlbW92ZS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgcGFyZW50Rm9ybS5yZW1vdmVDb250cm9sKGZvcm1LZXkpO1xuICAgICAgICAgICAgY29tcG9uZW50UmVmLmRlc3Ryb3koKTtcbiAgICAgICAgICAgIHRoaXMuY3JlYXRlT3V0cHV0UXVlcnkoKTtcbiAgICAgICAgICAgIGlmICh0aGlzLl9jbXBSZWZNYXAuaGFzKGZvcm1LZXkpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fY21wUmVmTWFwLmRlbGV0ZShmb3JtS2V5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZS5vcGVyYXRvckNoYW5nZS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5jcmVhdGVPdXRwdXRRdWVyeSgpO1xuICAgICAgICB9KTtcblxuICAgICAgICAvLyBBZGQgdGhpcyB0byByZW1vdmUgYWxsIHRoZSBjb21wb25lbnRzIHdoZW4gZmllbGRzIGNoYW5nZXMuXG4gICAgICAgIHRoaXMuX2NtcFJlZk1hcC5zZXQoZm9ybUtleSwgY29tcG9uZW50UmVmKTtcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgY29udGFpbmVyUmVmOiBjb21wb25lbnRSZWYuaW5zdGFuY2Uuc2VjdGlvbkNvbnRhaW5lcixcbiAgICAgICAgICAgIHBhcmVudEZvcm06IHNlY3Rpb25Hcm91cFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGNyZWF0ZXMgYSBjb21wb25lbnQgcmVwcmVzZW50cyBmaWx0ZXIgaXRlbSAobGVhZiBlbGVtZW50IC0gaGFzIG5vIGNoaWxkcylcbiAgICAgKiBAcGFyYW0gY3VycmVudCBmaWx0ZXIgbGVnYWN5IGVsZW1lbnRcbiAgICAgKiBAcGFyYW0gY29udGFpbmVyUmVmIHBhcmVudCBlbGVtZW50XG4gICAgICogQHBhcmFtIHBhcmVudEZvcm0gcGFyZW50IGZvcm1cbiAgICAgKi9cbiAgICBjcmVhdGVJdGVtKGN1cnJlbnQ6IElQZXBRdWVyeUl0ZW0sIGNvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZiwgcGFyZW50Rm9ybTogRm9ybUdyb3VwKSB7XG4gICAgICAgIGNvbnN0IGZhY3RvcnkgPSB0aGlzLl9yZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShQZXBRdWVyeUJ1aWxkZXJJdGVtQ29tcG9uZW50KTtcbiAgICAgICAgY29uc3QgY29tcG9uZW50UmVmID0gY29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudChmYWN0b3J5KTtcbiAgICAgICAgXG4gICAgICAgIGxldCBjb3VudGVyID0gMTtcbiAgICAgICAgT2JqZWN0LmtleXMocGFyZW50Rm9ybS5jb250cm9scykuZm9yRWFjaChpdGVtID0+IHsgaWYgKGl0ZW0uaW5jbHVkZXMoJ2l0ZW0nKSkgeyBjb3VudGVyKys7IH0gfSk7XG4gICAgICAgIGNvbnN0IGZvcm1LZXkgPSBgaXRlbSR7Y291bnRlcn1gO1xuXG4gICAgICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZS5mb3JtS2V5ID0gZm9ybUtleTtcbiAgICAgICAgY29tcG9uZW50UmVmLmluc3RhbmNlLmZpZWxkcyA9IHRoaXMuX3NtYXJ0RmlsdGVyRmllbGRzO1xuICAgICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UudmFyaWFibGVGaWVsZHMgPSB0aGlzLl92YXJpYWJsZUZpZWxkcztcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRGaWVsZCA9IHRoaXMuZ2V0U2VsZWN0ZWRGaWVsZChjdXJyZW50KTtcbiAgICAgICAgaWYgKHNlbGVjdGVkRmllbGQpIHtcbiAgICAgICAgICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZS5zZWxlY3RlZCA9IHNlbGVjdGVkRmllbGQ7XG4gICAgICAgICAgICBpZiAoY3VycmVudCkge1xuICAgICAgICAgICAgICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZS5maWx0ZXIgPSB0aGlzLl9xdWVyeUJ1aWxkZXJTZXJ2aWNlLmdldEZpbHRlcihjdXJyZW50LCBzZWxlY3RlZEZpZWxkLnNtYXJ0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UucGFyZW50Rm9ybSA9IHBhcmVudEZvcm07XG4gICAgICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZS5maWx0ZXJDaGFuZ2Uuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuY3JlYXRlT3V0cHV0UXVlcnkoKTtcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZS5yZW1vdmUuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHBhcmVudEZvcm0ucmVtb3ZlQ29udHJvbChmb3JtS2V5KTtcbiAgICAgICAgICAgIGNvbXBvbmVudFJlZi5kZXN0cm95KCk7XG4gICAgICAgICAgICB0aGlzLmNyZWF0ZU91dHB1dFF1ZXJ5KCk7XG4gICAgICAgICAgICBpZiAodGhpcy5fY21wUmVmTWFwLmhhcyhmb3JtS2V5KSkge1xuICAgICAgICAgICAgICAgIHRoaXMuX2NtcFJlZk1hcC5kZWxldGUoZm9ybUtleSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vIEFkZCB0aGlzIHRvIHJlbW92ZSBhbGwgdGhlIGNvbXBvbmVudHMgd2hlbiBmaWVsZHMgY2hhbmdlcy5cbiAgICAgICAgdGhpcy5fY21wUmVmTWFwLnNldChmb3JtS2V5LCBjb21wb25lbnRSZWYpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGdldCBzbWFydCBmaWx0ZXIgZmllbGRcbiAgICAgKiBAcGFyYW0gY3VycmVudCBmaWx0ZXIgbGVnYWN5IGVsZW1lbnRcbiAgICAgKiBAcmV0dXJucyBzbWFydCBmaWx0ZXIgZmllbGQsIGlmIG5vdCBmb3VuZCByZXR1cm5zIHRoZSBmaXJzdCBmaWVsZFxuICAgICAqL1xuICAgIHByaXZhdGUgZ2V0U2VsZWN0ZWRGaWVsZChjdXJyZW50OiBJUGVwUXVlcnlJdGVtKTogSVBlcFF1ZXJ5QnVpbGRlckZpZWxkQ29udGFpbmVyIHwgbnVsbCB7XG4gICAgICAgIGlmIChjdXJyZW50KSB7XG4gICAgICAgICAgICBjb25zdCBpdGVtID0gdGhpcy5fc21hcnRGaWx0ZXJGaWVsZHMuZmluZChmaWVsZCA9PiBmaWVsZC5zbWFydC5pZCA9PT0gY3VycmVudC5BcGlOYW1lKTtcbiAgICAgICAgICAgIHJldHVybiBpdGVtID8gaXRlbSA6IHRoaXMuX3NtYXJ0RmlsdGVyRmllbGRzPy5sZW5ndGggPiAwID8gdGhpcy5fc21hcnRGaWx0ZXJGaWVsZHNbMF0gOiBudWxsO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX3NtYXJ0RmlsdGVyRmllbGRzPy5sZW5ndGggPiAwID8gdGhpcy5fc21hcnRGaWx0ZXJGaWVsZHNbMF0gOiBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjb252ZXJ0U21hcnRGaWx0ZXJDb21wb25lbnRUeXBlKHR5cGU6IHN0cmluZykge1xuICAgICAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgJ2ludCc6XG4gICAgICAgICAgICBjYXNlICdjdXJyZW5jeSc6XG4gICAgICAgICAgICBjYXNlICdyZWFsJzpcbiAgICAgICAgICAgIGNhc2UgJ3BlcmNlbnRhZ2UnOlxuICAgICAgICAgICAgICAgIHJldHVybiAnbnVtYmVyJztcbiAgICAgICAgICAgIGNhc2UgJ2RhdGUtdGltZSc6XG4gICAgICAgICAgICAgICAgcmV0dXJuICdkYXRlJztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHR5cGU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBjcmVhdGVzIGEgbGVnYWN5IG91dHB1dCBxdWVyeSBcbiAgICAgKi9cbiAgICBjcmVhdGVPdXRwdXRRdWVyeSgpIHtcbiAgICAgICAgaWYgKHRoaXMuX2Zvcm0udmFsaWQpIHtcbiAgICAgICAgICAgIGNvbnN0IHF1ZXJ5ID0gdGhpcy5fb3V0cHV0UXVlcnlTZXJ2aWNlLmdlbmVyYXRlUXVlcnkodGhpcy5fZm9ybS52YWx1ZSk7XG4gICAgICAgICAgICB0aGlzLl9vdXRwdXRRdWVyeSQubmV4dChxdWVyeSk7XG4gICAgICAgIH1cbiAgICB9XG5cbn0iXX0=
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
export class PepTypeConvertorService {
|
|
4
|
-
constructor() {
|
|
5
|
-
this._operators = [];
|
|
6
|
-
this._booleans = [];
|
|
7
|
-
this.initOperators();
|
|
8
|
-
this.initBooleans();
|
|
9
|
-
}
|
|
10
4
|
get operators() {
|
|
11
5
|
return this._operators;
|
|
12
6
|
}
|
|
13
7
|
get booleans() {
|
|
14
8
|
return this._booleans;
|
|
15
9
|
}
|
|
10
|
+
constructor() {
|
|
11
|
+
this._operators = [];
|
|
12
|
+
this._booleans = [];
|
|
13
|
+
this.initOperators();
|
|
14
|
+
this.initBooleans();
|
|
15
|
+
}
|
|
16
16
|
initOperators() {
|
|
17
17
|
this._operators.push({
|
|
18
18
|
key: 'AND',
|
|
@@ -34,9 +34,9 @@ export class PepTypeConvertorService {
|
|
|
34
34
|
});
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
|
-
PepTypeConvertorService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
38
|
-
PepTypeConvertorService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
39
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
37
|
+
PepTypeConvertorService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PepTypeConvertorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
38
|
+
PepTypeConvertorService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PepTypeConvertorService });
|
|
39
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PepTypeConvertorService, decorators: [{
|
|
40
40
|
type: Injectable
|
|
41
41
|
}], ctorParameters: function () { return []; } });
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS1jb252ZXJ0b3Iuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWIvcXVlcnktYnVpbGRlci9jb21tb24vc2VydmljZXMvdHlwZS1jb252ZXJ0b3Iuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUkzQyxNQUFNLE9BQU8sdUJBQXVCO0lBSWhDLElBQVcsU0FBUztRQUNoQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDM0IsQ0FBQztJQUVELElBQVcsUUFBUTtRQUNmLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUMxQixDQUFDO0lBRUQ7UUFYaUIsZUFBVSxHQUFpQixFQUFFLENBQUM7UUFDOUIsY0FBUyxHQUFpQixFQUFFLENBQUM7UUFXMUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRU8sYUFBYTtRQUNqQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQztZQUNqQixHQUFHLEVBQUUsS0FBSztZQUNWLEtBQUssRUFBRSxLQUFLO1NBQ2YsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUM7WUFDakIsR0FBRyxFQUFFLElBQUk7WUFDVCxLQUFLLEVBQUUsSUFBSTtTQUNkLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxZQUFZO1FBQ2hCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDO1lBQ2hCLEdBQUcsRUFBRSxNQUFNO1lBQ1gsS0FBSyxFQUFFLE1BQU07U0FDaEIsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUM7WUFDaEIsR0FBRyxFQUFFLE9BQU87WUFDWixLQUFLLEVBQUUsT0FBTztTQUNqQixDQUFDLENBQUM7SUFDUCxDQUFDOztxSEFyQ1EsdUJBQXVCO3lIQUF2Qix1QkFBdUI7NEZBQXZCLHVCQUF1QjtrQkFEbkMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElQZXBPcHRpb24gfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYic7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBQZXBUeXBlQ29udmVydG9yU2VydmljZSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBfb3BlcmF0b3JzOiBJUGVwT3B0aW9uW10gPSBbXTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9ib29sZWFuczogSVBlcE9wdGlvbltdID0gW107XG5cbiAgICBwdWJsaWMgZ2V0IG9wZXJhdG9ycygpOiBJUGVwT3B0aW9uW10ge1xuICAgICAgICByZXR1cm4gdGhpcy5fb3BlcmF0b3JzO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgYm9vbGVhbnMoKTogSVBlcE9wdGlvbltdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Jvb2xlYW5zO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLmluaXRPcGVyYXRvcnMoKTtcbiAgICAgICAgdGhpcy5pbml0Qm9vbGVhbnMoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXRPcGVyYXRvcnMoKSB7XG4gICAgICAgIHRoaXMuX29wZXJhdG9ycy5wdXNoKHtcbiAgICAgICAgICAgIGtleTogJ0FORCcsXG4gICAgICAgICAgICB2YWx1ZTogJ0FuZCdcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuX29wZXJhdG9ycy5wdXNoKHtcbiAgICAgICAgICAgIGtleTogJ09SJyxcbiAgICAgICAgICAgIHZhbHVlOiAnT3InXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgaW5pdEJvb2xlYW5zKCkge1xuICAgICAgICB0aGlzLl9ib29sZWFucy5wdXNoKHtcbiAgICAgICAgICAgIGtleTogJ1RydWUnLFxuICAgICAgICAgICAgdmFsdWU6ICdUcnVlJ1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5fYm9vbGVhbnMucHVzaCh7XG4gICAgICAgICAgICBrZXk6ICdGYWxzZScsXG4gICAgICAgICAgICB2YWx1ZTogJ0ZhbHNlJ1xuICAgICAgICB9KTtcbiAgICB9XG5cbn0iXX0=
|
|
@@ -2,23 +2,13 @@ import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
import * as i1 from "@angular/forms";
|
|
4
4
|
import * as i2 from "../common/services/type-convertor.service";
|
|
5
|
-
import * as i3 from "
|
|
6
|
-
import * as i4 from "@angular/
|
|
7
|
-
import * as i5 from "@
|
|
8
|
-
import * as i6 from "@pepperi-addons/ngx-lib/
|
|
9
|
-
import * as i7 from "@pepperi-addons/ngx-lib/
|
|
5
|
+
import * as i3 from "../common/services/query-structure.service";
|
|
6
|
+
import * as i4 from "@angular/common";
|
|
7
|
+
import * as i5 from "@angular/flex-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";
|
|
10
11
|
export class PepQueryBuilderItemComponent {
|
|
11
|
-
constructor(_fb, typeConvertorService) {
|
|
12
|
-
this._fb = _fb;
|
|
13
|
-
this.typeConvertorService = typeConvertorService;
|
|
14
|
-
this._fields = [];
|
|
15
|
-
this._options = [];
|
|
16
|
-
this._selectedField = null;
|
|
17
|
-
this.variableFields = {};
|
|
18
|
-
this.filterChange = new EventEmitter();
|
|
19
|
-
this.remove = new EventEmitter();
|
|
20
|
-
this.setupForm();
|
|
21
|
-
}
|
|
22
12
|
set fields(list) {
|
|
23
13
|
if (list?.length > 0) {
|
|
24
14
|
this._fields = list;
|
|
@@ -47,8 +37,20 @@ export class PepQueryBuilderItemComponent {
|
|
|
47
37
|
this.addToParentForm();
|
|
48
38
|
}
|
|
49
39
|
}
|
|
40
|
+
constructor(_fb, typeConvertorService, queryStructureService) {
|
|
41
|
+
this._fb = _fb;
|
|
42
|
+
this.typeConvertorService = typeConvertorService;
|
|
43
|
+
this.queryStructureService = queryStructureService;
|
|
44
|
+
this._fields = [];
|
|
45
|
+
this._options = [];
|
|
46
|
+
this._selectedField = null;
|
|
47
|
+
this.variableFields = {};
|
|
48
|
+
this.filterChange = new EventEmitter();
|
|
49
|
+
this.remove = new EventEmitter();
|
|
50
|
+
this.setupForm();
|
|
51
|
+
}
|
|
50
52
|
ngOnInit() {
|
|
51
|
-
//
|
|
53
|
+
//this.variableFields = this.queryStructureService.variableFields;
|
|
52
54
|
}
|
|
53
55
|
get f() {
|
|
54
56
|
return this.form.controls;
|
|
@@ -100,12 +102,12 @@ export class PepQueryBuilderItemComponent {
|
|
|
100
102
|
this.remove.emit();
|
|
101
103
|
}
|
|
102
104
|
}
|
|
103
|
-
PepQueryBuilderItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
104
|
-
PepQueryBuilderItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
105
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
105
|
+
PepQueryBuilderItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PepQueryBuilderItemComponent, deps: [{ token: i1.FormBuilder }, { token: i2.PepTypeConvertorService }, { token: i3.PepQueryStructureService }], target: i0.ɵɵFactoryTarget.Component });
|
|
106
|
+
PepQueryBuilderItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", 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" }] });
|
|
107
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PepQueryBuilderItemComponent, decorators: [{
|
|
106
108
|
type: Component,
|
|
107
|
-
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=\"'
|
|
108
|
-
}], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type: i2.PepTypeConvertorService }]; }, propDecorators: { formKey: [{
|
|
109
|
+
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"] }]
|
|
110
|
+
}], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type: i2.PepTypeConvertorService }, { type: i3.PepQueryStructureService }]; }, propDecorators: { formKey: [{
|
|
109
111
|
type: Input
|
|
110
112
|
}], fields: [{
|
|
111
113
|
type: Input
|
|
@@ -122,4 +124,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
|
|
|
122
124
|
}], remove: [{
|
|
123
125
|
type: Output
|
|
124
126
|
}] } });
|
|
125
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktYnVpbGRlci1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWIvcXVlcnktYnVpbGRlci9xdWVyeS1idWlsZGVyLWl0ZW0vcXVlcnktYnVpbGRlci1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWIvcXVlcnktYnVpbGRlci9xdWVyeS1idWlsZGVyLWl0ZW0vcXVlcnktYnVpbGRlci1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7OztBQWN2RSxNQUFNLE9BQU8sNEJBQTRCO0lBa0RyQyxZQUNZLEdBQWdCLEVBQ2pCLG9CQUE2QztRQUQ1QyxRQUFHLEdBQUgsR0FBRyxDQUFhO1FBQ2pCLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBeUI7UUFsRHhELFlBQU8sR0FBMEMsRUFBRSxDQUFDO1FBQ3BELGFBQVEsR0FBaUIsRUFBRSxDQUFDO1FBYTVCLG1CQUFjLEdBQTRCLElBQUksQ0FBQztRQXlCL0MsbUJBQWMsR0FBUSxFQUFFLENBQUM7UUFHekIsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRWxDLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBUXhCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBbkRELElBQ0ksTUFBTSxDQUFDLElBQTJDO1FBQ2xELElBQUksSUFBSSxFQUFFLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDbEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7WUFDcEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUM3QixPQUFPO29CQUNILEdBQUcsRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUU7b0JBQ25CLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUk7aUJBQzFCLENBQUE7WUFDTCxDQUFDLENBQUMsQ0FBQTtTQUNMO0lBQ0wsQ0FBQztJQUVELElBQ0ksUUFBUSxDQUFDLEtBQXFDO1FBQzlDLElBQUksS0FBSyxFQUFFO1lBQ1AsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO1lBQ2xDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQzVEO0lBQ0wsQ0FBQztJQUVELElBQ0ksTUFBTSxDQUFDLEtBQTBCO1FBQ2pDLElBQUksS0FBSyxFQUFFO1lBQ1AsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7U0FDeEI7SUFDTCxDQUFDO0lBRUQsSUFDSSxVQUFVLENBQUMsS0FBZ0I7UUFDM0IsSUFBSSxLQUFLLEVBQUU7WUFDUCxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztZQUN6QixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7U0FDMUI7SUFDTCxDQUFDO0lBbUJELFFBQVE7UUFDSixFQUFFO0lBQ04sQ0FBQztJQUVELElBQUksQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDOUIsQ0FBQztJQUVELElBQUksU0FBUztRQUNULE9BQVEsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFtQixDQUFDLFFBQVEsQ0FBQztJQUNoRCxDQUFDO0lBRUQsU0FBUztRQUNMLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUM7WUFDdkIsS0FBSyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDO2dCQUNsQixPQUFPLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO2dCQUMvQixTQUFTLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO2dCQUNqQyxRQUFRLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO2dCQUNoQyxZQUFZLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO2dCQUNwQyxNQUFNLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUM7b0JBQ25CLEtBQUssRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7b0JBQzdCLE1BQU0sRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7aUJBQ2pDLENBQUM7YUFDTCxDQUFDO1lBQ0YsS0FBSyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDO2dCQUNsQixTQUFTLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO2FBQ3BDLENBQUM7U0FDTCxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsZUFBZTtRQUNYLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRCxjQUFjLENBQUMsR0FBRztRQUNkLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFLEtBQUssR0FBRyxDQUFDLENBQUM7UUFFaEUsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3hELElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUV2Qjs7O1dBR0c7UUFDSCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztRQUMzQixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ1osSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUNuRCxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFTixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztJQUN4QixDQUFDO0lBRUQsZUFBZTtRQUNYLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDakIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUM1QjtJQUNMLENBQUM7SUFFRCxtQkFBbUI7UUFDZixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3ZCLENBQUM7O3lIQXRIUSw0QkFBNEI7NkdBQTVCLDRCQUE0QixpUkNkekMscTNHQStDTTsyRkRqQ08sNEJBQTRCO2tCQUx4QyxTQUFTOytCQUNJLHdCQUF3Qjt3SUFLekIsT0FBTztzQkFBZixLQUFLO2dCQUlGLE1BQU07c0JBRFQsS0FBSztnQkFjRixRQUFRO3NCQURYLEtBQUs7Z0JBU0YsTUFBTTtzQkFEVCxLQUFLO2dCQVFGLFVBQVU7c0JBRGIsS0FBSztnQkFTTixjQUFjO3NCQURiLEtBQUs7Z0JBSU4sWUFBWTtzQkFEWCxNQUFNO2dCQUdQLE1BQU07c0JBREwsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUGVwU21hcnRGaWx0ZXJCYXNlRmllbGQsIElQZXBTbWFydEZpbHRlckZpZWxkIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWIvc21hcnQtZmlsdGVycyc7XG5pbXBvcnQgeyBJUGVwU21hcnRGaWx0ZXJEYXRhIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWIvc21hcnQtZmlsdGVycyc7XG5pbXBvcnQgeyBJUGVwT3B0aW9uIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWInO1xuaW1wb3J0IHsgUGVwVHlwZUNvbnZlcnRvclNlcnZpY2UgfSBmcm9tICcuLi9jb21tb24vc2VydmljZXMvdHlwZS1jb252ZXJ0b3Iuc2VydmljZSc7XG5pbXBvcnQgeyBJUGVwUXVlcnlCdWlsZGVyRmllbGRDb250YWluZXIgfSBmcm9tICcuLi9jb21tb24vbW9kZWwvZmllbGQnO1xuXG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncGVwLXF1ZXJ5LWJ1aWxkZXItaXRlbScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3F1ZXJ5LWJ1aWxkZXItaXRlbS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vcXVlcnktYnVpbGRlci1pdGVtLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFBlcFF1ZXJ5QnVpbGRlckl0ZW1Db21wb25lbnQge1xuICAgIEBJbnB1dCgpIGZvcm1LZXk6IHN0cmluZztcbiAgICBfZmllbGRzOiBBcnJheTxJUGVwUXVlcnlCdWlsZGVyRmllbGRDb250YWluZXI+ID0gW107XG4gICAgX29wdGlvbnM6IElQZXBPcHRpb25bXSA9IFtdO1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IGZpZWxkcyhsaXN0OiBBcnJheTxJUGVwUXVlcnlCdWlsZGVyRmllbGRDb250YWluZXI+KSB7XG4gICAgICAgIGlmIChsaXN0Py5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICB0aGlzLl9maWVsZHMgPSBsaXN0O1xuICAgICAgICAgICAgdGhpcy5fb3B0aW9ucyA9IGxpc3QubWFwKGZpZWxkID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICBrZXk6IGZpZWxkLnNtYXJ0LmlkLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogZmllbGQuc21hcnQubmFtZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICB9XG4gICAgX3NlbGVjdGVkRmllbGQ6IFBlcFNtYXJ0RmlsdGVyQmFzZUZpZWxkID0gbnVsbDtcbiAgICBASW5wdXQoKVxuICAgIHNldCBzZWxlY3RlZCh2YWx1ZTogSVBlcFF1ZXJ5QnVpbGRlckZpZWxkQ29udGFpbmVyKSB7XG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5fc2VsZWN0ZWRGaWVsZCA9IHZhbHVlLnNtYXJ0O1xuICAgICAgICAgICAgdGhpcy5xdWVyeUZvcm0uZmllbGRUeXBlLnNldFZhbHVlKHZhbHVlLnF1ZXJ5LmZpZWxkVHlwZSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgX2ZpbHRlcjogSVBlcFNtYXJ0RmlsdGVyRGF0YTtcbiAgICBASW5wdXQoKVxuICAgIHNldCBmaWx0ZXIodmFsdWU6IElQZXBTbWFydEZpbHRlckRhdGEpIHtcbiAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLl9maWx0ZXIgPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBfcGFyZW50Rm9ybTogRm9ybUdyb3VwO1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHBhcmVudEZvcm0odmFsdWU6IEZvcm1Hcm91cCkge1xuICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuX3BhcmVudEZvcm0gPSB2YWx1ZTtcbiAgICAgICAgICAgIHRoaXMuYWRkVG9QYXJlbnRGb3JtKCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgQElucHV0KCkgXG4gICAgdmFyaWFibGVGaWVsZHM6IGFueSA9IHt9O1xuXG4gICAgQE91dHB1dCgpXG4gICAgZmlsdGVyQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIEBPdXRwdXQoKVxuICAgIHJlbW92ZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIGZvcm06IEZvcm1Hcm91cDtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIF9mYjogRm9ybUJ1aWxkZXIsXG4gICAgICAgIHB1YmxpYyB0eXBlQ29udmVydG9yU2VydmljZTogUGVwVHlwZUNvbnZlcnRvclNlcnZpY2VcbiAgICApIHtcbiAgICAgICAgdGhpcy5zZXR1cEZvcm0oKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgLy9cbiAgICB9XG5cbiAgICBnZXQgZigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybS5jb250cm9scztcbiAgICB9XG5cbiAgICBnZXQgcXVlcnlGb3JtKCkge1xuICAgICAgICByZXR1cm4gKHRoaXMuZi5xdWVyeSBhcyBGb3JtR3JvdXApLmNvbnRyb2xzO1xuICAgIH1cblxuICAgIHNldHVwRm9ybSgpIHtcbiAgICAgICAgdGhpcy5mb3JtID0gdGhpcy5fZmIuZ3JvdXAoe1xuICAgICAgICAgICAgc21hcnQ6IHRoaXMuX2ZiLmdyb3VwKHtcbiAgICAgICAgICAgICAgICBmaWVsZElkOiB0aGlzLl9mYi5jb250cm9sKG51bGwpLFxuICAgICAgICAgICAgICAgIGZpZWxkVHlwZTogdGhpcy5fZmIuY29udHJvbChudWxsKSxcbiAgICAgICAgICAgICAgICBvcGVyYXRvcjogdGhpcy5fZmIuY29udHJvbChudWxsKSxcbiAgICAgICAgICAgICAgICBvcGVyYXRvclVuaXQ6IHRoaXMuX2ZiLmNvbnRyb2wobnVsbCksXG4gICAgICAgICAgICAgICAgdmFsdWVzOiB0aGlzLl9mYi5ncm91cCh7XG4gICAgICAgICAgICAgICAgICAgIGZpcnN0OiB0aGlzLl9mYi5jb250cm9sKG51bGwpLFxuICAgICAgICAgICAgICAgICAgICBzZWNvbmQ6IHRoaXMuX2ZiLmNvbnRyb2wobnVsbClcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBxdWVyeTogdGhpcy5fZmIuZ3JvdXAoe1xuICAgICAgICAgICAgICAgIGZpZWxkVHlwZTogdGhpcy5fZmIuY29udHJvbChudWxsKVxuICAgICAgICAgICAgfSlcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgYWRkVG9QYXJlbnRGb3JtKCkge1xuICAgICAgICB0aGlzLl9wYXJlbnRGb3JtLnNldENvbnRyb2wodGhpcy5mb3JtS2V5LCB0aGlzLmZvcm0pO1xuICAgIH1cblxuICAgIG9uRmllbGRDaGFuZ2VkKGtleSkge1xuICAgICAgICBjb25zdCBpdGVtID0gdGhpcy5fZmllbGRzLmZpbmQoZmllbGQgPT4gZmllbGQuc21hcnQuaWQgPT09IGtleSk7XG5cbiAgICAgICAgdGhpcy5zZXR1cEZvcm0oKTtcbiAgICAgICAgdGhpcy5xdWVyeUZvcm0uZmllbGRUeXBlLnNldFZhbHVlKGl0ZW0ucXVlcnkuZmllbGRUeXBlKTtcbiAgICAgICAgdGhpcy5hZGRUb1BhcmVudEZvcm0oKTtcblxuICAgICAgICAvKipcbiAgICAgICAgICogaGFjayBkdWUgdG8gYW5ndWxhcidzIGNoYW5nZSBkZXRlY3Rpb24gYnVnIC1cbiAgICAgICAgICogRVJST1IgRXJyb3I6IFRoZXJlIGlzIG5vIEZvcm1Db250cm9sIGluc3RhbmNlIGF0dGFjaGVkIHRvIGZvcm0gY29udHJvbCBlbGVtZW50IHdpdGggbmFtZTogW2Zvcm1Db250cm9sTmFtZV1cbiAgICAgICAgICovXG4gICAgICAgIHRoaXMuX3NlbGVjdGVkRmllbGQgPSBudWxsO1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX3NlbGVjdGVkRmllbGQgPSBpdGVtID8gaXRlbS5zbWFydCA6IG51bGw7XG4gICAgICAgIH0sIDApO1xuXG4gICAgICAgIHRoaXMuX2ZpbHRlciA9IG51bGw7XG4gICAgfVxuXG4gICAgb25GaWx0ZXJDaGFuZ2VkKCkge1xuICAgICAgICBpZiAodGhpcy5mb3JtLnZhbGlkKSB7XG4gICAgICAgICAgICB0aGlzLmZpbHRlckNoYW5nZS5lbWl0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkRlbGV0ZUl0ZW1DbGlja2VkKCkge1xuICAgICAgICB0aGlzLnJlbW92ZS5lbWl0KCk7XG4gICAgfVxuXG5cblxufVxuIiwiPGRpdiBmeExheW91dD1cImNvbHVtblwiIGZ4TGF5b3V0R2FwPVwiLjVyZW1cIj5cbiAgICA8ZGl2IGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRHYXA9XCIuNXJlbVwiPlxuICAgICAgICA8cGVwLXNlbGVjdCBmeEZsZXg9XCIyNSVcIiBbdmFsdWVdPVwiX3NlbGVjdGVkRmllbGQ/LmlkXCIgeEFsaWdubWVudD1cImxlZnRcIiBbb3B0aW9uc109XCJfb3B0aW9uc1wiXG4gICAgICAgICAgICBbcmVuZGVyVGl0bGVdPVwiZmFsc2VcIiAodmFsdWVDaGFuZ2UpPVwib25GaWVsZENoYW5nZWQoJGV2ZW50KVwiPjwvcGVwLXNlbGVjdD5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIl9zZWxlY3RlZEZpZWxkPy5jb21wb25lbnRUeXBlXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJfc2VsZWN0ZWRGaWVsZC5jb21wb25lbnRUeXBlXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3RleHQnXCI+XG4gICAgICAgICAgICAgICAgICAgIDxwZXAtdGV4dC1maWx0ZXIgZnhGbGV4PVwiYXV0b1wiIFtzaG93QWN0aW9uQnV0dG9uc109XCJmYWxzZVwiIFt2YXJpYWJsZUZpZWxkXT1cInZhcmlhYmxlRmllbGRzPy50ZXh0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtmaWVsZF09XCJfc2VsZWN0ZWRGaWVsZFwiIFtmaWx0ZXJdPVwiX2ZpbHRlclwiIFtwYXJlbnRGb3JtXT1cImYuc21hcnRcIiBbZW1pdE9uQ2hhbmdlXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2lubGluZV09XCJ0cnVlXCIgW3JlbmRlclRpdGxlXT1cImZhbHNlXCIgKGZpbHRlckNoYW5nZSk9XCJvbkZpbHRlckNoYW5nZWQoKVwiPlxuICAgICAgICAgICAgICAgICAgICA8L3BlcC10ZXh0LWZpbHRlcj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInYm9vbGVhbidcIj5cbiAgICAgICAgICAgICAgICAgICAgPHBlcC1ib29sZWFuLWZpbHRlciBmeEZsZXg9XCJhdXRvXCIgW3Nob3dBY3Rpb25CdXR0b25zXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt2YXJpYWJsZUZpZWxkXT1cInZhcmlhYmxlRmllbGRzPy5ib29sZWFuXCIgW2ZpZWxkXT1cIl9zZWxlY3RlZEZpZWxkXCIgW2ZpbHRlcl09XCJfZmlsdGVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtwYXJlbnRGb3JtXT1cImYuc21hcnRcIiBbZW1pdE9uQ2hhbmdlXT1cInRydWVcIiBbaW5saW5lXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW29wdGlvbnNdPVwidHlwZUNvbnZlcnRvclNlcnZpY2UuYm9vbGVhbnNcIiBbcmVuZGVyVGl0bGVdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGZpbHRlckNoYW5nZSk9XCJvbkZpbHRlckNoYW5nZWQoKVwiPlxuICAgICAgICAgICAgICAgICAgICA8L3BlcC1ib29sZWFuLWZpbHRlcj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInZGF0ZSdcIj5cbiAgICAgICAgICAgICAgICAgICAgPHBlcC1kYXRlLWZpbHRlciBmeEZsZXg9XCJhdXRvXCIgW3Nob3dBY3Rpb25CdXR0b25zXT1cImZhbHNlXCIgW3Nob3dBZGRpdGlvbmFsT3BlcmF0b3JzXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3ZhcmlhYmxlRmllbGRdPVwidmFyaWFibGVGaWVsZHM/LmRhdGVcIiBbZmllbGRdPVwiX3NlbGVjdGVkRmllbGRcIiBbZmlsdGVyXT1cIl9maWx0ZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3BhcmVudEZvcm1dPVwiZi5zbWFydFwiIFtlbWl0T25DaGFuZ2VdPVwidHJ1ZVwiIFtpbmxpbmVdPVwidHJ1ZVwiIFtyZW5kZXJUaXRsZV09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoZmlsdGVyQ2hhbmdlKT1cIm9uRmlsdGVyQ2hhbmdlZCgpXCI+XG4gICAgICAgICAgICAgICAgICAgIDwvcGVwLWRhdGUtZmlsdGVyPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidtdWx0aS1zZWxlY3QnXCI+XG4gICAgICAgICAgICAgICAgICAgIDxwZXAtbXVsdGktc2VsZWN0LWZpbHRlciBmeEZsZXg9XCJhdXRvXCIgW3Nob3dBY3Rpb25CdXR0b25zXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt2YXJpYWJsZUZpZWxkXT1cInZhcmlhYmxlRmllbGRzPy5bJ211bHRpLXNlbGVjdCddXCIgW2ZpZWxkXT1cIl9zZWxlY3RlZEZpZWxkXCIgW2ZpbHRlcl09XCJfZmlsdGVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtwYXJlbnRGb3JtXT1cImYuc21hcnRcIiBbZW1pdE9uQ2hhbmdlXT1cInRydWVcIiBbaW5saW5lXT1cInRydWVcIiBbcmVuZGVyVGl0bGVdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGZpbHRlckNoYW5nZSk9XCJvbkZpbHRlckNoYW5nZWQoKVwiPlxuICAgICAgICAgICAgICAgICAgICA8L3BlcC1tdWx0aS1zZWxlY3QtZmlsdGVyPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidudW1iZXInXCI+XG4gICAgICAgICAgICAgICAgICAgIDxwZXAtbnVtYmVyLWZpbHRlciBmeEZsZXg9XCJhdXRvXCIgW3Nob3dBY3Rpb25CdXR0b25zXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt2YXJpYWJsZUZpZWxkXT1cInZhcmlhYmxlRmllbGRzPy5udW1iZXJcIiBbZmllbGRdPVwiX3NlbGVjdGVkRmllbGRcIiBbZmlsdGVyXT1cIl9maWx0ZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3BhcmVudEZvcm1dPVwiZi5zbWFydFwiIFtlbWl0T25DaGFuZ2VdPVwidHJ1ZVwiIFtpbmxpbmVdPVwidHJ1ZVwiIFtyZW5kZXJUaXRsZV09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoZmlsdGVyQ2hhbmdlKT1cIm9uRmlsdGVyQ2hhbmdlZCgpXCI+XG4gICAgICAgICAgICAgICAgICAgIDwvcGVwLW51bWJlci1maWx0ZXI+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxwZXAtYnV0dG9uIHN0eWxlVHlwZT1cIndlYWtcIiBzdHlsZVN0YXRlVHlwZT1cInN5c3RlbV9iaW5cIiBzaXplVHlwZT1cIm1kXCIgY2xhc3NOYW1lcz1cIlwiIFtkaXNhYmxlZF09XCJmYWxzZVwiXG4gICAgICAgICAgICBpY29uTmFtZT1cInN5c3RlbV9iaW5cIiBpY29uUG9zaXRpb249XCJlbmRcIiBbdmlzaWJsZV09XCJ0cnVlXCIgKGJ1dHRvbkNsaWNrKT1cIm9uRGVsZXRlSXRlbUNsaWNrZWQoKVwiPlxuICAgICAgICA8L3BlcC1idXR0b24+XG4gICAgPC9kaXY+XG48L2Rpdj4iXX0=
|
|
127
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktYnVpbGRlci1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWIvcXVlcnktYnVpbGRlci9xdWVyeS1idWlsZGVyLWl0ZW0vcXVlcnktYnVpbGRlci1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWIvcXVlcnktYnVpbGRlci9xdWVyeS1idWlsZGVyLWl0ZW0vcXVlcnktYnVpbGRlci1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7Ozs7QUFjdkUsTUFBTSxPQUFPLDRCQUE0QjtJQUlyQyxJQUNJLE1BQU0sQ0FBQyxJQUEyQztRQUNsRCxJQUFJLElBQUksRUFBRSxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ2xCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDN0IsT0FBTztvQkFDSCxHQUFHLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFO29CQUNuQixLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJO2lCQUMxQixDQUFBO1lBQ0wsQ0FBQyxDQUFDLENBQUE7U0FDTDtJQUNMLENBQUM7SUFFRCxJQUNJLFFBQVEsQ0FBQyxLQUFxQztRQUM5QyxJQUFJLEtBQUssRUFBRTtZQUNQLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQztZQUNsQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUM1RDtJQUNMLENBQUM7SUFFRCxJQUNJLE1BQU0sQ0FBQyxLQUEwQjtRQUNqQyxJQUFJLEtBQUssRUFBRTtZQUNQLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1NBQ3hCO0lBQ0wsQ0FBQztJQUVELElBQ0ksVUFBVSxDQUFDLEtBQWdCO1FBQzNCLElBQUksS0FBSyxFQUFFO1lBQ1AsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7WUFDekIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1NBQzFCO0lBQ0wsQ0FBQztJQVlELFlBQ1ksR0FBZ0IsRUFDakIsb0JBQTZDLEVBQzVDLHFCQUErQztRQUYvQyxRQUFHLEdBQUgsR0FBRyxDQUFhO1FBQ2pCLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBeUI7UUFDNUMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUEwQjtRQW5EM0QsWUFBTyxHQUEwQyxFQUFFLENBQUM7UUFDcEQsYUFBUSxHQUFpQixFQUFFLENBQUM7UUFhNUIsbUJBQWMsR0FBNEIsSUFBSSxDQUFDO1FBeUIvQyxtQkFBYyxHQUFRLEVBQUUsQ0FBQztRQUd6QixpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFbEMsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFTeEIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxRQUFRO1FBQ0osa0VBQWtFO0lBQ3RFLENBQUM7SUFFRCxJQUFJLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDVCxPQUFRLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBbUIsQ0FBQyxRQUFRLENBQUM7SUFDaEQsQ0FBQztJQUVELFNBQVM7UUFDTCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDO1lBQ3ZCLEtBQUssRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQztnQkFDbEIsT0FBTyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztnQkFDL0IsU0FBUyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztnQkFDakMsUUFBUSxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztnQkFDaEMsWUFBWSxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztnQkFDcEMsTUFBTSxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDO29CQUNuQixLQUFLLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO29CQUM3QixNQUFNLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO2lCQUNqQyxDQUFDO2FBQ0wsQ0FBQztZQUNGLEtBQUssRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQztnQkFDbEIsU0FBUyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQzthQUNwQyxDQUFDO1NBQ0wsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELGVBQWU7UUFDWCxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsY0FBYyxDQUFDLEdBQUc7UUFDZCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRSxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBRWhFLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN4RCxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFFdkI7OztXQUdHO1FBQ0gsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7UUFDM0IsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNaLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDbkQsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRU4sSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7SUFDeEIsQ0FBQztJQUVELGVBQWU7UUFDWCxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ2pCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDNUI7SUFDTCxDQUFDO0lBRUQsbUJBQW1CO1FBQ2YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN2QixDQUFDOzswSEF2SFEsNEJBQTRCOzhHQUE1Qiw0QkFBNEIsaVJDZHpDLHkzSEFzRE07NEZEeENPLDRCQUE0QjtrQkFMeEMsU0FBUzsrQkFDSSx3QkFBd0I7K0tBS3pCLE9BQU87c0JBQWYsS0FBSztnQkFJRixNQUFNO3NCQURULEtBQUs7Z0JBY0YsUUFBUTtzQkFEWCxLQUFLO2dCQVNGLE1BQU07c0JBRFQsS0FBSztnQkFRRixVQUFVO3NCQURiLEtBQUs7Z0JBU04sY0FBYztzQkFEYixLQUFLO2dCQUlOLFlBQVk7c0JBRFgsTUFBTTtnQkFHUCxNQUFNO3NCQURMLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFBlcFNtYXJ0RmlsdGVyQmFzZUZpZWxkLCBJUGVwU21hcnRGaWx0ZXJGaWVsZCB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliL3NtYXJ0LWZpbHRlcnMnO1xuaW1wb3J0IHsgSVBlcFNtYXJ0RmlsdGVyRGF0YSB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliL3NtYXJ0LWZpbHRlcnMnO1xuaW1wb3J0IHsgSVBlcE9wdGlvbiB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliJztcbmltcG9ydCB7IFBlcFR5cGVDb252ZXJ0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vY29tbW9uL3NlcnZpY2VzL3R5cGUtY29udmVydG9yLnNlcnZpY2UnO1xuaW1wb3J0IHsgSVBlcFF1ZXJ5QnVpbGRlckZpZWxkQ29udGFpbmVyIH0gZnJvbSAnLi4vY29tbW9uL21vZGVsL2ZpZWxkJztcbmltcG9ydCB7IFBlcFF1ZXJ5U3RydWN0dXJlU2VydmljZSB9IGZyb20gJy4uL2NvbW1vbi9zZXJ2aWNlcy9xdWVyeS1zdHJ1Y3R1cmUuc2VydmljZSdcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdwZXAtcXVlcnktYnVpbGRlci1pdGVtJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcXVlcnktYnVpbGRlci1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9xdWVyeS1idWlsZGVyLWl0ZW0uY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgUGVwUXVlcnlCdWlsZGVySXRlbUNvbXBvbmVudCB7XG4gICAgQElucHV0KCkgZm9ybUtleTogc3RyaW5nO1xuICAgIF9maWVsZHM6IEFycmF5PElQZXBRdWVyeUJ1aWxkZXJGaWVsZENvbnRhaW5lcj4gPSBbXTtcbiAgICBfb3B0aW9uczogSVBlcE9wdGlvbltdID0gW107XG4gICAgQElucHV0KClcbiAgICBzZXQgZmllbGRzKGxpc3Q6IEFycmF5PElQZXBRdWVyeUJ1aWxkZXJGaWVsZENvbnRhaW5lcj4pIHtcbiAgICAgICAgaWYgKGxpc3Q/Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHRoaXMuX2ZpZWxkcyA9IGxpc3Q7XG4gICAgICAgICAgICB0aGlzLl9vcHRpb25zID0gbGlzdC5tYXAoZmllbGQgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIGtleTogZmllbGQuc21hcnQuaWQsXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBmaWVsZC5zbWFydC5uYW1lXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgIH1cbiAgICBfc2VsZWN0ZWRGaWVsZDogUGVwU21hcnRGaWx0ZXJCYXNlRmllbGQgPSBudWxsO1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHNlbGVjdGVkKHZhbHVlOiBJUGVwUXVlcnlCdWlsZGVyRmllbGRDb250YWluZXIpIHtcbiAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLl9zZWxlY3RlZEZpZWxkID0gdmFsdWUuc21hcnQ7XG4gICAgICAgICAgICB0aGlzLnF1ZXJ5Rm9ybS5maWVsZFR5cGUuc2V0VmFsdWUodmFsdWUucXVlcnkuZmllbGRUeXBlKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBfZmlsdGVyOiBJUGVwU21hcnRGaWx0ZXJEYXRhO1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IGZpbHRlcih2YWx1ZTogSVBlcFNtYXJ0RmlsdGVyRGF0YSkge1xuICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuX2ZpbHRlciA9IHZhbHVlO1xuICAgICAgICB9XG4gICAgfVxuICAgIF9wYXJlbnRGb3JtOiBGb3JtR3JvdXA7XG4gICAgQElucHV0KClcbiAgICBzZXQgcGFyZW50Rm9ybSh2YWx1ZTogRm9ybUdyb3VwKSB7XG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5fcGFyZW50Rm9ybSA9IHZhbHVlO1xuICAgICAgICAgICAgdGhpcy5hZGRUb1BhcmVudEZvcm0oKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICBASW5wdXQoKSBcbiAgICB2YXJpYWJsZUZpZWxkczogYW55ID0ge307XG5cbiAgICBAT3V0cHV0KClcbiAgICBmaWx0ZXJDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgQE91dHB1dCgpXG4gICAgcmVtb3ZlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgZm9ybTogRm9ybUdyb3VwO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgX2ZiOiBGb3JtQnVpbGRlcixcbiAgICAgICAgcHVibGljIHR5cGVDb252ZXJ0b3JTZXJ2aWNlOiBQZXBUeXBlQ29udmVydG9yU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBxdWVyeVN0cnVjdHVyZVNlcnZpY2U6IFBlcFF1ZXJ5U3RydWN0dXJlU2VydmljZVxuICAgICkge1xuICAgICAgICB0aGlzLnNldHVwRm9ybSgpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICAvL3RoaXMudmFyaWFibGVGaWVsZHMgPSB0aGlzLnF1ZXJ5U3RydWN0dXJlU2VydmljZS52YXJpYWJsZUZpZWxkcztcbiAgICB9XG5cbiAgICBnZXQgZigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybS5jb250cm9scztcbiAgICB9XG5cbiAgICBnZXQgcXVlcnlGb3JtKCkge1xuICAgICAgICByZXR1cm4gKHRoaXMuZi5xdWVyeSBhcyBGb3JtR3JvdXApLmNvbnRyb2xzO1xuICAgIH1cblxuICAgIHNldHVwRm9ybSgpIHtcbiAgICAgICAgdGhpcy5mb3JtID0gdGhpcy5fZmIuZ3JvdXAoe1xuICAgICAgICAgICAgc21hcnQ6IHRoaXMuX2ZiLmdyb3VwKHtcbiAgICAgICAgICAgICAgICBmaWVsZElkOiB0aGlzLl9mYi5jb250cm9sKG51bGwpLFxuICAgICAgICAgICAgICAgIGZpZWxkVHlwZTogdGhpcy5fZmIuY29udHJvbChudWxsKSxcbiAgICAgICAgICAgICAgICBvcGVyYXRvcjogdGhpcy5fZmIuY29udHJvbChudWxsKSxcbiAgICAgICAgICAgICAgICBvcGVyYXRvclVuaXQ6IHRoaXMuX2ZiLmNvbnRyb2wobnVsbCksXG4gICAgICAgICAgICAgICAgdmFsdWVzOiB0aGlzLl9mYi5ncm91cCh7XG4gICAgICAgICAgICAgICAgICAgIGZpcnN0OiB0aGlzLl9mYi5jb250cm9sKG51bGwpLFxuICAgICAgICAgICAgICAgICAgICBzZWNvbmQ6IHRoaXMuX2ZiLmNvbnRyb2wobnVsbClcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBxdWVyeTogdGhpcy5fZmIuZ3JvdXAoe1xuICAgICAgICAgICAgICAgIGZpZWxkVHlwZTogdGhpcy5fZmIuY29udHJvbChudWxsKVxuICAgICAgICAgICAgfSlcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgYWRkVG9QYXJlbnRGb3JtKCkge1xuICAgICAgICB0aGlzLl9wYXJlbnRGb3JtLnNldENvbnRyb2wodGhpcy5mb3JtS2V5LCB0aGlzLmZvcm0pO1xuICAgIH1cblxuICAgIG9uRmllbGRDaGFuZ2VkKGtleSkge1xuICAgICAgICBjb25zdCBpdGVtID0gdGhpcy5fZmllbGRzLmZpbmQoZmllbGQgPT4gZmllbGQuc21hcnQuaWQgPT09IGtleSk7XG5cbiAgICAgICAgdGhpcy5zZXR1cEZvcm0oKTtcbiAgICAgICAgdGhpcy5xdWVyeUZvcm0uZmllbGRUeXBlLnNldFZhbHVlKGl0ZW0ucXVlcnkuZmllbGRUeXBlKTtcbiAgICAgICAgdGhpcy5hZGRUb1BhcmVudEZvcm0oKTtcblxuICAgICAgICAvKipcbiAgICAgICAgICogaGFjayBkdWUgdG8gYW5ndWxhcidzIGNoYW5nZSBkZXRlY3Rpb24gYnVnIC1cbiAgICAgICAgICogRVJST1IgRXJyb3I6IFRoZXJlIGlzIG5vIEZvcm1Db250cm9sIGluc3RhbmNlIGF0dGFjaGVkIHRvIGZvcm0gY29udHJvbCBlbGVtZW50IHdpdGggbmFtZTogW2Zvcm1Db250cm9sTmFtZV1cbiAgICAgICAgICovXG4gICAgICAgIHRoaXMuX3NlbGVjdGVkRmllbGQgPSBudWxsO1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX3NlbGVjdGVkRmllbGQgPSBpdGVtID8gaXRlbS5zbWFydCA6IG51bGw7XG4gICAgICAgIH0sIDApO1xuXG4gICAgICAgIHRoaXMuX2ZpbHRlciA9IG51bGw7XG4gICAgfVxuXG4gICAgb25GaWx0ZXJDaGFuZ2VkKCkge1xuICAgICAgICBpZiAodGhpcy5mb3JtLnZhbGlkKSB7XG4gICAgICAgICAgICB0aGlzLmZpbHRlckNoYW5nZS5lbWl0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkRlbGV0ZUl0ZW1DbGlja2VkKCkge1xuICAgICAgICB0aGlzLnJlbW92ZS5lbWl0KCk7XG4gICAgfVxuXG5cblxufVxuIiwiPGRpdiBmeExheW91dD1cImNvbHVtblwiIGZ4TGF5b3V0R2FwPVwiLjVyZW1cIj5cbiAgICA8ZGl2IGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRHYXA9XCIuNXJlbVwiPlxuICAgICAgICA8cGVwLXNlbGVjdCBmeEZsZXg9XCIyNSVcIiBbdmFsdWVdPVwiX3NlbGVjdGVkRmllbGQ/LmlkXCIgeEFsaWdubWVudD1cImxlZnRcIiBbb3B0aW9uc109XCJfb3B0aW9uc1wiXG4gICAgICAgICAgICBbcmVuZGVyVGl0bGVdPVwiZmFsc2VcIiAodmFsdWVDaGFuZ2UpPVwib25GaWVsZENoYW5nZWQoJGV2ZW50KVwiPjwvcGVwLXNlbGVjdD5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIl9zZWxlY3RlZEZpZWxkPy5jb21wb25lbnRUeXBlXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJfc2VsZWN0ZWRGaWVsZC5jb21wb25lbnRUeXBlXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3RleHQnXCI+XG4gICAgICAgICAgICAgICAgICAgIDxwZXAtdGV4dC1maWx0ZXIgZnhGbGV4PVwiYXV0b1wiIFtzaG93QWN0aW9uQnV0dG9uc109XCJmYWxzZVwiIFt2YXJpYWJsZUZpZWxkXT1cInZhcmlhYmxlRmllbGRzPy50ZXh0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtmaWVsZF09XCJfc2VsZWN0ZWRGaWVsZFwiIFtmaWx0ZXJdPVwiX2ZpbHRlclwiIFtwYXJlbnRGb3JtXT1cImYuc21hcnRcIiBbZW1pdE9uQ2hhbmdlXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2lubGluZV09XCJ0cnVlXCIgW3JlbmRlclRpdGxlXT1cImZhbHNlXCIgKGZpbHRlckNoYW5nZSk9XCJvbkZpbHRlckNoYW5nZWQoKVwiPlxuICAgICAgICAgICAgICAgICAgICA8L3BlcC10ZXh0LWZpbHRlcj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInYm9vbGVhbidcIj5cbiAgICAgICAgICAgICAgICAgICAgPHBlcC1ib29sZWFuLWZpbHRlciBmeEZsZXg9XCJhdXRvXCIgW3Nob3dBY3Rpb25CdXR0b25zXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt2YXJpYWJsZUZpZWxkXT1cInZhcmlhYmxlRmllbGRzPy5ib29sZWFuXCIgW2ZpZWxkXT1cIl9zZWxlY3RlZEZpZWxkXCIgW2ZpbHRlcl09XCJfZmlsdGVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtwYXJlbnRGb3JtXT1cImYuc21hcnRcIiBbZW1pdE9uQ2hhbmdlXT1cInRydWVcIiBbaW5saW5lXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW29wdGlvbnNdPVwidHlwZUNvbnZlcnRvclNlcnZpY2UuYm9vbGVhbnNcIiBbcmVuZGVyVGl0bGVdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGZpbHRlckNoYW5nZSk9XCJvbkZpbHRlckNoYW5nZWQoKVwiPlxuICAgICAgICAgICAgICAgICAgICA8L3BlcC1ib29sZWFuLWZpbHRlcj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInZGF0ZSdcIj5cbiAgICAgICAgICAgICAgICAgICAgPHBlcC1kYXRlLWZpbHRlciBmeEZsZXg9XCJhdXRvXCIgW3Nob3dBY3Rpb25CdXR0b25zXT1cImZhbHNlXCIgW3Nob3dBZGRpdGlvbmFsT3BlcmF0b3JzXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3ZhcmlhYmxlRmllbGRdPVwidmFyaWFibGVGaWVsZHM/LmRhdGVcIiBbZmllbGRdPVwiX3NlbGVjdGVkRmllbGRcIiBbZmlsdGVyXT1cIl9maWx0ZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3BhcmVudEZvcm1dPVwiZi5zbWFydFwiIFtlbWl0T25DaGFuZ2VdPVwidHJ1ZVwiIFtpbmxpbmVdPVwidHJ1ZVwiIFtyZW5kZXJUaXRsZV09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoZmlsdGVyQ2hhbmdlKT1cIm9uRmlsdGVyQ2hhbmdlZCgpXCI+XG4gICAgICAgICAgICAgICAgICAgIDwvcGVwLWRhdGUtZmlsdGVyPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwhLS0gPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3RleHQnXCI+XG4gICAgICAgICAgICAgICAgICAgIDxwZXAtbXVsdGktc2VsZWN0LWZpbHRlciBmeEZsZXg9XCJhdXRvXCIgW3Nob3dBY3Rpb25CdXR0b25zXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt2YXJpYWJsZUZpZWxkXT1cInZhcmlhYmxlRmllbGRzPy50ZXh0XCIgW2ZpZWxkXT1cIl9zZWxlY3RlZEZpZWxkXCIgW2ZpbHRlcl09XCJfZmlsdGVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtwYXJlbnRGb3JtXT1cImYuc21hcnRcIiBbZW1pdE9uQ2hhbmdlXT1cInRydWVcIiBbaW5saW5lXT1cInRydWVcIiBbcmVuZGVyVGl0bGVdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGZpbHRlckNoYW5nZSk9XCJvbkZpbHRlckNoYW5nZWQoKVwiPlxuICAgICAgICAgICAgICAgICAgICA8L3BlcC1tdWx0aS1zZWxlY3QtZmlsdGVyPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPiAtLT5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInbXVsdGktc2VsZWN0J1wiPlxuICAgICAgICAgICAgICAgICAgICA8cGVwLW11bHRpLXNlbGVjdC1maWx0ZXIgZnhGbGV4PVwiYXV0b1wiIFtzaG93QWN0aW9uQnV0dG9uc109XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbdmFyaWFibGVGaWVsZF09XCJ2YXJpYWJsZUZpZWxkcz8udGV4dFwiIFtmaWVsZF09XCJfc2VsZWN0ZWRGaWVsZFwiIFtmaWx0ZXJdPVwiX2ZpbHRlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbcGFyZW50Rm9ybV09XCJmLnNtYXJ0XCIgW2VtaXRPbkNoYW5nZV09XCJ0cnVlXCIgW2lubGluZV09XCJ0cnVlXCIgW3JlbmRlclRpdGxlXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChmaWx0ZXJDaGFuZ2UpPVwib25GaWx0ZXJDaGFuZ2VkKClcIj5cbiAgICAgICAgICAgICAgICAgICAgPC9wZXAtbXVsdGktc2VsZWN0LWZpbHRlcj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInbnVtYmVyJ1wiPlxuICAgICAgICAgICAgICAgICAgICA8cGVwLW51bWJlci1maWx0ZXIgZnhGbGV4PVwiYXV0b1wiIFtzaG93QWN0aW9uQnV0dG9uc109XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbdmFyaWFibGVGaWVsZF09XCJ2YXJpYWJsZUZpZWxkcz8ubnVtYmVyXCIgW2ZpZWxkXT1cIl9zZWxlY3RlZEZpZWxkXCIgW2ZpbHRlcl09XCJfZmlsdGVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtwYXJlbnRGb3JtXT1cImYuc21hcnRcIiBbZW1pdE9uQ2hhbmdlXT1cInRydWVcIiBbaW5saW5lXT1cInRydWVcIiBbcmVuZGVyVGl0bGVdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGZpbHRlckNoYW5nZSk9XCJvbkZpbHRlckNoYW5nZWQoKVwiPlxuICAgICAgICAgICAgICAgICAgICA8L3BlcC1udW1iZXItZmlsdGVyPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8cGVwLWJ1dHRvbiBzdHlsZVR5cGU9XCJ3ZWFrXCIgc3R5bGVTdGF0ZVR5cGU9XCJzeXN0ZW1cIiBzaXplVHlwZT1cIm1kXCIgY2xhc3NOYW1lcz1cIlwiIFtkaXNhYmxlZF09XCJmYWxzZVwiXG4gICAgICAgICAgICBpY29uTmFtZT1cInN5c3RlbV9iaW5cIiBpY29uUG9zaXRpb249XCJlbmRcIiBbdmlzaWJsZV09XCJ0cnVlXCIgKGJ1dHRvbkNsaWNrKT1cIm9uRGVsZXRlSXRlbUNsaWNrZWQoKVwiPlxuICAgICAgICA8L3BlcC1idXR0b24+XG4gICAgPC9kaXY+XG48L2Rpdj4iXX0=
|
|
@@ -45,11 +45,11 @@ export class PepQueryBuilderSectionComponent {
|
|
|
45
45
|
this.remove.emit();
|
|
46
46
|
}
|
|
47
47
|
}
|
|
48
|
-
PepQueryBuilderSectionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
49
|
-
PepQueryBuilderSectionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
50
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
48
|
+
PepQueryBuilderSectionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PepQueryBuilderSectionComponent, deps: [{ token: i1.PepTypeConvertorService }], target: i0.ɵɵFactoryTarget.Component });
|
|
49
|
+
PepQueryBuilderSectionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", 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"] }] });
|
|
50
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PepQueryBuilderSectionComponent, decorators: [{
|
|
51
51
|
type: Component,
|
|
52
|
-
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=\"
|
|
52
|
+
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"] }]
|
|
53
53
|
}], ctorParameters: function () { return [{ type: i1.PepTypeConvertorService }]; }, propDecorators: { form: [{
|
|
54
54
|
type: Input
|
|
55
55
|
}], depth: [{
|
|
@@ -68,4 +68,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
|
|
|
68
68
|
type: ViewChild,
|
|
69
69
|
args: ['sectionContainer', { read: ViewContainerRef, static: true }]
|
|
70
70
|
}] } });
|
|
71
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktYnVpbGRlci1zZWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWIvcXVlcnktYnVpbGRlci9xdWVyeS1idWlsZGVyLXNlY3Rpb24vcXVlcnktYnVpbGRlci1zZWN0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWIvcXVlcnktYnVpbGRlci9xdWVyeS1idWlsZGVyLXNlY3Rpb24vcXVlcnktYnVpbGRlci1zZWN0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULGdCQUFnQixFQUNuQixNQUFNLGVBQWUsQ0FBQzs7Ozs7OztBQWV2QixNQUFNLE9BQU8sK0JBQStCO0lBa0J4QyxZQUFvQixxQkFBOEM7UUFBOUMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF5QjtRQWZ6RCxjQUFTLEdBQUcsSUFBSSxDQUFDO1FBRzFCLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUVuQyxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUVoQyxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUU1QixtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFPcEMsQ0FBQztJQUVELFFBQVE7UUFDSixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELElBQUksQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDOUIsQ0FBQztJQUVELGFBQWE7UUFDVCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBb0IsRUFBRSxFQUFFO1lBQ25GLE9BQU87Z0JBQ0gsR0FBRyxFQUFFLFFBQVEsQ0FBQyxHQUFHO2dCQUNqQixLQUFLLEVBQUUsUUFBUSxDQUFDLEtBQUs7Z0JBQ3JCLFFBQVEsRUFBRSxDQUFDLEtBQTJCLEVBQUUsRUFBRSxDQUN0QyxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDO2FBQ3ZCLENBQUE7UUFDbEIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsaUJBQWlCLENBQUMsS0FBSztRQUNuQixJQUFJLEtBQUssRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFO1lBQ3BCLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzNDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDOUI7SUFDTCxDQUFDO0lBRUQsZ0JBQWdCO1FBQ1osSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsbUJBQW1CO1FBQ2YsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRUQsc0JBQXNCO1FBQ2xCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdkIsQ0FBQzs7NkhBekRRLCtCQUErQjtpSEFBL0IsK0JBQStCLCtWQWNELGdCQUFnQiwyQ0NwQzNELHNuREF1Qk07NEZERE8sK0JBQStCO2tCQUwzQyxTQUFTOytCQUNJLDJCQUEyQjs4R0FLNUIsSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUdOLGFBQWE7c0JBRFosTUFBTTtnQkFHUCxVQUFVO3NCQURULE1BQU07Z0JBR1AsTUFBTTtzQkFETCxNQUFNO2dCQUdQLGNBQWM7c0JBRGIsTUFBTTtnQkFHa0UsZ0JBQWdCO3NCQUF4RixTQUFTO3VCQUFDLGtCQUFrQixFQUFFLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3Q29udGFpbmVyUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgICBJUGVwQnV0dG9uQ2xpY2tFdmVudCxcbiAgICBQZXBCdXR0b24sXG59IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliL2J1dHRvbic7XG5pbXBvcnQgeyBJUGVwT3B0aW9uIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWInO1xuaW1wb3J0IHsgUGVwVHlwZUNvbnZlcnRvclNlcnZpY2UgfSBmcm9tICcuLi9jb21tb24vc2VydmljZXMvdHlwZS1jb252ZXJ0b3Iuc2VydmljZSc7XG5pbXBvcnQgeyBJUGVwUXVlcnlEZXB0aCB9IGZyb20gJy4uL2NvbW1vbi9tb2RlbC9zdHJ1Y3R1cmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3BlcC1xdWVyeS1idWlsZGVyLXNlY3Rpb24nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9xdWVyeS1idWlsZGVyLXNlY3Rpb24uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3F1ZXJ5LWJ1aWxkZXItc2VjdGlvbi5jb21wb25lbnQuc2NzcycsICcuL3F1ZXJ5LWJ1aWxkZXItc2VjdGlvbi5jb21wb25lbnQudGhlbWUuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBQZXBRdWVyeUJ1aWxkZXJTZWN0aW9uQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKSBmb3JtOiBGb3JtR3JvdXA7XG4gICAgQElucHV0KCkgZGVwdGg6IElQZXBRdWVyeURlcHRoO1xuICAgIEBJbnB1dCgpIGhhc0ZpZWxkcyA9IHRydWU7XG5cbiAgICBAT3V0cHV0KClcbiAgICBjcmVhdGVTZWN0aW9uID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIEBPdXRwdXQoKVxuICAgIGNyZWF0ZUl0ZW0gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgQE91dHB1dCgpXG4gICAgcmVtb3ZlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIEBPdXRwdXQoKVxuICAgIG9wZXJhdG9yQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgQFZpZXdDaGlsZCgnc2VjdGlvbkNvbnRhaW5lcicsIHsgcmVhZDogVmlld0NvbnRhaW5lclJlZiwgc3RhdGljOiB0cnVlIH0pIHNlY3Rpb25Db250YWluZXI6IFZpZXdDb250YWluZXJSZWY7XG5cbiAgICB0b2dnbGVCdXR0b25zOiBBcnJheTxQZXBCdXR0b24+O1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfdHlwZUNvbnZlcnRvclNlcnZpY2U6IFBlcFR5cGVDb252ZXJ0b3JTZXJ2aWNlKSB7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuaW5pdE9wZXJhdG9ycygpO1xuICAgIH1cblxuICAgIGdldCBmKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5mb3JtLmNvbnRyb2xzO1xuICAgIH1cblxuICAgIGluaXRPcGVyYXRvcnMoKSB7XG4gICAgICAgIHRoaXMudG9nZ2xlQnV0dG9ucyA9IHRoaXMuX3R5cGVDb252ZXJ0b3JTZXJ2aWNlLm9wZXJhdG9ycy5tYXAoKG9wZXJhdG9yOiBJUGVwT3B0aW9uKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGtleTogb3BlcmF0b3Iua2V5LFxuICAgICAgICAgICAgICAgIHZhbHVlOiBvcGVyYXRvci52YWx1ZSxcbiAgICAgICAgICAgICAgICBjYWxsYmFjazogKGV2ZW50OiBJUGVwQnV0dG9uQ2xpY2tFdmVudCkgPT5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vbk9wZXJhdG9yQ2hhbmdlZChldmVudClcbiAgICAgICAgICAgIH0gYXMgUGVwQnV0dG9uXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG9uT3BlcmF0b3JDaGFuZ2VkKGV2ZW50KSB7XG4gICAgICAgIGlmIChldmVudD8uc291cmNlPy5rZXkpIHtcbiAgICAgICAgICAgIHRoaXMuZi5vcGVyYXRvci5zZXRWYWx1ZShldmVudC5zb3VyY2Uua2V5KTtcbiAgICAgICAgICAgIHRoaXMub3BlcmF0b3JDaGFuZ2UuZW1pdCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25BZGRSdWxlQ2xpY2tlZCgpIHtcbiAgICAgICAgdGhpcy5jcmVhdGVJdGVtLmVtaXQoKTtcbiAgICB9XG5cbiAgICBvbkFkZFJ1bGVTZXRDbGlja2VkKCkge1xuICAgICAgICB0aGlzLmNyZWF0ZVNlY3Rpb24uZW1pdCgpO1xuICAgIH1cblxuICAgIG9uRGVsZXRlU2VjdGlvbkNsaWNrZWQoKSB7XG4gICAgICAgIHRoaXMucmVtb3ZlLmVtaXQoKTtcbiAgICB9XG5cblxufVxuIiwiPGRpdiBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0R2FwPVwiLjVyZW1cIj5cbiAgICA8ZGl2IGNsYXNzPVwicXVlcnktc2VjdGlvbi1jb250YWluZXJcIiBmeExheW91dD1cImNvbHVtblwiIGZ4TGF5b3V0R2FwPVwiLjVyZW1cIj5cbiAgICAgICAgPGRpdiBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0QWxpZ249XCJzcGFjZS1iZXR3ZWVuXCI+XG4gICAgICAgICAgICA8cGVwLWdyb3VwLWJ1dHRvbnMgW2J1dHRvbnNdPVwidG9nZ2xlQnV0dG9uc1wiIFtzZWxlY3RlZEJ1dHRvbktleV09XCJmLm9wZXJhdG9yPy52YWx1ZSB8fCAnJ1wiIHN0eWxlVHlwZT1cIndlYWtcIlxuICAgICAgICAgICAgICAgIHNpemVUeXBlPVwic21cIiBbdmlld1R5cGVdPVwiJ3RvZ2dsZSdcIiBbYnV0dG9uc0Rpc2FibGVkXT1cIiFoYXNGaWVsZHNcIj5cbiAgICAgICAgICAgIDwvcGVwLWdyb3VwLWJ1dHRvbnM+XG4gICAgICAgICAgICA8ZGl2IGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRHYXA9XCIuNXJlbVwiPlxuICAgICAgICAgICAgICAgIDxwZXAtYnV0dG9uIHZhbHVlPVwiQWRkIEZpbHRlclwiIHN0eWxlVHlwZT1cIndlYWtcIiBzdHlsZVN0YXRlVHlwZT1cInN5c3RlbVwiIHNpemVUeXBlPVwic21cIiBjbGFzc05hbWVzPVwiXCJcbiAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFoYXNGaWVsZHNcIiBpY29uTmFtZT1cIm51bWJlcl9wbHVzXCIgaWNvblBvc2l0aW9uPVwiZW5kXCIgW3Zpc2libGVdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgIChidXR0b25DbGljayk9XCJvbkFkZFJ1bGVDbGlja2VkKClcIj48L3BlcC1idXR0b24+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRlcHRoLmN1cnJlbnQgPCBkZXB0aC5tYXgtMVwiPlxuICAgICAgICAgICAgICAgICAgICA8cGVwLWJ1dHRvbiB2YWx1ZT1cIkFkZCBGaWx0ZXIgR3JvdXBcIiBzdHlsZVR5cGU9XCJ3ZWFrXCIgc3R5bGVTdGF0ZVR5cGU9XCJzeXN0ZW1cIiBzaXplVHlwZT1cInNtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZXM9XCJcIiBbZGlzYWJsZWRdPVwiIWhhc0ZpZWxkc1wiIGljb25OYW1lPVwibnVtYmVyX3BsdXNcIiBpY29uUG9zaXRpb249XCJlbmRcIiBbdmlzaWJsZV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChidXR0b25DbGljayk9XCJvbkFkZFJ1bGVTZXRDbGlja2VkKClcIj48L3BlcC1idXR0b24+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxuZy1jb250YWluZXIgI3NlY3Rpb25Db250YWluZXI+PC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gICAgPHBlcC1idXR0b24gKm5nSWY9XCJkZXB0aC5jdXJyZW50ID4gMFwiIHN0eWxlVHlwZT1cIndlYWtcIiBzdHlsZVN0YXRlVHlwZT1cInN5c3RlbVwiIHNpemVUeXBlPVwibWRcIiBjbGFzc05hbWVzPVwiXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImZhbHNlXCIgaWNvbk5hbWU9XCJzeXN0ZW1fYmluXCIgaWNvblBvc2l0aW9uPVwiZW5kXCIgW3Zpc2libGVdPVwidHJ1ZVwiXG4gICAgICAgIChidXR0b25DbGljayk9XCJvbkRlbGV0ZVNlY3Rpb25DbGlja2VkKClcIj5cbiAgICA8L3BlcC1idXR0b24+XG48L2Rpdj4iXX0=
|