@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,137 +1,137 @@
|
|
|
1
|
-
import { Directive, Input,
|
|
2
|
-
import scrollIntoView from 'scroll-into-view-if-needed';
|
|
3
|
-
import { EntityTableScrollBehavior } from '../shared/entity.enums';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
/**
|
|
6
|
-
* Directive that handles an entity table row click and selection.
|
|
7
|
-
*/
|
|
8
|
-
export class EntityTableRowDirective {
|
|
9
|
-
constructor(renderer, el) {
|
|
10
|
-
this.renderer = renderer;
|
|
11
|
-
this.el = el;
|
|
12
|
-
/**
|
|
13
|
-
* Whether a row supports selection
|
|
14
|
-
*/
|
|
15
|
-
this.selection = false;
|
|
16
|
-
/**
|
|
17
|
-
* Whether clicking a row should select it (if selection is true)
|
|
18
|
-
*/
|
|
19
|
-
this.selectOnClick = true;
|
|
20
|
-
/**
|
|
21
|
-
* Whether the selected row should be highlighted
|
|
22
|
-
*/
|
|
23
|
-
this.highlightSelection = true;
|
|
24
|
-
this._selected = false;
|
|
25
|
-
/**
|
|
26
|
-
* Scroll behavior on selection
|
|
27
|
-
*/
|
|
28
|
-
this.scrollBehavior = EntityTableScrollBehavior.Auto;
|
|
29
|
-
/**
|
|
30
|
-
* Event emitted when a row is selected
|
|
31
|
-
*/
|
|
32
|
-
this.select = new EventEmitter();
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* Whether a row is selected
|
|
36
|
-
*/
|
|
37
|
-
set selected(value) {
|
|
38
|
-
if (this.selection === false) {
|
|
39
|
-
return;
|
|
40
|
-
}
|
|
41
|
-
if (value === this._selected) {
|
|
42
|
-
return;
|
|
43
|
-
}
|
|
44
|
-
this.toggleSelected(value);
|
|
45
|
-
this.scroll();
|
|
46
|
-
}
|
|
47
|
-
get selected() {
|
|
48
|
-
return this._selected;
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* When a row is clicked, select it if it's supported
|
|
52
|
-
* @ignore
|
|
53
|
-
*/
|
|
54
|
-
onClick() {
|
|
55
|
-
if (this.selection === false || this.selectOnClick === false) {
|
|
56
|
-
return;
|
|
57
|
-
}
|
|
58
|
-
this.toggleSelected(true);
|
|
59
|
-
this.select.emit(this);
|
|
60
|
-
}
|
|
61
|
-
/**
|
|
62
|
-
* Select a row and add or remove the selected class from it
|
|
63
|
-
* @param selected Whether the row should be selected
|
|
64
|
-
*/
|
|
65
|
-
toggleSelected(selected) {
|
|
66
|
-
this._selected = selected;
|
|
67
|
-
if (selected === true) {
|
|
68
|
-
this.addCls(EntityTableRowDirective.selectedCls);
|
|
69
|
-
if (this.highlightSelection === true) {
|
|
70
|
-
this.addCls(EntityTableRowDirective.highlightedCls);
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
else {
|
|
74
|
-
this.removeCls(EntityTableRowDirective.selectedCls);
|
|
75
|
-
this.removeCls(EntityTableRowDirective.highlightedCls);
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
/**
|
|
79
|
-
* Scroll to the selected row
|
|
80
|
-
*/
|
|
81
|
-
scroll() {
|
|
82
|
-
if (this._selected === true) {
|
|
83
|
-
scrollIntoView(this.el.nativeElement, {
|
|
84
|
-
scrollMode: 'if-needed',
|
|
85
|
-
behavior: 'smooth',
|
|
86
|
-
block: 'end',
|
|
87
|
-
inline: 'nearest'
|
|
88
|
-
});
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
/**
|
|
92
|
-
* Add the selected CSS class
|
|
93
|
-
*/
|
|
94
|
-
addCls(cls) {
|
|
95
|
-
this.renderer.addClass(this.el.nativeElement, cls);
|
|
96
|
-
}
|
|
97
|
-
/**
|
|
98
|
-
* Remove the selected CSS class
|
|
99
|
-
*/
|
|
100
|
-
removeCls(cls) {
|
|
101
|
-
this.renderer.removeClass(this.el.nativeElement, cls);
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
/**
|
|
105
|
-
* Class added to a selected row
|
|
106
|
-
*/
|
|
107
|
-
EntityTableRowDirective.selectedCls = 'igo-entity-table-row-selected';
|
|
108
|
-
/**
|
|
109
|
-
* Class added to a highlighted row
|
|
110
|
-
*/
|
|
111
|
-
EntityTableRowDirective.highlightedCls = 'igo-entity-table-row-highlighted';
|
|
112
|
-
EntityTableRowDirective.ɵfac = function EntityTableRowDirective_Factory(t) { return new (t || EntityTableRowDirective)(i0.ɵɵdirectiveInject(i0.Renderer2), i0.ɵɵdirectiveInject(i0.ElementRef)); };
|
|
113
|
-
EntityTableRowDirective.ɵdir = i0.ɵɵdefineDirective({ type: EntityTableRowDirective, selectors: [["", "igoEntityTableRow", ""]], hostBindings: function EntityTableRowDirective_HostBindings(rf, ctx) { if (rf & 1) {
|
|
114
|
-
i0.ɵɵlistener("click", function EntityTableRowDirective_click_HostBindingHandler() { return ctx.onClick(); });
|
|
115
|
-
} }, inputs: { selection: "selection", selectOnClick: "selectOnClick", highlightSelection: "highlightSelection", selected: "selected", scrollBehavior: "scrollBehavior" }, outputs: { select: "select" } });
|
|
116
|
-
|
|
117
|
-
type: Directive,
|
|
118
|
-
args: [{
|
|
119
|
-
selector: '[igoEntityTableRow]'
|
|
120
|
-
}]
|
|
121
|
-
}], function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }]; }, { selection: [{
|
|
122
|
-
type: Input
|
|
123
|
-
}], selectOnClick: [{
|
|
124
|
-
type: Input
|
|
125
|
-
}], highlightSelection: [{
|
|
126
|
-
type: Input
|
|
127
|
-
}], selected: [{
|
|
128
|
-
type: Input
|
|
129
|
-
}], scrollBehavior: [{
|
|
130
|
-
type: Input
|
|
131
|
-
}], select: [{
|
|
132
|
-
type: Output
|
|
133
|
-
}], onClick: [{
|
|
134
|
-
type: HostListener,
|
|
135
|
-
args: ['click']
|
|
136
|
-
}] }); })();
|
|
137
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Directive, Input, EventEmitter, Output, HostListener } from '@angular/core';
|
|
2
|
+
import scrollIntoView from 'scroll-into-view-if-needed';
|
|
3
|
+
import { EntityTableScrollBehavior } from '../shared/entity.enums';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
/**
|
|
6
|
+
* Directive that handles an entity table row click and selection.
|
|
7
|
+
*/
|
|
8
|
+
export class EntityTableRowDirective {
|
|
9
|
+
constructor(renderer, el) {
|
|
10
|
+
this.renderer = renderer;
|
|
11
|
+
this.el = el;
|
|
12
|
+
/**
|
|
13
|
+
* Whether a row supports selection
|
|
14
|
+
*/
|
|
15
|
+
this.selection = false;
|
|
16
|
+
/**
|
|
17
|
+
* Whether clicking a row should select it (if selection is true)
|
|
18
|
+
*/
|
|
19
|
+
this.selectOnClick = true;
|
|
20
|
+
/**
|
|
21
|
+
* Whether the selected row should be highlighted
|
|
22
|
+
*/
|
|
23
|
+
this.highlightSelection = true;
|
|
24
|
+
this._selected = false;
|
|
25
|
+
/**
|
|
26
|
+
* Scroll behavior on selection
|
|
27
|
+
*/
|
|
28
|
+
this.scrollBehavior = EntityTableScrollBehavior.Auto;
|
|
29
|
+
/**
|
|
30
|
+
* Event emitted when a row is selected
|
|
31
|
+
*/
|
|
32
|
+
this.select = new EventEmitter();
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Whether a row is selected
|
|
36
|
+
*/
|
|
37
|
+
set selected(value) {
|
|
38
|
+
if (this.selection === false) {
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
if (value === this._selected) {
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
this.toggleSelected(value);
|
|
45
|
+
this.scroll();
|
|
46
|
+
}
|
|
47
|
+
get selected() {
|
|
48
|
+
return this._selected;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* When a row is clicked, select it if it's supported
|
|
52
|
+
* @ignore
|
|
53
|
+
*/
|
|
54
|
+
onClick() {
|
|
55
|
+
if (this.selection === false || this.selectOnClick === false) {
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
this.toggleSelected(true);
|
|
59
|
+
this.select.emit(this);
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Select a row and add or remove the selected class from it
|
|
63
|
+
* @param selected Whether the row should be selected
|
|
64
|
+
*/
|
|
65
|
+
toggleSelected(selected) {
|
|
66
|
+
this._selected = selected;
|
|
67
|
+
if (selected === true) {
|
|
68
|
+
this.addCls(EntityTableRowDirective.selectedCls);
|
|
69
|
+
if (this.highlightSelection === true) {
|
|
70
|
+
this.addCls(EntityTableRowDirective.highlightedCls);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
this.removeCls(EntityTableRowDirective.selectedCls);
|
|
75
|
+
this.removeCls(EntityTableRowDirective.highlightedCls);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Scroll to the selected row
|
|
80
|
+
*/
|
|
81
|
+
scroll() {
|
|
82
|
+
if (this._selected === true) {
|
|
83
|
+
scrollIntoView(this.el.nativeElement, {
|
|
84
|
+
scrollMode: 'if-needed',
|
|
85
|
+
behavior: 'smooth',
|
|
86
|
+
block: 'end',
|
|
87
|
+
inline: 'nearest'
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Add the selected CSS class
|
|
93
|
+
*/
|
|
94
|
+
addCls(cls) {
|
|
95
|
+
this.renderer.addClass(this.el.nativeElement, cls);
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Remove the selected CSS class
|
|
99
|
+
*/
|
|
100
|
+
removeCls(cls) {
|
|
101
|
+
this.renderer.removeClass(this.el.nativeElement, cls);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Class added to a selected row
|
|
106
|
+
*/
|
|
107
|
+
EntityTableRowDirective.selectedCls = 'igo-entity-table-row-selected';
|
|
108
|
+
/**
|
|
109
|
+
* Class added to a highlighted row
|
|
110
|
+
*/
|
|
111
|
+
EntityTableRowDirective.highlightedCls = 'igo-entity-table-row-highlighted';
|
|
112
|
+
EntityTableRowDirective.ɵfac = function EntityTableRowDirective_Factory(t) { return new (t || EntityTableRowDirective)(i0.ɵɵdirectiveInject(i0.Renderer2), i0.ɵɵdirectiveInject(i0.ElementRef)); };
|
|
113
|
+
EntityTableRowDirective.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: EntityTableRowDirective, selectors: [["", "igoEntityTableRow", ""]], hostBindings: function EntityTableRowDirective_HostBindings(rf, ctx) { if (rf & 1) {
|
|
114
|
+
i0.ɵɵlistener("click", function EntityTableRowDirective_click_HostBindingHandler() { return ctx.onClick(); });
|
|
115
|
+
} }, inputs: { selection: "selection", selectOnClick: "selectOnClick", highlightSelection: "highlightSelection", selected: "selected", scrollBehavior: "scrollBehavior" }, outputs: { select: "select" } });
|
|
116
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(EntityTableRowDirective, [{
|
|
117
|
+
type: Directive,
|
|
118
|
+
args: [{
|
|
119
|
+
selector: '[igoEntityTableRow]'
|
|
120
|
+
}]
|
|
121
|
+
}], function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }]; }, { selection: [{
|
|
122
|
+
type: Input
|
|
123
|
+
}], selectOnClick: [{
|
|
124
|
+
type: Input
|
|
125
|
+
}], highlightSelection: [{
|
|
126
|
+
type: Input
|
|
127
|
+
}], selected: [{
|
|
128
|
+
type: Input
|
|
129
|
+
}], scrollBehavior: [{
|
|
130
|
+
type: Input
|
|
131
|
+
}], select: [{
|
|
132
|
+
type: Output
|
|
133
|
+
}], onClick: [{
|
|
134
|
+
type: HostListener,
|
|
135
|
+
args: ['click']
|
|
136
|
+
}] }); })();
|
|
137
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LXRhYmxlLXJvdy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2xpYi9lbnRpdHkvZW50aXR5LXRhYmxlL2VudGl0eS10YWJsZS1yb3cuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUdMLFlBQVksRUFDWixNQUFNLEVBQ04sWUFBWSxFQUNiLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sY0FBYyxNQUFNLDRCQUE0QixDQUFDO0FBRXhELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQUVuRTs7R0FFRztBQUlILE1BQU0sT0FBTyx1QkFBdUI7SUFvRWxDLFlBQW9CLFFBQW1CLEVBQVUsRUFBYztRQUEzQyxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQVUsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQXhEL0Q7O1dBRUc7UUFDTSxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBRTNCOztXQUVHO1FBQ00sa0JBQWEsR0FBWSxJQUFJLENBQUM7UUFFdkM7O1dBRUc7UUFDTSx1QkFBa0IsR0FBWSxJQUFJLENBQUM7UUFnQnBDLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFFMUI7O1dBRUc7UUFFSCxtQkFBYyxHQUE4Qix5QkFBeUIsQ0FBQyxJQUFJLENBQUM7UUFFM0U7O1dBRUc7UUFDTyxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQTJCLENBQUM7SUFnQkcsQ0FBQztJQXpDbkU7O09BRUc7SUFDSCxJQUNJLFFBQVEsQ0FBQyxLQUFjO1FBQ3pCLElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxLQUFLLEVBQUU7WUFBRSxPQUFPO1NBQUU7UUFDekMsSUFBSSxLQUFLLEtBQUssSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUFFLE9BQU87U0FBRTtRQUV6QyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNoQixDQUFDO0lBQ0QsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFjRDs7O09BR0c7SUFFSCxPQUFPO1FBQ0wsSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLEtBQUssSUFBSSxJQUFJLENBQUMsYUFBYSxLQUFLLEtBQUssRUFBRTtZQUM1RCxPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFJRDs7O09BR0c7SUFDSyxjQUFjLENBQUMsUUFBaUI7UUFDdEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7UUFDMUIsSUFBSSxRQUFRLEtBQUssSUFBSSxFQUFFO1lBQ3JCLElBQUksQ0FBQyxNQUFNLENBQUMsdUJBQXVCLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDakQsSUFBSSxJQUFJLENBQUMsa0JBQWtCLEtBQUssSUFBSSxFQUFFO2dCQUNwQyxJQUFJLENBQUMsTUFBTSxDQUFDLHVCQUF1QixDQUFDLGNBQWMsQ0FBQyxDQUFDO2FBQ3JEO1NBQ0Y7YUFBTTtZQUNMLElBQUksQ0FBQyxTQUFTLENBQUMsdUJBQXVCLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDcEQsSUFBSSxDQUFDLFNBQVMsQ0FBQyx1QkFBdUIsQ0FBQyxjQUFjLENBQUMsQ0FBQztTQUN4RDtJQUNILENBQUM7SUFFRDs7T0FFRztJQUNLLE1BQU07UUFDWixJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssSUFBSSxFQUFFO1lBQzNCLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRTtnQkFDcEMsVUFBVSxFQUFFLFdBQVc7Z0JBQ3ZCLFFBQVEsRUFBRSxRQUFRO2dCQUNsQixLQUFLLEVBQUUsS0FBSztnQkFDWixNQUFNLEVBQUUsU0FBUzthQUNsQixDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFFRDs7T0FFRztJQUNLLE1BQU0sQ0FBQyxHQUFXO1FBQ3hCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRDs7T0FFRztJQUNLLFNBQVMsQ0FBQyxHQUFXO1FBQzNCLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3hELENBQUM7O0FBL0dEOztHQUVHO0FBQ0ksbUNBQVcsR0FBRywrQkFBK0IsQ0FBQztBQUVyRDs7R0FFRztBQUNJLHNDQUFjLEdBQUcsa0NBQWtDLENBQUM7OEZBVmhELHVCQUF1QjswRUFBdkIsdUJBQXVCO29HQUF2QixhQUFTOzt1RkFBVCx1QkFBdUI7Y0FIbkMsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSxxQkFBcUI7YUFDaEM7cUZBZ0JVLFNBQVM7a0JBQWpCLEtBQUs7WUFLRyxhQUFhO2tCQUFyQixLQUFLO1lBS0csa0JBQWtCO2tCQUExQixLQUFLO1lBTUYsUUFBUTtrQkFEWCxLQUFLO1lBaUJOLGNBQWM7a0JBRGIsS0FBSztZQU1JLE1BQU07a0JBQWYsTUFBTTtZQU9QLE9BQU87a0JBRE4sWUFBWTttQkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBEaXJlY3RpdmUsXHJcbiAgSW5wdXQsXHJcbiAgRWxlbWVudFJlZixcclxuICBSZW5kZXJlcjIsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIE91dHB1dCxcclxuICBIb3N0TGlzdGVuZXJcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCBzY3JvbGxJbnRvVmlldyBmcm9tICdzY3JvbGwtaW50by12aWV3LWlmLW5lZWRlZCc7XHJcblxyXG5pbXBvcnQgeyBFbnRpdHlUYWJsZVNjcm9sbEJlaGF2aW9yIH0gZnJvbSAnLi4vc2hhcmVkL2VudGl0eS5lbnVtcyc7XHJcblxyXG4vKipcclxuICogRGlyZWN0aXZlIHRoYXQgaGFuZGxlcyBhbiBlbnRpdHkgdGFibGUgcm93IGNsaWNrIGFuZCBzZWxlY3Rpb24uXHJcbiAqL1xyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1tpZ29FbnRpdHlUYWJsZVJvd10nXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFbnRpdHlUYWJsZVJvd0RpcmVjdGl2ZSB7XHJcblxyXG4gIC8qKlxyXG4gICAqIENsYXNzIGFkZGVkIHRvIGEgc2VsZWN0ZWQgcm93XHJcbiAgICovXHJcbiAgc3RhdGljIHNlbGVjdGVkQ2xzID0gJ2lnby1lbnRpdHktdGFibGUtcm93LXNlbGVjdGVkJztcclxuXHJcbiAgLyoqXHJcbiAgICogQ2xhc3MgYWRkZWQgdG8gYSBoaWdobGlnaHRlZCByb3dcclxuICAgKi9cclxuICBzdGF0aWMgaGlnaGxpZ2h0ZWRDbHMgPSAnaWdvLWVudGl0eS10YWJsZS1yb3ctaGlnaGxpZ2h0ZWQnO1xyXG5cclxuICAvKipcclxuICAgKiBXaGV0aGVyIGEgcm93IHN1cHBvcnRzIHNlbGVjdGlvblxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHNlbGVjdGlvbiA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBXaGV0aGVyIGNsaWNraW5nIGEgcm93IHNob3VsZCBzZWxlY3QgaXQgKGlmIHNlbGVjdGlvbiBpcyB0cnVlKVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHNlbGVjdE9uQ2xpY2s6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAvKipcclxuICAgKiBXaGV0aGVyIHRoZSBzZWxlY3RlZCByb3cgc2hvdWxkIGJlIGhpZ2hsaWdodGVkXHJcbiAgICovXHJcbiAgQElucHV0KCkgaGlnaGxpZ2h0U2VsZWN0aW9uOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgLyoqXHJcbiAgICogV2hldGhlciBhIHJvdyBpcyBzZWxlY3RlZFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IHNlbGVjdGVkKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICBpZiAodGhpcy5zZWxlY3Rpb24gPT09IGZhbHNlKSB7IHJldHVybjsgfVxyXG4gICAgaWYgKHZhbHVlID09PSB0aGlzLl9zZWxlY3RlZCkgeyByZXR1cm47IH1cclxuXHJcbiAgICB0aGlzLnRvZ2dsZVNlbGVjdGVkKHZhbHVlKTtcclxuICAgIHRoaXMuc2Nyb2xsKCk7XHJcbiAgfVxyXG4gIGdldCBzZWxlY3RlZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLl9zZWxlY3RlZDtcclxuICB9XHJcbiAgcHJpdmF0ZSBfc2VsZWN0ZWQgPSBmYWxzZTtcclxuXHJcbiAgLyoqXHJcbiAgICogU2Nyb2xsIGJlaGF2aW9yIG9uIHNlbGVjdGlvblxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgc2Nyb2xsQmVoYXZpb3I6IEVudGl0eVRhYmxlU2Nyb2xsQmVoYXZpb3IgPSBFbnRpdHlUYWJsZVNjcm9sbEJlaGF2aW9yLkF1dG87XHJcblxyXG4gIC8qKlxyXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiBhIHJvdyBpcyBzZWxlY3RlZFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBzZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPEVudGl0eVRhYmxlUm93RGlyZWN0aXZlPigpO1xyXG5cclxuICAvKipcclxuICAgKiBXaGVuIGEgcm93IGlzIGNsaWNrZWQsIHNlbGVjdCBpdCBpZiBpdCdzIHN1cHBvcnRlZFxyXG4gICAqIEBpZ25vcmVcclxuICAgKi9cclxuICBASG9zdExpc3RlbmVyKCdjbGljaycpXHJcbiAgb25DbGljaygpIHtcclxuICAgIGlmICh0aGlzLnNlbGVjdGlvbiA9PT0gZmFsc2UgfHwgdGhpcy5zZWxlY3RPbkNsaWNrID09PSBmYWxzZSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy50b2dnbGVTZWxlY3RlZCh0cnVlKTtcclxuICAgIHRoaXMuc2VsZWN0LmVtaXQodGhpcyk7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsIHByaXZhdGUgZWw6IEVsZW1lbnRSZWYpIHt9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNlbGVjdCBhIHJvdyBhbmQgYWRkIG9yIHJlbW92ZSB0aGUgc2VsZWN0ZWQgY2xhc3MgZnJvbSBpdFxyXG4gICAqIEBwYXJhbSBzZWxlY3RlZCBXaGV0aGVyIHRoZSByb3cgc2hvdWxkIGJlIHNlbGVjdGVkXHJcbiAgICovXHJcbiAgcHJpdmF0ZSB0b2dnbGVTZWxlY3RlZChzZWxlY3RlZDogYm9vbGVhbikge1xyXG4gICAgdGhpcy5fc2VsZWN0ZWQgPSBzZWxlY3RlZDtcclxuICAgIGlmIChzZWxlY3RlZCA9PT0gdHJ1ZSkge1xyXG4gICAgICB0aGlzLmFkZENscyhFbnRpdHlUYWJsZVJvd0RpcmVjdGl2ZS5zZWxlY3RlZENscyk7XHJcbiAgICAgIGlmICh0aGlzLmhpZ2hsaWdodFNlbGVjdGlvbiA9PT0gdHJ1ZSkge1xyXG4gICAgICAgIHRoaXMuYWRkQ2xzKEVudGl0eVRhYmxlUm93RGlyZWN0aXZlLmhpZ2hsaWdodGVkQ2xzKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5yZW1vdmVDbHMoRW50aXR5VGFibGVSb3dEaXJlY3RpdmUuc2VsZWN0ZWRDbHMpO1xyXG4gICAgICB0aGlzLnJlbW92ZUNscyhFbnRpdHlUYWJsZVJvd0RpcmVjdGl2ZS5oaWdobGlnaHRlZENscyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTY3JvbGwgdG8gdGhlIHNlbGVjdGVkIHJvd1xyXG4gICAqL1xyXG4gIHByaXZhdGUgc2Nyb2xsKCkge1xyXG4gICAgaWYgKHRoaXMuX3NlbGVjdGVkID09PSB0cnVlKSB7XHJcbiAgICAgIHNjcm9sbEludG9WaWV3KHRoaXMuZWwubmF0aXZlRWxlbWVudCwge1xyXG4gICAgICAgIHNjcm9sbE1vZGU6ICdpZi1uZWVkZWQnLFxyXG4gICAgICAgIGJlaGF2aW9yOiAnc21vb3RoJyxcclxuICAgICAgICBibG9jazogJ2VuZCcsXHJcbiAgICAgICAgaW5saW5lOiAnbmVhcmVzdCdcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBZGQgdGhlIHNlbGVjdGVkIENTUyBjbGFzc1xyXG4gICAqL1xyXG4gIHByaXZhdGUgYWRkQ2xzKGNsczogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgY2xzKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlbW92ZSB0aGUgc2VsZWN0ZWQgQ1NTIGNsYXNzXHJcbiAgICovXHJcbiAgcHJpdmF0ZSByZW1vdmVDbHMoY2xzOiBzdHJpbmcpIHtcclxuICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5lbC5uYXRpdmVFbGVtZW50LCBjbHMpO1xyXG4gIH1cclxufVxyXG4iXX0=
|