@igo2/common 1.8.1 → 1.9.3
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/bundles/igo2-common.umd.js +10700 -10473
- package/bundles/igo2-common.umd.js.map +1 -1
- package/esm2015/igo2-common.js +5 -5
- package/esm2015/lib/action/action.module.js +29 -28
- package/esm2015/lib/action/actionbar/actionbar-item.component.js +257 -257
- package/esm2015/lib/action/actionbar/actionbar.component.js +385 -387
- package/esm2015/lib/action/actionbar/actionbar.module.js +59 -58
- package/esm2015/lib/action/index.js +3 -3
- package/esm2015/lib/action/shared/action.enums.js +7 -7
- package/esm2015/lib/action/shared/action.interfaces.js +2 -1
- package/esm2015/lib/action/shared/index.js +4 -4
- package/esm2015/lib/action/shared/store.js +8 -8
- package/esm2015/lib/backdrop/backdrop.component.js +30 -30
- package/esm2015/lib/backdrop/backdrop.module.js +25 -24
- package/esm2015/lib/backdrop/index.js +2 -2
- package/esm2015/lib/badge-icon/badge-icon.directive.js +125 -121
- package/esm2015/lib/badge-icon/badge-icon.module.js +26 -25
- package/esm2015/lib/badge-icon/index.js +2 -2
- package/esm2015/lib/clickout/clickout.directive.js +32 -32
- package/esm2015/lib/clickout/clickout.module.js +24 -23
- package/esm2015/lib/clickout/index.js +2 -2
- package/esm2015/lib/clone/clone.module.js +24 -23
- package/esm2015/lib/clone/clone.pipe.js +24 -24
- package/esm2015/lib/clone/index.js +2 -2
- package/esm2015/lib/collapsible/collapse.directive.js +55 -55
- package/esm2015/lib/collapsible/collapsible.component.js +63 -63
- package/esm2015/lib/collapsible/collapsible.module.js +27 -26
- package/esm2015/lib/collapsible/index.js +3 -3
- package/esm2015/lib/confirm-dialog/confirm-dialog.component.js +50 -51
- package/esm2015/lib/confirm-dialog/confirm-dialog.module.js +29 -28
- package/esm2015/lib/confirm-dialog/confirm-dialog.service.js +22 -23
- package/esm2015/lib/confirm-dialog/index.js +3 -3
- package/esm2015/lib/context-menu/context-menu.directive.js +135 -89
- package/esm2015/lib/context-menu/context-menu.module.js +24 -23
- package/esm2015/lib/context-menu/index.js +2 -2
- package/esm2015/lib/custom-html/custom-html.component.js +32 -32
- package/esm2015/lib/custom-html/custom-html.module.js +49 -48
- package/esm2015/lib/custom-html/custom-html.pipe.js +18 -19
- package/esm2015/lib/custom-html/index.js +3 -3
- package/esm2015/lib/drag-drop/drag-drop.directive.js +88 -88
- package/esm2015/lib/drag-drop/drag-drop.module.js +24 -23
- package/esm2015/lib/drag-drop/index.js +2 -2
- package/esm2015/lib/dynamic-component/dynamic-component.module.js +33 -32
- package/esm2015/lib/dynamic-component/dynamic-outlet/dynamic-outlet.component.js +124 -125
- package/esm2015/lib/dynamic-component/dynamic-outlet/dynamic-outlet.module.js +30 -29
- package/esm2015/lib/dynamic-component/index.js +3 -3
- package/esm2015/lib/dynamic-component/shared/dynamic-component.interfaces.js +2 -1
- package/esm2015/lib/dynamic-component/shared/dynamic-component.js +174 -174
- package/esm2015/lib/dynamic-component/shared/dynamic-component.service.js +29 -29
- package/esm2015/lib/dynamic-component/shared/index.js +4 -4
- package/esm2015/lib/entity/entity-selector/entity-selector.component.js +201 -202
- package/esm2015/lib/entity/entity-selector/entity-selector.module.js +34 -33
- package/esm2015/lib/entity/entity-table/entity-table-row.directive.js +137 -137
- package/esm2015/lib/entity/entity-table/entity-table.component.js +912 -916
- package/esm2015/lib/entity/entity-table/entity-table.module.js +77 -76
- package/esm2015/lib/entity/entity-table-paginator/entity-table-paginator.component.js +138 -140
- package/esm2015/lib/entity/entity-table-paginator/entity-table-paginator.interface.js +2 -1
- package/esm2015/lib/entity/entity-table-paginator/entity-table-paginator.module.js +30 -29
- package/esm2015/lib/entity/entity.module.js +33 -32
- package/esm2015/lib/entity/index.js +6 -6
- package/esm2015/lib/entity/shared/entity.enums.js +27 -27
- package/esm2015/lib/entity/shared/entity.interfaces.js +2 -1
- package/esm2015/lib/entity/shared/entity.utils.js +67 -67
- package/esm2015/lib/entity/shared/index.js +10 -10
- package/esm2015/lib/entity/shared/state.js +191 -191
- package/esm2015/lib/entity/shared/store.js +288 -288
- package/esm2015/lib/entity/shared/strategies/filter-custom-function.js +79 -79
- package/esm2015/lib/entity/shared/strategies/filter-selection.js +84 -84
- package/esm2015/lib/entity/shared/strategies/index.js +4 -4
- package/esm2015/lib/entity/shared/strategies/strategy.js +75 -75
- package/esm2015/lib/entity/shared/transaction.js +316 -316
- package/esm2015/lib/entity/shared/view.js +315 -315
- package/esm2015/lib/entity/shared/watcher.js +120 -120
- package/esm2015/lib/flexible/flexible.component.js +158 -159
- package/esm2015/lib/flexible/flexible.module.js +24 -23
- package/esm2015/lib/flexible/flexible.type.js +2 -1
- package/esm2015/lib/flexible/index.js +3 -3
- package/esm2015/lib/form/form/form.component.js +125 -125
- package/esm2015/lib/form/form/form.module.js +42 -41
- package/esm2015/lib/form/form-field/form-field-select.component.js +132 -132
- package/esm2015/lib/form/form-field/form-field-text.component.js +108 -108
- package/esm2015/lib/form/form-field/form-field-textarea.component.js +110 -110
- package/esm2015/lib/form/form-field/form-field.component.js +77 -78
- package/esm2015/lib/form/form-field/form-field.module.js +76 -75
- package/esm2015/lib/form/form-field/index.js +5 -5
- package/esm2015/lib/form/form-group/form-group.component.js +110 -110
- package/esm2015/lib/form/form-group/form-group.module.js +42 -41
- package/esm2015/lib/form/form.module.js +51 -50
- package/esm2015/lib/form/index.js +5 -5
- package/esm2015/lib/form/shared/form-field-component.js +7 -7
- package/esm2015/lib/form/shared/form-field.service.js +29 -29
- package/esm2015/lib/form/shared/form.interfaces.js +2 -1
- package/esm2015/lib/form/shared/form.service.js +77 -77
- package/esm2015/lib/form/shared/form.utils.js +40 -40
- package/esm2015/lib/form/shared/index.js +6 -6
- package/esm2015/lib/home-button/home-button.component.js +35 -0
- package/esm2015/lib/home-button/home-button.module.js +43 -0
- package/esm2015/lib/home-button/index.js +2 -0
- package/esm2015/lib/image/image.module.js +24 -23
- package/esm2015/lib/image/index.js +2 -2
- package/esm2015/lib/image/secure-image.pipe.js +48 -51
- package/esm2015/lib/interactive-tour/index.js +5 -5
- package/esm2015/lib/interactive-tour/interactive-tour.component.js +140 -142
- package/esm2015/lib/interactive-tour/interactive-tour.interface.js +2 -1
- package/esm2015/lib/interactive-tour/interactive-tour.loader.js +44 -46
- package/esm2015/lib/interactive-tour/interactive-tour.module.js +42 -41
- package/esm2015/lib/interactive-tour/interactive-tour.service.js +285 -288
- package/esm2015/lib/json-dialog/index.js +3 -3
- package/esm2015/lib/json-dialog/json-dialog.component.js +116 -117
- package/esm2015/lib/json-dialog/json-dialog.module.js +29 -28
- package/esm2015/lib/json-dialog/json-dialog.service.js +24 -25
- package/esm2015/lib/keyvalue/index.js +2 -2
- package/esm2015/lib/keyvalue/keyvalue.module.js +24 -23
- package/esm2015/lib/keyvalue/keyvalue.pipe.js +18 -18
- package/esm2015/lib/list/index.js +3 -3
- package/esm2015/lib/list/list-item.directive.js +165 -165
- package/esm2015/lib/list/list.component.js +266 -266
- package/esm2015/lib/list/list.module.js +29 -28
- package/esm2015/lib/panel/index.js +2 -2
- package/esm2015/lib/panel/panel.component.js +67 -67
- package/esm2015/lib/panel/panel.module.js +19 -18
- package/esm2015/lib/sidenav/index.js +2 -2
- package/esm2015/lib/sidenav/sidenav-shim.directive.js +55 -56
- package/esm2015/lib/sidenav/sidenav.module.js +24 -23
- package/esm2015/lib/spinner/index.js +3 -3
- package/esm2015/lib/spinner/spinner-activity.directive.js +47 -49
- package/esm2015/lib/spinner/spinner.component.js +40 -40
- package/esm2015/lib/spinner/spinner.module.js +21 -20
- package/esm2015/lib/stop-propagation/index.js +3 -3
- package/esm2015/lib/stop-propagation/stop-drop-propagation.directive.js +22 -22
- package/esm2015/lib/stop-propagation/stop-propagation.directive.js +21 -21
- package/esm2015/lib/stop-propagation/stop-propagation.module.js +25 -24
- package/esm2015/lib/table/index.js +6 -6
- package/esm2015/lib/table/table-action-color.enum.js +7 -7
- package/esm2015/lib/table/table-database.js +28 -28
- package/esm2015/lib/table/table-datasource.js +61 -61
- package/esm2015/lib/table/table-model.interface.js +2 -1
- package/esm2015/lib/table/table.component.js +310 -311
- package/esm2015/lib/table/table.module.js +69 -68
- package/esm2015/lib/tool/index.js +3 -3
- package/esm2015/lib/tool/shared/index.js +6 -6
- package/esm2015/lib/tool/shared/tool-component.js +9 -9
- package/esm2015/lib/tool/shared/tool.interface.js +2 -1
- package/esm2015/lib/tool/shared/tool.service.js +43 -43
- package/esm2015/lib/tool/shared/toolbox.enums.js +7 -7
- package/esm2015/lib/tool/shared/toolbox.js +179 -179
- package/esm2015/lib/tool/tool.module.js +34 -33
- package/esm2015/lib/tool/toolbox/toolbox.animation.js +10 -10
- package/esm2015/lib/tool/toolbox/toolbox.component.js +261 -262
- package/esm2015/lib/tool/toolbox/toolbox.module.js +38 -37
- package/esm2015/lib/widget/index.js +3 -3
- package/esm2015/lib/widget/shared/index.js +4 -4
- package/esm2015/lib/widget/shared/widget.interfaces.js +2 -1
- package/esm2015/lib/widget/shared/widget.js +4 -4
- package/esm2015/lib/widget/shared/widget.service.js +20 -21
- package/esm2015/lib/widget/widget-outlet/widget-outlet.component.js +121 -122
- package/esm2015/lib/widget/widget-outlet/widget-outlet.module.js +34 -33
- package/esm2015/lib/widget/widget.module.js +34 -33
- package/esm2015/lib/workspace/index.js +4 -4
- package/esm2015/lib/workspace/shared/index.js +4 -4
- package/esm2015/lib/workspace/shared/store.js +40 -40
- package/esm2015/lib/workspace/shared/workspace.interfaces.js +2 -1
- package/esm2015/lib/workspace/shared/workspace.js +117 -117
- package/esm2015/lib/workspace/workspace-selector/workspace-selector.component.js +54 -55
- package/esm2015/lib/workspace/workspace-selector/workspace-selector.module.js +34 -33
- package/esm2015/lib/workspace/workspace-widget-outlet/workspace-widget-outlet.component.js +93 -94
- package/esm2015/lib/workspace/workspace-widget-outlet/workspace-widget-outlet.module.js +34 -33
- package/esm2015/lib/workspace/workspace.module.js +29 -28
- package/esm2015/public_api.js +72 -70
- package/fesm2015/igo2-common.js +9015 -8846
- package/fesm2015/igo2-common.js.map +1 -1
- package/igo2-common.d.ts +5 -5
- package/lib/action/action.module.d.ts +8 -7
- package/lib/action/actionbar/actionbar-item.component.d.ts +78 -78
- package/lib/action/actionbar/actionbar.component.d.ts +146 -146
- package/lib/action/actionbar/actionbar.module.d.ts +20 -19
- package/lib/action/index.d.ts +2 -2
- package/lib/action/shared/action.enums.d.ts +5 -5
- package/lib/action/shared/action.interfaces.d.ts +17 -17
- package/lib/action/shared/index.d.ts +3 -3
- package/lib/action/shared/store.d.ts +8 -8
- package/lib/backdrop/backdrop.component.d.ts +9 -9
- package/lib/backdrop/backdrop.module.d.ts +10 -9
- package/lib/backdrop/index.d.ts +1 -1
- package/lib/badge-icon/badge-icon.directive.d.ts +32 -27
- package/lib/badge-icon/badge-icon.module.d.ts +11 -10
- package/lib/badge-icon/index.d.ts +1 -1
- package/lib/clickout/clickout.directive.d.ts +10 -10
- package/lib/clickout/clickout.module.d.ts +9 -8
- package/lib/clickout/index.d.ts +1 -1
- package/lib/clone/clone.module.d.ts +9 -8
- package/lib/clone/clone.pipe.d.ts +7 -7
- package/lib/clone/index.d.ts +1 -1
- package/lib/collapsible/collapse.directive.d.ts +19 -19
- package/lib/collapsible/collapsible.component.d.ts +13 -13
- package/lib/collapsible/collapsible.module.d.ts +12 -11
- package/lib/collapsible/index.d.ts +2 -2
- package/lib/confirm-dialog/confirm-dialog.component.d.ts +9 -9
- package/lib/confirm-dialog/confirm-dialog.module.d.ts +12 -11
- package/lib/confirm-dialog/confirm-dialog.service.d.ts +10 -10
- package/lib/confirm-dialog/index.d.ts +2 -2
- package/lib/context-menu/context-menu.directive.d.ts +27 -21
- package/lib/context-menu/context-menu.module.d.ts +9 -8
- package/lib/context-menu/index.d.ts +1 -1
- package/lib/custom-html/custom-html.component.d.ts +9 -9
- package/lib/custom-html/custom-html.module.d.ts +16 -15
- package/lib/custom-html/custom-html.pipe.d.ts +10 -10
- package/lib/custom-html/index.d.ts +2 -2
- package/lib/drag-drop/drag-drop.directive.d.ts +14 -14
- package/lib/drag-drop/drag-drop.module.d.ts +9 -8
- package/lib/drag-drop/index.d.ts +1 -1
- package/lib/dynamic-component/dynamic-component.module.d.ts +8 -7
- package/lib/dynamic-component/dynamic-outlet/dynamic-outlet.component.d.ts +70 -70
- package/lib/dynamic-component/dynamic-outlet/dynamic-outlet.module.d.ts +11 -10
- package/lib/dynamic-component/index.d.ts +2 -2
- package/lib/dynamic-component/shared/dynamic-component.d.ts +88 -88
- package/lib/dynamic-component/shared/dynamic-component.interfaces.d.ts +3 -3
- package/lib/dynamic-component/shared/dynamic-component.service.d.ts +18 -18
- package/lib/dynamic-component/shared/index.d.ts +3 -3
- package/lib/entity/entity-selector/entity-selector.component.d.ts +92 -92
- package/lib/entity/entity-selector/entity-selector.module.d.ts +13 -12
- package/lib/entity/entity-table/entity-table-row.directive.d.ts +69 -69
- package/lib/entity/entity-table/entity-table.component.d.ts +275 -275
- package/lib/entity/entity-table/entity-table.module.d.ts +23 -22
- package/lib/entity/entity-table-paginator/entity-table-paginator.component.d.ts +49 -49
- package/lib/entity/entity-table-paginator/entity-table-paginator.interface.d.ts +8 -8
- package/lib/entity/entity-table-paginator/entity-table-paginator.module.d.ts +11 -10
- package/lib/entity/entity.module.d.ts +10 -9
- package/lib/entity/index.d.ts +5 -5
- package/lib/entity/shared/entity.enums.d.ts +22 -22
- package/lib/entity/shared/entity.interfaces.d.ts +88 -88
- package/lib/entity/shared/entity.utils.d.ts +49 -49
- package/lib/entity/shared/index.d.ts +9 -9
- package/lib/entity/shared/state.d.ts +103 -103
- package/lib/entity/shared/store.d.ts +176 -176
- package/lib/entity/shared/strategies/filter-custom-function.d.ts +51 -51
- package/lib/entity/shared/strategies/filter-selection.d.ts +48 -48
- package/lib/entity/shared/strategies/index.d.ts +3 -3
- package/lib/entity/shared/strategies/strategy.d.ts +56 -56
- package/lib/entity/shared/transaction.d.ts +168 -168
- package/lib/entity/shared/view.d.ts +193 -193
- package/lib/entity/shared/watcher.d.ts +72 -72
- package/lib/flexible/flexible.component.d.ts +41 -41
- package/lib/flexible/flexible.module.d.ts +9 -8
- package/lib/flexible/flexible.type.d.ts +2 -2
- package/lib/flexible/index.d.ts +2 -2
- package/lib/form/form/form.component.d.ts +53 -53
- package/lib/form/form/form.module.d.ts +12 -11
- package/lib/form/form-field/form-field-select.component.d.ts +48 -48
- package/lib/form/form-field/form-field-text.component.d.ts +41 -41
- package/lib/form/form-field/form-field-textarea.component.d.ts +41 -41
- package/lib/form/form-field/form-field.component.d.ts +34 -34
- package/lib/form/form-field/form-field.module.d.ts +21 -20
- package/lib/form/form-field/index.d.ts +4 -4
- package/lib/form/form-group/form-group.component.d.ts +49 -49
- package/lib/form/form-group/form-group.module.d.ts +14 -13
- package/lib/form/form.module.d.ts +13 -12
- package/lib/form/index.d.ts +4 -4
- package/lib/form/shared/form-field-component.d.ts +1 -1
- package/lib/form/shared/form-field.service.d.ts +19 -19
- package/lib/form/shared/form.interfaces.d.ts +57 -57
- package/lib/form/shared/form.service.d.ts +15 -15
- package/lib/form/shared/form.utils.d.ts +11 -11
- package/lib/form/shared/index.d.ts +5 -5
- package/lib/home-button/home-button.component.d.ts +9 -0
- package/lib/home-button/home-button.module.d.ts +15 -0
- package/lib/home-button/index.d.ts +1 -0
- package/lib/image/image.module.d.ts +9 -8
- package/lib/image/index.d.ts +1 -1
- package/lib/image/secure-image.pipe.d.ts +11 -11
- package/lib/interactive-tour/index.d.ts +4 -4
- package/lib/interactive-tour/interactive-tour.component.d.ts +30 -30
- package/lib/interactive-tour/interactive-tour.interface.d.ts +32 -32
- package/lib/interactive-tour/interactive-tour.loader.d.ts +18 -18
- package/lib/interactive-tour/interactive-tour.module.d.ts +12 -11
- package/lib/interactive-tour/interactive-tour.service.d.ts +29 -29
- package/lib/json-dialog/index.d.ts +2 -2
- package/lib/json-dialog/json-dialog.component.d.ts +13 -13
- package/lib/json-dialog/json-dialog.module.d.ts +13 -12
- package/lib/json-dialog/json-dialog.service.d.ts +10 -10
- package/lib/keyvalue/index.d.ts +1 -1
- package/lib/keyvalue/keyvalue.module.d.ts +9 -8
- package/lib/keyvalue/keyvalue.pipe.d.ts +7 -7
- package/lib/list/index.d.ts +2 -2
- package/lib/list/list-item.directive.d.ts +43 -43
- package/lib/list/list.component.d.ts +51 -51
- package/lib/list/list.module.d.ts +14 -13
- package/lib/panel/index.d.ts +1 -1
- package/lib/panel/panel.component.d.ts +11 -11
- package/lib/panel/panel.module.d.ts +8 -7
- package/lib/sidenav/index.d.ts +1 -1
- package/lib/sidenav/sidenav-shim.directive.d.ts +20 -20
- package/lib/sidenav/sidenav.module.d.ts +9 -8
- package/lib/spinner/index.d.ts +2 -2
- package/lib/spinner/spinner-activity.directive.d.ts +32 -32
- package/lib/spinner/spinner.component.d.ts +12 -12
- package/lib/spinner/spinner.module.d.ts +10 -9
- package/lib/stop-propagation/index.d.ts +2 -2
- package/lib/stop-propagation/stop-drop-propagation.directive.d.ts +6 -6
- package/lib/stop-propagation/stop-propagation.directive.d.ts +6 -6
- package/lib/stop-propagation/stop-propagation.module.d.ts +10 -9
- package/lib/table/index.d.ts +5 -5
- package/lib/table/table-action-color.enum.d.ts +5 -5
- package/lib/table/table-database.d.ts +10 -10
- package/lib/table/table-datasource.d.ts +17 -17
- package/lib/table/table-model.interface.d.ts +28 -28
- package/lib/table/table.component.d.ts +40 -40
- package/lib/table/table.module.d.ts +20 -19
- package/lib/tool/index.d.ts +2 -2
- package/lib/tool/shared/index.d.ts +5 -5
- package/lib/tool/shared/tool-component.d.ts +2 -2
- package/lib/tool/shared/tool.interface.d.ts +18 -18
- package/lib/tool/shared/tool.service.d.ts +30 -30
- package/lib/tool/shared/toolbox.d.ts +95 -95
- package/lib/tool/shared/toolbox.enums.d.ts +5 -5
- package/lib/tool/tool.module.d.ts +10 -9
- package/lib/tool/toolbox/toolbox.animation.d.ts +2 -2
- package/lib/tool/toolbox/toolbox.component.d.ts +127 -127
- package/lib/tool/toolbox/toolbox.module.d.ts +13 -12
- package/lib/widget/index.d.ts +2 -2
- package/lib/widget/shared/index.d.ts +3 -3
- package/lib/widget/shared/widget.d.ts +4 -4
- package/lib/widget/shared/widget.interfaces.d.ts +12 -12
- package/lib/widget/shared/widget.service.d.ts +10 -10
- package/lib/widget/widget-outlet/widget-outlet.component.d.ts +71 -71
- package/lib/widget/widget-outlet/widget-outlet.module.d.ts +12 -11
- package/lib/widget/widget.module.d.ts +8 -7
- package/lib/workspace/index.d.ts +3 -3
- package/lib/workspace/shared/index.d.ts +3 -3
- package/lib/workspace/shared/store.d.ts +20 -20
- package/lib/workspace/shared/workspace.d.ts +108 -108
- package/lib/workspace/shared/workspace.interfaces.d.ts +11 -11
- package/lib/workspace/workspace-selector/workspace-selector.component.d.ts +35 -35
- package/lib/workspace/workspace-selector/workspace-selector.module.d.ts +12 -11
- package/lib/workspace/workspace-widget-outlet/workspace-widget-outlet.component.d.ts +57 -57
- package/lib/workspace/workspace-widget-outlet/workspace-widget-outlet.module.d.ts +12 -11
- package/lib/workspace/workspace.module.d.ts +9 -8
- package/package.json +8 -7
- package/public_api.d.ts +68 -66
- package/style/common.theming.scss +12 -236
- package/style/partial/action.scss +18 -18
- package/style/partial/common.variables.scss +8 -8
- package/bundles/igo2-common.umd.min.js +0 -17
- package/bundles/igo2-common.umd.min.js.map +0 -1
|
@@ -1,262 +1,261 @@
|
|
|
1
|
-
import { Component, Input, HostBinding, ChangeDetectionStrategy } from '@angular/core';
|
|
2
|
-
import { BehaviorSubject } from 'rxjs';
|
|
3
|
-
import { map } from 'rxjs/operators';
|
|
4
|
-
import { ActionStore } from '../../action';
|
|
5
|
-
import { ToolboxColor } from '../shared/toolbox.enums';
|
|
6
|
-
import {
|
|
7
|
-
import
|
|
8
|
-
import * as
|
|
9
|
-
import * as
|
|
10
|
-
import * as
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
i0.ɵɵ
|
|
14
|
-
i0.ɵɵpipe(
|
|
15
|
-
i0.ɵɵpipe(
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
} }
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
i0.ɵɵ
|
|
25
|
-
i0.ɵɵ
|
|
26
|
-
i0.ɵɵ
|
|
27
|
-
i0.ɵɵ
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
const
|
|
31
|
-
|
|
32
|
-
i0.ɵɵ
|
|
33
|
-
i0.ɵɵ
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
*
|
|
60
|
-
*
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
*
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
this.
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
*
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
this.
|
|
99
|
-
this.
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
*
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
*
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
*
|
|
118
|
-
* @
|
|
119
|
-
* @
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
*
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
*
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
*
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
this.
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
'tool-activated':
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
this.
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
*
|
|
206
|
-
*
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
this.
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
}
|
|
227
|
-
ToolboxComponent.ɵ
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
i0.ɵɵ
|
|
232
|
-
i0.ɵɵ
|
|
233
|
-
i0.ɵɵ
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
i0.ɵɵ
|
|
237
|
-
i0.ɵɵ
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
}] }); })();
|
|
262
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiL3Nydi9hcHBzL2lnbzItbGliL3BhY2thZ2VzL2NvbW1vbi9zcmMvIiwic291cmNlcyI6WyJsaWIvdG9vbC90b29sYm94L3Rvb2xib3guY29tcG9uZW50LnRzIiwibGliL3Rvb2wvdG9vbGJveC90b29sYm94LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUdMLFdBQVcsRUFDWCx1QkFBdUIsRUFDeEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFnQixlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDakUsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLE9BQU8sRUFBVSxXQUFXLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFbkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7OztJQ2hCckQsbUNBUWdCOzs7Ozs7SUFOZCwwQ0FBcUIsa0JBQUEsNkRBQUEsZ0VBQUEsaUVBQUEscUJBQUE7Ozs7O0lBUXZCLDhCQVFFO0lBSEEsZ09BQTRDLG9OQUFBOztJQUc1Qyx3Q0FHcUI7SUFFdkIsaUJBQU07Ozs7SUFWSiwrRkFBaUgsNERBQUE7SUFNL0csZUFBNEI7SUFBNUIsNkNBQTRCLHlDQUFBOztBRE1oQyxNQUFNLE9BQU8sZ0JBQWdCO0lBUDdCO1FBUUU7O1dBRUc7UUFDSCxnQkFBVyxHQUEwQixJQUFJLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUVwRTs7V0FFRztRQUNILGdCQUFXLEdBQWdCLElBQUksV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRS9DOztXQUVHO1FBQ0gsZUFBVSxHQUE0QixJQUFJ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QUNMLENBQUM7SUFFRDs7T0FFRztJQUNLLFNBQVM7UUFDZixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDcEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUNoQztJQUNILENBQUM7O2dGQWxQVSxnQkFBZ0I7cURBQWhCLGdCQUFnQjs7O1FDekI3QixzRkFRQTs7UUFFQSxpRUFRRTs7O1FBakJBLG9FQUFxQztRQVVyQyxlQUFtQztRQUFuQyw0REFBbUM7MDhCRFd2QixDQUFDLGNBQWMsRUFBRSxDQUFDO2tEQUduQixnQkFBZ0I7Y0FQNUIsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSxhQUFhO2dCQUN2QixXQUFXLEVBQUUsd0JBQXdCO2dCQUNyQyxTQUFTLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztnQkFDckMsVUFBVSxFQUFFLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQzlCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2FBQ2hEO2dCQXNEVSxPQUFPO2tCQUFmLEtBQUs7WUFLRyxPQUFPO2tCQUFmLEtBQUs7WUFLRyxLQUFLO2tCQUFiLEtBQUs7WUFNRixjQUFjO2tCQURqQixXQUFXO21CQUFDLGtCQUFrQjtZQVMzQixpQkFBaUI7a0JBRHBCLFdBQVc7bUJBQUMscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIEhvc3RCaW5kaW5nLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneVxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uLCBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgQWN0aW9uLCBBY3Rpb25TdG9yZSB9IGZyb20gJy4uLy4uL2FjdGlvbic7XG5pbXBvcnQgeyBUb29sIH0gZnJvbSAnLi4vc2hhcmVkL3Rvb2wuaW50ZXJmYWNlJztcbmltcG9ydCB7IFRvb2xib3hDb2xvciB9IGZyb20gJy4uL3NoYXJlZC90b29sYm94LmVudW1zJztcbmltcG9ydCB7IFRvb2xib3ggfSBmcm9tICcuLi9zaGFyZWQvdG9vbGJveCc7XG5pbXBvcnQgeyB0b29sU2xpZGVJbk91dCB9IGZyb20gJy4vdG9vbGJveC5hbmltYXRpb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpZ28tdG9vbGJveCcsXG4gIHRlbXBsYXRlVXJsOiAndG9vbGJveC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWyd0b29sYm94LmNvbXBvbmVudC5zY3NzJ10sXG4gIGFuaW1hdGlvbnM6IFt0b29sU2xpZGVJbk91dCgpXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgVG9vbGJveENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgLyoqXG4gICAqIE9ic2VydmFibGUgb2YgdGhlIGFjdGl2ZSB0b29sXG4gICAqL1xuICBhY3RpdmVUb29sJDogQmVoYXZpb3JTdWJqZWN0PFRvb2w+ID0gbmV3IEJlaGF2aW9yU3ViamVjdCh1bmRlZmluZWQpO1xuXG4gIC8qKlxuICAgKiBTdG9yZSBvZiBhY3Rpb25zIHRoYXQgdG9nZ2xlIHRvb2xzXG4gICAqL1xuICBhY3Rpb25TdG9yZTogQWN0aW9uU3RvcmUgPSBuZXcgQWN0aW9uU3RvcmUoW10pO1xuXG4gIC8qKlxuICAgKiBPYnNlcnZhYmxlIG9mIGhlIGFubWF0aW9uIHN0YXRlXG4gICAqL1xuICBhbmltYXRpb24kOiBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoJ25vbmUnKTtcblxuICAvKipcbiAgICogT2JzZXJ2YWJsZSBvZiB0aGUgdG9vbGJhclxuICAgKi9cbiAgdG9vbGJhciQ6IEJlaGF2aW9yU3ViamVjdDxzdHJpbmdbXT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KFtdKTtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgVG9vbGJhciBzaG91bGQgZGlzcGxheSBhY3Rpb25zJyB0aXRsZXNcbiAgICovXG4gIHRvb2xiYXJXaXRoVGl0bGUkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5hY3RpdmVUb29sJC5waXBlKFxuICAgIG1hcCgodG9vbDogVG9vbCB8IHVuZGVmaW5lZCkgPT4gdG9vbCA9PT0gdW5kZWZpbmVkKVxuICApO1xuXG4gIC8qKlxuICAgKiBTdWJzY3JpcHRpb24gdG8gdGhlIGFjdGl2ZSB0b29sXG4gICAqL1xuICBwcml2YXRlIGFjdGl2ZVRvb2wkJDogU3Vic2NyaXB0aW9uO1xuXG4gIC8qKlxuICAgKiBTdWJzY3JpcHRpb24gdG8gdGhlIHRvb2xiYXJcbiAgICovXG4gIHByaXZhdGUgdG9vbGJhciQkOiBTdWJzY3JpcHRpb247XG5cbiAgLyoqXG4gICAqIE9ic2VydmFibGUgb2YgdGhlIG9uZ29pbmcgYW5pbWF0aW9uLiBUaGlzIGlzIHVzZWZ1bCB3aGVuXG4gICAqIG11bHRpcGxlIGFuaW1hdGlvbnMgYXJlIHRyaWdnZXJlZCBhdCBvbmNlIGkuZS4gd2hlbiB0aGUgdXNlciBjbGlja3NcbiAgICogdG9vIGZhc3Qgb24gZGlmZmVyZW50IGFjdGlvbnNcbiAgICovXG4gIHByaXZhdGUgYW5pbWF0aW5nJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIC8qKlxuICAgKiBTdWJzY3JpcHRpb24gdG8gdGhlIG9uZ29pbmcgYW5pbWF0aW9uXG4gICAqL1xuICBwcml2YXRlIGFuaW1hdGluZyQkOiBTdWJzY3JpcHRpb247XG5cbiAgLyoqXG4gICAqIFRvb2xib3hcbiAgICovXG4gIEBJbnB1dCgpIHRvb2xib3g6IFRvb2xib3g7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIHRvb2xib3ggc2hvdWxkIGFuaW1hdGUgdGhlIGZpcnN0IHRvb2wgZW50ZXJpbmdcbiAgICovXG4gIEBJbnB1dCgpIGFuaW1hdGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogQ29sb3Igb2YgVG9vbGJveFxuICAgKi9cbiAgQElucHV0KCkgY29sb3I6IFRvb2xib3hDb2xvciA9IFRvb2xib3hDb2xvci5XaGl0ZTtcblxuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5jb2xvci1ncmV5JylcbiAgZ2V0IGNsYXNzQ29sb3JHcmV5KCkge1xuICAgIHJldHVybiB0aGlzLmNvbG9yID09PSBUb29sYm94Q29sb3IuR3JleTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmNvbG9yLXByaW1hcnknKVxuICBnZXQgY2xhc3NDb2xvclByaW1hcnkoKSB7XG4gICAgcmV0dXJuIHRoaXMuY29sb3IgPT09IFRvb2xib3hDb2xvci5QcmltYXJ5O1xuICB9XG5cbiAgLyoqXG4gICAqIEluaXRpYWxpemUgdGhlIHRvb2xiYXIgYW5kIHN1YnNjcmliZSB0byB0aGUgYWN0aXZlIHRvb2xcbiAgICogQGludGVybmFsXG4gICAqL1xuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnRvb2xiYXIkJCA9IHRoaXMudG9vbGJveC50b29sYmFyJC5zdWJzY3JpYmUoKHRvb2xiYXI6IHN0cmluZ1tdKSA9PlxuICAgICAgdGhpcy5vblRvb2xiYXJDaGFuZ2UodG9vbGJhcilcbiAgICApO1xuICAgIHRoaXMuYWN0aXZlVG9vbCQkID0gdGhpcy50b29sYm94LmFjdGl2ZVRvb2wkLnN1YnNjcmliZSgodG9vbDogVG9vbCkgPT5cbiAgICAgIHRoaXMub25BY3RpdmVUb29sQ2hhbmdlKHRvb2wpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVbnN1YnNjcmliZSB0byB0aGUgYWN0aXZlIHRvb2wgYW5kIGRlc3Ryb3kgdGhlIGFjdGlvbiBzdG9yZVxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMudG9vbGJhciQkLnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5hY3RpdmVUb29sJCQudW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLmFjdGlvblN0b3JlLmRlc3Ryb3koKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUcmFjayB0aGUgc3RhcnRpbmcgYW5pbWF0aW9uXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgb25BbmltYXRpb25TdGFydCgpIHtcbiAgICB0aGlzLmFuaW1hdGluZyQubmV4dCh0cnVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVbnRyYWNrIHRoZSBjb21wbGV0ZWQgYW5pbWF0aW9uXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgb25BbmltYXRpb25Db21wbGV0ZSgpIHtcbiAgICB0aGlzLmFuaW1hdGluZyQubmV4dChmYWxzZSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIGEgdG9vbCdzIGlucHV0c1xuICAgKiBAcGFyYW0gdG9vbCBUb29sXG4gICAqIEByZXR1cm5zIFRvb2wgaW5wdXRzXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgZ2V0VG9vbElucHV0cyh0b29sOiBUb29sKTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSB7XG4gICAgcmV0dXJuIHRvb2wub3B0aW9ucyB8fCB7fTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbml0aWFsaXplIGFuIGFjdGlvbiBzdG9yZVxuICAgKiBAcGFyYW0gdG9vbGJhciBUb29sYmFyXG4gICAqL1xuICBwcml2YXRlIG9uVG9vbGJhckNoYW5nZSh0b29sYmFyOiBzdHJpbmdbXSkge1xuICAgIHRoaXMuc2V0VG9vbGJhcih0b29sYmFyKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBY3RpdmF0ZSBhIHRvb2wgYW5kIHRyaWdnZXIgYW4gYW5pbWF0aW9uIG9yIG5vdFxuICAgKiBAcGFyYW0gdG9vbCBUb29sIHRvIGFjdGl2YXRlXG4gICAqL1xuICBwcml2YXRlIG9uQWN0aXZlVG9vbENoYW5nZSh0b29sOiBUb29sKSB7XG4gICAgaWYgKCF0aGlzLmFuaW1hdGUpIHtcbiAgICAgIHRoaXMuc2V0QWN0aXZlVG9vbCh0b29sKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5vbkFuaW1hdGUoKCkgPT4gdGhpcy5zZXRBY3RpdmVUb29sKHRvb2wpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIGFjdGl2ZSB0b29sXG4gICAqIEBwYXJhbSB0b29sIFRvb2wgdG8gYWN0aXZhdGVcbiAgICovXG4gIHByaXZhdGUgc2V0QWN0aXZlVG9vbCh0b29sOiBUb29sIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKHRvb2wgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5hY3Rpb25TdG9yZS5zdGF0ZS51cGRhdGVBbGwoeyBhY3RpdmU6IGZhbHNlIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBhY3Rpb24gPSB0aGlzLmFjdGlvblN0b3JlLmdldCh0b29sLm5hbWUpO1xuICAgICAgaWYgKGFjdGlvbiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHRoaXMuYWN0aW9uU3RvcmUuc3RhdGUudXBkYXRlKGFjdGlvbiwgeyBhY3RpdmU6IHRydWUgfSwgdHJ1ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5hY3RpdmVUb29sJC5uZXh0KHRvb2wpO1xuICAgIGlmICh0aGlzLmFuaW1hdGUpIHtcbiAgICAgIHRoaXMuYW5pbWF0aW9uJC5uZXh0KCdlbnRlcicpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBJbml0aWFsaXplIHRoZSB0b29sYmFyXG4gICAqL1xuICBwcml2YXRlIHNldFRvb2xiYXIodG9vbGJhcjogc3RyaW5nW10pIHtcbiAgICBjb25zdCBhY3Rpb25zID0gdG9vbGJhci5yZWR1Y2UoKGFjYzogQWN0aW9uW10sIHRvb2xOYW1lOiBzdHJpbmcpID0+IHtcbiAgICAgIGNvbnN0IHRvb2wgPSB0aGlzLnRvb2xib3guZ2V0VG9vbCh0b29sTmFtZSk7XG4gICAgICBpZiAodG9vbCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHJldHVybiBhY2M7XG4gICAgICB9XG5cbiAgICAgIGFjYy5wdXNoKHtcbiAgICAgICAgaWQ6IHRvb2wubmFtZSxcbiAgICAgICAgdGl0bGU6IHRvb2wudGl0bGUsXG4gICAgICAgIGljb246IHRvb2wuaWNvbixcbiAgICAgICAgLy8gaWNvbkltYWdlOiB0b29sLmljb25JbWFnZSxcbiAgICAgICAgdG9vbHRpcDogdG9vbC50b29sdGlwLFxuICAgICAgICBhcmdzOiBbdG9vbCwgdGhpcy50b29sYm94XSxcbiAgICAgICAgaGFuZGxlcjogKF90b29sOiBUb29sLCBfdG9vbGJveDogVG9vbGJveCkgPT4ge1xuICAgICAgICAgIF90b29sYm94LmFjdGl2YXRlVG9vbChfdG9vbC5uYW1lKTtcbiAgICAgICAgfSxcbiAgICAgICAgbmdDbGFzczogKF90b29sOiBUb29sLCBfdG9vbGJveDogVG9vbGJveCkgPT4ge1xuICAgICAgICAgIHJldHVybiB0aGlzLnRvb2xib3guYWN0aXZlVG9vbCQucGlwZShcbiAgICAgICAgICAgIG1hcCgoYWN0aXZlVG9vbDogVG9vbCkgPT4ge1xuICAgICAgICAgICAgICBsZXQgdG9vbEFjdGl2YXRlZCA9IGZhbHNlO1xuICAgICAgICAgICAgICBpZiAoYWN0aXZlVG9vbCAhPT0gdW5kZWZpbmVkICYmIF90b29sLm5hbWUgPT09IGFjdGl2ZVRvb2wubmFtZSkge1xuICAgICAgICAgICAgICAgIHRvb2xBY3RpdmF0ZWQgPSB0cnVlO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgbGV0IGNoaWxkcmVuVG9vbEFjdGl2YXRlZCA9IGZhbHNlO1xuICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgYWN0aXZlVG9vbCAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgICAgICAgICAgX3Rvb2wubmFtZSA9PT0gYWN0aXZlVG9vbC5wYXJlbnRcbiAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgY2hpbGRyZW5Ub29sQWN0aXZhdGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgJ3Rvb2wtYWN0aXZhdGVkJzogdG9vbEFjdGl2YXRlZCxcbiAgICAgICAgICAgICAgICAnY2hpbGRyZW4tdG9vbC1hY3RpdmF0ZWQnOiBjaGlsZHJlblRvb2xBY3RpdmF0ZWRcbiAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICByZXR1cm4gYWNjO1xuICAgIH0sIFtdKTtcbiAgICB0aGlzLmFjdGlvblN0b3JlLmxvYWQoYWN0aW9ucyk7XG4gICAgdGhpcy50b29sYmFyJC5uZXh0KHRvb2xiYXIpO1xuICB9XG5cbiAgLyoqXG4gICAqIE9ic2VydmUgdGhlIG9uZ29pbmcgYW5pbWF0aW9uIGFuZCBpZ25vcmUgYW55IGluY29taW5nIGFuaW1hdGlvblxuICAgKiB3aGlsZSBvbmUgaXMgc3RpbGwgb25nb2luZy5cbiAgICogQHBhcmFtIGNhbGxiYWNrIENhbGxiYWNrIHRvIGV4ZWN1dGUgd2hlbiB0aGUgYW5pbWF0aW9uIGNvbXBsZXRlc1xuICAgKi9cbiAgcHJpdmF0ZSBvbkFuaW1hdGUoY2FsbGJhY2s6ICgpID0+IHZvaWQpIHtcbiAgICB0aGlzLnVuQW5pbWF0ZSgpO1xuICAgIHRoaXMuYW5pbWF0aW5nJCQgPSB0aGlzLmFuaW1hdGluZyQuc3Vic2NyaWJlKChhbmltYXRpb246IGJvb2xlYW4pID0+IHtcbiAgICAgIGlmICghYW5pbWF0aW9uKSB7XG4gICAgICAgIGNhbGxiYWNrLmNhbGwodGhpcyk7XG4gICAgICAgIHRoaXMudW5BbmltYXRlKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogU3RvcCBvYnNlcnZpbmcgYW4gYW5pbWF0aW9uIHdoZW4gaXQncyBjb21wbGV0ZVxuICAgKi9cbiAgcHJpdmF0ZSB1bkFuaW1hdGUoKSB7XG4gICAgaWYgKHRoaXMuYW5pbWF0aW5nJCQpIHtcbiAgICAgIHRoaXMuYW5pbWF0aW5nJCQudW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxpZ28tYWN0aW9uYmFyXG4gICpuZ0lmPVwiKHRvb2xiYXIkIHwgYXN5bmMpLmxlbmd0aCA+IDBcIlxuICBbc3RvcmVdPVwiYWN0aW9uU3RvcmVcIlxuICBbd2l0aEljb25dPVwidHJ1ZVwiXG4gIFt3aXRoVGl0bGVdPVwidG9vbGJhcldpdGhUaXRsZSQgfCBhc3luY1wiXG4gIFt3aXRoVG9vbHRpcF09XCIhKHRvb2xiYXJXaXRoVGl0bGUkIHwgYXN5bmMpXCJcbiAgW3Njcm9sbEFjdGl2ZV09XCJ0b29sYmFyV2l0aFRpdGxlJCB8IGFzeW5jXCJcbiAgW2hvcml6b250YWxdPVwiZmFsc2VcIj5cbjwvaWdvLWFjdGlvbmJhcj5cblxuPGRpdlxuICAqbmdJZj1cImFjdGl2ZVRvb2wkIHwgYXN5bmMgYXMgdG9vbFwiXG4gIGNsYXNzPVwiaWdvLXRvb2wtY29udGFpbmVyXCJcbiAgW25nQ2xhc3NdPVwieydpZ28tdG9vbC1jb250YWluZXItd2l0aC10b29sYmFyJzogIWFjdGlvblN0b3JlLmVtcHR5LCAnaWdvLXRvb2wtY29udGFpbmVyLXdpdGgtYW5pbWF0aW9uJzogYW5pbWF0ZX1cIlxuICBbQHRvb2xTbGlkZUluT3V0XT1cImFuaW1hdGlvbiQgfCBhc3luY1wiXG4gIChAdG9vbFNsaWRlSW5PdXQuc3RhcnQpPVwib25BbmltYXRpb25TdGFydCgpXCJcbiAgKEB0b29sU2xpZGVJbk91dC5kb25lKT1cIm9uQW5pbWF0aW9uQ29tcGxldGUoKVwiPlxuXG4gIDxpZ28tZHluYW1pYy1vdXRsZXRcbiAgICBbY29tcG9uZW50XT1cInRvb2wuY29tcG9uZW50XCJcbiAgICBbaW5wdXRzXT1cImdldFRvb2xJbnB1dHModG9vbClcIj5cbiAgPC9pZ28tZHluYW1pYy1vdXRsZXQ+XG5cbjwvZGl2PlxuIl19
|
|
1
|
+
import { Component, Input, HostBinding, ChangeDetectionStrategy } from '@angular/core';
|
|
2
|
+
import { BehaviorSubject } from 'rxjs';
|
|
3
|
+
import { map } from 'rxjs/operators';
|
|
4
|
+
import { ActionStore } from '../../action';
|
|
5
|
+
import { ToolboxColor } from '../shared/toolbox.enums';
|
|
6
|
+
import { toolSlideInOut } from './toolbox.animation';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "@angular/common";
|
|
9
|
+
import * as i2 from "../../action/actionbar/actionbar.component";
|
|
10
|
+
import * as i3 from "../../dynamic-component/dynamic-outlet/dynamic-outlet.component";
|
|
11
|
+
function ToolboxComponent_igo_actionbar_0_Template(rf, ctx) { if (rf & 1) {
|
|
12
|
+
i0.ɵɵelement(0, "igo-actionbar", 2);
|
|
13
|
+
i0.ɵɵpipe(1, "async");
|
|
14
|
+
i0.ɵɵpipe(2, "async");
|
|
15
|
+
i0.ɵɵpipe(3, "async");
|
|
16
|
+
} if (rf & 2) {
|
|
17
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
18
|
+
i0.ɵɵproperty("store", ctx_r0.actionStore)("withIcon", true)("withTitle", i0.ɵɵpipeBind1(1, 6, ctx_r0.toolbarWithTitle$))("withTooltip", i0.ɵɵpipeBind1(2, 8, ctx_r0.toolbarWithTitle$) === false)("scrollActive", i0.ɵɵpipeBind1(3, 10, ctx_r0.toolbarWithTitle$))("horizontal", false);
|
|
19
|
+
} }
|
|
20
|
+
const _c0 = function (a0, a1) { return { "igo-tool-container-with-toolbar": a0, "igo-tool-container-with-animation": a1 }; };
|
|
21
|
+
function ToolboxComponent_div_2_Template(rf, ctx) { if (rf & 1) {
|
|
22
|
+
const _r4 = i0.ɵɵgetCurrentView();
|
|
23
|
+
i0.ɵɵelementStart(0, "div", 3);
|
|
24
|
+
i0.ɵɵlistener("@toolSlideInOut.start", function ToolboxComponent_div_2_Template_div_animation_toolSlideInOut_start_0_listener() { i0.ɵɵrestoreView(_r4); const ctx_r3 = i0.ɵɵnextContext(); return ctx_r3.onAnimationStart(); })("@toolSlideInOut.done", function ToolboxComponent_div_2_Template_div_animation_toolSlideInOut_done_0_listener() { i0.ɵɵrestoreView(_r4); const ctx_r5 = i0.ɵɵnextContext(); return ctx_r5.onAnimationComplete(); });
|
|
25
|
+
i0.ɵɵpipe(1, "async");
|
|
26
|
+
i0.ɵɵelement(2, "igo-dynamic-outlet", 4);
|
|
27
|
+
i0.ɵɵelementEnd();
|
|
28
|
+
} if (rf & 2) {
|
|
29
|
+
const tool_r2 = ctx.ngIf;
|
|
30
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
31
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction2(6, _c0, !ctx_r1.actionStore.empty, ctx_r1.animate))("@toolSlideInOut", i0.ɵɵpipeBind1(1, 4, ctx_r1.animation$));
|
|
32
|
+
i0.ɵɵadvance(2);
|
|
33
|
+
i0.ɵɵproperty("component", tool_r2.component)("inputs", ctx_r1.getToolInputs(tool_r2));
|
|
34
|
+
} }
|
|
35
|
+
export class ToolboxComponent {
|
|
36
|
+
constructor() {
|
|
37
|
+
/**
|
|
38
|
+
* Observable of the active tool
|
|
39
|
+
*/
|
|
40
|
+
this.activeTool$ = new BehaviorSubject(undefined);
|
|
41
|
+
/**
|
|
42
|
+
* Store of actions that toggle tools
|
|
43
|
+
*/
|
|
44
|
+
this.actionStore = new ActionStore([]);
|
|
45
|
+
/**
|
|
46
|
+
* Observable of he anmation state
|
|
47
|
+
*/
|
|
48
|
+
this.animation$ = new BehaviorSubject('none');
|
|
49
|
+
/**
|
|
50
|
+
* Observable of the toolbar
|
|
51
|
+
*/
|
|
52
|
+
this.toolbar$ = new BehaviorSubject([]);
|
|
53
|
+
/**
|
|
54
|
+
* Whether the Toolbar should display actions' titles
|
|
55
|
+
*/
|
|
56
|
+
this.toolbarWithTitle$ = this.activeTool$.pipe(map((tool) => tool === undefined));
|
|
57
|
+
/**
|
|
58
|
+
* Observable of the ongoing animation. This is useful when
|
|
59
|
+
* multiple animations are triggered at once i.e. when the user clicks
|
|
60
|
+
* too fast on different actions
|
|
61
|
+
*/
|
|
62
|
+
this.animating$ = new BehaviorSubject(false);
|
|
63
|
+
/**
|
|
64
|
+
* Whether the toolbox should animate the first tool entering
|
|
65
|
+
*/
|
|
66
|
+
this.animate = false;
|
|
67
|
+
/**
|
|
68
|
+
* Color of Toolbox
|
|
69
|
+
*/
|
|
70
|
+
this.color = ToolboxColor.White;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* @ignore
|
|
74
|
+
*/
|
|
75
|
+
get classColorGrey() {
|
|
76
|
+
return this.color === ToolboxColor.Grey;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* @ignore
|
|
80
|
+
*/
|
|
81
|
+
get classColorPrimary() {
|
|
82
|
+
return this.color === ToolboxColor.Primary;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Initialize the toolbar and subscribe to the active tool
|
|
86
|
+
* @internal
|
|
87
|
+
*/
|
|
88
|
+
ngOnInit() {
|
|
89
|
+
this.toolbar$$ = this.toolbox.toolbar$.subscribe((toolbar) => this.onToolbarChange(toolbar));
|
|
90
|
+
this.activeTool$$ = this.toolbox.activeTool$.subscribe((tool) => this.onActiveToolChange(tool));
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Unsubscribe to the active tool and destroy the action store
|
|
94
|
+
* @internal
|
|
95
|
+
*/
|
|
96
|
+
ngOnDestroy() {
|
|
97
|
+
this.toolbar$$.unsubscribe();
|
|
98
|
+
this.activeTool$$.unsubscribe();
|
|
99
|
+
this.actionStore.destroy();
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Track the starting animation
|
|
103
|
+
* @internal
|
|
104
|
+
*/
|
|
105
|
+
onAnimationStart() {
|
|
106
|
+
this.animating$.next(true);
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Untrack the completed animation
|
|
110
|
+
* @internal
|
|
111
|
+
*/
|
|
112
|
+
onAnimationComplete() {
|
|
113
|
+
this.animating$.next(false);
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Return a tool's inputs
|
|
117
|
+
* @param tool Tool
|
|
118
|
+
* @returns Tool inputs
|
|
119
|
+
* @internal
|
|
120
|
+
*/
|
|
121
|
+
getToolInputs(tool) {
|
|
122
|
+
return tool.options || {};
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Initialize an action store
|
|
126
|
+
* @param toolbar Toolbar
|
|
127
|
+
*/
|
|
128
|
+
onToolbarChange(toolbar) {
|
|
129
|
+
this.setToolbar(toolbar);
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Activate a tool and trigger an animation or not
|
|
133
|
+
* @param tool Tool to activate
|
|
134
|
+
*/
|
|
135
|
+
onActiveToolChange(tool) {
|
|
136
|
+
if (!this.animate) {
|
|
137
|
+
this.setActiveTool(tool);
|
|
138
|
+
return;
|
|
139
|
+
}
|
|
140
|
+
this.onAnimate(() => this.setActiveTool(tool));
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Set the active tool
|
|
144
|
+
* @param tool Tool to activate
|
|
145
|
+
*/
|
|
146
|
+
setActiveTool(tool) {
|
|
147
|
+
if (tool === undefined) {
|
|
148
|
+
this.actionStore.state.updateAll({ active: false });
|
|
149
|
+
}
|
|
150
|
+
else {
|
|
151
|
+
const action = this.actionStore.get(tool.name);
|
|
152
|
+
if (action !== undefined) {
|
|
153
|
+
this.actionStore.state.update(action, { active: true }, true);
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
this.activeTool$.next(tool);
|
|
157
|
+
if (this.animate) {
|
|
158
|
+
this.animation$.next('enter');
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Initialize the toolbar
|
|
163
|
+
*/
|
|
164
|
+
setToolbar(toolbar) {
|
|
165
|
+
const actions = toolbar.reduce((acc, toolName) => {
|
|
166
|
+
const tool = this.toolbox.getTool(toolName);
|
|
167
|
+
if (tool === undefined) {
|
|
168
|
+
return acc;
|
|
169
|
+
}
|
|
170
|
+
acc.push({
|
|
171
|
+
id: tool.name,
|
|
172
|
+
title: tool.title,
|
|
173
|
+
icon: tool.icon,
|
|
174
|
+
// iconImage: tool.iconImage,
|
|
175
|
+
tooltip: tool.tooltip,
|
|
176
|
+
args: [tool, this.toolbox],
|
|
177
|
+
handler: (_tool, _toolbox) => {
|
|
178
|
+
_toolbox.activateTool(_tool.name);
|
|
179
|
+
},
|
|
180
|
+
ngClass: (_tool, _toolbox) => {
|
|
181
|
+
return this.toolbox.activeTool$.pipe(map((activeTool) => {
|
|
182
|
+
let toolActivated = false;
|
|
183
|
+
if (activeTool !== undefined && _tool.name === activeTool.name) {
|
|
184
|
+
toolActivated = true;
|
|
185
|
+
}
|
|
186
|
+
let childrenToolActivated = false;
|
|
187
|
+
if (activeTool !== undefined &&
|
|
188
|
+
_tool.name === activeTool.parent) {
|
|
189
|
+
childrenToolActivated = true;
|
|
190
|
+
}
|
|
191
|
+
return {
|
|
192
|
+
'tool-activated': toolActivated,
|
|
193
|
+
'children-tool-activated': childrenToolActivated
|
|
194
|
+
};
|
|
195
|
+
}));
|
|
196
|
+
}
|
|
197
|
+
});
|
|
198
|
+
return acc;
|
|
199
|
+
}, []);
|
|
200
|
+
this.actionStore.load(actions);
|
|
201
|
+
this.toolbar$.next(toolbar);
|
|
202
|
+
}
|
|
203
|
+
/**
|
|
204
|
+
* Observe the ongoing animation and ignore any incoming animation
|
|
205
|
+
* while one is still ongoing.
|
|
206
|
+
* @param callback Callback to execute when the animation completes
|
|
207
|
+
*/
|
|
208
|
+
onAnimate(callback) {
|
|
209
|
+
this.unAnimate();
|
|
210
|
+
this.animating$$ = this.animating$.subscribe((animation) => {
|
|
211
|
+
if (!animation) {
|
|
212
|
+
callback.call(this);
|
|
213
|
+
this.unAnimate();
|
|
214
|
+
}
|
|
215
|
+
});
|
|
216
|
+
}
|
|
217
|
+
/**
|
|
218
|
+
* Stop observing an animation when it's complete
|
|
219
|
+
*/
|
|
220
|
+
unAnimate() {
|
|
221
|
+
if (this.animating$$) {
|
|
222
|
+
this.animating$$.unsubscribe();
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
ToolboxComponent.ɵfac = function ToolboxComponent_Factory(t) { return new (t || ToolboxComponent)(); };
|
|
227
|
+
ToolboxComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ToolboxComponent, selectors: [["igo-toolbox"]], hostVars: 4, hostBindings: function ToolboxComponent_HostBindings(rf, ctx) { if (rf & 2) {
|
|
228
|
+
i0.ɵɵclassProp("color-grey", ctx.classColorGrey)("color-primary", ctx.classColorPrimary);
|
|
229
|
+
} }, inputs: { toolbox: "toolbox", animate: "animate", color: "color" }, decls: 4, vars: 6, consts: [[3, "store", "withIcon", "withTitle", "withTooltip", "scrollActive", "horizontal", 4, "ngIf"], ["class", "igo-tool-container", 3, "ngClass", 4, "ngIf"], [3, "store", "withIcon", "withTitle", "withTooltip", "scrollActive", "horizontal"], [1, "igo-tool-container", 3, "ngClass"], [3, "component", "inputs"]], template: function ToolboxComponent_Template(rf, ctx) { if (rf & 1) {
|
|
230
|
+
i0.ɵɵtemplate(0, ToolboxComponent_igo_actionbar_0_Template, 4, 12, "igo-actionbar", 0);
|
|
231
|
+
i0.ɵɵpipe(1, "async");
|
|
232
|
+
i0.ɵɵtemplate(2, ToolboxComponent_div_2_Template, 3, 9, "div", 1);
|
|
233
|
+
i0.ɵɵpipe(3, "async");
|
|
234
|
+
} if (rf & 2) {
|
|
235
|
+
i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(1, 2, ctx.toolbar$).length > 0);
|
|
236
|
+
i0.ɵɵadvance(2);
|
|
237
|
+
i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(3, 4, ctx.activeTool$));
|
|
238
|
+
} }, directives: [i1.NgIf, i2.ActionbarComponent, i1.NgClass, i3.DynamicOutletComponent], pipes: [i1.AsyncPipe], styles: ["[_nghost-%COMP%]{display:block;position:relative;overflow:hidden;width:100%;height:100%}.igo-tool-container[_ngcontent-%COMP%]{position:absolute;top:0;bottom:0;left:0;right:0}.igo-tool-container-with-animation[_ngcontent-%COMP%]{transform:translate(100%)}.igo-tool-container-with-toolbar[_ngcontent-%COMP%]{left:50px}igo-actionbar[_ngcontent-%COMP%]{height:100%}igo-actionbar.with-title[_ngcontent-%COMP%]{width:100%;overflow:auto}igo-actionbar[_ngcontent-%COMP%]:not(.with-title){width:48px;overflow:hidden;-o-box-shadow:2px 0px 2px 0px #dddddd;box-shadow:2px 0 2px #ddd}@media only screen and (orientation:portrait) and (max-width: 599px),only screen and (orientation:landscape) and (max-width: 959px){igo-actionbar[_ngcontent-%COMP%]:not(.with-title){overflow:auto}}igo-dynamic-outlet[_ngcontent-%COMP%]{overflow:auto}"], data: { animation: [toolSlideInOut()] }, changeDetection: 0 });
|
|
239
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ToolboxComponent, [{
|
|
240
|
+
type: Component,
|
|
241
|
+
args: [{
|
|
242
|
+
selector: 'igo-toolbox',
|
|
243
|
+
templateUrl: 'toolbox.component.html',
|
|
244
|
+
styleUrls: ['toolbox.component.scss'],
|
|
245
|
+
animations: [toolSlideInOut()],
|
|
246
|
+
changeDetection: ChangeDetectionStrategy.OnPush
|
|
247
|
+
}]
|
|
248
|
+
}], null, { toolbox: [{
|
|
249
|
+
type: Input
|
|
250
|
+
}], animate: [{
|
|
251
|
+
type: Input
|
|
252
|
+
}], color: [{
|
|
253
|
+
type: Input
|
|
254
|
+
}], classColorGrey: [{
|
|
255
|
+
type: HostBinding,
|
|
256
|
+
args: ['class.color-grey']
|
|
257
|
+
}], classColorPrimary: [{
|
|
258
|
+
type: HostBinding,
|
|
259
|
+
args: ['class.color-primary']
|
|
260
|
+
}] }); })();
|
|
261
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2xpYi90b29sL3Rvb2xib3gvdG9vbGJveC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2xpYi90b29sL3Rvb2xib3gvdG9vbGJveC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFHTCxXQUFXLEVBQ1gsdUJBQXVCLEVBQ3hCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBZ0IsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyQyxPQUFPLEVBQVUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRW5ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7OztJQ2hCckQsbUNBUWdCOzs7Ozs7SUFOZCwwQ0FBcUIsa0JBQUEsNkRBQUEseUVBQUEsaUVBQUEscUJBQUE7Ozs7O0lBUXZCLDhCQU1pRDtJQUQvQyxnT0FBNEMsb05BQUE7O0lBRzVDLHdDQUdxQjtJQUV2QixpQkFBTTs7OztJQVZKLCtGQUFpSCw0REFBQTtJQU0vRyxlQUE0QjtJQUE1Qiw2Q0FBNEIseUNBQUE7O0FETWhDLE1BQU0sT0FBTyxnQkFBZ0I7SUFQN0I7UUFRRTs7V0FFRztRQUNILGdCQUFXLEdBQTBCLElBQUksZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRXBFOztXQUVHO1FBQ0gsZ0JBQVcsR0FBZ0IsSUFBSSxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFL0M7O1dBRUc7UUFDSCxlQUFVLEdBQTRCLElBQUksZUFB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Q0FBQztJQUVEOztPQUVHO0lBQ0ssU0FBUztRQUNmLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNwQixJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ2hDO0lBQ0gsQ0FBQzs7Z0ZBbFBVLGdCQUFnQjttRUFBaEIsZ0JBQWdCOzs7UUN6QjdCLHNGQVFnQjs7UUFFaEIsaUVBYU07OztRQXRCSCxvRUFBbUM7UUFVbkMsZUFBMEI7UUFBMUIsNERBQTBCOzI4QkRXZixDQUFDLGNBQWMsRUFBRSxDQUFDO3VGQUduQixnQkFBZ0I7Y0FQNUIsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSxhQUFhO2dCQUN2QixXQUFXLEVBQUUsd0JBQXdCO2dCQUNyQyxTQUFTLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztnQkFDckMsVUFBVSxFQUFFLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQzlCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2FBQ2hEO2dCQXNEVSxPQUFPO2tCQUFmLEtBQUs7WUFLRyxPQUFPO2tCQUFmLEtBQUs7WUFLRyxLQUFLO2tCQUFiLEtBQUs7WUFNRixjQUFjO2tCQURqQixXQUFXO21CQUFDLGtCQUFrQjtZQVMzQixpQkFBaUI7a0JBRHBCLFdBQVc7bUJBQUMscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgSW5wdXQsXHJcbiAgT25EZXN0cm95LFxyXG4gIE9uSW5pdCxcclxuICBIb3N0QmluZGluZyxcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneVxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uLCBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0IHsgQWN0aW9uLCBBY3Rpb25TdG9yZSB9IGZyb20gJy4uLy4uL2FjdGlvbic7XHJcbmltcG9ydCB7IFRvb2wgfSBmcm9tICcuLi9zaGFyZWQvdG9vbC5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBUb29sYm94Q29sb3IgfSBmcm9tICcuLi9zaGFyZWQvdG9vbGJveC5lbnVtcyc7XHJcbmltcG9ydCB7IFRvb2xib3ggfSBmcm9tICcuLi9zaGFyZWQvdG9vbGJveCc7XHJcbmltcG9ydCB7IHRvb2xTbGlkZUluT3V0IH0gZnJvbSAnLi90b29sYm94LmFuaW1hdGlvbic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2lnby10b29sYm94JyxcclxuICB0ZW1wbGF0ZVVybDogJ3Rvb2xib3guY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWyd0b29sYm94LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgYW5pbWF0aW9uczogW3Rvb2xTbGlkZUluT3V0KCldLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUb29sYm94Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIC8qKlxyXG4gICAqIE9ic2VydmFibGUgb2YgdGhlIGFjdGl2ZSB0b29sXHJcbiAgICovXHJcbiAgYWN0aXZlVG9vbCQ6IEJlaGF2aW9yU3ViamVjdDxUb29sPiA9IG5ldyBCZWhhdmlvclN1YmplY3QodW5kZWZpbmVkKTtcclxuXHJcbiAgLyoqXHJcbiAgICogU3RvcmUgb2YgYWN0aW9ucyB0aGF0IHRvZ2dsZSB0b29sc1xyXG4gICAqL1xyXG4gIGFjdGlvblN0b3JlOiBBY3Rpb25TdG9yZSA9IG5ldyBBY3Rpb25TdG9yZShbXSk7XHJcblxyXG4gIC8qKlxyXG4gICAqIE9ic2VydmFibGUgb2YgaGUgYW5tYXRpb24gc3RhdGVcclxuICAgKi9cclxuICBhbmltYXRpb24kOiBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoJ25vbmUnKTtcclxuXHJcbiAgLyoqXHJcbiAgICogT2JzZXJ2YWJsZSBvZiB0aGUgdG9vbGJhclxyXG4gICAqL1xyXG4gIHRvb2xiYXIkOiBCZWhhdmlvclN1YmplY3Q8c3RyaW5nW10+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChbXSk7XHJcblxyXG4gIC8qKlxyXG4gICAqIFdoZXRoZXIgdGhlIFRvb2xiYXIgc2hvdWxkIGRpc3BsYXkgYWN0aW9ucycgdGl0bGVzXHJcbiAgICovXHJcbiAgdG9vbGJhcldpdGhUaXRsZSQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSB0aGlzLmFjdGl2ZVRvb2wkLnBpcGUoXHJcbiAgICBtYXAoKHRvb2w6IFRvb2wgfCB1bmRlZmluZWQpID0+IHRvb2wgPT09IHVuZGVmaW5lZClcclxuICApO1xyXG5cclxuICAvKipcclxuICAgKiBTdWJzY3JpcHRpb24gdG8gdGhlIGFjdGl2ZSB0b29sXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBhY3RpdmVUb29sJCQ6IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgLyoqXHJcbiAgICogU3Vic2NyaXB0aW9uIHRvIHRoZSB0b29sYmFyXHJcbiAgICovXHJcbiAgcHJpdmF0ZSB0b29sYmFyJCQ6IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgLyoqXHJcbiAgICogT2JzZXJ2YWJsZSBvZiB0aGUgb25nb2luZyBhbmltYXRpb24uIFRoaXMgaXMgdXNlZnVsIHdoZW5cclxuICAgKiBtdWx0aXBsZSBhbmltYXRpb25zIGFyZSB0cmlnZ2VyZWQgYXQgb25jZSBpLmUuIHdoZW4gdGhlIHVzZXIgY2xpY2tzXHJcbiAgICogdG9vIGZhc3Qgb24gZGlmZmVyZW50IGFjdGlvbnNcclxuICAgKi9cclxuICBwcml2YXRlIGFuaW1hdGluZyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcclxuXHJcbiAgLyoqXHJcbiAgICogU3Vic2NyaXB0aW9uIHRvIHRoZSBvbmdvaW5nIGFuaW1hdGlvblxyXG4gICAqL1xyXG4gIHByaXZhdGUgYW5pbWF0aW5nJCQ6IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgLyoqXHJcbiAgICogVG9vbGJveFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHRvb2xib3g6IFRvb2xib3g7XHJcblxyXG4gIC8qKlxyXG4gICAqIFdoZXRoZXIgdGhlIHRvb2xib3ggc2hvdWxkIGFuaW1hdGUgdGhlIGZpcnN0IHRvb2wgZW50ZXJpbmdcclxuICAgKi9cclxuICBASW5wdXQoKSBhbmltYXRlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqIENvbG9yIG9mIFRvb2xib3hcclxuICAgKi9cclxuICBASW5wdXQoKSBjb2xvcjogVG9vbGJveENvbG9yID0gVG9vbGJveENvbG9yLldoaXRlO1xyXG5cclxuICAvKipcclxuICAgKiBAaWdub3JlXHJcbiAgICovXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5jb2xvci1ncmV5JylcclxuICBnZXQgY2xhc3NDb2xvckdyZXkoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5jb2xvciA9PT0gVG9vbGJveENvbG9yLkdyZXk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAaWdub3JlXHJcbiAgICovXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5jb2xvci1wcmltYXJ5JylcclxuICBnZXQgY2xhc3NDb2xvclByaW1hcnkoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5jb2xvciA9PT0gVG9vbGJveENvbG9yLlByaW1hcnk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBJbml0aWFsaXplIHRoZSB0b29sYmFyIGFuZCBzdWJzY3JpYmUgdG8gdGhlIGFjdGl2ZSB0b29sXHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnRvb2xiYXIkJCA9IHRoaXMudG9vbGJveC50b29sYmFyJC5zdWJzY3JpYmUoKHRvb2xiYXI6IHN0cmluZ1tdKSA9PlxyXG4gICAgICB0aGlzLm9uVG9vbGJhckNoYW5nZSh0b29sYmFyKVxyXG4gICAgKTtcclxuICAgIHRoaXMuYWN0aXZlVG9vbCQkID0gdGhpcy50b29sYm94LmFjdGl2ZVRvb2wkLnN1YnNjcmliZSgodG9vbDogVG9vbCkgPT5cclxuICAgICAgdGhpcy5vbkFjdGl2ZVRvb2xDaGFuZ2UodG9vbClcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBVbnN1YnNjcmliZSB0byB0aGUgYWN0aXZlIHRvb2wgYW5kIGRlc3Ryb3kgdGhlIGFjdGlvbiBzdG9yZVxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy50b29sYmFyJCQudW5zdWJzY3JpYmUoKTtcclxuICAgIHRoaXMuYWN0aXZlVG9vbCQkLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB0aGlzLmFjdGlvblN0b3JlLmRlc3Ryb3koKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFRyYWNrIHRoZSBzdGFydGluZyBhbmltYXRpb25cclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBvbkFuaW1hdGlvblN0YXJ0KCkge1xyXG4gICAgdGhpcy5hbmltYXRpbmckLm5leHQodHJ1ZSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBVbnRyYWNrIHRoZSBjb21wbGV0ZWQgYW5pbWF0aW9uXHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgb25BbmltYXRpb25Db21wbGV0ZSgpIHtcclxuICAgIHRoaXMuYW5pbWF0aW5nJC5uZXh0KGZhbHNlKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHVybiBhIHRvb2wncyBpbnB1dHNcclxuICAgKiBAcGFyYW0gdG9vbCBUb29sXHJcbiAgICogQHJldHVybnMgVG9vbCBpbnB1dHNcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBnZXRUb29sSW5wdXRzKHRvb2w6IFRvb2wpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9IHtcclxuICAgIHJldHVybiB0b29sLm9wdGlvbnMgfHwge307XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBJbml0aWFsaXplIGFuIGFjdGlvbiBzdG9yZVxyXG4gICAqIEBwYXJhbSB0b29sYmFyIFRvb2xiYXJcclxuICAgKi9cclxuICBwcml2YXRlIG9uVG9vbGJhckNoYW5nZSh0b29sYmFyOiBzdHJpbmdbXSkge1xyXG4gICAgdGhpcy5zZXRUb29sYmFyKHRvb2xiYXIpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQWN0aXZhdGUgYSB0b29sIGFuZCB0cmlnZ2VyIGFuIGFuaW1hdGlvbiBvciBub3RcclxuICAgKiBAcGFyYW0gdG9vbCBUb29sIHRvIGFjdGl2YXRlXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBvbkFjdGl2ZVRvb2xDaGFuZ2UodG9vbDogVG9vbCkge1xyXG4gICAgaWYgKCF0aGlzLmFuaW1hdGUpIHtcclxuICAgICAgdGhpcy5zZXRBY3RpdmVUb29sKHRvb2wpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLm9uQW5pbWF0ZSgoKSA9PiB0aGlzLnNldEFjdGl2ZVRvb2wodG9vbCkpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2V0IHRoZSBhY3RpdmUgdG9vbFxyXG4gICAqIEBwYXJhbSB0b29sIFRvb2wgdG8gYWN0aXZhdGVcclxuICAgKi9cclxuICBwcml2YXRlIHNldEFjdGl2ZVRvb2wodG9vbDogVG9vbCB8IHVuZGVmaW5lZCkge1xyXG4gICAgaWYgKHRvb2wgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICB0aGlzLmFjdGlvblN0b3JlLnN0YXRlLnVwZGF0ZUFsbCh7IGFjdGl2ZTogZmFsc2UgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zdCBhY3Rpb24gPSB0aGlzLmFjdGlvblN0b3JlLmdldCh0b29sLm5hbWUpO1xyXG4gICAgICBpZiAoYWN0aW9uICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICB0aGlzLmFjdGlvblN0b3JlLnN0YXRlLnVwZGF0ZShhY3Rpb24sIHsgYWN0aXZlOiB0cnVlIH0sIHRydWUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5hY3RpdmVUb29sJC5uZXh0KHRvb2wpO1xyXG4gICAgaWYgKHRoaXMuYW5pbWF0ZSkge1xyXG4gICAgICB0aGlzLmFuaW1hdGlvbiQubmV4dCgnZW50ZXInKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEluaXRpYWxpemUgdGhlIHRvb2xiYXJcclxuICAgKi9cclxuICBwcml2YXRlIHNldFRvb2xiYXIodG9vbGJhcjogc3RyaW5nW10pIHtcclxuICAgIGNvbnN0IGFjdGlvbnMgPSB0b29sYmFyLnJlZHVjZSgoYWNjOiBBY3Rpb25bXSwgdG9vbE5hbWU6IHN0cmluZykgPT4ge1xyXG4gICAgICBjb25zdCB0b29sID0gdGhpcy50b29sYm94LmdldFRvb2wodG9vbE5hbWUpO1xyXG4gICAgICBpZiAodG9vbCA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgcmV0dXJuIGFjYztcclxuICAgICAgfVxyXG5cclxuICAgICAgYWNjLnB1c2goe1xyXG4gICAgICAgIGlkOiB0b29sLm5hbWUsXHJcbiAgICAgICAgdGl0bGU6IHRvb2wudGl0bGUsXHJcbiAgICAgICAgaWNvbjogdG9vbC5pY29uLFxyXG4gICAgICAgIC8vIGljb25JbWFnZTogdG9vbC5pY29uSW1hZ2UsXHJcbiAgICAgICAgdG9vbHRpcDogdG9vbC50b29sdGlwLFxyXG4gICAgICAgIGFyZ3M6IFt0b29sLCB0aGlzLnRvb2xib3hdLFxyXG4gICAgICAgIGhhbmRsZXI6IChfdG9vbDogVG9vbCwgX3Rvb2xib3g6IFRvb2xib3gpID0+IHtcclxuICAgICAgICAgIF90b29sYm94LmFjdGl2YXRlVG9vbChfdG9vbC5uYW1lKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIG5nQ2xhc3M6IChfdG9vbDogVG9vbCwgX3Rvb2xib3g6IFRvb2xib3gpID0+IHtcclxuICAgICAgICAgIHJldHVybiB0aGlzLnRvb2xib3guYWN0aXZlVG9vbCQucGlwZShcclxuICAgICAgICAgICAgbWFwKChhY3RpdmVUb29sOiBUb29sKSA9PiB7XHJcbiAgICAgICAgICAgICAgbGV0IHRvb2xBY3RpdmF0ZWQgPSBmYWxzZTtcclxuICAgICAgICAgICAgICBpZiAoYWN0aXZlVG9vbCAhPT0gdW5kZWZpbmVkICYmIF90b29sLm5hbWUgPT09IGFjdGl2ZVRvb2wubmFtZSkge1xyXG4gICAgICAgICAgICAgICAgdG9vbEFjdGl2YXRlZCA9IHRydWU7XHJcbiAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICBsZXQgY2hpbGRyZW5Ub29sQWN0aXZhdGVkID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICAgICAgYWN0aXZlVG9vbCAhPT0gdW5kZWZpbmVkICYmXHJcbiAgICAgICAgICAgICAgICBfdG9vbC5uYW1lID09PSBhY3RpdmVUb29sLnBhcmVudFxyXG4gICAgICAgICAgICAgICkge1xyXG4gICAgICAgICAgICAgICAgY2hpbGRyZW5Ub29sQWN0aXZhdGVkID0gdHJ1ZTtcclxuICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICAndG9vbC1hY3RpdmF0ZWQnOiB0b29sQWN0aXZhdGVkLFxyXG4gICAgICAgICAgICAgICAgJ2NoaWxkcmVuLXRvb2wtYWN0aXZhdGVkJzogY2hpbGRyZW5Ub29sQWN0aXZhdGVkXHJcbiAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgICAgcmV0dXJuIGFjYztcclxuICAgIH0sIFtdKTtcclxuICAgIHRoaXMuYWN0aW9uU3RvcmUubG9hZChhY3Rpb25zKTtcclxuICAgIHRoaXMudG9vbGJhciQubmV4dCh0b29sYmFyKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE9ic2VydmUgdGhlIG9uZ29pbmcgYW5pbWF0aW9uIGFuZCBpZ25vcmUgYW55IGluY29taW5nIGFuaW1hdGlvblxyXG4gICAqIHdoaWxlIG9uZSBpcyBzdGlsbCBvbmdvaW5nLlxyXG4gICAqIEBwYXJhbSBjYWxsYmFjayBDYWxsYmFjayB0byBleGVjdXRlIHdoZW4gdGhlIGFuaW1hdGlvbiBjb21wbGV0ZXNcclxuICAgKi9cclxuICBwcml2YXRlIG9uQW5pbWF0ZShjYWxsYmFjazogKCkgPT4gdm9pZCkge1xyXG4gICAgdGhpcy51bkFuaW1hdGUoKTtcclxuICAgIHRoaXMuYW5pbWF0aW5nJCQgPSB0aGlzLmFuaW1hdGluZyQuc3Vic2NyaWJlKChhbmltYXRpb246IGJvb2xlYW4pID0+IHtcclxuICAgICAgaWYgKCFhbmltYXRpb24pIHtcclxuICAgICAgICBjYWxsYmFjay5jYWxsKHRoaXMpO1xyXG4gICAgICAgIHRoaXMudW5BbmltYXRlKCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU3RvcCBvYnNlcnZpbmcgYW4gYW5pbWF0aW9uIHdoZW4gaXQncyBjb21wbGV0ZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgdW5BbmltYXRlKCkge1xyXG4gICAgaWYgKHRoaXMuYW5pbWF0aW5nJCQpIHtcclxuICAgICAgdGhpcy5hbmltYXRpbmckJC51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8aWdvLWFjdGlvbmJhclxyXG4gICpuZ0lmPVwiKHRvb2xiYXIkIHwgYXN5bmMpLmxlbmd0aCA+IDBcIlxyXG4gIFtzdG9yZV09XCJhY3Rpb25TdG9yZVwiXHJcbiAgW3dpdGhJY29uXT1cInRydWVcIlxyXG4gIFt3aXRoVGl0bGVdPVwidG9vbGJhcldpdGhUaXRsZSQgfCBhc3luY1wiXHJcbiAgW3dpdGhUb29sdGlwXT1cIih0b29sYmFyV2l0aFRpdGxlJCB8IGFzeW5jKSA9PT0gZmFsc2VcIlxyXG4gIFtzY3JvbGxBY3RpdmVdPVwidG9vbGJhcldpdGhUaXRsZSQgfCBhc3luY1wiXHJcbiAgW2hvcml6b250YWxdPVwiZmFsc2VcIj5cclxuPC9pZ28tYWN0aW9uYmFyPlxyXG5cclxuPGRpdlxyXG4gICpuZ0lmPVwiYWN0aXZlVG9vbCQgfCBhc3luYyBhcyB0b29sXCJcclxuICBjbGFzcz1cImlnby10b29sLWNvbnRhaW5lclwiXHJcbiAgW25nQ2xhc3NdPVwieydpZ28tdG9vbC1jb250YWluZXItd2l0aC10b29sYmFyJzogIWFjdGlvblN0b3JlLmVtcHR5LCAnaWdvLXRvb2wtY29udGFpbmVyLXdpdGgtYW5pbWF0aW9uJzogYW5pbWF0ZX1cIlxyXG4gIFtAdG9vbFNsaWRlSW5PdXRdPVwiYW5pbWF0aW9uJCB8IGFzeW5jXCJcclxuICAoQHRvb2xTbGlkZUluT3V0LnN0YXJ0KT1cIm9uQW5pbWF0aW9uU3RhcnQoKVwiXHJcbiAgKEB0b29sU2xpZGVJbk91dC5kb25lKT1cIm9uQW5pbWF0aW9uQ29tcGxldGUoKVwiPlxyXG5cclxuICA8aWdvLWR5bmFtaWMtb3V0bGV0XHJcbiAgICBbY29tcG9uZW50XT1cInRvb2wuY29tcG9uZW50XCJcclxuICAgIFtpbnB1dHNdPVwiZ2V0VG9vbElucHV0cyh0b29sKVwiPlxyXG4gIDwvaWdvLWR5bmFtaWMtb3V0bGV0PlxyXG5cclxuPC9kaXY+XHJcbiJdfQ==
|