@firestitch/filter 13.4.1 → 14.0.0
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/.angular/cache/14.2.13/ng-packagr/content-v2/sha512/16/25/214635fa124a83a4fe3a52bde70e7124d9d011a5d176790a9c607bf1f5ed27cadefc4a1b5a225c0bda11250a180ca5798773e0c108e8d5e2d8559d2f9eed +1 -0
- package/.angular/cache/14.2.13/ng-packagr/content-v2/sha512/44/f9/ee834587d4ac4a429d8c4af2e1562028c7432ac179f9699f2990ab3dadc8e4f66ae45bf22625aedf47fad137e2de39a9b99141784e56d5123544f90c922a +1 -0
- package/.angular/cache/14.2.13/ng-packagr/content-v2/sha512/4d/89/993c2eaff9e0cfca023676bf3f2d3d446f6b6cc90eec839075529d155102b2808a8b44e259d357704acd43143c12af5a5916b4e291a799164b722142ee8e +1 -0
- package/.angular/cache/14.2.13/ng-packagr/content-v2/sha512/52/cb/71f80b48163c432fcb05ac0f736ae7cae10318713c98c74739b3eb5d83ebce635b1a7c77d357b1a4b13a9ae9cfe43348538e4336c25c234551f1e80f0567 +1 -0
- package/.angular/cache/14.2.13/ng-packagr/content-v2/sha512/54/f6/73f0d8ea64a18aa71d80a2cf99d6eb4a2cd345e943127e018913d0f76e9575fabe3aee5002ee4da996e661662d474ad31e9a77f2858c68eed532c2d45d47 +1 -0
- package/.angular/cache/14.2.13/ng-packagr/content-v2/sha512/61/84/7f56389ef39faf5c5b6ad292f668ec6cc5cb6e476d94b1740bdadb9832e3de22a0032b90811f02c80d3d56be5f5e32d8bb900e17ebcb09db379befddc221 +1 -0
- package/.angular/cache/14.2.13/ng-packagr/content-v2/sha512/69/d3/d48ad36dd0a576c4d6f8af3a2ee671037639b0a8d91679992dcbd9dabc284bf316c3126201837e931a162f23cdc4a505608bb64df8e87f59a17364890873 +1 -0
- package/.angular/cache/14.2.13/ng-packagr/content-v2/sha512/70/92/ac80dcd48732b949f163abf36c48b0912598d2bb66e5c1f2056fef872f59fb1b591abbf3bfdbf461a46cbd507eea05a6bd0f14ba3d573f1684cbc78bd094 +1 -0
- package/.angular/cache/14.2.13/ng-packagr/content-v2/sha512/73/10/12664696206dcdab6b084331532b234c439acef8a6428af667a2e1bb1c15e2055b3ac70f44fd8bf508396d3e11a798b40849fd66dbdbd0ff9d9d7e780edd +1 -0
- package/.angular/cache/14.2.13/ng-packagr/content-v2/sha512/74/f6/4c2db73499d08279895e1ab6e2fb65baa613d31218b6968f74143ba03819c72a2720b927ca5a708dd484c0bc6763124e62ce9c2e652f71b740cb2d29ae03 +1 -0
- package/.angular/cache/14.2.13/ng-packagr/content-v2/sha512/78/30/8eedd8d752a08df898806b01abde5b4c1809f6edcba95fcf112c006833b34986c295b62a7e47cd73297c3da78ca6072ef18ba502b6efdd6048dbdbbcd257 +1 -0
- package/.angular/cache/14.2.13/ng-packagr/content-v2/sha512/8c/f8/d9f30e3e898c99e8c3157d4c9157dead1b1115ea4db50aced0c33713cd394bb770b182d1d5087c821d22b2abb99e288191ba9e30954ea4ed9ab6ff70d391 +1 -0
- package/.angular/cache/14.2.13/ng-packagr/content-v2/sha512/8d/53/ad58764bc240411378ae1c47c0c20525da378a3b143795a11bc3fdbf6c9cde6fb2de6c3947d673d5872b9ce205d6274114b3b4dfd27609a636df7fd0b600 +1 -0
- package/.angular/cache/14.2.13/ng-packagr/content-v2/sha512/8f/74/3ed29367f32f9c909f5898704561eb1ebe5cdabba507ba08cbeeaeecd274d020b1401ba871938be899025a265299f8be66c59d59b574a996a74b2987d98e +1 -0
- package/.angular/cache/14.2.13/ng-packagr/content-v2/sha512/a1/ac/1dbcf215585477c3f70180cb40186b5119d9ad1d27b2e0dcde66034c950e334ce0577409535c29bb15d2e6c9238eb9e841177fc62d3949a58bbbb397238d +1 -0
- package/.angular/cache/14.2.13/ng-packagr/content-v2/sha512/a3/08/068a7a29e9cc2385b62d4b0fc14b04a7f09ed469d9b79bb754e37d4933b0ab8aa171b286080e20a11e67f42b8558a4bda64aa03ca097001ecda5c25a9015 +1 -0
- package/.angular/cache/14.2.13/ng-packagr/content-v2/sha512/ae/6c/352ab77e603fa53f25ab95cd6fd19a230095b212464689ab76c89db8d97bd0f221c27fbd84d0767fb5ce7e33f5feb175a9256ab35cf216d30dd3263b6b14 +1 -0
- package/.angular/cache/14.2.13/ng-packagr/content-v2/sha512/b6/38/eb8a1b6bd6265968335935cbc2763fbcbb9cd4e32dd58a5234bfd87379ee840044338eeae5f126da9936d21ed423071cfbca6748ee153235addf874824f7 +1 -0
- package/.angular/cache/14.2.13/ng-packagr/index-v5/01/3c/d4dca899e5bd80c43ed2e78ec79687adc272ff835d03f0ae48cb881ddd83 +2 -0
- package/.angular/cache/14.2.13/ng-packagr/index-v5/05/a7/da2d9625c1bc294409dbf750062e363a1abbe39b51177bfb7e5a9aa9ae81 +2 -0
- package/.angular/cache/14.2.13/ng-packagr/index-v5/08/f1/b2e705e45544df7c77f4238b558d569a1215422c2086df9140963f960eef +2 -0
- package/.angular/cache/14.2.13/ng-packagr/index-v5/21/1d/398c87beb2402502d4e706beedd98ea707f31b441d6aa7711eef62a0439b +2 -0
- package/.angular/cache/14.2.13/ng-packagr/index-v5/26/0b/ee2b1cad7f114e99f8d4da848bd6ceb4e849178b50723d9dcd10f39fb05c +2 -0
- package/.angular/cache/14.2.13/ng-packagr/index-v5/26/98/b8614f38ea6fefe80f96f06adb98d925eccfae9eec0937c645a42034614c +2 -0
- package/.angular/cache/14.2.13/ng-packagr/index-v5/64/4d/18a7b240783e7b3de33ad33724d2b43e8f3349e840ccab571ca3c6c51c00 +2 -0
- package/.angular/cache/14.2.13/ng-packagr/index-v5/64/70/77036e049a76cab5a64caa9cba4b603631c7e9e2f47e6c5fbc7f39d67a2f +2 -0
- package/.angular/cache/14.2.13/ng-packagr/index-v5/6c/5d/700bf777ddebfd9b8f15e2709674069747b6fcd37376049712828252ca92 +3 -0
- package/.angular/cache/14.2.13/ng-packagr/index-v5/71/89/4e4e3808e28a4a95a98391ab38f87f165ae234aefd4231092d1f531f56b3 +2 -0
- package/.angular/cache/14.2.13/ng-packagr/index-v5/7c/c2/bd7b21a07f8b1da7797f40df86dc4289416305c26464c6b965a336fd3975 +2 -0
- package/.angular/cache/14.2.13/ng-packagr/index-v5/85/64/cb2f22b4df13a70eb519564e382de3d7dd3747bc0cab1109017f8934cff8 +2 -0
- package/.angular/cache/14.2.13/ng-packagr/index-v5/96/b1/2730596477eee53fc70082999f48e373f6795e68d21e04234a45131added +2 -0
- package/.angular/cache/14.2.13/ng-packagr/index-v5/af/e4/165326aa8daa8e07ac9e02bde3d64a31b00d1b2b59a797a51a89456d2ad6 +2 -0
- package/.angular/cache/14.2.13/ng-packagr/index-v5/cd/96/32e83b96bce723e8ad58fdb7c43cf0002b3e0561309899e8b2a75204cbff +2 -0
- package/.angular/cache/14.2.13/ng-packagr/index-v5/dd/38/1f423a0e17cf4e99ef3c880daeb533cdce9275226cb2f617aed52e881e59 +2 -0
- package/.angular/cache/14.2.13/ng-packagr/index-v5/e4/e8/f48bdfbec024c932fd928e4db790b6454d090d4db31e9d69201a5e1ea466 +2 -0
- package/.angular/cache/14.2.13/ng-packagr/index-v5/ee/59/16a63690de125da5067876d4ccf122230175174f3489e48893448bcbdcd3 +2 -0
- package/.angular/cache/14.2.13/ng-packagr/index-v5/fd/46/71e9d6d1a123ed68ce03aa617dcaaad4ad9c5a9193f1281166766c453621 +3 -0
- package/.angulardoc.json +4 -0
- package/.editorconfig +15 -0
- package/.eslintrc.json +9 -0
- package/.gitmodules +3 -0
- package/angular.json +163 -0
- package/babel.config.js +11 -0
- package/jest.config.js +24 -0
- package/{app → package/app}/classes/actions-controller.d.ts +41 -41
- package/{app → package/app}/components/action-button/action-button.component.d.ts +9 -9
- package/{app → package/app}/components/action-kebab-actions/action-kebab-actions.component.d.ts +7 -7
- package/{app → package/app}/components/actions/actions.component.d.ts +13 -13
- package/{app → package/app}/components/filter/filter.component.d.ts +204 -204
- package/{app → package/app}/components/filter-chip/filter-chip.component.d.ts +26 -26
- package/{app → package/app}/components/filter-chip-content/filter-chip-content.component.d.ts +18 -18
- package/{app → package/app}/components/filter-chips/filter-chips.component.d.ts +9 -9
- package/{app → package/app}/components/filter-drawer/filter-drawer.component.d.ts +30 -30
- package/{app → package/app}/components/filter-drawer-actions/filter-drawer-actions.component.d.ts +15 -15
- package/{app → package/app}/components/filters-item/autocomplete/autocomplete.component.d.ts +14 -14
- package/{app → package/app}/components/filters-item/autocompletechips/autocompletechips.component.d.ts +16 -16
- package/{app → package/app}/components/filters-item/base-item/base-item.component.d.ts +25 -25
- package/{app → package/app}/components/filters-item/checkbox/checkbox.component.d.ts +11 -11
- package/{app → package/app}/components/filters-item/chips/chips.component.d.ts +13 -13
- package/{app → package/app}/components/filters-item/date/date.component.d.ts +20 -20
- package/{app → package/app}/components/filters-item/date-range/date-range.component.d.ts +15 -15
- package/{app → package/app}/components/filters-item/filter-item.component.d.ts +39 -39
- package/{app → package/app}/components/filters-item/range/range.component.d.ts +15 -15
- package/{app → package/app}/components/filters-item/select/backdrop/backdrop.component.d.ts +6 -6
- package/{app → package/app}/components/filters-item/select/groups/groups.component.d.ts +12 -12
- package/{app → package/app}/components/filters-item/select/multiple/multiple.component.d.ts +15 -15
- package/{app → package/app}/components/filters-item/select/select.component.d.ts +23 -23
- package/{app → package/app}/components/filters-item/select/simple/simple.component.d.ts +14 -14
- package/{app → package/app}/components/filters-item/text/text.component.d.ts +19 -19
- package/{app → package/app}/components/filters-item/week/week.component.d.ts +12 -12
- package/{app → package/app}/components/saved-filter/index.d.ts +3 -3
- package/{app → package/app}/components/saved-filter/saved-filter-edit/index.d.ts +1 -1
- package/{app → package/app}/components/saved-filter/saved-filter-edit/saved-filter-edit.component.d.ts +18 -18
- package/{app → package/app}/components/saved-filter/saved-filter-manage/index.d.ts +1 -1
- package/{app → package/app}/components/saved-filter/saved-filter-manage/saved-filter-manage.component.d.ts +16 -16
- package/{app → package/app}/components/saved-filter/saved-filters-menu/index.d.ts +1 -1
- package/{app → package/app}/components/saved-filter/saved-filters-menu/saved-filters-menu.component.d.ts +23 -23
- package/{app → package/app}/consts/query-param-delimiter.d.ts +1 -1
- package/{app → package/app}/directives/focus-to-item/focus-to-item.directive.d.ts +27 -27
- package/{app → package/app}/directives/status-bar/status-bar.directive.d.ts +8 -8
- package/{app → package/app}/enums/action-mode.enum.d.ts +6 -6
- package/{app → package/app}/enums/action-type.enum.d.ts +9 -9
- package/{app → package/app}/enums/button-style.d.ts +9 -9
- package/{app → package/app}/enums/index.d.ts +6 -6
- package/{app → package/app}/enums/item-date-mode.enum.d.ts +5 -5
- package/{app → package/app}/enums/item-type.enum.d.ts +15 -15
- package/{app → package/app}/enums/picker-view-type.enum.d.ts +7 -7
- package/{app → package/app}/fs-filter.module.d.ts +70 -70
- package/{app → package/app}/helpers/build-query-params.d.ts +3 -3
- package/{app → package/app}/helpers/compare.d.ts +2 -2
- package/{app → package/app}/helpers/create-filter-item.d.ts +14 -14
- package/{app → package/app}/helpers/find-value.d.ts +1 -1
- package/{app → package/app}/helpers/get-range-name.d.ts +1 -1
- package/{app → package/app}/helpers/parse-date.d.ts +1 -1
- package/{app → package/app}/helpers/parse-item-value-from-stored.d.ts +1 -1
- package/{app → package/app}/helpers/query-param-transformers.d.ts +2 -2
- package/{app → package/app}/helpers/restore-items.d.ts +12 -12
- package/{app → package/app}/injectors/filter-config.d.ts +2 -2
- package/{app → package/app}/injectors/filter-drawer-data.d.ts +2 -2
- package/{app → package/app}/injectors/filter-drawer-overlay.d.ts +2 -2
- package/{app → package/app}/interfaces/action.interface.d.ts +81 -81
- package/{app → package/app}/interfaces/config.interface.d.ts +66 -66
- package/{app → package/app}/interfaces/external-params.interface.d.ts +3 -3
- package/{app → package/app}/interfaces/filter.interface.d.ts +4 -4
- package/{app → package/app}/interfaces/index.d.ts +6 -6
- package/{app → package/app}/interfaces/items/autocomplete-chips.interface.d.ts +15 -15
- package/{app → package/app}/interfaces/items/autocomplete.interface.d.ts +9 -9
- package/{app → package/app}/interfaces/items/base.interface.d.ts +29 -29
- package/{app → package/app}/interfaces/items/checkbox.interface.d.ts +7 -7
- package/{app → package/app}/interfaces/items/chips.interface.d.ts +6 -6
- package/{app → package/app}/interfaces/items/date-range.interface.d.ts +8 -8
- package/{app → package/app}/interfaces/items/date.interface.d.ts +7 -7
- package/{app → package/app}/interfaces/items/range.interface.d.ts +13 -13
- package/{app → package/app}/interfaces/items/select.interface.d.ts +20 -20
- package/{app → package/app}/interfaces/items/text.interface.d.ts +9 -9
- package/{app → package/app}/interfaces/items/week.interface.d.ts +7 -7
- package/{app → package/app}/interfaces/saved-filters.interface.d.ts +18 -18
- package/{app → package/app}/interfaces/update-filter-item.interface.d.ts +4 -4
- package/{app → package/app}/models/action-menu-item.model.d.ts +23 -23
- package/{app → package/app}/models/action.model.d.ts +54 -54
- package/{app → package/app}/models/filter-config.d.ts +31 -31
- package/{app → package/app}/models/items/autocomplete/base-autocomplete-item.d.ts +12 -12
- package/{app → package/app}/models/items/autocomplete-chips-item.d.ts +20 -20
- package/{app → package/app}/models/items/autocomplete-item.d.ts +11 -11
- package/{app → package/app}/models/items/base-item.d.ts +80 -80
- package/{app → package/app}/models/items/checkbox-item.d.ts +17 -17
- package/{app → package/app}/models/items/chips-item.d.ts +18 -18
- package/{app → package/app}/models/items/date/base-date-item.d.ts +14 -14
- package/{app → package/app}/models/items/date-item.d.ts +8 -8
- package/{app → package/app}/models/items/date-range/base-date-range-item.d.ts +21 -21
- package/{app → package/app}/models/items/date-range-item.d.ts +6 -6
- package/{app → package/app}/models/items/date-time-item.d.ts +7 -7
- package/{app → package/app}/models/items/date-time-range-item.d.ts +6 -6
- package/{app → package/app}/models/items/range-item.d.ts +23 -23
- package/{app → package/app}/models/items/select/base-select-item.d.ts +13 -13
- package/{app → package/app}/models/items/select/multiple-select-item.d.ts +14 -14
- package/{app → package/app}/models/items/select/simple-select-item.d.ts +14 -14
- package/{app → package/app}/models/items/select-item.d.ts +8 -8
- package/{app → package/app}/models/items/text-item.d.ts +15 -15
- package/{app → package/app}/models/items/week-item.d.ts +18 -18
- package/{app → package/app}/pipes/remove-isolate-value.pipe.d.ts +8 -8
- package/{app → package/app}/providers/filter-meta.d.ts +5 -5
- package/{app → package/app}/services/external-params/persistance-params-controller.service.d.ts +22 -22
- package/{app → package/app}/services/external-params/query-params-controller.service.d.ts +22 -22
- package/{app → package/app}/services/external-params/saved-filters-controller.service.d.ts +40 -40
- package/{app → package/app}/services/external-params-controller.service.d.ts +42 -42
- package/{app → package/app}/services/filter-overlay.service.d.ts +36 -36
- package/{app → package/app}/services/focus-controller.service.d.ts +18 -18
- package/{app → package/app}/services/items-store.service.d.ts +69 -69
- package/{esm2020 → package/esm2020}/app/classes/actions-controller.mjs +126 -126
- package/{esm2020 → package/esm2020}/app/components/action-button/action-button.component.mjs +21 -21
- package/{esm2020 → package/esm2020}/app/components/action-kebab-actions/action-kebab-actions.component.mjs +16 -16
- package/{esm2020 → package/esm2020}/app/components/actions/actions.component.mjs +41 -41
- package/{esm2020 → package/esm2020}/app/components/filter/filter.component.mjs +613 -613
- package/{esm2020 → package/esm2020}/app/components/filter-chip/filter-chip.component.mjs +85 -85
- package/{esm2020 → package/esm2020}/app/components/filter-chip-content/filter-chip-content.component.mjs +78 -78
- package/{esm2020 → package/esm2020}/app/components/filter-chips/filter-chips.component.mjs +18 -18
- package/{esm2020 → package/esm2020}/app/components/filter-drawer/filter-drawer.component.mjs +70 -70
- package/{esm2020 → package/esm2020}/app/components/filter-drawer-actions/filter-drawer-actions.component.mjs +40 -40
- package/{esm2020 → package/esm2020}/app/components/filters-item/autocomplete/autocomplete.component.mjs +26 -26
- package/{esm2020 → package/esm2020}/app/components/filters-item/autocompletechips/autocompletechips.component.mjs +41 -41
- package/{esm2020 → package/esm2020}/app/components/filters-item/base-item/base-item.component.mjs +62 -62
- package/{esm2020 → package/esm2020}/app/components/filters-item/checkbox/checkbox.component.mjs +20 -20
- package/{esm2020 → package/esm2020}/app/components/filters-item/chips/chips.component.mjs +27 -27
- package/{esm2020 → package/esm2020}/app/components/filters-item/date/date.component.mjs +42 -42
- package/{esm2020 → package/esm2020}/app/components/filters-item/date-range/date-range.component.mjs +33 -33
- package/{esm2020 → package/esm2020}/app/components/filters-item/filter-item.component.mjs +79 -79
- package/{esm2020 → package/esm2020}/app/components/filters-item/range/range.component.mjs +44 -44
- package/{esm2020 → package/esm2020}/app/components/filters-item/select/backdrop/backdrop.component.mjs +11 -11
- package/{esm2020 → package/esm2020}/app/components/filters-item/select/groups/groups.component.mjs +29 -29
- package/{esm2020 → package/esm2020}/app/components/filters-item/select/multiple/multiple.component.mjs +56 -56
- package/{esm2020 → package/esm2020}/app/components/filters-item/select/select.component.mjs +50 -50
- package/{esm2020 → package/esm2020}/app/components/filters-item/select/simple/simple.component.mjs +42 -42
- package/package/esm2020/app/components/filters-item/text/text.component.mjs +49 -0
- package/{esm2020 → package/esm2020}/app/components/filters-item/week/week.component.mjs +24 -24
- package/{esm2020 → package/esm2020}/app/components/saved-filter/index.mjs +3 -3
- package/{esm2020 → package/esm2020}/app/components/saved-filter/saved-filter-edit/index.mjs +1 -1
- package/{esm2020 → package/esm2020}/app/components/saved-filter/saved-filter-edit/saved-filter-edit.component.mjs +49 -49
- package/{esm2020 → package/esm2020}/app/components/saved-filter/saved-filter-manage/index.mjs +1 -1
- package/{esm2020 → package/esm2020}/app/components/saved-filter/saved-filter-manage/saved-filter-manage.component.mjs +39 -39
- package/{esm2020 → package/esm2020}/app/components/saved-filter/saved-filters-menu/index.mjs +1 -1
- package/{esm2020 → package/esm2020}/app/components/saved-filter/saved-filters-menu/saved-filters-menu.component.mjs +51 -51
- package/{esm2020 → package/esm2020}/app/consts/query-param-delimiter.mjs +1 -1
- package/{esm2020 → package/esm2020}/app/directives/focus-to-item/focus-to-item.directive.mjs +129 -129
- package/{esm2020 → package/esm2020}/app/directives/status-bar/status-bar.directive.mjs +15 -15
- package/{esm2020 → package/esm2020}/app/enums/action-mode.enum.mjs +7 -7
- package/{esm2020 → package/esm2020}/app/enums/action-type.enum.mjs +11 -11
- package/{esm2020 → package/esm2020}/app/enums/button-style.mjs +10 -10
- package/{esm2020 → package/esm2020}/app/enums/index.mjs +6 -6
- package/{esm2020 → package/esm2020}/app/enums/item-date-mode.enum.mjs +6 -6
- package/{esm2020 → package/esm2020}/app/enums/item-type.enum.mjs +16 -16
- package/{esm2020 → package/esm2020}/app/enums/picker-view-type.enum.mjs +8 -8
- package/{esm2020 → package/esm2020}/app/fs-filter.module.mjs +261 -263
- package/{esm2020 → package/esm2020}/app/helpers/build-query-params.mjs +32 -32
- package/{esm2020 → package/esm2020}/app/helpers/compare.mjs +37 -37
- package/{esm2020 → package/esm2020}/app/helpers/create-filter-item.mjs +54 -54
- package/{esm2020 → package/esm2020}/app/helpers/find-value.mjs +12 -12
- package/{esm2020 → package/esm2020}/app/helpers/get-range-name.mjs +8 -8
- package/{esm2020 → package/esm2020}/app/helpers/parse-date.mjs +7 -7
- package/{esm2020 → package/esm2020}/app/helpers/parse-item-value-from-stored.mjs +80 -80
- package/{esm2020 → package/esm2020}/app/helpers/query-param-transformers.mjs +8 -8
- package/{esm2020 → package/esm2020}/app/helpers/restore-items.mjs +48 -48
- package/{esm2020 → package/esm2020}/app/injectors/filter-config.mjs +2 -2
- package/{esm2020 → package/esm2020}/app/injectors/filter-drawer-data.mjs +2 -2
- package/{esm2020 → package/esm2020}/app/injectors/filter-drawer-overlay.mjs +2 -2
- package/{esm2020 → package/esm2020}/app/interfaces/action.interface.mjs +1 -1
- package/{esm2020 → package/esm2020}/app/interfaces/config.interface.mjs +1 -1
- package/{esm2020 → package/esm2020}/app/interfaces/external-params.interface.mjs +1 -1
- package/{esm2020 → package/esm2020}/app/interfaces/filter.interface.mjs +1 -1
- package/{esm2020 → package/esm2020}/app/interfaces/index.mjs +6 -6
- package/{esm2020 → package/esm2020}/app/interfaces/items/autocomplete-chips.interface.mjs +1 -1
- package/{esm2020 → package/esm2020}/app/interfaces/items/autocomplete.interface.mjs +1 -1
- package/{esm2020 → package/esm2020}/app/interfaces/items/base.interface.mjs +1 -1
- package/{esm2020 → package/esm2020}/app/interfaces/items/checkbox.interface.mjs +1 -1
- package/{esm2020 → package/esm2020}/app/interfaces/items/chips.interface.mjs +1 -1
- package/{esm2020 → package/esm2020}/app/interfaces/items/date-range.interface.mjs +1 -1
- package/{esm2020 → package/esm2020}/app/interfaces/items/date.interface.mjs +1 -1
- package/{esm2020 → package/esm2020}/app/interfaces/items/range.interface.mjs +1 -1
- package/{esm2020 → package/esm2020}/app/interfaces/items/select.interface.mjs +1 -1
- package/{esm2020 → package/esm2020}/app/interfaces/items/text.interface.mjs +1 -1
- package/{esm2020 → package/esm2020}/app/interfaces/items/week.interface.mjs +1 -1
- package/{esm2020 → package/esm2020}/app/interfaces/saved-filters.interface.mjs +1 -1
- package/{esm2020 → package/esm2020}/app/interfaces/update-filter-item.interface.mjs +1 -1
- package/{esm2020 → package/esm2020}/app/models/action-menu-item.model.mjs +66 -66
- package/{esm2020 → package/esm2020}/app/models/action.model.mjs +129 -129
- package/{esm2020 → package/esm2020}/app/models/filter-config.mjs +66 -66
- package/{esm2020 → package/esm2020}/app/models/items/autocomplete/base-autocomplete-item.mjs +13 -13
- package/{esm2020 → package/esm2020}/app/models/items/autocomplete-chips-item.mjs +60 -60
- package/{esm2020 → package/esm2020}/app/models/items/autocomplete-item.mjs +32 -32
- package/{esm2020 → package/esm2020}/app/models/items/base-item.mjs +233 -233
- package/{esm2020 → package/esm2020}/app/models/items/checkbox-item.mjs +49 -49
- package/{esm2020 → package/esm2020}/app/models/items/chips-item.mjs +88 -88
- package/{esm2020 → package/esm2020}/app/models/items/date/base-date-item.mjs +47 -47
- package/{esm2020 → package/esm2020}/app/models/items/date-item.mjs +18 -18
- package/{esm2020 → package/esm2020}/app/models/items/date-range/base-date-range-item.mjs +134 -134
- package/{esm2020 → package/esm2020}/app/models/items/date-range-item.mjs +6 -6
- package/{esm2020 → package/esm2020}/app/models/items/date-time-item.mjs +9 -9
- package/{esm2020 → package/esm2020}/app/models/items/date-time-range-item.mjs +6 -6
- package/{esm2020 → package/esm2020}/app/models/items/range-item.mjs +82 -82
- package/{esm2020 → package/esm2020}/app/models/items/select/base-select-item.mjs +36 -36
- package/{esm2020 → package/esm2020}/app/models/items/select/multiple-select-item.mjs +87 -87
- package/{esm2020 → package/esm2020}/app/models/items/select/simple-select-item.mjs +65 -65
- package/{esm2020 → package/esm2020}/app/models/items/select-item.mjs +10 -10
- package/{esm2020 → package/esm2020}/app/models/items/text-item.mjs +33 -33
- package/{esm2020 → package/esm2020}/app/models/items/week-item.mjs +93 -93
- package/{esm2020 → package/esm2020}/app/pipes/remove-isolate-value.pipe.mjs +20 -20
- package/{esm2020 → package/esm2020}/app/providers/filter-meta.mjs +9 -9
- package/{esm2020 → package/esm2020}/app/services/external-params/persistance-params-controller.service.mjs +57 -57
- package/{esm2020 → package/esm2020}/app/services/external-params/query-params-controller.service.mjs +61 -61
- package/{esm2020 → package/esm2020}/app/services/external-params/saved-filters-controller.service.mjs +162 -162
- package/{esm2020 → package/esm2020}/app/services/external-params-controller.service.mjs +178 -178
- package/{esm2020 → package/esm2020}/app/services/filter-overlay.service.mjs +121 -121
- package/{esm2020 → package/esm2020}/app/services/focus-controller.service.mjs +29 -29
- package/{esm2020 → package/esm2020}/app/services/items-store.service.mjs +344 -344
- package/{esm2020 → package/esm2020}/firestitch-filter.mjs +4 -4
- package/{esm2020 → package/esm2020}/public_api.mjs +35 -35
- package/{fesm2015 → package/fesm2015}/firestitch-filter.mjs +4383 -4385
- package/package/fesm2015/firestitch-filter.mjs.map +1 -0
- package/{fesm2020 → package/fesm2020}/firestitch-filter.mjs +4372 -4374
- package/package/fesm2020/firestitch-filter.mjs.map +1 -0
- package/{firestitch-filter.d.ts → package/index.d.ts} +5 -5
- package/package/package.json +56 -0
- package/{public_api.d.ts → package/public_api.d.ts} +40 -40
- package/package/styles.scss +0 -0
- package/package.json +79 -22
- package/tsconfig.compodoc.json +12 -0
- package/tsconfig.json +10 -0
- package/tslint.json +8 -0
- package/esm2020/app/components/filters-item/text/text.component.mjs +0 -49
- package/fesm2015/firestitch-filter.mjs.map +0 -1
- package/fesm2020/firestitch-filter.mjs.map +0 -1
- /package/{styles.scss → README.MD} +0 -0
|
@@ -1,122 +1,122 @@
|
|
|
1
|
-
import { Inject, Injectable, Injector } from '@angular/core';
|
|
2
|
-
import { Overlay, OverlayConfig } from '@angular/cdk/overlay';
|
|
3
|
-
import { ComponentPortal, PortalInjector } from '@angular/cdk/portal';
|
|
4
|
-
import { Subject } from 'rxjs';
|
|
5
|
-
import { filter, takeUntil } from 'rxjs/operators';
|
|
6
|
-
import { HtmlClassRenderer } from '@firestitch/html';
|
|
7
|
-
import { FilterDrawerComponent } from '../components/filter-drawer/filter-drawer.component';
|
|
8
|
-
import { FILTER_DRAWER_DATA } from '../injectors/filter-drawer-data';
|
|
9
|
-
import { FILTER_DRAWER_OVERLAY } from '../injectors/filter-drawer-overlay';
|
|
10
|
-
import { FS_FILTER_META } from '../providers/filter-meta';
|
|
11
|
-
import { FocusControllerService } from './focus-controller.service';
|
|
12
|
-
import * as i0 from "@angular/core";
|
|
13
|
-
import * as i1 from "@angular/cdk/overlay";
|
|
14
|
-
import * as i2 from "./focus-controller.service";
|
|
15
|
-
import * as i3 from "@firestitch/html";
|
|
16
|
-
export class FsFilterOverlayService {
|
|
17
|
-
constructor(_filterMeta, _injector, _overlay, _focusController, _htmlClassRenderer) {
|
|
18
|
-
this._filterMeta = _filterMeta;
|
|
19
|
-
this._injector = _injector;
|
|
20
|
-
this._overlay = _overlay;
|
|
21
|
-
this._focusController = _focusController;
|
|
22
|
-
this._htmlClassRenderer = _htmlClassRenderer;
|
|
23
|
-
this.detach$ = new Subject();
|
|
24
|
-
this.attach$ = new Subject();
|
|
25
|
-
this._destroy$ = new Subject();
|
|
26
|
-
this._openWhenChipClicked();
|
|
27
|
-
}
|
|
28
|
-
get isOpened() {
|
|
29
|
-
return !!this._overlayRef;
|
|
30
|
-
}
|
|
31
|
-
setClearFn(fn) {
|
|
32
|
-
this._clearFn = fn;
|
|
33
|
-
}
|
|
34
|
-
setDoneFn(fn) {
|
|
35
|
-
this._doneFn = fn;
|
|
36
|
-
}
|
|
37
|
-
close() {
|
|
38
|
-
if (this._overlayRef) {
|
|
39
|
-
this._overlayRef.detach();
|
|
40
|
-
this._overlayRef = null;
|
|
41
|
-
this._removeFilterClass();
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
open() {
|
|
45
|
-
this._overlayRef = this._createOverlay();
|
|
46
|
-
this._overlayRef.backdropClick()
|
|
47
|
-
.pipe(takeUntil(this._destroy$))
|
|
48
|
-
.subscribe(() => {
|
|
49
|
-
this._overlayRef.detach();
|
|
50
|
-
});
|
|
51
|
-
this._overlayRef.detachments()
|
|
52
|
-
.pipe(takeUntil(this._destroy$))
|
|
53
|
-
.subscribe(() => {
|
|
54
|
-
this.detach$.next();
|
|
55
|
-
});
|
|
56
|
-
this._overlayRef.attachments()
|
|
57
|
-
.pipe(takeUntil(this._destroy$))
|
|
58
|
-
.subscribe(() => {
|
|
59
|
-
this.attach$.next();
|
|
60
|
-
});
|
|
61
|
-
this._addFilterClass();
|
|
62
|
-
return this._openPortalPreview();
|
|
63
|
-
}
|
|
64
|
-
ngOnDestroy() {
|
|
65
|
-
this._destroy$.next();
|
|
66
|
-
this._destroy$.complete();
|
|
67
|
-
}
|
|
68
|
-
_createOverlay() {
|
|
69
|
-
const overlayConfig = new OverlayConfig({
|
|
70
|
-
hasBackdrop: true,
|
|
71
|
-
backdropClass: 'fs-filter-backdrop',
|
|
72
|
-
});
|
|
73
|
-
return this._overlay.create(overlayConfig);
|
|
74
|
-
}
|
|
75
|
-
_openPortalPreview() {
|
|
76
|
-
const data = {
|
|
77
|
-
done: this._doneFn,
|
|
78
|
-
clear: this._clearFn,
|
|
79
|
-
};
|
|
80
|
-
const injector = this._createInjector(this._injector, data, this._overlayRef);
|
|
81
|
-
const containerPortal = new ComponentPortal(FilterDrawerComponent, undefined, injector);
|
|
82
|
-
const containerRef = this._overlayRef.attach(containerPortal);
|
|
83
|
-
return containerRef.instance;
|
|
84
|
-
}
|
|
85
|
-
_createInjector(parentInjector, data, overlayRef) {
|
|
86
|
-
const injectionTokens = new WeakMap([
|
|
87
|
-
[FILTER_DRAWER_DATA, data],
|
|
88
|
-
[FILTER_DRAWER_OVERLAY, overlayRef],
|
|
89
|
-
]);
|
|
90
|
-
return new PortalInjector(parentInjector, injectionTokens);
|
|
91
|
-
}
|
|
92
|
-
_removeFilterClass() {
|
|
93
|
-
this._filterMeta.openedFilters--;
|
|
94
|
-
if (this._filterMeta.openedFilters === 0) {
|
|
95
|
-
this._htmlClassRenderer.removeClass('fs-filter-open');
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
_addFilterClass() {
|
|
99
|
-
this._filterMeta.openedFilters++;
|
|
100
|
-
if (this._filterMeta.openedFilters === 1) {
|
|
101
|
-
this._htmlClassRenderer.addClass('fs-filter-open');
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
_openWhenChipClicked() {
|
|
105
|
-
this._focusController.focusOn$
|
|
106
|
-
.pipe(filter((v) => !!v), takeUntil(this._destroy$))
|
|
107
|
-
.subscribe(() => {
|
|
108
|
-
if (!this.isOpened) {
|
|
109
|
-
this.open();
|
|
110
|
-
}
|
|
111
|
-
});
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
FsFilterOverlayService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
115
|
-
FsFilterOverlayService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
116
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
117
|
-
type: Injectable
|
|
118
|
-
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
119
|
-
type: Inject,
|
|
120
|
-
args: [FS_FILTER_META]
|
|
121
|
-
}] }, { type: i0.Injector }, { type: i1.Overlay }, { type: i2.FocusControllerService }, { type: i3.HtmlClassRenderer }]; } });
|
|
1
|
+
import { Inject, Injectable, Injector } from '@angular/core';
|
|
2
|
+
import { Overlay, OverlayConfig } from '@angular/cdk/overlay';
|
|
3
|
+
import { ComponentPortal, PortalInjector } from '@angular/cdk/portal';
|
|
4
|
+
import { Subject } from 'rxjs';
|
|
5
|
+
import { filter, takeUntil } from 'rxjs/operators';
|
|
6
|
+
import { HtmlClassRenderer } from '@firestitch/html';
|
|
7
|
+
import { FilterDrawerComponent } from '../components/filter-drawer/filter-drawer.component';
|
|
8
|
+
import { FILTER_DRAWER_DATA } from '../injectors/filter-drawer-data';
|
|
9
|
+
import { FILTER_DRAWER_OVERLAY } from '../injectors/filter-drawer-overlay';
|
|
10
|
+
import { FS_FILTER_META } from '../providers/filter-meta';
|
|
11
|
+
import { FocusControllerService } from './focus-controller.service';
|
|
12
|
+
import * as i0 from "@angular/core";
|
|
13
|
+
import * as i1 from "@angular/cdk/overlay";
|
|
14
|
+
import * as i2 from "./focus-controller.service";
|
|
15
|
+
import * as i3 from "@firestitch/html";
|
|
16
|
+
export class FsFilterOverlayService {
|
|
17
|
+
constructor(_filterMeta, _injector, _overlay, _focusController, _htmlClassRenderer) {
|
|
18
|
+
this._filterMeta = _filterMeta;
|
|
19
|
+
this._injector = _injector;
|
|
20
|
+
this._overlay = _overlay;
|
|
21
|
+
this._focusController = _focusController;
|
|
22
|
+
this._htmlClassRenderer = _htmlClassRenderer;
|
|
23
|
+
this.detach$ = new Subject();
|
|
24
|
+
this.attach$ = new Subject();
|
|
25
|
+
this._destroy$ = new Subject();
|
|
26
|
+
this._openWhenChipClicked();
|
|
27
|
+
}
|
|
28
|
+
get isOpened() {
|
|
29
|
+
return !!this._overlayRef;
|
|
30
|
+
}
|
|
31
|
+
setClearFn(fn) {
|
|
32
|
+
this._clearFn = fn;
|
|
33
|
+
}
|
|
34
|
+
setDoneFn(fn) {
|
|
35
|
+
this._doneFn = fn;
|
|
36
|
+
}
|
|
37
|
+
close() {
|
|
38
|
+
if (this._overlayRef) {
|
|
39
|
+
this._overlayRef.detach();
|
|
40
|
+
this._overlayRef = null;
|
|
41
|
+
this._removeFilterClass();
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
open() {
|
|
45
|
+
this._overlayRef = this._createOverlay();
|
|
46
|
+
this._overlayRef.backdropClick()
|
|
47
|
+
.pipe(takeUntil(this._destroy$))
|
|
48
|
+
.subscribe(() => {
|
|
49
|
+
this._overlayRef.detach();
|
|
50
|
+
});
|
|
51
|
+
this._overlayRef.detachments()
|
|
52
|
+
.pipe(takeUntil(this._destroy$))
|
|
53
|
+
.subscribe(() => {
|
|
54
|
+
this.detach$.next();
|
|
55
|
+
});
|
|
56
|
+
this._overlayRef.attachments()
|
|
57
|
+
.pipe(takeUntil(this._destroy$))
|
|
58
|
+
.subscribe(() => {
|
|
59
|
+
this.attach$.next();
|
|
60
|
+
});
|
|
61
|
+
this._addFilterClass();
|
|
62
|
+
return this._openPortalPreview();
|
|
63
|
+
}
|
|
64
|
+
ngOnDestroy() {
|
|
65
|
+
this._destroy$.next();
|
|
66
|
+
this._destroy$.complete();
|
|
67
|
+
}
|
|
68
|
+
_createOverlay() {
|
|
69
|
+
const overlayConfig = new OverlayConfig({
|
|
70
|
+
hasBackdrop: true,
|
|
71
|
+
backdropClass: 'fs-filter-backdrop',
|
|
72
|
+
});
|
|
73
|
+
return this._overlay.create(overlayConfig);
|
|
74
|
+
}
|
|
75
|
+
_openPortalPreview() {
|
|
76
|
+
const data = {
|
|
77
|
+
done: this._doneFn,
|
|
78
|
+
clear: this._clearFn,
|
|
79
|
+
};
|
|
80
|
+
const injector = this._createInjector(this._injector, data, this._overlayRef);
|
|
81
|
+
const containerPortal = new ComponentPortal(FilterDrawerComponent, undefined, injector);
|
|
82
|
+
const containerRef = this._overlayRef.attach(containerPortal);
|
|
83
|
+
return containerRef.instance;
|
|
84
|
+
}
|
|
85
|
+
_createInjector(parentInjector, data, overlayRef) {
|
|
86
|
+
const injectionTokens = new WeakMap([
|
|
87
|
+
[FILTER_DRAWER_DATA, data],
|
|
88
|
+
[FILTER_DRAWER_OVERLAY, overlayRef],
|
|
89
|
+
]);
|
|
90
|
+
return new PortalInjector(parentInjector, injectionTokens);
|
|
91
|
+
}
|
|
92
|
+
_removeFilterClass() {
|
|
93
|
+
this._filterMeta.openedFilters--;
|
|
94
|
+
if (this._filterMeta.openedFilters === 0) {
|
|
95
|
+
this._htmlClassRenderer.removeClass('fs-filter-open');
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
_addFilterClass() {
|
|
99
|
+
this._filterMeta.openedFilters++;
|
|
100
|
+
if (this._filterMeta.openedFilters === 1) {
|
|
101
|
+
this._htmlClassRenderer.addClass('fs-filter-open');
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
_openWhenChipClicked() {
|
|
105
|
+
this._focusController.focusOn$
|
|
106
|
+
.pipe(filter((v) => !!v), takeUntil(this._destroy$))
|
|
107
|
+
.subscribe(() => {
|
|
108
|
+
if (!this.isOpened) {
|
|
109
|
+
this.open();
|
|
110
|
+
}
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
FsFilterOverlayService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FsFilterOverlayService, deps: [{ token: FS_FILTER_META }, { token: i0.Injector }, { token: i1.Overlay }, { token: i2.FocusControllerService }, { token: i3.HtmlClassRenderer }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
115
|
+
FsFilterOverlayService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FsFilterOverlayService });
|
|
116
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FsFilterOverlayService, decorators: [{
|
|
117
|
+
type: Injectable
|
|
118
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
119
|
+
type: Inject,
|
|
120
|
+
args: [FS_FILTER_META]
|
|
121
|
+
}] }, { type: i0.Injector }, { type: i1.Overlay }, { type: i2.FocusControllerService }, { type: i3.HtmlClassRenderer }]; } });
|
|
122
122
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLW92ZXJsYXkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcHAvc2VydmljZXMvZmlsdGVyLW92ZXJsYXkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFFeEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQWMsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRSxPQUFPLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXRFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVuRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVyRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUM1RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsY0FBYyxFQUFnQixNQUFNLDBCQUEwQixDQUFDO0FBRXhFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7OztBQUlwRSxNQUFNLE9BQU8sc0JBQXNCO0lBV2pDLFlBQ2tDLFdBQXlCLEVBQ2pELFNBQW1CLEVBQ25CLFFBQWlCLEVBQ2pCLGdCQUF3QyxFQUN4QyxrQkFBcUM7UUFKYixnQkFBVyxHQUFYLFdBQVcsQ0FBYztRQUNqRCxjQUFTLEdBQVQsU0FBUyxDQUFVO1FBQ25CLGFBQVEsR0FBUixRQUFRLENBQVM7UUFDakIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUF3QjtRQUN4Qyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW1CO1FBZHhDLFlBQU8sR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQ3hCLFlBQU8sR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBS3ZCLGNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBVWhDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFXLFFBQVE7UUFDakIsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUM1QixDQUFDO0lBRU0sVUFBVSxDQUFDLEVBQVk7UUFDNUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVNLFNBQVMsQ0FBQyxFQUFZO1FBQzNCLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFFTSxLQUFLO1FBQ1YsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3BCLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7WUFFeEIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7U0FDM0I7SUFDSCxDQUFDO0lBRU0sSUFBSTtRQUNULElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBRXpDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFO2FBQzdCLElBQUksQ0FDSCxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUMxQjthQUNBLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzVCLENBQUMsQ0FBQyxDQUFDO1FBRUwsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUU7YUFDM0IsSUFBSSxDQUNILFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQzFCO2FBQ0EsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdEIsQ0FBQyxDQUFDLENBQUM7UUFFTCxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRTthQUMzQixJQUFJLENBQ0gsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FDMUI7YUFDQSxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN0QixDQUFDLENBQUMsQ0FBQztRQUVMLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUV2QixPQUFPLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRU8sY0FBYztRQUNwQixNQUFNLGFBQWEsR0FBRyxJQUFJLGFBQWEsQ0FBQztZQUN0QyxXQUFXLEVBQUUsSUFBSTtZQUNqQixhQUFhLEVBQUUsb0JBQW9CO1NBQ3BDLENBQUMsQ0FBQztRQUVILE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVPLGtCQUFrQjtRQUN4QixNQUFNLElBQUksR0FBRztZQUNYLElBQUksRUFBRSxJQUFJLENBQUMsT0FBTztZQUNsQixLQUFLLEVBQUUsSUFBSSxDQUFDLFFBQVE7U0FDckIsQ0FBQztRQUNGLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzlFLE1BQU0sZUFBZSxHQUFHLElBQUksZUFBZSxDQUFDLHFCQUFxQixFQUFFLFNBQVMsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUN4RixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBd0IsZUFBZSxDQUFDLENBQUM7UUFFckYsT0FBTyxZQUFZLENBQUMsUUFBUSxDQUFDO0lBQy9CLENBQUM7SUFFTyxlQUFlLENBQUMsY0FBYyxFQUFFLElBQUksRUFBRSxVQUFVO1FBQ3RELE1BQU0sZUFBZSxHQUFHLElBQUksT0FBTyxDQUFXO1lBQzVDLENBQUMsa0JBQWtCLEVBQUUsSUFBSSxDQUFDO1lBQzFCLENBQUMscUJBQXFCLEVBQUUsVUFBVSxDQUFDO1NBQ3BDLENBQUMsQ0FBQztRQUVILE9BQU8sSUFBSSxjQUFjLENBQUMsY0FBYyxFQUFFLGVBQWUsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFTyxrQkFBa0I7UUFDeEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUVqQyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxLQUFLLENBQUMsRUFBRTtZQUN4QyxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDLGdCQUFnQixDQUFDLENBQUM7U0FDdkQ7SUFDSCxDQUFDO0lBRU8sZUFBZTtRQUNyQixJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBRWpDLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLEtBQUssQ0FBQyxFQUFFO1lBQ3hDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztTQUNwRDtJQUNILENBQUM7SUFFTyxvQkFBb0I7UUFDMUIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVE7YUFDM0IsSUFBSSxDQUNILE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUNsQixTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUMxQjthQUNBLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtnQkFDbEIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO2FBQ2I7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7O21IQXhJVSxzQkFBc0Isa0JBWXZCLGNBQWM7dUhBWmIsc0JBQXNCOzJGQUF0QixzQkFBc0I7a0JBRGxDLFVBQVU7OzBCQWFOLE1BQU07MkJBQUMsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0b3IsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBPdmVybGF5LCBPdmVybGF5Q29uZmlnLCBPdmVybGF5UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsLCBQb3J0YWxJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgSHRtbENsYXNzUmVuZGVyZXIgfSBmcm9tICdAZmlyZXN0aXRjaC9odG1sJztcblxuaW1wb3J0IHsgRmlsdGVyRHJhd2VyQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9maWx0ZXItZHJhd2VyL2ZpbHRlci1kcmF3ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEZJTFRFUl9EUkFXRVJfREFUQSB9IGZyb20gJy4uL2luamVjdG9ycy9maWx0ZXItZHJhd2VyLWRhdGEnO1xuaW1wb3J0IHsgRklMVEVSX0RSQVdFUl9PVkVSTEFZIH0gZnJvbSAnLi4vaW5qZWN0b3JzL2ZpbHRlci1kcmF3ZXItb3ZlcmxheSc7XG5pbXBvcnQgeyBGU19GSUxURVJfTUVUQSwgRnNGaWx0ZXJNZXRhIH0gZnJvbSAnLi4vcHJvdmlkZXJzL2ZpbHRlci1tZXRhJztcblxuaW1wb3J0IHsgRm9jdXNDb250cm9sbGVyU2VydmljZSB9IGZyb20gJy4vZm9jdXMtY29udHJvbGxlci5zZXJ2aWNlJztcblxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRnNGaWx0ZXJPdmVybGF5U2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG5cbiAgcHVibGljIGRldGFjaCQgPSBuZXcgU3ViamVjdCgpO1xuICBwdWJsaWMgYXR0YWNoJCA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgcHJpdmF0ZSBfY2xlYXJGbjogRnVuY3Rpb247XG4gIHByaXZhdGUgX2RvbmVGbjogRnVuY3Rpb247XG5cbiAgcHJpdmF0ZSBfZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xuICBwcml2YXRlIF9vdmVybGF5UmVmOiBPdmVybGF5UmVmO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoRlNfRklMVEVSX01FVEEpIHByaXZhdGUgX2ZpbHRlck1ldGE6IEZzRmlsdGVyTWV0YSxcbiAgICBwcml2YXRlIF9pbmplY3RvcjogSW5qZWN0b3IsXG4gICAgcHJpdmF0ZSBfb3ZlcmxheTogT3ZlcmxheSxcbiAgICBwcml2YXRlIF9mb2N1c0NvbnRyb2xsZXI6IEZvY3VzQ29udHJvbGxlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBfaHRtbENsYXNzUmVuZGVyZXI6IEh0bWxDbGFzc1JlbmRlcmVyLFxuICApIHtcbiAgICB0aGlzLl9vcGVuV2hlbkNoaXBDbGlja2VkKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzT3BlbmVkKCkge1xuICAgIHJldHVybiAhIXRoaXMuX292ZXJsYXlSZWY7XG4gIH1cblxuICBwdWJsaWMgc2V0Q2xlYXJGbihmbjogRnVuY3Rpb24pIHtcbiAgICB0aGlzLl9jbGVhckZuID0gZm47XG4gIH1cblxuICBwdWJsaWMgc2V0RG9uZUZuKGZuOiBGdW5jdGlvbikge1xuICAgIHRoaXMuX2RvbmVGbiA9IGZuO1xuICB9XG5cbiAgcHVibGljIGNsb3NlKCkge1xuICAgIGlmICh0aGlzLl9vdmVybGF5UmVmKSB7XG4gICAgICB0aGlzLl9vdmVybGF5UmVmLmRldGFjaCgpO1xuICAgICAgdGhpcy5fb3ZlcmxheVJlZiA9IG51bGw7XG5cbiAgICAgIHRoaXMuX3JlbW92ZUZpbHRlckNsYXNzKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9wZW4oKSB7XG4gICAgdGhpcy5fb3ZlcmxheVJlZiA9IHRoaXMuX2NyZWF0ZU92ZXJsYXkoKTtcblxuICAgIHRoaXMuX292ZXJsYXlSZWYuYmFja2Ryb3BDbGljaygpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLl9vdmVybGF5UmVmLmRldGFjaCgpO1xuICAgICAgfSk7XG5cbiAgICB0aGlzLl9vdmVybGF5UmVmLmRldGFjaG1lbnRzKClcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuZGV0YWNoJC5uZXh0KCk7XG4gICAgICB9KTtcblxuICAgIHRoaXMuX292ZXJsYXlSZWYuYXR0YWNobWVudHMoKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5hdHRhY2gkLm5leHQoKTtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy5fYWRkRmlsdGVyQ2xhc3MoKTtcblxuICAgIHJldHVybiB0aGlzLl9vcGVuUG9ydGFsUHJldmlldygpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLl9kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY3JlYXRlT3ZlcmxheSgpIHtcbiAgICBjb25zdCBvdmVybGF5Q29uZmlnID0gbmV3IE92ZXJsYXlDb25maWcoe1xuICAgICAgaGFzQmFja2Ryb3A6IHRydWUsXG4gICAgICBiYWNrZHJvcENsYXNzOiAnZnMtZmlsdGVyLWJhY2tkcm9wJyxcbiAgICB9KTtcblxuICAgIHJldHVybiB0aGlzLl9vdmVybGF5LmNyZWF0ZShvdmVybGF5Q29uZmlnKTtcbiAgfVxuXG4gIHByaXZhdGUgX29wZW5Qb3J0YWxQcmV2aWV3KCkge1xuICAgIGNvbnN0IGRhdGEgPSB7XG4gICAgICBkb25lOiB0aGlzLl9kb25lRm4sXG4gICAgICBjbGVhcjogdGhpcy5fY2xlYXJGbixcbiAgICB9O1xuICAgIGNvbnN0IGluamVjdG9yID0gdGhpcy5fY3JlYXRlSW5qZWN0b3IodGhpcy5faW5qZWN0b3IsIGRhdGEsIHRoaXMuX292ZXJsYXlSZWYpO1xuICAgIGNvbnN0IGNvbnRhaW5lclBvcnRhbCA9IG5ldyBDb21wb25lbnRQb3J0YWwoRmlsdGVyRHJhd2VyQ29tcG9uZW50LCB1bmRlZmluZWQsIGluamVjdG9yKTtcbiAgICBjb25zdCBjb250YWluZXJSZWYgPSB0aGlzLl9vdmVybGF5UmVmLmF0dGFjaDxGaWx0ZXJEcmF3ZXJDb21wb25lbnQ+KGNvbnRhaW5lclBvcnRhbCk7XG5cbiAgICByZXR1cm4gY29udGFpbmVyUmVmLmluc3RhbmNlO1xuICB9XG5cbiAgcHJpdmF0ZSBfY3JlYXRlSW5qZWN0b3IocGFyZW50SW5qZWN0b3IsIGRhdGEsIG92ZXJsYXlSZWYpIHtcbiAgICBjb25zdCBpbmplY3Rpb25Ub2tlbnMgPSBuZXcgV2Vha01hcDxhbnksIGFueT4oW1xuICAgICAgW0ZJTFRFUl9EUkFXRVJfREFUQSwgZGF0YV0sXG4gICAgICBbRklMVEVSX0RSQVdFUl9PVkVSTEFZLCBvdmVybGF5UmVmXSxcbiAgICBdKTtcblxuICAgIHJldHVybiBuZXcgUG9ydGFsSW5qZWN0b3IocGFyZW50SW5qZWN0b3IsIGluamVjdGlvblRva2Vucyk7XG4gIH1cblxuICBwcml2YXRlIF9yZW1vdmVGaWx0ZXJDbGFzcygpIHtcbiAgICB0aGlzLl9maWx0ZXJNZXRhLm9wZW5lZEZpbHRlcnMtLTtcblxuICAgIGlmICh0aGlzLl9maWx0ZXJNZXRhLm9wZW5lZEZpbHRlcnMgPT09IDApIHtcbiAgICAgIHRoaXMuX2h0bWxDbGFzc1JlbmRlcmVyLnJlbW92ZUNsYXNzKCdmcy1maWx0ZXItb3BlbicpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2FkZEZpbHRlckNsYXNzKCkge1xuICAgIHRoaXMuX2ZpbHRlck1ldGEub3BlbmVkRmlsdGVycysrO1xuXG4gICAgaWYgKHRoaXMuX2ZpbHRlck1ldGEub3BlbmVkRmlsdGVycyA9PT0gMSkge1xuICAgICAgdGhpcy5faHRtbENsYXNzUmVuZGVyZXIuYWRkQ2xhc3MoJ2ZzLWZpbHRlci1vcGVuJyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfb3BlbldoZW5DaGlwQ2xpY2tlZCgpOiB2b2lkIHtcbiAgICB0aGlzLl9mb2N1c0NvbnRyb2xsZXIuZm9jdXNPbiRcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIoKHYpID0+ICEhdiksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgaWYgKCF0aGlzLmlzT3BlbmVkKSB7XG4gICAgICAgICAgdGhpcy5vcGVuKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { BehaviorSubject } from 'rxjs';
|
|
3
|
-
import { filter, tap } from 'rxjs/operators';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class FocusControllerService {
|
|
6
|
-
constructor() {
|
|
7
|
-
this._focusOn = new BehaviorSubject(null);
|
|
8
|
-
}
|
|
9
|
-
get focusOn$() {
|
|
10
|
-
return this._focusOn.asObservable();
|
|
11
|
-
}
|
|
12
|
-
click(item, type = null) {
|
|
13
|
-
this._focusOn.next({ item, type });
|
|
14
|
-
}
|
|
15
|
-
listenFocusFor$(targetItem, targetType = null) {
|
|
16
|
-
return this._focusOn
|
|
17
|
-
.pipe(filter((event) => !!event), filter(({ item, type }) => {
|
|
18
|
-
return targetItem === item && targetType === type;
|
|
19
|
-
}), tap(() => this.clearFocus()));
|
|
20
|
-
}
|
|
21
|
-
clearFocus() {
|
|
22
|
-
this._focusOn.next(null);
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
FocusControllerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
26
|
-
FocusControllerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
27
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
28
|
-
type: Injectable
|
|
29
|
-
}], ctorParameters: function () { return []; } });
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { BehaviorSubject } from 'rxjs';
|
|
3
|
+
import { filter, tap } from 'rxjs/operators';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class FocusControllerService {
|
|
6
|
+
constructor() {
|
|
7
|
+
this._focusOn = new BehaviorSubject(null);
|
|
8
|
+
}
|
|
9
|
+
get focusOn$() {
|
|
10
|
+
return this._focusOn.asObservable();
|
|
11
|
+
}
|
|
12
|
+
click(item, type = null) {
|
|
13
|
+
this._focusOn.next({ item, type });
|
|
14
|
+
}
|
|
15
|
+
listenFocusFor$(targetItem, targetType = null) {
|
|
16
|
+
return this._focusOn
|
|
17
|
+
.pipe(filter((event) => !!event), filter(({ item, type }) => {
|
|
18
|
+
return targetItem === item && targetType === type;
|
|
19
|
+
}), tap(() => this.clearFocus()));
|
|
20
|
+
}
|
|
21
|
+
clearFocus() {
|
|
22
|
+
this._focusOn.next(null);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
FocusControllerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FocusControllerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
26
|
+
FocusControllerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FocusControllerService });
|
|
27
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FocusControllerService, decorators: [{
|
|
28
|
+
type: Injectable
|
|
29
|
+
}], ctorParameters: function () { return []; } });
|
|
30
30
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9jdXMtY29udHJvbGxlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwcC9zZXJ2aWNlcy9mb2N1cy1jb250cm9sbGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBTTdDLE1BQU0sT0FBTyxzQkFBc0I7SUFJakM7UUFGUSxhQUFRLEdBQUcsSUFBSSxlQUFlLENBQThDLElBQUksQ0FBQyxDQUFDO0lBRTNFLENBQUM7SUFFaEIsSUFBVyxRQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRU0sS0FBSyxDQUFDLElBQW1CLEVBQUUsT0FBc0IsSUFBSTtRQUMxRCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFBO0lBQ3BDLENBQUM7SUFFTSxlQUFlLENBQUMsVUFBeUIsRUFBRSxhQUE0QixJQUFJO1FBQ2hGLE9BQU8sSUFBSSxDQUFDLFFBQVE7YUFDakIsSUFBSSxDQUNILE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUMxQixNQUFNLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFO1lBQ3hCLE9BQU8sVUFBVSxLQUFLLElBQUksSUFBSSxVQUFVLEtBQUssSUFBSSxDQUFDO1FBQ3BELENBQUMsQ0FBQyxFQUNGLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FDN0IsQ0FBQTtJQUNMLENBQUM7SUFFTSxVQUFVO1FBQ2YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0IsQ0FBQzs7bUhBM0JVLHNCQUFzQjt1SEFBdEIsc0JBQXNCOzJGQUF0QixzQkFBc0I7a0JBRGxDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBCYXNlSXRlbSB9IGZyb20gJy4uL21vZGVscy9pdGVtcy9iYXNlLWl0ZW0nO1xuXG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBGb2N1c0NvbnRyb2xsZXJTZXJ2aWNlIHtcblxuICBwcml2YXRlIF9mb2N1c09uID0gbmV3IEJlaGF2aW9yU3ViamVjdDx7IGl0ZW06IEJhc2VJdGVtPGFueT4sIHR5cGU6ICdmcm9tJyB8ICd0byd9PihudWxsKTtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgcHVibGljIGdldCBmb2N1c09uJCgpIHtcbiAgICByZXR1cm4gdGhpcy5fZm9jdXNPbi5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBjbGljayhpdGVtOiBCYXNlSXRlbTxhbnk+LCB0eXBlOiAnZnJvbScgfCAndG8nID0gbnVsbCkge1xuICAgIHRoaXMuX2ZvY3VzT24ubmV4dCh7IGl0ZW0sIHR5cGUgfSlcbiAgfVxuXG4gIHB1YmxpYyBsaXN0ZW5Gb2N1c0ZvciQodGFyZ2V0SXRlbTogQmFzZUl0ZW08YW55PiwgdGFyZ2V0VHlwZTogJ2Zyb20nIHwgJ3RvJyA9IG51bGwpIHtcbiAgICByZXR1cm4gdGhpcy5fZm9jdXNPblxuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcigoZXZlbnQpID0+ICEhZXZlbnQpLFxuICAgICAgICBmaWx0ZXIoKHsgaXRlbSwgdHlwZSB9KSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHRhcmdldEl0ZW0gPT09IGl0ZW0gJiYgdGFyZ2V0VHlwZSA9PT0gdHlwZTtcbiAgICAgICAgfSksXG4gICAgICAgIHRhcCgoKSA9PiB0aGlzLmNsZWFyRm9jdXMoKSksXG4gICAgICApXG4gIH1cblxuICBwdWJsaWMgY2xlYXJGb2N1cygpIHtcbiAgICB0aGlzLl9mb2N1c09uLm5leHQobnVsbCk7XG4gIH1cbn1cbiJdfQ==
|