@dereekb/dbx-web 2.1.0 → 4.0.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/esm2020/lib/action/action.confirm.directive.mjs +3 -3
- package/esm2020/lib/action/action.module.mjs +16 -7
- package/esm2020/lib/action/action.progress.component.mjs +20 -0
- package/esm2020/lib/action/index.mjs +2 -1
- package/esm2020/lib/action/key.trigger.directive.mjs +3 -3
- package/esm2020/lib/action/snackbar/action.snackbar.component.mjs +5 -5
- package/esm2020/lib/action/snackbar/action.snackbar.directive.mjs +3 -3
- package/esm2020/lib/action/snackbar/action.snackbar.generator.mjs +5 -5
- package/esm2020/lib/action/snackbar/action.snackbar.module.mjs +4 -4
- package/esm2020/lib/action/snackbar/action.snackbar.service.mjs +3 -3
- package/esm2020/lib/action/transition/action.transition.module.mjs +4 -4
- package/esm2020/lib/action/transition/transition.safety.dialog.component.mjs +4 -4
- package/esm2020/lib/action/transition/transition.safety.directive.mjs +3 -3
- package/esm2020/lib/button/button.component.mjs +31 -12
- package/esm2020/lib/button/button.module.mjs +12 -12
- package/esm2020/lib/button/button.spacer.component.mjs +3 -3
- package/esm2020/lib/button/index.mjs +2 -1
- package/esm2020/lib/button/progress/bar.button.component.mjs +16 -0
- package/esm2020/lib/button/progress/base.progress.button.directive.mjs +104 -0
- package/esm2020/lib/button/progress/button.progress.config.mjs +3 -0
- package/esm2020/lib/button/progress/button.progress.module.mjs +61 -0
- package/esm2020/lib/button/progress/index.mjs +5 -0
- package/esm2020/lib/button/progress/spinner.button.component.mjs +40 -0
- package/esm2020/lib/dbx-web.module.mjs +10 -17
- package/esm2020/lib/error/error.action.directive.mjs +3 -3
- package/esm2020/lib/error/error.component.mjs +5 -5
- package/esm2020/lib/error/error.loading.directive.mjs +3 -3
- package/esm2020/lib/error/error.module.mjs +4 -4
- package/esm2020/lib/interaction/dialog/abstract.dialog.directive.mjs +6 -6
- package/esm2020/lib/interaction/dialog/dialog.action.directive.mjs +3 -3
- package/esm2020/lib/interaction/dialog/dialog.content.component.mjs +4 -4
- package/esm2020/lib/interaction/dialog/dialog.module.mjs +4 -4
- package/esm2020/lib/interaction/filter/filter.module.mjs +9 -9
- package/esm2020/lib/interaction/filter/filter.popover.button.component.mjs +3 -3
- package/esm2020/lib/interaction/filter/filter.popover.button.directive.mjs +3 -3
- package/esm2020/lib/interaction/filter/filter.popover.component.mjs +5 -5
- package/esm2020/lib/interaction/filter/filter.wrapper.component.mjs +3 -3
- package/esm2020/lib/interaction/interaction.module.mjs +4 -4
- package/esm2020/lib/interaction/popover/abstract.popover.directive.mjs +3 -3
- package/esm2020/lib/interaction/popover/abstract.popover.ref.directive.mjs +6 -6
- package/esm2020/lib/interaction/popover/popover.action.directive.mjs +3 -3
- package/esm2020/lib/interaction/popover/popover.component.mjs +9 -9
- package/esm2020/lib/interaction/popover/popover.content.component.mjs +3 -3
- package/esm2020/lib/interaction/popover/popover.controls.directive.mjs +3 -3
- package/esm2020/lib/interaction/popover/popover.coordinator.component.mjs +3 -3
- package/esm2020/lib/interaction/popover/popover.coordinator.service.mjs +11 -5
- package/esm2020/lib/interaction/popover/popover.header.component.mjs +3 -3
- package/esm2020/lib/interaction/popover/popover.module.mjs +13 -22
- package/esm2020/lib/interaction/popover/popover.scroll.content.component.mjs +3 -3
- package/esm2020/lib/interaction/popover/popover.service.mjs +3 -3
- package/esm2020/lib/interaction/popup/abstract.popup.directive.mjs +3 -3
- package/esm2020/lib/interaction/popup/popup.component.mjs +9 -9
- package/esm2020/lib/interaction/popup/popup.content.component.mjs +3 -3
- package/esm2020/lib/interaction/popup/popup.controls.buttons.component.mjs +4 -4
- package/esm2020/lib/interaction/popup/popup.controls.component.mjs +3 -3
- package/esm2020/lib/interaction/popup/popup.coordinator.component.mjs +3 -3
- package/esm2020/lib/interaction/popup/popup.coordinator.service.mjs +11 -5
- package/esm2020/lib/interaction/popup/popup.module.mjs +13 -22
- package/esm2020/lib/interaction/popup/popup.service.mjs +3 -3
- package/esm2020/lib/interaction/prompt/prompt.box.component.mjs +3 -3
- package/esm2020/lib/interaction/prompt/prompt.button.confirm.directive.mjs +3 -3
- package/esm2020/lib/interaction/prompt/prompt.component.mjs +3 -3
- package/esm2020/lib/interaction/prompt/prompt.confirm.component.mjs +3 -3
- package/esm2020/lib/interaction/prompt/prompt.confirm.dialog.component.mjs +8 -8
- package/esm2020/lib/interaction/prompt/prompt.confirm.directive.mjs +6 -6
- package/esm2020/lib/interaction/prompt/prompt.module.mjs +9 -9
- package/esm2020/lib/interaction/prompt/prompt.page.component.mjs +3 -3
- package/esm2020/lib/keypress/keydown.listener.directive.mjs +3 -3
- package/esm2020/lib/keypress/keypress.module.mjs +4 -4
- package/esm2020/lib/layout/bar/bar.directive.mjs +3 -3
- package/esm2020/lib/layout/bar/bar.header.component.mjs +3 -3
- package/esm2020/lib/layout/bar/bar.layout.module.mjs +4 -4
- package/esm2020/lib/layout/bar/pagebar.component.mjs +3 -3
- package/esm2020/lib/layout/block/block.layout.module.mjs +9 -9
- package/esm2020/lib/layout/block/two.block.component.mjs +22 -10
- package/esm2020/lib/layout/card/card.box.component.mjs +3 -3
- package/esm2020/lib/layout/card/card.box.container.component.mjs +3 -3
- package/esm2020/lib/layout/card/card.box.layout.module.mjs +4 -4
- package/esm2020/lib/layout/column/column.layout.module.mjs +4 -4
- package/esm2020/lib/layout/column/one/one.column.component.mjs +9 -9
- package/esm2020/lib/layout/column/one/one.column.module.mjs +4 -4
- package/esm2020/lib/layout/column/two/index.mjs +2 -1
- package/esm2020/lib/layout/column/two/two.column.back.directive.mjs +8 -8
- package/esm2020/lib/layout/column/two/two.column.component.mjs +51 -14
- package/esm2020/lib/layout/column/two/two.column.context.directive.mjs +36 -0
- package/esm2020/lib/layout/column/two/two.column.full.left.directive.mjs +8 -8
- package/esm2020/lib/layout/column/two/two.column.head.component.mjs +8 -8
- package/esm2020/lib/layout/column/two/two.column.module.mjs +43 -38
- package/esm2020/lib/layout/column/two/two.column.right.component.mjs +11 -6
- package/esm2020/lib/layout/column/two/two.column.sref.directive.mjs +12 -17
- package/esm2020/lib/layout/column/two/two.column.store.mjs +8 -7
- package/esm2020/lib/layout/compact/compact.directive.mjs +3 -3
- package/esm2020/lib/layout/compact/compact.layout.module.mjs +4 -4
- package/esm2020/lib/layout/compact/compact.store.mjs +3 -3
- package/esm2020/lib/layout/content/content.border.directive.mjs +3 -3
- package/esm2020/lib/layout/content/content.box.directive.mjs +9 -5
- package/esm2020/lib/layout/content/content.container.directive.mjs +4 -4
- package/esm2020/lib/layout/content/content.directive.mjs +3 -3
- package/esm2020/lib/layout/content/content.elevate.directive.mjs +3 -3
- package/esm2020/lib/layout/content/content.layout.module.mjs +4 -4
- package/esm2020/lib/layout/content/content.page.directive.mjs +3 -3
- package/esm2020/lib/layout/flag/flag.component.mjs +3 -3
- package/esm2020/lib/layout/flag/flag.layout.module.mjs +4 -4
- package/esm2020/lib/layout/flag/flag.prompt.component.mjs +3 -3
- package/esm2020/lib/layout/flex/flex.group.directive.mjs +8 -4
- package/esm2020/lib/layout/flex/flex.layout.module.mjs +4 -4
- package/esm2020/lib/layout/flex/flex.size.directive.mjs +3 -3
- package/esm2020/lib/layout/item/item.icon.component.mjs +3 -3
- package/esm2020/lib/layout/item/item.layout.module.mjs +4 -4
- package/esm2020/lib/layout/layout.module.mjs +4 -4
- package/esm2020/lib/layout/list/index.mjs +5 -1
- package/esm2020/lib/layout/list/list.component.mjs +22 -9
- package/esm2020/lib/layout/list/list.content.empty.component.mjs +3 -3
- package/esm2020/lib/layout/list/list.directive.mjs +12 -10
- package/esm2020/lib/layout/list/list.layout.module.mjs +32 -18
- package/esm2020/lib/layout/list/list.view.directive.mjs +11 -4
- package/esm2020/lib/layout/list/list.view.mjs +1 -1
- package/esm2020/lib/layout/list/list.view.selection.directive.mjs +8 -7
- package/esm2020/lib/layout/list/list.view.value.component.mjs +57 -28
- package/esm2020/lib/layout/list/list.view.value.directive.mjs +18 -10
- package/esm2020/lib/layout/list/list.view.value.item.directive.mjs +7 -7
- package/esm2020/lib/layout/list/list.view.value.mjs +36 -24
- package/esm2020/lib/layout/list/list.view.value.modifier.directive.mjs +81 -0
- package/esm2020/lib/layout/list/list.view.value.modifier.mjs +15 -0
- package/esm2020/lib/layout/list/list.view.value.modifier.ripple.directive.mjs +45 -0
- package/esm2020/lib/layout/list/list.view.value.selection.component.mjs +57 -43
- package/esm2020/lib/layout/list/list.wrapper.mjs +13 -0
- package/esm2020/lib/layout/section/section.component.mjs +3 -3
- package/esm2020/lib/layout/section/section.header.component.mjs +3 -3
- package/esm2020/lib/layout/section/section.intro.component.mjs +3 -3
- package/esm2020/lib/layout/section/section.layout.module.mjs +9 -9
- package/esm2020/lib/layout/section/section.page.component.mjs +3 -3
- package/esm2020/lib/layout/section/subsection.component.mjs +3 -3
- package/esm2020/lib/layout/step/step.component.mjs +3 -3
- package/esm2020/lib/layout/step/step.layout.module.mjs +4 -4
- package/esm2020/lib/layout/style/spacer.directive.mjs +3 -3
- package/esm2020/lib/layout/style/style.body.directive.mjs +3 -3
- package/esm2020/lib/layout/style/style.directive.mjs +3 -3
- package/esm2020/lib/layout/style/style.layout.module.mjs +4 -4
- package/esm2020/lib/layout/style/style.service.mjs +6 -4
- package/esm2020/lib/layout/style/style.set.directive.mjs +5 -4
- package/esm2020/lib/layout/text/hint.component.mjs +3 -3
- package/esm2020/lib/layout/text/icon.spacer.component.mjs +3 -3
- package/esm2020/lib/layout/text/label.component.mjs +3 -3
- package/esm2020/lib/layout/text/linkify.component.mjs +3 -3
- package/esm2020/lib/layout/text/note.component.mjs +3 -3
- package/esm2020/lib/layout/text/notice.component.mjs +3 -3
- package/esm2020/lib/layout/text/ok.component.mjs +3 -3
- package/esm2020/lib/layout/text/success.component.mjs +3 -3
- package/esm2020/lib/layout/text/text.chips.component.mjs +3 -3
- package/esm2020/lib/layout/text/text.module.mjs +4 -4
- package/esm2020/lib/layout/text/warn.component.mjs +3 -3
- package/esm2020/lib/loading/basic-loading.component.mjs +3 -3
- package/esm2020/lib/loading/loading-progress.component.mjs +4 -4
- package/esm2020/lib/loading/loading.action.directive.mjs +3 -3
- package/esm2020/lib/loading/loading.component.mjs +3 -3
- package/esm2020/lib/loading/loading.module.mjs +4 -4
- package/esm2020/lib/router/layout/anchor/anchor.component.mjs +9 -5
- package/esm2020/lib/router/layout/anchor/anchor.content.component.mjs +3 -3
- package/esm2020/lib/router/layout/anchor/anchor.icon.component.mjs +3 -3
- package/esm2020/lib/router/layout/anchor/anchor.link.component.mjs +3 -3
- package/esm2020/lib/router/layout/anchor/anchor.module.mjs +10 -10
- package/esm2020/lib/router/layout/anchor/anchor.segue.directive.mjs +4 -4
- package/esm2020/lib/router/layout/anchorlist/anchorlist.component.mjs +5 -5
- package/esm2020/lib/router/layout/anchorlist/anchorlist.module.mjs +10 -10
- package/esm2020/lib/router/layout/index.mjs +2 -1
- package/esm2020/lib/router/layout/layout.module.mjs +23 -19
- package/esm2020/lib/router/layout/list/index.mjs +3 -0
- package/esm2020/lib/router/layout/list/list.module.mjs +21 -0
- package/esm2020/lib/router/layout/list/router.list.directive.mjs +42 -0
- package/esm2020/lib/router/layout/navbar/navbar.component.mjs +4 -4
- package/esm2020/lib/router/layout/navbar/navbar.module.mjs +10 -10
- package/esm2020/lib/router/layout/sidenav/sidenav.button.component.mjs +3 -3
- package/esm2020/lib/router/layout/sidenav/sidenav.component.mjs +3 -3
- package/esm2020/lib/router/layout/sidenav/sidenav.module.mjs +14 -14
- package/esm2020/lib/router/layout/sidenav/sidenav.page.component.mjs +7 -4
- package/esm2020/lib/router/layout/sidenav/sidenav.pagebar.component.mjs +4 -4
- package/esm2020/lib/router/provider/ngrouter/anchor.component.mjs +5 -5
- package/esm2020/lib/router/provider/ngrouter/angular.router.module.mjs +9 -9
- package/esm2020/lib/router/provider/router.provider.config.mjs +1 -1
- package/esm2020/lib/router/provider/uirouter/anchor.component.mjs +5 -5
- package/esm2020/lib/router/provider/uirouter/uirouter.router.module.mjs +9 -9
- package/esm2020/lib/screen/screen.module.mjs +4 -4
- package/esm2020/lib/screen/screen.service.mjs +5 -4
- package/fesm2015/dereekb-dbx-web.mjs +1581 -972
- package/fesm2015/dereekb-dbx-web.mjs.map +1 -1
- package/fesm2020/dereekb-dbx-web.mjs +1578 -970
- package/fesm2020/dereekb-dbx-web.mjs.map +1 -1
- package/lib/action/action.module.d.ts +10 -8
- package/lib/action/action.progress.component.d.ts +5 -0
- package/lib/action/index.d.ts +1 -0
- package/lib/action/snackbar/action.snackbar.generator.d.ts +5 -5
- package/lib/button/_button.scss +21 -0
- package/lib/button/button.component.d.ts +7 -3
- package/lib/button/button.module.d.ts +2 -2
- package/lib/button/index.d.ts +1 -0
- package/lib/button/progress/bar.button.component.d.ts +6 -0
- package/lib/button/progress/bar.button.component.scss +23 -0
- package/lib/button/progress/base.progress.button.directive.d.ts +37 -0
- package/lib/button/progress/button.progress.config.d.ts +51 -0
- package/lib/button/progress/button.progress.module.d.ts +17 -0
- package/lib/button/progress/index.d.ts +4 -0
- package/lib/button/progress/spinner.button.component.d.ts +9 -0
- package/lib/button/progress/spinner.button.component.scss +44 -0
- package/lib/dbx-web.module.d.ts +1 -3
- package/lib/interaction/dialog/_dialog.scss +18 -2
- package/lib/interaction/dialog/abstract.dialog.directive.d.ts +1 -1
- package/lib/interaction/filter/filter.module.d.ts +1 -1
- package/lib/interaction/filter/filter.popover.component.d.ts +2 -2
- package/lib/interaction/popover/popover.component.d.ts +3 -3
- package/lib/interaction/popover/popover.coordinator.service.d.ts +3 -1
- package/lib/interaction/popover/popover.module.d.ts +1 -3
- package/lib/interaction/popup/popup.component.d.ts +3 -3
- package/lib/interaction/popup/popup.coordinator.service.d.ts +3 -1
- package/lib/interaction/popup/popup.module.d.ts +1 -3
- package/lib/interaction/prompt/prompt.confirm.dialog.component.d.ts +3 -3
- package/lib/interaction/prompt/prompt.module.d.ts +1 -1
- package/lib/layout/block/_block.scss +11 -8
- package/lib/layout/block/block.layout.module.d.ts +1 -1
- package/lib/layout/block/two.block.component.d.ts +5 -1
- package/lib/layout/column/_column.scss +119 -3
- package/lib/layout/column/two/index.d.ts +1 -0
- package/lib/layout/column/two/two.column.back.directive.d.ts +4 -4
- package/lib/layout/column/two/two.column.component.d.ts +23 -7
- package/lib/layout/column/two/two.column.context.directive.d.ts +18 -0
- package/lib/layout/column/two/two.column.full.left.directive.d.ts +4 -4
- package/lib/layout/column/two/two.column.head.component.d.ts +3 -3
- package/lib/layout/column/two/two.column.module.d.ts +7 -6
- package/lib/layout/column/two/two.column.right.component.d.ts +6 -4
- package/lib/layout/column/two/two.column.sref.directive.d.ts +6 -7
- package/lib/layout/column/two/two.column.store.d.ts +4 -3
- package/lib/layout/content/_content.scss +25 -3
- package/lib/layout/content/content.box.directive.d.ts +2 -1
- package/lib/layout/content/content.container.directive.d.ts +2 -2
- package/lib/layout/flex/_flex.scss +4 -0
- package/lib/layout/flex/flex.group.directive.d.ts +1 -0
- package/lib/layout/list/index.d.ts +4 -0
- package/lib/layout/list/list.component.d.ts +14 -5
- package/lib/layout/list/list.directive.d.ts +9 -7
- package/lib/layout/list/list.layout.module.d.ts +10 -8
- package/lib/layout/list/list.view.d.ts +11 -1
- package/lib/layout/list/list.view.directive.d.ts +4 -1
- package/lib/layout/list/list.view.selection.directive.d.ts +4 -3
- package/lib/layout/list/list.view.value.component.d.ts +18 -3
- package/lib/layout/list/list.view.value.d.ts +27 -11
- package/lib/layout/list/list.view.value.directive.d.ts +9 -6
- package/lib/layout/list/list.view.value.item.directive.d.ts +4 -4
- package/lib/layout/list/list.view.value.modifier.d.ts +12 -0
- package/lib/layout/list/list.view.value.modifier.directive.d.ts +37 -0
- package/lib/layout/list/list.view.value.modifier.ripple.directive.d.ts +17 -0
- package/lib/layout/list/list.view.value.selection.component.d.ts +10 -11
- package/lib/layout/list/list.wrapper.d.ts +11 -0
- package/lib/layout/section/section.layout.module.d.ts +1 -1
- package/lib/layout/style/_style.scss +12 -1
- package/lib/layout/text/_text.scss +9 -0
- package/lib/router/layout/anchor/_anchor.scss +5 -0
- package/lib/router/layout/anchor/anchor.component.d.ts +5 -4
- package/lib/router/layout/anchor/anchor.module.d.ts +4 -4
- package/lib/router/layout/anchor/anchor.segue.directive.d.ts +2 -2
- package/lib/router/layout/anchorlist/_anchorlist.scss +7 -0
- package/lib/router/layout/anchorlist/anchorlist.module.d.ts +4 -4
- package/lib/router/layout/index.d.ts +1 -0
- package/lib/router/layout/layout.module.d.ts +4 -3
- package/lib/router/layout/list/index.d.ts +2 -0
- package/lib/router/layout/list/list.module.d.ts +7 -0
- package/lib/router/layout/list/router.list.directive.d.ts +17 -0
- package/lib/router/layout/navbar/navbar.component.d.ts +4 -4
- package/lib/router/layout/navbar/navbar.module.d.ts +4 -4
- package/lib/router/layout/sidenav/sidenav.module.d.ts +4 -4
- package/lib/router/layout/sidenav/sidenav.page.component.d.ts +4 -2
- package/lib/router/provider/ngrouter/angular.router.module.d.ts +1 -1
- package/lib/router/provider/router.provider.config.d.ts +2 -2
- package/lib/router/provider/uirouter/uirouter.router.module.d.ts +1 -1
- package/lib/screen/screen.service.d.ts +2 -2
- package/lib/style/_config.scss +7 -1
- package/lib/style/_root-variables.scss +2 -0
- package/lib/style/_variables.scss +4 -0
- package/package.json +5 -23
- package/lib/layout/column/two.scss +0 -114
|
@@ -1,54 +1,79 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
2
|
-
import { shareReplay, map
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import { shareReplay, map } from 'rxjs';
|
|
3
3
|
import { AbstractDbxValueListViewDirective } from './list.view.value.directive';
|
|
4
4
|
import { AnchorType, anchorTypeForAnchor } from '@dereekb/dbx-core';
|
|
5
|
+
import { DbxListView } from './list.view';
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@angular/
|
|
7
|
-
import * as i2 from "
|
|
8
|
-
import * as i3 from "@angular/material/
|
|
9
|
-
import * as i4 from "
|
|
10
|
-
import * as i5 from "@angular/
|
|
7
|
+
import * as i1 from "@angular/common";
|
|
8
|
+
import * as i2 from "./list.view";
|
|
9
|
+
import * as i3 from "@angular/material/list";
|
|
10
|
+
import * as i4 from "../../router/layout/anchor/anchor.component";
|
|
11
|
+
import * as i5 from "@angular/material/icon";
|
|
12
|
+
import * as i6 from "@dereekb/dbx-core";
|
|
11
13
|
/**
|
|
12
|
-
*
|
|
14
|
+
* Renders a list view using input configuration. Requires a parent DbxListView.
|
|
13
15
|
*/
|
|
14
16
|
export class DbxValueListViewComponent extends AbstractDbxValueListViewDirective {
|
|
15
17
|
constructor() {
|
|
16
18
|
super(...arguments);
|
|
17
19
|
this.emitAllClicks$ = this.config$.pipe(map(x => x.emitAllClicks), shareReplay(1));
|
|
18
20
|
}
|
|
21
|
+
}
|
|
22
|
+
DbxValueListViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxValueListViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
23
|
+
DbxValueListViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: DbxValueListViewComponent, selector: "dbx-list-view", usesInheritance: true, ngImport: i0, template: `
|
|
24
|
+
<dbx-list-view-content [items]="items$ | async" [emitAllClicks]="emitAllClicks$ | async"></dbx-list-view-content>
|
|
25
|
+
`, isInline: true, components: [{ type: i0.forwardRef(function () { return DbxValueListItemViewComponent; }), selector: "dbx-list-view-content", inputs: ["emitAllClicks", "items"] }], pipes: { "async": i0.forwardRef(function () { return i1.AsyncPipe; }) } });
|
|
26
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxValueListViewComponent, decorators: [{
|
|
27
|
+
type: Component,
|
|
28
|
+
args: [{
|
|
29
|
+
selector: 'dbx-list-view',
|
|
30
|
+
template: `
|
|
31
|
+
<dbx-list-view-content [items]="items$ | async" [emitAllClicks]="emitAllClicks$ | async"></dbx-list-view-content>
|
|
32
|
+
`
|
|
33
|
+
}]
|
|
34
|
+
}] });
|
|
35
|
+
/**
|
|
36
|
+
* Content view for a DbxValueListView. It can be used directly in cases where the items are already configured, or want to be configured in a non-standard fashion.
|
|
37
|
+
*/
|
|
38
|
+
export class DbxValueListItemViewComponent {
|
|
39
|
+
constructor(dbxListView) {
|
|
40
|
+
this.dbxListView = dbxListView;
|
|
41
|
+
this.disabled$ = this.dbxListView.disabled$;
|
|
42
|
+
}
|
|
19
43
|
onClickItem(item) {
|
|
20
44
|
// do not emit clicks for disabled items.
|
|
21
45
|
if (!item.disabled) {
|
|
22
|
-
this.emitAllClicks
|
|
46
|
+
if (this.emitAllClicks || !item.anchor || anchorTypeForAnchor(item.anchor) === AnchorType.PLAIN) {
|
|
23
47
|
// only emit clicks for items with no anchor, or plain anchors.
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
}
|
|
27
|
-
});
|
|
48
|
+
this.onClickValue(item.itemValue);
|
|
49
|
+
}
|
|
28
50
|
}
|
|
29
51
|
}
|
|
52
|
+
onClickValue(value) {
|
|
53
|
+
this.dbxListView.clickValue?.next(value);
|
|
54
|
+
}
|
|
30
55
|
}
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
<mat-nav-list>
|
|
34
|
-
<dbx-anchor *ngFor="let item of
|
|
35
|
-
<a mat-list-item class="dbx-list-view-item" [disabled]="item.disabled" (click)="onClickItem(item)">
|
|
56
|
+
DbxValueListItemViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxValueListItemViewComponent, deps: [{ token: i2.DbxListView }], target: i0.ɵɵFactoryTarget.Component });
|
|
57
|
+
DbxValueListItemViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: DbxValueListItemViewComponent, selector: "dbx-list-view-content", inputs: { emitAllClicks: "emitAllClicks", items: "items" }, host: { classAttribute: "dbx-list-view" }, ngImport: i0, template: `
|
|
58
|
+
<mat-nav-list [disabled]="disabled$ | async">
|
|
59
|
+
<dbx-anchor *ngFor="let item of items" [anchor]="item.anchor" [disabled]="item.disabled">
|
|
60
|
+
<a mat-list-item class="dbx-list-view-item" [disabled]="item.disabled" [disableRipple]="item.rippleDisabled || (!emitAllClicks && !item.anchor)" (click)="onClickItem(item)">
|
|
36
61
|
<mat-icon matListIcon *ngIf="item.icon">{{ item.icon }}</mat-icon>
|
|
37
|
-
<div dbx-
|
|
62
|
+
<div dbx-injection [config]="item.config"></div>
|
|
38
63
|
</a>
|
|
39
64
|
</dbx-anchor>
|
|
40
65
|
</mat-nav-list>
|
|
41
|
-
`, isInline: true, components: [{ type:
|
|
42
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2
|
|
66
|
+
`, isInline: true, components: [{ type: i3.MatNavList, selector: "mat-nav-list", inputs: ["disableRipple", "disabled"], exportAs: ["matNavList"] }, { type: i4.DbxAnchorComponent, selector: "dbx-anchor, [dbx-anchor]", inputs: ["block"] }, { type: i3.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["disableRipple", "disabled"], exportAs: ["matListItem"] }, { type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i6.DbxInjectionComponent, selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }], directives: [{ type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.MatListIconCssMatStyler, selector: "[mat-list-icon], [matListIcon]" }], pipes: { "async": i1.AsyncPipe } });
|
|
67
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxValueListItemViewComponent, decorators: [{
|
|
43
68
|
type: Component,
|
|
44
69
|
args: [{
|
|
45
|
-
selector: 'dbx-list-view',
|
|
70
|
+
selector: 'dbx-list-view-content',
|
|
46
71
|
template: `
|
|
47
|
-
<mat-nav-list>
|
|
48
|
-
<dbx-anchor *ngFor="let item of
|
|
49
|
-
<a mat-list-item class="dbx-list-view-item" [disabled]="item.disabled" (click)="onClickItem(item)">
|
|
72
|
+
<mat-nav-list [disabled]="disabled$ | async">
|
|
73
|
+
<dbx-anchor *ngFor="let item of items" [anchor]="item.anchor" [disabled]="item.disabled">
|
|
74
|
+
<a mat-list-item class="dbx-list-view-item" [disabled]="item.disabled" [disableRipple]="item.rippleDisabled || (!emitAllClicks && !item.anchor)" (click)="onClickItem(item)">
|
|
50
75
|
<mat-icon matListIcon *ngIf="item.icon">{{ item.icon }}</mat-icon>
|
|
51
|
-
<div dbx-
|
|
76
|
+
<div dbx-injection [config]="item.config"></div>
|
|
52
77
|
</a>
|
|
53
78
|
</dbx-anchor>
|
|
54
79
|
</mat-nav-list>
|
|
@@ -57,5 +82,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImpor
|
|
|
57
82
|
'class': 'dbx-list-view'
|
|
58
83
|
}
|
|
59
84
|
}]
|
|
60
|
-
}] }
|
|
61
|
-
|
|
85
|
+
}], ctorParameters: function () { return [{ type: i2.DbxListView }]; }, propDecorators: { emitAllClicks: [{
|
|
86
|
+
type: Input
|
|
87
|
+
}], items: [{
|
|
88
|
+
type: Input
|
|
89
|
+
}] } });
|
|
90
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC52aWV3LnZhbHVlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC13ZWIvc3JjL2xpYi9sYXlvdXQvbGlzdC9saXN0LnZpZXcudmFsdWUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxXQUFXLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXhDLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxVQUFVLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDOzs7Ozs7OztBQU8xQzs7R0FFRztBQU9ILE1BQU0sT0FBTyx5QkFBd0ssU0FBUSxpQ0FBNkM7SUFOMU87O1FBUVcsbUJBQWMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FFeEY7O3NIQUpZLHlCQUF5QjswR0FBekIseUJBQXlCLDRFQUoxQjs7R0FFVCwwRUEyQlUsNkJBQTZCOzJGQXpCN0IseUJBQXlCO2tCQU5yQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxlQUFlO29CQUN6QixRQUFRLEVBQUU7O0dBRVQ7aUJBQ0Y7O0FBT0Q7O0dBRUc7QUFpQkgsTUFBTSxPQUFPLDZCQUE2QjtJQVV4QyxZQUFxQixXQUEyQjtRQUEzQixnQkFBVyxHQUFYLFdBQVcsQ0FBZ0I7UUFGdkMsY0FBUyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDO0lBRUksQ0FBQztJQUVyRCxXQUFXLENBQUMsSUFBTztRQUVqQix5Q0FBeUM7UUFDekMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFFbEIsSUFBSSxJQUFJLENBQUMsYUFBYSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssVUFBVSxDQUFDLEtBQUssRUFBRTtnQkFDL0YsK0RBQStEO2dCQUMvRCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQzthQUNuQztTQUNGO0lBQ0gsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFRO1FBQ25CLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQyxDQUFDOzswSEExQlUsNkJBQTZCOzhHQUE3Qiw2QkFBNkIsb0tBZDlCOzs7Ozs7Ozs7R0FTVDsyRkFLVSw2QkFBNkI7a0JBaEJ6QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLFFBQVEsRUFBRTs7Ozs7Ozs7O0dBU1Q7b0JBQ0QsSUFBSSxFQUFFO3dCQUNKLE9BQU8sRUFBRSxlQUFlO3FCQUN6QjtpQkFDRjtrR0FJQyxhQUFhO3NCQURaLEtBQUs7Z0JBSU4sS0FBSztzQkFESixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgc2hhcmVSZXBsYXksIG1hcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRGJ4VmFsdWVMaXN0SXRlbSwgQWJzdHJhY3REYnhWYWx1ZUxpc3RWaWV3Q29uZmlnLCBEYnhWYWx1ZUxpc3RJdGVtQ29uZmlnIH0gZnJvbSAnLi9saXN0LnZpZXcudmFsdWUnO1xuaW1wb3J0IHsgQWJzdHJhY3REYnhWYWx1ZUxpc3RWaWV3RGlyZWN0aXZlIH0gZnJvbSAnLi9saXN0LnZpZXcudmFsdWUuZGlyZWN0aXZlJztcbmltcG9ydCB7IEFuY2hvclR5cGUsIGFuY2hvclR5cGVGb3JBbmNob3IgfSBmcm9tICdAZGVyZWVrYi9kYngtY29yZSc7XG5pbXBvcnQgeyBEYnhMaXN0VmlldyB9IGZyb20gJy4vbGlzdC52aWV3JztcbmltcG9ydCB7IE1heWJlIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGJ4VmFsdWVMaXN0Vmlld0NvbmZpZzxULCBJIGV4dGVuZHMgRGJ4VmFsdWVMaXN0SXRlbTxUPiA9IERieFZhbHVlTGlzdEl0ZW08VD4sIFYgPSBhbnk+IGV4dGVuZHMgQWJzdHJhY3REYnhWYWx1ZUxpc3RWaWV3Q29uZmlnPFQsIEksIFY+IHtcbiAgZW1pdEFsbENsaWNrcz86IGJvb2xlYW47XG59XG5cbi8qKlxuICogUmVuZGVycyBhIGxpc3QgdmlldyB1c2luZyBpbnB1dCBjb25maWd1cmF0aW9uLiBSZXF1aXJlcyBhIHBhcmVudCBEYnhMaXN0Vmlldy5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGJ4LWxpc3QtdmlldycsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRieC1saXN0LXZpZXctY29udGVudCBbaXRlbXNdPVwiaXRlbXMkIHwgYXN5bmNcIiBbZW1pdEFsbENsaWNrc109XCJlbWl0QWxsQ2xpY2tzJCB8IGFzeW5jXCI+PC9kYngtbGlzdC12aWV3LWNvbnRlbnQ+XG4gIGBcbn0pXG5leHBvcnQgY2xhc3MgRGJ4VmFsdWVMaXN0Vmlld0NvbXBvbmVudDxULCBJIGV4dGVuZHMgRGJ4VmFsdWVMaXN0SXRlbTxUPiA9IERieFZhbHVlTGlzdEl0ZW08VD4sIFYgPSBhbnksIEMgZXh0ZW5kcyBEYnhWYWx1ZUxpc3RWaWV3Q29uZmlnPFQsIEksIFY+ID0gRGJ4VmFsdWVMaXN0Vmlld0NvbmZpZzxULCBJLCBWPj4gZXh0ZW5kcyBBYnN0cmFjdERieFZhbHVlTGlzdFZpZXdEaXJlY3RpdmU8VCwgSSwgViwgQz4ge1xuXG4gIHJlYWRvbmx5IGVtaXRBbGxDbGlja3MkID0gdGhpcy5jb25maWckLnBpcGUobWFwKHggPT4geC5lbWl0QWxsQ2xpY2tzKSwgc2hhcmVSZXBsYXkoMSkpO1xuXG59XG5cbi8qKlxuICogQ29udGVudCB2aWV3IGZvciBhIERieFZhbHVlTGlzdFZpZXcuIEl0IGNhbiBiZSB1c2VkIGRpcmVjdGx5IGluIGNhc2VzIHdoZXJlIHRoZSBpdGVtcyBhcmUgYWxyZWFkeSBjb25maWd1cmVkLCBvciB3YW50IHRvIGJlIGNvbmZpZ3VyZWQgaW4gYSBub24tc3RhbmRhcmQgZmFzaGlvbi5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGJ4LWxpc3Qtdmlldy1jb250ZW50JyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8bWF0LW5hdi1saXN0IFtkaXNhYmxlZF09XCJkaXNhYmxlZCQgfCBhc3luY1wiPlxuICAgICAgPGRieC1hbmNob3IgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXNcIiBbYW5jaG9yXT1cIml0ZW0uYW5jaG9yXCIgW2Rpc2FibGVkXT1cIml0ZW0uZGlzYWJsZWRcIj5cbiAgICAgICAgPGEgbWF0LWxpc3QtaXRlbSBjbGFzcz1cImRieC1saXN0LXZpZXctaXRlbVwiIFtkaXNhYmxlZF09XCJpdGVtLmRpc2FibGVkXCIgW2Rpc2FibGVSaXBwbGVdPVwiaXRlbS5yaXBwbGVEaXNhYmxlZCB8fCAoIWVtaXRBbGxDbGlja3MgJiYgIWl0ZW0uYW5jaG9yKVwiIChjbGljayk9XCJvbkNsaWNrSXRlbShpdGVtKVwiPlxuICAgICAgICAgIDxtYXQtaWNvbiBtYXRMaXN0SWNvbiAqbmdJZj1cIml0ZW0uaWNvblwiPnt7IGl0ZW0uaWNvbiB9fTwvbWF0LWljb24+XG4gICAgICAgICAgPGRpdiBkYngtaW5qZWN0aW9uIFtjb25maWddPVwiaXRlbS5jb25maWdcIj48L2Rpdj5cbiAgICAgICAgPC9hPlxuICAgICAgPC9kYngtYW5jaG9yPlxuICAgIDwvbWF0LW5hdi1saXN0PlxuICBgLFxuICBob3N0OiB7XG4gICAgJ2NsYXNzJzogJ2RieC1saXN0LXZpZXcnXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgRGJ4VmFsdWVMaXN0SXRlbVZpZXdDb21wb25lbnQ8VCwgSSBleHRlbmRzIERieFZhbHVlTGlzdEl0ZW08VD4gPSBEYnhWYWx1ZUxpc3RJdGVtPFQ+PiB7XG5cbiAgQElucHV0KClcbiAgZW1pdEFsbENsaWNrcz86IE1heWJlPGJvb2xlYW4+O1xuXG4gIEBJbnB1dCgpXG4gIGl0ZW1zPzogTWF5YmU8RGJ4VmFsdWVMaXN0SXRlbUNvbmZpZzxULCBJPltdPjtcblxuICByZWFkb25seSBkaXNhYmxlZCQgPSB0aGlzLmRieExpc3RWaWV3LmRpc2FibGVkJDtcblxuICBjb25zdHJ1Y3RvcihyZWFkb25seSBkYnhMaXN0VmlldzogRGJ4TGlzdFZpZXc8VD4pIHsgfVxuXG4gIG9uQ2xpY2tJdGVtKGl0ZW06IEkpIHtcblxuICAgIC8vIGRvIG5vdCBlbWl0IGNsaWNrcyBmb3IgZGlzYWJsZWQgaXRlbXMuXG4gICAgaWYgKCFpdGVtLmRpc2FibGVkKSB7XG5cbiAgICAgIGlmICh0aGlzLmVtaXRBbGxDbGlja3MgfHwgIWl0ZW0uYW5jaG9yIHx8IGFuY2hvclR5cGVGb3JBbmNob3IoaXRlbS5hbmNob3IpID09PSBBbmNob3JUeXBlLlBMQUlOKSB7XG4gICAgICAgIC8vIG9ubHkgZW1pdCBjbGlja3MgZm9yIGl0ZW1zIHdpdGggbm8gYW5jaG9yLCBvciBwbGFpbiBhbmNob3JzLlxuICAgICAgICB0aGlzLm9uQ2xpY2tWYWx1ZShpdGVtLml0ZW1WYWx1ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgb25DbGlja1ZhbHVlKHZhbHVlOiBUKSB7XG4gICAgdGhpcy5kYnhMaXN0Vmlldy5jbGlja1ZhbHVlPy5uZXh0KHZhbHVlKTtcbiAgfVxuXG59XG4iXX0=
|
|
@@ -1,19 +1,25 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { maybeModifierMapToFunction } from "@dereekb/util";
|
|
2
|
+
import { Input, Directive, Optional } from "@angular/core";
|
|
3
|
+
import { filterMaybe, mapForEach } from "@dereekb/rxjs";
|
|
4
|
+
import { BehaviorSubject, distinctUntilChanged, shareReplay, combineLatest, switchMap, map, of } from "rxjs";
|
|
4
5
|
import { DbxListView } from "./list.view";
|
|
5
6
|
import { mapValuesToValuesListItemConfigObs } from "./list.view.value";
|
|
7
|
+
import { DbxValueListItemModifier } from "./list.view.value.modifier";
|
|
6
8
|
import * as i0 from "@angular/core";
|
|
7
9
|
import * as i1 from "./list.view";
|
|
10
|
+
import * as i2 from "./list.view.value.modifier";
|
|
8
11
|
/**
|
|
9
12
|
* Abstract list directive that takes in items and a AbstractDbxValueItemListViewConfig configuration.
|
|
10
13
|
*/
|
|
11
14
|
export class AbstractDbxValueListViewDirective {
|
|
12
|
-
constructor(dbxListView) {
|
|
15
|
+
constructor(dbxListView, dbxValueListViewModifier) {
|
|
13
16
|
this.dbxListView = dbxListView;
|
|
17
|
+
this.dbxValueListViewModifier = dbxValueListViewModifier;
|
|
14
18
|
this._config = new BehaviorSubject(undefined);
|
|
15
19
|
this.config$ = this._config.pipe(filterMaybe(), distinctUntilChanged());
|
|
16
|
-
this.
|
|
20
|
+
this.modifyFn$ = (this.dbxValueListViewModifier) ?
|
|
21
|
+
this.dbxValueListViewModifier.modifiers$.pipe(map(maybeModifierMapToFunction)) : of(undefined);
|
|
22
|
+
this.items$ = combineLatest([this.config$, this.dbxListView.values$, this.modifyFn$]).pipe(switchMap(([listViewConfig, values, modifyFn]) => mapValuesToValuesListItemConfigObs(listViewConfig, values).pipe(mapForEach(modifyFn))), shareReplay(1));
|
|
17
23
|
}
|
|
18
24
|
ngOnDestroy() {
|
|
19
25
|
this._config.complete();
|
|
@@ -25,11 +31,13 @@ export class AbstractDbxValueListViewDirective {
|
|
|
25
31
|
this.dbxListView.clickValue?.next(value);
|
|
26
32
|
}
|
|
27
33
|
}
|
|
28
|
-
AbstractDbxValueListViewDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2
|
|
29
|
-
AbstractDbxValueListViewDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2
|
|
30
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2
|
|
34
|
+
AbstractDbxValueListViewDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: AbstractDbxValueListViewDirective, deps: [{ token: i1.DbxListView }, { token: i2.DbxValueListItemModifier, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
35
|
+
AbstractDbxValueListViewDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: AbstractDbxValueListViewDirective, inputs: { config: "config" }, ngImport: i0 });
|
|
36
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: AbstractDbxValueListViewDirective, decorators: [{
|
|
31
37
|
type: Directive
|
|
32
|
-
}], ctorParameters: function () { return [{ type: i1.DbxListView }
|
|
38
|
+
}], ctorParameters: function () { return [{ type: i1.DbxListView }, { type: i2.DbxValueListItemModifier, decorators: [{
|
|
39
|
+
type: Optional
|
|
40
|
+
}] }]; }, propDecorators: { config: [{
|
|
33
41
|
type: Input
|
|
34
42
|
}] } });
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC52aWV3LnZhbHVlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC13ZWIvc3JjL2xpYi9sYXlvdXQvbGlzdC9saXN0LnZpZXcudmFsdWUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBUywwQkFBMEIsRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFDcEYsT0FBTyxFQUFhLEtBQUssRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hELE9BQU8sRUFBRSxlQUFlLEVBQUUsb0JBQW9CLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN6SCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzFDLE9BQU8sRUFBOEYsa0NBQWtDLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuSyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7OztBQUV0RTs7R0FFRztBQUVILE1BQU0sT0FBZ0IsaUNBQWlDO0lBYXJELFlBQXFCLFdBQTJCLEVBQXVCLHdCQUF3RDtRQUExRyxnQkFBVyxHQUFYLFdBQVcsQ0FBZ0I7UUFBdUIsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUFnQztRQVh2SCxZQUFPLEdBQUcsSUFBSSxlQUFlLENBQVcsU0FBUyxDQUFDLENBQUM7UUFDbEQsWUFBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLG9CQUFvQixFQUFFLENBQUMsQ0FBQztRQUVuRSxjQUFTLEdBQTJDLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLENBQUMsQ0FBQztZQUM1RixJQUFJLENBQUMsd0JBQXdCLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFeEYsV0FBTSxHQUErQyxhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDeEksU0FBUyxDQUFDLENBQUMsQ0FBQyxjQUFjLEVBQUUsTUFBTSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxrQ0FBa0MsQ0FBTyxjQUFjLEVBQUUsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBK0MsQ0FBQyxFQUM1TCxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQ2YsQ0FBQztJQUVpSSxDQUFDO0lBRXBJLFdBQVc7UUFDVCxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUNJLE1BQU0sQ0FBQyxNQUFnQjtRQUN6QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQVE7UUFDbkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNDLENBQUM7OzhIQTFCbUIsaUNBQWlDO2tIQUFqQyxpQ0FBaUM7MkZBQWpDLGlDQUFpQztrQkFEdEQsU0FBUzs7MEJBYzJDLFFBQVE7NENBT3ZELE1BQU07c0JBRFQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1heWJlLCBtYXliZU1vZGlmaWVyTWFwVG9GdW5jdGlvbiwgTW9kaWZpZXJGdW5jdGlvbiB9IGZyb20gXCJAZGVyZWVrYi91dGlsXCI7XG5pbXBvcnQgeyBPbkRlc3Ryb3ksIElucHV0LCBEaXJlY3RpdmUsIE9wdGlvbmFsIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IGZpbHRlck1heWJlLCBtYXBGb3JFYWNoIH0gZnJvbSBcIkBkZXJlZWtiL3J4anNcIjtcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgZGlzdGluY3RVbnRpbENoYW5nZWQsIHNoYXJlUmVwbGF5LCBjb21iaW5lTGF0ZXN0LCBzd2l0Y2hNYXAsIG1hcCwgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgRGJ4TGlzdFZpZXcgfSBmcm9tIFwiLi9saXN0LnZpZXdcIjtcbmltcG9ydCB7IEFic3RyYWN0RGJ4VmFsdWVMaXN0Vmlld0NvbmZpZywgRGJ4VmFsdWVMaXN0SXRlbSwgRGJ4VmFsdWVMaXN0SXRlbUNvbmZpZywgRGJ4VmFsdWVMaXN0VmlldywgbWFwVmFsdWVzVG9WYWx1ZXNMaXN0SXRlbUNvbmZpZ09icyB9IGZyb20gXCIuL2xpc3Qudmlldy52YWx1ZVwiO1xuaW1wb3J0IHsgRGJ4VmFsdWVMaXN0SXRlbU1vZGlmaWVyIH0gZnJvbSBcIi4vbGlzdC52aWV3LnZhbHVlLm1vZGlmaWVyXCI7XG5cbi8qKlxuICogQWJzdHJhY3QgbGlzdCBkaXJlY3RpdmUgdGhhdCB0YWtlcyBpbiBpdGVtcyBhbmQgYSBBYnN0cmFjdERieFZhbHVlSXRlbUxpc3RWaWV3Q29uZmlnIGNvbmZpZ3VyYXRpb24uXG4gKi9cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0RGJ4VmFsdWVMaXN0Vmlld0RpcmVjdGl2ZTxULCBJIGV4dGVuZHMgRGJ4VmFsdWVMaXN0SXRlbTxUPiA9IERieFZhbHVlTGlzdEl0ZW08VD4sIFYgPSBhbnksIEMgZXh0ZW5kcyBBYnN0cmFjdERieFZhbHVlTGlzdFZpZXdDb25maWc8VCwgSSwgVj4gPSBBYnN0cmFjdERieFZhbHVlTGlzdFZpZXdDb25maWc8VCwgSSwgVj4+IGltcGxlbWVudHMgRGJ4VmFsdWVMaXN0VmlldzxULCBJPiwgT25EZXN0cm95IHtcblxuICBwcml2YXRlIF9jb25maWcgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE1heWJlPEM+Pih1bmRlZmluZWQpO1xuICByZWFkb25seSBjb25maWckID0gdGhpcy5fY29uZmlnLnBpcGUoZmlsdGVyTWF5YmUoKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSk7XG5cbiAgcmVhZG9ubHkgbW9kaWZ5Rm4kOiBPYnNlcnZhYmxlPE1heWJlPE1vZGlmaWVyRnVuY3Rpb248ST4+PiA9ICh0aGlzLmRieFZhbHVlTGlzdFZpZXdNb2RpZmllcikgP1xuICAgIHRoaXMuZGJ4VmFsdWVMaXN0Vmlld01vZGlmaWVyLm1vZGlmaWVycyQucGlwZShtYXAobWF5YmVNb2RpZmllck1hcFRvRnVuY3Rpb24pKSA6IG9mKHVuZGVmaW5lZCk7XG5cbiAgcmVhZG9ubHkgaXRlbXMkOiBPYnNlcnZhYmxlPERieFZhbHVlTGlzdEl0ZW1Db25maWc8VCwgST5bXT4gPSBjb21iaW5lTGF0ZXN0KFt0aGlzLmNvbmZpZyQsIHRoaXMuZGJ4TGlzdFZpZXcudmFsdWVzJCwgdGhpcy5tb2RpZnlGbiRdKS5waXBlKFxuICAgIHN3aXRjaE1hcCgoW2xpc3RWaWV3Q29uZmlnLCB2YWx1ZXMsIG1vZGlmeUZuXSkgPT4gbWFwVmFsdWVzVG9WYWx1ZXNMaXN0SXRlbUNvbmZpZ09iczxULCBJPihsaXN0Vmlld0NvbmZpZywgdmFsdWVzKS5waXBlKG1hcEZvckVhY2gobW9kaWZ5Rm4pKSBhcyBPYnNlcnZhYmxlPERieFZhbHVlTGlzdEl0ZW1Db25maWc8VCwgST5bXT4pLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgY29uc3RydWN0b3IocmVhZG9ubHkgZGJ4TGlzdFZpZXc6IERieExpc3RWaWV3PFQ+LCBAT3B0aW9uYWwoKSByZWFkb25seSBkYnhWYWx1ZUxpc3RWaWV3TW9kaWZpZXI6IERieFZhbHVlTGlzdEl0ZW1Nb2RpZmllcjxULCBJPikgeyB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fY29uZmlnLmNvbXBsZXRlKCk7XG4gIH1cblxuICBASW5wdXQoKVxuICBzZXQgY29uZmlnKGNvbmZpZzogTWF5YmU8Qz4pIHtcbiAgICB0aGlzLl9jb25maWcubmV4dChjb25maWcpO1xuICB9XG5cbiAgb25DbGlja1ZhbHVlKHZhbHVlOiBUKSB7XG4gICAgdGhpcy5kYnhMaXN0Vmlldy5jbGlja1ZhbHVlPy5uZXh0KHZhbHVlKTtcbiAgfVxuXG59XG4iXX0=
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
import { Directive, Inject } from "@angular/core";
|
|
2
2
|
import { DBX_VALUE_LIST_VIEW_ITEM } from "./list.view.value";
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
|
-
export class
|
|
4
|
+
export class AbstractDbxValueListViewItemComponent {
|
|
5
5
|
constructor(item) {
|
|
6
6
|
this.item = item;
|
|
7
7
|
}
|
|
8
|
-
get
|
|
9
|
-
return this.item.
|
|
8
|
+
get itemValue() {
|
|
9
|
+
return this.item.itemValue;
|
|
10
10
|
}
|
|
11
11
|
}
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2
|
|
12
|
+
AbstractDbxValueListViewItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: AbstractDbxValueListViewItemComponent, deps: [{ token: DBX_VALUE_LIST_VIEW_ITEM }], target: i0.ɵɵFactoryTarget.Directive });
|
|
13
|
+
AbstractDbxValueListViewItemComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: AbstractDbxValueListViewItemComponent, ngImport: i0 });
|
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: AbstractDbxValueListViewItemComponent, decorators: [{
|
|
15
15
|
type: Directive
|
|
16
16
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
17
17
|
type: Inject,
|
|
18
18
|
args: [DBX_VALUE_LIST_VIEW_ITEM]
|
|
19
19
|
}] }]; } });
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC52aWV3LnZhbHVlLml0ZW0uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LXdlYi9zcmMvbGliL2xheW91dC9saXN0L2xpc3Qudmlldy52YWx1ZS5pdGVtLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQW9CLHdCQUF3QixFQUFFLE1BQU0sbUJBQW1CLENBQUM7O0FBRy9FLE1BQU0sT0FBZ0IscUNBQXFDO0lBTXpELFlBQXVELElBQU87UUFBUCxTQUFJLEdBQUosSUFBSSxDQUFHO0lBQUksQ0FBQztJQUpuRSxJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzdCLENBQUM7O2tJQUptQixxQ0FBcUMsa0JBTXJDLHdCQUF3QjtzSEFOeEIscUNBQXFDOzJGQUFyQyxxQ0FBcUM7a0JBRDFELFNBQVM7OzBCQU9LLE1BQU07MkJBQUMsd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbmplY3QgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRGJ4VmFsdWVMaXN0SXRlbSwgREJYX1ZBTFVFX0xJU1RfVklFV19JVEVNIH0gZnJvbSBcIi4vbGlzdC52aWV3LnZhbHVlXCI7XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0RGJ4VmFsdWVMaXN0Vmlld0l0ZW1Db21wb25lbnQ8VCwgSSBleHRlbmRzIERieFZhbHVlTGlzdEl0ZW08VD4gPSBEYnhWYWx1ZUxpc3RJdGVtPFQ+PiB7XG5cbiAgZ2V0IGl0ZW1WYWx1ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtLml0ZW1WYWx1ZTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoREJYX1ZBTFVFX0xJU1RfVklFV19JVEVNKSByZWFkb25seSBpdGVtOiBJKSB7IH1cblxufVxuIl19
|
|
@@ -1,30 +1,42 @@
|
|
|
1
|
-
import { InjectionToken } from "@angular/core";
|
|
1
|
+
import { forwardRef, InjectionToken } from "@angular/core";
|
|
2
2
|
import { map, of } from "rxjs";
|
|
3
3
|
export const DBX_VALUE_LIST_VIEW_ITEM = new InjectionToken('DbxValueListViewItem');
|
|
4
|
-
export const DEFAULT_DBX_VALUE_LIST_CONFIG_MAP_VALUES = (
|
|
5
|
-
export function mapValuesToValuesListItemConfigObs(listViewConfig,
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
export const DEFAULT_DBX_VALUE_LIST_CONFIG_MAP_VALUES = (itemValues) => of(itemValues.map(itemValue => ({ itemValue })));
|
|
5
|
+
export function mapValuesToValuesListItemConfigObs(listViewConfig, itemValues) {
|
|
6
|
+
const makeObs = listViewConfig.mapValuesToItemValues ?? DEFAULT_DBX_VALUE_LIST_CONFIG_MAP_VALUES;
|
|
7
|
+
return makeObs(itemValues).pipe(map((listItems) => {
|
|
8
|
+
const listItemConfigs = addConfigToValueListItems(listViewConfig, listItems);
|
|
9
|
+
return listItemConfigs;
|
|
9
10
|
}));
|
|
10
11
|
}
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
};
|
|
12
|
+
/**
|
|
13
|
+
* Adds config to the input value list items.
|
|
14
|
+
*
|
|
15
|
+
* @param listViewConfig
|
|
16
|
+
* @param listItems
|
|
17
|
+
* @returns
|
|
18
|
+
*/
|
|
19
|
+
export function addConfigToValueListItems(listViewConfig, listItems) {
|
|
20
|
+
const itemConfigs = listItems.map((listItem) => {
|
|
21
|
+
const anchor = listItem.anchor;
|
|
22
|
+
listItem.disabled = listItem.disabled || anchor?.disabled;
|
|
23
|
+
listItem.config = Object.assign({
|
|
24
|
+
providers: [{
|
|
25
|
+
provide: DBX_VALUE_LIST_VIEW_ITEM,
|
|
26
|
+
useValue: listItem
|
|
27
|
+
}]
|
|
28
|
+
}, listViewConfig);
|
|
29
|
+
return listItem;
|
|
28
30
|
});
|
|
31
|
+
return itemConfigs;
|
|
29
32
|
}
|
|
30
|
-
|
|
33
|
+
// MARK: ValueListView
|
|
34
|
+
export class DbxValueListView {
|
|
35
|
+
}
|
|
36
|
+
export function ProvideDbxValueListView(sourceType) {
|
|
37
|
+
return [{
|
|
38
|
+
provide: DbxValueListView,
|
|
39
|
+
useExisting: forwardRef(() => sourceType)
|
|
40
|
+
}];
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC52aWV3LnZhbHVlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LXdlYi9zcmMvbGliL2xheW91dC9saXN0L2xpc3Qudmlldy52YWx1ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBa0MsTUFBTSxlQUFlLENBQUM7QUFFM0YsT0FBTyxFQUFFLEdBQUcsRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHM0MsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsSUFBSSxjQUFjLENBQU0sc0JBQXNCLENBQUMsQ0FBQztBQW9CeEYsTUFBTSxDQUFDLE1BQU0sd0NBQXdDLEdBQUcsQ0FBbUMsVUFBZSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFRLENBQUMsQ0FBQztBQU12SyxNQUFNLFVBQVUsa0NBQWtDLENBQW1DLGNBQW9ELEVBQUUsVUFBZTtJQUN4SixNQUFNLE9BQU8sR0FBRyxjQUFjLENBQUMscUJBQXFCLElBQUksd0NBQXdDLENBQUM7SUFDakcsT0FBTyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUM3QixHQUFHLENBQUMsQ0FBQyxTQUFjLEVBQUUsRUFBRTtRQUNyQixNQUFNLGVBQWUsR0FBbUMseUJBQXlCLENBQUMsY0FBYyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQzdHLE9BQU8sZUFBZSxDQUFDO0lBQ3pCLENBQUMsQ0FBQyxDQUNILENBQUM7QUFDSixDQUFDO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsTUFBTSxVQUFVLHlCQUF5QixDQUFtQyxjQUFvRCxFQUFFLFNBQWM7SUFDOUksTUFBTSxXQUFXLEdBQW1DLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFXLEVBQUUsRUFBRTtRQUNoRixNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDO1FBRS9CLFFBQVEsQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDLFFBQVEsSUFBSSxNQUFNLEVBQUUsUUFBUSxDQUFDO1FBQ3pELFFBQXlDLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7WUFDaEUsU0FBUyxFQUFFLENBQUM7b0JBQ1YsT0FBTyxFQUFFLHdCQUF3QjtvQkFDakMsUUFBUSxFQUFFLFFBQVE7aUJBQ25CLENBQXFCO1NBQ3ZCLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFFbkIsT0FBTyxRQUF3QyxDQUFDO0lBQ2xELENBQUMsQ0FBQyxDQUFDO0lBRUgsT0FBTyxXQUFXLENBQUM7QUFDckIsQ0FBQztBQUVELHNCQUFzQjtBQUN0QixNQUFNLE9BQWdCLGdCQUFnQjtDQUVyQztBQUVELE1BQU0sVUFBVSx1QkFBdUIsQ0FBa0MsVUFBbUI7SUFDMUYsT0FBTyxDQUFDO1lBQ04sT0FBTyxFQUFFLGdCQUFnQjtZQUN6QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLFVBQVUsQ0FBQztTQUMxQyxDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZm9yd2FyZFJlZiwgSW5qZWN0aW9uVG9rZW4sIFByb3ZpZGVyLCBTdGF0aWNQcm92aWRlciwgVHlwZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBDbGlja2FibGVBbmNob3IsIERieEluamVjdGlvbkNvbXBvbmVudENvbmZpZyB9IGZyb20gXCJAZGVyZWVrYi9kYngtY29yZVwiO1xuaW1wb3J0IHsgbWFwLCBPYnNlcnZhYmxlLCBvZiB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBNYXliZSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuXG5leHBvcnQgY29uc3QgREJYX1ZBTFVFX0xJU1RfVklFV19JVEVNID0gbmV3IEluamVjdGlvblRva2VuPGFueT4oJ0RieFZhbHVlTGlzdFZpZXdJdGVtJyk7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGJ4VmFsdWVMaXN0SXRlbTxUPiB7XG4gIGl0ZW1WYWx1ZTogVDtcbiAgaWNvbj86IHN0cmluZztcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICByaXBwbGVEaXNhYmxlZD86IGJvb2xlYW47XG4gIHNlbGVjdGVkPzogYm9vbGVhbjtcbiAgYW5jaG9yPzogTWF5YmU8Q2xpY2thYmxlQW5jaG9yPjtcbn1cblxuLyoqXG4gKiBTcGVjaWFsIHR5cGUgdXNlZCB3aXRoIHZhbHVlcyB0aGF0IGNvbnRhaW4gYWxsIHRoZSBpdGVtcyBvZiBEYnhWYWx1ZUxpc3RJdGVtIGludGVybmFsbHkuXG4gKi9cbmV4cG9ydCB0eXBlIERieFZhbHVlQXNMaXN0SXRlbTxUPiA9IFQgJiBPbWl0PERieFZhbHVlTGlzdEl0ZW08RGJ4VmFsdWVMaXN0SXRlbTxUPj4sICdpdGVtVmFsdWUnPjtcblxuZXhwb3J0IGludGVyZmFjZSBBYnN0cmFjdERieFZhbHVlTGlzdFZpZXdDb25maWc8VCwgSSBleHRlbmRzIERieFZhbHVlTGlzdEl0ZW08VD4gPSBEYnhWYWx1ZUxpc3RJdGVtPFQ+LCBWID0gYW55PiBleHRlbmRzIERieEluamVjdGlvbkNvbXBvbmVudENvbmZpZzxWPiB7XG4gIG1hcFZhbHVlc1RvSXRlbVZhbHVlcz8odmFsdWVzOiBUW10pOiBPYnNlcnZhYmxlPElbXT47XG59XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0RCWF9WQUxVRV9MSVNUX0NPTkZJR19NQVBfVkFMVUVTID0gPFQsIEkgZXh0ZW5kcyBEYnhWYWx1ZUxpc3RJdGVtPFQ+PihpdGVtVmFsdWVzOiBUW10pID0+IG9mKGl0ZW1WYWx1ZXMubWFwKGl0ZW1WYWx1ZSA9PiAoeyBpdGVtVmFsdWUgfSkpIGFzIElbXSk7XG5cbmV4cG9ydCB0eXBlIERieFZhbHVlTGlzdEl0ZW1Db25maWc8VCwgSSBleHRlbmRzIERieFZhbHVlTGlzdEl0ZW08VD4gPSBEYnhWYWx1ZUxpc3RJdGVtPFQ+PiA9IEkgJiB7XG4gIGNvbmZpZzogRGJ4SW5qZWN0aW9uQ29tcG9uZW50Q29uZmlnO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIG1hcFZhbHVlc1RvVmFsdWVzTGlzdEl0ZW1Db25maWdPYnM8VCwgSSBleHRlbmRzIERieFZhbHVlTGlzdEl0ZW08VD4+KGxpc3RWaWV3Q29uZmlnOiBBYnN0cmFjdERieFZhbHVlTGlzdFZpZXdDb25maWc8VCwgST4sIGl0ZW1WYWx1ZXM6IFRbXSk6IE9ic2VydmFibGU8RGJ4VmFsdWVMaXN0SXRlbUNvbmZpZzxULCBJPltdPiB7XG4gIGNvbnN0IG1ha2VPYnMgPSBsaXN0Vmlld0NvbmZpZy5tYXBWYWx1ZXNUb0l0ZW1WYWx1ZXMgPz8gREVGQVVMVF9EQlhfVkFMVUVfTElTVF9DT05GSUdfTUFQX1ZBTFVFUztcbiAgcmV0dXJuIG1ha2VPYnMoaXRlbVZhbHVlcykucGlwZShcbiAgICBtYXAoKGxpc3RJdGVtczogSVtdKSA9PiB7XG4gICAgICBjb25zdCBsaXN0SXRlbUNvbmZpZ3M6IERieFZhbHVlTGlzdEl0ZW1Db25maWc8VCwgST5bXSA9IGFkZENvbmZpZ1RvVmFsdWVMaXN0SXRlbXMobGlzdFZpZXdDb25maWcsIGxpc3RJdGVtcyk7XG4gICAgICByZXR1cm4gbGlzdEl0ZW1Db25maWdzO1xuICAgIH0pXG4gICk7XG59XG5cbi8qKlxuICogQWRkcyBjb25maWcgdG8gdGhlIGlucHV0IHZhbHVlIGxpc3QgaXRlbXMuXG4gKiBcbiAqIEBwYXJhbSBsaXN0Vmlld0NvbmZpZyBcbiAqIEBwYXJhbSBsaXN0SXRlbXMgXG4gKiBAcmV0dXJucyBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFkZENvbmZpZ1RvVmFsdWVMaXN0SXRlbXM8VCwgSSBleHRlbmRzIERieFZhbHVlTGlzdEl0ZW08VD4+KGxpc3RWaWV3Q29uZmlnOiBBYnN0cmFjdERieFZhbHVlTGlzdFZpZXdDb25maWc8VCwgST4sIGxpc3RJdGVtczogSVtdKTogRGJ4VmFsdWVMaXN0SXRlbUNvbmZpZzxULCBJPltdIHtcbiAgY29uc3QgaXRlbUNvbmZpZ3M6IERieFZhbHVlTGlzdEl0ZW1Db25maWc8VCwgST5bXSA9IGxpc3RJdGVtcy5tYXAoKGxpc3RJdGVtOiBJKSA9PiB7XG4gICAgY29uc3QgYW5jaG9yID0gbGlzdEl0ZW0uYW5jaG9yO1xuXG4gICAgbGlzdEl0ZW0uZGlzYWJsZWQgPSBsaXN0SXRlbS5kaXNhYmxlZCB8fCBhbmNob3I/LmRpc2FibGVkO1xuICAgIChsaXN0SXRlbSBhcyBEYnhWYWx1ZUxpc3RJdGVtQ29uZmlnPFQsIEk+KS5jb25maWcgPSBPYmplY3QuYXNzaWduKHtcbiAgICAgIHByb3ZpZGVyczogW3tcbiAgICAgICAgcHJvdmlkZTogREJYX1ZBTFVFX0xJU1RfVklFV19JVEVNLFxuICAgICAgICB1c2VWYWx1ZTogbGlzdEl0ZW1cbiAgICAgIH1dIGFzIFN0YXRpY1Byb3ZpZGVyW11cbiAgICB9LCBsaXN0Vmlld0NvbmZpZyk7XG5cbiAgICByZXR1cm4gbGlzdEl0ZW0gYXMgRGJ4VmFsdWVMaXN0SXRlbUNvbmZpZzxULCBJPjtcbiAgfSk7XG5cbiAgcmV0dXJuIGl0ZW1Db25maWdzO1xufVxuXG4vLyBNQVJLOiBWYWx1ZUxpc3RWaWV3XG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRGJ4VmFsdWVMaXN0VmlldzxULCBJIGV4dGVuZHMgRGJ4VmFsdWVMaXN0SXRlbTxUPiA9IERieFZhbHVlTGlzdEl0ZW08VD4+IHtcbiAgcmVhZG9ubHkgYWJzdHJhY3QgaXRlbXMkOiBPYnNlcnZhYmxlPElbXT47XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBQcm92aWRlRGJ4VmFsdWVMaXN0VmlldzxWIGV4dGVuZHMgRGJ4VmFsdWVMaXN0Vmlldzxhbnk+Pihzb3VyY2VUeXBlOiBUeXBlPFY+KTogUHJvdmlkZXJbXSB7XG4gIHJldHVybiBbe1xuICAgIHByb3ZpZGU6IERieFZhbHVlTGlzdFZpZXcsXG4gICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gc291cmNlVHlwZSlcbiAgfV07XG59XG4iXX0=
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { BehaviorSubject, map, shareReplay, combineLatest } from 'rxjs';
|
|
2
|
+
import { Directive, Input } from "@angular/core";
|
|
3
|
+
import { addModifiers, combineMaps, removeModifiers } from '@dereekb/util';
|
|
4
|
+
import { SubscriptionObject } from '@dereekb/rxjs';
|
|
5
|
+
import { DbxValueListItemModifier, ProvideDbxValueListViewModifier } from './list.view.value.modifier';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "./list.view.value.modifier";
|
|
8
|
+
/**
|
|
9
|
+
* DbxValueListViewModifier implementation
|
|
10
|
+
*/
|
|
11
|
+
export class DbxValueListItemModifierDirective {
|
|
12
|
+
constructor() {
|
|
13
|
+
this._modifiers = new BehaviorSubject(undefined);
|
|
14
|
+
this._inputModifiers = new BehaviorSubject(undefined);
|
|
15
|
+
this.modifiers$ = combineLatest([this._modifiers, this._inputModifiers]).pipe(map(([modifiers, inputModifiers]) => {
|
|
16
|
+
return combineMaps(modifiers, (inputModifiers) ? addModifiers(inputModifiers) : undefined);
|
|
17
|
+
}), shareReplay(1));
|
|
18
|
+
}
|
|
19
|
+
ngOnDestroy() {
|
|
20
|
+
this._modifiers.complete();
|
|
21
|
+
}
|
|
22
|
+
// MARK: Modifiers
|
|
23
|
+
addModifiers(modifiers) {
|
|
24
|
+
this._modifiers.next(addModifiers(modifiers, this._modifiers.value));
|
|
25
|
+
}
|
|
26
|
+
removeModifiers(modifiers) {
|
|
27
|
+
this._modifiers.next(removeModifiers(modifiers, this._modifiers.value));
|
|
28
|
+
}
|
|
29
|
+
// MARK: Input Modifiers
|
|
30
|
+
set inputModifiers(inputModifiers) {
|
|
31
|
+
this._inputModifiers.next(inputModifiers);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
DbxValueListItemModifierDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxValueListItemModifierDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
35
|
+
DbxValueListItemModifierDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: DbxValueListItemModifierDirective, selector: "[dbxListItemModifier]", inputs: { inputModifiers: ["dbxListItemModifier", "inputModifiers"] }, providers: ProvideDbxValueListViewModifier(DbxValueListItemModifierDirective), ngImport: i0 });
|
|
36
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxValueListItemModifierDirective, decorators: [{
|
|
37
|
+
type: Directive,
|
|
38
|
+
args: [{
|
|
39
|
+
'selector': '[dbxListItemModifier]',
|
|
40
|
+
providers: ProvideDbxValueListViewModifier(DbxValueListItemModifierDirective)
|
|
41
|
+
}]
|
|
42
|
+
}], ctorParameters: function () { return []; }, propDecorators: { inputModifiers: [{
|
|
43
|
+
type: Input,
|
|
44
|
+
args: ['dbxListItemModifier']
|
|
45
|
+
}] } });
|
|
46
|
+
/**
|
|
47
|
+
* Abstract directive used for managing modifyers for a DbxValueListView.
|
|
48
|
+
*/
|
|
49
|
+
export class AbstractDbxValueListItemModifierDirective {
|
|
50
|
+
constructor(dbxValueListItemModifier) {
|
|
51
|
+
this.dbxValueListItemModifier = dbxValueListItemModifier;
|
|
52
|
+
this._modifiersSub = new SubscriptionObject();
|
|
53
|
+
}
|
|
54
|
+
ngOnInit() {
|
|
55
|
+
this._modifiersSub.subscription = this.modifiers$.subscribe((modifiers) => {
|
|
56
|
+
this._linkModifiers(modifiers);
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
ngOnDestroy() {
|
|
60
|
+
this._unlinkModifiers();
|
|
61
|
+
}
|
|
62
|
+
_linkModifiers(modifiers) {
|
|
63
|
+
this._unlinkModifiers();
|
|
64
|
+
if (modifiers) {
|
|
65
|
+
this.dbxValueListItemModifier.addModifiers(modifiers);
|
|
66
|
+
this._linkedModifiers = modifiers;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
_unlinkModifiers() {
|
|
70
|
+
if (this._linkedModifiers) {
|
|
71
|
+
this.dbxValueListItemModifier.removeModifiers(this._linkedModifiers);
|
|
72
|
+
this._linkedModifiers = undefined;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
AbstractDbxValueListItemModifierDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: AbstractDbxValueListItemModifierDirective, deps: [{ token: i1.DbxValueListItemModifier }], target: i0.ɵɵFactoryTarget.Directive });
|
|
77
|
+
AbstractDbxValueListItemModifierDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: AbstractDbxValueListItemModifierDirective, ngImport: i0 });
|
|
78
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: AbstractDbxValueListItemModifierDirective, decorators: [{
|
|
79
|
+
type: Directive
|
|
80
|
+
}], ctorParameters: function () { return [{ type: i1.DbxValueListItemModifier }]; } });
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC52aWV3LnZhbHVlLm1vZGlmaWVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC13ZWIvc3JjL2xpYi9sYXlvdXQvbGlzdC9saXN0LnZpZXcudmFsdWUubW9kaWZpZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsR0FBRyxFQUFjLFdBQVcsRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBRXBFLE9BQU8sRUFBRSxZQUFZLEVBQWdCLFdBQVcsRUFBZ0MsZUFBZSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZILE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsK0JBQStCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7O0FBRXZHOztHQUVHO0FBS0gsTUFBTSxPQUFPLGlDQUFpQztJQVk1QztRQVZRLGVBQVUsR0FBRyxJQUFJLGVBQWUsQ0FBd0IsU0FBUyxDQUFDLENBQUM7UUFDbkUsb0JBQWUsR0FBRyxJQUFJLGVBQWUsQ0FBbUMsU0FBUyxDQUFDLENBQUM7UUFFbEYsZUFBVSxHQUFHLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUMvRSxHQUFHLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxjQUFjLENBQUMsRUFBRSxFQUFFO1lBQ2xDLE9BQU8sV0FBVyxDQUFDLFNBQVMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzdGLENBQUMsQ0FBQyxFQUNGLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FDZixDQUFDO0lBRWMsQ0FBQztJQUVqQixXQUFXO1FBQ1QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLFlBQVksQ0FBQyxTQUFvQztRQUMvQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQsZUFBZSxDQUFDLFNBQW9DO1FBQ2xELElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFRCx3QkFBd0I7SUFDeEIsSUFDSSxjQUFjLENBQUMsY0FBZ0Q7UUFDakUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDNUMsQ0FBQzs7OEhBL0JVLGlDQUFpQztrSEFBakMsaUNBQWlDLHVIQUZqQywrQkFBK0IsQ0FBQyxpQ0FBaUMsQ0FBQzsyRkFFbEUsaUNBQWlDO2tCQUo3QyxTQUFTO21CQUFDO29CQUNULFVBQVUsRUFBRSx1QkFBdUI7b0JBQ25DLFNBQVMsRUFBRSwrQkFBK0IsbUNBQW1DO2lCQUM5RTswRUE4QkssY0FBYztzQkFEakIsS0FBSzt1QkFBQyxxQkFBcUI7O0FBTzlCOztHQUVHO0FBRUgsTUFBTSxPQUFnQix5Q0FBeUM7SUFPN0QsWUFBcUIsd0JBQXdEO1FBQXhELDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBZ0M7UUFGckUsa0JBQWEsR0FBRyxJQUFJLGtCQUFrQixFQUFFLENBQUM7SUFFZ0MsQ0FBQztJQUVsRixRQUFRO1FBQ04sSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRTtZQUN4RSxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2pDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRU8sY0FBYyxDQUFDLFNBQTJDO1FBQ2hFLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBRXhCLElBQUksU0FBUyxFQUFFO1lBQ2IsSUFBSSxDQUFDLHdCQUF3QixDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUN0RCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsU0FBUyxDQUFDO1NBQ25DO0lBQ0gsQ0FBQztJQUVPLGdCQUFnQjtRQUN0QixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUN6QixJQUFJLENBQUMsd0JBQXdCLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1lBQ3JFLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxTQUFTLENBQUM7U0FDbkM7SUFDSCxDQUFDOztzSUFqQ21CLHlDQUF5QzswSEFBekMseUNBQXlDOzJGQUF6Qyx5Q0FBeUM7a0JBRDlELFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIG1hcCwgT2JzZXJ2YWJsZSwgc2hhcmVSZXBsYXksIGNvbWJpbmVMYXRlc3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IERieFZhbHVlTGlzdEl0ZW0gfSBmcm9tIFwiLi9saXN0LnZpZXcudmFsdWVcIjtcbmltcG9ydCB7IGFkZE1vZGlmaWVycywgQXJyYXlPclZhbHVlLCBjb21iaW5lTWFwcywgTWF5YmUsIE1vZGlmaWVyLCBNb2RpZmllck1hcCwgcmVtb3ZlTW9kaWZpZXJzIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb25PYmplY3QgfSBmcm9tICdAZGVyZWVrYi9yeGpzJztcbmltcG9ydCB7IERieFZhbHVlTGlzdEl0ZW1Nb2RpZmllciwgUHJvdmlkZURieFZhbHVlTGlzdFZpZXdNb2RpZmllciB9IGZyb20gJy4vbGlzdC52aWV3LnZhbHVlLm1vZGlmaWVyJztcblxuLyoqXG4gKiBEYnhWYWx1ZUxpc3RWaWV3TW9kaWZpZXIgaW1wbGVtZW50YXRpb25cbiAqL1xuQERpcmVjdGl2ZSh7XG4gICdzZWxlY3Rvcic6ICdbZGJ4TGlzdEl0ZW1Nb2RpZmllcl0nLFxuICBwcm92aWRlcnM6IFByb3ZpZGVEYnhWYWx1ZUxpc3RWaWV3TW9kaWZpZXIoRGJ4VmFsdWVMaXN0SXRlbU1vZGlmaWVyRGlyZWN0aXZlKVxufSlcbmV4cG9ydCBjbGFzcyBEYnhWYWx1ZUxpc3RJdGVtTW9kaWZpZXJEaXJlY3RpdmU8VCwgSSBleHRlbmRzIERieFZhbHVlTGlzdEl0ZW08VD4gPSBEYnhWYWx1ZUxpc3RJdGVtPFQ+PiBpbXBsZW1lbnRzIERieFZhbHVlTGlzdEl0ZW1Nb2RpZmllcjxULCBJPiwgT25EZXN0cm95IHtcblxuICBwcml2YXRlIF9tb2RpZmllcnMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE1heWJlPE1vZGlmaWVyTWFwPEk+Pj4odW5kZWZpbmVkKTtcbiAgcHJpdmF0ZSBfaW5wdXRNb2RpZmllcnMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE1heWJlPEFycmF5T3JWYWx1ZTxNb2RpZmllcjxJPj4+Pih1bmRlZmluZWQpO1xuXG4gIHJlYWRvbmx5IG1vZGlmaWVycyQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLl9tb2RpZmllcnMsIHRoaXMuX2lucHV0TW9kaWZpZXJzXSkucGlwZShcbiAgICBtYXAoKFttb2RpZmllcnMsIGlucHV0TW9kaWZpZXJzXSkgPT4ge1xuICAgICAgcmV0dXJuIGNvbWJpbmVNYXBzKG1vZGlmaWVycywgKGlucHV0TW9kaWZpZXJzKSA/IGFkZE1vZGlmaWVycyhpbnB1dE1vZGlmaWVycykgOiB1bmRlZmluZWQpO1xuICAgIH0pLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9tb2RpZmllcnMuY29tcGxldGUoKTtcbiAgfVxuXG4gIC8vIE1BUks6IE1vZGlmaWVyc1xuICBhZGRNb2RpZmllcnMobW9kaWZpZXJzOiBBcnJheU9yVmFsdWU8TW9kaWZpZXI8ST4+KTogdm9pZCB7XG4gICAgdGhpcy5fbW9kaWZpZXJzLm5leHQoYWRkTW9kaWZpZXJzKG1vZGlmaWVycywgdGhpcy5fbW9kaWZpZXJzLnZhbHVlKSk7XG4gIH1cblxuICByZW1vdmVNb2RpZmllcnMobW9kaWZpZXJzOiBBcnJheU9yVmFsdWU8TW9kaWZpZXI8ST4+KTogdm9pZCB7XG4gICAgdGhpcy5fbW9kaWZpZXJzLm5leHQocmVtb3ZlTW9kaWZpZXJzKG1vZGlmaWVycywgdGhpcy5fbW9kaWZpZXJzLnZhbHVlKSk7XG4gIH1cblxuICAvLyBNQVJLOiBJbnB1dCBNb2RpZmllcnNcbiAgQElucHV0KCdkYnhMaXN0SXRlbU1vZGlmaWVyJylcbiAgc2V0IGlucHV0TW9kaWZpZXJzKGlucHV0TW9kaWZpZXJzOiBNYXliZTxBcnJheU9yVmFsdWU8TW9kaWZpZXI8ST4+Pikge1xuICAgIHRoaXMuX2lucHV0TW9kaWZpZXJzLm5leHQoaW5wdXRNb2RpZmllcnMpO1xuICB9XG5cbn1cblxuLyoqXG4gKiBBYnN0cmFjdCBkaXJlY3RpdmUgdXNlZCBmb3IgbWFuYWdpbmcgbW9kaWZ5ZXJzIGZvciBhIERieFZhbHVlTGlzdFZpZXcuXG4gKi9cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0RGJ4VmFsdWVMaXN0SXRlbU1vZGlmaWVyRGlyZWN0aXZlPFQsIEkgZXh0ZW5kcyBEYnhWYWx1ZUxpc3RJdGVtPFQ+ID0gRGJ4VmFsdWVMaXN0SXRlbTxUPj4gaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgYWJzdHJhY3QgcmVhZG9ubHkgbW9kaWZpZXJzJDogT2JzZXJ2YWJsZTxNYXliZTxBcnJheU9yVmFsdWU8TW9kaWZpZXI8ST4+Pj47XG5cbiAgcHJpdmF0ZSBfbGlua2VkTW9kaWZpZXJzOiBNYXliZTxBcnJheU9yVmFsdWU8TW9kaWZpZXI8ST4+PjtcbiAgcHJpdmF0ZSBfbW9kaWZpZXJzU3ViID0gbmV3IFN1YnNjcmlwdGlvbk9iamVjdCgpO1xuXG4gIGNvbnN0cnVjdG9yKHJlYWRvbmx5IGRieFZhbHVlTGlzdEl0ZW1Nb2RpZmllcjogRGJ4VmFsdWVMaXN0SXRlbU1vZGlmaWVyPFQsIEk+KSB7IH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9tb2RpZmllcnNTdWIuc3Vic2NyaXB0aW9uID0gdGhpcy5tb2RpZmllcnMkLnN1YnNjcmliZSgobW9kaWZpZXJzKSA9PiB7XG4gICAgICB0aGlzLl9saW5rTW9kaWZpZXJzKG1vZGlmaWVycyk7XG4gICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl91bmxpbmtNb2RpZmllcnMoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2xpbmtNb2RpZmllcnMobW9kaWZpZXJzOiBNYXliZTxBcnJheU9yVmFsdWU8TW9kaWZpZXI8ST4+Pikge1xuICAgIHRoaXMuX3VubGlua01vZGlmaWVycygpO1xuXG4gICAgaWYgKG1vZGlmaWVycykge1xuICAgICAgdGhpcy5kYnhWYWx1ZUxpc3RJdGVtTW9kaWZpZXIuYWRkTW9kaWZpZXJzKG1vZGlmaWVycyk7XG4gICAgICB0aGlzLl9saW5rZWRNb2RpZmllcnMgPSBtb2RpZmllcnM7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfdW5saW5rTW9kaWZpZXJzKCkge1xuICAgIGlmICh0aGlzLl9saW5rZWRNb2RpZmllcnMpIHtcbiAgICAgIHRoaXMuZGJ4VmFsdWVMaXN0SXRlbU1vZGlmaWVyLnJlbW92ZU1vZGlmaWVycyh0aGlzLl9saW5rZWRNb2RpZmllcnMpO1xuICAgICAgdGhpcy5fbGlua2VkTW9kaWZpZXJzID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG59XG4iXX0=
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { forwardRef } from "@angular/core";
|
|
2
|
+
import { modifier } from "@dereekb/util";
|
|
3
|
+
// MARK: ValueListView
|
|
4
|
+
export class DbxValueListItemModifier {
|
|
5
|
+
}
|
|
6
|
+
export function ProvideDbxValueListViewModifier(sourceType) {
|
|
7
|
+
return [{
|
|
8
|
+
provide: DbxValueListItemModifier,
|
|
9
|
+
useExisting: forwardRef(() => sourceType)
|
|
10
|
+
}];
|
|
11
|
+
}
|
|
12
|
+
export function listItemModifier(key, modify) {
|
|
13
|
+
return modifier(key, modify);
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC52aWV3LnZhbHVlLm1vZGlmaWVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LXdlYi9zcmMvbGliL2xheW91dC9saXN0L2xpc3Qudmlldy52YWx1ZS5tb2RpZmllci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFrQixNQUFNLGVBQWUsQ0FBQztBQUMzRCxPQUFPLEVBQWdCLFFBQVEsRUFBMkMsTUFBTSxlQUFlLENBQUM7QUFJaEcsc0JBQXNCO0FBQ3RCLE1BQU0sT0FBZ0Isd0JBQXdCO0NBTzdDO0FBRUQsTUFBTSxVQUFVLCtCQUErQixDQUEwQyxVQUFtQjtJQUMxRyxPQUFPLENBQUM7WUFDTixPQUFPLEVBQUUsd0JBQXdCO1lBQ2pDLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsVUFBVSxDQUFDO1NBQzFDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFLRCxNQUFNLFVBQVUsZ0JBQWdCLENBQXlELEdBQVcsRUFBRSxNQUEyQjtJQUMvSCxPQUFPLFFBQVEsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDL0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZvcndhcmRSZWYsIFByb3ZpZGVyLCBUeXBlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEFycmF5T3JWYWx1ZSwgbW9kaWZpZXIsIE1vZGlmaWVyLCBNb2RpZmllckZ1bmN0aW9uLCBNb2RpZmllck1hcCB9IGZyb20gXCJAZGVyZWVrYi91dGlsXCI7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IERieFZhbHVlTGlzdEl0ZW0gfSBmcm9tIFwiLi9saXN0LnZpZXcudmFsdWVcIjtcblxuLy8gTUFSSzogVmFsdWVMaXN0Vmlld1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIERieFZhbHVlTGlzdEl0ZW1Nb2RpZmllcjxULCBJIGV4dGVuZHMgRGJ4VmFsdWVMaXN0SXRlbTxUPiA9IERieFZhbHVlTGlzdEl0ZW08VD4+IHtcblxuICByZWFkb25seSBhYnN0cmFjdCBtb2RpZmllcnMkOiBPYnNlcnZhYmxlPE1vZGlmaWVyTWFwPEk+PjtcblxuICBhYnN0cmFjdCBhZGRNb2RpZmllcnMobW9kaWZpZXJzOiBBcnJheU9yVmFsdWU8TW9kaWZpZXI8ST4+KTogdm9pZDtcbiAgYWJzdHJhY3QgcmVtb3ZlTW9kaWZpZXJzKG1vZGlmaWVyczogQXJyYXlPclZhbHVlPE1vZGlmaWVyPEk+Pik6IHZvaWQ7XG5cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFByb3ZpZGVEYnhWYWx1ZUxpc3RWaWV3TW9kaWZpZXI8ViBleHRlbmRzIERieFZhbHVlTGlzdEl0ZW1Nb2RpZmllcjxhbnk+Pihzb3VyY2VUeXBlOiBUeXBlPFY+KTogUHJvdmlkZXJbXSB7XG4gIHJldHVybiBbe1xuICAgIHByb3ZpZGU6IERieFZhbHVlTGlzdEl0ZW1Nb2RpZmllcixcbiAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBzb3VyY2VUeXBlKVxuICB9XTtcbn1cblxuLy8gTUFSSzogVXRpbGl0eVxuZXhwb3J0IHR5cGUgTGlzdEl0ZW1Nb2RpZmllcjxULCBJIGV4dGVuZHMgRGJ4VmFsdWVMaXN0SXRlbTxUPiA9IERieFZhbHVlTGlzdEl0ZW08VD4+ID0gTW9kaWZpZXI8ST47XG5cbmV4cG9ydCBmdW5jdGlvbiBsaXN0SXRlbU1vZGlmaWVyPFQsIEkgZXh0ZW5kcyBEYnhWYWx1ZUxpc3RJdGVtPFQ+ID0gRGJ4VmFsdWVMaXN0SXRlbTxUPj4oa2V5OiBzdHJpbmcsIG1vZGlmeTogTW9kaWZpZXJGdW5jdGlvbjxJPik6IExpc3RJdGVtTW9kaWZpZXI8VCwgST4ge1xuICByZXR1cm4gbW9kaWZpZXIoa2V5LCBtb2RpZnkpO1xufVxuIl19
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { Directive, Input } from "@angular/core";
|
|
2
|
+
import { BehaviorSubject, map } from "rxjs";
|
|
3
|
+
import { AbstractDbxValueListItemModifierDirective } from "./list.view.value.modifier.directive";
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export const DBX_LIST_ITEM_DISABLE_RIPPLE_LIST_ITEM_MODIFIER_KEY = 'disable_ripple_anchor';
|
|
6
|
+
export const DBX_LIST_ITEM_DEFAULT_DISABLE_FUNCTION = (item) => {
|
|
7
|
+
return item.rippleDisabled || !item.anchor || (!item.anchor.ref && !item.anchor.url && !item.anchor.onClick);
|
|
8
|
+
};
|
|
9
|
+
export class DbxListItemDisableRippleModifierDirective extends AbstractDbxValueListItemModifierDirective {
|
|
10
|
+
constructor() {
|
|
11
|
+
super(...arguments);
|
|
12
|
+
this._disableRippleForItem = new BehaviorSubject(DBX_LIST_ITEM_DEFAULT_DISABLE_FUNCTION);
|
|
13
|
+
this.modifiers$ = this._disableRippleForItem.pipe(map((disableRippleForItem) => {
|
|
14
|
+
let modifiers;
|
|
15
|
+
modifiers = {
|
|
16
|
+
key: DBX_LIST_ITEM_DISABLE_RIPPLE_LIST_ITEM_MODIFIER_KEY,
|
|
17
|
+
modify: (x) => {
|
|
18
|
+
if (disableRippleForItem(x)) {
|
|
19
|
+
x.rippleDisabled = true;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
return modifiers;
|
|
24
|
+
}));
|
|
25
|
+
}
|
|
26
|
+
ngOnDestroy() {
|
|
27
|
+
super.ngOnDestroy();
|
|
28
|
+
this._disableRippleForItem.complete();
|
|
29
|
+
}
|
|
30
|
+
set disableRippleForItem(disableRippleForItem) {
|
|
31
|
+
this._disableRippleForItem.next(disableRippleForItem ?? DBX_LIST_ITEM_DEFAULT_DISABLE_FUNCTION);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
DbxListItemDisableRippleModifierDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxListItemDisableRippleModifierDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
35
|
+
DbxListItemDisableRippleModifierDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: DbxListItemDisableRippleModifierDirective, selector: "[dbxListItemDisableRippleModifier]", inputs: { disableRippleForItem: ["dbxListItemDisableRippleModifier", "disableRippleForItem"] }, usesInheritance: true, ngImport: i0 });
|
|
36
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxListItemDisableRippleModifierDirective, decorators: [{
|
|
37
|
+
type: Directive,
|
|
38
|
+
args: [{
|
|
39
|
+
selector: '[dbxListItemDisableRippleModifier]'
|
|
40
|
+
}]
|
|
41
|
+
}], propDecorators: { disableRippleForItem: [{
|
|
42
|
+
type: Input,
|
|
43
|
+
args: ['dbxListItemDisableRippleModifier']
|
|
44
|
+
}] } });
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC52aWV3LnZhbHVlLm1vZGlmaWVyLnJpcHBsZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvbGF5b3V0L2xpc3QvbGlzdC52aWV3LnZhbHVlLm1vZGlmaWVyLnJpcHBsZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFFNUQsT0FBTyxFQUFFLGVBQWUsRUFBYyxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFeEQsT0FBTyxFQUFFLHlDQUF5QyxFQUFFLE1BQU0sc0NBQXNDLENBQUM7O0FBSWpHLE1BQU0sQ0FBQyxNQUFNLG1EQUFtRCxHQUFHLHVCQUF1QixDQUFDO0FBRTNGLE1BQU0sQ0FBQyxNQUFNLHNDQUFzQyxHQUF1QyxDQUFJLElBQXlCLEVBQUUsRUFBRTtJQUN6SCxPQUFPLElBQUksQ0FBQyxjQUFjLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUMvRyxDQUFDLENBQUM7QUFLRixNQUFNLE9BQU8seUNBQTZDLFNBQVEseUNBQTRDO0lBSDlHOztRQUtVLDBCQUFxQixHQUFHLElBQUksZUFBZSxDQUFtQyxzQ0FBc0MsQ0FBQyxDQUFDO1FBRXJILGVBQVUsR0FBbUUsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FDbkgsR0FBRyxDQUFDLENBQUMsb0JBQW9CLEVBQUUsRUFBRTtZQUMzQixJQUFJLFNBQStDLENBQUM7WUFFcEQsU0FBUyxHQUFHO2dCQUNWLEdBQUcsRUFBRSxtREFBbUQ7Z0JBQ3hELE1BQU0sRUFBRSxDQUFDLENBQXNCLEVBQUUsRUFBRTtvQkFDakMsSUFBSSxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsRUFBRTt3QkFDM0IsQ0FBQyxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7cUJBQ3pCO2dCQUNILENBQUM7YUFDRixDQUFDO1lBRUYsT0FBTyxTQUFTLENBQUM7UUFDbkIsQ0FBQyxDQUFDLENBQ0gsQ0FBQztLQVlIO0lBVlUsV0FBVztRQUNsQixLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFFRCxJQUNJLG9CQUFvQixDQUFDLG9CQUE2RDtRQUNwRixJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLG9CQUFvQixJQUFJLHNDQUFzQyxDQUFDLENBQUM7SUFDbEcsQ0FBQzs7c0lBN0JVLHlDQUF5QzswSEFBekMseUNBQXlDOzJGQUF6Qyx5Q0FBeUM7a0JBSHJELFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG9DQUFvQztpQkFDL0M7OEJBNEJLLG9CQUFvQjtzQkFEdkIsS0FBSzt1QkFBQyxrQ0FBa0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0LCBPbkRlc3Ryb3kgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgTWF5YmUsIEFycmF5T3JWYWx1ZSwgTW9kaWZpZXIgfSBmcm9tIFwiQGRlcmVla2IvdXRpbFwiO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBtYXAgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgRGJ4VmFsdWVMaXN0SXRlbSB9IGZyb20gXCIuL2xpc3Qudmlldy52YWx1ZVwiO1xuaW1wb3J0IHsgQWJzdHJhY3REYnhWYWx1ZUxpc3RJdGVtTW9kaWZpZXJEaXJlY3RpdmUgfSBmcm9tIFwiLi9saXN0LnZpZXcudmFsdWUubW9kaWZpZXIuZGlyZWN0aXZlXCI7XG5cbmV4cG9ydCB0eXBlIERpc2FibGVSaXBwbGVGb3JWYWx1ZUZ1bmN0aW9uPFQ+ID0gKGl0ZW06IERieFZhbHVlTGlzdEl0ZW08VD4pID0+IGJvb2xlYW47XG5cbmV4cG9ydCBjb25zdCBEQlhfTElTVF9JVEVNX0RJU0FCTEVfUklQUExFX0xJU1RfSVRFTV9NT0RJRklFUl9LRVkgPSAnZGlzYWJsZV9yaXBwbGVfYW5jaG9yJztcblxuZXhwb3J0IGNvbnN0IERCWF9MSVNUX0lURU1fREVGQVVMVF9ESVNBQkxFX0ZVTkNUSU9OOiBEaXNhYmxlUmlwcGxlRm9yVmFsdWVGdW5jdGlvbjxhbnk+ID0gPFQ+KGl0ZW06IERieFZhbHVlTGlzdEl0ZW08VD4pID0+IHtcbiAgcmV0dXJuIGl0ZW0ucmlwcGxlRGlzYWJsZWQgfHwgIWl0ZW0uYW5jaG9yIHx8ICghaXRlbS5hbmNob3IucmVmICYmICFpdGVtLmFuY2hvci51cmwgJiYgIWl0ZW0uYW5jaG9yLm9uQ2xpY2spO1xufTtcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2RieExpc3RJdGVtRGlzYWJsZVJpcHBsZU1vZGlmaWVyXSdcbn0pXG5leHBvcnQgY2xhc3MgRGJ4TGlzdEl0ZW1EaXNhYmxlUmlwcGxlTW9kaWZpZXJEaXJlY3RpdmU8VD4gZXh0ZW5kcyBBYnN0cmFjdERieFZhbHVlTGlzdEl0ZW1Nb2RpZmllckRpcmVjdGl2ZTxUPiBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG5cbiAgcHJpdmF0ZSBfZGlzYWJsZVJpcHBsZUZvckl0ZW0gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PERpc2FibGVSaXBwbGVGb3JWYWx1ZUZ1bmN0aW9uPFQ+PihEQlhfTElTVF9JVEVNX0RFRkFVTFRfRElTQUJMRV9GVU5DVElPTik7XG5cbiAgcmVhZG9ubHkgbW9kaWZpZXJzJDogT2JzZXJ2YWJsZTxNYXliZTxBcnJheU9yVmFsdWU8TW9kaWZpZXI8RGJ4VmFsdWVMaXN0SXRlbTxUPj4+Pj4gPSB0aGlzLl9kaXNhYmxlUmlwcGxlRm9ySXRlbS5waXBlKFxuICAgIG1hcCgoZGlzYWJsZVJpcHBsZUZvckl0ZW0pID0+IHtcbiAgICAgIGxldCBtb2RpZmllcnM6IE1heWJlPE1vZGlmaWVyPERieFZhbHVlTGlzdEl0ZW08VD4+PjtcblxuICAgICAgbW9kaWZpZXJzID0ge1xuICAgICAgICBrZXk6IERCWF9MSVNUX0lURU1fRElTQUJMRV9SSVBQTEVfTElTVF9JVEVNX01PRElGSUVSX0tFWSxcbiAgICAgICAgbW9kaWZ5OiAoeDogRGJ4VmFsdWVMaXN0SXRlbTxUPikgPT4ge1xuICAgICAgICAgIGlmIChkaXNhYmxlUmlwcGxlRm9ySXRlbSh4KSkge1xuICAgICAgICAgICAgeC5yaXBwbGVEaXNhYmxlZCA9IHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9O1xuXG4gICAgICByZXR1cm4gbW9kaWZpZXJzO1xuICAgIH0pXG4gICk7XG5cbiAgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICB0aGlzLl9kaXNhYmxlUmlwcGxlRm9ySXRlbS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgQElucHV0KCdkYnhMaXN0SXRlbURpc2FibGVSaXBwbGVNb2RpZmllcicpXG4gIHNldCBkaXNhYmxlUmlwcGxlRm9ySXRlbShkaXNhYmxlUmlwcGxlRm9ySXRlbTogTWF5YmU8RGlzYWJsZVJpcHBsZUZvclZhbHVlRnVuY3Rpb248VD4+KSB7XG4gICAgdGhpcy5fZGlzYWJsZVJpcHBsZUZvckl0ZW0ubmV4dChkaXNhYmxlUmlwcGxlRm9ySXRlbSA/PyBEQlhfTElTVF9JVEVNX0RFRkFVTFRfRElTQUJMRV9GVU5DVElPTik7XG4gIH1cblxufVxuIl19
|