ngx-register-base 1.3.0 → 1.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ng-package.json +15 -0
- package/package.json +12 -15
- package/schematics/ng-update/replace-menu-state-token/index.ts +33 -0
- package/schematics/ng-update/update-prefix/index.ts +38 -0
- package/schematics/utils/{utils.d.ts → utils.ts} +9 -2
- package/src/lib/components/checkbox-selector/checkbox-selector.component.html +91 -0
- package/src/lib/components/checkbox-selector/checkbox-selector.component.less +67 -0
- package/src/lib/components/checkbox-selector/checkbox-selector.component.ts +176 -0
- package/src/lib/components/checkbox-selector/checkbox-selector.types.ts +8 -0
- package/src/lib/components/column-settings/column-settings.component.html +160 -0
- package/src/lib/components/column-settings/column-settings.component.less +131 -0
- package/src/lib/components/column-settings/column-settings.component.ts +352 -0
- package/src/lib/components/column-settings/components/column-settings-template/column-settings-template.component.html +65 -0
- package/src/lib/components/column-settings/components/column-settings-template/column-settings-template.component.less +79 -0
- package/src/lib/components/column-settings/components/column-settings-template/column-settings-template.component.ts +114 -0
- package/src/lib/components/column-settings/consts/column-settings.consts.ts +9 -0
- package/src/lib/components/column-settings/types/column-settings.types.ts +26 -0
- package/src/lib/components/divider/divider.component.html +4 -0
- package/src/lib/components/divider/divider.component.less +10 -0
- package/src/lib/components/divider/divider.component.ts +12 -0
- package/src/lib/components/filter-button/filter-button.component.html +20 -0
- package/src/lib/components/filter-button/filter-button.component.less +41 -0
- package/src/lib/components/filter-button/filter-button.component.ts +18 -0
- package/src/lib/components/filters/components/filter-list/filter-edit/filter-edit.component.html +22 -0
- package/src/lib/components/filters/components/filter-list/filter-edit/filter-edit.component.less +23 -0
- package/src/lib/components/filters/components/filter-list/filter-edit/filter-edit.component.ts +31 -0
- package/src/lib/components/filters/components/filter-list/filter-list-footer/filter-list-footer.component.html +49 -0
- package/src/lib/components/filters/components/filter-list/filter-list-footer/filter-list-footer.component.less +37 -0
- package/src/lib/components/filters/components/filter-list/filter-list-footer/filter-list-footer.component.ts +66 -0
- package/src/lib/components/filters/components/filter-list/filter-list-header/filter-list-header.component.html +147 -0
- package/src/lib/components/filters/components/filter-list/filter-list-header/filter-list-header.component.less +45 -0
- package/src/lib/components/filters/components/filter-list/filter-list-header/filter-list-header.component.ts +114 -0
- package/src/lib/components/filters/components/filter-list/filter-list-saved/filter-list-saved.component.html +44 -0
- package/src/lib/components/filters/components/filter-list/filter-list-saved/filter-list-saved.component.less +49 -0
- package/src/lib/components/filters/components/filter-list/filter-list-saved/filter-list-saved.component.ts +167 -0
- package/src/lib/components/filters/components/filter-list/filter-list.service.ts +97 -0
- package/src/lib/components/filters/components/filter-list/filters-section/filters-section.component.html +18 -0
- package/src/lib/components/filters/components/filter-list/filters-section/filters-section.component.less +55 -0
- package/src/lib/components/filters/components/filter-list/filters-section/filters-section.component.ts +69 -0
- package/src/lib/components/filters/components/filter-list.module.ts +29 -0
- package/src/lib/components/filters/register-table-filter.component.html +53 -0
- package/src/lib/components/filters/register-table-filter.component.less +17 -0
- package/src/lib/components/filters/register-table-filter.component.ts +167 -0
- package/src/lib/components/filters/register-table-filter.module.ts +22 -0
- package/src/lib/components/inputs/inputs.module.ts +104 -0
- package/src/lib/components/inputs/param-calendar-year/param-calendar-year.component.html +49 -0
- package/src/lib/components/inputs/param-calendar-year/param-calendar-year.component.less +70 -0
- package/src/lib/components/inputs/param-calendar-year/param-calendar-year.component.ts +52 -0
- package/src/lib/components/inputs/param-custom/param-custom.component.html +1 -0
- package/src/lib/components/inputs/param-custom/param-custom.component.ts +9 -0
- package/src/lib/components/inputs/param-date/param-date.component.html +55 -0
- package/src/lib/components/inputs/param-date/param-date.component.less +67 -0
- package/src/lib/components/inputs/param-date/param-date.component.ts +77 -0
- package/src/lib/components/inputs/param-date-range/param-date-range.component.html +45 -0
- package/src/lib/components/inputs/param-date-range/param-date-range.component.less +75 -0
- package/src/lib/components/inputs/param-date-range/param-date-range.component.ts +67 -0
- package/src/lib/components/inputs/param-date-time/param-date-time.component.html +70 -0
- package/src/lib/components/inputs/param-date-time/param-date-time.component.less +72 -0
- package/src/lib/components/inputs/param-date-time/param-date-time.component.ts +101 -0
- package/src/lib/components/inputs/param-date-time-range/param-date-time-range.component.html +67 -0
- package/src/lib/components/inputs/param-date-time-range/param-date-time-range.component.less +103 -0
- package/src/lib/components/inputs/param-date-time-range/param-date-time-range.component.ts +128 -0
- package/src/lib/components/inputs/param-month/param-month.component.html +46 -0
- package/src/lib/components/inputs/param-month/param-month.component.less +72 -0
- package/src/lib/components/inputs/param-month/param-month.component.ts +55 -0
- package/src/lib/components/inputs/param-month-range/param-month-range.component.html +39 -0
- package/src/lib/components/inputs/param-month-range/param-month-range.component.less +71 -0
- package/src/lib/components/inputs/param-month-range/param-month-range.component.ts +76 -0
- package/src/lib/components/inputs/param-multi-select/param-multi-select.component.html +84 -0
- package/src/lib/components/inputs/param-multi-select/param-multi-select.component.less +108 -0
- package/src/lib/components/inputs/param-multi-select/param-multi-select.component.ts +448 -0
- package/src/lib/components/inputs/param-select/param-select.component.html +106 -0
- package/src/lib/components/inputs/param-select/param-select.component.less +26 -0
- package/src/lib/components/inputs/param-select/param-select.component.ts +318 -0
- package/src/lib/components/inputs/param-switcher/param-switcher.component.html +8 -0
- package/src/lib/components/inputs/param-switcher/param-switcher.component.less +53 -0
- package/src/lib/components/inputs/param-switcher/param-switcher.component.ts +13 -0
- package/src/lib/components/inputs/param-switcher-date-time-range/consts/param-switcher-date-time-range.consts.ts +29 -0
- package/src/lib/components/inputs/param-switcher-date-time-range/param-switcher-date-time-range.component.html +19 -0
- package/src/lib/components/inputs/param-switcher-date-time-range/param-switcher-date-time-range.component.less +76 -0
- package/src/lib/components/inputs/param-switcher-date-time-range/param-switcher-date-time-range.component.ts +134 -0
- package/src/lib/components/inputs/param-switcher-date-time-range/types/param-switcher-date-time-range.types.ts +8 -0
- package/src/lib/components/inputs/param-text/param-text.component.html +59 -0
- package/src/lib/components/inputs/param-text/param-text.component.less +33 -0
- package/src/lib/components/inputs/param-text/param-text.component.ts +36 -0
- package/src/lib/components/inputs/param-textarea/param-textarea.component.html +61 -0
- package/src/lib/components/inputs/param-textarea/param-textarea.component.less +21 -0
- package/src/lib/components/inputs/param-textarea/param-textarea.component.ts +33 -0
- package/src/lib/components/inputs/param-toggle/param-toggle.component.html +40 -0
- package/src/lib/components/inputs/param-toggle/param-toggle.component.less +69 -0
- package/src/lib/components/inputs/param-toggle/param-toggle.component.ts +14 -0
- package/src/lib/components/inputs/param-tree/consts/param-tree.consts.ts +59 -0
- package/src/lib/components/inputs/param-tree/param-tree.component.html +51 -0
- package/src/lib/components/inputs/param-tree/param-tree.component.less +3 -0
- package/src/lib/components/inputs/param-tree/param-tree.component.ts +282 -0
- package/src/lib/components/inputs/param-tree/services/param-tree.service.ts +176 -0
- package/src/lib/components/inputs/param-tree/services/sync-tree-loader.service.ts +18 -0
- package/{lib/components/inputs/param-tree/tokens/param-tree.tokens.d.ts → src/lib/components/inputs/param-tree/tokens/param-tree.tokens.ts} +2 -1
- package/src/lib/components/inputs/param-tree/types/param-tree.types.ts +39 -0
- package/src/lib/components/inputs/param-tree/utils/param-tree.utils.ts +18 -0
- package/src/lib/components/inputs/param-tree-multi-select/param-tree-multi-select.component.html +78 -0
- package/src/lib/components/inputs/param-tree-multi-select/param-tree-multi-select.component.less +109 -0
- package/src/lib/components/inputs/param-tree-multi-select/param-tree-multi-select.component.ts +89 -0
- package/src/lib/components/inputs/param-tree-select/param-tree-select.component.html +54 -0
- package/src/lib/components/inputs/param-tree-select/param-tree-select.component.less +56 -0
- package/src/lib/components/inputs/param-tree-select/param-tree-select.component.ts +91 -0
- package/src/lib/components/inputs/sub-components/param-delete-content-icon/param-delete-content-btn.component.html +5 -0
- package/src/lib/components/inputs/sub-components/param-delete-content-icon/param-delete-content-btn.component.ts +13 -0
- package/src/lib/components/inputs/sub-components/param-invalid-icon/param-invalid-icon.component.html +4 -0
- package/src/lib/components/inputs/sub-components/param-invalid-icon/param-invalid-icon.component.ts +11 -0
- package/src/lib/components/menu-constructor/sproc-menu-constructor.component.html +95 -0
- package/src/lib/components/menu-constructor/sproc-menu-constructor.component.less +183 -0
- package/src/lib/components/menu-constructor/sproc-menu-constructor.component.ts +687 -0
- package/src/lib/components/menu-constructor/store/sproc-abstract-menu-constructor.store.ts +32 -0
- package/src/lib/components/menu-constructor/store/sproc-menu-constructor.consts.ts +46 -0
- package/{lib/components/menu-constructor/store/sproc-menu.tokens.d.ts → src/lib/components/menu-constructor/store/sproc-menu.tokens.ts} +4 -1
- package/src/lib/components/page-menu/README.md +60 -0
- package/src/lib/components/page-menu/schema/sproc-page-menu.consts.ts +8 -0
- package/src/lib/components/page-menu/schema/sproc-page-menu.schema.ts +35 -0
- package/src/lib/components/page-menu/schema/sproc-page-menu.tokens.ts +5 -0
- package/src/lib/components/page-menu/schema/sproc-page-menu.types.ts +42 -0
- package/src/lib/components/page-menu/sproc-page-menu.component.html +166 -0
- package/src/lib/components/page-menu/sproc-page-menu.component.less +228 -0
- package/src/lib/components/page-menu/sproc-page-menu.component.ts +337 -0
- package/src/lib/components/paginator/paginator.component.html +97 -0
- package/src/lib/components/paginator/paginator.component.less +101 -0
- package/src/lib/components/paginator/paginator.component.ts +192 -0
- package/src/lib/components/paginator/types/paginator.types.ts +16 -0
- package/src/lib/components/register-table/consts/register-table.consts.ts +3 -0
- package/src/lib/components/register-table/directives/cell-template.directive.ts +11 -0
- package/src/lib/components/register-table/directives/header-template.directive.ts +11 -0
- package/src/lib/components/register-table/model/schema.ts +62 -0
- package/src/lib/components/register-table/pipes/class-by-type.pipe.ts +28 -0
- package/src/lib/components/register-table/pipes/sticky-column.pipe.ts +11 -0
- package/src/lib/components/register-table/register-table.component.html +257 -0
- package/src/lib/components/register-table/register-table.component.less +151 -0
- package/src/lib/components/register-table/register-table.component.ts +743 -0
- package/src/lib/components/reset-settings-form/reset-settings-form.component.html +14 -0
- package/src/lib/components/reset-settings-form/reset-settings-form.component.less +26 -0
- package/src/lib/components/reset-settings-form/reset-settings-form.component.ts +15 -0
- package/src/lib/components/search-input/search-input.component.html +6 -0
- package/src/lib/components/search-input/search-input.component.less +17 -0
- package/src/lib/components/search-input/search-input.component.ts +31 -0
- package/src/lib/components/sliding-panel/sliding-panel.component.html +13 -0
- package/src/lib/components/sliding-panel/sliding-panel.component.less +112 -0
- package/src/lib/components/sliding-panel/sliding-panel.component.ts +36 -0
- package/src/lib/components/sliding-panel/sliding-panel.module.ts +11 -0
- package/src/lib/consts/date-time.consts.ts +1 -0
- package/src/lib/consts/index.ts +8 -0
- package/src/lib/consts/inputs.consts.ts +9 -0
- package/src/lib/consts/month.consts.ts +82 -0
- package/src/lib/consts/params.consts.ts +1 -0
- package/src/lib/consts/register-base.consts.ts +40 -0
- package/src/lib/core/form-group-wrapper/errors-consts.ts +6 -0
- package/src/lib/core/form-group-wrapper/form-group-wrapper.ts +109 -0
- package/src/lib/core/input-control/input-control.ts +30 -0
- package/src/lib/core/param/param-base.ts +262 -0
- package/src/lib/core/param/param-date-base.ts +30 -0
- package/src/lib/core/param/param-select-base.ts +118 -0
- package/src/lib/core/param/param-text-base.ts +23 -0
- package/{lib/core/param/param.tokens.d.ts → src/lib/core/param/param.tokens.ts} +2 -1
- package/src/lib/core/register-base/register-base.store.ts +84 -0
- package/src/lib/core/register-base/register-base.ts +854 -0
- package/src/lib/directives/date/date-time.types.ts +36 -0
- package/src/lib/directives/date/format-date.pipe.ts +28 -0
- package/src/lib/directives/number/number-only.directive.ts +36 -0
- package/src/lib/directives/sticky/sticky-relative.directive.ts +30 -0
- package/src/lib/directives/sticky/sticky-relative.service.ts +34 -0
- package/src/lib/directives/sticky/sticky.directive.ts +189 -0
- package/src/lib/services/date-time.service.ts +399 -0
- package/src/lib/services/dialog/dialog.service.ts +62 -0
- package/{lib/services/dialog/dialog.types.d.ts → src/lib/services/dialog/dialog.types.ts} +8 -4
- package/src/lib/services/dom-intersection.service.ts +23 -0
- package/src/lib/services/filter/filters-state.service.ts +83 -0
- package/src/lib/services/filter/filters-transmit.service.ts +105 -0
- package/src/lib/services/filter/filters.service.ts +21 -0
- package/src/lib/services/inputs-state.service.ts +157 -0
- package/src/lib/services/inputs.service.ts +114 -0
- package/src/lib/services/key-pressed.service.ts +40 -0
- package/src/lib/services/resize-window-observer.service.ts +37 -0
- package/src/lib/services/selected-objects-state.service.ts +159 -0
- package/src/lib/store/fast-query-store.service.ts +132 -0
- package/{lib/types/event.types.d.ts → src/lib/types/event.types.ts} +1 -1
- package/src/lib/types/hasura.types.ts +41 -0
- package/src/lib/types/inputs.types.ts +63 -0
- package/src/lib/types/params.types.ts +42 -0
- package/src/lib/types/register-base.types.ts +161 -0
- package/src/lib/types/sub-types.ts +15 -0
- package/src/lib/types/user-profile.types.ts +18 -0
- package/src/lib/utils/functions.ts +11 -0
- package/src/lib/utils/get-url-segment.ts +46 -0
- package/src/lib/utils/prizm.shared.module.ts +176 -0
- package/src/lib/utils/rxjs.ts +33 -0
- package/src/lib/utils/select-all-utils.ts +16 -0
- package/tsconfig.lib.json +16 -0
- package/tsconfig.lib.prod.json +11 -0
- package/tsconfig.schematics.json +26 -0
- package/tsconfig.spec.json +15 -0
- package/esm2022/lib/components/checkbox-selector/checkbox-selector.component.mjs +0 -129
- package/esm2022/lib/components/checkbox-selector/checkbox-selector.types.mjs +0 -8
- package/esm2022/lib/components/column-settings/column-settings.component.mjs +0 -249
- package/esm2022/lib/components/column-settings/components/column-settings-template/column-settings-template.component.mjs +0 -80
- package/esm2022/lib/components/column-settings/consts/column-settings.consts.mjs +0 -10
- package/esm2022/lib/components/column-settings/index.mjs +0 -3
- package/esm2022/lib/components/column-settings/types/column-settings.types.mjs +0 -7
- package/esm2022/lib/components/divider/divider.component.mjs +0 -16
- package/esm2022/lib/components/filter-button/filter-button.component.mjs +0 -19
- package/esm2022/lib/components/filters/components/filter-list/filter-edit/filter-edit.component.mjs +0 -31
- package/esm2022/lib/components/filters/components/filter-list/filter-list-footer/filter-list-footer.component.mjs +0 -57
- package/esm2022/lib/components/filters/components/filter-list/filter-list-header/filter-list-header.component.mjs +0 -110
- package/esm2022/lib/components/filters/components/filter-list/filter-list-saved/filter-list-saved.component.mjs +0 -130
- package/esm2022/lib/components/filters/components/filter-list/filter-list.service.mjs +0 -89
- package/esm2022/lib/components/filters/components/filter-list/filters-section/filters-section.component.mjs +0 -41
- package/esm2022/lib/components/filters/components/filter-list.module.mjs +0 -45
- package/esm2022/lib/components/filters/index.mjs +0 -3
- package/esm2022/lib/components/filters/register-table-filter.component.mjs +0 -155
- package/esm2022/lib/components/filters/register-table-filter.module.mjs +0 -39
- package/esm2022/lib/components/index.mjs +0 -11
- package/esm2022/lib/components/inputs/index.mjs +0 -20
- package/esm2022/lib/components/inputs/inputs.module.mjs +0 -166
- package/esm2022/lib/components/inputs/param-calendar-year/param-calendar-year.component.mjs +0 -45
- package/esm2022/lib/components/inputs/param-custom/param-custom.component.mjs +0 -12
- package/esm2022/lib/components/inputs/param-date/param-date.component.mjs +0 -76
- package/esm2022/lib/components/inputs/param-date-range/param-date-range.component.mjs +0 -61
- package/esm2022/lib/components/inputs/param-date-time/param-date-time.component.mjs +0 -86
- package/esm2022/lib/components/inputs/param-date-time-range/param-date-time-range.component.mjs +0 -96
- package/esm2022/lib/components/inputs/param-month/param-month.component.mjs +0 -50
- package/esm2022/lib/components/inputs/param-month-range/param-month-range.component.mjs +0 -62
- package/esm2022/lib/components/inputs/param-multi-select/param-multi-select.component.mjs +0 -309
- package/esm2022/lib/components/inputs/param-select/param-select.component.mjs +0 -209
- package/esm2022/lib/components/inputs/param-switcher/param-switcher.component.mjs +0 -21
- package/esm2022/lib/components/inputs/param-switcher-date-time-range/consts/param-switcher-date-time-range.consts.mjs +0 -28
- package/esm2022/lib/components/inputs/param-switcher-date-time-range/index.mjs +0 -3
- package/esm2022/lib/components/inputs/param-switcher-date-time-range/param-switcher-date-time-range.component.mjs +0 -105
- package/esm2022/lib/components/inputs/param-switcher-date-time-range/types/param-switcher-date-time-range.types.mjs +0 -10
- package/esm2022/lib/components/inputs/param-text/param-text.component.mjs +0 -40
- package/esm2022/lib/components/inputs/param-textarea/param-textarea.component.mjs +0 -38
- package/esm2022/lib/components/inputs/param-toggle/param-toggle.component.mjs +0 -20
- package/esm2022/lib/components/inputs/param-tree/consts/param-tree.consts.mjs +0 -37
- package/esm2022/lib/components/inputs/param-tree/index.mjs +0 -8
- package/esm2022/lib/components/inputs/param-tree/param-tree.component.mjs +0 -207
- package/esm2022/lib/components/inputs/param-tree/services/param-tree.service.mjs +0 -116
- package/esm2022/lib/components/inputs/param-tree/services/sync-tree-loader.service.mjs +0 -20
- package/esm2022/lib/components/inputs/param-tree/tokens/param-tree.tokens.mjs +0 -3
- package/esm2022/lib/components/inputs/param-tree/types/param-tree.types.mjs +0 -2
- package/esm2022/lib/components/inputs/param-tree/utils/param-tree.utils.mjs +0 -9
- package/esm2022/lib/components/inputs/param-tree-multi-select/param-tree-multi-select.component.mjs +0 -80
- package/esm2022/lib/components/inputs/param-tree-select/param-tree-select.component.mjs +0 -85
- package/esm2022/lib/components/inputs/sub-components/param-delete-content-icon/param-delete-content-btn.component.mjs +0 -15
- package/esm2022/lib/components/inputs/sub-components/param-invalid-icon/param-invalid-icon.component.mjs +0 -12
- package/esm2022/lib/components/menu-constructor/index.mjs +0 -5
- package/esm2022/lib/components/menu-constructor/sproc-menu-constructor.component.mjs +0 -559
- package/esm2022/lib/components/menu-constructor/store/sproc-abstract-menu-constructor.store.mjs +0 -3
- package/esm2022/lib/components/menu-constructor/store/sproc-menu-constructor.consts.mjs +0 -5
- package/esm2022/lib/components/menu-constructor/store/sproc-menu.tokens.mjs +0 -3
- package/esm2022/lib/components/page-menu/index.mjs +0 -6
- package/esm2022/lib/components/page-menu/schema/sproc-page-menu.consts.mjs +0 -9
- package/esm2022/lib/components/page-menu/schema/sproc-page-menu.schema.mjs +0 -2
- package/esm2022/lib/components/page-menu/schema/sproc-page-menu.tokens.mjs +0 -4
- package/esm2022/lib/components/page-menu/schema/sproc-page-menu.types.mjs +0 -3
- package/esm2022/lib/components/page-menu/sproc-page-menu.component.mjs +0 -275
- package/esm2022/lib/components/paginator/paginator.component.mjs +0 -159
- package/esm2022/lib/components/paginator/types/paginator.types.mjs +0 -2
- package/esm2022/lib/components/register-table/consts/register-table.consts.mjs +0 -4
- package/esm2022/lib/components/register-table/directives/cell-template.directive.mjs +0 -19
- package/esm2022/lib/components/register-table/directives/header-template.directive.mjs +0 -18
- package/esm2022/lib/components/register-table/index.mjs +0 -4
- package/esm2022/lib/components/register-table/model/schema.mjs +0 -10
- package/esm2022/lib/components/register-table/pipes/class-by-type.pipe.mjs +0 -33
- package/esm2022/lib/components/register-table/pipes/sticky-column.pipe.mjs +0 -17
- package/esm2022/lib/components/register-table/register-table.component.mjs +0 -544
- package/esm2022/lib/components/reset-settings-form/reset-settings-form.component.mjs +0 -18
- package/esm2022/lib/components/search-input/search-input.component.mjs +0 -28
- package/esm2022/lib/components/sliding-panel/sliding-panel.component.mjs +0 -48
- package/esm2022/lib/components/sliding-panel/sliding-panel.module.mjs +0 -19
- package/esm2022/lib/consts/date-time.consts.mjs +0 -2
- package/esm2022/lib/consts/index.mjs +0 -4
- package/esm2022/lib/consts/inputs.consts.mjs +0 -4
- package/esm2022/lib/consts/month.consts.mjs +0 -77
- package/esm2022/lib/consts/params.consts.mjs +0 -2
- package/esm2022/lib/consts/register-base.consts.mjs +0 -26
- package/esm2022/lib/core/form-group-wrapper/errors-consts.mjs +0 -8
- package/esm2022/lib/core/form-group-wrapper/form-group-wrapper.mjs +0 -81
- package/esm2022/lib/core/form-group-wrapper/index.mjs +0 -2
- package/esm2022/lib/core/index.mjs +0 -5
- package/esm2022/lib/core/input-control/index.mjs +0 -2
- package/esm2022/lib/core/input-control/input-control.mjs +0 -11
- package/esm2022/lib/core/param/index.mjs +0 -6
- package/esm2022/lib/core/param/param-base.mjs +0 -215
- package/esm2022/lib/core/param/param-date-base.mjs +0 -26
- package/esm2022/lib/core/param/param-select-base.mjs +0 -114
- package/esm2022/lib/core/param/param-text-base.mjs +0 -25
- package/esm2022/lib/core/param/param.tokens.mjs +0 -4
- package/esm2022/lib/core/register-base/index.mjs +0 -3
- package/esm2022/lib/core/register-base/register-base.mjs +0 -575
- package/esm2022/lib/core/register-base/register-base.store.mjs +0 -43
- package/esm2022/lib/directives/date/date-time.types.mjs +0 -34
- package/esm2022/lib/directives/date/format-date.pipe.mjs +0 -33
- package/esm2022/lib/directives/index.mjs +0 -3
- package/esm2022/lib/directives/number/number-only.directive.mjs +0 -41
- package/esm2022/lib/directives/sticky/index.mjs +0 -3
- package/esm2022/lib/directives/sticky/sticky-relative.directive.mjs +0 -32
- package/esm2022/lib/directives/sticky/sticky-relative.service.mjs +0 -32
- package/esm2022/lib/directives/sticky/sticky.directive.mjs +0 -169
- package/esm2022/lib/services/date-time.service.mjs +0 -314
- package/esm2022/lib/services/dialog/dialog.service.mjs +0 -53
- package/esm2022/lib/services/dialog/dialog.types.mjs +0 -2
- package/esm2022/lib/services/dialog/index.mjs +0 -3
- package/esm2022/lib/services/dom-intersection.service.mjs +0 -22
- package/esm2022/lib/services/filter/filters-state.service.mjs +0 -65
- package/esm2022/lib/services/filter/filters-transmit.service.mjs +0 -82
- package/esm2022/lib/services/filter/filters.service.mjs +0 -23
- package/esm2022/lib/services/index.mjs +0 -8
- package/esm2022/lib/services/inputs-state.service.mjs +0 -130
- package/esm2022/lib/services/inputs.service.mjs +0 -88
- package/esm2022/lib/services/key-pressed.service.mjs +0 -37
- package/esm2022/lib/services/resize-window-observer.service.mjs +0 -33
- package/esm2022/lib/services/selected-objects-state.service.mjs +0 -123
- package/esm2022/lib/store/fast-query-store.service.mjs +0 -110
- package/esm2022/lib/store/index.mjs +0 -2
- package/esm2022/lib/types/event.types.mjs +0 -2
- package/esm2022/lib/types/hasura.types.mjs +0 -2
- package/esm2022/lib/types/index.mjs +0 -7
- package/esm2022/lib/types/inputs.types.mjs +0 -19
- package/esm2022/lib/types/params.types.mjs +0 -2
- package/esm2022/lib/types/register-base.types.mjs +0 -6
- package/esm2022/lib/types/sub-types.mjs +0 -2
- package/esm2022/lib/types/user-profile.types.mjs +0 -2
- package/esm2022/lib/utils/functions.mjs +0 -10
- package/esm2022/lib/utils/get-url-segment.mjs +0 -35
- package/esm2022/lib/utils/index.mjs +0 -5
- package/esm2022/lib/utils/prizm.shared.module.mjs +0 -284
- package/esm2022/lib/utils/rxjs.mjs +0 -28
- package/esm2022/lib/utils/select-all-utils.mjs +0 -11
- package/esm2022/ngx-register-base.mjs +0 -5
- package/esm2022/public-api.mjs +0 -9
- package/fesm2022/ngx-register-base.mjs +0 -7465
- package/fesm2022/ngx-register-base.mjs.map +0 -1
- package/index.d.ts +0 -5
- package/lib/components/checkbox-selector/checkbox-selector.component.d.ts +0 -33
- package/lib/components/checkbox-selector/checkbox-selector.types.d.ts +0 -7
- package/lib/components/column-settings/column-settings.component.d.ts +0 -80
- package/lib/components/column-settings/components/column-settings-template/column-settings-template.component.d.ts +0 -24
- package/lib/components/column-settings/consts/column-settings.consts.d.ts +0 -8
- package/lib/components/column-settings/types/column-settings.types.d.ts +0 -22
- package/lib/components/divider/divider.component.d.ts +0 -6
- package/lib/components/filter-button/filter-button.component.d.ts +0 -8
- package/lib/components/filters/components/filter-list/filter-edit/filter-edit.component.d.ts +0 -14
- package/lib/components/filters/components/filter-list/filter-list-footer/filter-list-footer.component.d.ts +0 -25
- package/lib/components/filters/components/filter-list/filter-list-header/filter-list-header.component.d.ts +0 -39
- package/lib/components/filters/components/filter-list/filter-list-saved/filter-list-saved.component.d.ts +0 -41
- package/lib/components/filters/components/filter-list/filter-list.service.d.ts +0 -20
- package/lib/components/filters/components/filter-list/filters-section/filters-section.component.d.ts +0 -15
- package/lib/components/filters/components/filter-list.module.d.ts +0 -15
- package/lib/components/filters/register-table-filter.component.d.ts +0 -40
- package/lib/components/filters/register-table-filter.module.d.ts +0 -13
- package/lib/components/inputs/inputs.module.d.ts +0 -31
- package/lib/components/inputs/param-calendar-year/param-calendar-year.component.d.ts +0 -19
- package/lib/components/inputs/param-custom/param-custom.component.d.ts +0 -6
- package/lib/components/inputs/param-date/param-date.component.d.ts +0 -20
- package/lib/components/inputs/param-date-range/param-date-range.component.d.ts +0 -26
- package/lib/components/inputs/param-date-time/param-date-time.component.d.ts +0 -25
- package/lib/components/inputs/param-date-time-range/param-date-time-range.component.d.ts +0 -28
- package/lib/components/inputs/param-month/param-month.component.d.ts +0 -18
- package/lib/components/inputs/param-month-range/param-month-range.component.d.ts +0 -21
- package/lib/components/inputs/param-multi-select/param-multi-select.component.d.ts +0 -46
- package/lib/components/inputs/param-select/param-select.component.d.ts +0 -30
- package/lib/components/inputs/param-switcher/param-switcher.component.d.ts +0 -8
- package/lib/components/inputs/param-switcher-date-time-range/consts/param-switcher-date-time-range.consts.d.ts +0 -2
- package/lib/components/inputs/param-switcher-date-time-range/param-switcher-date-time-range.component.d.ts +0 -19
- package/lib/components/inputs/param-switcher-date-time-range/types/param-switcher-date-time-range.types.d.ts +0 -8
- package/lib/components/inputs/param-text/param-text.component.d.ts +0 -10
- package/lib/components/inputs/param-textarea/param-textarea.component.d.ts +0 -10
- package/lib/components/inputs/param-toggle/param-toggle.component.d.ts +0 -9
- package/lib/components/inputs/param-tree/consts/param-tree.consts.d.ts +0 -7
- package/lib/components/inputs/param-tree/param-tree.component.d.ts +0 -41
- package/lib/components/inputs/param-tree/services/param-tree.service.d.ts +0 -37
- package/lib/components/inputs/param-tree/services/sync-tree-loader.service.d.ts +0 -10
- package/lib/components/inputs/param-tree/types/param-tree.types.d.ts +0 -32
- package/lib/components/inputs/param-tree/utils/param-tree.utils.d.ts +0 -7
- package/lib/components/inputs/param-tree-multi-select/param-tree-multi-select.component.d.ts +0 -31
- package/lib/components/inputs/param-tree-select/param-tree-select.component.d.ts +0 -30
- package/lib/components/inputs/sub-components/param-delete-content-icon/param-delete-content-btn.component.d.ts +0 -6
- package/lib/components/inputs/sub-components/param-invalid-icon/param-invalid-icon.component.d.ts +0 -5
- package/lib/components/menu-constructor/sproc-menu-constructor.component.d.ts +0 -113
- package/lib/components/menu-constructor/store/sproc-abstract-menu-constructor.store.d.ts +0 -24
- package/lib/components/menu-constructor/store/sproc-menu-constructor.consts.d.ts +0 -36
- package/lib/components/page-menu/schema/sproc-page-menu.consts.d.ts +0 -7
- package/lib/components/page-menu/schema/sproc-page-menu.schema.d.ts +0 -30
- package/lib/components/page-menu/schema/sproc-page-menu.tokens.d.ts +0 -3
- package/lib/components/page-menu/schema/sproc-page-menu.types.d.ts +0 -36
- package/lib/components/page-menu/sproc-page-menu.component.d.ts +0 -48
- package/lib/components/paginator/paginator.component.d.ts +0 -52
- package/lib/components/paginator/types/paginator.types.d.ts +0 -15
- package/lib/components/register-table/consts/register-table.consts.d.ts +0 -3
- package/lib/components/register-table/directives/cell-template.directive.d.ts +0 -9
- package/lib/components/register-table/directives/header-template.directive.d.ts +0 -9
- package/lib/components/register-table/model/schema.d.ts +0 -52
- package/lib/components/register-table/pipes/class-by-type.pipe.d.ts +0 -8
- package/lib/components/register-table/pipes/sticky-column.pipe.d.ts +0 -7
- package/lib/components/register-table/register-table.component.d.ts +0 -165
- package/lib/components/reset-settings-form/reset-settings-form.component.d.ts +0 -9
- package/lib/components/search-input/search-input.component.d.ts +0 -11
- package/lib/components/sliding-panel/sliding-panel.component.d.ts +0 -14
- package/lib/components/sliding-panel/sliding-panel.module.d.ts +0 -9
- package/lib/consts/date-time.consts.d.ts +0 -1
- package/lib/consts/index.d.ts +0 -3
- package/lib/consts/inputs.consts.d.ts +0 -4
- package/lib/consts/month.consts.d.ts +0 -49
- package/lib/consts/params.consts.d.ts +0 -1
- package/lib/consts/register-base.consts.d.ts +0 -19
- package/lib/core/form-group-wrapper/errors-consts.d.ts +0 -5
- package/lib/core/form-group-wrapper/form-group-wrapper.d.ts +0 -15
- package/lib/core/input-control/input-control.d.ts +0 -11
- package/lib/core/param/param-base.d.ts +0 -68
- package/lib/core/param/param-date-base.d.ts +0 -18
- package/lib/core/param/param-select-base.d.ts +0 -42
- package/lib/core/param/param-text-base.d.ts +0 -15
- package/lib/core/register-base/register-base.d.ts +0 -168
- package/lib/core/register-base/register-base.store.d.ts +0 -35
- package/lib/directives/date/date-time.types.d.ts +0 -32
- package/lib/directives/date/format-date.pipe.d.ts +0 -10
- package/lib/directives/number/number-only.directive.d.ts +0 -10
- package/lib/directives/sticky/sticky-relative.directive.d.ts +0 -13
- package/lib/directives/sticky/sticky-relative.service.d.ts +0 -15
- package/lib/directives/sticky/sticky.directive.d.ts +0 -27
- package/lib/services/date-time.service.d.ts +0 -80
- package/lib/services/dialog/dialog.service.d.ts +0 -22
- package/lib/services/dom-intersection.service.d.ts +0 -8
- package/lib/services/filter/filters-state.service.d.ts +0 -21
- package/lib/services/filter/filters-transmit.service.d.ts +0 -28
- package/lib/services/filter/filters.service.d.ts +0 -12
- package/lib/services/inputs-state.service.d.ts +0 -57
- package/lib/services/inputs.service.d.ts +0 -28
- package/lib/services/key-pressed.service.d.ts +0 -15
- package/lib/services/resize-window-observer.service.d.ts +0 -11
- package/lib/services/selected-objects-state.service.d.ts +0 -47
- package/lib/store/fast-query-store.service.d.ts +0 -19
- package/lib/types/hasura.types.d.ts +0 -35
- package/lib/types/inputs.types.d.ts +0 -41
- package/lib/types/params.types.d.ts +0 -27
- package/lib/types/register-base.types.d.ts +0 -123
- package/lib/types/sub-types.d.ts +0 -8
- package/lib/types/user-profile.types.d.ts +0 -17
- package/lib/utils/functions.d.ts +0 -3
- package/lib/utils/get-url-segment.d.ts +0 -7
- package/lib/utils/prizm.shared.module.d.ts +0 -14
- package/lib/utils/rxjs.d.ts +0 -10
- package/lib/utils/select-all-utils.d.ts +0 -8
- package/schematics/ng-update/replace-menu-state-token/index.d.ts +0 -2
- package/schematics/ng-update/replace-menu-state-token/index.js +0 -29
- package/schematics/ng-update/replace-menu-state-token/index.js.map +0 -1
- package/schematics/ng-update/update-prefix/index.d.ts +0 -2
- package/schematics/ng-update/update-prefix/index.js +0 -33
- package/schematics/ng-update/update-prefix/index.js.map +0 -1
- package/schematics/utils/utils.js +0 -25
- package/schematics/utils/utils.js.map +0 -1
- /package/{lib/components/column-settings/index.d.ts → src/lib/components/column-settings/index.ts} +0 -0
- /package/{lib/components/filters/index.d.ts → src/lib/components/filters/index.ts} +0 -0
- /package/{lib/components/index.d.ts → src/lib/components/index.ts} +0 -0
- /package/{lib/components/inputs/index.d.ts → src/lib/components/inputs/index.ts} +0 -0
- /package/{lib/components/inputs/param-switcher-date-time-range/index.d.ts → src/lib/components/inputs/param-switcher-date-time-range/index.ts} +0 -0
- /package/{lib/components/inputs/param-tree/index.d.ts → src/lib/components/inputs/param-tree/index.ts} +0 -0
- /package/{lib/components/menu-constructor/index.d.ts → src/lib/components/menu-constructor/index.ts} +0 -0
- /package/{lib/components/page-menu/index.d.ts → src/lib/components/page-menu/index.ts} +0 -0
- /package/{lib/components/register-table/index.d.ts → src/lib/components/register-table/index.ts} +0 -0
- /package/{lib/core/form-group-wrapper/index.d.ts → src/lib/core/form-group-wrapper/index.ts} +0 -0
- /package/{lib/core/index.d.ts → src/lib/core/index.ts} +0 -0
- /package/{lib/core/input-control/index.d.ts → src/lib/core/input-control/index.ts} +0 -0
- /package/{lib/core/param/index.d.ts → src/lib/core/param/index.ts} +0 -0
- /package/{lib/core/register-base/index.d.ts → src/lib/core/register-base/index.ts} +0 -0
- /package/{lib/directives/index.d.ts → src/lib/directives/index.ts} +0 -0
- /package/{lib/directives/sticky/index.d.ts → src/lib/directives/sticky/index.ts} +0 -0
- /package/{lib/services/dialog/index.d.ts → src/lib/services/dialog/index.ts} +0 -0
- /package/{lib/services/index.d.ts → src/lib/services/index.ts} +0 -0
- /package/{lib/store/index.d.ts → src/lib/store/index.ts} +0 -0
- /package/{lib/types/index.d.ts → src/lib/types/index.ts} +0 -0
- /package/{lib/utils/index.d.ts → src/lib/utils/index.ts} +0 -0
- /package/{public-api.d.ts → src/public-api.ts} +0 -0
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { inject, Injectable } from '@angular/core';
|
|
2
|
-
import { ComponentStore } from '@ngrx/component-store';
|
|
3
|
-
import { Apollo } from 'apollo-angular';
|
|
4
|
-
import { ReplaySubject } from 'rxjs';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export class RegisterBaseStore extends ComponentStore {
|
|
7
|
-
constructor() {
|
|
8
|
-
super(...arguments);
|
|
9
|
-
this.apollo = inject(Apollo);
|
|
10
|
-
this.error = (e) => {
|
|
11
|
-
console.error(e);
|
|
12
|
-
this.setLoading(false);
|
|
13
|
-
};
|
|
14
|
-
this.mutationCompleted$ = new ReplaySubject();
|
|
15
|
-
this.loading$ = this.select((state) => state.loading);
|
|
16
|
-
this.count$ = this.select((state) => state.count);
|
|
17
|
-
this.total$ = this.select((state) => state.total);
|
|
18
|
-
this.objects$ = this.select((state) => state.objects);
|
|
19
|
-
this.setObjects = this.updater((store, objects) => ({
|
|
20
|
-
...store,
|
|
21
|
-
loading: false,
|
|
22
|
-
objects,
|
|
23
|
-
}));
|
|
24
|
-
this.setLoading = this.updater((store, loading) => ({ ...store, loading }));
|
|
25
|
-
this.setCount = this.updater((store, count) => ({
|
|
26
|
-
...store,
|
|
27
|
-
count,
|
|
28
|
-
}));
|
|
29
|
-
this.setTotal = this.updater((state, total) => ({
|
|
30
|
-
...state,
|
|
31
|
-
total,
|
|
32
|
-
}));
|
|
33
|
-
}
|
|
34
|
-
getBaseFilter(params) {
|
|
35
|
-
return {};
|
|
36
|
-
}
|
|
37
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RegisterBaseStore, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
38
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RegisterBaseStore }); }
|
|
39
|
-
}
|
|
40
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RegisterBaseStore, decorators: [{
|
|
41
|
-
type: Injectable
|
|
42
|
-
}] });
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXItYmFzZS5zdG9yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZWdpc3Rlci1iYXNlL3NyYy9saWIvY29yZS9yZWdpc3Rlci1iYXNlL3JlZ2lzdGVyLWJhc2Uuc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXZELE9BQU8sRUFBRSxNQUFNLEVBQWtCLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEQsT0FBTyxFQUFjLGFBQWEsRUFBZ0IsTUFBTSxNQUFNLENBQUM7O0FBTy9ELE1BQU0sT0FBZ0IsaUJBSXBCLFNBQVEsY0FBcUI7SUFML0I7O1FBUVksV0FBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUV6QixVQUFLLEdBQUcsQ0FBQyxDQUFjLEVBQVEsRUFBRTtZQUN4QyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2pCLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekIsQ0FBQyxDQUFDO1FBTU8sdUJBQWtCLEdBQUcsSUFBSSxhQUFhLEVBQVcsQ0FBQztRQUNsRCxhQUFRLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2pELFdBQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDN0MsV0FBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUU3QyxhQUFRLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2pELGVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUNoQyxDQUFDLEtBQUssRUFBRSxPQUFlLEVBQVMsRUFBRSxDQUFDLENBQUM7WUFDbEMsR0FBRyxLQUFLO1lBQ1IsT0FBTyxFQUFFLEtBQUs7WUFDZCxPQUFPO1NBQ1IsQ0FBQyxDQUNILENBQUM7UUFFTyxlQUFVLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxPQUFnQixFQUFTLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3ZGLGFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUM5QixDQUFDLEtBQUssRUFBRSxLQUFhLEVBQVMsRUFBRSxDQUFDLENBQUM7WUFDaEMsR0FBRyxLQUFLO1lBQ1IsS0FBSztTQUNOLENBQUMsQ0FDSCxDQUFDO1FBRU8sYUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQzlCLENBQUMsS0FBSyxFQUFFLEtBQWEsRUFBUyxFQUFFLENBQUMsQ0FBQztZQUNoQyxHQUFHLEtBQUs7WUFDUixLQUFLO1NBQ04sQ0FBQyxDQUNILENBQUM7S0EyQkg7SUExRFEsYUFBYSxDQUFDLE1BQVk7UUFDL0IsT0FBTyxFQUF5QixDQUFDO0lBQ25DLENBQUM7K0dBaEJtQixpQkFBaUI7bUhBQWpCLGlCQUFpQjs7NEZBQWpCLGlCQUFpQjtrQkFEdEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tcG9uZW50U3RvcmUgfSBmcm9tICdAbmdyeC9jb21wb25lbnQtc3RvcmUnO1xuaW1wb3J0IHsgUHJpem1UYWJsZUNlbGxTb3J0ZXIgfSBmcm9tICdAcHJpem0tdWkvY29tcG9uZW50cyc7XG5pbXBvcnQgeyBBcG9sbG8sIE11dGF0aW9uUmVzdWx0IH0gZnJvbSAnYXBvbGxvLWFuZ3VsYXInO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgUmVwbGF5U3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJSGFzdXJhUXVlcnlGaWx0ZXIgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL3JlZ2lzdGVyLXRhYmxlL21vZGVsL3NjaGVtYSc7XG5pbXBvcnQgeyBHcWxGaWVsZHMgfSBmcm9tICcuLi8uLi90eXBlcy9pbnB1dHMudHlwZXMnO1xuaW1wb3J0IHsgSUJhc2VSZWdpc3RlclN0b3JlLCBJQmFzZVJlZ2lzdGVyU3RvcmVTdGF0ZSB9IGZyb20gJy4uLy4uL3R5cGVzL3JlZ2lzdGVyLWJhc2UudHlwZXMnO1xuaW1wb3J0IHsgSGFzdXJhRXJyb3IgfSBmcm9tICcuLi8uLi90eXBlcy9oYXN1cmEudHlwZXMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUmVnaXN0ZXJCYXNlU3RvcmU8XG4gICAgVHlwZSBleHRlbmRzIFJlY29yZDxzdHJpbmcsIGFueT4sXG4gICAgU3RhdGUgZXh0ZW5kcyBJQmFzZVJlZ2lzdGVyU3RvcmVTdGF0ZTxUeXBlPiA9IElCYXNlUmVnaXN0ZXJTdG9yZVN0YXRlPFR5cGU+LFxuICA+XG4gIGV4dGVuZHMgQ29tcG9uZW50U3RvcmU8U3RhdGU+XG4gIGltcGxlbWVudHMgSUJhc2VSZWdpc3RlclN0b3JlPFR5cGU+XG57XG4gIHByb3RlY3RlZCBhcG9sbG8gPSBpbmplY3QoQXBvbGxvKTtcblxuICByZWFkb25seSBlcnJvciA9IChlOiBIYXN1cmFFcnJvcik6IHZvaWQgPT4ge1xuICAgIGNvbnNvbGUuZXJyb3IoZSk7XG4gICAgdGhpcy5zZXRMb2FkaW5nKGZhbHNlKTtcbiAgfTtcblxuICBwdWJsaWMgZ2V0QmFzZUZpbHRlcihwYXJhbXM/OiBhbnkpOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHtcbiAgICByZXR1cm4ge30gYXMgUmVjb3JkPHN0cmluZywgYW55PjtcbiAgfVxuXG4gIHJlYWRvbmx5IG11dGF0aW9uQ29tcGxldGVkJCA9IG5ldyBSZXBsYXlTdWJqZWN0PGJvb2xlYW4+KCk7XG4gIHJlYWRvbmx5IGxvYWRpbmckID0gdGhpcy5zZWxlY3QoKHN0YXRlKSA9PiBzdGF0ZS5sb2FkaW5nKTtcbiAgcmVhZG9ubHkgY291bnQkID0gdGhpcy5zZWxlY3QoKHN0YXRlKSA9PiBzdGF0ZS5jb3VudCk7XG4gIHJlYWRvbmx5IHRvdGFsJCA9IHRoaXMuc2VsZWN0KChzdGF0ZSkgPT4gc3RhdGUudG90YWwpO1xuXG4gIHJlYWRvbmx5IG9iamVjdHMkID0gdGhpcy5zZWxlY3QoKHN0YXRlKSA9PiBzdGF0ZS5vYmplY3RzKTtcbiAgcmVhZG9ubHkgc2V0T2JqZWN0cyA9IHRoaXMudXBkYXRlcihcbiAgICAoc3RvcmUsIG9iamVjdHM6IFR5cGVbXSk6IFN0YXRlID0+ICh7XG4gICAgICAuLi5zdG9yZSxcbiAgICAgIGxvYWRpbmc6IGZhbHNlLFxuICAgICAgb2JqZWN0cyxcbiAgICB9KVxuICApO1xuXG4gIHJlYWRvbmx5IHNldExvYWRpbmcgPSB0aGlzLnVwZGF0ZXIoKHN0b3JlLCBsb2FkaW5nOiBib29sZWFuKTogU3RhdGUgPT4gKHsgLi4uc3RvcmUsIGxvYWRpbmcgfSkpO1xuICByZWFkb25seSBzZXRDb3VudCA9IHRoaXMudXBkYXRlcihcbiAgICAoc3RvcmUsIGNvdW50OiBudW1iZXIpOiBTdGF0ZSA9PiAoe1xuICAgICAgLi4uc3RvcmUsXG4gICAgICBjb3VudCxcbiAgICB9KVxuICApO1xuXG4gIHJlYWRvbmx5IHNldFRvdGFsID0gdGhpcy51cGRhdGVyKFxuICAgIChzdGF0ZSwgdG90YWw6IG51bWJlcik6IFN0YXRlID0+ICh7XG4gICAgICAuLi5zdGF0ZSxcbiAgICAgIHRvdGFsLFxuICAgIH0pXG4gICk7XG5cbiAgYWJzdHJhY3QgcmVhZG9ubHkgZGVsZXRlQnlJZHM6IChcbiAgICBpZHM6IHN0cmluZ1tdLFxuICAgIC4uLmFyZ3M6IHVua25vd25bXVxuICApID0+IE9ic2VydmFibGU8TXV0YXRpb25SZXN1bHQ8VHlwZVtdPiB8IG51bGw+O1xuICBhYnN0cmFjdCByZWFkb25seSBmZXRjaFRvdGFsOiAoXG4gICAgb2JzZXJ2YWJsZU9yVmFsdWU6IFJlY29yZDxzdHJpbmcsIGFueT4gfCBPYnNlcnZhYmxlPFJlY29yZDxzdHJpbmcsIGFueT4+XG4gICkgPT4gU3Vic2NyaXB0aW9uO1xuICBhYnN0cmFjdCByZWFkb25seSBmZXRjaE9iamVjdHM6IChcbiAgICBvYnNlcnZhYmxlT3JWYWx1ZTpcbiAgICAgIHwge1xuICAgICAgICAgIGZpbHRlcjogSUhhc3VyYVF1ZXJ5RmlsdGVyPFR5cGU+O1xuICAgICAgICAgIGNhbGxiYWNrPzogKGRhdGE6IFR5cGVbXSkgPT4gdm9pZDtcbiAgICAgICAgfVxuICAgICAgfCBPYnNlcnZhYmxlPHtcbiAgICAgICAgICBmaWx0ZXI6IElIYXN1cmFRdWVyeUZpbHRlcjxUeXBlPjtcbiAgICAgICAgICBjYWxsYmFjaz86IChkYXRhOiBUeXBlW10pID0+IHZvaWQ7XG4gICAgICAgIH0+XG4gICkgPT4gU3Vic2NyaXB0aW9uO1xuXG4gIGFic3RyYWN0IGJ1aWxkRmlsdGVyKFxuICAgIGxpbWl0OiBudW1iZXIgfCB1bmRlZmluZWQsXG4gICAgb2Zmc2V0OiBudW1iZXIgfCB1bmRlZmluZWQsXG4gICAgZ3FsRmlsdGVyOiBHcWxGaWVsZHMgfCB1bmRlZmluZWQsXG4gICAgc29ydGVyPzogUHJpem1UYWJsZUNlbGxTb3J0ZXI8VHlwZT5bXVxuICApOiBJSGFzdXJhUXVlcnlGaWx0ZXI8VHlwZT47XG59XG4iXX0=
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
export var EDatePattern;
|
|
2
|
-
(function (EDatePattern) {
|
|
3
|
-
EDatePattern["MONTH_YEAR"] = "MM.yyyy";
|
|
4
|
-
EDatePattern["DATE"] = "dd.MM.yyyy";
|
|
5
|
-
EDatePattern["SHORT_YEAR_DATE"] = "dd.MM.yy";
|
|
6
|
-
EDatePattern["DATE_TIME_WITHOUT_SECONDS"] = "dd.MM.yyyy HH:mm";
|
|
7
|
-
EDatePattern["DATE_TIME"] = "dd.MM.yyyy HH:mm:ss";
|
|
8
|
-
EDatePattern["YEAR_MONTH_DAY"] = "yyyy-MM-dd";
|
|
9
|
-
EDatePattern["DD_MM_YYYY"] = "dd-MM-yyyy";
|
|
10
|
-
EDatePattern["DATE_TIME_ISO_MARKED_TIMEZONE"] = "yyyy-MM-dd'T'HH:mm:ss";
|
|
11
|
-
EDatePattern["YYYY_MM_DD"] = "yyyy/MM/dd";
|
|
12
|
-
EDatePattern["MMMM_YYYY"] = "MMMM YYYY";
|
|
13
|
-
EDatePattern["DATE_TIME_ISO_PATTERN"] = "YYYY-MM-DDTHH:mm:ss";
|
|
14
|
-
EDatePattern["DATE_TIME_FOR_TRACKER"] = "YYYY-MM-DD HH:mm:ss";
|
|
15
|
-
EDatePattern["DATE_TIME_FOR_TRACKER_NOT_SIMPLE"] = "yyyy-MM-dd HH:mm:ss";
|
|
16
|
-
EDatePattern["TUI_YMD"] = "YMD";
|
|
17
|
-
EDatePattern["DAY"] = "d";
|
|
18
|
-
EDatePattern["HOUR_MINUTE"] = "HH:mm";
|
|
19
|
-
})(EDatePattern || (EDatePattern = {}));
|
|
20
|
-
export var EMomentPattern;
|
|
21
|
-
(function (EMomentPattern) {
|
|
22
|
-
EMomentPattern["YYYY_MM_DD"] = "YYYY-MM-DD";
|
|
23
|
-
EMomentPattern["YYYYMMDD"] = "yyyy/MM/DD";
|
|
24
|
-
})(EMomentPattern || (EMomentPattern = {}));
|
|
25
|
-
export var ETimezone;
|
|
26
|
-
(function (ETimezone) {
|
|
27
|
-
ETimezone["UTC"] = "+00:00";
|
|
28
|
-
ETimezone["MSK"] = "+03:00";
|
|
29
|
-
ETimezone["AQT"] = "+05:00";
|
|
30
|
-
ETimezone["NVS"] = "+07:00";
|
|
31
|
-
ETimezone["IRK"] = "+08:00";
|
|
32
|
-
ETimezone["YAK"] = "+09:00";
|
|
33
|
-
})(ETimezone || (ETimezone = {}));
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS10aW1lLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJlZ2lzdGVyLWJhc2Uvc3JjL2xpYi9kaXJlY3RpdmVzL2RhdGUvZGF0ZS10aW1lLnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBTixJQUFZLFlBaUJYO0FBakJELFdBQVksWUFBWTtJQUN0QixzQ0FBc0IsQ0FBQTtJQUN0QixtQ0FBbUIsQ0FBQTtJQUNuQiw0Q0FBNEIsQ0FBQTtJQUM1Qiw4REFBOEMsQ0FBQTtJQUM5QyxpREFBaUMsQ0FBQTtJQUNqQyw2Q0FBNkIsQ0FBQTtJQUM3Qix5Q0FBeUIsQ0FBQTtJQUN6Qix1RUFBdUQsQ0FBQTtJQUN2RCx5Q0FBeUIsQ0FBQTtJQUN6Qix1Q0FBdUIsQ0FBQTtJQUN2Qiw2REFBNkMsQ0FBQTtJQUM3Qyw2REFBNkMsQ0FBQTtJQUM3Qyx3RUFBd0QsQ0FBQTtJQUN4RCwrQkFBZSxDQUFBO0lBQ2YseUJBQVMsQ0FBQTtJQUNULHFDQUFxQixDQUFBO0FBQ3ZCLENBQUMsRUFqQlcsWUFBWSxLQUFaLFlBQVksUUFpQnZCO0FBRUQsTUFBTSxDQUFOLElBQVksY0FHWDtBQUhELFdBQVksY0FBYztJQUN4QiwyQ0FBeUIsQ0FBQTtJQUN6Qix5Q0FBdUIsQ0FBQTtBQUN6QixDQUFDLEVBSFcsY0FBYyxLQUFkLGNBQWMsUUFHekI7QUFFRCxNQUFNLENBQU4sSUFBWSxTQU9YO0FBUEQsV0FBWSxTQUFTO0lBQ25CLDJCQUFjLENBQUE7SUFDZCwyQkFBYyxDQUFBO0lBQ2QsMkJBQWMsQ0FBQTtJQUNkLDJCQUFjLENBQUE7SUFDZCwyQkFBYyxDQUFBO0lBQ2QsMkJBQWMsQ0FBQTtBQUNoQixDQUFDLEVBUFcsU0FBUyxLQUFULFNBQVMsUUFPcEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQcml6bURheSwgUHJpem1UaW1lIH0gZnJvbSAnQHByaXptLXVpL2NvbXBvbmVudHMnO1xuXG5leHBvcnQgZW51bSBFRGF0ZVBhdHRlcm4ge1xuICBNT05USF9ZRUFSID0gJ01NLnl5eXknLFxuICBEQVRFID0gJ2RkLk1NLnl5eXknLFxuICBTSE9SVF9ZRUFSX0RBVEUgPSAnZGQuTU0ueXknLFxuICBEQVRFX1RJTUVfV0lUSE9VVF9TRUNPTkRTID0gJ2RkLk1NLnl5eXkgSEg6bW0nLFxuICBEQVRFX1RJTUUgPSAnZGQuTU0ueXl5eSBISDptbTpzcycsXG4gIFlFQVJfTU9OVEhfREFZID0gJ3l5eXktTU0tZGQnLFxuICBERF9NTV9ZWVlZID0gJ2RkLU1NLXl5eXknLFxuICBEQVRFX1RJTUVfSVNPX01BUktFRF9USU1FWk9ORSA9IGB5eXl5LU1NLWRkJ1QnSEg6bW06c3NgLFxuICBZWVlZX01NX0REID0gJ3l5eXkvTU0vZGQnLFxuICBNTU1NX1lZWVkgPSAnTU1NTSBZWVlZJyxcbiAgREFURV9USU1FX0lTT19QQVRURVJOID0gJ1lZWVktTU0tRERUSEg6bW06c3MnLFxuICBEQVRFX1RJTUVfRk9SX1RSQUNLRVIgPSAnWVlZWS1NTS1ERCBISDptbTpzcycsXG4gIERBVEVfVElNRV9GT1JfVFJBQ0tFUl9OT1RfU0lNUExFID0gJ3l5eXktTU0tZGQgSEg6bW06c3MnLFxuICBUVUlfWU1EID0gJ1lNRCcsXG4gIERBWSA9ICdkJyxcbiAgSE9VUl9NSU5VVEUgPSAnSEg6bW0nLFxufVxuXG5leHBvcnQgZW51bSBFTW9tZW50UGF0dGVybiB7XG4gIFlZWVlfTU1fREQgPSAnWVlZWS1NTS1ERCcsXG4gIFlZWVlNTUREID0gJ3l5eXkvTU0vREQnLFxufVxuXG5leHBvcnQgZW51bSBFVGltZXpvbmUge1xuICBVVEMgPSAnKzAwOjAwJyxcbiAgTVNLID0gJyswMzowMCcsXG4gIEFRVCA9ICcrMDU6MDAnLFxuICBOVlMgPSAnKzA3OjAwJyxcbiAgSVJLID0gJyswODowMCcsXG4gIFlBSyA9ICcrMDk6MDAnLFxufVxuXG5leHBvcnQgdHlwZSBTbWFQcml6bURhdGVUaW1lID0gW1ByaXptRGF5LCBQcml6bVRpbWUgfCB1bmRlZmluZWRdO1xuIl19
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { Pipe } from '@angular/core';
|
|
2
|
-
import moment from 'moment';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "../../services/date-time.service";
|
|
5
|
-
export class FormatDatePipe {
|
|
6
|
-
constructor(_dateTimeService) {
|
|
7
|
-
this._dateTimeService = _dateTimeService;
|
|
8
|
-
}
|
|
9
|
-
transform(value, valueTZ, pattern, _) {
|
|
10
|
-
let utc = null;
|
|
11
|
-
if (value instanceof Date) {
|
|
12
|
-
const iso = this._dateTimeService.convertDateToISOWithTZ(value, valueTZ);
|
|
13
|
-
utc = moment(iso).toISOString();
|
|
14
|
-
}
|
|
15
|
-
else if (typeof value === 'string') {
|
|
16
|
-
utc = value;
|
|
17
|
-
}
|
|
18
|
-
if (!utc) {
|
|
19
|
-
return value;
|
|
20
|
-
}
|
|
21
|
-
return this._dateTimeService.parseDate(utc, pattern);
|
|
22
|
-
}
|
|
23
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormatDatePipe, deps: [{ token: i1.DateTimeService }], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
24
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: FormatDatePipe, isStandalone: true, name: "formatDate" }); }
|
|
25
|
-
}
|
|
26
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormatDatePipe, decorators: [{
|
|
27
|
-
type: Pipe,
|
|
28
|
-
args: [{
|
|
29
|
-
name: 'formatDate',
|
|
30
|
-
standalone: true,
|
|
31
|
-
}]
|
|
32
|
-
}], ctorParameters: () => [{ type: i1.DateTimeService }] });
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LWRhdGUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZWdpc3Rlci1iYXNlL3NyYy9saWIvZGlyZWN0aXZlcy9kYXRlL2Zvcm1hdC1kYXRlLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDOzs7QUFPNUIsTUFBTSxPQUFPLGNBQWM7SUFDekIsWUFBNkIsZ0JBQWlDO1FBQWpDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBaUI7SUFBRyxDQUFDO0lBRWxFLFNBQVMsQ0FBQyxLQUFjLEVBQUUsT0FBZSxFQUFFLE9BQWUsRUFBRSxDQUFvQjtRQUM5RSxJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUM7UUFFZixJQUFJLEtBQUssWUFBWSxJQUFJLEVBQUUsQ0FBQztZQUMxQixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsc0JBQXNCLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ3pFLEdBQUcsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbEMsQ0FBQzthQUFNLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDckMsR0FBRyxHQUFHLEtBQUssQ0FBQztRQUNkLENBQUM7UUFFRCxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDVCxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3ZELENBQUM7K0dBbEJVLGNBQWM7NkdBQWQsY0FBYzs7NEZBQWQsY0FBYztrQkFKMUIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsWUFBWTtvQkFDbEIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHsgRGF0ZVRpbWVTZXJ2aWNlLCBJVGltZVpvbmUgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9kYXRlLXRpbWUuc2VydmljZSc7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ2Zvcm1hdERhdGUnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtYXREYXRlUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IF9kYXRlVGltZVNlcnZpY2U6IERhdGVUaW1lU2VydmljZSkge31cblxuICB0cmFuc2Zvcm0odmFsdWU6IHVua25vd24sIHZhbHVlVFo6IHN0cmluZywgcGF0dGVybjogc3RyaW5nLCBfPzogSVRpbWVab25lIHwgbnVsbCk6IHVua25vd24ge1xuICAgIGxldCB1dGMgPSBudWxsO1xuXG4gICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgRGF0ZSkge1xuICAgICAgY29uc3QgaXNvID0gdGhpcy5fZGF0ZVRpbWVTZXJ2aWNlLmNvbnZlcnREYXRlVG9JU09XaXRoVFoodmFsdWUsIHZhbHVlVFopO1xuICAgICAgdXRjID0gbW9tZW50KGlzbykudG9JU09TdHJpbmcoKTtcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHV0YyA9IHZhbHVlO1xuICAgIH1cblxuICAgIGlmICghdXRjKSB7XG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuX2RhdGVUaW1lU2VydmljZS5wYXJzZURhdGUodXRjLCBwYXR0ZXJuKTtcbiAgfVxufVxuIl19
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export { NumberOnlyDirective } from './number/number-only.directive';
|
|
2
|
-
export * from './sticky/index';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmVnaXN0ZXItYmFzZS9zcmMvbGliL2RpcmVjdGl2ZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDckUsY0FBYyxnQkFBZ0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IE51bWJlck9ubHlEaXJlY3RpdmUgfSBmcm9tICcuL251bWJlci9udW1iZXItb25seS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9zdGlja3kvaW5kZXgnO1xuIl19
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { Directive, HostListener, input } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
/** Ввод только числовых выражений */
|
|
4
|
-
export class NumberOnlyDirective {
|
|
5
|
-
constructor() {
|
|
6
|
-
/** Разрешать пользователю вводить дробные числа (возможность использовать точку или запятую) */
|
|
7
|
-
this.allowFractional = input(false);
|
|
8
|
-
}
|
|
9
|
-
onInput(event) {
|
|
10
|
-
const element = event.target;
|
|
11
|
-
let value = element.value;
|
|
12
|
-
if (this.allowFractional()) {
|
|
13
|
-
value = value.replace(/,/g, '.');
|
|
14
|
-
value = value.replace(/[^\d.]/g, '');
|
|
15
|
-
// Проверяем, чтобы точка была только одна
|
|
16
|
-
const parts = value.split('.');
|
|
17
|
-
if (parts.length > 2) {
|
|
18
|
-
value = `${parts.shift()}.${parts.join('')}`;
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
else {
|
|
22
|
-
value = value.replace(/\D/g, '');
|
|
23
|
-
}
|
|
24
|
-
if (element.value !== value) {
|
|
25
|
-
element.value = value;
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: NumberOnlyDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
29
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.14", type: NumberOnlyDirective, isStandalone: true, selector: "[numberOnly]", inputs: { allowFractional: { classPropertyName: "allowFractional", publicName: "allowFractional", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "input": "onInput($event)" } }, ngImport: i0 }); }
|
|
30
|
-
}
|
|
31
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: NumberOnlyDirective, decorators: [{
|
|
32
|
-
type: Directive,
|
|
33
|
-
args: [{
|
|
34
|
-
standalone: true,
|
|
35
|
-
selector: '[numberOnly]',
|
|
36
|
-
}]
|
|
37
|
-
}], propDecorators: { onInput: [{
|
|
38
|
-
type: HostListener,
|
|
39
|
-
args: ['input', ['$event']]
|
|
40
|
-
}] } });
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLW9ubHkuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJlZ2lzdGVyLWJhc2Uvc3JjL2xpYi9kaXJlY3RpdmVzL251bWJlci9udW1iZXItb25seS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUcvRCxxQ0FBcUM7QUFLckMsTUFBTSxPQUFPLG1CQUFtQjtJQUpoQztRQUtFLGdHQUFnRztRQUN6RixvQkFBZSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztLQXlCdkM7SUF0QlEsT0FBTyxDQUFDLEtBQXdCO1FBQ3JDLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7UUFDN0IsSUFBSSxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQztRQUUxQixJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUUsRUFBRSxDQUFDO1lBQzNCLEtBQUssR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQztZQUVqQyxLQUFLLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFFckMsMENBQTBDO1lBQzFDLE1BQU0sS0FBSyxHQUFhLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDekMsSUFBSSxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUNyQixLQUFLLEdBQUcsR0FBRyxLQUFLLENBQUMsS0FBSyxFQUFHLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQ2hELENBQUM7UUFDSCxDQUFDO2FBQU0sQ0FBQztZQUNOLEtBQUssR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNuQyxDQUFDO1FBRUQsSUFBSSxPQUFPLENBQUMsS0FBSyxLQUFLLEtBQUssRUFBRSxDQUFDO1lBQzVCLE9BQU8sQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLENBQUM7SUFDSCxDQUFDOytHQTFCVSxtQkFBbUI7bUdBQW5CLG1CQUFtQjs7NEZBQW5CLG1CQUFtQjtrQkFKL0IsU0FBUzttQkFBQztvQkFDVCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLGNBQWM7aUJBQ3pCOzhCQU1RLE9BQU87c0JBRGIsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3RMaXN0ZW5lciwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElucHV0RWxlbWVudEV2ZW50IH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuXG4vKiog0JLQstC+0LQg0YLQvtC70YzQutC+INGH0LjRgdC70L7QstGL0YUg0LLRi9GA0LDQttC10L3QuNC5ICovXG5ARGlyZWN0aXZlKHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdbbnVtYmVyT25seV0nLFxufSlcbmV4cG9ydCBjbGFzcyBOdW1iZXJPbmx5RGlyZWN0aXZlIHtcbiAgLyoqINCg0LDQt9GA0LXRiNCw0YLRjCDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y4g0LLQstC+0LTQuNGC0Ywg0LTRgNC+0LHQvdGL0LUg0YfQuNGB0LvQsCAo0LLQvtC30LzQvtC20L3QvtGB0YLRjCDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0YLQvtGH0LrRgyDQuNC70Lgg0LfQsNC/0Y/RgtGD0Y4pICovXG4gIHB1YmxpYyBhbGxvd0ZyYWN0aW9uYWwgPSBpbnB1dChmYWxzZSk7XG5cbiAgQEhvc3RMaXN0ZW5lcignaW5wdXQnLCBbJyRldmVudCddKVxuICBwdWJsaWMgb25JbnB1dChldmVudDogSW5wdXRFbGVtZW50RXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBlbGVtZW50ID0gZXZlbnQudGFyZ2V0O1xuICAgIGxldCB2YWx1ZSA9IGVsZW1lbnQudmFsdWU7XG5cbiAgICBpZiAodGhpcy5hbGxvd0ZyYWN0aW9uYWwoKSkge1xuICAgICAgdmFsdWUgPSB2YWx1ZS5yZXBsYWNlKC8sL2csICcuJyk7XG5cbiAgICAgIHZhbHVlID0gdmFsdWUucmVwbGFjZSgvW15cXGQuXS9nLCAnJyk7XG5cbiAgICAgIC8vINCf0YDQvtCy0LXRgNGP0LXQvCwg0YfRgtC+0LHRiyDRgtC+0YfQutCwINCx0YvQu9CwINGC0L7Qu9GM0LrQviDQvtC00L3QsFxuICAgICAgY29uc3QgcGFydHM6IHN0cmluZ1tdID0gdmFsdWUuc3BsaXQoJy4nKTtcbiAgICAgIGlmIChwYXJ0cy5sZW5ndGggPiAyKSB7XG4gICAgICAgIHZhbHVlID0gYCR7cGFydHMuc2hpZnQoKSF9LiR7cGFydHMuam9pbignJyl9YDtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdmFsdWUgPSB2YWx1ZS5yZXBsYWNlKC9cXEQvZywgJycpO1xuICAgIH1cblxuICAgIGlmIChlbGVtZW50LnZhbHVlICE9PSB2YWx1ZSkge1xuICAgICAgZWxlbWVudC52YWx1ZSA9IHZhbHVlO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export * from './sticky.directive';
|
|
2
|
-
export * from './sticky-relative.directive';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmVnaXN0ZXItYmFzZS9zcmMvbGliL2RpcmVjdGl2ZXMvc3RpY2t5L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyw2QkFBNkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc3RpY2t5LmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3N0aWNreS1yZWxhdGl2ZS5kaXJlY3RpdmUnO1xuIl19
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { DestroyRef, Directive, ElementRef, inject, input } from '@angular/core';
|
|
2
|
-
import { StickyRelativeService } from './sticky-relative.service';
|
|
3
|
-
import { takeUntilDestroyed, toObservable } from '@angular/core/rxjs-interop';
|
|
4
|
-
import { skip } from 'rxjs';
|
|
5
|
-
import { distinctUntilChangedJSONs } from '../../utils';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
export class StickyRelativeDirective {
|
|
8
|
-
constructor() {
|
|
9
|
-
this.columns = input.required();
|
|
10
|
-
this._columnsChanges$ = toObservable(this.columns).pipe(distinctUntilChangedJSONs(), skip(1));
|
|
11
|
-
this._stickyRelativeService = inject(StickyRelativeService);
|
|
12
|
-
this._dr = inject(DestroyRef);
|
|
13
|
-
this._elRef = inject(ElementRef);
|
|
14
|
-
this._columnsChanges$.pipe(takeUntilDestroyed(this._dr)).subscribe(() => {
|
|
15
|
-
this._stickyRelativeService.nextChangesChildren();
|
|
16
|
-
});
|
|
17
|
-
}
|
|
18
|
-
ngOnInit() {
|
|
19
|
-
this._stickyRelativeService.element = this._elRef.nativeElement;
|
|
20
|
-
}
|
|
21
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StickyRelativeDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
22
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.14", type: StickyRelativeDirective, isStandalone: true, selector: "[stickyRelative]", inputs: { columns: { classPropertyName: "columns", publicName: "columns", isSignal: true, isRequired: true, transformFunction: null } }, providers: [StickyRelativeService], ngImport: i0 }); }
|
|
23
|
-
}
|
|
24
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StickyRelativeDirective, decorators: [{
|
|
25
|
-
type: Directive,
|
|
26
|
-
args: [{
|
|
27
|
-
selector: '[stickyRelative]',
|
|
28
|
-
standalone: true,
|
|
29
|
-
providers: [StickyRelativeService],
|
|
30
|
-
}]
|
|
31
|
-
}], ctorParameters: () => [] });
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RpY2t5LXJlbGF0aXZlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZWdpc3Rlci1iYXNlL3NyYy9saWIvZGlyZWN0aXZlcy9zdGlja3kvc3RpY2t5LXJlbGF0aXZlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUN6RixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM1QixPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSxhQUFhLENBQUM7O0FBT3RELE1BQU0sT0FBTyx1QkFBdUI7SUFTbEM7UUFSTyxZQUFPLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBYSxDQUFDO1FBRXJDLHFCQUFnQixHQUFHLFlBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLHlCQUF5QixFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFaEYsMkJBQXNCLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDdkQsUUFBRyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN6QixXQUFNLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRzNDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUN0RSxJQUFJLENBQUMsc0JBQXNCLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUNwRCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLHNCQUFzQixDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQztJQUNsRSxDQUFDOytHQWpCVSx1QkFBdUI7bUdBQXZCLHVCQUF1Qix3TUFGdkIsQ0FBQyxxQkFBcUIsQ0FBQzs7NEZBRXZCLHVCQUF1QjtrQkFMbkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsU0FBUyxFQUFFLENBQUMscUJBQXFCLENBQUM7aUJBQ25DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVzdHJveVJlZiwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBpbmplY3QsIGlucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0aWNreVJlbGF0aXZlU2VydmljZSB9IGZyb20gJy4vc3RpY2t5LXJlbGF0aXZlLnNlcnZpY2UnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkLCB0b09ic2VydmFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBza2lwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2Rpc3RpbmN0VW50aWxDaGFuZ2VkSlNPTnN9IGZyb20gJy4uLy4uL3V0aWxzJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3N0aWNreVJlbGF0aXZlXScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHByb3ZpZGVyczogW1N0aWNreVJlbGF0aXZlU2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIFN0aWNreVJlbGF0aXZlRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHVibGljIGNvbHVtbnMgPSBpbnB1dC5yZXF1aXJlZDx1bmtub3duW10+KCk7XG5cbiAgcHJpdmF0ZSBfY29sdW1uc0NoYW5nZXMkID0gdG9PYnNlcnZhYmxlKHRoaXMuY29sdW1ucykucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZEpTT05zKCksIHNraXAoMSkpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3N0aWNreVJlbGF0aXZlU2VydmljZSA9IGluamVjdChTdGlja3lSZWxhdGl2ZVNlcnZpY2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9kciA9IGluamVjdChEZXN0cm95UmVmKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfZWxSZWYgPSBpbmplY3QoRWxlbWVudFJlZik7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5fY29sdW1uc0NoYW5nZXMkLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuX2RyKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuX3N0aWNreVJlbGF0aXZlU2VydmljZS5uZXh0Q2hhbmdlc0NoaWxkcmVuKCk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fc3RpY2t5UmVsYXRpdmVTZXJ2aWNlLmVsZW1lbnQgPSB0aGlzLl9lbFJlZi5uYXRpdmVFbGVtZW50O1xuICB9XG59XG4iXX0=
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { Subject } from 'rxjs';
|
|
3
|
-
import { shareReplay } from 'rxjs/operators';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class StickyRelativeService {
|
|
6
|
-
constructor() {
|
|
7
|
-
this._changesChildren$ = new Subject();
|
|
8
|
-
this._resizeObserver = new ResizeObserver(() => {
|
|
9
|
-
this._changesChildren$.next();
|
|
10
|
-
});
|
|
11
|
-
this.changesChildren$ = this._changesChildren$.pipe(shareReplay(1));
|
|
12
|
-
}
|
|
13
|
-
add(item) {
|
|
14
|
-
this._resizeObserver.observe(item.elRef.nativeElement);
|
|
15
|
-
}
|
|
16
|
-
delete(item) {
|
|
17
|
-
this._resizeObserver.unobserve(item.elRef.nativeElement);
|
|
18
|
-
}
|
|
19
|
-
nextChangesChildren() {
|
|
20
|
-
this._changesChildren$.next();
|
|
21
|
-
}
|
|
22
|
-
ngOnDestroy() {
|
|
23
|
-
this._resizeObserver.disconnect();
|
|
24
|
-
this._changesChildren$.complete();
|
|
25
|
-
}
|
|
26
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StickyRelativeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
27
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StickyRelativeService }); }
|
|
28
|
-
}
|
|
29
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StickyRelativeService, decorators: [{
|
|
30
|
-
type: Injectable
|
|
31
|
-
}] });
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RpY2t5LXJlbGF0aXZlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmVnaXN0ZXItYmFzZS9zcmMvbGliL2RpcmVjdGl2ZXMvc3RpY2t5L3N0aWNreS1yZWxhdGl2ZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFFdEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBRzdDLE1BQU0sT0FBTyxxQkFBcUI7SUFEbEM7UUFJbUIsc0JBQWlCLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUV4QyxvQkFBZSxHQUFHLElBQUksY0FBYyxDQUFDLEdBQUcsRUFBRTtZQUN6RCxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDaEMsQ0FBQyxDQUFDLENBQUM7UUFFYSxxQkFBZ0IsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBa0JoRjtJQWhCUSxHQUFHLENBQUMsSUFBcUI7UUFDOUIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRU0sTUFBTSxDQUFDLElBQXFCO1FBQ2pDLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVNLG1CQUFtQjtRQUN4QixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNsQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDcEMsQ0FBQzsrR0ExQlUscUJBQXFCO21IQUFyQixxQkFBcUI7OzRGQUFyQixxQkFBcUI7a0JBRGpDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0aWNreURpcmVjdGl2ZSB9IGZyb20gJy4vc3RpY2t5LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBzaGFyZVJlcGxheSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFN0aWNreVJlbGF0aXZlU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHB1YmxpYyBlbGVtZW50ITogSFRNTEVsZW1lbnQ7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfY2hhbmdlc0NoaWxkcmVuJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfcmVzaXplT2JzZXJ2ZXIgPSBuZXcgUmVzaXplT2JzZXJ2ZXIoKCkgPT4ge1xuICAgIHRoaXMuX2NoYW5nZXNDaGlsZHJlbiQubmV4dCgpO1xuICB9KTtcblxuICBwdWJsaWMgcmVhZG9ubHkgY2hhbmdlc0NoaWxkcmVuJCA9IHRoaXMuX2NoYW5nZXNDaGlsZHJlbiQucGlwZShzaGFyZVJlcGxheSgxKSk7XG5cbiAgcHVibGljIGFkZChpdGVtOiBTdGlja3lEaXJlY3RpdmUpOiB2b2lkIHtcbiAgICB0aGlzLl9yZXNpemVPYnNlcnZlci5vYnNlcnZlKGl0ZW0uZWxSZWYubmF0aXZlRWxlbWVudCk7XG4gIH1cblxuICBwdWJsaWMgZGVsZXRlKGl0ZW06IFN0aWNreURpcmVjdGl2ZSk6IHZvaWQge1xuICAgIHRoaXMuX3Jlc2l6ZU9ic2VydmVyLnVub2JzZXJ2ZShpdGVtLmVsUmVmLm5hdGl2ZUVsZW1lbnQpO1xuICB9XG5cbiAgcHVibGljIG5leHRDaGFuZ2VzQ2hpbGRyZW4oKTogdm9pZCB7XG4gICAgdGhpcy5fY2hhbmdlc0NoaWxkcmVuJC5uZXh0KCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fcmVzaXplT2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICAgIHRoaXMuX2NoYW5nZXNDaGlsZHJlbiQuY29tcGxldGUoKTtcbiAgfVxufVxuIl19
|
|
@@ -1,169 +0,0 @@
|
|
|
1
|
-
import { DestroyRef, Directive, ElementRef, HostBinding, inject, input, Renderer2, } from '@angular/core';
|
|
2
|
-
import { filter, map, observeOn, switchMap, takeUntil, tap } from 'rxjs/operators';
|
|
3
|
-
import { StickyRelativeService } from './sticky-relative.service';
|
|
4
|
-
import { animationFrameScheduler, of, Subject } from 'rxjs';
|
|
5
|
-
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
6
|
-
import { toPx } from '../../utils';
|
|
7
|
-
import { moveInEventLoopIteration } from '../../utils';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
export class StickyDirective {
|
|
10
|
-
constructor() {
|
|
11
|
-
this.stickyLeft = input();
|
|
12
|
-
this.stickyRight = input();
|
|
13
|
-
this.stickyTop = input();
|
|
14
|
-
this.stickyBottom = input();
|
|
15
|
-
this.stickyRelative = input();
|
|
16
|
-
this.position = input('sticky');
|
|
17
|
-
this.stylesOnSticky = input();
|
|
18
|
-
this.elRef = inject(ElementRef);
|
|
19
|
-
this._relativeService = inject(StickyRelativeService);
|
|
20
|
-
this._renderer = inject(Renderer2);
|
|
21
|
-
this._destroyRef = inject(DestroyRef);
|
|
22
|
-
this._destroyPrevious = new Subject();
|
|
23
|
-
this._changedSides = {
|
|
24
|
-
right: true,
|
|
25
|
-
left: true,
|
|
26
|
-
top: true,
|
|
27
|
-
bottom: true,
|
|
28
|
-
};
|
|
29
|
-
this._setActiveStyle = false;
|
|
30
|
-
}
|
|
31
|
-
get applySticky() {
|
|
32
|
-
return this.stickyLeft() || this.stickyRight() || this.stickyTop() || this.stickyBottom()
|
|
33
|
-
? this.position()
|
|
34
|
-
: '';
|
|
35
|
-
}
|
|
36
|
-
ngOnInit() {
|
|
37
|
-
this._relativeService.add(this);
|
|
38
|
-
}
|
|
39
|
-
ngOnDestroy() {
|
|
40
|
-
this._relativeService.delete(this);
|
|
41
|
-
this._destroyPrevious.complete();
|
|
42
|
-
}
|
|
43
|
-
ngOnChanges() {
|
|
44
|
-
this._init();
|
|
45
|
-
}
|
|
46
|
-
_init() {
|
|
47
|
-
this._destroyPrevious.next();
|
|
48
|
-
const parent = this.stickyRelative() ?? this._relativeService?.element;
|
|
49
|
-
this._relativeService?.changesChildren$
|
|
50
|
-
.pipe(map(() => this.elRef.nativeElement.getBoundingClientRect()), observeOn(animationFrameScheduler), filter((i) => Boolean(i.width || i.height)), switchMap((result) => {
|
|
51
|
-
if (this.stickyRight() || this._changedSides.right) {
|
|
52
|
-
this._renderer.removeStyle(this.elRef.nativeElement, 'right');
|
|
53
|
-
}
|
|
54
|
-
if (this.stickyLeft() || this._changedSides.left) {
|
|
55
|
-
this._renderer.removeStyle(this.elRef.nativeElement, 'left');
|
|
56
|
-
}
|
|
57
|
-
if (this.stickyTop() || this._changedSides.top) {
|
|
58
|
-
this._renderer.removeStyle(this.elRef.nativeElement, 'top');
|
|
59
|
-
}
|
|
60
|
-
if (this.stickyBottom() || this._changedSides.bottom) {
|
|
61
|
-
this._renderer.removeStyle(this.elRef.nativeElement, 'bottom');
|
|
62
|
-
}
|
|
63
|
-
this._clearStylesIfSet();
|
|
64
|
-
return of(result).pipe(moveInEventLoopIteration(1));
|
|
65
|
-
}), tap(() => {
|
|
66
|
-
const parentRect = parent?.getBoundingClientRect();
|
|
67
|
-
const elRect = this.elRef.nativeElement.getBoundingClientRect();
|
|
68
|
-
let styleRight = 0;
|
|
69
|
-
this._setStylesIfExist();
|
|
70
|
-
if (this.stickyLeft()) {
|
|
71
|
-
const left = parentRect?.left ? elRect.left - parentRect.left : elRect.left;
|
|
72
|
-
this._renderer.setStyle(this.elRef.nativeElement, 'left', toPx(left));
|
|
73
|
-
this._changedSides.left = true;
|
|
74
|
-
}
|
|
75
|
-
else {
|
|
76
|
-
this._changedSides.left = true;
|
|
77
|
-
}
|
|
78
|
-
if (this.stickyRight()) {
|
|
79
|
-
styleRight = Number.parseInt(this.elRef.nativeElement.style.right || '0', 10);
|
|
80
|
-
let right = elRect.right;
|
|
81
|
-
let scrollOffset = 0;
|
|
82
|
-
let diff = 0;
|
|
83
|
-
if (parent) {
|
|
84
|
-
scrollOffset = parent.scrollWidth - parent.clientWidth - parent.scrollLeft;
|
|
85
|
-
diff = Math.abs(elRect.right - parentRect.right - scrollOffset - styleRight);
|
|
86
|
-
right = Math.floor(diff);
|
|
87
|
-
}
|
|
88
|
-
this._renderer.setStyle(this.elRef.nativeElement, 'right', toPx(right));
|
|
89
|
-
this._changedSides.right = true;
|
|
90
|
-
}
|
|
91
|
-
else {
|
|
92
|
-
this._changedSides.right = true;
|
|
93
|
-
}
|
|
94
|
-
if (this.stickyTop()) {
|
|
95
|
-
const top = parentRect?.top ? elRect.top - parentRect.top : elRect.top;
|
|
96
|
-
this._renderer.setStyle(this.elRef.nativeElement, 'top', toPx(top));
|
|
97
|
-
this._changedSides.top = true;
|
|
98
|
-
}
|
|
99
|
-
else {
|
|
100
|
-
this._changedSides.top = true;
|
|
101
|
-
}
|
|
102
|
-
if (this.stickyBottom()) {
|
|
103
|
-
const bottom = parentRect?.bottom ? elRect.bottom - parentRect.bottom : elRect.bottom;
|
|
104
|
-
this._renderer.setStyle(this.elRef.nativeElement, 'bottom', toPx(bottom));
|
|
105
|
-
this._changedSides.bottom = true;
|
|
106
|
-
}
|
|
107
|
-
else {
|
|
108
|
-
this._changedSides.bottom = true;
|
|
109
|
-
}
|
|
110
|
-
this._setStylesIfExist();
|
|
111
|
-
}),
|
|
112
|
-
// eslint-disable-next-line rxjs/no-unsafe-takeuntil
|
|
113
|
-
takeUntil(this._destroyPrevious), takeUntilDestroyed(this._destroyRef))
|
|
114
|
-
.subscribe();
|
|
115
|
-
}
|
|
116
|
-
_clearStylesIfSet() {
|
|
117
|
-
if (!this._setActiveStyle) {
|
|
118
|
-
return;
|
|
119
|
-
}
|
|
120
|
-
const stylesOnSticky = this.stylesOnSticky();
|
|
121
|
-
const keys = stylesOnSticky && Object.keys(stylesOnSticky);
|
|
122
|
-
if (!keys?.length) {
|
|
123
|
-
return;
|
|
124
|
-
}
|
|
125
|
-
for (const key of keys) {
|
|
126
|
-
this.elRef.nativeElement.style[key] = '';
|
|
127
|
-
}
|
|
128
|
-
this._setActiveStyle = false;
|
|
129
|
-
}
|
|
130
|
-
_setStylesIfExist() {
|
|
131
|
-
if (!this.stickyRight() && !this.stickyLeft() && !this.stickyBottom() && !this.stickyTop()) {
|
|
132
|
-
return;
|
|
133
|
-
}
|
|
134
|
-
const stylesOnSticky = this.stylesOnSticky();
|
|
135
|
-
const keys = stylesOnSticky && Object.keys(stylesOnSticky);
|
|
136
|
-
if (!keys?.length) {
|
|
137
|
-
return;
|
|
138
|
-
}
|
|
139
|
-
for (const key of keys) {
|
|
140
|
-
this.elRef.nativeElement.style[key] = this.stylesOnSticky()?.[key] ?? '';
|
|
141
|
-
}
|
|
142
|
-
this._setActiveStyle = true;
|
|
143
|
-
}
|
|
144
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StickyDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
145
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.14", type: StickyDirective, isStandalone: true, selector: "[stickyLeft], [stickyRight], [stickyTop], [stickyBottom]", inputs: { stickyLeft: { classPropertyName: "stickyLeft", publicName: "stickyLeft", isSignal: true, isRequired: false, transformFunction: null }, stickyRight: { classPropertyName: "stickyRight", publicName: "stickyRight", isSignal: true, isRequired: false, transformFunction: null }, stickyTop: { classPropertyName: "stickyTop", publicName: "stickyTop", isSignal: true, isRequired: false, transformFunction: null }, stickyBottom: { classPropertyName: "stickyBottom", publicName: "stickyBottom", isSignal: true, isRequired: false, transformFunction: null }, stickyRelative: { classPropertyName: "stickyRelative", publicName: "stickyRelative", isSignal: true, isRequired: false, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, stylesOnSticky: { classPropertyName: "stylesOnSticky", publicName: "stylesOnSticky", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.sticky-left": "this.stickyLeft", "class.sticky-right": "this.stickyRight", "class.sticky-top": "this.stickyTop", "class.sticky-bottom": "this.stickyBottom", "style.position": "this.applySticky" } }, usesOnChanges: true, ngImport: i0 }); }
|
|
146
|
-
}
|
|
147
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StickyDirective, decorators: [{
|
|
148
|
-
type: Directive,
|
|
149
|
-
args: [{
|
|
150
|
-
selector: '[stickyLeft], [stickyRight], [stickyTop], [stickyBottom]',
|
|
151
|
-
standalone: true,
|
|
152
|
-
}]
|
|
153
|
-
}], propDecorators: { stickyLeft: [{
|
|
154
|
-
type: HostBinding,
|
|
155
|
-
args: ['class.sticky-left']
|
|
156
|
-
}], stickyRight: [{
|
|
157
|
-
type: HostBinding,
|
|
158
|
-
args: ['class.sticky-right']
|
|
159
|
-
}], stickyTop: [{
|
|
160
|
-
type: HostBinding,
|
|
161
|
-
args: ['class.sticky-top']
|
|
162
|
-
}], stickyBottom: [{
|
|
163
|
-
type: HostBinding,
|
|
164
|
-
args: ['class.sticky-bottom']
|
|
165
|
-
}], applySticky: [{
|
|
166
|
-
type: HostBinding,
|
|
167
|
-
args: ['style.position']
|
|
168
|
-
}] } });
|
|
169
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RpY2t5LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZWdpc3Rlci1iYXNlL3NyYy9saWIvZGlyZWN0aXZlcy9zdGlja3kvc3RpY2t5LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsVUFBVSxFQUNWLFNBQVMsRUFDVCxVQUFVLEVBQ1YsV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBSUwsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25GLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDbkMsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sYUFBYSxDQUFDOztBQU12RCxNQUFNLE9BQU8sZUFBZTtJQUo1QjtRQU1TLGVBQVUsR0FBRyxLQUFLLEVBQVcsQ0FBQztRQUU5QixnQkFBVyxHQUFHLEtBQUssRUFBVyxDQUFDO1FBRS9CLGNBQVMsR0FBRyxLQUFLLEVBQVcsQ0FBQztRQUU3QixpQkFBWSxHQUFHLEtBQUssRUFBVyxDQUFDO1FBQ2hDLG1CQUFjLEdBQUcsS0FBSyxFQUEyQixDQUFDO1FBQ2xELGFBQVEsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDM0IsbUJBQWMsR0FBRyxLQUFLLEVBQXVDLENBQUM7UUFTckQsVUFBSyxHQUFHLE1BQU0sQ0FB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QixXQUFXO3VCQUFDLG9CQUFvQjtnQkFHMUIsU0FBUztzQkFEZixXQUFXO3VCQUFDLGtCQUFrQjtnQkFHeEIsWUFBWTtzQkFEbEIsV0FBVzt1QkFBQyxxQkFBcUI7Z0JBTzlCLFdBQVc7c0JBRGQsV0FBVzt1QkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEZXN0cm95UmVmLFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RCaW5kaW5nLFxuICBpbmplY3QsXG4gIGlucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBSZW5kZXJlcjIsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZmlsdGVyLCBtYXAsIG9ic2VydmVPbiwgc3dpdGNoTWFwLCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFN0aWNreVJlbGF0aXZlU2VydmljZSB9IGZyb20gJy4vc3RpY2t5LXJlbGF0aXZlLnNlcnZpY2UnO1xuaW1wb3J0IHsgYW5pbWF0aW9uRnJhbWVTY2hlZHVsZXIsIG9mLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyB0b1B4IH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuaW1wb3J0IHsgbW92ZUluRXZlbnRMb29wSXRlcmF0aW9uIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbc3RpY2t5TGVmdF0sIFtzdGlja3lSaWdodF0sIFtzdGlja3lUb3BdLCBbc3RpY2t5Qm90dG9tXScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIFN0aWNreURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25EZXN0cm95LCBPbkluaXQge1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnN0aWNreS1sZWZ0JylcbiAgcHVibGljIHN0aWNreUxlZnQgPSBpbnB1dDxib29sZWFuPigpO1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnN0aWNreS1yaWdodCcpXG4gIHB1YmxpYyBzdGlja3lSaWdodCA9IGlucHV0PGJvb2xlYW4+KCk7XG4gIEBIb3N0QmluZGluZygnY2xhc3Muc3RpY2t5LXRvcCcpXG4gIHB1YmxpYyBzdGlja3lUb3AgPSBpbnB1dDxib29sZWFuPigpO1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnN0aWNreS1ib3R0b20nKVxuICBwdWJsaWMgc3RpY2t5Qm90dG9tID0gaW5wdXQ8Ym9vbGVhbj4oKTtcbiAgcHVibGljIHN0aWNreVJlbGF0aXZlID0gaW5wdXQ8SFRNTEVsZW1lbnQgfCB1bmRlZmluZWQ+KCk7XG4gIHB1YmxpYyBwb3NpdGlvbiA9IGlucHV0KCdzdGlja3knKTtcbiAgcHVibGljIHN0eWxlc09uU3RpY2t5ID0gaW5wdXQ8UmVjb3JkPHN0cmluZywgdW5rbm93bj4gfCB1bmRlZmluZWQ+KCk7XG5cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5wb3NpdGlvbicpXG4gIGdldCBhcHBseVN0aWNreSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnN0aWNreUxlZnQoKSB8fCB0aGlzLnN0aWNreVJpZ2h0KCkgfHwgdGhpcy5zdGlja3lUb3AoKSB8fCB0aGlzLnN0aWNreUJvdHRvbSgpXG4gICAgICA/IHRoaXMucG9zaXRpb24oKVxuICAgICAgOiAnJztcbiAgfVxuXG4gIHB1YmxpYyByZWFkb25seSBlbFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9yZWxhdGl2ZVNlcnZpY2UgPSBpbmplY3QoU3RpY2t5UmVsYXRpdmVTZXJ2aWNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfcmVuZGVyZXIgPSBpbmplY3QoUmVuZGVyZXIyKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95UHJldmlvdXMgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9jaGFuZ2VkU2lkZXMgPSB7XG4gICAgcmlnaHQ6IHRydWUsXG4gICAgbGVmdDogdHJ1ZSxcbiAgICB0b3A6IHRydWUsXG4gICAgYm90dG9tOiB0cnVlLFxuICB9O1xuXG4gIHByaXZhdGUgX3NldEFjdGl2ZVN0eWxlID0gZmFsc2U7XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX3JlbGF0aXZlU2VydmljZS5hZGQodGhpcyk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fcmVsYXRpdmVTZXJ2aWNlLmRlbGV0ZSh0aGlzKTtcbiAgICB0aGlzLl9kZXN0cm95UHJldmlvdXMuY29tcGxldGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLl9pbml0KCk7XG4gIH1cblxuICBwcml2YXRlIF9pbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX2Rlc3Ryb3lQcmV2aW91cy5uZXh0KCk7XG5cbiAgICBjb25zdCBwYXJlbnQgPSB0aGlzLnN0aWNreVJlbGF0aXZlKCkgPz8gdGhpcy5fcmVsYXRpdmVTZXJ2aWNlPy5lbGVtZW50O1xuICAgIHRoaXMuX3JlbGF0aXZlU2VydmljZT8uY2hhbmdlc0NoaWxkcmVuJFxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoKSA9PiB0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkpLFxuICAgICAgICBvYnNlcnZlT24oYW5pbWF0aW9uRnJhbWVTY2hlZHVsZXIpLFxuICAgICAgICBmaWx0ZXIoKGkpID0+IEJvb2xlYW4oaS53aWR0aCB8fCBpLmhlaWdodCkpLFxuICAgICAgICBzd2l0Y2hNYXAoKHJlc3VsdCkgPT4ge1xuICAgICAgICAgIGlmICh0aGlzLnN0aWNreVJpZ2h0KCkgfHwgdGhpcy5fY2hhbmdlZFNpZGVzLnJpZ2h0KSB7XG4gICAgICAgICAgICB0aGlzLl9yZW5kZXJlci5yZW1vdmVTdHlsZSh0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQsICdyaWdodCcpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAodGhpcy5zdGlja3lMZWZ0KCkgfHwgdGhpcy5fY2hhbmdlZFNpZGVzLmxlZnQpIHtcbiAgICAgICAgICAgIHRoaXMuX3JlbmRlcmVyLnJlbW92ZVN0eWxlKHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudCwgJ2xlZnQnKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHRoaXMuc3RpY2t5VG9wKCkgfHwgdGhpcy5fY2hhbmdlZFNpZGVzLnRvcCkge1xuICAgICAgICAgICAgdGhpcy5fcmVuZGVyZXIucmVtb3ZlU3R5bGUodGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LCAndG9wJyk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICh0aGlzLnN0aWNreUJvdHRvbSgpIHx8IHRoaXMuX2NoYW5nZWRTaWRlcy5ib3R0b20pIHtcbiAgICAgICAgICAgIHRoaXMuX3JlbmRlcmVyLnJlbW92ZVN0eWxlKHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudCwgJ2JvdHRvbScpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHRoaXMuX2NsZWFyU3R5bGVzSWZTZXQoKTtcblxuICAgICAgICAgIHJldHVybiBvZihyZXN1bHQpLnBpcGUobW92ZUluRXZlbnRMb29wSXRlcmF0aW9uKDEpKTtcbiAgICAgICAgfSksXG4gICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgY29uc3QgcGFyZW50UmVjdCA9IHBhcmVudD8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgICAgY29uc3QgZWxSZWN0ID0gdGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICAgIGxldCBzdHlsZVJpZ2h0ID0gMDtcblxuICAgICAgICAgIHRoaXMuX3NldFN0eWxlc0lmRXhpc3QoKTtcblxuICAgICAgICAgIGlmICh0aGlzLnN0aWNreUxlZnQoKSkge1xuICAgICAgICAgICAgY29uc3QgbGVmdCA9IHBhcmVudFJlY3Q/LmxlZnQgPyBlbFJlY3QubGVmdCAtIHBhcmVudFJlY3QubGVmdCA6IGVsUmVjdC5sZWZ0O1xuICAgICAgICAgICAgdGhpcy5fcmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LCAnbGVmdCcsIHRvUHgobGVmdCkpO1xuICAgICAgICAgICAgdGhpcy5fY2hhbmdlZFNpZGVzLmxlZnQgPSB0cnVlO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9jaGFuZ2VkU2lkZXMubGVmdCA9IHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICh0aGlzLnN0aWNreVJpZ2h0KCkpIHtcbiAgICAgICAgICAgIHN0eWxlUmlnaHQgPSBOdW1iZXIucGFyc2VJbnQodGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLnJpZ2h0IHx8ICcwJywgMTApO1xuXG4gICAgICAgICAgICBsZXQgcmlnaHQgPSBlbFJlY3QucmlnaHQ7XG4gICAgICAgICAgICBsZXQgc2Nyb2xsT2Zmc2V0ID0gMDtcbiAgICAgICAgICAgIGxldCBkaWZmID0gMDtcbiAgICAgICAgICAgIGlmIChwYXJlbnQpIHtcbiAgICAgICAgICAgICAgc2Nyb2xsT2Zmc2V0ID0gcGFyZW50LnNjcm9sbFdpZHRoIC0gcGFyZW50LmNsaWVudFdpZHRoIC0gcGFyZW50LnNjcm9sbExlZnQ7XG4gICAgICAgICAgICAgIGRpZmYgPSBNYXRoLmFicyhlbFJlY3QucmlnaHQgLSBwYXJlbnRSZWN0LnJpZ2h0IC0gc2Nyb2xsT2Zmc2V0IC0gc3R5bGVSaWdodCk7XG4gICAgICAgICAgICAgIHJpZ2h0ID0gTWF0aC5mbG9vcihkaWZmKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuX3JlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudCwgJ3JpZ2h0JywgdG9QeChyaWdodCkpO1xuICAgICAgICAgICAgdGhpcy5fY2hhbmdlZFNpZGVzLnJpZ2h0ID0gdHJ1ZTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fY2hhbmdlZFNpZGVzLnJpZ2h0ID0gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHRoaXMuc3RpY2t5VG9wKCkpIHtcbiAgICAgICAgICAgIGNvbnN0IHRvcCA9IHBhcmVudFJlY3Q/LnRvcCA/IGVsUmVjdC50b3AgLSBwYXJlbnRSZWN0LnRvcCA6IGVsUmVjdC50b3A7XG4gICAgICAgICAgICB0aGlzLl9yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQsICd0b3AnLCB0b1B4KHRvcCkpO1xuICAgICAgICAgICAgdGhpcy5fY2hhbmdlZFNpZGVzLnRvcCA9IHRydWU7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX2NoYW5nZWRTaWRlcy50b3AgPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAodGhpcy5zdGlja3lCb3R0b20oKSkge1xuICAgICAgICAgICAgY29uc3QgYm90dG9tID0gcGFyZW50UmVjdD8uYm90dG9tID8gZWxSZWN0LmJvdHRvbSAtIHBhcmVudFJlY3QuYm90dG9tIDogZWxSZWN0LmJvdHRvbTtcbiAgICAgICAgICAgIHRoaXMuX3JlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudCwgJ2JvdHRvbScsIHRvUHgoYm90dG9tKSk7XG4gICAgICAgICAgICB0aGlzLl9jaGFuZ2VkU2lkZXMuYm90dG9tID0gdHJ1ZTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fY2hhbmdlZFNpZGVzLmJvdHRvbSA9IHRydWU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdGhpcy5fc2V0U3R5bGVzSWZFeGlzdCgpO1xuICAgICAgICB9KSxcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJ4anMvbm8tdW5zYWZlLXRha2V1bnRpbFxuICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveVByZXZpb3VzKSxcbiAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuX2Rlc3Ryb3lSZWYpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwcml2YXRlIF9jbGVhclN0eWxlc0lmU2V0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5fc2V0QWN0aXZlU3R5bGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBzdHlsZXNPblN0aWNreSA9IHRoaXMuc3R5bGVzT25TdGlja3koKTtcbiAgICBjb25zdCBrZXlzID0gc3R5bGVzT25TdGlja3kgJiYgT2JqZWN0LmtleXMoc3R5bGVzT25TdGlja3kpO1xuICAgIGlmICgha2V5cz8ubGVuZ3RoKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBrZXkgb2Yga2V5cykge1xuICAgICAgdGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlW2tleV0gPSAnJztcbiAgICB9XG5cbiAgICB0aGlzLl9zZXRBY3RpdmVTdHlsZSA9IGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBfc2V0U3R5bGVzSWZFeGlzdCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuc3RpY2t5UmlnaHQoKSAmJiAhdGhpcy5zdGlja3lMZWZ0KCkgJiYgIXRoaXMuc3RpY2t5Qm90dG9tKCkgJiYgIXRoaXMuc3RpY2t5VG9wKCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBzdHlsZXNPblN0aWNreSA9IHRoaXMuc3R5bGVzT25TdGlja3koKTtcbiAgICBjb25zdCBrZXlzID0gc3R5bGVzT25TdGlja3kgJiYgT2JqZWN0LmtleXMoc3R5bGVzT25TdGlja3kpO1xuICAgIGlmICgha2V5cz8ubGVuZ3RoKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBrZXkgb2Yga2V5cykge1xuICAgICAgdGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlW2tleV0gPSAodGhpcy5zdHlsZXNPblN0aWNreSgpPy5ba2V5XSBhcyBzdHJpbmcpID8/ICcnO1xuICAgIH1cblxuICAgIHRoaXMuX3NldEFjdGl2ZVN0eWxlID0gdHJ1ZTtcbiAgfVxufVxuIl19
|