ngx-register-base 1.3.1 → 1.3.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/esm2022/lib/components/checkbox-selector/checkbox-selector.component.mjs +129 -0
- package/esm2022/lib/components/checkbox-selector/checkbox-selector.types.mjs +8 -0
- package/esm2022/lib/components/column-settings/column-settings.component.mjs +249 -0
- package/esm2022/lib/components/column-settings/components/column-settings-template/column-settings-template.component.mjs +80 -0
- package/esm2022/lib/components/column-settings/consts/column-settings.consts.mjs +10 -0
- package/esm2022/lib/components/column-settings/index.mjs +3 -0
- package/esm2022/lib/components/column-settings/types/column-settings.types.mjs +7 -0
- package/esm2022/lib/components/divider/divider.component.mjs +16 -0
- package/esm2022/lib/components/filter-button/filter-button.component.mjs +19 -0
- package/esm2022/lib/components/filters/components/filter-list/filter-edit/filter-edit.component.mjs +31 -0
- package/esm2022/lib/components/filters/components/filter-list/filter-list-footer/filter-list-footer.component.mjs +57 -0
- package/esm2022/lib/components/filters/components/filter-list/filter-list-header/filter-list-header.component.mjs +110 -0
- package/esm2022/lib/components/filters/components/filter-list/filter-list-saved/filter-list-saved.component.mjs +130 -0
- package/esm2022/lib/components/filters/components/filter-list/filter-list.service.mjs +89 -0
- package/esm2022/lib/components/filters/components/filter-list/filters-section/filters-section.component.mjs +41 -0
- package/esm2022/lib/components/filters/components/filter-list.module.mjs +45 -0
- package/esm2022/lib/components/filters/index.mjs +3 -0
- package/esm2022/lib/components/filters/register-table-filter.component.mjs +155 -0
- package/esm2022/lib/components/filters/register-table-filter.module.mjs +39 -0
- package/esm2022/lib/components/index.mjs +11 -0
- package/esm2022/lib/components/inputs/index.mjs +20 -0
- package/esm2022/lib/components/inputs/inputs.module.mjs +166 -0
- package/esm2022/lib/components/inputs/param-calendar-year/param-calendar-year.component.mjs +45 -0
- package/esm2022/lib/components/inputs/param-custom/param-custom.component.mjs +12 -0
- package/esm2022/lib/components/inputs/param-date/param-date.component.mjs +76 -0
- package/esm2022/lib/components/inputs/param-date-range/param-date-range.component.mjs +60 -0
- package/esm2022/lib/components/inputs/param-date-time/param-date-time.component.mjs +86 -0
- package/esm2022/lib/components/inputs/param-date-time-range/param-date-time-range.component.mjs +95 -0
- package/esm2022/lib/components/inputs/param-month/param-month.component.mjs +50 -0
- package/esm2022/lib/components/inputs/param-month-range/param-month-range.component.mjs +62 -0
- package/esm2022/lib/components/inputs/param-multi-select/param-multi-select.component.mjs +309 -0
- package/esm2022/lib/components/inputs/param-select/param-select.component.mjs +225 -0
- package/esm2022/lib/components/inputs/param-switcher/param-switcher.component.mjs +21 -0
- package/esm2022/lib/components/inputs/param-switcher-date-time-range/consts/param-switcher-date-time-range.consts.mjs +28 -0
- package/esm2022/lib/components/inputs/param-switcher-date-time-range/index.mjs +3 -0
- package/esm2022/lib/components/inputs/param-switcher-date-time-range/param-switcher-date-time-range.component.mjs +105 -0
- package/esm2022/lib/components/inputs/param-switcher-date-time-range/types/param-switcher-date-time-range.types.mjs +10 -0
- package/esm2022/lib/components/inputs/param-text/param-text.component.mjs +40 -0
- package/esm2022/lib/components/inputs/param-textarea/param-textarea.component.mjs +38 -0
- package/esm2022/lib/components/inputs/param-toggle/param-toggle.component.mjs +20 -0
- package/esm2022/lib/components/inputs/param-tree/consts/param-tree.consts.mjs +37 -0
- package/esm2022/lib/components/inputs/param-tree/index.mjs +8 -0
- package/esm2022/lib/components/inputs/param-tree/param-tree.component.mjs +207 -0
- package/esm2022/lib/components/inputs/param-tree/services/param-tree.service.mjs +116 -0
- package/esm2022/lib/components/inputs/param-tree/services/sync-tree-loader.service.mjs +20 -0
- package/esm2022/lib/components/inputs/param-tree/tokens/param-tree.tokens.mjs +3 -0
- package/esm2022/lib/components/inputs/param-tree/types/param-tree.types.mjs +2 -0
- package/esm2022/lib/components/inputs/param-tree/utils/param-tree.utils.mjs +9 -0
- package/esm2022/lib/components/inputs/param-tree-multi-select/param-tree-multi-select.component.mjs +80 -0
- package/esm2022/lib/components/inputs/param-tree-select/param-tree-select.component.mjs +85 -0
- package/esm2022/lib/components/inputs/sub-components/param-delete-content-icon/param-delete-content-btn.component.mjs +15 -0
- package/esm2022/lib/components/inputs/sub-components/param-invalid-icon/param-invalid-icon.component.mjs +12 -0
- package/esm2022/lib/components/menu-constructor/index.mjs +5 -0
- package/esm2022/lib/components/menu-constructor/sproc-menu-constructor.component.mjs +559 -0
- package/esm2022/lib/components/menu-constructor/store/sproc-abstract-menu-constructor.store.mjs +3 -0
- package/esm2022/lib/components/menu-constructor/store/sproc-menu-constructor.consts.mjs +5 -0
- package/esm2022/lib/components/menu-constructor/store/sproc-menu.tokens.mjs +3 -0
- package/esm2022/lib/components/page-menu/index.mjs +6 -0
- package/esm2022/lib/components/page-menu/schema/sproc-page-menu.consts.mjs +9 -0
- package/esm2022/lib/components/page-menu/schema/sproc-page-menu.schema.mjs +2 -0
- package/esm2022/lib/components/page-menu/schema/sproc-page-menu.tokens.mjs +4 -0
- package/esm2022/lib/components/page-menu/schema/sproc-page-menu.types.mjs +3 -0
- package/esm2022/lib/components/page-menu/sproc-page-menu.component.mjs +275 -0
- package/esm2022/lib/components/paginator/paginator.component.mjs +159 -0
- package/esm2022/lib/components/paginator/types/paginator.types.mjs +2 -0
- package/esm2022/lib/components/register-table/consts/register-table.consts.mjs +4 -0
- package/esm2022/lib/components/register-table/directives/cell-template.directive.mjs +19 -0
- package/esm2022/lib/components/register-table/directives/header-template.directive.mjs +18 -0
- package/esm2022/lib/components/register-table/index.mjs +4 -0
- package/esm2022/lib/components/register-table/model/schema.mjs +10 -0
- package/esm2022/lib/components/register-table/pipes/class-by-type.pipe.mjs +33 -0
- package/esm2022/lib/components/register-table/pipes/sticky-column.pipe.mjs +17 -0
- package/esm2022/lib/components/register-table/register-table.component.mjs +544 -0
- package/esm2022/lib/components/reset-settings-form/reset-settings-form.component.mjs +18 -0
- package/esm2022/lib/components/search-input/search-input.component.mjs +28 -0
- package/esm2022/lib/components/sliding-panel/sliding-panel.component.mjs +48 -0
- package/esm2022/lib/components/sliding-panel/sliding-panel.module.mjs +19 -0
- package/esm2022/lib/consts/date-time.consts.mjs +2 -0
- package/esm2022/lib/consts/index.mjs +4 -0
- package/esm2022/lib/consts/inputs.consts.mjs +4 -0
- package/esm2022/lib/consts/month.consts.mjs +77 -0
- package/esm2022/lib/consts/params.consts.mjs +2 -0
- package/esm2022/lib/consts/register-base.consts.mjs +26 -0
- package/esm2022/lib/core/form-group-wrapper/errors-consts.mjs +8 -0
- package/esm2022/lib/core/form-group-wrapper/form-group-wrapper.mjs +81 -0
- package/esm2022/lib/core/form-group-wrapper/index.mjs +2 -0
- package/esm2022/lib/core/index.mjs +5 -0
- package/esm2022/lib/core/input-control/index.mjs +2 -0
- package/esm2022/lib/core/input-control/input-control.mjs +11 -0
- package/esm2022/lib/core/param/index.mjs +6 -0
- package/esm2022/lib/core/param/param-base.mjs +215 -0
- package/esm2022/lib/core/param/param-date-base.mjs +26 -0
- package/esm2022/lib/core/param/param-select-base.mjs +114 -0
- package/esm2022/lib/core/param/param-text-base.mjs +25 -0
- package/esm2022/lib/core/param/param.tokens.mjs +4 -0
- package/esm2022/lib/core/register-base/index.mjs +3 -0
- package/esm2022/lib/core/register-base/register-base.mjs +575 -0
- package/esm2022/lib/core/register-base/register-base.store.mjs +43 -0
- package/esm2022/lib/directives/date/date-time.types.mjs +34 -0
- package/esm2022/lib/directives/date/format-date.pipe.mjs +33 -0
- package/esm2022/lib/directives/index.mjs +3 -0
- package/esm2022/lib/directives/number/number-only.directive.mjs +41 -0
- package/esm2022/lib/directives/sticky/index.mjs +3 -0
- package/esm2022/lib/directives/sticky/sticky-relative.directive.mjs +32 -0
- package/esm2022/lib/directives/sticky/sticky-relative.service.mjs +32 -0
- package/esm2022/lib/directives/sticky/sticky.directive.mjs +169 -0
- package/esm2022/lib/services/date-time.service.mjs +314 -0
- package/esm2022/lib/services/dialog/dialog.service.mjs +53 -0
- package/esm2022/lib/services/dialog/dialog.types.mjs +2 -0
- package/esm2022/lib/services/dialog/index.mjs +3 -0
- package/esm2022/lib/services/dom-intersection.service.mjs +22 -0
- package/esm2022/lib/services/filter/filters-state.service.mjs +65 -0
- package/esm2022/lib/services/filter/filters-transmit.service.mjs +82 -0
- package/esm2022/lib/services/filter/filters.service.mjs +23 -0
- package/esm2022/lib/services/index.mjs +8 -0
- package/esm2022/lib/services/inputs-state.service.mjs +130 -0
- package/esm2022/lib/services/inputs.service.mjs +88 -0
- package/esm2022/lib/services/key-pressed.service.mjs +37 -0
- package/esm2022/lib/services/resize-window-observer.service.mjs +33 -0
- package/esm2022/lib/services/selected-objects-state.service.mjs +123 -0
- package/esm2022/lib/store/fast-query-store.service.mjs +110 -0
- package/esm2022/lib/store/index.mjs +2 -0
- package/esm2022/lib/types/event.types.mjs +2 -0
- package/esm2022/lib/types/hasura.types.mjs +2 -0
- package/esm2022/lib/types/index.mjs +7 -0
- package/esm2022/lib/types/inputs.types.mjs +19 -0
- package/esm2022/lib/types/params.types.mjs +2 -0
- package/esm2022/lib/types/register-base.types.mjs +6 -0
- package/esm2022/lib/types/sub-types.mjs +2 -0
- package/esm2022/lib/types/user-profile.types.mjs +2 -0
- package/esm2022/lib/utils/functions.mjs +10 -0
- package/esm2022/lib/utils/get-url-segment.mjs +35 -0
- package/esm2022/lib/utils/index.mjs +5 -0
- package/esm2022/lib/utils/prizm.shared.module.mjs +284 -0
- package/esm2022/lib/utils/rxjs.mjs +28 -0
- package/esm2022/lib/utils/select-all-utils.mjs +11 -0
- package/esm2022/ngx-register-base.mjs +5 -0
- package/esm2022/public-api.mjs +9 -0
- package/fesm2022/ngx-register-base.mjs +7479 -0
- package/fesm2022/ngx-register-base.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/components/checkbox-selector/checkbox-selector.component.d.ts +33 -0
- package/lib/components/checkbox-selector/checkbox-selector.types.d.ts +7 -0
- package/lib/components/column-settings/column-settings.component.d.ts +80 -0
- package/lib/components/column-settings/components/column-settings-template/column-settings-template.component.d.ts +24 -0
- package/lib/components/column-settings/consts/column-settings.consts.d.ts +8 -0
- package/lib/components/column-settings/types/column-settings.types.d.ts +22 -0
- package/lib/components/divider/divider.component.d.ts +6 -0
- package/lib/components/filter-button/filter-button.component.d.ts +8 -0
- package/lib/components/filters/components/filter-list/filter-edit/filter-edit.component.d.ts +14 -0
- package/lib/components/filters/components/filter-list/filter-list-footer/filter-list-footer.component.d.ts +25 -0
- package/lib/components/filters/components/filter-list/filter-list-header/filter-list-header.component.d.ts +39 -0
- package/lib/components/filters/components/filter-list/filter-list-saved/filter-list-saved.component.d.ts +41 -0
- package/lib/components/filters/components/filter-list/filter-list.service.d.ts +20 -0
- package/lib/components/filters/components/filter-list/filters-section/filters-section.component.d.ts +15 -0
- package/lib/components/filters/components/filter-list.module.d.ts +15 -0
- package/lib/components/filters/register-table-filter.component.d.ts +40 -0
- package/lib/components/filters/register-table-filter.module.d.ts +13 -0
- package/lib/components/inputs/inputs.module.d.ts +31 -0
- package/lib/components/inputs/param-calendar-year/param-calendar-year.component.d.ts +19 -0
- package/lib/components/inputs/param-custom/param-custom.component.d.ts +6 -0
- package/lib/components/inputs/param-date/param-date.component.d.ts +20 -0
- package/lib/components/inputs/param-date-range/param-date-range.component.d.ts +26 -0
- package/lib/components/inputs/param-date-time/param-date-time.component.d.ts +25 -0
- package/lib/components/inputs/param-date-time-range/param-date-time-range.component.d.ts +28 -0
- package/lib/components/inputs/param-month/param-month.component.d.ts +18 -0
- package/lib/components/inputs/param-month-range/param-month-range.component.d.ts +21 -0
- package/lib/components/inputs/param-multi-select/param-multi-select.component.d.ts +46 -0
- package/lib/components/inputs/param-select/param-select.component.d.ts +34 -0
- package/lib/components/inputs/param-switcher/param-switcher.component.d.ts +8 -0
- package/lib/components/inputs/param-switcher-date-time-range/consts/param-switcher-date-time-range.consts.d.ts +2 -0
- package/lib/components/inputs/param-switcher-date-time-range/param-switcher-date-time-range.component.d.ts +19 -0
- package/lib/components/inputs/param-switcher-date-time-range/types/param-switcher-date-time-range.types.d.ts +8 -0
- package/lib/components/inputs/param-text/param-text.component.d.ts +10 -0
- package/lib/components/inputs/param-textarea/param-textarea.component.d.ts +10 -0
- package/lib/components/inputs/param-toggle/param-toggle.component.d.ts +9 -0
- package/lib/components/inputs/param-tree/consts/param-tree.consts.d.ts +7 -0
- package/lib/components/inputs/param-tree/param-tree.component.d.ts +41 -0
- package/lib/components/inputs/param-tree/services/param-tree.service.d.ts +37 -0
- package/lib/components/inputs/param-tree/services/sync-tree-loader.service.d.ts +10 -0
- package/{src/lib/components/inputs/param-tree/tokens/param-tree.tokens.ts → lib/components/inputs/param-tree/tokens/param-tree.tokens.d.ts} +1 -2
- package/lib/components/inputs/param-tree/types/param-tree.types.d.ts +32 -0
- package/lib/components/inputs/param-tree/utils/param-tree.utils.d.ts +7 -0
- package/lib/components/inputs/param-tree-multi-select/param-tree-multi-select.component.d.ts +31 -0
- package/lib/components/inputs/param-tree-select/param-tree-select.component.d.ts +30 -0
- package/lib/components/inputs/sub-components/param-delete-content-icon/param-delete-content-btn.component.d.ts +6 -0
- package/lib/components/inputs/sub-components/param-invalid-icon/param-invalid-icon.component.d.ts +5 -0
- package/lib/components/menu-constructor/sproc-menu-constructor.component.d.ts +113 -0
- package/lib/components/menu-constructor/store/sproc-abstract-menu-constructor.store.d.ts +24 -0
- package/lib/components/menu-constructor/store/sproc-menu-constructor.consts.d.ts +36 -0
- package/{src/lib/components/menu-constructor/store/sproc-menu.tokens.ts → lib/components/menu-constructor/store/sproc-menu.tokens.d.ts} +1 -4
- package/lib/components/page-menu/schema/sproc-page-menu.consts.d.ts +7 -0
- package/lib/components/page-menu/schema/sproc-page-menu.schema.d.ts +30 -0
- package/lib/components/page-menu/schema/sproc-page-menu.tokens.d.ts +3 -0
- package/lib/components/page-menu/schema/sproc-page-menu.types.d.ts +36 -0
- package/lib/components/page-menu/sproc-page-menu.component.d.ts +48 -0
- package/lib/components/paginator/paginator.component.d.ts +52 -0
- package/lib/components/paginator/types/paginator.types.d.ts +15 -0
- package/lib/components/register-table/consts/register-table.consts.d.ts +3 -0
- package/lib/components/register-table/directives/cell-template.directive.d.ts +9 -0
- package/lib/components/register-table/directives/header-template.directive.d.ts +9 -0
- package/lib/components/register-table/model/schema.d.ts +52 -0
- package/lib/components/register-table/pipes/class-by-type.pipe.d.ts +8 -0
- package/lib/components/register-table/pipes/sticky-column.pipe.d.ts +7 -0
- package/lib/components/register-table/register-table.component.d.ts +165 -0
- package/lib/components/reset-settings-form/reset-settings-form.component.d.ts +9 -0
- package/lib/components/search-input/search-input.component.d.ts +11 -0
- package/lib/components/sliding-panel/sliding-panel.component.d.ts +14 -0
- package/lib/components/sliding-panel/sliding-panel.module.d.ts +9 -0
- package/lib/consts/date-time.consts.d.ts +1 -0
- package/lib/consts/index.d.ts +3 -0
- package/lib/consts/inputs.consts.d.ts +4 -0
- package/lib/consts/month.consts.d.ts +49 -0
- package/lib/consts/params.consts.d.ts +1 -0
- package/lib/consts/register-base.consts.d.ts +19 -0
- package/lib/core/form-group-wrapper/errors-consts.d.ts +5 -0
- package/lib/core/form-group-wrapper/form-group-wrapper.d.ts +15 -0
- package/lib/core/input-control/input-control.d.ts +11 -0
- package/lib/core/param/param-base.d.ts +68 -0
- package/lib/core/param/param-date-base.d.ts +18 -0
- package/lib/core/param/param-select-base.d.ts +42 -0
- package/lib/core/param/param-text-base.d.ts +15 -0
- package/{src/lib/core/param/param.tokens.ts → lib/core/param/param.tokens.d.ts} +1 -2
- package/lib/core/register-base/register-base.d.ts +168 -0
- package/lib/core/register-base/register-base.store.d.ts +35 -0
- package/lib/directives/date/date-time.types.d.ts +32 -0
- package/lib/directives/date/format-date.pipe.d.ts +10 -0
- package/lib/directives/number/number-only.directive.d.ts +10 -0
- package/lib/directives/sticky/sticky-relative.directive.d.ts +13 -0
- package/lib/directives/sticky/sticky-relative.service.d.ts +15 -0
- package/lib/directives/sticky/sticky.directive.d.ts +27 -0
- package/lib/services/date-time.service.d.ts +80 -0
- package/lib/services/dialog/dialog.service.d.ts +22 -0
- package/{src/lib/services/dialog/dialog.types.ts → lib/services/dialog/dialog.types.d.ts} +4 -8
- package/lib/services/dom-intersection.service.d.ts +8 -0
- package/lib/services/filter/filters-state.service.d.ts +21 -0
- package/lib/services/filter/filters-transmit.service.d.ts +28 -0
- package/lib/services/filter/filters.service.d.ts +12 -0
- package/lib/services/inputs-state.service.d.ts +57 -0
- package/lib/services/inputs.service.d.ts +28 -0
- package/lib/services/key-pressed.service.d.ts +15 -0
- package/lib/services/resize-window-observer.service.d.ts +11 -0
- package/lib/services/selected-objects-state.service.d.ts +47 -0
- package/lib/store/fast-query-store.service.d.ts +19 -0
- package/{src/lib/types/event.types.ts → lib/types/event.types.d.ts} +1 -1
- package/lib/types/hasura.types.d.ts +35 -0
- package/lib/types/inputs.types.d.ts +41 -0
- package/lib/types/params.types.d.ts +27 -0
- package/lib/types/register-base.types.d.ts +123 -0
- package/lib/types/sub-types.d.ts +8 -0
- package/lib/types/user-profile.types.d.ts +17 -0
- package/lib/utils/functions.d.ts +3 -0
- package/lib/utils/get-url-segment.d.ts +7 -0
- package/lib/utils/prizm.shared.module.d.ts +14 -0
- package/lib/utils/rxjs.d.ts +10 -0
- package/lib/utils/select-all-utils.d.ts +8 -0
- package/package.json +15 -12
- package/schematics/ng-update/replace-menu-state-token/index.d.ts +2 -0
- package/schematics/ng-update/replace-menu-state-token/index.js +29 -0
- package/schematics/ng-update/replace-menu-state-token/index.js.map +1 -0
- package/schematics/ng-update/update-prefix/index.d.ts +2 -0
- package/schematics/ng-update/update-prefix/index.js +33 -0
- package/schematics/ng-update/update-prefix/index.js.map +1 -0
- package/schematics/utils/{utils.ts → utils.d.ts} +2 -9
- package/schematics/utils/utils.js +25 -0
- package/schematics/utils/utils.js.map +1 -0
- package/ng-package.json +0 -15
- package/schematics/ng-update/replace-menu-state-token/index.ts +0 -33
- package/schematics/ng-update/update-prefix/index.ts +0 -38
- package/src/lib/components/checkbox-selector/checkbox-selector.component.html +0 -91
- package/src/lib/components/checkbox-selector/checkbox-selector.component.less +0 -67
- package/src/lib/components/checkbox-selector/checkbox-selector.component.ts +0 -176
- package/src/lib/components/checkbox-selector/checkbox-selector.types.ts +0 -8
- package/src/lib/components/column-settings/column-settings.component.html +0 -160
- package/src/lib/components/column-settings/column-settings.component.less +0 -131
- package/src/lib/components/column-settings/column-settings.component.ts +0 -352
- package/src/lib/components/column-settings/components/column-settings-template/column-settings-template.component.html +0 -65
- package/src/lib/components/column-settings/components/column-settings-template/column-settings-template.component.less +0 -79
- package/src/lib/components/column-settings/components/column-settings-template/column-settings-template.component.ts +0 -114
- package/src/lib/components/column-settings/consts/column-settings.consts.ts +0 -9
- package/src/lib/components/column-settings/types/column-settings.types.ts +0 -26
- package/src/lib/components/divider/divider.component.html +0 -4
- package/src/lib/components/divider/divider.component.less +0 -10
- package/src/lib/components/divider/divider.component.ts +0 -12
- package/src/lib/components/filter-button/filter-button.component.html +0 -20
- package/src/lib/components/filter-button/filter-button.component.less +0 -41
- package/src/lib/components/filter-button/filter-button.component.ts +0 -18
- package/src/lib/components/filters/components/filter-list/filter-edit/filter-edit.component.html +0 -22
- package/src/lib/components/filters/components/filter-list/filter-edit/filter-edit.component.less +0 -23
- package/src/lib/components/filters/components/filter-list/filter-edit/filter-edit.component.ts +0 -31
- package/src/lib/components/filters/components/filter-list/filter-list-footer/filter-list-footer.component.html +0 -49
- package/src/lib/components/filters/components/filter-list/filter-list-footer/filter-list-footer.component.less +0 -37
- package/src/lib/components/filters/components/filter-list/filter-list-footer/filter-list-footer.component.ts +0 -66
- package/src/lib/components/filters/components/filter-list/filter-list-header/filter-list-header.component.html +0 -147
- package/src/lib/components/filters/components/filter-list/filter-list-header/filter-list-header.component.less +0 -45
- package/src/lib/components/filters/components/filter-list/filter-list-header/filter-list-header.component.ts +0 -114
- package/src/lib/components/filters/components/filter-list/filter-list-saved/filter-list-saved.component.html +0 -44
- package/src/lib/components/filters/components/filter-list/filter-list-saved/filter-list-saved.component.less +0 -49
- package/src/lib/components/filters/components/filter-list/filter-list-saved/filter-list-saved.component.ts +0 -167
- package/src/lib/components/filters/components/filter-list/filter-list.service.ts +0 -97
- package/src/lib/components/filters/components/filter-list/filters-section/filters-section.component.html +0 -18
- package/src/lib/components/filters/components/filter-list/filters-section/filters-section.component.less +0 -55
- package/src/lib/components/filters/components/filter-list/filters-section/filters-section.component.ts +0 -69
- package/src/lib/components/filters/components/filter-list.module.ts +0 -29
- package/src/lib/components/filters/register-table-filter.component.html +0 -53
- package/src/lib/components/filters/register-table-filter.component.less +0 -17
- package/src/lib/components/filters/register-table-filter.component.ts +0 -167
- package/src/lib/components/filters/register-table-filter.module.ts +0 -22
- package/src/lib/components/inputs/inputs.module.ts +0 -104
- package/src/lib/components/inputs/param-calendar-year/param-calendar-year.component.html +0 -49
- package/src/lib/components/inputs/param-calendar-year/param-calendar-year.component.less +0 -70
- package/src/lib/components/inputs/param-calendar-year/param-calendar-year.component.ts +0 -52
- package/src/lib/components/inputs/param-custom/param-custom.component.html +0 -1
- package/src/lib/components/inputs/param-custom/param-custom.component.ts +0 -9
- package/src/lib/components/inputs/param-date/param-date.component.html +0 -55
- package/src/lib/components/inputs/param-date/param-date.component.less +0 -67
- package/src/lib/components/inputs/param-date/param-date.component.ts +0 -77
- package/src/lib/components/inputs/param-date-range/param-date-range.component.html +0 -45
- package/src/lib/components/inputs/param-date-range/param-date-range.component.less +0 -75
- package/src/lib/components/inputs/param-date-range/param-date-range.component.ts +0 -67
- package/src/lib/components/inputs/param-date-time/param-date-time.component.html +0 -70
- package/src/lib/components/inputs/param-date-time/param-date-time.component.less +0 -72
- package/src/lib/components/inputs/param-date-time/param-date-time.component.ts +0 -101
- package/src/lib/components/inputs/param-date-time-range/param-date-time-range.component.html +0 -67
- package/src/lib/components/inputs/param-date-time-range/param-date-time-range.component.less +0 -103
- package/src/lib/components/inputs/param-date-time-range/param-date-time-range.component.ts +0 -128
- package/src/lib/components/inputs/param-month/param-month.component.html +0 -46
- package/src/lib/components/inputs/param-month/param-month.component.less +0 -72
- package/src/lib/components/inputs/param-month/param-month.component.ts +0 -55
- package/src/lib/components/inputs/param-month-range/param-month-range.component.html +0 -39
- package/src/lib/components/inputs/param-month-range/param-month-range.component.less +0 -71
- package/src/lib/components/inputs/param-month-range/param-month-range.component.ts +0 -76
- package/src/lib/components/inputs/param-multi-select/param-multi-select.component.html +0 -84
- package/src/lib/components/inputs/param-multi-select/param-multi-select.component.less +0 -108
- package/src/lib/components/inputs/param-multi-select/param-multi-select.component.ts +0 -448
- package/src/lib/components/inputs/param-select/param-select.component.html +0 -106
- package/src/lib/components/inputs/param-select/param-select.component.less +0 -26
- package/src/lib/components/inputs/param-select/param-select.component.ts +0 -318
- package/src/lib/components/inputs/param-switcher/param-switcher.component.html +0 -8
- package/src/lib/components/inputs/param-switcher/param-switcher.component.less +0 -53
- package/src/lib/components/inputs/param-switcher/param-switcher.component.ts +0 -13
- package/src/lib/components/inputs/param-switcher-date-time-range/consts/param-switcher-date-time-range.consts.ts +0 -29
- package/src/lib/components/inputs/param-switcher-date-time-range/param-switcher-date-time-range.component.html +0 -19
- package/src/lib/components/inputs/param-switcher-date-time-range/param-switcher-date-time-range.component.less +0 -76
- package/src/lib/components/inputs/param-switcher-date-time-range/param-switcher-date-time-range.component.ts +0 -134
- package/src/lib/components/inputs/param-switcher-date-time-range/types/param-switcher-date-time-range.types.ts +0 -8
- package/src/lib/components/inputs/param-text/param-text.component.html +0 -59
- package/src/lib/components/inputs/param-text/param-text.component.less +0 -33
- package/src/lib/components/inputs/param-text/param-text.component.ts +0 -36
- package/src/lib/components/inputs/param-textarea/param-textarea.component.html +0 -61
- package/src/lib/components/inputs/param-textarea/param-textarea.component.less +0 -21
- package/src/lib/components/inputs/param-textarea/param-textarea.component.ts +0 -33
- package/src/lib/components/inputs/param-toggle/param-toggle.component.html +0 -40
- package/src/lib/components/inputs/param-toggle/param-toggle.component.less +0 -69
- package/src/lib/components/inputs/param-toggle/param-toggle.component.ts +0 -14
- package/src/lib/components/inputs/param-tree/consts/param-tree.consts.ts +0 -59
- package/src/lib/components/inputs/param-tree/param-tree.component.html +0 -51
- package/src/lib/components/inputs/param-tree/param-tree.component.less +0 -3
- package/src/lib/components/inputs/param-tree/param-tree.component.ts +0 -282
- package/src/lib/components/inputs/param-tree/services/param-tree.service.ts +0 -176
- package/src/lib/components/inputs/param-tree/services/sync-tree-loader.service.ts +0 -18
- package/src/lib/components/inputs/param-tree/types/param-tree.types.ts +0 -39
- package/src/lib/components/inputs/param-tree/utils/param-tree.utils.ts +0 -18
- package/src/lib/components/inputs/param-tree-multi-select/param-tree-multi-select.component.html +0 -78
- package/src/lib/components/inputs/param-tree-multi-select/param-tree-multi-select.component.less +0 -109
- package/src/lib/components/inputs/param-tree-multi-select/param-tree-multi-select.component.ts +0 -89
- package/src/lib/components/inputs/param-tree-select/param-tree-select.component.html +0 -54
- package/src/lib/components/inputs/param-tree-select/param-tree-select.component.less +0 -56
- package/src/lib/components/inputs/param-tree-select/param-tree-select.component.ts +0 -91
- package/src/lib/components/inputs/sub-components/param-delete-content-icon/param-delete-content-btn.component.html +0 -5
- package/src/lib/components/inputs/sub-components/param-delete-content-icon/param-delete-content-btn.component.ts +0 -13
- package/src/lib/components/inputs/sub-components/param-invalid-icon/param-invalid-icon.component.html +0 -4
- package/src/lib/components/inputs/sub-components/param-invalid-icon/param-invalid-icon.component.ts +0 -11
- package/src/lib/components/menu-constructor/sproc-menu-constructor.component.html +0 -95
- package/src/lib/components/menu-constructor/sproc-menu-constructor.component.less +0 -183
- package/src/lib/components/menu-constructor/sproc-menu-constructor.component.ts +0 -687
- package/src/lib/components/menu-constructor/store/sproc-abstract-menu-constructor.store.ts +0 -32
- package/src/lib/components/menu-constructor/store/sproc-menu-constructor.consts.ts +0 -46
- package/src/lib/components/page-menu/README.md +0 -60
- package/src/lib/components/page-menu/schema/sproc-page-menu.consts.ts +0 -8
- package/src/lib/components/page-menu/schema/sproc-page-menu.schema.ts +0 -35
- package/src/lib/components/page-menu/schema/sproc-page-menu.tokens.ts +0 -5
- package/src/lib/components/page-menu/schema/sproc-page-menu.types.ts +0 -42
- package/src/lib/components/page-menu/sproc-page-menu.component.html +0 -166
- package/src/lib/components/page-menu/sproc-page-menu.component.less +0 -228
- package/src/lib/components/page-menu/sproc-page-menu.component.ts +0 -337
- package/src/lib/components/paginator/paginator.component.html +0 -97
- package/src/lib/components/paginator/paginator.component.less +0 -101
- package/src/lib/components/paginator/paginator.component.ts +0 -192
- package/src/lib/components/paginator/types/paginator.types.ts +0 -16
- package/src/lib/components/register-table/consts/register-table.consts.ts +0 -3
- package/src/lib/components/register-table/directives/cell-template.directive.ts +0 -11
- package/src/lib/components/register-table/directives/header-template.directive.ts +0 -11
- package/src/lib/components/register-table/model/schema.ts +0 -62
- package/src/lib/components/register-table/pipes/class-by-type.pipe.ts +0 -28
- package/src/lib/components/register-table/pipes/sticky-column.pipe.ts +0 -11
- package/src/lib/components/register-table/register-table.component.html +0 -257
- package/src/lib/components/register-table/register-table.component.less +0 -151
- package/src/lib/components/register-table/register-table.component.ts +0 -743
- package/src/lib/components/reset-settings-form/reset-settings-form.component.html +0 -14
- package/src/lib/components/reset-settings-form/reset-settings-form.component.less +0 -26
- package/src/lib/components/reset-settings-form/reset-settings-form.component.ts +0 -15
- package/src/lib/components/search-input/search-input.component.html +0 -6
- package/src/lib/components/search-input/search-input.component.less +0 -17
- package/src/lib/components/search-input/search-input.component.ts +0 -31
- package/src/lib/components/sliding-panel/sliding-panel.component.html +0 -13
- package/src/lib/components/sliding-panel/sliding-panel.component.less +0 -112
- package/src/lib/components/sliding-panel/sliding-panel.component.ts +0 -36
- package/src/lib/components/sliding-panel/sliding-panel.module.ts +0 -11
- package/src/lib/consts/date-time.consts.ts +0 -1
- package/src/lib/consts/index.ts +0 -8
- package/src/lib/consts/inputs.consts.ts +0 -9
- package/src/lib/consts/month.consts.ts +0 -82
- package/src/lib/consts/params.consts.ts +0 -1
- package/src/lib/consts/register-base.consts.ts +0 -40
- package/src/lib/core/form-group-wrapper/errors-consts.ts +0 -6
- package/src/lib/core/form-group-wrapper/form-group-wrapper.ts +0 -109
- package/src/lib/core/input-control/input-control.ts +0 -30
- package/src/lib/core/param/param-base.ts +0 -262
- package/src/lib/core/param/param-date-base.ts +0 -30
- package/src/lib/core/param/param-select-base.ts +0 -118
- package/src/lib/core/param/param-text-base.ts +0 -23
- package/src/lib/core/register-base/register-base.store.ts +0 -84
- package/src/lib/core/register-base/register-base.ts +0 -854
- package/src/lib/directives/date/date-time.types.ts +0 -36
- package/src/lib/directives/date/format-date.pipe.ts +0 -28
- package/src/lib/directives/number/number-only.directive.ts +0 -36
- package/src/lib/directives/sticky/sticky-relative.directive.ts +0 -30
- package/src/lib/directives/sticky/sticky-relative.service.ts +0 -34
- package/src/lib/directives/sticky/sticky.directive.ts +0 -189
- package/src/lib/services/date-time.service.ts +0 -399
- package/src/lib/services/dialog/dialog.service.ts +0 -62
- package/src/lib/services/dom-intersection.service.ts +0 -23
- package/src/lib/services/filter/filters-state.service.ts +0 -83
- package/src/lib/services/filter/filters-transmit.service.ts +0 -105
- package/src/lib/services/filter/filters.service.ts +0 -21
- package/src/lib/services/inputs-state.service.ts +0 -157
- package/src/lib/services/inputs.service.ts +0 -114
- package/src/lib/services/key-pressed.service.ts +0 -40
- package/src/lib/services/resize-window-observer.service.ts +0 -37
- package/src/lib/services/selected-objects-state.service.ts +0 -159
- package/src/lib/store/fast-query-store.service.ts +0 -132
- package/src/lib/types/hasura.types.ts +0 -41
- package/src/lib/types/inputs.types.ts +0 -63
- package/src/lib/types/params.types.ts +0 -42
- package/src/lib/types/register-base.types.ts +0 -161
- package/src/lib/types/sub-types.ts +0 -15
- package/src/lib/types/user-profile.types.ts +0 -18
- package/src/lib/utils/functions.ts +0 -11
- package/src/lib/utils/get-url-segment.ts +0 -46
- package/src/lib/utils/prizm.shared.module.ts +0 -176
- package/src/lib/utils/rxjs.ts +0 -33
- package/src/lib/utils/select-all-utils.ts +0 -16
- package/tsconfig.lib.json +0 -16
- package/tsconfig.lib.prod.json +0 -11
- package/tsconfig.schematics.json +0 -26
- package/tsconfig.spec.json +0 -15
- /package/{src/lib/components/column-settings/index.ts → lib/components/column-settings/index.d.ts} +0 -0
- /package/{src/lib/components/filters/index.ts → lib/components/filters/index.d.ts} +0 -0
- /package/{src/lib/components/index.ts → lib/components/index.d.ts} +0 -0
- /package/{src/lib/components/inputs/index.ts → lib/components/inputs/index.d.ts} +0 -0
- /package/{src/lib/components/inputs/param-switcher-date-time-range/index.ts → lib/components/inputs/param-switcher-date-time-range/index.d.ts} +0 -0
- /package/{src/lib/components/inputs/param-tree/index.ts → lib/components/inputs/param-tree/index.d.ts} +0 -0
- /package/{src/lib/components/menu-constructor/index.ts → lib/components/menu-constructor/index.d.ts} +0 -0
- /package/{src/lib/components/page-menu/index.ts → lib/components/page-menu/index.d.ts} +0 -0
- /package/{src/lib/components/register-table/index.ts → lib/components/register-table/index.d.ts} +0 -0
- /package/{src/lib/core/form-group-wrapper/index.ts → lib/core/form-group-wrapper/index.d.ts} +0 -0
- /package/{src/lib/core/index.ts → lib/core/index.d.ts} +0 -0
- /package/{src/lib/core/input-control/index.ts → lib/core/input-control/index.d.ts} +0 -0
- /package/{src/lib/core/param/index.ts → lib/core/param/index.d.ts} +0 -0
- /package/{src/lib/core/register-base/index.ts → lib/core/register-base/index.d.ts} +0 -0
- /package/{src/lib/directives/index.ts → lib/directives/index.d.ts} +0 -0
- /package/{src/lib/directives/sticky/index.ts → lib/directives/sticky/index.d.ts} +0 -0
- /package/{src/lib/services/dialog/index.ts → lib/services/dialog/index.d.ts} +0 -0
- /package/{src/lib/services/index.ts → lib/services/index.d.ts} +0 -0
- /package/{src/lib/store/index.ts → lib/store/index.d.ts} +0 -0
- /package/{src/lib/types/index.ts → lib/types/index.d.ts} +0 -0
- /package/{src/lib/utils/index.ts → lib/utils/index.d.ts} +0 -0
- /package/{src/public-api.ts → public-api.d.ts} +0 -0
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, inject, } from '@angular/core';
|
|
2
|
+
import { map } from 'rxjs';
|
|
3
|
+
import { SETTINGS_TYPE, USER_PROFILE_LOADER, USER_SETTINGS_LOADER } from '../../../../../consts';
|
|
4
|
+
import { EInputsAction, EInputsState } from '../../../../../types';
|
|
5
|
+
import { getLastSegmentOfPathName } from '../../../../../utils/get-url-segment';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@angular/router";
|
|
8
|
+
import * as i2 from "../../../../../services";
|
|
9
|
+
import * as i3 from "@angular/common";
|
|
10
|
+
import * as i4 from "@prizm-ui/components";
|
|
11
|
+
export class FilterListSavedComponent {
|
|
12
|
+
constructor(_router, _filterStateService, _cdr) {
|
|
13
|
+
this._router = _router;
|
|
14
|
+
this._filterStateService = _filterStateService;
|
|
15
|
+
this._cdr = _cdr;
|
|
16
|
+
this.savedItems = [];
|
|
17
|
+
this.filterStateSubscription = null;
|
|
18
|
+
this.savedFiltersSubscription = null;
|
|
19
|
+
this.selectedFilter = null;
|
|
20
|
+
this._userSettingsStore = inject(USER_SETTINGS_LOADER);
|
|
21
|
+
this._userProfileService = inject(USER_PROFILE_LOADER);
|
|
22
|
+
this.loading$ = this._userSettingsStore.loading$;
|
|
23
|
+
}
|
|
24
|
+
ngOnInit() {
|
|
25
|
+
this.modulePath = getLastSegmentOfPathName(this._router.url);
|
|
26
|
+
this.subscribeOnSettings();
|
|
27
|
+
this.subscribeOnFilterState();
|
|
28
|
+
}
|
|
29
|
+
ngOnDestroy() {
|
|
30
|
+
this.filterStateSubscription?.unsubscribe();
|
|
31
|
+
this.savedFiltersSubscription?.unsubscribe();
|
|
32
|
+
}
|
|
33
|
+
subscribeOnFilterState() {
|
|
34
|
+
this.filterStateSubscription = this._filterStateService.state$.subscribe((state) => {
|
|
35
|
+
if (state.state === EInputsState.SAVED_LIST) {
|
|
36
|
+
this._userSettingsStore.fetchUserSettingsByUserId({
|
|
37
|
+
userId: this._userProfileService.getUserProfile().id,
|
|
38
|
+
settingsType: SETTINGS_TYPE.FILTER,
|
|
39
|
+
moduleName: this.modulePath,
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
subscribeOnSettings() {
|
|
45
|
+
this.savedFiltersSubscription = this._userSettingsStore.settings$
|
|
46
|
+
.pipe(map((filters) => filters.map((filter) => ({
|
|
47
|
+
id: filter.id,
|
|
48
|
+
user_id: filter.id_user,
|
|
49
|
+
name: filter.name,
|
|
50
|
+
selected: false,
|
|
51
|
+
favorite: filter.settings.favorite,
|
|
52
|
+
filter: filter.settings.filter,
|
|
53
|
+
settingType: filter.settings_type,
|
|
54
|
+
sourceSettings: filter,
|
|
55
|
+
}))))
|
|
56
|
+
.subscribe((values) => {
|
|
57
|
+
this.savedItems = values.filter((value) => value.settingType === undefined || value.settingType === SETTINGS_TYPE.FILTER);
|
|
58
|
+
this._cdr.markForCheck();
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
onSelect(id) {
|
|
62
|
+
this.savedItems = this.savedItems.map((item) => {
|
|
63
|
+
if (id === item.id) {
|
|
64
|
+
this.selectedFilter = item.sourceSettings;
|
|
65
|
+
this._filterStateService.setSelectedSavedFilter(item.sourceSettings);
|
|
66
|
+
return { ...item, selected: true };
|
|
67
|
+
}
|
|
68
|
+
return { ...item, selected: false };
|
|
69
|
+
});
|
|
70
|
+
this._cdr.markForCheck();
|
|
71
|
+
}
|
|
72
|
+
onFavorite(id) {
|
|
73
|
+
const foundedItem = this.savedItems.find((item) => item.id === id);
|
|
74
|
+
const defaultFounded = this.savedItems.find((item) => item.favorite && item.id !== id);
|
|
75
|
+
if (!foundedItem) {
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
foundedItem.favorite = !foundedItem.favorite;
|
|
79
|
+
if (defaultFounded) {
|
|
80
|
+
this.savedItems = this.savedItems.map((item) => {
|
|
81
|
+
const newItem = { ...item };
|
|
82
|
+
if (item.sourceSettings.id === defaultFounded.sourceSettings.id) {
|
|
83
|
+
newItem.favorite = false;
|
|
84
|
+
}
|
|
85
|
+
return newItem;
|
|
86
|
+
});
|
|
87
|
+
this._userSettingsStore.updateUserSettingsSettingsById({
|
|
88
|
+
id: defaultFounded.sourceSettings.id,
|
|
89
|
+
settings: {
|
|
90
|
+
...defaultFounded.sourceSettings.settings,
|
|
91
|
+
favorite: false,
|
|
92
|
+
},
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
this._userSettingsStore.updateUserSettingsSettingsById({
|
|
96
|
+
id,
|
|
97
|
+
settings: {
|
|
98
|
+
...foundedItem.sourceSettings.settings,
|
|
99
|
+
favorite: foundedItem.favorite,
|
|
100
|
+
},
|
|
101
|
+
});
|
|
102
|
+
this._cdr.markForCheck();
|
|
103
|
+
}
|
|
104
|
+
onEdit(id) {
|
|
105
|
+
const foundedFilter = this.savedItems.find((item) => id === item.id);
|
|
106
|
+
if (foundedFilter) {
|
|
107
|
+
this._filterStateService.setSelectedSavedFilter(foundedFilter.sourceSettings);
|
|
108
|
+
this._filterStateService.setState({
|
|
109
|
+
state: EInputsState.ON_EDIT_FILTER,
|
|
110
|
+
action: EInputsAction.EDIT_FILTER,
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
onDelete(id) {
|
|
115
|
+
const foundedIndex = this.savedItems.findIndex((item) => item.id === id);
|
|
116
|
+
if (foundedIndex === -1) {
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
119
|
+
this.savedItems.splice(foundedIndex, 1);
|
|
120
|
+
this._userSettingsStore.deleteUserSettingsById({ id });
|
|
121
|
+
this._cdr.markForCheck();
|
|
122
|
+
}
|
|
123
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FilterListSavedComponent, deps: [{ token: i1.Router }, { token: i2.FiltersStateService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
124
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: FilterListSavedComponent, selector: "sproc-filter-list-saved", ngImport: i0, template: "<div class=\"sproc-filter-list-saved\">\n <prizm-loader [showLoader]=\"$any(loading$ | async)\" [overlay]=\"true\">\n <span *ngIf=\"savedItems.length === 0\" class=\"input-text-12px\"\n >\u0421\u043E\u0445\u0440\u0430\u043D\u0435\u043D\u044B\u0445 \u0444\u0438\u043B\u044C\u0442\u0440\u043E\u0432 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E\n </span>\n <div\n *ngFor=\"let item of savedItems; let i = index\"\n [class.selected]=\"item.selected\"\n class=\"sproc-filter-list-saved-item\"\n (click)=\"onSelect(item.id)\"\n >\n <div class=\"input-text-12px\">{{ item.name }}</div>\n\n <div class=\"sproc-filter-list-saved-item-action-buttons\">\n <button\n [icon]=\"item.favorite ? 'social-star-fill' : 'social-star'\"\n prizmIconButton\n appearanceType=\"ghost\"\n [appearance]=\"item.favorite ? 'primary' : 'secondary'\"\n size=\"xl\"\n (click)=\"onFavorite(item.id)\"\n ></button>\n\n <button\n [icon]=\"'editor-mode'\"\n prizmIconButton\n appearanceType=\"ghost\"\n appearance=\"secondary\"\n size=\"xl\"\n (click)=\"onEdit(item.id)\"\n ></button>\n\n <button\n [icon]=\"'delete'\"\n prizmIconButton\n appearanceType=\"ghost\"\n appearance=\"secondary\"\n size=\"xl\"\n (click)=\"onDelete(item.id)\"\n ></button>\n </div>\n </div>\n </prizm-loader>\n</div>\n", styles: [":host .sproc-filter-list-saved{display:flex;flex-direction:column;padding:8px 0;gap:1px}:host .sproc-filter-list-saved .sproc-filter-list-saved-item{display:flex;flex-direction:row;align-items:center;justify-content:space-between;height:32px;padding:0 8px 0 16px}:host .sproc-filter-list-saved .sproc-filter-list-saved-item .sproc-filter-list-saved-item-action-buttons{display:flex;flex-direction:row}:host .sproc-filter-list-saved .sproc-filter-list-saved-item .sproc-filter-list-saved-item-action-buttons button{height:32px;min-height:32px;width:32px}:host .sproc-filter-list-saved .sproc-filter-list-saved-item .sproc-filter-list-saved-item-action-buttons ::ng-deep prizm-wrapper{background-color:transparent}:host .sproc-filter-list-saved .sproc-filter-list-saved-item .sproc-filter-list-saved-item-action-buttons ::ng-deep prizm-wrapper :hover{color:var(--brand-blue)}:host .sproc-filter-list-saved .sproc-filter-list-saved-item .sproc-filter-list-saved-item-action-buttons ::ng-deep prizm-wrapper .prizm-icon-16.social-star-fill:before{color:var(--brand-blue)!important}:host .sproc-filter-list-saved .sproc-filter-list-saved-item:hover{background-color:var(--brand-hovered);cursor:pointer}:host .selected{background-color:#d0edff!important}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.PrizmButtonComponent, selector: "button[prizmButton], button[prizmIconButton], a[prizmButton], a[prizmIconButton]", inputs: ["size", "icon", "iconRight", "appearance", "appearanceType", "disabled", "showLoader"] }, { kind: "component", type: i4.PrizmLoaderComponent, selector: "prizm-loader", inputs: ["size", "inheritColor", "overlay", "textContent", "showLoader"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
125
|
+
}
|
|
126
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FilterListSavedComponent, decorators: [{
|
|
127
|
+
type: Component,
|
|
128
|
+
args: [{ selector: 'sproc-filter-list-saved', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"sproc-filter-list-saved\">\n <prizm-loader [showLoader]=\"$any(loading$ | async)\" [overlay]=\"true\">\n <span *ngIf=\"savedItems.length === 0\" class=\"input-text-12px\"\n >\u0421\u043E\u0445\u0440\u0430\u043D\u0435\u043D\u044B\u0445 \u0444\u0438\u043B\u044C\u0442\u0440\u043E\u0432 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E\n </span>\n <div\n *ngFor=\"let item of savedItems; let i = index\"\n [class.selected]=\"item.selected\"\n class=\"sproc-filter-list-saved-item\"\n (click)=\"onSelect(item.id)\"\n >\n <div class=\"input-text-12px\">{{ item.name }}</div>\n\n <div class=\"sproc-filter-list-saved-item-action-buttons\">\n <button\n [icon]=\"item.favorite ? 'social-star-fill' : 'social-star'\"\n prizmIconButton\n appearanceType=\"ghost\"\n [appearance]=\"item.favorite ? 'primary' : 'secondary'\"\n size=\"xl\"\n (click)=\"onFavorite(item.id)\"\n ></button>\n\n <button\n [icon]=\"'editor-mode'\"\n prizmIconButton\n appearanceType=\"ghost\"\n appearance=\"secondary\"\n size=\"xl\"\n (click)=\"onEdit(item.id)\"\n ></button>\n\n <button\n [icon]=\"'delete'\"\n prizmIconButton\n appearanceType=\"ghost\"\n appearance=\"secondary\"\n size=\"xl\"\n (click)=\"onDelete(item.id)\"\n ></button>\n </div>\n </div>\n </prizm-loader>\n</div>\n", styles: [":host .sproc-filter-list-saved{display:flex;flex-direction:column;padding:8px 0;gap:1px}:host .sproc-filter-list-saved .sproc-filter-list-saved-item{display:flex;flex-direction:row;align-items:center;justify-content:space-between;height:32px;padding:0 8px 0 16px}:host .sproc-filter-list-saved .sproc-filter-list-saved-item .sproc-filter-list-saved-item-action-buttons{display:flex;flex-direction:row}:host .sproc-filter-list-saved .sproc-filter-list-saved-item .sproc-filter-list-saved-item-action-buttons button{height:32px;min-height:32px;width:32px}:host .sproc-filter-list-saved .sproc-filter-list-saved-item .sproc-filter-list-saved-item-action-buttons ::ng-deep prizm-wrapper{background-color:transparent}:host .sproc-filter-list-saved .sproc-filter-list-saved-item .sproc-filter-list-saved-item-action-buttons ::ng-deep prizm-wrapper :hover{color:var(--brand-blue)}:host .sproc-filter-list-saved .sproc-filter-list-saved-item .sproc-filter-list-saved-item-action-buttons ::ng-deep prizm-wrapper .prizm-icon-16.social-star-fill:before{color:var(--brand-blue)!important}:host .sproc-filter-list-saved .sproc-filter-list-saved-item:hover{background-color:var(--brand-hovered);cursor:pointer}:host .selected{background-color:#d0edff!important}\n"] }]
|
|
129
|
+
}], ctorParameters: () => [{ type: i1.Router }, { type: i2.FiltersStateService }, { type: i0.ChangeDetectorRef }] });
|
|
130
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWxpc3Qtc2F2ZWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJlZ2lzdGVyLWJhc2Uvc3JjL2xpYi9jb21wb25lbnRzL2ZpbHRlcnMvY29tcG9uZW50cy9maWx0ZXItbGlzdC9maWx0ZXItbGlzdC1zYXZlZC9maWx0ZXItbGlzdC1zYXZlZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmVnaXN0ZXItYmFzZS9zcmMvbGliL2NvbXBvbmVudHMvZmlsdGVycy9jb21wb25lbnRzL2ZpbHRlci1saXN0L2ZpbHRlci1saXN0LXNhdmVkL2ZpbHRlci1saXN0LXNhdmVkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULE1BQU0sR0FHUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsR0FBRyxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUN6QyxPQUFPLEVBQUUsYUFBYSxFQUFFLG1CQUFtQixFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDakcsT0FBTyxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQW1CLE1BQU0sc0JBQXNCLENBQUM7QUFFcEYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7Ozs7OztBQW1CaEYsTUFBTSxPQUFPLHdCQUF3QjtJQWFuQyxZQUNtQixPQUFlLEVBQ2YsbUJBQTZDLEVBQzdDLElBQXVCO1FBRnZCLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFDZix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQTBCO1FBQzdDLFNBQUksR0FBSixJQUFJLENBQW1CO1FBZm5DLGVBQVUsR0FBdUIsRUFBRSxDQUFDO1FBRW5DLDRCQUF1QixHQUF3QixJQUFJLENBQUM7UUFDcEQsNkJBQXdCLEdBQXdCLElBQUksQ0FBQztRQUNyRCxtQkFBYyxHQUEyQixJQUFJLENBQUM7UUFHckMsdUJBQWtCLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDbEQsd0JBQW1CLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFFbkQsYUFBUSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUM7SUFNekQsQ0FBQztJQUVHLFFBQVE7UUFDYixJQUFJLENBQUMsVUFBVSxHQUFHLHdCQUF3QixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDN0QsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLHVCQUF1QixFQUFFLFdBQVcsRUFBRSxDQUFDO1FBQzVDLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxXQUFXLEVBQUUsQ0FBQztJQUMvQyxDQUFDO0lBRU8sc0JBQXNCO1FBQzVCLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ2pGLElBQUksS0FBSyxDQUFDLEtBQUssS0FBSyxZQUFZLENBQUMsVUFBVSxFQUFFLENBQUM7Z0JBQzVDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyx5QkFBeUIsQ0FBQztvQkFDaEQsTUFBTSxFQUFFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxFQUFFO29CQUNwRCxZQUFZLEVBQUUsYUFBYSxDQUFDLE1BQU07b0JBQ2xDLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVztpQkFDN0IsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLG1CQUFtQjtRQUN6QixJQUFJLENBQUMsd0JBQXdCLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVM7YUFDOUQsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQ2QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztZQUN2QixFQUFFLEVBQUUsTUFBTSxDQUFDLEVBQUU7WUFDYixPQUFPLEVBQUUsTUFBTSxDQUFDLE9BQU87WUFDdkIsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJO1lBQ2pCLFFBQVEsRUFBRSxLQUFLO1lBQ2YsUUFBUSxFQUFFLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUztZQUNuQyxNQUFNLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFPO1lBQy9CLFdBQVcsRUFBRSxNQUFNLENBQUMsYUFBYTtZQUNqQyxjQUFjLEVBQUUsTUFBTTtTQUN2QixDQUFDLENBQUMsQ0FDSixDQUNGO2FBQ0EsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDcEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUM3QixDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLFdBQVcsS0FBSyxTQUFTLElBQUksS0FBSyxDQUFDLFdBQVcsS0FBSyxhQUFhLENBQUMsTUFBTSxDQUN6RixDQUFDO1lBQ0YsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUMzQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTSxRQUFRLENBQUMsRUFBVTtRQUN4QixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDN0MsSUFBSSxFQUFFLEtBQUssSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO2dCQUNuQixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7Z0JBQzFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7Z0JBQ3JFLE9BQU8sRUFBRSxHQUFHLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7WUFDckMsQ0FBQztZQUNELE9BQU8sRUFBRSxHQUFHLElBQUksRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUM7UUFDdEMsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFTSxVQUFVLENBQUMsRUFBVTtRQUMxQixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUNuRSxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZGLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNqQixPQUFPO1FBQ1QsQ0FBQztRQUNELFdBQVcsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDO1FBRTdDLElBQUksY0FBYyxFQUFFLENBQUM7WUFDbkIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO2dCQUM3QyxNQUFNLE9BQU8sR0FBRyxFQUFFLEdBQUcsSUFBSSxFQUFFLENBQUM7Z0JBRTVCLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxFQUFFLEtBQUssY0FBYyxDQUFDLGNBQWMsQ0FBQyxFQUFFLEVBQUUsQ0FBQztvQkFDaEUsT0FBTyxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7Z0JBQzNCLENBQUM7Z0JBRUQsT0FBTyxPQUFPLENBQUM7WUFDakIsQ0FBQyxDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsa0JBQWtCLENBQUMsOEJBQThCLENBQUM7Z0JBQ3JELEVBQUUsRUFBRSxjQUFjLENBQUMsY0FBYyxDQUFDLEVBQUU7Z0JBQ3BDLFFBQVEsRUFBRTtvQkFDUixHQUFHLGNBQWMsQ0FBQyxjQUFjLENBQUMsUUFBUTtvQkFDekMsUUFBUSxFQUFFLEtBQUs7aUJBQ2hCO2FBQ0YsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUNELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyw4QkFBOEIsQ0FBQztZQUNyRCxFQUFFO1lBQ0YsUUFBUSxFQUFFO2dCQUNSLEdBQUcsV0FBVyxDQUFDLGNBQWMsQ0FBQyxRQUFRO2dCQUN0QyxRQUFRLEVBQUUsV0FBVyxDQUFDLFFBQVE7YUFDL0I7U0FDRixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFTSxNQUFNLENBQUMsRUFBVTtRQUN0QixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNyRSxJQUFJLGFBQWEsRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxzQkFBc0IsQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDOUUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsQ0FBQztnQkFDaEMsS0FBSyxFQUFFLFlBQVksQ0FBQyxjQUFjO2dCQUNsQyxNQUFNLEVBQUUsYUFBYSxDQUFDLFdBQVc7YUFDbEMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUM7SUFFTSxRQUFRLENBQUMsRUFBVTtRQUN4QixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUN6RSxJQUFJLFlBQVksS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ3hCLE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDdkQsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMzQixDQUFDOytHQXJJVSx3QkFBd0I7bUdBQXhCLHdCQUF3QiwrRENoQ3JDLDgvQ0E0Q0E7OzRGRFphLHdCQUF3QjtrQkFOcEMsU0FBUzsrQkFDRSx5QkFBeUIsbUJBR2xCLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgaW5qZWN0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgbWFwLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFNFVFRJTkdTX1RZUEUsIFVTRVJfUFJPRklMRV9MT0FERVIsIFVTRVJfU0VUVElOR1NfTE9BREVSIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vY29uc3RzJztcbmltcG9ydCB7IEVJbnB1dHNBY3Rpb24sIEVJbnB1dHNTdGF0ZSwgSVRwVXNlclNldHRpbmdzIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgRmlsdGVyc1N0YXRlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IGdldExhc3RTZWdtZW50T2ZQYXRoTmFtZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3V0aWxzL2dldC11cmwtc2VnbWVudCc7XG5cbmludGVyZmFjZSBJRmlsdGVyU2F2ZWRJdGVtIHtcbiAgaWQ6IHN0cmluZztcbiAgdXNlcl9pZDogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIGZhdm9yaXRlOiBib29sZWFuO1xuICBzZWxlY3RlZDogYm9vbGVhbjtcbiAgZmlsdGVyOiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICBzZXR0aW5nVHlwZTogU0VUVElOR1NfVFlQRTtcbiAgc291cmNlU2V0dGluZ3M6IElUcFVzZXJTZXR0aW5ncztcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3Byb2MtZmlsdGVyLWxpc3Qtc2F2ZWQnLFxuICB0ZW1wbGF0ZVVybDogJy4vZmlsdGVyLWxpc3Qtc2F2ZWQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9maWx0ZXItbGlzdC1zYXZlZC5jb21wb25lbnQubGVzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRmlsdGVyTGlzdFNhdmVkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwdWJsaWMgc2F2ZWRJdGVtczogSUZpbHRlclNhdmVkSXRlbVtdID0gW107XG5cbiAgcHJpdmF0ZSBmaWx0ZXJTdGF0ZVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgc2F2ZWRGaWx0ZXJzU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBzZWxlY3RlZEZpbHRlcjogSVRwVXNlclNldHRpbmdzIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgbW9kdWxlUGF0aD86IHN0cmluZztcblxuICBwcml2YXRlIHJlYWRvbmx5IF91c2VyU2V0dGluZ3NTdG9yZSA9IGluamVjdChVU0VSX1NFVFRJTkdTX0xPQURFUik7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3VzZXJQcm9maWxlU2VydmljZSA9IGluamVjdChVU0VSX1BST0ZJTEVfTE9BREVSKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgbG9hZGluZyQgPSB0aGlzLl91c2VyU2V0dGluZ3NTdG9yZS5sb2FkaW5nJDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9yb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9maWx0ZXJTdGF0ZVNlcnZpY2U6IEZpbHRlcnNTdGF0ZVNlcnZpY2U8YW55PixcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9jZHI6IENoYW5nZURldGVjdG9yUmVmXG4gICkge31cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5tb2R1bGVQYXRoID0gZ2V0TGFzdFNlZ21lbnRPZlBhdGhOYW1lKHRoaXMuX3JvdXRlci51cmwpO1xuICAgIHRoaXMuc3Vic2NyaWJlT25TZXR0aW5ncygpO1xuICAgIHRoaXMuc3Vic2NyaWJlT25GaWx0ZXJTdGF0ZSgpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZmlsdGVyU3RhdGVTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5zYXZlZEZpbHRlcnNTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwcml2YXRlIHN1YnNjcmliZU9uRmlsdGVyU3RhdGUoKTogdm9pZCB7XG4gICAgdGhpcy5maWx0ZXJTdGF0ZVN1YnNjcmlwdGlvbiA9IHRoaXMuX2ZpbHRlclN0YXRlU2VydmljZS5zdGF0ZSQuc3Vic2NyaWJlKChzdGF0ZSkgPT4ge1xuICAgICAgaWYgKHN0YXRlLnN0YXRlID09PSBFSW5wdXRzU3RhdGUuU0FWRURfTElTVCkge1xuICAgICAgICB0aGlzLl91c2VyU2V0dGluZ3NTdG9yZS5mZXRjaFVzZXJTZXR0aW5nc0J5VXNlcklkKHtcbiAgICAgICAgICB1c2VySWQ6IHRoaXMuX3VzZXJQcm9maWxlU2VydmljZS5nZXRVc2VyUHJvZmlsZSgpLmlkLFxuICAgICAgICAgIHNldHRpbmdzVHlwZTogU0VUVElOR1NfVFlQRS5GSUxURVIsXG4gICAgICAgICAgbW9kdWxlTmFtZTogdGhpcy5tb2R1bGVQYXRoISxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHN1YnNjcmliZU9uU2V0dGluZ3MoKTogdm9pZCB7XG4gICAgdGhpcy5zYXZlZEZpbHRlcnNTdWJzY3JpcHRpb24gPSB0aGlzLl91c2VyU2V0dGluZ3NTdG9yZS5zZXR0aW5ncyRcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKGZpbHRlcnMpID0+XG4gICAgICAgICAgZmlsdGVycy5tYXAoKGZpbHRlcikgPT4gKHtcbiAgICAgICAgICAgIGlkOiBmaWx0ZXIuaWQsXG4gICAgICAgICAgICB1c2VyX2lkOiBmaWx0ZXIuaWRfdXNlcixcbiAgICAgICAgICAgIG5hbWU6IGZpbHRlci5uYW1lLFxuICAgICAgICAgICAgc2VsZWN0ZWQ6IGZhbHNlLFxuICAgICAgICAgICAgZmF2b3JpdGU6IGZpbHRlci5zZXR0aW5ncy5mYXZvcml0ZSEsXG4gICAgICAgICAgICBmaWx0ZXI6IGZpbHRlci5zZXR0aW5ncy5maWx0ZXIhLFxuICAgICAgICAgICAgc2V0dGluZ1R5cGU6IGZpbHRlci5zZXR0aW5nc190eXBlLFxuICAgICAgICAgICAgc291cmNlU2V0dGluZ3M6IGZpbHRlcixcbiAgICAgICAgICB9KSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgodmFsdWVzKSA9PiB7XG4gICAgICAgIHRoaXMuc2F2ZWRJdGVtcyA9IHZhbHVlcy5maWx0ZXIoXG4gICAgICAgICAgKHZhbHVlKSA9PiB2YWx1ZS5zZXR0aW5nVHlwZSA9PT0gdW5kZWZpbmVkIHx8IHZhbHVlLnNldHRpbmdUeXBlID09PSBTRVRUSU5HU19UWVBFLkZJTFRFUlxuICAgICAgICApO1xuICAgICAgICB0aGlzLl9jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBvblNlbGVjdChpZDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5zYXZlZEl0ZW1zID0gdGhpcy5zYXZlZEl0ZW1zLm1hcCgoaXRlbSkgPT4ge1xuICAgICAgaWYgKGlkID09PSBpdGVtLmlkKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRGaWx0ZXIgPSBpdGVtLnNvdXJjZVNldHRpbmdzO1xuICAgICAgICB0aGlzLl9maWx0ZXJTdGF0ZVNlcnZpY2Uuc2V0U2VsZWN0ZWRTYXZlZEZpbHRlcihpdGVtLnNvdXJjZVNldHRpbmdzKTtcbiAgICAgICAgcmV0dXJuIHsgLi4uaXRlbSwgc2VsZWN0ZWQ6IHRydWUgfTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB7IC4uLml0ZW0sIHNlbGVjdGVkOiBmYWxzZSB9O1xuICAgIH0pO1xuICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkZhdm9yaXRlKGlkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBmb3VuZGVkSXRlbSA9IHRoaXMuc2F2ZWRJdGVtcy5maW5kKChpdGVtKSA9PiBpdGVtLmlkID09PSBpZCk7XG4gICAgY29uc3QgZGVmYXVsdEZvdW5kZWQgPSB0aGlzLnNhdmVkSXRlbXMuZmluZCgoaXRlbSkgPT4gaXRlbS5mYXZvcml0ZSAmJiBpdGVtLmlkICE9PSBpZCk7XG4gICAgaWYgKCFmb3VuZGVkSXRlbSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBmb3VuZGVkSXRlbS5mYXZvcml0ZSA9ICFmb3VuZGVkSXRlbS5mYXZvcml0ZTtcblxuICAgIGlmIChkZWZhdWx0Rm91bmRlZCkge1xuICAgICAgdGhpcy5zYXZlZEl0ZW1zID0gdGhpcy5zYXZlZEl0ZW1zLm1hcCgoaXRlbSkgPT4ge1xuICAgICAgICBjb25zdCBuZXdJdGVtID0geyAuLi5pdGVtIH07XG5cbiAgICAgICAgaWYgKGl0ZW0uc291cmNlU2V0dGluZ3MuaWQgPT09IGRlZmF1bHRGb3VuZGVkLnNvdXJjZVNldHRpbmdzLmlkKSB7XG4gICAgICAgICAgbmV3SXRlbS5mYXZvcml0ZSA9IGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG5ld0l0ZW07XG4gICAgICB9KTtcbiAgICAgIHRoaXMuX3VzZXJTZXR0aW5nc1N0b3JlLnVwZGF0ZVVzZXJTZXR0aW5nc1NldHRpbmdzQnlJZCh7XG4gICAgICAgIGlkOiBkZWZhdWx0Rm91bmRlZC5zb3VyY2VTZXR0aW5ncy5pZCxcbiAgICAgICAgc2V0dGluZ3M6IHtcbiAgICAgICAgICAuLi5kZWZhdWx0Rm91bmRlZC5zb3VyY2VTZXR0aW5ncy5zZXR0aW5ncyxcbiAgICAgICAgICBmYXZvcml0ZTogZmFsc2UsXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9XG4gICAgdGhpcy5fdXNlclNldHRpbmdzU3RvcmUudXBkYXRlVXNlclNldHRpbmdzU2V0dGluZ3NCeUlkKHtcbiAgICAgIGlkLFxuICAgICAgc2V0dGluZ3M6IHtcbiAgICAgICAgLi4uZm91bmRlZEl0ZW0uc291cmNlU2V0dGluZ3Muc2V0dGluZ3MsXG4gICAgICAgIGZhdm9yaXRlOiBmb3VuZGVkSXRlbS5mYXZvcml0ZSxcbiAgICAgIH0sXG4gICAgfSk7XG4gICAgdGhpcy5fY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHVibGljIG9uRWRpdChpZDogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgZm91bmRlZEZpbHRlciA9IHRoaXMuc2F2ZWRJdGVtcy5maW5kKChpdGVtKSA9PiBpZCA9PT0gaXRlbS5pZCk7XG4gICAgaWYgKGZvdW5kZWRGaWx0ZXIpIHtcbiAgICAgIHRoaXMuX2ZpbHRlclN0YXRlU2VydmljZS5zZXRTZWxlY3RlZFNhdmVkRmlsdGVyKGZvdW5kZWRGaWx0ZXIuc291cmNlU2V0dGluZ3MpO1xuICAgICAgdGhpcy5fZmlsdGVyU3RhdGVTZXJ2aWNlLnNldFN0YXRlKHtcbiAgICAgICAgc3RhdGU6IEVJbnB1dHNTdGF0ZS5PTl9FRElUX0ZJTFRFUixcbiAgICAgICAgYWN0aW9uOiBFSW5wdXRzQWN0aW9uLkVESVRfRklMVEVSLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uRGVsZXRlKGlkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBmb3VuZGVkSW5kZXggPSB0aGlzLnNhdmVkSXRlbXMuZmluZEluZGV4KChpdGVtKSA9PiBpdGVtLmlkID09PSBpZCk7XG4gICAgaWYgKGZvdW5kZWRJbmRleCA9PT0gLTEpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5zYXZlZEl0ZW1zLnNwbGljZShmb3VuZGVkSW5kZXgsIDEpO1xuICAgIHRoaXMuX3VzZXJTZXR0aW5nc1N0b3JlLmRlbGV0ZVVzZXJTZXR0aW5nc0J5SWQoeyBpZCB9KTtcbiAgICB0aGlzLl9jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJzcHJvYy1maWx0ZXItbGlzdC1zYXZlZFwiPlxuICA8cHJpem0tbG9hZGVyIFtzaG93TG9hZGVyXT1cIiRhbnkobG9hZGluZyQgfCBhc3luYylcIiBbb3ZlcmxheV09XCJ0cnVlXCI+XG4gICAgPHNwYW4gKm5nSWY9XCJzYXZlZEl0ZW1zLmxlbmd0aCA9PT0gMFwiIGNsYXNzPVwiaW5wdXQtdGV4dC0xMnB4XCJcbiAgICAgID7QodC+0YXRgNCw0L3QtdC90YvRhSDRhNC40LvRjNGC0YDQvtCyINC90LUg0L3QsNC50LTQtdC90L5cbiAgICA8L3NwYW4+XG4gICAgPGRpdlxuICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2Ygc2F2ZWRJdGVtczsgbGV0IGkgPSBpbmRleFwiXG4gICAgICBbY2xhc3Muc2VsZWN0ZWRdPVwiaXRlbS5zZWxlY3RlZFwiXG4gICAgICBjbGFzcz1cInNwcm9jLWZpbHRlci1saXN0LXNhdmVkLWl0ZW1cIlxuICAgICAgKGNsaWNrKT1cIm9uU2VsZWN0KGl0ZW0uaWQpXCJcbiAgICA+XG4gICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtdGV4dC0xMnB4XCI+e3sgaXRlbS5uYW1lIH19PC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJzcHJvYy1maWx0ZXItbGlzdC1zYXZlZC1pdGVtLWFjdGlvbi1idXR0b25zXCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBbaWNvbl09XCJpdGVtLmZhdm9yaXRlID8gJ3NvY2lhbC1zdGFyLWZpbGwnIDogJ3NvY2lhbC1zdGFyJ1wiXG4gICAgICAgICAgcHJpem1JY29uQnV0dG9uXG4gICAgICAgICAgYXBwZWFyYW5jZVR5cGU9XCJnaG9zdFwiXG4gICAgICAgICAgW2FwcGVhcmFuY2VdPVwiaXRlbS5mYXZvcml0ZSA/ICdwcmltYXJ5JyA6ICdzZWNvbmRhcnknXCJcbiAgICAgICAgICBzaXplPVwieGxcIlxuICAgICAgICAgIChjbGljayk9XCJvbkZhdm9yaXRlKGl0ZW0uaWQpXCJcbiAgICAgICAgPjwvYnV0dG9uPlxuXG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBbaWNvbl09XCInZWRpdG9yLW1vZGUnXCJcbiAgICAgICAgICBwcml6bUljb25CdXR0b25cbiAgICAgICAgICBhcHBlYXJhbmNlVHlwZT1cImdob3N0XCJcbiAgICAgICAgICBhcHBlYXJhbmNlPVwic2Vjb25kYXJ5XCJcbiAgICAgICAgICBzaXplPVwieGxcIlxuICAgICAgICAgIChjbGljayk9XCJvbkVkaXQoaXRlbS5pZClcIlxuICAgICAgICA+PC9idXR0b24+XG5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIFtpY29uXT1cIidkZWxldGUnXCJcbiAgICAgICAgICBwcml6bUljb25CdXR0b25cbiAgICAgICAgICBhcHBlYXJhbmNlVHlwZT1cImdob3N0XCJcbiAgICAgICAgICBhcHBlYXJhbmNlPVwic2Vjb25kYXJ5XCJcbiAgICAgICAgICBzaXplPVwieGxcIlxuICAgICAgICAgIChjbGljayk9XCJvbkRlbGV0ZShpdGVtLmlkKVwiXG4gICAgICAgID48L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L3ByaXptLWxvYWRlcj5cbjwvZGl2PlxuIl19
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { inject, Injectable } from '@angular/core';
|
|
2
|
+
import { ReplaySubject, take } from 'rxjs';
|
|
3
|
+
import { EInputsAction, EInputsState } from '../../../../types';
|
|
4
|
+
import { SETTINGS_TYPE, USER_SETTINGS_LOADER } from '../../../../consts';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "../../../../services";
|
|
7
|
+
export class FilterListService {
|
|
8
|
+
constructor(_filtersService, _filterStateService) {
|
|
9
|
+
this._filtersService = _filtersService;
|
|
10
|
+
this._filterStateService = _filterStateService;
|
|
11
|
+
this.apply$ = new ReplaySubject();
|
|
12
|
+
this.settingsStore = inject(USER_SETTINGS_LOADER);
|
|
13
|
+
}
|
|
14
|
+
applyFilter() {
|
|
15
|
+
this.apply$.next(this._filtersService.gqlFilter);
|
|
16
|
+
this._filterStateService.setState({
|
|
17
|
+
state: EInputsState.FILTER_LIST,
|
|
18
|
+
action: EInputsAction.APPLY_FILTERS,
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
applySavedFilter() {
|
|
22
|
+
const savedFilter = this._filterStateService.getSelectedSavedFilter();
|
|
23
|
+
if (savedFilter) {
|
|
24
|
+
this._filtersService.setUserSettingsFilterValues(savedFilter.settings?.filter ?? []);
|
|
25
|
+
this._filterStateService.setSelectedSavedFilter(null);
|
|
26
|
+
this._filterStateService.setState({
|
|
27
|
+
state: EInputsState.FILTER_LIST,
|
|
28
|
+
action: EInputsAction.APPLY_SAVED_FILTER,
|
|
29
|
+
});
|
|
30
|
+
this.apply$.next(this._filtersService.gqlFilter);
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
console.error('Выбранный фильтр не найден');
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
saveFilter() {
|
|
37
|
+
if (!this.modulePath) {
|
|
38
|
+
console.error('modulePath не инициализирован');
|
|
39
|
+
}
|
|
40
|
+
const saved = this._filterStateService.getSelectedSavedFilter();
|
|
41
|
+
this.settingsStore.upsertEnded$.pipe(take(1)).subscribe(() => {
|
|
42
|
+
this._filterStateService.setSelectedSavedFilter(null);
|
|
43
|
+
this._filterStateService.setState({
|
|
44
|
+
state: EInputsState.SAVED_LIST,
|
|
45
|
+
action: EInputsAction.AFTER_SAVE_FILTER,
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
this.settingsStore.upsertUserSettingsByUserId({
|
|
49
|
+
settings: {
|
|
50
|
+
id: saved?.id ?? undefined,
|
|
51
|
+
name: this._filterStateService.name,
|
|
52
|
+
settings: {
|
|
53
|
+
favorite: saved?.settings?.favorite ?? false,
|
|
54
|
+
filter: this._filtersService.userSettingsFilter,
|
|
55
|
+
},
|
|
56
|
+
module_name: this.modulePath,
|
|
57
|
+
settings_type: SETTINGS_TYPE.FILTER,
|
|
58
|
+
},
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
clear() {
|
|
62
|
+
this._filtersService.clear();
|
|
63
|
+
}
|
|
64
|
+
savePinnedFilters() {
|
|
65
|
+
this.settingsStore
|
|
66
|
+
.upsertReturningOne$(SETTINGS_TYPE.REGISTER_PINNED_INPUTS)
|
|
67
|
+
.subscribe((setting) => {
|
|
68
|
+
this._pinnedFilterSetting = setting ?? undefined;
|
|
69
|
+
});
|
|
70
|
+
this.settingsStore.upsertUserSettingsByUserId({
|
|
71
|
+
settings: {
|
|
72
|
+
id: this._pinnedFilterSetting?.id,
|
|
73
|
+
settings: {
|
|
74
|
+
filter: this._filtersService.userSettingsFilter,
|
|
75
|
+
pinned: this._filterStateService.isPin,
|
|
76
|
+
},
|
|
77
|
+
module_name: this.modulePath,
|
|
78
|
+
settings_type: SETTINGS_TYPE.REGISTER_PINNED_INPUTS,
|
|
79
|
+
},
|
|
80
|
+
hidden: true,
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FilterListService, deps: [{ token: i1.FiltersService }, { token: i1.FiltersStateService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
84
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FilterListService }); }
|
|
85
|
+
}
|
|
86
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FilterListService, decorators: [{
|
|
87
|
+
type: Injectable
|
|
88
|
+
}], ctorParameters: () => [{ type: i1.FiltersService }, { type: i1.FiltersStateService }] });
|
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWxpc3Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZWdpc3Rlci1iYXNlL3NyYy9saWIvY29tcG9uZW50cy9maWx0ZXJzL2NvbXBvbmVudHMvZmlsdGVyLWxpc3QvZmlsdGVyLWxpc3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBOEIsTUFBTSxtQkFBbUIsQ0FBQztBQUU1RixPQUFPLEVBQUUsYUFBYSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7OztBQUd6RSxNQUFNLE9BQU8saUJBQWlCO0lBUzVCLFlBQ21CLGVBQW9DLEVBQ3BDLG1CQUE2QztRQUQ3QyxvQkFBZSxHQUFmLGVBQWUsQ0FBcUI7UUFDcEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUEwQjtRQVZoRCxXQUFNLEdBQUcsSUFBSSxhQUFhLEVBQWEsQ0FBQztRQU12QyxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBSzNELENBQUM7SUFFRyxXQUFXO1FBQ2hCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsQ0FBQztZQUNoQyxLQUFLLEVBQUUsWUFBWSxDQUFDLFdBQVc7WUFDL0IsTUFBTSxFQUFFLGFBQWEsQ0FBQyxhQUFhO1NBQ3BDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxnQkFBZ0I7UUFDckIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLHNCQUFzQixFQUFFLENBQUM7UUFDdEUsSUFBSSxXQUFXLEVBQUUsQ0FBQztZQUNoQixJQUFJLENBQUMsZUFBZSxDQUFDLDJCQUEyQixDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsTUFBTSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQ3JGLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN0RCxJQUFJLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDO2dCQUNoQyxLQUFLLEVBQUUsWUFBWSxDQUFDLFdBQVc7Z0JBQy9CLE1BQU0sRUFBRSxhQUFhLENBQUMsa0JBQWtCO2FBQ3pDLENBQUMsQ0FBQztZQUNILElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDbkQsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLENBQUMsS0FBSyxDQUFDLDRCQUE0QixDQUFDLENBQUM7UUFDOUMsQ0FBQztJQUNILENBQUM7SUFFTSxVQUFVO1FBQ2YsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNyQixPQUFPLENBQUMsS0FBSyxDQUFDLCtCQUErQixDQUFDLENBQUM7UUFDakQsQ0FBQztRQUVELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1FBQ2hFLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQzNELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN0RCxJQUFJLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDO2dCQUNoQyxLQUFLLEVBQUUsWUFBWSxDQUFDLFVBQVU7Z0JBQzlCLE1BQU0sRUFBRSxhQUFhLENBQUMsaUJBQWlCO2FBQ3hDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLGFBQWEsQ0FBQywwQkFBMEIsQ0FBQztZQUM1QyxRQUFRLEVBQUU7Z0JBQ1IsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLElBQUksU0FBUztnQkFDMUIsSUFBSSxFQUFFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJO2dCQUNuQyxRQUFRLEVBQUU7b0JBQ1IsUUFBUSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsUUFBUSxJQUFJLEtBQUs7b0JBQzVDLE1BQU0sRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLGtCQUFrQjtpQkFDaEQ7Z0JBQ0QsV0FBVyxFQUFFLElBQUksQ0FBQyxVQUFVO2dCQUM1QixhQUFhLEVBQUUsYUFBYSxDQUFDLE1BQU07YUFDcEM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sS0FBSztRQUNWLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVNLGlCQUFpQjtRQUN0QixJQUFJLENBQUMsYUFBYTthQUNmLG1CQUFtQixDQUFDLGFBQWEsQ0FBQyxzQkFBc0IsQ0FBQzthQUN6RCxTQUFTLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNyQixJQUFJLENBQUMsb0JBQW9CLEdBQUcsT0FBTyxJQUFJLFNBQVMsQ0FBQztRQUNuRCxDQUFDLENBQUMsQ0FBQztRQUVMLElBQUksQ0FBQyxhQUFhLENBQUMsMEJBQTBCLENBQUM7WUFDNUMsUUFBUSxFQUFFO2dCQUNSLEVBQUUsRUFBRSxJQUFJLENBQUMsb0JBQW9CLEVBQUUsRUFBRTtnQkFDakMsUUFBUSxFQUFFO29CQUNSLE1BQU0sRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLGtCQUFrQjtvQkFDL0MsTUFBTSxFQUFFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLO2lCQUN2QztnQkFDRCxXQUFXLEVBQUUsSUFBSSxDQUFDLFVBQVU7Z0JBQzVCLGFBQWEsRUFBRSxhQUFhLENBQUMsc0JBQXNCO2FBQ3BEO1lBQ0QsTUFBTSxFQUFFLElBQUk7U0FDYixDQUFDLENBQUM7SUFDTCxDQUFDOytHQXhGVSxpQkFBaUI7bUhBQWpCLGlCQUFpQjs7NEZBQWpCLGlCQUFpQjtrQkFEN0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVwbGF5U3ViamVjdCwgdGFrZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRUlucHV0c0FjdGlvbiwgRUlucHV0c1N0YXRlLCBHcWxGaWVsZHMsIElUcFVzZXJTZXR0aW5ncyB9IGZyb20gJy4uLy4uLy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IEZpbHRlcnNTZXJ2aWNlLCBGaWx0ZXJzU3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgU0VUVElOR1NfVFlQRSwgVVNFUl9TRVRUSU5HU19MT0FERVIgfSBmcm9tICcuLi8uLi8uLi8uLi9jb25zdHMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRmlsdGVyTGlzdFNlcnZpY2Uge1xuICBwdWJsaWMgcmVhZG9ubHkgYXBwbHkkID0gbmV3IFJlcGxheVN1YmplY3Q8R3FsRmllbGRzPigpO1xuXG4gIHB1YmxpYyBtb2R1bGVQYXRoITogc3RyaW5nO1xuXG4gIHByaXZhdGUgX3Bpbm5lZEZpbHRlclNldHRpbmc6IElUcFVzZXJTZXR0aW5ncyB8IHVuZGVmaW5lZDtcblxuICBwcml2YXRlIHJlYWRvbmx5IHNldHRpbmdzU3RvcmUgPSBpbmplY3QoVVNFUl9TRVRUSU5HU19MT0FERVIpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgX2ZpbHRlcnNTZXJ2aWNlOiBGaWx0ZXJzU2VydmljZTxhbnk+LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgX2ZpbHRlclN0YXRlU2VydmljZTogRmlsdGVyc1N0YXRlU2VydmljZTxhbnk+XG4gICkge31cblxuICBwdWJsaWMgYXBwbHlGaWx0ZXIoKTogdm9pZCB7XG4gICAgdGhpcy5hcHBseSQubmV4dCh0aGlzLl9maWx0ZXJzU2VydmljZS5ncWxGaWx0ZXIpO1xuICAgIHRoaXMuX2ZpbHRlclN0YXRlU2VydmljZS5zZXRTdGF0ZSh7XG4gICAgICBzdGF0ZTogRUlucHV0c1N0YXRlLkZJTFRFUl9MSVNULFxuICAgICAgYWN0aW9uOiBFSW5wdXRzQWN0aW9uLkFQUExZX0ZJTFRFUlMsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgYXBwbHlTYXZlZEZpbHRlcigpOiB2b2lkIHtcbiAgICBjb25zdCBzYXZlZEZpbHRlciA9IHRoaXMuX2ZpbHRlclN0YXRlU2VydmljZS5nZXRTZWxlY3RlZFNhdmVkRmlsdGVyKCk7XG4gICAgaWYgKHNhdmVkRmlsdGVyKSB7XG4gICAgICB0aGlzLl9maWx0ZXJzU2VydmljZS5zZXRVc2VyU2V0dGluZ3NGaWx0ZXJWYWx1ZXMoc2F2ZWRGaWx0ZXIuc2V0dGluZ3M/LmZpbHRlciA/PyBbXSk7XG4gICAgICB0aGlzLl9maWx0ZXJTdGF0ZVNlcnZpY2Uuc2V0U2VsZWN0ZWRTYXZlZEZpbHRlcihudWxsKTtcbiAgICAgIHRoaXMuX2ZpbHRlclN0YXRlU2VydmljZS5zZXRTdGF0ZSh7XG4gICAgICAgIHN0YXRlOiBFSW5wdXRzU3RhdGUuRklMVEVSX0xJU1QsXG4gICAgICAgIGFjdGlvbjogRUlucHV0c0FjdGlvbi5BUFBMWV9TQVZFRF9GSUxURVIsXG4gICAgICB9KTtcbiAgICAgIHRoaXMuYXBwbHkkLm5leHQodGhpcy5fZmlsdGVyc1NlcnZpY2UuZ3FsRmlsdGVyKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS5lcnJvcign0JLRi9Cx0YDQsNC90L3Ri9C5INGE0LjQu9GM0YLRgCDQvdC1INC90LDQudC00LXQvScpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzYXZlRmlsdGVyKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5tb2R1bGVQYXRoKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdtb2R1bGVQYXRoINC90LUg0LjQvdC40YbQuNCw0LvQuNC30LjRgNC+0LLQsNC9Jyk7XG4gICAgfVxuXG4gICAgY29uc3Qgc2F2ZWQgPSB0aGlzLl9maWx0ZXJTdGF0ZVNlcnZpY2UuZ2V0U2VsZWN0ZWRTYXZlZEZpbHRlcigpO1xuICAgIHRoaXMuc2V0dGluZ3NTdG9yZS51cHNlcnRFbmRlZCQucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5fZmlsdGVyU3RhdGVTZXJ2aWNlLnNldFNlbGVjdGVkU2F2ZWRGaWx0ZXIobnVsbCk7XG4gICAgICB0aGlzLl9maWx0ZXJTdGF0ZVNlcnZpY2Uuc2V0U3RhdGUoe1xuICAgICAgICBzdGF0ZTogRUlucHV0c1N0YXRlLlNBVkVEX0xJU1QsXG4gICAgICAgIGFjdGlvbjogRUlucHV0c0FjdGlvbi5BRlRFUl9TQVZFX0ZJTFRFUixcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgdGhpcy5zZXR0aW5nc1N0b3JlLnVwc2VydFVzZXJTZXR0aW5nc0J5VXNlcklkKHtcbiAgICAgIHNldHRpbmdzOiB7XG4gICAgICAgIGlkOiBzYXZlZD8uaWQgPz8gdW5kZWZpbmVkLFxuICAgICAgICBuYW1lOiB0aGlzLl9maWx0ZXJTdGF0ZVNlcnZpY2UubmFtZSxcbiAgICAgICAgc2V0dGluZ3M6IHtcbiAgICAgICAgICBmYXZvcml0ZTogc2F2ZWQ/LnNldHRpbmdzPy5mYXZvcml0ZSA/PyBmYWxzZSxcbiAgICAgICAgICBmaWx0ZXI6IHRoaXMuX2ZpbHRlcnNTZXJ2aWNlLnVzZXJTZXR0aW5nc0ZpbHRlcixcbiAgICAgICAgfSxcbiAgICAgICAgbW9kdWxlX25hbWU6IHRoaXMubW9kdWxlUGF0aCxcbiAgICAgICAgc2V0dGluZ3NfdHlwZTogU0VUVElOR1NfVFlQRS5GSUxURVIsXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGNsZWFyKCk6IHZvaWQge1xuICAgIHRoaXMuX2ZpbHRlcnNTZXJ2aWNlLmNsZWFyKCk7XG4gIH1cblxuICBwdWJsaWMgc2F2ZVBpbm5lZEZpbHRlcnMoKTogdm9pZCB7XG4gICAgdGhpcy5zZXR0aW5nc1N0b3JlXG4gICAgICAudXBzZXJ0UmV0dXJuaW5nT25lJChTRVRUSU5HU19UWVBFLlJFR0lTVEVSX1BJTk5FRF9JTlBVVFMpXG4gICAgICAuc3Vic2NyaWJlKChzZXR0aW5nKSA9PiB7XG4gICAgICAgIHRoaXMuX3Bpbm5lZEZpbHRlclNldHRpbmcgPSBzZXR0aW5nID8/IHVuZGVmaW5lZDtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy5zZXR0aW5nc1N0b3JlLnVwc2VydFVzZXJTZXR0aW5nc0J5VXNlcklkKHtcbiAgICAgIHNldHRpbmdzOiB7XG4gICAgICAgIGlkOiB0aGlzLl9waW5uZWRGaWx0ZXJTZXR0aW5nPy5pZCxcbiAgICAgICAgc2V0dGluZ3M6IHtcbiAgICAgICAgICBmaWx0ZXI6IHRoaXMuX2ZpbHRlcnNTZXJ2aWNlLnVzZXJTZXR0aW5nc0ZpbHRlcixcbiAgICAgICAgICBwaW5uZWQ6IHRoaXMuX2ZpbHRlclN0YXRlU2VydmljZS5pc1BpbixcbiAgICAgICAgfSxcbiAgICAgICAgbW9kdWxlX25hbWU6IHRoaXMubW9kdWxlUGF0aCxcbiAgICAgICAgc2V0dGluZ3NfdHlwZTogU0VUVElOR1NfVFlQRS5SRUdJU1RFUl9QSU5ORURfSU5QVVRTLFxuICAgICAgfSxcbiAgICAgIGhpZGRlbjogdHJ1ZSxcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, computed, contentChildren, inject, Injector, input, runInInjectionContext, signal, } from '@angular/core';
|
|
2
|
+
import { NgControl } from '@angular/forms';
|
|
3
|
+
import { combineLatest, of, switchMap } from 'rxjs';
|
|
4
|
+
import { toObservable, toSignal } from '@angular/core/rxjs-interop';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@prizm-ui/icons";
|
|
7
|
+
export class FiltersSectionComponent {
|
|
8
|
+
constructor() {
|
|
9
|
+
this.controls = contentChildren(NgControl, { descendants: true });
|
|
10
|
+
this.label = input('');
|
|
11
|
+
this.isOpen = signal(true);
|
|
12
|
+
this.haveAppliedFilters = computed(() => this._sameControlApplied());
|
|
13
|
+
this._sameControlApplied = computed(() => this._checkSomeControlApplied());
|
|
14
|
+
this._controlsChanges = toSignal(toObservable(this.controls).pipe(switchMap((controls) => combineLatest(controls.map(({ control }) => runInInjectionContext(this._injector, () => {
|
|
15
|
+
const applied = control?.applied;
|
|
16
|
+
return applied ? toObservable(applied) : of(false);
|
|
17
|
+
}))))), { initialValue: [] });
|
|
18
|
+
this._injector = inject(Injector);
|
|
19
|
+
}
|
|
20
|
+
toggleHeader() {
|
|
21
|
+
this.isOpen.update((isOpen) => !isOpen);
|
|
22
|
+
}
|
|
23
|
+
_checkSomeControlApplied() {
|
|
24
|
+
return this._controlsChanges().some((controlValue) => {
|
|
25
|
+
if (!controlValue) {
|
|
26
|
+
return false;
|
|
27
|
+
}
|
|
28
|
+
if (Array.isArray(controlValue)) {
|
|
29
|
+
return controlValue.some((value) => !!value);
|
|
30
|
+
}
|
|
31
|
+
return true;
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FiltersSectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
35
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: FiltersSectionComponent, selector: "sproc-filters-section", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null } }, queries: [{ propertyName: "controls", predicate: NgControl, descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"panel-head\" (click)=\"toggleHeader()\">\n <div class=\"title\">\n <span class=\"title__font\">{{ label() }}</span>\n @if (haveAppliedFilters()) {\n <div class=\"title__wrapper--relative\">\n <div class=\"title-wrapper--absolute indicator__wrapper\">\n <div class=\"indicator__icon indicator--danger\"></div>\n </div>\n </div>\n }\n </div>\n\n <prizm-icons [name]=\"isOpen() ? 'chevrons-up' : 'chevrons-down'\" size=\"16\"></prizm-icons>\n</div>\n\n<div class=\"filters-block\" [attr.show]=\"isOpen()\">\n <ng-content></ng-content>\n</div>\n", styles: [".input-text-14px{font-family:Inter,serif;font-size:14px;font-weight:300;line-height:16px}.input-text-12px,.body-text-12px{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:16px}.body-text-14px{font-family:Inter,serif;font-size:14px;font-weight:300;line-height:20px}.table-heading-12px{font-family:Inter,serif;font-size:12px;font-weight:500;line-height:16px}.table-text-12px{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:16px}.table-text-12px-400{font-family:Inter,serif;font-size:12px;font-weight:400;line-height:16px}.table-text-14px{font-family:Inter,serif;font-size:14px;font-weight:300;line-height:16px}.button-links-12px{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:16px}.button-links-12px-600{font-family:Inter,serif;font-size:12px;font-weight:600;line-height:16px}.button-links-14px{font-family:Inter,serif;font-size:14px;font-weight:300;line-height:16px}.input-label{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:16px}.input-area{font-family:Inter,serif;font-size:12px;font-weight:400;line-height:20px}.static-title-h3{font-family:Inter,serif;font-size:16px;font-weight:600;line-height:20px}.static-title-h4{font-family:Inter,serif;font-size:14px;font-weight:500;line-height:18px}.dynamic-title-h4{font-family:Inter,serif;font-size:14px;font-weight:800;line-height:20px}.main-body-text-12px{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:20px}.main-body-text-14px{font-family:Inter,serif;font-size:14px;font-weight:300;line-height:20px}.main-subscription{font-family:Inter,serif;font-size:10px;font-weight:400;line-height:12px}.input-helper-9px{font-family:Inter,serif;font-size:9px;font-weight:300;line-height:12px}.typography-content-text{font-family:Inter,serif;font-size:12px;font-weight:350;line-height:16px}.main-subtitle,.card-content-text{font-family:Inter,serif;font-size:14px;font-weight:400;line-height:16px}.filter-header-text{font-family:Inter,serif;font-size:14px;font-weight:500;line-height:18px}.btn-14px{font-family:Inter,serif;font-size:14px;font-weight:400;line-height:16px}.search-11px{font-family:Inter,serif;font-size:11px;font-weight:300;line-height:12px}:root{--input-text-12px: normal 300 12px / 16px \"Inter\";--input-text-14px: normal 300 14px / 16px \"Inter\"}:host{display:flex;flex-direction:column;padding-top:8px;gap:8px}:host .panel-head{display:flex;justify-content:space-between;padding-right:4px;height:24px;align-items:center;border-bottom:1px solid var(--brand-blue);cursor:pointer}:host .panel-head .title{display:flex;align-items:center;height:20px}:host .panel-head .title__font{font-family:Inter,serif;font-size:14px;font-weight:400;line-height:16px}:host .panel-head .title--has-filters:after{content:\"\";display:block;width:6px;height:6px;border-radius:50%;background-color:var(--brand-danger);margin-left:5px}:host .filters-block{display:flex;flex-direction:column;gap:8px;padding:0 2px;transform-origin:top;transition:max-height .4s;overflow:hidden}:host .filters-block[show=true]{max-height:1000px}:host .filters-block[show=false]{max-height:0}\n"], dependencies: [{ kind: "component", type: i1.PrizmIconsComponent, selector: "prizm-icons", inputs: ["name", "color", "size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
36
|
+
}
|
|
37
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FiltersSectionComponent, decorators: [{
|
|
38
|
+
type: Component,
|
|
39
|
+
args: [{ selector: 'sproc-filters-section', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"panel-head\" (click)=\"toggleHeader()\">\n <div class=\"title\">\n <span class=\"title__font\">{{ label() }}</span>\n @if (haveAppliedFilters()) {\n <div class=\"title__wrapper--relative\">\n <div class=\"title-wrapper--absolute indicator__wrapper\">\n <div class=\"indicator__icon indicator--danger\"></div>\n </div>\n </div>\n }\n </div>\n\n <prizm-icons [name]=\"isOpen() ? 'chevrons-up' : 'chevrons-down'\" size=\"16\"></prizm-icons>\n</div>\n\n<div class=\"filters-block\" [attr.show]=\"isOpen()\">\n <ng-content></ng-content>\n</div>\n", styles: [".input-text-14px{font-family:Inter,serif;font-size:14px;font-weight:300;line-height:16px}.input-text-12px,.body-text-12px{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:16px}.body-text-14px{font-family:Inter,serif;font-size:14px;font-weight:300;line-height:20px}.table-heading-12px{font-family:Inter,serif;font-size:12px;font-weight:500;line-height:16px}.table-text-12px{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:16px}.table-text-12px-400{font-family:Inter,serif;font-size:12px;font-weight:400;line-height:16px}.table-text-14px{font-family:Inter,serif;font-size:14px;font-weight:300;line-height:16px}.button-links-12px{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:16px}.button-links-12px-600{font-family:Inter,serif;font-size:12px;font-weight:600;line-height:16px}.button-links-14px{font-family:Inter,serif;font-size:14px;font-weight:300;line-height:16px}.input-label{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:16px}.input-area{font-family:Inter,serif;font-size:12px;font-weight:400;line-height:20px}.static-title-h3{font-family:Inter,serif;font-size:16px;font-weight:600;line-height:20px}.static-title-h4{font-family:Inter,serif;font-size:14px;font-weight:500;line-height:18px}.dynamic-title-h4{font-family:Inter,serif;font-size:14px;font-weight:800;line-height:20px}.main-body-text-12px{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:20px}.main-body-text-14px{font-family:Inter,serif;font-size:14px;font-weight:300;line-height:20px}.main-subscription{font-family:Inter,serif;font-size:10px;font-weight:400;line-height:12px}.input-helper-9px{font-family:Inter,serif;font-size:9px;font-weight:300;line-height:12px}.typography-content-text{font-family:Inter,serif;font-size:12px;font-weight:350;line-height:16px}.main-subtitle,.card-content-text{font-family:Inter,serif;font-size:14px;font-weight:400;line-height:16px}.filter-header-text{font-family:Inter,serif;font-size:14px;font-weight:500;line-height:18px}.btn-14px{font-family:Inter,serif;font-size:14px;font-weight:400;line-height:16px}.search-11px{font-family:Inter,serif;font-size:11px;font-weight:300;line-height:12px}:root{--input-text-12px: normal 300 12px / 16px \"Inter\";--input-text-14px: normal 300 14px / 16px \"Inter\"}:host{display:flex;flex-direction:column;padding-top:8px;gap:8px}:host .panel-head{display:flex;justify-content:space-between;padding-right:4px;height:24px;align-items:center;border-bottom:1px solid var(--brand-blue);cursor:pointer}:host .panel-head .title{display:flex;align-items:center;height:20px}:host .panel-head .title__font{font-family:Inter,serif;font-size:14px;font-weight:400;line-height:16px}:host .panel-head .title--has-filters:after{content:\"\";display:block;width:6px;height:6px;border-radius:50%;background-color:var(--brand-danger);margin-left:5px}:host .filters-block{display:flex;flex-direction:column;gap:8px;padding:0 2px;transform-origin:top;transition:max-height .4s;overflow:hidden}:host .filters-block[show=true]{max-height:1000px}:host .filters-block[show=false]{max-height:0}\n"] }]
|
|
40
|
+
}] });
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVycy1zZWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZWdpc3Rlci1iYXNlL3NyYy9saWIvY29tcG9uZW50cy9maWx0ZXJzL2NvbXBvbmVudHMvZmlsdGVyLWxpc3QvZmlsdGVycy1zZWN0aW9uL2ZpbHRlcnMtc2VjdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmVnaXN0ZXItYmFzZS9zcmMvbGliL2NvbXBvbmVudHMvZmlsdGVycy9jb21wb25lbnRzL2ZpbHRlci1saXN0L2ZpbHRlcnMtc2VjdGlvbi9maWx0ZXJzLXNlY3Rpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsUUFBUSxFQUNSLGVBQWUsRUFDZixNQUFNLEVBQ04sUUFBUSxFQUNSLEtBQUssRUFDTCxxQkFBcUIsRUFDckIsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEQsT0FBTyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7O0FBU3BFLE1BQU0sT0FBTyx1QkFBdUI7SUFOcEM7UUFPUyxhQUFRLEdBQUcsZUFBZSxDQUFZLFNBQVMsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRXhFLFVBQUssR0FBRyxLQUFLLENBQVMsRUFBRSxDQUFDLENBQUM7UUFFdkIsV0FBTSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0Qix1QkFBa0IsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUMsQ0FBQztRQUVsRSx3QkFBbUIsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUMsQ0FBQztRQUV0RSxxQkFBZ0IsR0FBRyxRQUFRLENBQ2pDLFlBQVksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUM5QixTQUFTLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUNyQixhQUFhLENBQ1gsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxDQUMzQixxQkFBcUIsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLEdBQUcsRUFBRTtZQUN6QyxNQUFNLE9BQU8sR0FBSSxPQUF5QixFQUFFLE9BQU8sQ0FBQztZQUVwRCxPQUFPLE9BQU8sQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckQsQ0FBQyxDQUFDLENBQ0gsQ0FDRixDQUNGLENBQ0YsRUFDRCxFQUFFLFlBQVksRUFBRSxFQUFFLEVBQUUsQ0FDckIsQ0FBQztRQUVlLGNBQVMsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7S0FtQi9DO0lBakJXLFlBQVk7UUFDcEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVPLHdCQUF3QjtRQUM5QixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLFlBQVksRUFBRSxFQUFFO1lBQ25ELElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztnQkFDbEIsT0FBTyxLQUFLLENBQUM7WUFDZixDQUFDO1lBRUQsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUM7Z0JBQ2hDLE9BQU8sWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQy9DLENBQUM7WUFFRCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzsrR0E3Q1UsdUJBQXVCO21HQUF2Qix1QkFBdUIsME5BQ1csU0FBUyxnRUN2QnhELDBsQkFrQkE7OzRGRElhLHVCQUF1QjtrQkFObkMsU0FBUzsrQkFDRSx1QkFBdUIsbUJBR2hCLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBjb21wdXRlZCxcbiAgY29udGVudENoaWxkcmVuLFxuICBpbmplY3QsXG4gIEluamVjdG9yLFxuICBpbnB1dCxcbiAgcnVuSW5JbmplY3Rpb25Db250ZXh0LFxuICBzaWduYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgb2YsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdG9PYnNlcnZhYmxlLCB0b1NpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IElJbnB1dENvbnRyb2wgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi90eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Nwcm9jLWZpbHRlcnMtc2VjdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9maWx0ZXJzLXNlY3Rpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9maWx0ZXJzLXNlY3Rpb24uY29tcG9uZW50Lmxlc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEZpbHRlcnNTZWN0aW9uQ29tcG9uZW50IHtcbiAgcHVibGljIGNvbnRyb2xzID0gY29udGVudENoaWxkcmVuPE5nQ29udHJvbD4oTmdDb250cm9sLCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pO1xuXG4gIHB1YmxpYyBsYWJlbCA9IGlucHV0PHN0cmluZz4oJycpO1xuXG4gIHByb3RlY3RlZCBpc09wZW4gPSBzaWduYWwodHJ1ZSk7XG4gIHByb3RlY3RlZCBoYXZlQXBwbGllZEZpbHRlcnMgPSBjb21wdXRlZCgoKSA9PiB0aGlzLl9zYW1lQ29udHJvbEFwcGxpZWQoKSk7XG5cbiAgcHJpdmF0ZSBfc2FtZUNvbnRyb2xBcHBsaWVkID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5fY2hlY2tTb21lQ29udHJvbEFwcGxpZWQoKSk7XG5cbiAgcHJpdmF0ZSBfY29udHJvbHNDaGFuZ2VzID0gdG9TaWduYWwoXG4gICAgdG9PYnNlcnZhYmxlKHRoaXMuY29udHJvbHMpLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKGNvbnRyb2xzKSA9PlxuICAgICAgICBjb21iaW5lTGF0ZXN0KFxuICAgICAgICAgIGNvbnRyb2xzLm1hcCgoeyBjb250cm9sIH0pID0+XG4gICAgICAgICAgICBydW5JbkluamVjdGlvbkNvbnRleHQodGhpcy5faW5qZWN0b3IsICgpID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgYXBwbGllZCA9IChjb250cm9sIGFzIElJbnB1dENvbnRyb2wpPy5hcHBsaWVkO1xuXG4gICAgICAgICAgICAgIHJldHVybiBhcHBsaWVkID8gdG9PYnNlcnZhYmxlKGFwcGxpZWQpIDogb2YoZmFsc2UpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICApXG4gICAgICAgIClcbiAgICAgIClcbiAgICApLFxuICAgIHsgaW5pdGlhbFZhbHVlOiBbXSB9XG4gICk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuXG4gIHByb3RlY3RlZCB0b2dnbGVIZWFkZXIoKTogdm9pZCB7XG4gICAgdGhpcy5pc09wZW4udXBkYXRlKChpc09wZW4pID0+ICFpc09wZW4pO1xuICB9XG5cbiAgcHJpdmF0ZSBfY2hlY2tTb21lQ29udHJvbEFwcGxpZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbnRyb2xzQ2hhbmdlcygpLnNvbWUoKGNvbnRyb2xWYWx1ZSkgPT4ge1xuICAgICAgaWYgKCFjb250cm9sVmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuXG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShjb250cm9sVmFsdWUpKSB7XG4gICAgICAgIHJldHVybiBjb250cm9sVmFsdWUuc29tZSgodmFsdWUpID0+ICEhdmFsdWUpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9KTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInBhbmVsLWhlYWRcIiAoY2xpY2spPVwidG9nZ2xlSGVhZGVyKClcIj5cbiAgPGRpdiBjbGFzcz1cInRpdGxlXCI+XG4gICAgPHNwYW4gY2xhc3M9XCJ0aXRsZV9fZm9udFwiPnt7IGxhYmVsKCkgfX08L3NwYW4+XG4gICAgQGlmIChoYXZlQXBwbGllZEZpbHRlcnMoKSkge1xuICAgICAgPGRpdiBjbGFzcz1cInRpdGxlX193cmFwcGVyLS1yZWxhdGl2ZVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidGl0bGUtd3JhcHBlci0tYWJzb2x1dGUgaW5kaWNhdG9yX193cmFwcGVyXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImluZGljYXRvcl9faWNvbiBpbmRpY2F0b3ItLWRhbmdlclwiPjwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgPC9kaXY+XG5cbiAgPHByaXptLWljb25zIFtuYW1lXT1cImlzT3BlbigpID8gJ2NoZXZyb25zLXVwJyA6ICdjaGV2cm9ucy1kb3duJ1wiIHNpemU9XCIxNlwiPjwvcHJpem0taWNvbnM+XG48L2Rpdj5cblxuPGRpdiBjbGFzcz1cImZpbHRlcnMtYmxvY2tcIiBbYXR0ci5zaG93XT1cImlzT3BlbigpXCI+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvZGl2PlxuIl19
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
4
|
+
import { FilterListFooterComponent } from './filter-list/filter-list-footer/filter-list-footer.component';
|
|
5
|
+
import { FilterListHeaderComponent } from './filter-list/filter-list-header/filter-list-header.component';
|
|
6
|
+
import { FilterEditComponent } from './filter-list/filter-edit/filter-edit.component';
|
|
7
|
+
import { FilterListSavedComponent } from './filter-list/filter-list-saved/filter-list-saved.component';
|
|
8
|
+
import { FiltersSectionComponent } from './filter-list/filters-section/filters-section.component';
|
|
9
|
+
import { DividerComponent } from '../../divider/divider.component';
|
|
10
|
+
import { PrizmSharedModule } from '../../../utils/prizm.shared.module';
|
|
11
|
+
import * as i0 from "@angular/core";
|
|
12
|
+
export class FilterListModule {
|
|
13
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FilterListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
14
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: FilterListModule, declarations: [FilterListHeaderComponent,
|
|
15
|
+
FilterEditComponent,
|
|
16
|
+
FilterListSavedComponent,
|
|
17
|
+
FiltersSectionComponent,
|
|
18
|
+
FilterListFooterComponent], imports: [CommonModule, FormsModule, ReactiveFormsModule, PrizmSharedModule, DividerComponent], exports: [FilterEditComponent,
|
|
19
|
+
FilterListSavedComponent,
|
|
20
|
+
FiltersSectionComponent,
|
|
21
|
+
FilterListHeaderComponent,
|
|
22
|
+
FilterListFooterComponent] }); }
|
|
23
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FilterListModule, imports: [CommonModule, FormsModule, ReactiveFormsModule, PrizmSharedModule] }); }
|
|
24
|
+
}
|
|
25
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FilterListModule, decorators: [{
|
|
26
|
+
type: NgModule,
|
|
27
|
+
args: [{
|
|
28
|
+
declarations: [
|
|
29
|
+
FilterListHeaderComponent,
|
|
30
|
+
FilterEditComponent,
|
|
31
|
+
FilterListSavedComponent,
|
|
32
|
+
FiltersSectionComponent,
|
|
33
|
+
FilterListFooterComponent,
|
|
34
|
+
],
|
|
35
|
+
imports: [CommonModule, FormsModule, ReactiveFormsModule, PrizmSharedModule, DividerComponent],
|
|
36
|
+
exports: [
|
|
37
|
+
FilterEditComponent,
|
|
38
|
+
FilterListSavedComponent,
|
|
39
|
+
FiltersSectionComponent,
|
|
40
|
+
FilterListHeaderComponent,
|
|
41
|
+
FilterListFooterComponent,
|
|
42
|
+
],
|
|
43
|
+
}]
|
|
44
|
+
}] });
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWxpc3QubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJlZ2lzdGVyLWJhc2Uvc3JjL2xpYi9jb21wb25lbnRzL2ZpbHRlcnMvY29tcG9uZW50cy9maWx0ZXItbGlzdC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQzFHLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQzFHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQ3RGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOztBQW1CdkUsTUFBTSxPQUFPLGdCQUFnQjsrR0FBaEIsZ0JBQWdCO2dIQUFoQixnQkFBZ0IsaUJBZnpCLHlCQUF5QjtZQUN6QixtQkFBbUI7WUFDbkIsd0JBQXdCO1lBQ3hCLHVCQUF1QjtZQUN2Qix5QkFBeUIsYUFFakIsWUFBWSxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsYUFFM0YsbUJBQW1CO1lBQ25CLHdCQUF3QjtZQUN4Qix1QkFBdUI7WUFDdkIseUJBQXlCO1lBQ3pCLHlCQUF5QjtnSEFHaEIsZ0JBQWdCLFlBVGpCLFlBQVksRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsaUJBQWlCOzs0RkFTaEUsZ0JBQWdCO2tCQWpCNUIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1oseUJBQXlCO3dCQUN6QixtQkFBbUI7d0JBQ25CLHdCQUF3Qjt3QkFDeEIsdUJBQXVCO3dCQUN2Qix5QkFBeUI7cUJBQzFCO29CQUNELE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLENBQUM7b0JBQzlGLE9BQU8sRUFBRTt3QkFDUCxtQkFBbUI7d0JBQ25CLHdCQUF3Qjt3QkFDeEIsdUJBQXVCO3dCQUN2Qix5QkFBeUI7d0JBQ3pCLHlCQUF5QjtxQkFDMUI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRmlsdGVyTGlzdEZvb3RlckNvbXBvbmVudCB9IGZyb20gJy4vZmlsdGVyLWxpc3QvZmlsdGVyLWxpc3QtZm9vdGVyL2ZpbHRlci1saXN0LWZvb3Rlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmlsdGVyTGlzdEhlYWRlckNvbXBvbmVudCB9IGZyb20gJy4vZmlsdGVyLWxpc3QvZmlsdGVyLWxpc3QtaGVhZGVyL2ZpbHRlci1saXN0LWhlYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmlsdGVyRWRpdENvbXBvbmVudCB9IGZyb20gJy4vZmlsdGVyLWxpc3QvZmlsdGVyLWVkaXQvZmlsdGVyLWVkaXQuY29tcG9uZW50JztcbmltcG9ydCB7IEZpbHRlckxpc3RTYXZlZENvbXBvbmVudCB9IGZyb20gJy4vZmlsdGVyLWxpc3QvZmlsdGVyLWxpc3Qtc2F2ZWQvZmlsdGVyLWxpc3Qtc2F2ZWQuY29tcG9uZW50JztcbmltcG9ydCB7IEZpbHRlcnNTZWN0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9maWx0ZXItbGlzdC9maWx0ZXJzLXNlY3Rpb24vZmlsdGVycy1zZWN0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEaXZpZGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vZGl2aWRlci9kaXZpZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcml6bVNoYXJlZE1vZHVsZSB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL3ByaXptLnNoYXJlZC5tb2R1bGUnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBGaWx0ZXJMaXN0SGVhZGVyQ29tcG9uZW50LFxuICAgIEZpbHRlckVkaXRDb21wb25lbnQsXG4gICAgRmlsdGVyTGlzdFNhdmVkQ29tcG9uZW50LFxuICAgIEZpbHRlcnNTZWN0aW9uQ29tcG9uZW50LFxuICAgIEZpbHRlckxpc3RGb290ZXJDb21wb25lbnQsXG4gIF0sXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBQcml6bVNoYXJlZE1vZHVsZSwgRGl2aWRlckNvbXBvbmVudF0sXG4gIGV4cG9ydHM6IFtcbiAgICBGaWx0ZXJFZGl0Q29tcG9uZW50LFxuICAgIEZpbHRlckxpc3RTYXZlZENvbXBvbmVudCxcbiAgICBGaWx0ZXJzU2VjdGlvbkNvbXBvbmVudCxcbiAgICBGaWx0ZXJMaXN0SGVhZGVyQ29tcG9uZW50LFxuICAgIEZpbHRlckxpc3RGb290ZXJDb21wb25lbnQsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZpbHRlckxpc3RNb2R1bGUge31cbiJdfQ==
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { RegisterTableFilterComponent } from './register-table-filter.component';
|
|
2
|
+
export { RegisterTableFilterModule } from './register-table-filter.module';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmVnaXN0ZXItYmFzZS9zcmMvbGliL2NvbXBvbmVudHMvZmlsdGVycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNqRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IFJlZ2lzdGVyVGFibGVGaWx0ZXJDb21wb25lbnQgfSBmcm9tICcuL3JlZ2lzdGVyLXRhYmxlLWZpbHRlci5jb21wb25lbnQnO1xuZXhwb3J0IHsgUmVnaXN0ZXJUYWJsZUZpbHRlck1vZHVsZSB9IGZyb20gJy4vcmVnaXN0ZXItdGFibGUtZmlsdGVyLm1vZHVsZSc7XG4iXX0=
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, inject, Input, Output, } from '@angular/core';
|
|
2
|
+
import { combineLatest, debounceTime, map, Subject, takeUntil, of } from 'rxjs';
|
|
3
|
+
import { EInputsAction, EInputsState, } from '../../types';
|
|
4
|
+
import { PAGE_MENU_STATE } from '../page-menu';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "../../core";
|
|
7
|
+
import * as i2 from "../../services";
|
|
8
|
+
import * as i3 from "@angular/common";
|
|
9
|
+
import * as i4 from "./components/filter-list/filter-edit/filter-edit.component";
|
|
10
|
+
import * as i5 from "./components/filter-list/filter-list-saved/filter-list-saved.component";
|
|
11
|
+
import * as i6 from "./components/filter-list/filter-list-header/filter-list-header.component";
|
|
12
|
+
import * as i7 from "./components/filter-list/filter-list-footer/filter-list-footer.component";
|
|
13
|
+
import * as i8 from "../divider/divider.component";
|
|
14
|
+
import * as i9 from "../sliding-panel/sliding-panel.component";
|
|
15
|
+
import * as i10 from "@taiga-ui/core";
|
|
16
|
+
export class RegisterTableFilterComponent {
|
|
17
|
+
constructor(_store, _filterStateService, _filterListService) {
|
|
18
|
+
this._store = _store;
|
|
19
|
+
this._filterStateService = _filterStateService;
|
|
20
|
+
this._filterListService = _filterListService;
|
|
21
|
+
this.showTotal = true;
|
|
22
|
+
this.showPin = true;
|
|
23
|
+
this.showCloseButton = true;
|
|
24
|
+
this.acceptButtonDisabled = false;
|
|
25
|
+
this.applyButtonDisabled = false;
|
|
26
|
+
/** Доп. отступ для вычисления высоты панели (в пикселях) */
|
|
27
|
+
this.subOffsetHeight = 0;
|
|
28
|
+
this.filterListHeaderTitle = 'Фильтр';
|
|
29
|
+
this.footerApplyButtonLabel = 'Применить';
|
|
30
|
+
this.clickApplyButton = new EventEmitter();
|
|
31
|
+
this._menuState = inject(PAGE_MENU_STATE);
|
|
32
|
+
this._unsubscribe$ = new Subject();
|
|
33
|
+
this.FilterState = EInputsState;
|
|
34
|
+
this.filterState$ = this._filterStateService.state$.pipe(map((filterState) => filterState.state));
|
|
35
|
+
this.isOpen$ = this.filterState$.pipe(map((state) => state !== EInputsState.HIDDEN));
|
|
36
|
+
this.total$ = this._store.total$ ?? of(0);
|
|
37
|
+
this._currentFilters = [];
|
|
38
|
+
this._previousState = {
|
|
39
|
+
state: EInputsState.HIDDEN,
|
|
40
|
+
action: EInputsAction.CANCEL,
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
ngOnInit() {
|
|
44
|
+
combineLatest([this._filterStateService.state$, this._filterStateService.selectedSavedFilter])
|
|
45
|
+
.pipe(takeUntil(this._unsubscribe$))
|
|
46
|
+
.subscribe({
|
|
47
|
+
next: ([state, selected]) => {
|
|
48
|
+
if (state.state === EInputsState.SAVED_LIST) {
|
|
49
|
+
this.acceptButtonDisabled = !selected;
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
if (state.state === EInputsState.ON_EDIT_FILTER) {
|
|
53
|
+
this.acceptButtonDisabled = false;
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
if (state.state === EInputsState.ON_SAVE_FILTER) {
|
|
57
|
+
this.acceptButtonDisabled = false;
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
this.acceptButtonDisabled = true;
|
|
61
|
+
},
|
|
62
|
+
});
|
|
63
|
+
if (this._filterStateService.isPin) {
|
|
64
|
+
this._filterStateService.setState({
|
|
65
|
+
state: EInputsState.FILTER_LIST,
|
|
66
|
+
action: EInputsAction.OPEN,
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
closeMenu(isPin) {
|
|
71
|
+
if (isPin) {
|
|
72
|
+
this._menuState.setOpen(false);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
onApplyFilter(gqlFilter, savePage) {
|
|
76
|
+
if (!savePage) {
|
|
77
|
+
this._filterStateService.setOffset(0);
|
|
78
|
+
this._filterStateService.setPage(1);
|
|
79
|
+
}
|
|
80
|
+
this._filterStateService.setGqlValues(gqlFilter);
|
|
81
|
+
this.clickApplyButton.next();
|
|
82
|
+
}
|
|
83
|
+
ngAfterViewInit() {
|
|
84
|
+
this._subscribeOnState();
|
|
85
|
+
}
|
|
86
|
+
_subscribeOnState() {
|
|
87
|
+
combineLatest([this._filterStateService.state$, this._filterStateService.selectedSavedFilter])
|
|
88
|
+
.pipe(debounceTime(500), takeUntil(this._unsubscribe$))
|
|
89
|
+
.subscribe(([state, settings]) => {
|
|
90
|
+
this._setFilters(state, settings);
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
_setFilters(state, settings) {
|
|
94
|
+
const { state: currentState, action: currentAction } = state;
|
|
95
|
+
const { state: previousState } = this._previousState;
|
|
96
|
+
switch (currentState) {
|
|
97
|
+
case EInputsState.ON_EDIT_FILTER:
|
|
98
|
+
if (previousState !== EInputsState.ON_EDIT_FILTER) {
|
|
99
|
+
this._filterListService.setUserSettingsFilterValues(settings?.settings?.filter ?? []);
|
|
100
|
+
}
|
|
101
|
+
break;
|
|
102
|
+
case EInputsState.SAVED_LIST:
|
|
103
|
+
if (previousState !== EInputsState.SAVED_LIST &&
|
|
104
|
+
previousState !== EInputsState.ON_EDIT_FILTER &&
|
|
105
|
+
previousState !== EInputsState.ON_SAVE_FILTER) {
|
|
106
|
+
this._currentFilters = this._filterListService.userSettingsFilter;
|
|
107
|
+
}
|
|
108
|
+
break;
|
|
109
|
+
case EInputsState.FILTER_LIST:
|
|
110
|
+
if (previousState !== EInputsState.FILTER_LIST) {
|
|
111
|
+
if (currentAction === EInputsAction.CANCEL) {
|
|
112
|
+
this._filterListService.setUserSettingsFilterValues(this._currentFilters);
|
|
113
|
+
}
|
|
114
|
+
else if (currentAction === EInputsAction.APPLY_SAVED_FILTER) {
|
|
115
|
+
this._currentFilters = settings?.settings?.filter ?? [];
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
break;
|
|
119
|
+
default:
|
|
120
|
+
console.warn('Состояние фильтра', currentState);
|
|
121
|
+
break;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
ngOnDestroy() {
|
|
125
|
+
this._unsubscribe$.next();
|
|
126
|
+
this._unsubscribe$.complete();
|
|
127
|
+
}
|
|
128
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RegisterTableFilterComponent, deps: [{ token: i1.RegisterBaseStore }, { token: i2.FiltersStateService }, { token: i2.FiltersService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
129
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: RegisterTableFilterComponent, selector: "sproc-register-table-filter", inputs: { height: "height", showTotal: "showTotal", showPin: "showPin", showCloseButton: "showCloseButton", acceptButtonDisabled: "acceptButtonDisabled", applyButtonDisabled: "applyButtonDisabled", subOffsetHeight: "subOffsetHeight", filterListHeaderTitle: "filterListHeaderTitle", footerApplyButtonLabel: "footerApplyButtonLabel" }, outputs: { clickApplyButton: "clickApplyButton" }, ngImport: i0, template: "<sproc-sliding-panel [isOpen]=\"isOpen$ | async\" [subOffsetHeight]=\"subOffsetHeight\">\n <sproc-filter-list-header\n header\n [showTotal]=\"showTotal\"\n [showPin]=\"showPin\"\n [showCloseButton]=\"showCloseButton\"\n [total]=\"total$ | async\"\n [acceptButtonDisabled]=\"acceptButtonDisabled\"\n [applyButtonDisabled]=\"applyButtonDisabled\"\n [filterListHeaderTitle]=\"filterListHeaderTitle\"\n (pinnedChange)=\"closeMenu($event)\"\n (applyFilter)=\"onApplyFilter($event)\"\n ></sproc-filter-list-header>\n\n <ng-container [ngSwitch]=\"filterState$ | async\">\n <ng-container *ngSwitchCase=\"FilterState.FILTER_LIST\" [ngTemplateOutlet]=\"filtersTemplate\">\n </ng-container>\n\n <div *ngSwitchCase=\"FilterState.SAVED_LIST\">\n <sproc-filter-list-saved></sproc-filter-list-saved>\n </div>\n\n <div *ngSwitchCase=\"FilterState.ON_EDIT_FILTER\">\n <sproc-filter-edit></sproc-filter-edit>\n\n <sproc-divider></sproc-divider>\n\n <ng-container [ngTemplateOutlet]=\"filtersTemplate\"></ng-container>\n </div>\n\n <div *ngSwitchCase=\"FilterState.ON_SAVE_FILTER\">\n <sproc-filter-edit></sproc-filter-edit>\n </div>\n\n <ng-template #filtersTemplate>\n @defer (on viewport) {\n <ng-content />\n } @loading (minimum 1s) {\n <tui-loader size=\"m\" class=\"loader\"></tui-loader>\n } @placeholder {\n <span>...</span>\n }\n </ng-template>\n </ng-container>\n\n <sproc-filter-list-footer\n footer\n [acceptButtonDisabled]=\"acceptButtonDisabled\"\n [applyButtonDisabled]=\"applyButtonDisabled\"\n (apply)=\"onApplyFilter($event)\"\n [footerApplyButtonLabel]=\"footerApplyButtonLabel\"\n ></sproc-filter-list-footer>\n</sproc-sliding-panel>\n", styles: [":host .loader{height:100%}:host ::ng-deep .label-wrapper.applied:after{content:\"\";display:block;width:5px;height:5px;border-radius:50%;background-color:var(--brand-danger);margin-left:5px}\n"], dependencies: [{ kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i4.FilterEditComponent, selector: "sproc-filter-edit" }, { kind: "component", type: i5.FilterListSavedComponent, selector: "sproc-filter-list-saved" }, { kind: "component", type: i6.FilterListHeaderComponent, selector: "sproc-filter-list-header", inputs: ["total", "showTotal", "showPin", "showCloseButton", "acceptButtonDisabled", "applyButtonDisabled", "filterListHeaderTitle"], outputs: ["pinnedChange", "applyFilter", "resetFilter"] }, { kind: "component", type: i7.FilterListFooterComponent, selector: "sproc-filter-list-footer", inputs: ["acceptButtonDisabled", "applyButtonDisabled", "footerApplyButtonLabel"], outputs: ["apply"] }, { kind: "component", type: i8.DividerComponent, selector: "sproc-divider", inputs: ["layout"] }, { kind: "component", type: i9.SlidingPanelComponent, selector: "sproc-sliding-panel", inputs: ["subOffsetHeight", "isOpen"] }, { kind: "component", type: i10.TuiLoader, selector: "tui-loader", inputs: ["size", "inheritColor", "overlay", "textContent", "showLoader"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
130
|
+
}
|
|
131
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RegisterTableFilterComponent, decorators: [{
|
|
132
|
+
type: Component,
|
|
133
|
+
args: [{ selector: 'sproc-register-table-filter', changeDetection: ChangeDetectionStrategy.OnPush, template: "<sproc-sliding-panel [isOpen]=\"isOpen$ | async\" [subOffsetHeight]=\"subOffsetHeight\">\n <sproc-filter-list-header\n header\n [showTotal]=\"showTotal\"\n [showPin]=\"showPin\"\n [showCloseButton]=\"showCloseButton\"\n [total]=\"total$ | async\"\n [acceptButtonDisabled]=\"acceptButtonDisabled\"\n [applyButtonDisabled]=\"applyButtonDisabled\"\n [filterListHeaderTitle]=\"filterListHeaderTitle\"\n (pinnedChange)=\"closeMenu($event)\"\n (applyFilter)=\"onApplyFilter($event)\"\n ></sproc-filter-list-header>\n\n <ng-container [ngSwitch]=\"filterState$ | async\">\n <ng-container *ngSwitchCase=\"FilterState.FILTER_LIST\" [ngTemplateOutlet]=\"filtersTemplate\">\n </ng-container>\n\n <div *ngSwitchCase=\"FilterState.SAVED_LIST\">\n <sproc-filter-list-saved></sproc-filter-list-saved>\n </div>\n\n <div *ngSwitchCase=\"FilterState.ON_EDIT_FILTER\">\n <sproc-filter-edit></sproc-filter-edit>\n\n <sproc-divider></sproc-divider>\n\n <ng-container [ngTemplateOutlet]=\"filtersTemplate\"></ng-container>\n </div>\n\n <div *ngSwitchCase=\"FilterState.ON_SAVE_FILTER\">\n <sproc-filter-edit></sproc-filter-edit>\n </div>\n\n <ng-template #filtersTemplate>\n @defer (on viewport) {\n <ng-content />\n } @loading (minimum 1s) {\n <tui-loader size=\"m\" class=\"loader\"></tui-loader>\n } @placeholder {\n <span>...</span>\n }\n </ng-template>\n </ng-container>\n\n <sproc-filter-list-footer\n footer\n [acceptButtonDisabled]=\"acceptButtonDisabled\"\n [applyButtonDisabled]=\"applyButtonDisabled\"\n (apply)=\"onApplyFilter($event)\"\n [footerApplyButtonLabel]=\"footerApplyButtonLabel\"\n ></sproc-filter-list-footer>\n</sproc-sliding-panel>\n", styles: [":host .loader{height:100%}:host ::ng-deep .label-wrapper.applied:after{content:\"\";display:block;width:5px;height:5px;border-radius:50%;background-color:var(--brand-danger);margin-left:5px}\n"] }]
|
|
134
|
+
}], ctorParameters: () => [{ type: i1.RegisterBaseStore }, { type: i2.FiltersStateService }, { type: i2.FiltersService }], propDecorators: { height: [{
|
|
135
|
+
type: Input
|
|
136
|
+
}], showTotal: [{
|
|
137
|
+
type: Input
|
|
138
|
+
}], showPin: [{
|
|
139
|
+
type: Input
|
|
140
|
+
}], showCloseButton: [{
|
|
141
|
+
type: Input
|
|
142
|
+
}], acceptButtonDisabled: [{
|
|
143
|
+
type: Input
|
|
144
|
+
}], applyButtonDisabled: [{
|
|
145
|
+
type: Input
|
|
146
|
+
}], subOffsetHeight: [{
|
|
147
|
+
type: Input
|
|
148
|
+
}], filterListHeaderTitle: [{
|
|
149
|
+
type: Input
|
|
150
|
+
}], footerApplyButtonLabel: [{
|
|
151
|
+
type: Input
|
|
152
|
+
}], clickApplyButton: [{
|
|
153
|
+
type: Output
|
|
154
|
+
}] } });
|
|
155
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXItdGFibGUtZmlsdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZWdpc3Rlci1iYXNlL3NyYy9saWIvY29tcG9uZW50cy9maWx0ZXJzL3JlZ2lzdGVyLXRhYmxlLWZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmVnaXN0ZXItYmFzZS9zcmMvbGliL2NvbXBvbmVudHMvZmlsdGVycy9yZWdpc3Rlci10YWJsZS1maWx0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBR0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNoRixPQUFPLEVBQ0wsYUFBYSxFQUNiLFlBQVksR0FLYixNQUFNLGFBQWEsQ0FBQztBQUdyQixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7Ozs7Ozs7Ozs7QUFRL0MsTUFBTSxPQUFPLDRCQUE0QjtJQWtDdkMsWUFDbUIsTUFBK0IsRUFDL0IsbUJBQThDLEVBQzlDLGtCQUF3QztRQUZ4QyxXQUFNLEdBQU4sTUFBTSxDQUF5QjtRQUMvQix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQTJCO1FBQzlDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBc0I7UUFoQ2xELGNBQVMsR0FBRyxJQUFJLENBQUM7UUFDakIsWUFBTyxHQUFHLElBQUksQ0FBQztRQUNmLG9CQUFlLEdBQUcsSUFBSSxDQUFDO1FBQ3ZCLHlCQUFvQixHQUFHLEtBQUssQ0FBQztRQUM3Qix3QkFBbUIsR0FBRyxL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QWYsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBRUcsZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxxQkFBcUI7c0JBQTdCLEtBQUs7Z0JBQ0csc0JBQXNCO3NCQUE5QixLQUFLO2dCQUVJLGdCQUFnQjtzQkFBekIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgaW5qZWN0LFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBkZWJvdW5jZVRpbWUsIG1hcCwgU3ViamVjdCwgdGFrZVVudGlsLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgRUlucHV0c0FjdGlvbixcbiAgRUlucHV0c1N0YXRlLFxuICBHcWxGaWVsZHMsXG4gIElJbnB1dHNTdGF0ZSxcbiAgSVRwVXNlclNldHRpbmdzLFxuICBJVHBVc2VyU2V0dGluZ3NTZXR0aW5nc0ZpbHRlcixcbn0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgRmlsdGVyc1NlcnZpY2UsIEZpbHRlcnNTdGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBSZWdpc3RlckJhc2VTdG9yZSB9IGZyb20gJy4uLy4uL2NvcmUnO1xuaW1wb3J0IHsgUEFHRV9NRU5VX1NUQVRFIH0gZnJvbSAnLi4vcGFnZS1tZW51JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3Byb2MtcmVnaXN0ZXItdGFibGUtZmlsdGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JlZ2lzdGVyLXRhYmxlLWZpbHRlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3JlZ2lzdGVyLXRhYmxlLWZpbHRlci5jb21wb25lbnQubGVzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgUmVnaXN0ZXJUYWJsZUZpbHRlckNvbXBvbmVudDxUeXBlIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgYW55Pj5cbiAgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveVxue1xuICAvKiog0JLRi9GB0L7RgtCwINCy0YHQtdCz0L4g0LrQvtC80L/QvtC90LXQvdGC0LAg0YTQuNC70YzRgtGA0L7QsiAqL1xuICBASW5wdXQoKSBoZWlnaHQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgc2hvd1RvdGFsID0gdHJ1ZTtcbiAgQElucHV0KCkgc2hvd1BpbiA9IHRydWU7XG4gIEBJbnB1dCgpIHNob3dDbG9zZUJ1dHRvbiA9IHRydWU7XG4gIEBJbnB1dCgpIGFjY2VwdEJ1dHRvbkRpc2FibGVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIGFwcGx5QnV0dG9uRGlzYWJsZWQgPSBmYWxzZTtcbiAgLyoqINCU0L7Qvy4g0L7RgtGB0YLRg9C/INC00LvRjyDQstGL0YfQuNGB0LvQtdC90LjRjyDQstGL0YHQvtGC0Ysg0L/QsNC90LXQu9C4ICjQsiDQv9C40LrRgdC10LvRj9GFKSAqL1xuICBASW5wdXQoKSBzdWJPZmZzZXRIZWlnaHQgPSAwO1xuICBASW5wdXQoKSBmaWx0ZXJMaXN0SGVhZGVyVGl0bGUgPSAn0KTQuNC70YzRgtGAJztcbiAgQElucHV0KCkgZm9vdGVyQXBwbHlCdXR0b25MYWJlbCA9ICfQn9GA0LjQvNC10L3QuNGC0YwnO1xuXG4gIEBPdXRwdXQoKSBjbGlja0FwcGx5QnV0dG9uID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX21lbnVTdGF0ZSA9IGluamVjdChQQUdFX01FTlVfU1RBVEUpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3Vuc3Vic2NyaWJlJDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgcHVibGljIHJlYWRvbmx5IEZpbHRlclN0YXRlID0gRUlucHV0c1N0YXRlO1xuICBwdWJsaWMgcmVhZG9ubHkgZmlsdGVyU3RhdGUkID0gdGhpcy5fZmlsdGVyU3RhdGVTZXJ2aWNlLnN0YXRlJC5waXBlKFxuICAgIG1hcCgoZmlsdGVyU3RhdGUpID0+IGZpbHRlclN0YXRlLnN0YXRlKVxuICApO1xuICBwdWJsaWMgcmVhZG9ubHkgaXNPcGVuJCA9IHRoaXMuZmlsdGVyU3RhdGUkLnBpcGUobWFwKChzdGF0ZSkgPT4gc3RhdGUgIT09IEVJbnB1dHNTdGF0ZS5ISURERU4pKTtcbiAgcHVibGljIHJlYWRvbmx5IHRvdGFsJCA9IHRoaXMuX3N0b3JlLnRvdGFsJCA/PyBvZigwKTtcblxuICBwcml2YXRlIF9jdXJyZW50RmlsdGVyczogSVRwVXNlclNldHRpbmdzU2V0dGluZ3NGaWx0ZXJbXSA9IFtdO1xuICBwcml2YXRlIF9wcmV2aW91c1N0YXRlOiBJSW5wdXRzU3RhdGUgPSB7XG4gICAgc3RhdGU6IEVJbnB1dHNTdGF0ZS5ISURERU4sXG4gICAgYWN0aW9uOiBFSW5wdXRzQWN0aW9uLkNBTkNFTCxcbiAgfTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9zdG9yZTogUmVnaXN0ZXJCYXNlU3RvcmU8VHlwZT4sXG4gICAgcHJpdmF0ZSByZWFkb25seSBfZmlsdGVyU3RhdGVTZXJ2aWNlOiBGaWx0ZXJzU3RhdGVTZXJ2aWNlPFR5cGU+LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgX2ZpbHRlckxpc3RTZXJ2aWNlOiBGaWx0ZXJzU2VydmljZTxUeXBlPlxuICApIHt9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMuX2ZpbHRlclN0YXRlU2VydmljZS5zdGF0ZSQsIHRoaXMuX2ZpbHRlclN0YXRlU2VydmljZS5zZWxlY3RlZFNhdmVkRmlsdGVyXSlcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl91bnN1YnNjcmliZSQpKVxuICAgICAgLnN1YnNjcmliZSh7XG4gICAgICAgIG5leHQ6IChbc3RhdGUsIHNlbGVjdGVkXSkgPT4ge1xuICAgICAgICAgIGlmIChzdGF0ZS5zdGF0ZSA9PT0gRUlucHV0c1N0YXRlLlNBVkVEX0xJU1QpIHtcbiAgICAgICAgICAgIHRoaXMuYWNjZXB0QnV0dG9uRGlzYWJsZWQgPSAhc2VsZWN0ZWQ7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKHN0YXRlLnN0YXRlID09PSBFSW5wdXRzU3RhdGUuT05fRURJVF9GSUxURVIpIHtcbiAgICAgICAgICAgIHRoaXMuYWNjZXB0QnV0dG9uRGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoc3RhdGUuc3RhdGUgPT09IEVJbnB1dHNTdGF0ZS5PTl9TQVZFX0ZJTFRFUikge1xuICAgICAgICAgICAgdGhpcy5hY2NlcHRCdXR0b25EaXNhYmxlZCA9IGZhbHNlO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLmFjY2VwdEJ1dHRvbkRpc2FibGVkID0gdHJ1ZTtcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuXG4gICAgaWYgKHRoaXMuX2ZpbHRlclN0YXRlU2VydmljZS5pc1Bpbikge1xuICAgICAgdGhpcy5fZmlsdGVyU3RhdGVTZXJ2aWNlLnNldFN0YXRlKHtcbiAgICAgICAgc3RhdGU6IEVJbnB1dHNTdGF0ZS5GSUxURVJfTElTVCxcbiAgICAgICAgYWN0aW9uOiBFSW5wdXRzQWN0aW9uLk9QRU4sXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgY2xvc2VNZW51KGlzUGluOiBib29sZWFuKTogdm9pZCB7XG4gICAgaWYgKGlzUGluKSB7XG4gICAgICB0aGlzLl9tZW51U3RhdGUuc2V0T3BlbihmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uQXBwbHlGaWx0ZXIoZ3FsRmlsdGVyOiBHcWxGaWVsZHMsIHNhdmVQYWdlPzogYm9vbGVhbik6IHZvaWQge1xuICAgIGlmICghc2F2ZVBhZ2UpIHtcbiAgICAgIHRoaXMuX2ZpbHRlclN0YXRlU2VydmljZS5zZXRPZmZzZXQoMCk7XG4gICAgICB0aGlzLl9maWx0ZXJTdGF0ZVNlcnZpY2Uuc2V0UGFnZSgxKTtcbiAgICB9XG4gICAgdGhpcy5fZmlsdGVyU3RhdGVTZXJ2aWNlLnNldEdxbFZhbHVlcyhncWxGaWx0ZXIpO1xuICAgIHRoaXMuY2xpY2tBcHBseUJ1dHRvbi5uZXh0KCk7XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX3N1YnNjcmliZU9uU3RhdGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgX3N1YnNjcmliZU9uU3RhdGUoKTogdm9pZCB7XG4gICAgY29tYmluZUxhdGVzdChbdGhpcy5fZmlsdGVyU3RhdGVTZXJ2aWNlLnN0YXRlJCwgdGhpcy5fZmlsdGVyU3RhdGVTZXJ2aWNlLnNlbGVjdGVkU2F2ZWRGaWx0ZXJdKVxuICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDUwMCksIHRha2VVbnRpbCh0aGlzLl91bnN1YnNjcmliZSQpKVxuICAgICAgLnN1YnNjcmliZSgoW3N0YXRlLCBzZXR0aW5nc10pID0+IHtcbiAgICAgICAgdGhpcy5fc2V0RmlsdGVycyhzdGF0ZSwgc2V0dGluZ3MpO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9zZXRGaWx0ZXJzKHN0YXRlOiBJSW5wdXRzU3RhdGUsIHNldHRpbmdzOiBJVHBVc2VyU2V0dGluZ3MgfCBudWxsKTogdm9pZCB7XG4gICAgY29uc3QgeyBzdGF0ZTogY3VycmVudFN0YXRlLCBhY3Rpb246IGN1cnJlbnRBY3Rpb24gfSA9IHN0YXRlO1xuICAgIGNvbnN0IHsgc3RhdGU6IHByZXZpb3VzU3RhdGUgfSA9IHRoaXMuX3ByZXZpb3VzU3RhdGU7XG5cbiAgICBzd2l0Y2ggKGN1cnJlbnRTdGF0ZSkge1xuICAgICAgY2FzZSBFSW5wdXRzU3RhdGUuT05fRURJVF9GSUxURVI6XG4gICAgICAgIGlmIChwcmV2aW91c1N0YXRlICE9PSBFSW5wdXRzU3RhdGUuT05fRURJVF9GSUxURVIpIHtcbiAgICAgICAgICB0aGlzLl9maWx0ZXJMaXN0U2VydmljZS5zZXRVc2VyU2V0dGluZ3NGaWx0ZXJWYWx1ZXMoc2V0dGluZ3M/LnNldHRpbmdzPy5maWx0ZXIgPz8gW10pO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBFSW5wdXRzU3RhdGUuU0FWRURfTElTVDpcbiAgICAgICAgaWYgKFxuICAgICAgICAgIHByZXZpb3VzU3RhdGUgIT09IEVJbnB1dHNTdGF0ZS5TQVZFRF9MSVNUICYmXG4gICAgICAgICAgcHJldmlvdXNTdGF0ZSAhPT0gRUlucHV0c1N0YXRlLk9OX0VESVRfRklMVEVSICYmXG4gICAgICAgICAgcHJldmlvdXNTdGF0ZSAhPT0gRUlucHV0c1N0YXRlLk9OX1NBVkVfRklMVEVSXG4gICAgICAgICkge1xuICAgICAgICAgIHRoaXMuX2N1cnJlbnRGaWx0ZXJzID0gdGhpcy5fZmlsdGVyTGlzdFNlcnZpY2UudXNlclNldHRpbmdzRmlsdGVyO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBFSW5wdXRzU3RhdGUuRklMVEVSX0xJU1Q6XG4gICAgICAgIGlmIChwcmV2aW91c1N0YXRlICE9PSBFSW5wdXRzU3RhdGUuRklMVEVSX0xJU1QpIHtcbiAgICAgICAgICBpZiAoY3VycmVudEFjdGlvbiA9PT0gRUlucHV0c0FjdGlvbi5DQU5DRUwpIHtcbiAgICAgICAgICAgIHRoaXMuX2ZpbHRlckxpc3RTZXJ2aWNlLnNldFVzZXJTZXR0aW5nc0ZpbHRlclZhbHVlcyh0aGlzLl9jdXJyZW50RmlsdGVycyk7XG4gICAgICAgICAgfSBlbHNlIGlmIChjdXJyZW50QWN0aW9uID09PSBFSW5wdXRzQWN0aW9uLkFQUExZX1NBVkVEX0ZJTFRFUikge1xuICAgICAgICAgICAgdGhpcy5fY3VycmVudEZpbHRlcnMgPSBzZXR0aW5ncz8uc2V0dGluZ3M/LmZpbHRlciA/PyBbXTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICBjb25zb2xlLndhcm4oJ9Ch0L7RgdGC0L7Rj9C90LjQtSDRhNC40LvRjNGC0YDQsCcsIGN1cnJlbnRTdGF0ZSk7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl91bnN1YnNjcmliZSQubmV4dCgpO1xuICAgIHRoaXMuX3Vuc3Vic2NyaWJlJC5jb21wbGV0ZSgpO1xuICB9XG59XG4iLCI8c3Byb2Mtc2xpZGluZy1wYW5lbCBbaXNPcGVuXT1cImlzT3BlbiQgfCBhc3luY1wiIFtzdWJPZmZzZXRIZWlnaHRdPVwic3ViT2Zmc2V0SGVpZ2h0XCI+XG4gIDxzcHJvYy1maWx0ZXItbGlzdC1oZWFkZXJcbiAgICBoZWFkZXJcbiAgICBbc2hvd1RvdGFsXT1cInNob3dUb3RhbFwiXG4gICAgW3Nob3dQaW5dPVwic2hvd1BpblwiXG4gICAgW3Nob3dDbG9zZUJ1dHRvbl09XCJzaG93Q2xvc2VCdXR0b25cIlxuICAgIFt0b3RhbF09XCJ0b3RhbCQgfCBhc3luY1wiXG4gICAgW2FjY2VwdEJ1dHRvbkRpc2FibGVkXT1cImFjY2VwdEJ1dHRvbkRpc2FibGVkXCJcbiAgICBbYXBwbHlCdXR0b25EaXNhYmxlZF09XCJhcHBseUJ1dHRvbkRpc2FibGVkXCJcbiAgICBbZmlsdGVyTGlzdEhlYWRlclRpdGxlXT1cImZpbHRlckxpc3RIZWFkZXJUaXRsZVwiXG4gICAgKHBpbm5lZENoYW5nZSk9XCJjbG9zZU1lbnUoJGV2ZW50KVwiXG4gICAgKGFwcGx5RmlsdGVyKT1cIm9uQXBwbHlGaWx0ZXIoJGV2ZW50KVwiXG4gID48L3Nwcm9jLWZpbHRlci1saXN0LWhlYWRlcj5cblxuICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJmaWx0ZXJTdGF0ZSQgfCBhc3luY1wiPlxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIkZpbHRlclN0YXRlLkZJTFRFUl9MSVNUXCIgW25nVGVtcGxhdGVPdXRsZXRdPVwiZmlsdGVyc1RlbXBsYXRlXCI+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8ZGl2ICpuZ1N3aXRjaENhc2U9XCJGaWx0ZXJTdGF0ZS5TQVZFRF9MSVNUXCI+XG4gICAgICA8c3Byb2MtZmlsdGVyLWxpc3Qtc2F2ZWQ+PC9zcHJvYy1maWx0ZXItbGlzdC1zYXZlZD5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgKm5nU3dpdGNoQ2FzZT1cIkZpbHRlclN0YXRlLk9OX0VESVRfRklMVEVSXCI+XG4gICAgICA8c3Byb2MtZmlsdGVyLWVkaXQ+PC9zcHJvYy1maWx0ZXItZWRpdD5cblxuICAgICAgPHNwcm9jLWRpdmlkZXI+PC9zcHJvYy1kaXZpZGVyPlxuXG4gICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImZpbHRlcnNUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiAqbmdTd2l0Y2hDYXNlPVwiRmlsdGVyU3RhdGUuT05fU0FWRV9GSUxURVJcIj5cbiAgICAgIDxzcHJvYy1maWx0ZXItZWRpdD48L3Nwcm9jLWZpbHRlci1lZGl0PlxuICAgIDwvZGl2PlxuXG4gICAgPG5nLXRlbXBsYXRlICNmaWx0ZXJzVGVtcGxhdGU+XG4gICAgICBAZGVmZXIgKG9uIHZpZXdwb3J0KSB7XG4gICAgICAgIDxuZy1jb250ZW50IC8+XG4gICAgICB9IEBsb2FkaW5nIChtaW5pbXVtIDFzKSB7XG4gICAgICAgIDx0dWktbG9hZGVyIHNpemU9XCJtXCIgY2xhc3M9XCJsb2FkZXJcIj48L3R1aS1sb2FkZXI+XG4gICAgICB9IEBwbGFjZWhvbGRlciB7XG4gICAgICAgIDxzcGFuPi4uLjwvc3Bhbj5cbiAgICAgIH1cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8c3Byb2MtZmlsdGVyLWxpc3QtZm9vdGVyXG4gICAgZm9vdGVyXG4gICAgW2FjY2VwdEJ1dHRvbkRpc2FibGVkXT1cImFjY2VwdEJ1dHRvbkRpc2FibGVkXCJcbiAgICBbYXBwbHlCdXR0b25EaXNhYmxlZF09XCJhcHBseUJ1dHRvbkRpc2FibGVkXCJcbiAgICAoYXBwbHkpPVwib25BcHBseUZpbHRlcigkZXZlbnQpXCJcbiAgICBbZm9vdGVyQXBwbHlCdXR0b25MYWJlbF09XCJmb290ZXJBcHBseUJ1dHRvbkxhYmVsXCJcbiAgPjwvc3Byb2MtZmlsdGVyLWxpc3QtZm9vdGVyPlxuPC9zcHJvYy1zbGlkaW5nLXBhbmVsPlxuIl19
|