@igo2/common 1.12.1 → 1.13.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/{esm2015/igo2-common.js → esm2020/igo2-common.mjs} +0 -0
- package/{esm2015/lib/action/action.module.js → esm2020/lib/action/action.module.mjs} +3 -5
- package/esm2020/lib/action/actionbar/actionbar-item.component.mjs +252 -0
- package/esm2020/lib/action/actionbar/actionbar.component.mjs +370 -0
- package/{esm2015/lib/action/actionbar/actionbar.module.js → esm2020/lib/action/actionbar/actionbar.module.mjs} +10 -12
- package/{esm2015/lib/action/index.js → esm2020/lib/action/index.mjs} +1 -1
- package/{esm2015/lib/action/shared/action.enums.js → esm2020/lib/action/shared/action.enums.mjs} +1 -1
- package/esm2020/lib/action/shared/action.interfaces.mjs +2 -0
- package/{esm2015/lib/action/shared/index.js → esm2020/lib/action/shared/index.mjs} +1 -1
- package/{esm2015/lib/action/shared/store.js → esm2020/lib/action/shared/store.mjs} +1 -1
- package/{esm2015/lib/backdrop/backdrop.component.js → esm2020/lib/backdrop/backdrop.component.mjs} +3 -7
- package/{esm2015/lib/backdrop/backdrop.module.js → esm2020/lib/backdrop/backdrop.module.mjs} +2 -2
- package/{esm2015/lib/backdrop/index.js → esm2020/lib/backdrop/index.mjs} +1 -1
- package/{esm2015/lib/badge-icon/badge-icon.directive.js → esm2020/lib/badge-icon/badge-icon.directive.mjs} +1 -1
- package/{esm2015/lib/badge-icon/badge-icon.module.js → esm2020/lib/badge-icon/badge-icon.module.mjs} +2 -2
- package/{esm2015/lib/badge-icon/index.js → esm2020/lib/badge-icon/index.mjs} +1 -1
- package/{esm2015/lib/clickout/clickout.directive.js → esm2020/lib/clickout/clickout.directive.mjs} +1 -1
- package/{esm2015/lib/clickout/clickout.module.js → esm2020/lib/clickout/clickout.module.mjs} +2 -2
- package/{esm2015/lib/clickout/index.js → esm2020/lib/clickout/index.mjs} +1 -1
- package/{esm2015/lib/clone/clone.module.js → esm2020/lib/clone/clone.module.mjs} +2 -2
- package/{esm2015/lib/clone/clone.pipe.js → esm2020/lib/clone/clone.pipe.mjs} +1 -1
- package/{esm2015/lib/clone/index.js → esm2020/lib/clone/index.mjs} +1 -1
- package/{esm2015/lib/collapsible/collapse.directive.js → esm2020/lib/collapsible/collapse.directive.mjs} +1 -1
- package/{esm2015/lib/collapsible/collapsible.component.js → esm2020/lib/collapsible/collapsible.component.mjs} +9 -15
- package/{esm2015/lib/collapsible/collapsible.module.js → esm2020/lib/collapsible/collapsible.module.mjs} +2 -2
- package/{esm2015/lib/collapsible/index.js → esm2020/lib/collapsible/index.mjs} +1 -1
- package/{esm2015/lib/confirm-dialog/confirm-dialog.component.js → esm2020/lib/confirm-dialog/confirm-dialog.component.mjs} +5 -11
- package/{esm2015/lib/confirm-dialog/confirm-dialog.module.js → esm2020/lib/confirm-dialog/confirm-dialog.module.mjs} +2 -2
- package/{esm2015/lib/confirm-dialog/confirm-dialog.service.js → esm2020/lib/confirm-dialog/confirm-dialog.service.mjs} +1 -1
- package/{esm2015/lib/confirm-dialog/index.js → esm2020/lib/confirm-dialog/index.mjs} +1 -1
- package/{esm2015/lib/context-menu/context-menu.directive.js → esm2020/lib/context-menu/context-menu.directive.mjs} +1 -1
- package/{esm2015/lib/context-menu/context-menu.module.js → esm2020/lib/context-menu/context-menu.module.mjs} +2 -2
- package/{esm2015/lib/context-menu/index.js → esm2020/lib/context-menu/index.mjs} +1 -1
- package/{esm2015/lib/custom-html/custom-html.component.js → esm2020/lib/custom-html/custom-html.component.mjs} +3 -7
- package/{esm2015/lib/custom-html/custom-html.module.js → esm2020/lib/custom-html/custom-html.module.mjs} +7 -9
- package/{esm2015/lib/custom-html/custom-html.pipe.js → esm2020/lib/custom-html/custom-html.pipe.mjs} +1 -1
- package/{esm2015/lib/custom-html/index.js → esm2020/lib/custom-html/index.mjs} +1 -1
- package/{esm2015/lib/dom/dom.interfaces.js → esm2020/lib/dom/dom.interfaces.mjs} +1 -1
- package/{esm2015/lib/dom/dom.module.js → esm2020/lib/dom/dom.module.mjs} +1 -1
- package/esm2020/lib/dom/dom.service.mjs +30 -0
- package/{esm2015/lib/dom/index.js → esm2020/lib/dom/index.mjs} +1 -1
- package/{esm2015/lib/drag-drop/drag-drop.directive.js → esm2020/lib/drag-drop/drag-drop.directive.mjs} +0 -0
- package/{esm2015/lib/drag-drop/drag-drop.module.js → esm2020/lib/drag-drop/drag-drop.module.mjs} +2 -2
- package/{esm2015/lib/drag-drop/index.js → esm2020/lib/drag-drop/index.mjs} +1 -1
- package/{esm2015/lib/dynamic-component/dynamic-component.module.js → esm2020/lib/dynamic-component/dynamic-component.module.mjs} +3 -5
- package/{esm2015/lib/dynamic-component/dynamic-outlet/dynamic-outlet.component.js → esm2020/lib/dynamic-component/dynamic-outlet/dynamic-outlet.component.mjs} +2 -7
- package/{esm2015/lib/dynamic-component/dynamic-outlet/dynamic-outlet.module.js → esm2020/lib/dynamic-component/dynamic-outlet/dynamic-outlet.module.mjs} +2 -4
- package/{esm2015/lib/dynamic-component/index.js → esm2020/lib/dynamic-component/index.mjs} +1 -1
- package/{esm2015/lib/dynamic-component/shared/dynamic-component.interfaces.js → esm2020/lib/dynamic-component/shared/dynamic-component.interfaces.mjs} +1 -1
- package/{esm2015/lib/dynamic-component/shared/dynamic-component.js → esm2020/lib/dynamic-component/shared/dynamic-component.mjs} +1 -1
- package/{esm2015/lib/dynamic-component/shared/dynamic-component.service.js → esm2020/lib/dynamic-component/shared/dynamic-component.service.mjs} +1 -1
- package/{esm2015/lib/dynamic-component/shared/index.js → esm2020/lib/dynamic-component/shared/index.mjs} +1 -1
- package/{esm2015/lib/entity/entity-selector/entity-selector.component.js → esm2020/lib/entity/entity-selector/entity-selector.component.mjs} +8 -15
- package/{esm2015/lib/entity/entity-selector/entity-selector.module.js → esm2020/lib/entity/entity-selector/entity-selector.module.mjs} +4 -6
- package/{esm2015/lib/entity/entity-table/entity-table-row.directive.js → esm2020/lib/entity/entity-table/entity-table-row.directive.mjs} +1 -1
- package/esm2020/lib/entity/entity-table/entity-table.component.mjs +1339 -0
- package/{esm2015/lib/entity/entity-table/entity-table.module.js → esm2020/lib/entity/entity-table/entity-table.module.mjs} +20 -22
- package/esm2020/lib/entity/entity-table-paginator/entity-table-paginator.component.mjs +132 -0
- package/esm2020/lib/entity/entity-table-paginator/entity-table-paginator.interface.mjs +2 -0
- package/{esm2015/lib/entity/entity-table-paginator/entity-table-paginator.module.js → esm2020/lib/entity/entity-table-paginator/entity-table-paginator.module.mjs} +2 -4
- package/{esm2015/lib/entity/entity.module.js → esm2020/lib/entity/entity.module.mjs} +2 -4
- package/{esm2015/lib/entity/index.js → esm2020/lib/entity/index.mjs} +1 -1
- package/{esm2015/lib/entity/shared/entity.enums.js → esm2020/lib/entity/shared/entity.enums.mjs} +1 -1
- package/esm2020/lib/entity/shared/entity.interfaces.mjs +2 -0
- package/esm2020/lib/entity/shared/entity.utils.mjs +67 -0
- package/{esm2015/lib/entity/shared/index.js → esm2020/lib/entity/shared/index.mjs} +1 -1
- package/{esm2015/lib/entity/shared/state.js → esm2020/lib/entity/shared/state.mjs} +1 -1
- package/{esm2015/lib/entity/shared/store.js → esm2020/lib/entity/shared/store.mjs} +1 -1
- package/{esm2015/lib/entity/shared/strategies/filter-custom-function.js → esm2020/lib/entity/shared/strategies/filter-custom-function.mjs} +1 -1
- package/{esm2015/lib/entity/shared/strategies/filter-selection.js → esm2020/lib/entity/shared/strategies/filter-selection.mjs} +1 -1
- package/{esm2015/lib/entity/shared/strategies/index.js → esm2020/lib/entity/shared/strategies/index.mjs} +1 -1
- package/{esm2015/lib/entity/shared/strategies/strategy.js → esm2020/lib/entity/shared/strategies/strategy.mjs} +1 -1
- package/{esm2015/lib/entity/shared/transaction.js → esm2020/lib/entity/shared/transaction.mjs} +1 -1
- package/{esm2015/lib/entity/shared/view.js → esm2020/lib/entity/shared/view.mjs} +1 -1
- package/{esm2015/lib/entity/shared/watcher.js → esm2020/lib/entity/shared/watcher.mjs} +1 -1
- package/{esm2015/lib/flexible/flexible.component.js → esm2020/lib/flexible/flexible.component.mjs} +7 -17
- package/{esm2015/lib/flexible/flexible.module.js → esm2020/lib/flexible/flexible.module.mjs} +2 -2
- package/{esm2015/lib/flexible/flexible.type.js → esm2020/lib/flexible/flexible.type.mjs} +1 -1
- package/{esm2015/lib/flexible/index.js → esm2020/lib/flexible/index.mjs} +1 -1
- package/esm2020/lib/form/form/form.component.mjs +117 -0
- package/{esm2015/lib/form/form/form.module.js → esm2020/lib/form/form/form.module.mjs} +4 -6
- package/esm2020/lib/form/form-field/form-field-select.component.mjs +127 -0
- package/esm2020/lib/form/form-field/form-field-text.component.mjs +104 -0
- package/esm2020/lib/form/form-field/form-field-textarea.component.mjs +105 -0
- package/{esm2015/lib/form/form-field/form-field.component.js → esm2020/lib/form/form-field/form-field.component.mjs} +3 -8
- package/{esm2015/lib/form/form-field/form-field.module.js → esm2020/lib/form/form-field/form-field.module.mjs} +10 -12
- package/{esm2015/lib/form/form-field/index.js → esm2020/lib/form/form-field/index.mjs} +1 -1
- package/{esm2015/lib/form/form-group/form-group.component.js → esm2020/lib/form/form-group/form-group.component.mjs} +5 -10
- package/{esm2015/lib/form/form-group/form-group.module.js → esm2020/lib/form/form-group/form-group.module.mjs} +5 -7
- package/{esm2015/lib/form/form.module.js → esm2020/lib/form/form.module.mjs} +4 -6
- package/{esm2015/lib/form/index.js → esm2020/lib/form/index.mjs} +1 -1
- package/{esm2015/lib/form/shared/form-field-component.js → esm2020/lib/form/shared/form-field-component.mjs} +1 -1
- package/{esm2015/lib/form/shared/form-field.service.js → esm2020/lib/form/shared/form-field.service.mjs} +1 -1
- package/esm2020/lib/form/shared/form.interfaces.mjs +2 -0
- package/esm2020/lib/form/shared/form.service.mjs +81 -0
- package/{esm2015/lib/form/shared/form.utils.js → esm2020/lib/form/shared/form.utils.mjs} +1 -1
- package/{esm2015/lib/form/shared/index.js → esm2020/lib/form/shared/index.mjs} +1 -1
- package/{esm2015/lib/home-button/home-button.component.js → esm2020/lib/home-button/home-button.component.mjs} +6 -10
- package/{esm2015/lib/home-button/home-button.module.js → esm2020/lib/home-button/home-button.module.mjs} +6 -8
- package/{esm2015/lib/home-button/index.js → esm2020/lib/home-button/index.mjs} +1 -1
- package/{esm2015/lib/image/image.module.js → esm2020/lib/image/image.module.mjs} +2 -2
- package/{esm2015/lib/image/index.js → esm2020/lib/image/index.mjs} +1 -1
- package/esm2020/lib/image/secure-image.pipe.mjs +54 -0
- package/{esm2015/lib/interactive-tour/index.js → esm2020/lib/interactive-tour/index.mjs} +1 -1
- package/esm2020/lib/interactive-tour/interactive-tour.component.mjs +135 -0
- package/esm2020/lib/interactive-tour/interactive-tour.interface.mjs +2 -0
- package/{esm2015/lib/interactive-tour/interactive-tour.loader.js → esm2020/lib/interactive-tour/interactive-tour.loader.mjs} +1 -1
- package/{esm2015/lib/interactive-tour/interactive-tour.module.js → esm2020/lib/interactive-tour/interactive-tour.module.mjs} +6 -8
- package/esm2020/lib/interactive-tour/interactive-tour.service.mjs +285 -0
- package/{esm2015/lib/json-dialog/index.js → esm2020/lib/json-dialog/index.mjs} +1 -1
- package/{esm2015/lib/json-dialog/json-dialog.component.js → esm2020/lib/json-dialog/json-dialog.component.mjs} +6 -13
- package/{esm2015/lib/json-dialog/json-dialog.module.js → esm2020/lib/json-dialog/json-dialog.module.mjs} +2 -2
- package/{esm2015/lib/json-dialog/json-dialog.service.js → esm2020/lib/json-dialog/json-dialog.service.mjs} +1 -1
- package/{esm2015/lib/keyvalue/index.js → esm2020/lib/keyvalue/index.mjs} +1 -1
- package/{esm2015/lib/keyvalue/keyvalue.module.js → esm2020/lib/keyvalue/keyvalue.module.mjs} +2 -2
- package/{esm2015/lib/keyvalue/keyvalue.pipe.js → esm2020/lib/keyvalue/keyvalue.pipe.mjs} +1 -1
- package/{esm2015/lib/list/index.js → esm2020/lib/list/index.mjs} +1 -1
- package/{esm2015/lib/list/list-item.directive.js → esm2020/lib/list/list-item.directive.mjs} +1 -1
- package/{esm2015/lib/list/list.component.js → esm2020/lib/list/list.component.mjs} +6 -10
- package/{esm2015/lib/list/list.module.js → esm2020/lib/list/list.module.mjs} +2 -2
- package/{esm2015/lib/panel/index.js → esm2020/lib/panel/index.mjs} +1 -1
- package/esm2020/lib/panel/panel.component.mjs +60 -0
- package/{esm2015/lib/panel/panel.module.js → esm2020/lib/panel/panel.module.mjs} +2 -2
- package/{esm2015/lib/sidenav/index.js → esm2020/lib/sidenav/index.mjs} +1 -1
- package/{esm2015/lib/sidenav/sidenav-shim.directive.js → esm2020/lib/sidenav/sidenav-shim.directive.mjs} +1 -1
- package/{esm2015/lib/sidenav/sidenav.module.js → esm2020/lib/sidenav/sidenav.module.mjs} +2 -2
- package/{esm2015/lib/spinner/index.js → esm2020/lib/spinner/index.mjs} +1 -1
- package/{esm2015/lib/spinner/spinner-activity.directive.js → esm2020/lib/spinner/spinner-activity.directive.mjs} +1 -1
- package/{esm2015/lib/spinner/spinner.component.js → esm2020/lib/spinner/spinner.component.mjs} +4 -9
- package/{esm2015/lib/spinner/spinner.module.js → esm2020/lib/spinner/spinner.module.mjs} +2 -2
- package/{esm2015/lib/stop-propagation/index.js → esm2020/lib/stop-propagation/index.mjs} +1 -1
- package/{esm2015/lib/stop-propagation/stop-drop-propagation.directive.js → esm2020/lib/stop-propagation/stop-drop-propagation.directive.mjs} +1 -1
- package/{esm2015/lib/stop-propagation/stop-propagation.directive.js → esm2020/lib/stop-propagation/stop-propagation.directive.mjs} +1 -1
- package/{esm2015/lib/stop-propagation/stop-propagation.module.js → esm2020/lib/stop-propagation/stop-propagation.module.mjs} +2 -2
- package/{esm2015/lib/table/index.js → esm2020/lib/table/index.mjs} +1 -1
- package/{esm2015/lib/table/table-action-color.enum.js → esm2020/lib/table/table-action-color.enum.mjs} +1 -1
- package/{esm2015/lib/table/table-database.js → esm2020/lib/table/table-database.mjs} +1 -1
- package/{esm2015/lib/table/table-datasource.js → esm2020/lib/table/table-datasource.mjs} +1 -1
- package/esm2020/lib/table/table-model.interface.mjs +2 -0
- package/esm2020/lib/table/table.component.mjs +297 -0
- package/{esm2015/lib/table/table.module.js → esm2020/lib/table/table.module.mjs} +12 -14
- package/{esm2015/lib/tool/index.js → esm2020/lib/tool/index.mjs} +1 -1
- package/{esm2015/lib/tool/shared/index.js → esm2020/lib/tool/shared/index.mjs} +1 -1
- package/{esm2015/lib/tool/shared/tool-component.js → esm2020/lib/tool/shared/tool-component.mjs} +1 -1
- package/esm2020/lib/tool/shared/tool.interface.mjs +2 -0
- package/{esm2015/lib/tool/shared/tool.service.js → esm2020/lib/tool/shared/tool.service.mjs} +1 -1
- package/{esm2015/lib/tool/shared/toolbox.enums.js → esm2020/lib/tool/shared/toolbox.enums.mjs} +1 -1
- package/{esm2015/lib/tool/shared/toolbox.js → esm2020/lib/tool/shared/toolbox.mjs} +1 -1
- package/{esm2015/lib/tool/tool.module.js → esm2020/lib/tool/tool.module.mjs} +2 -4
- package/{esm2015/lib/tool/toolbox/toolbox.animation.js → esm2020/lib/tool/toolbox/toolbox.animation.mjs} +1 -1
- package/esm2020/lib/tool/toolbox/toolbox.component.mjs +255 -0
- package/{esm2015/lib/tool/toolbox/toolbox.module.js → esm2020/lib/tool/toolbox/toolbox.module.mjs} +4 -6
- package/{esm2015/lib/widget/index.js → esm2020/lib/widget/index.mjs} +1 -1
- package/{esm2015/lib/widget/shared/index.js → esm2020/lib/widget/shared/index.mjs} +1 -1
- package/esm2020/lib/widget/shared/widget.interfaces.mjs +2 -0
- package/{esm2015/lib/widget/shared/widget.js → esm2020/lib/widget/shared/widget.mjs} +1 -1
- package/{esm2015/lib/widget/shared/widget.service.js → esm2020/lib/widget/shared/widget.service.mjs} +1 -1
- package/{esm2015/lib/widget/widget-outlet/widget-outlet.component.js → esm2020/lib/widget/widget-outlet/widget-outlet.component.mjs} +3 -8
- package/{esm2015/lib/widget/widget-outlet/widget-outlet.module.js → esm2020/lib/widget/widget-outlet/widget-outlet.module.mjs} +3 -5
- package/{esm2015/lib/widget/widget.module.js → esm2020/lib/widget/widget.module.mjs} +3 -5
- package/{esm2015/lib/workspace/index.js → esm2020/lib/workspace/index.mjs} +1 -1
- package/{esm2015/lib/workspace/shared/index.js → esm2020/lib/workspace/shared/index.mjs} +1 -1
- package/{esm2015/lib/workspace/shared/store.js → esm2020/lib/workspace/shared/store.mjs} +1 -1
- package/esm2020/lib/workspace/shared/workspace.interfaces.mjs +2 -0
- package/{esm2015/lib/workspace/shared/workspace.js → esm2020/lib/workspace/shared/workspace.mjs} +1 -1
- package/{esm2015/lib/workspace/workspace-selector/workspace-selector.component.js → esm2020/lib/workspace/workspace-selector/workspace-selector.component.mjs} +3 -8
- package/{esm2015/lib/workspace/workspace-selector/workspace-selector.module.js → esm2020/lib/workspace/workspace-selector/workspace-selector.module.mjs} +3 -5
- package/esm2020/lib/workspace/workspace-widget-outlet/workspace-widget-outlet.component.mjs +88 -0
- package/{esm2015/lib/workspace/workspace-widget-outlet/workspace-widget-outlet.module.js → esm2020/lib/workspace/workspace-widget-outlet/workspace-widget-outlet.module.mjs} +3 -5
- package/{esm2015/lib/workspace/workspace.module.js → esm2020/lib/workspace/workspace.module.mjs} +2 -4
- package/{esm2015/public_api.js → esm2020/public_api.mjs} +1 -1
- package/fesm2015/igo2-common.mjs +10145 -0
- package/fesm2015/igo2-common.mjs.map +1 -0
- package/{fesm2015/igo2-common.js → fesm2020/igo2-common.mjs} +471 -706
- package/fesm2020/igo2-common.mjs.map +1 -0
- package/{igo2-common.d.ts → index.d.ts} +0 -0
- package/lib/action/actionbar/actionbar-item.component.d.ts +1 -1
- package/lib/action/actionbar/actionbar.component.d.ts +1 -1
- package/lib/backdrop/backdrop.component.d.ts +1 -1
- package/lib/badge-icon/badge-icon.directive.d.ts +1 -1
- package/lib/clickout/clickout.directive.d.ts +1 -1
- package/lib/clone/clone.pipe.d.ts +1 -1
- package/lib/collapsible/collapse.directive.d.ts +1 -1
- package/lib/collapsible/collapsible.component.d.ts +1 -1
- package/lib/confirm-dialog/confirm-dialog.component.d.ts +1 -1
- package/lib/context-menu/context-menu.directive.d.ts +1 -1
- package/lib/custom-html/custom-html.component.d.ts +1 -1
- package/lib/custom-html/custom-html.pipe.d.ts +1 -1
- package/lib/drag-drop/drag-drop.directive.d.ts +1 -1
- package/lib/dynamic-component/dynamic-outlet/dynamic-outlet.component.d.ts +1 -1
- package/lib/entity/entity-selector/entity-selector.component.d.ts +1 -1
- package/lib/entity/entity-table/entity-table-row.directive.d.ts +1 -1
- package/lib/entity/entity-table/entity-table.component.d.ts +4 -4
- package/lib/entity/entity-table-paginator/entity-table-paginator.component.d.ts +1 -1
- package/lib/flexible/flexible.component.d.ts +1 -1
- package/lib/form/form/form.component.d.ts +1 -1
- package/lib/form/form-field/form-field-select.component.d.ts +3 -3
- package/lib/form/form-field/form-field-text.component.d.ts +3 -3
- package/lib/form/form-field/form-field-textarea.component.d.ts +3 -3
- package/lib/form/form-field/form-field.component.d.ts +1 -1
- package/lib/form/form-group/form-group.component.d.ts +3 -3
- package/lib/form/shared/form.interfaces.d.ts +4 -4
- package/lib/form/shared/form.service.d.ts +2 -2
- package/lib/home-button/home-button.component.d.ts +1 -1
- package/lib/image/secure-image.pipe.d.ts +1 -1
- package/lib/interactive-tour/interactive-tour.component.d.ts +1 -1
- package/lib/json-dialog/json-dialog.component.d.ts +1 -1
- package/lib/keyvalue/keyvalue.pipe.d.ts +1 -1
- package/lib/list/list-item.directive.d.ts +1 -1
- package/lib/list/list.component.d.ts +1 -1
- package/lib/panel/panel.component.d.ts +1 -1
- package/lib/sidenav/sidenav-shim.directive.d.ts +1 -1
- package/lib/spinner/spinner-activity.directive.d.ts +1 -1
- package/lib/spinner/spinner.component.d.ts +1 -1
- package/lib/stop-propagation/stop-drop-propagation.directive.d.ts +1 -1
- package/lib/stop-propagation/stop-propagation.directive.d.ts +1 -1
- package/lib/table/table.component.d.ts +1 -1
- package/lib/tool/toolbox/toolbox.component.d.ts +1 -1
- package/lib/widget/widget-outlet/widget-outlet.component.d.ts +1 -1
- package/lib/workspace/workspace-selector/workspace-selector.component.d.ts +1 -1
- package/lib/workspace/workspace-widget-outlet/workspace-widget-outlet.component.d.ts +1 -1
- package/package.json +25 -12
- package/style/common.theming.scss +12 -12
- package/style/partial/action.scss +18 -18
- package/style/partial/common.variables.scss +8 -8
- package/bundles/igo2-common.umd.js +0 -11545
- package/bundles/igo2-common.umd.js.map +0 -1
- package/esm2015/lib/action/actionbar/actionbar-item.component.js +0 -257
- package/esm2015/lib/action/actionbar/actionbar.component.js +0 -385
- package/esm2015/lib/action/shared/action.interfaces.js +0 -2
- package/esm2015/lib/dom/dom.service.js +0 -33
- package/esm2015/lib/entity/entity-table/entity-table.component.js +0 -1359
- package/esm2015/lib/entity/entity-table-paginator/entity-table-paginator.component.js +0 -138
- package/esm2015/lib/entity/entity-table-paginator/entity-table-paginator.interface.js +0 -2
- package/esm2015/lib/entity/shared/entity.interfaces.js +0 -2
- package/esm2015/lib/entity/shared/entity.utils.js +0 -67
- package/esm2015/lib/form/form/form.component.js +0 -125
- package/esm2015/lib/form/form-field/form-field-select.component.js +0 -132
- package/esm2015/lib/form/form-field/form-field-text.component.js +0 -108
- package/esm2015/lib/form/form-field/form-field-textarea.component.js +0 -110
- package/esm2015/lib/form/shared/form.interfaces.js +0 -2
- package/esm2015/lib/form/shared/form.service.js +0 -81
- package/esm2015/lib/image/secure-image.pipe.js +0 -55
- package/esm2015/lib/interactive-tour/interactive-tour.component.js +0 -140
- package/esm2015/lib/interactive-tour/interactive-tour.interface.js +0 -2
- package/esm2015/lib/interactive-tour/interactive-tour.service.js +0 -285
- package/esm2015/lib/panel/panel.component.js +0 -67
- package/esm2015/lib/table/table-model.interface.js +0 -2
- package/esm2015/lib/table/table.component.js +0 -310
- package/esm2015/lib/tool/shared/tool.interface.js +0 -2
- package/esm2015/lib/tool/toolbox/toolbox.component.js +0 -261
- package/esm2015/lib/widget/shared/widget.interfaces.js +0 -2
- package/esm2015/lib/workspace/shared/workspace.interfaces.js +0 -2
- package/esm2015/lib/workspace/workspace-widget-outlet/workspace-widget-outlet.component.js +0 -93
- package/fesm2015/igo2-common.js.map +0 -1
|
@@ -1,285 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "@igo2/core";
|
|
4
|
-
import * as i2 from "./interactive-tour.loader";
|
|
5
|
-
import * as i3 from "angular-shepherd";
|
|
6
|
-
export class InteractiveTourService {
|
|
7
|
-
constructor(configService, mediaService, languageService, interactiveTourLoader, shepherdService) {
|
|
8
|
-
this.configService = configService;
|
|
9
|
-
this.mediaService = mediaService;
|
|
10
|
-
this.languageService = languageService;
|
|
11
|
-
this.interactiveTourLoader = interactiveTourLoader;
|
|
12
|
-
this.shepherdService = shepherdService;
|
|
13
|
-
this.nextIndex = 1;
|
|
14
|
-
if (this.isAppHaveTour()) {
|
|
15
|
-
this.interactiveTourLoader.loadConfigTour();
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
isAppHaveTour() {
|
|
19
|
-
const haveTour = this.configService.getConfig('interactiveTour.activateInteractiveTour');
|
|
20
|
-
if (haveTour === undefined) {
|
|
21
|
-
return true;
|
|
22
|
-
}
|
|
23
|
-
else {
|
|
24
|
-
return haveTour;
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
isToolHaveTourConfig(toolName) {
|
|
28
|
-
const checkTourActiveOptions = this.interactiveTourLoader.getTourOptionData(toolName);
|
|
29
|
-
if (checkTourActiveOptions === undefined) {
|
|
30
|
-
return false;
|
|
31
|
-
}
|
|
32
|
-
else {
|
|
33
|
-
return true;
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
disabledTourButton(toolName) {
|
|
37
|
-
const stepConfig = this.interactiveTourLoader.getTourOptionData(toolName);
|
|
38
|
-
if (stepConfig === null || stepConfig === void 0 ? void 0 : stepConfig.conditions) {
|
|
39
|
-
for (const condition of stepConfig === null || stepConfig === void 0 ? void 0 : stepConfig.conditions) {
|
|
40
|
-
if (document.querySelector(condition) === null) {
|
|
41
|
-
return true;
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
return false;
|
|
46
|
-
}
|
|
47
|
-
isMobile() {
|
|
48
|
-
return this.mediaService.isMobile();
|
|
49
|
-
}
|
|
50
|
-
isTourDisplayInMobile() {
|
|
51
|
-
const showInMobile = this.configService.getConfig('interactiveTour.tourInMobile');
|
|
52
|
-
if (showInMobile === undefined) {
|
|
53
|
-
return true;
|
|
54
|
-
}
|
|
55
|
-
return this.configService.getConfig('interactiveTour.tourInMobile');
|
|
56
|
-
}
|
|
57
|
-
getButtons(buttonKind) {
|
|
58
|
-
if (buttonKind === 'noBackButton') {
|
|
59
|
-
return [
|
|
60
|
-
{
|
|
61
|
-
classes: 'shepherd-button-primary',
|
|
62
|
-
text: this.languageService.translate.instant('igo.common.interactiveTour.nextButton'),
|
|
63
|
-
type: 'next'
|
|
64
|
-
}
|
|
65
|
-
];
|
|
66
|
-
}
|
|
67
|
-
if (buttonKind === 'first') {
|
|
68
|
-
return [
|
|
69
|
-
{
|
|
70
|
-
classes: 'shepherd-button-secondary',
|
|
71
|
-
text: this.languageService.translate.instant('igo.common.interactiveTour.exitButton'),
|
|
72
|
-
type: 'cancel'
|
|
73
|
-
},
|
|
74
|
-
{
|
|
75
|
-
classes: 'shepherd-button-primary',
|
|
76
|
-
text: this.languageService.translate.instant('igo.common.interactiveTour.nextButton'),
|
|
77
|
-
type: 'next'
|
|
78
|
-
}
|
|
79
|
-
];
|
|
80
|
-
}
|
|
81
|
-
if (buttonKind === 'last') {
|
|
82
|
-
return [
|
|
83
|
-
{
|
|
84
|
-
classes: 'shepherd-button-secondary',
|
|
85
|
-
text: this.languageService.translate.instant('igo.common.interactiveTour.backButton'),
|
|
86
|
-
type: 'back'
|
|
87
|
-
},
|
|
88
|
-
{
|
|
89
|
-
classes: 'shepherd-button-primary',
|
|
90
|
-
text: this.languageService.translate.instant('igo.common.interactiveTour.exitButton'),
|
|
91
|
-
type: 'cancel'
|
|
92
|
-
}
|
|
93
|
-
];
|
|
94
|
-
}
|
|
95
|
-
return [
|
|
96
|
-
{
|
|
97
|
-
classes: 'shepherd-button-secondary',
|
|
98
|
-
text: this.languageService.translate.instant('igo.common.interactiveTour.backButton'),
|
|
99
|
-
type: 'back'
|
|
100
|
-
},
|
|
101
|
-
{
|
|
102
|
-
classes: 'shepherd-button-primary',
|
|
103
|
-
text: this.languageService.translate.instant('igo.common.interactiveTour.nextButton'),
|
|
104
|
-
type: 'next'
|
|
105
|
-
}
|
|
106
|
-
];
|
|
107
|
-
}
|
|
108
|
-
getAction(actionName) {
|
|
109
|
-
const action = {
|
|
110
|
-
click: 'click'
|
|
111
|
-
};
|
|
112
|
-
return action[actionName.toLowerCase()];
|
|
113
|
-
}
|
|
114
|
-
addProgress() {
|
|
115
|
-
const self = this;
|
|
116
|
-
let nbTry = 0;
|
|
117
|
-
const maxTry = 21;
|
|
118
|
-
const checkExist = setInterval(() => {
|
|
119
|
-
if (self.getCurrentStep()) {
|
|
120
|
-
if (self.getCurrentStep().options.attachTo.element && !document.querySelector(self.getCurrentStep().options.attachTo.element)) {
|
|
121
|
-
self.cancel();
|
|
122
|
-
clearInterval(checkExist);
|
|
123
|
-
return;
|
|
124
|
-
}
|
|
125
|
-
else {
|
|
126
|
-
const currentStepElement = self.getCurrentStep().getElement();
|
|
127
|
-
if (currentStepElement) {
|
|
128
|
-
const shepherdList = currentStepElement.querySelectorAll('.shepherd-content, .shepherd-text');
|
|
129
|
-
shepherdList.forEach(element => {
|
|
130
|
-
element.classList.add('mat-typography');
|
|
131
|
-
});
|
|
132
|
-
}
|
|
133
|
-
const header = currentStepElement
|
|
134
|
-
? currentStepElement.querySelector('.shepherd-header')
|
|
135
|
-
: undefined;
|
|
136
|
-
nbTry++;
|
|
137
|
-
if (header || nbTry > maxTry) {
|
|
138
|
-
clearInterval(checkExist);
|
|
139
|
-
}
|
|
140
|
-
if (header) {
|
|
141
|
-
const stepsArray = self.steps;
|
|
142
|
-
const progress = document.createElement('span');
|
|
143
|
-
progress.className = 'shepherd-progress';
|
|
144
|
-
progress.innerText = `${stepsArray.indexOf(self.getCurrentStep()) + 1}/${stepsArray.length}`;
|
|
145
|
-
header.insertBefore(progress, currentStepElement.querySelector('.shepherd-cancel-icon'));
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
}, 100);
|
|
150
|
-
}
|
|
151
|
-
checkNext(index, tour, service) {
|
|
152
|
-
if (tour.getCurrentStep()) {
|
|
153
|
-
if (tour.getCurrentStep().options.attachTo.element && document.querySelector(tour.getCurrentStep().options.attachTo.element)) {
|
|
154
|
-
tour.complete();
|
|
155
|
-
return;
|
|
156
|
-
}
|
|
157
|
-
if (index.index === tour.steps.length - 1) {
|
|
158
|
-
tour.complete();
|
|
159
|
-
return;
|
|
160
|
-
}
|
|
161
|
-
tour.steps.splice(index.index, 1);
|
|
162
|
-
const nextStep = tour.steps[index.index];
|
|
163
|
-
if (nextStep.options.attachTo.element && !document.querySelector(nextStep.options.attachTo.element)) {
|
|
164
|
-
service.checkNext(index, tour, service);
|
|
165
|
-
}
|
|
166
|
-
else {
|
|
167
|
-
tour._setupModal();
|
|
168
|
-
tour.show(nextStep.id);
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
executeAction(step, actionConfig) {
|
|
173
|
-
if (!actionConfig) {
|
|
174
|
-
return;
|
|
175
|
-
}
|
|
176
|
-
if (actionConfig.condition &&
|
|
177
|
-
((actionConfig.condition.charAt(0) === '!' &&
|
|
178
|
-
document.querySelector(actionConfig.condition.slice(1))) ||
|
|
179
|
-
(actionConfig.condition.charAt(0) !== '!' &&
|
|
180
|
-
!document.querySelector(actionConfig.condition)))) {
|
|
181
|
-
return;
|
|
182
|
-
}
|
|
183
|
-
const element = document.querySelector(actionConfig.element || step.element);
|
|
184
|
-
const action = this.getAction(actionConfig.action);
|
|
185
|
-
if (element && action) {
|
|
186
|
-
element[action]();
|
|
187
|
-
}
|
|
188
|
-
}
|
|
189
|
-
executeActionPromise(step, actionConfig) {
|
|
190
|
-
return new Promise((resolve) => {
|
|
191
|
-
this.executeAction(step, actionConfig);
|
|
192
|
-
if (!actionConfig || !actionConfig.waitFor) {
|
|
193
|
-
resolve();
|
|
194
|
-
return;
|
|
195
|
-
}
|
|
196
|
-
let nbTry = 0;
|
|
197
|
-
const maxTry = actionConfig.maxWait ? actionConfig.maxWait / 100 : 20;
|
|
198
|
-
const checkExist = setInterval(() => {
|
|
199
|
-
nbTry++;
|
|
200
|
-
if (nbTry > maxTry || document.querySelector(actionConfig.waitFor)) {
|
|
201
|
-
clearInterval(checkExist);
|
|
202
|
-
resolve();
|
|
203
|
-
}
|
|
204
|
-
}, 100);
|
|
205
|
-
});
|
|
206
|
-
}
|
|
207
|
-
getShepherdSteps(stepConfig) {
|
|
208
|
-
const shepherdSteps = [];
|
|
209
|
-
let i = 0;
|
|
210
|
-
for (const step of stepConfig.steps) {
|
|
211
|
-
shepherdSteps.push({
|
|
212
|
-
attachTo: {
|
|
213
|
-
element: step.element,
|
|
214
|
-
on: step.position || stepConfig.position
|
|
215
|
-
},
|
|
216
|
-
popperOptions: {
|
|
217
|
-
modifiers: [{ name: 'offset', options: { offset: [0, 15] } }]
|
|
218
|
-
},
|
|
219
|
-
beforeShowPromise: () => {
|
|
220
|
-
return Promise.all([
|
|
221
|
-
this.executeActionPromise(this.previousStep, this.previousStep ? this.previousStep.beforeChange : undefined),
|
|
222
|
-
this.executeActionPromise(step, step.beforeShow)
|
|
223
|
-
]);
|
|
224
|
-
},
|
|
225
|
-
buttons: this.getButtons(i === 0
|
|
226
|
-
? 'first'
|
|
227
|
-
: i + 1 === stepConfig.steps.length
|
|
228
|
-
? 'last'
|
|
229
|
-
: stepConfig.steps[i].noBackButton
|
|
230
|
-
? 'noBackButton'
|
|
231
|
-
: undefined),
|
|
232
|
-
classes: step.class,
|
|
233
|
-
highlightClass: step.highlightClass,
|
|
234
|
-
scrollTo: step.scrollToElement || stepConfig.scrollToElement || true,
|
|
235
|
-
canClickTarget: step.disableInteraction
|
|
236
|
-
? !step.disableInteraction
|
|
237
|
-
: undefined,
|
|
238
|
-
title: this.languageService.translate.instant(step.title || stepConfig.title),
|
|
239
|
-
text: [this.languageService.translate.instant(step.text)],
|
|
240
|
-
when: {
|
|
241
|
-
show: () => {
|
|
242
|
-
this.executeAction(step, step.onShow);
|
|
243
|
-
},
|
|
244
|
-
hide: () => {
|
|
245
|
-
this.previousStep = step;
|
|
246
|
-
this.executeAction(step, step.onHide);
|
|
247
|
-
}
|
|
248
|
-
}
|
|
249
|
-
});
|
|
250
|
-
i++;
|
|
251
|
-
}
|
|
252
|
-
return shepherdSteps;
|
|
253
|
-
}
|
|
254
|
-
startTour(toolName) {
|
|
255
|
-
const stepConfig = this.interactiveTourLoader.getTourOptionData(toolName);
|
|
256
|
-
this.shepherdService.defaultStepOptions = {
|
|
257
|
-
classes: stepConfig.class,
|
|
258
|
-
highlightClass: stepConfig.highlightClass,
|
|
259
|
-
canClickTarget: stepConfig.disableInteraction
|
|
260
|
-
? !stepConfig.disableInteraction
|
|
261
|
-
: true,
|
|
262
|
-
cancelIcon: {
|
|
263
|
-
enabled: true
|
|
264
|
-
}
|
|
265
|
-
};
|
|
266
|
-
const shepherdSteps = this.getShepherdSteps(stepConfig);
|
|
267
|
-
this.shepherdService.modal = true;
|
|
268
|
-
this.shepherdService.confirmCancel = false;
|
|
269
|
-
this.shepherdService.addSteps(shepherdSteps);
|
|
270
|
-
this.shepherdService.tourObject.on('show', this.addProgress);
|
|
271
|
-
this.shepherdService.tourObject.on('cancel', (index) => {
|
|
272
|
-
this.checkNext(index, this.shepherdService.tourObject, this);
|
|
273
|
-
});
|
|
274
|
-
this.shepherdService.start();
|
|
275
|
-
}
|
|
276
|
-
}
|
|
277
|
-
InteractiveTourService.ɵfac = function InteractiveTourService_Factory(t) { return new (t || InteractiveTourService)(i0.ɵɵinject(i1.ConfigService), i0.ɵɵinject(i1.MediaService), i0.ɵɵinject(i1.LanguageService), i0.ɵɵinject(i2.InteractiveTourLoader), i0.ɵɵinject(i3.ShepherdService)); };
|
|
278
|
-
InteractiveTourService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: InteractiveTourService, factory: InteractiveTourService.ɵfac, providedIn: 'root' });
|
|
279
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(InteractiveTourService, [{
|
|
280
|
-
type: Injectable,
|
|
281
|
-
args: [{
|
|
282
|
-
providedIn: 'root'
|
|
283
|
-
}]
|
|
284
|
-
}], function () { return [{ type: i1.ConfigService }, { type: i1.MediaService }, { type: i1.LanguageService }, { type: i2.InteractiveTourLoader }, { type: i3.ShepherdService }]; }, null); })();
|
|
285
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3RpdmUtdG91ci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tbW9uL3NyYy9saWIvaW50ZXJhY3RpdmUtdG91ci9pbnRlcmFjdGl2ZS10b3VyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFjM0MsTUFBTSxPQUFPLHNCQUFzQjtJQUlqQyxZQUNVLGFBQTRCLEVBQzVCLFlBQTBCLEVBQzFCLGVBQWdDLEVBQ2hDLHFCQUE0QyxFQUM1QyxlQUFnQztRQUpoQyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQUM1QyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFQbEMsY0FBUyxHQUFHLENBQUMsQ0FBQztRQVNwQixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsRUFBRTtZQUN4QixJQUFJLENBQUMscUJBQXFCLENBQUMsY0FBYyxFQUFFLENBQUM7U0FDN0M7SUFDSCxDQUFDO0lBRU0sYUFBYTtRQUNsQixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFDO1FBQ3pGLElBQUksUUFBUSxLQUFLLFNBQVMsRUFBRTtZQUMxQixPQUFPLElBQUksQ0FBQztTQUNiO2FBQU07WUFDTCxPQUFPLFFBQVEsQ0FBQztTQUNqQjtJQUNILENBQUM7SUFFTSxvQkFBb0IsQ0FBQyxRQUFnQjtRQUMxQyxNQUFNLHNCQUFzQixHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxpQkFBaUIsQ0FDekUsUUFBUSxDQUNULENBQUM7UUFDRixJQUFJLHNCQUFzQixLQUFLLFNBQVMsRUFBRTtZQUN4QyxPQUFPLEtB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Q0FBQyxrQkFBa0I7Z0JBQ2hDLENBQUMsQ0FBQyxJQUFJO1lBQ1IsVUFBVSxFQUFFO2dCQUNWLE9BQU8sRUFBRSxJQUFJO2FBQ2Q7U0FDRixDQUFDO1FBRUYsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRXhELElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNsQyxJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7UUFDM0MsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFN0MsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDN0QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ3JELElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQy9ELENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMvQixDQUFDOzs0RkFyVlUsc0JBQXNCOzRFQUF0QixzQkFBc0IsV0FBdEIsc0JBQXNCLG1CQUZyQixNQUFNO3VGQUVQLHNCQUFzQjtjQUhsQyxVQUFVO2VBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTaGVwaGVyZFNlcnZpY2UgfSBmcm9tICdhbmd1bGFyLXNoZXBoZXJkJztcblxuaW1wb3J0IHsgQ29uZmlnU2VydmljZSwgTWVkaWFTZXJ2aWNlLCBMYW5ndWFnZVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcbmltcG9ydCB7IEludGVyYWN0aXZlVG91ckxvYWRlciB9IGZyb20gJy4vaW50ZXJhY3RpdmUtdG91ci5sb2FkZXInO1xuaW1wb3J0IHtcbiAgSW50ZXJhY3RpdmVUb3VyT3B0aW9ucyxcbiAgSW50ZXJhY3RpdmVUb3VyU3RlcCxcbiAgSW50ZXJhY3RpdmVUb3VyQWN0aW9uXG59IGZyb20gJy4vaW50ZXJhY3RpdmUtdG91ci5pbnRlcmZhY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBJbnRlcmFjdGl2ZVRvdXJTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBwcmV2aW91c1N0ZXA6IEludGVyYWN0aXZlVG91clN0ZXA7XG4gIHByaXZhdGUgbmV4dEluZGV4ID0gMTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNvbmZpZ1NlcnZpY2U6IENvbmZpZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBtZWRpYVNlcnZpY2U6IE1lZGlhU2VydmljZSxcbiAgICBwcml2YXRlIGxhbmd1YWdlU2VydmljZTogTGFuZ3VhZ2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgaW50ZXJhY3RpdmVUb3VyTG9hZGVyOiBJbnRlcmFjdGl2ZVRvdXJMb2FkZXIsXG4gICAgcHJpdmF0ZSBzaGVwaGVyZFNlcnZpY2U6IFNoZXBoZXJkU2VydmljZVxuICApIHtcbiAgICBpZiAodGhpcy5pc0FwcEhhdmVUb3VyKCkpIHtcbiAgICAgIHRoaXMuaW50ZXJhY3RpdmVUb3VyTG9hZGVyLmxvYWRDb25maWdUb3VyKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGlzQXBwSGF2ZVRvdXIoKSB7XG4gICAgY29uc3QgaGF2ZVRvdXIgPSB0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0Q29uZmlnKCdpbnRlcmFjdGl2ZVRvdXIuYWN0aXZhdGVJbnRlcmFjdGl2ZVRvdXInKTtcbiAgICBpZiAoaGF2ZVRvdXIgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBoYXZlVG91cjtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaXNUb29sSGF2ZVRvdXJDb25maWcodG9vbE5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGNoZWNrVG91ckFjdGl2ZU9wdGlvbnMgPSB0aGlzLmludGVyYWN0aXZlVG91ckxvYWRlci5nZXRUb3VyT3B0aW9uRGF0YShcbiAgICAgIHRvb2xOYW1lXG4gICAgKTtcbiAgICBpZiAoY2hlY2tUb3VyQWN0aXZlT3B0aW9ucyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBkaXNhYmxlZFRvdXJCdXR0b24odG9vbE5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHN0ZXBDb25maWc6IEludGVyYWN0aXZlVG91ck9wdGlvbnMgPSB0aGlzLmludGVyYWN0aXZlVG91ckxvYWRlci5nZXRUb3VyT3B0aW9uRGF0YShcbiAgICAgIHRvb2xOYW1lXG4gICAgKTtcblxuICAgIGlmIChzdGVwQ29uZmlnPy5jb25kaXRpb25zKSB7XG4gICAgICBmb3IgKGNvbnN0IGNvbmRpdGlvbiBvZiBzdGVwQ29uZmlnPy5jb25kaXRpb25zKSB7XG4gICAgICAgIGlmIChkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGNvbmRpdGlvbikgPT09IG51bGwpIHtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgaXNNb2JpbGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMubWVkaWFTZXJ2aWNlLmlzTW9iaWxlKCk7XG4gIH1cblxuICBwdWJsaWMgaXNUb3VyRGlzcGxheUluTW9iaWxlKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHNob3dJbk1vYmlsZSA9IHRoaXMuY29uZmlnU2VydmljZS5nZXRDb25maWcoXG4gICAgICAnaW50ZXJhY3RpdmVUb3VyLnRvdXJJbk1vYmlsZSdcbiAgICApO1xuICAgIGlmIChzaG93SW5Nb2JpbGUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0Q29uZmlnKCdpbnRlcmFjdGl2ZVRvdXIudG91ckluTW9iaWxlJyk7XG4gIH1cblxuICBwcml2YXRlIGdldEJ1dHRvbnMoYnV0dG9uS2luZD86ICdmaXJzdCcgfCAnbGFzdCcgfCAnbm9CYWNrQnV0dG9uJykge1xuICAgIGlmIChidXR0b25LaW5kID09PSAnbm9CYWNrQnV0dG9uJykge1xuICAgICAgcmV0dXJuIFtcbiAgICAgICAge1xuICAgICAgICAgIGNsYXNzZXM6ICdzaGVwaGVyZC1idXR0b24tcHJpbWFyeScsXG4gICAgICAgICAgdGV4dDogdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoXG4gICAgICAgICAgICAnaWdvLmNvbW1vbi5pbnRlcmFjdGl2ZVRvdXIubmV4dEJ1dHRvbidcbiAgICAgICAgICApLFxuICAgICAgICAgIHR5cGU6ICduZXh0J1xuICAgICAgICB9XG4gICAgICBdO1xuICAgIH1cbiAgICBpZiAoYnV0dG9uS2luZCA9PT0gJ2ZpcnN0Jykge1xuICAgICAgcmV0dXJuIFtcbiAgICAgICAge1xuICAgICAgICAgIGNsYXNzZXM6ICdzaGVwaGVyZC1idXR0b24tc2Vjb25kYXJ5JyxcbiAgICAgICAgICB0ZXh0OiB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudChcbiAgICAgICAgICAgICdpZ28uY29tbW9uLmludGVyYWN0aXZlVG91ci5leGl0QnV0dG9uJ1xuICAgICAgICAgICksXG4gICAgICAgICAgdHlwZTogJ2NhbmNlbCdcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGNsYXNzZXM6ICdzaGVwaGVyZC1idXR0b24tcHJpbWFyeScsXG4gICAgICAgICAgdGV4dDogdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoXG4gICAgICAgICAgICAnaWdvLmNvbW1vbi5pbnRlcmFjdGl2ZVRvdXIubmV4dEJ1dHRvbidcbiAgICAgICAgICApLFxuICAgICAgICAgIHR5cGU6ICduZXh0J1xuICAgICAgICB9XG4gICAgICBdO1xuICAgIH1cblxuICAgIGlmIChidXR0b25LaW5kID09PSAnbGFzdCcpIHtcbiAgICAgIHJldHVybiBbXG4gICAgICAgIHtcbiAgICAgICAgICBjbGFzc2VzOiAnc2hlcGhlcmQtYnV0dG9uLXNlY29uZGFyeScsXG4gICAgICAgICAgdGV4dDogdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoXG4gICAgICAgICAgICAnaWdvLmNvbW1vbi5pbnRlcmFjdGl2ZVRvdXIuYmFja0J1dHRvbidcbiAgICAgICAgICApLFxuICAgICAgICAgIHR5cGU6ICdiYWNrJ1xuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgY2xhc3NlczogJ3NoZXBoZXJkLWJ1dHRvbi1wcmltYXJ5JyxcbiAgICAgICAgICB0ZXh0OiB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudChcbiAgICAgICAgICAgICdpZ28uY29tbW9uLmludGVyYWN0aXZlVG91ci5leGl0QnV0dG9uJ1xuICAgICAgICAgICksXG4gICAgICAgICAgdHlwZTogJ2NhbmNlbCdcbiAgICAgICAgfVxuICAgICAgXTtcbiAgICB9XG5cbiAgICByZXR1cm4gW1xuICAgICAge1xuICAgICAgICBjbGFzc2VzOiAnc2hlcGhlcmQtYnV0dG9uLXNlY29uZGFyeScsXG4gICAgICAgIHRleHQ6IHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KFxuICAgICAgICAgICdpZ28uY29tbW9uLmludGVyYWN0aXZlVG91ci5iYWNrQnV0dG9uJ1xuICAgICAgICApLFxuICAgICAgICB0eXBlOiAnYmFjaydcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGNsYXNzZXM6ICdzaGVwaGVyZC1idXR0b24tcHJpbWFyeScsXG4gICAgICAgIHRleHQ6IHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KFxuICAgICAgICAgICdpZ28uY29tbW9uLmludGVyYWN0aXZlVG91ci5uZXh0QnV0dG9uJ1xuICAgICAgICApLFxuICAgICAgICB0eXBlOiAnbmV4dCdcbiAgICAgIH1cbiAgICBdO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRBY3Rpb24oYWN0aW9uTmFtZTogc3RyaW5nKSB7XG4gICAgY29uc3QgYWN0aW9uID0ge1xuICAgICAgY2xpY2s6ICdjbGljaydcbiAgICB9O1xuICAgIHJldHVybiBhY3Rpb25bYWN0aW9uTmFtZS50b0xvd2VyQ2FzZSgpXTtcbiAgfVxuXG4gIHByaXZhdGUgYWRkUHJvZ3Jlc3MoKSB7XG4gICAgY29uc3Qgc2VsZiA9IHRoaXMgYXMgYW55O1xuICAgIGxldCBuYlRyeSA9IDA7XG4gICAgY29uc3QgbWF4VHJ5ID0gMjE7XG4gICAgY29uc3QgY2hlY2tFeGlzdCA9IHNldEludGVydmFsKCgpID0+IHtcbiAgICAgIGlmIChzZWxmLmdldEN1cnJlbnRTdGVwKCkpIHtcbiAgICAgICAgaWYgKHNlbGYuZ2V0Q3VycmVudFN0ZXAoKS5vcHRpb25zLmF0dGFjaFRvLmVsZW1lbnQgJiYgIWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3Ioc2VsZi5nZXRDdXJyZW50U3RlcCgpLm9wdGlvbnMuYXR0YWNoVG8uZWxlbWVudCkpIHtcbiAgICAgICAgICBzZWxmLmNhbmNlbCgpO1xuICAgICAgICAgIGNsZWFySW50ZXJ2YWwoY2hlY2tFeGlzdCk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnN0IGN1cnJlbnRTdGVwRWxlbWVudCA9IHNlbGYuZ2V0Q3VycmVudFN0ZXAoKS5nZXRFbGVtZW50KCk7XG4gICAgICAgICAgaWYgKGN1cnJlbnRTdGVwRWxlbWVudCkge1xuICAgICAgICAgICAgY29uc3Qgc2hlcGhlcmRMaXN0ID0gY3VycmVudFN0ZXBFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5zaGVwaGVyZC1jb250ZW50LCAuc2hlcGhlcmQtdGV4dCcpO1xuICAgICAgICAgICAgc2hlcGhlcmRMaXN0LmZvckVhY2goZWxlbWVudCA9PiB7XG4gICAgICAgICAgICAgIGVsZW1lbnQuY2xhc3NMaXN0LmFkZCgnbWF0LXR5cG9ncmFwaHknKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICBjb25zdCBoZWFkZXIgPSBjdXJyZW50U3RlcEVsZW1lbnRcbiAgICAgICAgICAgID8gY3VycmVudFN0ZXBFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5zaGVwaGVyZC1oZWFkZXInKVxuICAgICAgICAgICAgOiB1bmRlZmluZWQ7XG5cbiAgICAgICAgICBuYlRyeSsrO1xuICAgICAgICAgIGlmIChoZWFkZXIgfHwgbmJUcnkgPiBtYXhUcnkpIHtcbiAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwoY2hlY2tFeGlzdCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKGhlYWRlcikge1xuICAgICAgICAgICAgY29uc3Qgc3RlcHNBcnJheSA9IHNlbGYuc3RlcHM7XG4gICAgICAgICAgICBjb25zdCBwcm9ncmVzcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcbiAgICAgICAgICAgIHByb2dyZXNzLmNsYXNzTmFtZSA9ICdzaGVwaGVyZC1wcm9ncmVzcyc7XG4gICAgICAgICAgICBwcm9ncmVzcy5pbm5lclRleHQgPSBgJHtcbiAgICAgICAgICAgICAgc3RlcHNBcnJheS5pbmRleE9mKHNlbGYuZ2V0Q3VycmVudFN0ZXAoKSkgKyAxXG4gICAgICAgICAgICB9LyR7c3RlcHNBcnJheS5sZW5ndGh9YDtcbiAgICAgICAgICAgIGhlYWRlci5pbnNlcnRCZWZvcmUoXG4gICAgICAgICAgICAgIHByb2dyZXNzLFxuICAgICAgICAgICAgICBjdXJyZW50U3RlcEVsZW1lbnQucXVlcnlTZWxlY3RvcignLnNoZXBoZXJkLWNhbmNlbC1pY29uJylcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSwgMTAwKTtcbiAgfVxuXG4gIHByaXZhdGUgY2hlY2tOZXh0KGluZGV4LCB0b3VyLCBzZXJ2aWNlKSB7XG4gICAgaWYgKHRvdXIuZ2V0Q3VycmVudFN0ZXAoKSkge1xuICAgICAgaWYgKHRvdXIuZ2V0Q3VycmVudFN0ZXAoKS5vcHRpb25zLmF0dGFjaFRvLmVsZW1lbnQgJiYgZG9jdW1lbnQucXVlcnlTZWxlY3Rvcih0b3VyLmdldEN1cnJlbnRTdGVwKCkub3B0aW9ucy5hdHRhY2hUby5lbGVtZW50KSkge1xuICAgICAgICB0b3VyLmNvbXBsZXRlKCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKGluZGV4LmluZGV4ID09PSB0b3VyLnN0ZXBzLmxlbmd0aCAtIDEpIHtcbiAgICAgICAgdG91ci5jb21wbGV0ZSgpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHRvdXIuc3RlcHMuc3BsaWNlKGluZGV4LmluZGV4LCAxKTtcbiAgICAgIGNvbnN0IG5leHRTdGVwID0gdG91ci5zdGVwc1tpbmRleC5pbmRleF07XG4gICAgICBpZiAobmV4dFN0ZXAub3B0aW9ucy5hdHRhY2hUby5lbGVtZW50ICYmICFkb2N1bWVudC5xdWVyeVNlbGVjdG9yKG5leHRTdGVwLm9wdGlvbnMuYXR0YWNoVG8uZWxlbWVudCkpIHtcbiAgICAgICAgc2VydmljZS5jaGVja05leHQoaW5kZXgsIHRvdXIsIHNlcnZpY2UpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdG91ci5fc2V0dXBNb2RhbCgpO1xuICAgICAgICB0b3VyLnNob3cobmV4dFN0ZXAuaWQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZXhlY3V0ZUFjdGlvbihcbiAgICBzdGVwOiBJbnRlcmFjdGl2ZVRvdXJTdGVwLFxuICAgIGFjdGlvbkNvbmZpZzogSW50ZXJhY3RpdmVUb3VyQWN0aW9uXG4gICkge1xuICAgIGlmICghYWN0aW9uQ29uZmlnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgYWN0aW9uQ29uZmlnLmNvbmRpdGlvbiAmJlxuICAgICAgKChhY3Rpb25Db25maWcuY29uZGl0aW9uLmNoYXJBdCgwKSA9PT0gJyEnICYmXG4gICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoYWN0aW9uQ29uZmlnLmNvbmRpdGlvbi5zbGljZSgxKSkpIHx8XG4gICAgICAgIChhY3Rpb25Db25maWcuY29uZGl0aW9uLmNoYXJBdCgwKSAhPT0gJyEnICYmXG4gICAgICAgICAgIWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoYWN0aW9uQ29uZmlnLmNvbmRpdGlvbikpKVxuICAgICkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGVsZW1lbnQ6IEhUTUxFbGVtZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcbiAgICAgIGFjdGlvbkNvbmZpZy5lbGVtZW50IHx8IHN0ZXAuZWxlbWVudFxuICAgICkgYXMgSFRNTEVsZW1lbnQ7XG4gICAgY29uc3QgYWN0aW9uID0gdGhpcy5nZXRBY3Rpb24oYWN0aW9uQ29uZmlnLmFjdGlvbik7XG4gICAgaWYgKGVsZW1lbnQgJiYgYWN0aW9uKSB7XG4gICAgICBlbGVtZW50W2FjdGlvbl0oKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGV4ZWN1dGVBY3Rpb25Qcm9taXNlKFxuICAgIHN0ZXA6IEludGVyYWN0aXZlVG91clN0ZXAsXG4gICAgYWN0aW9uQ29uZmlnOiBJbnRlcmFjdGl2ZVRvdXJBY3Rpb25cbiAgKSB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlKSA9PiB7XG4gICAgICB0aGlzLmV4ZWN1dGVBY3Rpb24oc3RlcCwgYWN0aW9uQ29uZmlnKTtcbiAgICAgIGlmICghYWN0aW9uQ29uZmlnIHx8ICFhY3Rpb25Db25maWcud2FpdEZvcikge1xuICAgICAgICByZXNvbHZlKCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGxldCBuYlRyeSA9IDA7XG4gICAgICBjb25zdCBtYXhUcnkgPSBhY3Rpb25Db25maWcubWF4V2FpdCA/IGFjdGlvbkNvbmZpZy5tYXhXYWl0IC8gMTAwIDogMjA7XG4gICAgICBjb25zdCBjaGVja0V4aXN0ID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xuICAgICAgICBuYlRyeSsrO1xuICAgICAgICBpZiAobmJUcnkgPiBtYXhUcnkgfHwgZG9jdW1lbnQucXVlcnlTZWxlY3RvcihhY3Rpb25Db25maWcud2FpdEZvcikpIHtcbiAgICAgICAgICBjbGVhckludGVydmFsKGNoZWNrRXhpc3QpO1xuICAgICAgICAgIHJlc29sdmUoKTtcbiAgICAgICAgfVxuICAgICAgfSwgMTAwKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U2hlcGhlcmRTdGVwcyhzdGVwQ29uZmlnOiBJbnRlcmFjdGl2ZVRvdXJPcHRpb25zKSB7XG4gICAgY29uc3Qgc2hlcGhlcmRTdGVwcyA9IFtdO1xuXG4gICAgbGV0IGkgPSAwO1xuICAgIGZvciAoY29uc3Qgc3RlcCBvZiBzdGVwQ29uZmlnLnN0ZXBzKSB7XG4gICAgICBzaGVwaGVyZFN0ZXBzLnB1c2goe1xuICAgICAgICBhdHRhY2hUbzoge1xuICAgICAgICAgIGVsZW1lbnQ6IHN0ZXAuZWxlbWVudCxcbiAgICAgICAgICBvbjogc3RlcC5wb3NpdGlvbiB8fCBzdGVwQ29uZmlnLnBvc2l0aW9uXG4gICAgICAgIH0sXG4gICAgICAgIHBvcHBlck9wdGlvbnM6IHtcbiAgICAgICAgICBtb2RpZmllcnM6IFt7IG5hbWU6ICdvZmZzZXQnLCBvcHRpb25zOiB7IG9mZnNldDogWzAsIDE1XSB9IH1dXG4gICAgICAgIH0sXG4gICAgICAgIGJlZm9yZVNob3dQcm9taXNlOiAoKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIFByb21pc2UuYWxsKFtcbiAgICAgICAgICAgIHRoaXMuZXhlY3V0ZUFjdGlvblByb21pc2UoXG4gICAgICAgICAgICAgIHRoaXMucHJldmlvdXNTdGVwLFxuICAgICAgICAgICAgICB0aGlzLnByZXZpb3VzU3RlcCA/IHRoaXMucHJldmlvdXNTdGVwLmJlZm9yZUNoYW5nZSA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHRoaXMuZXhlY3V0ZUFjdGlvblByb21pc2Uoc3RlcCwgc3RlcC5iZWZvcmVTaG93KVxuICAgICAgICAgIF0pO1xuICAgICAgICB9LFxuICAgICAgICBidXR0b25zOiB0aGlzLmdldEJ1dHRvbnMoXG4gICAgICAgICAgaSA9PT0gMFxuICAgICAgICAgICAgPyAnZmlyc3QnXG4gICAgICAgICAgICA6IGkgKyAxID09PSBzdGVwQ29uZmlnLnN0ZXBzLmxlbmd0aFxuICAgICAgICAgICAgPyAnbGFzdCdcbiAgICAgICAgICAgIDogc3RlcENvbmZpZy5zdGVwc1tpXS5ub0JhY2tCdXR0b25cbiAgICAgICAgICAgID8gJ25vQmFja0J1dHRvbidcbiAgICAgICAgICAgIDogdW5kZWZpbmVkXG4gICAgICAgICksXG4gICAgICAgIGNsYXNzZXM6IHN0ZXAuY2xhc3MsXG4gICAgICAgIGhpZ2hsaWdodENsYXNzOiBzdGVwLmhpZ2hsaWdodENsYXNzLFxuICAgICAgICBzY3JvbGxUbzogc3RlcC5zY3JvbGxUb0VsZW1lbnQgfHwgc3RlcENvbmZpZy5zY3JvbGxUb0VsZW1lbnQgfHwgdHJ1ZSxcbiAgICAgICAgY2FuQ2xpY2tUYXJnZXQ6IHN0ZXAuZGlzYWJsZUludGVyYWN0aW9uXG4gICAgICAgICAgPyAhc3RlcC5kaXNhYmxlSW50ZXJhY3Rpb25cbiAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgICAgdGl0bGU6IHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KFxuICAgICAgICAgIHN0ZXAudGl0bGUgfHwgc3RlcENvbmZpZy50aXRsZVxuICAgICAgICApLFxuICAgICAgICB0ZXh0OiBbdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoc3RlcC50ZXh0KV0sXG4gICAgICAgIHdoZW46IHtcbiAgICAgICAgICBzaG93OiAoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmV4ZWN1dGVBY3Rpb24oc3RlcCwgc3RlcC5vblNob3cpO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgaGlkZTogKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5wcmV2aW91c1N0ZXAgPSBzdGVwO1xuICAgICAgICAgICAgdGhpcy5leGVjdXRlQWN0aW9uKHN0ZXAsIHN0ZXAub25IaWRlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgaSsrO1xuICAgIH1cblxuICAgIHJldHVybiBzaGVwaGVyZFN0ZXBzO1xuICB9XG5cbiAgcHVibGljIHN0YXJ0VG91cih0b29sTmFtZTogc3RyaW5nKSB7XG4gICAgY29uc3Qgc3RlcENvbmZpZzogSW50ZXJhY3RpdmVUb3VyT3B0aW9ucyA9IHRoaXMuaW50ZXJhY3RpdmVUb3VyTG9hZGVyLmdldFRvdXJPcHRpb25EYXRhKFxuICAgICAgdG9vbE5hbWVcbiAgICApO1xuXG4gICAgdGhpcy5zaGVwaGVyZFNlcnZpY2UuZGVmYXVsdFN0ZXBPcHRpb25zID0ge1xuICAgICAgY2xhc3Nlczogc3RlcENvbmZpZy5jbGFzcyxcbiAgICAgIGhpZ2hsaWdodENsYXNzOiBzdGVwQ29uZmlnLmhpZ2hsaWdodENsYXNzLFxuICAgICAgY2FuQ2xpY2tUYXJnZXQ6IHN0ZXBDb25maWcuZGlzYWJsZUludGVyYWN0aW9uXG4gICAgICAgID8gIXN0ZXBDb25maWcuZGlzYWJsZUludGVyYWN0aW9uXG4gICAgICAgIDogdHJ1ZSxcbiAgICAgIGNhbmNlbEljb246IHtcbiAgICAgICAgZW5hYmxlZDogdHJ1ZVxuICAgICAgfVxuICAgIH07XG5cbiAgICBjb25zdCBzaGVwaGVyZFN0ZXBzID0gdGhpcy5nZXRTaGVwaGVyZFN0ZXBzKHN0ZXBDb25maWcpO1xuXG4gICAgdGhpcy5zaGVwaGVyZFNlcnZpY2UubW9kYWwgPSB0cnVlO1xuICAgIHRoaXMuc2hlcGhlcmRTZXJ2aWNlLmNvbmZpcm1DYW5jZWwgPSBmYWxzZTtcbiAgICB0aGlzLnNoZXBoZXJkU2VydmljZS5hZGRTdGVwcyhzaGVwaGVyZFN0ZXBzKTtcblxuICAgIHRoaXMuc2hlcGhlcmRTZXJ2aWNlLnRvdXJPYmplY3Qub24oJ3Nob3cnLCB0aGlzLmFkZFByb2dyZXNzKTtcbiAgICB0aGlzLnNoZXBoZXJkU2VydmljZS50b3VyT2JqZWN0Lm9uKCdjYW5jZWwnLCAoaW5kZXgpID0+wqB7XG4gICAgICB0aGlzLmNoZWNrTmV4dChpbmRleCwgdGhpcy5zaGVwaGVyZFNlcnZpY2UudG91ck9iamVjdCwgdGhpcyk7XG4gICAgfSk7XG5cbiAgICB0aGlzLnNoZXBoZXJkU2VydmljZS5zdGFydCgpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
import { Component, Input, ChangeDetectionStrategy, HostBinding } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "@angular/common";
|
|
4
|
-
function PanelComponent_div_0_Template(rf, ctx) { if (rf & 1) {
|
|
5
|
-
i0.ɵɵelementStart(0, "div", 2);
|
|
6
|
-
i0.ɵɵelementStart(1, "h3");
|
|
7
|
-
i0.ɵɵprojection(2, 1);
|
|
8
|
-
i0.ɵɵelementStart(3, "div", 3);
|
|
9
|
-
i0.ɵɵtext(4);
|
|
10
|
-
i0.ɵɵprojection(5, 2);
|
|
11
|
-
i0.ɵɵelementEnd();
|
|
12
|
-
i0.ɵɵprojection(6, 3);
|
|
13
|
-
i0.ɵɵelementEnd();
|
|
14
|
-
i0.ɵɵelementEnd();
|
|
15
|
-
} if (rf & 2) {
|
|
16
|
-
const ctx_r0 = i0.ɵɵnextContext();
|
|
17
|
-
i0.ɵɵadvance(4);
|
|
18
|
-
i0.ɵɵtextInterpolate1(" ", ctx_r0.title, " ");
|
|
19
|
-
} }
|
|
20
|
-
const _c0 = ["*", [["", "panelLeftButton", ""]], [["", "panelHeader", ""]], [["", "panelRightButton", ""]]];
|
|
21
|
-
const _c1 = ["*", "[panelLeftButton]", "[panelHeader]", "[panelRightButton]"];
|
|
22
|
-
export class PanelComponent {
|
|
23
|
-
constructor() {
|
|
24
|
-
this._withHeader = true;
|
|
25
|
-
}
|
|
26
|
-
get title() {
|
|
27
|
-
return this._title;
|
|
28
|
-
}
|
|
29
|
-
set title(value) {
|
|
30
|
-
this._title = value;
|
|
31
|
-
}
|
|
32
|
-
get withHeader() {
|
|
33
|
-
return this._withHeader;
|
|
34
|
-
}
|
|
35
|
-
set withHeader(value) {
|
|
36
|
-
this._withHeader = value;
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
PanelComponent.ɵfac = function PanelComponent_Factory(t) { return new (t || PanelComponent)(); };
|
|
40
|
-
PanelComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PanelComponent, selectors: [["igo-panel"]], hostVars: 2, hostBindings: function PanelComponent_HostBindings(rf, ctx) { if (rf & 2) {
|
|
41
|
-
i0.ɵɵclassProp("igo-panel-with-header", ctx.withHeader);
|
|
42
|
-
} }, inputs: { title: "title", withHeader: "withHeader" }, ngContentSelectors: _c1, decls: 3, vars: 1, consts: [["class", "igo-panel-header mat-typography", "title", "", 4, "ngIf"], ["title", "", 1, "igo-panel-content"], ["title", "", 1, "igo-panel-header", "mat-typography"], [1, "igo-panel-title"]], template: function PanelComponent_Template(rf, ctx) { if (rf & 1) {
|
|
43
|
-
i0.ɵɵprojectionDef(_c0);
|
|
44
|
-
i0.ɵɵtemplate(0, PanelComponent_div_0_Template, 7, 1, "div", 0);
|
|
45
|
-
i0.ɵɵelementStart(1, "div", 1);
|
|
46
|
-
i0.ɵɵprojection(2);
|
|
47
|
-
i0.ɵɵelementEnd();
|
|
48
|
-
} if (rf & 2) {
|
|
49
|
-
i0.ɵɵproperty("ngIf", ctx.withHeader);
|
|
50
|
-
} }, directives: [i1.NgIf], styles: ["[_nghost-%COMP%]{display:block}.igo-panel-header[_ngcontent-%COMP%]{height:46px;padding:3px;text-align:center}.igo-panel-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0;height:40px}.igo-panel-header[_ngcontent-%COMP%] [panelleftbutton]{float:left;margin-right:-40px}.igo-panel-header[_ngcontent-%COMP%] [panelrightbutton]{float:right}.igo-panel-content[_ngcontent-%COMP%]{overflow:auto}.igo-panel-with-header[_nghost-%COMP%] .igo-panel-content[_ngcontent-%COMP%]{height:calc(100% - 46px)}[_nghost-%COMP%]:not(.igo-panel-with-header) .igo-panel-content[_ngcontent-%COMP%]{height:100%}.igo-panel-title[_ngcontent-%COMP%]{display:block;width:calc(100% - 80px);margin-left:40px;height:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;line-height:40px;float:left;font-weight:bold;font-size:1.17em}"], changeDetection: 0 });
|
|
51
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PanelComponent, [{
|
|
52
|
-
type: Component,
|
|
53
|
-
args: [{
|
|
54
|
-
selector: 'igo-panel',
|
|
55
|
-
templateUrl: './panel.component.html',
|
|
56
|
-
styleUrls: ['./panel.component.scss'],
|
|
57
|
-
changeDetection: ChangeDetectionStrategy.OnPush
|
|
58
|
-
}]
|
|
59
|
-
}], null, { title: [{
|
|
60
|
-
type: Input
|
|
61
|
-
}], withHeader: [{
|
|
62
|
-
type: Input
|
|
63
|
-
}, {
|
|
64
|
-
type: HostBinding,
|
|
65
|
-
args: ['class.igo-panel-with-header']
|
|
66
|
-
}] }); })();
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFuZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tbW9uL3NyYy9saWIvcGFuZWwvcGFuZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tbW9uL3NyYy9saWIvcGFuZWwvcGFuZWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsdUJBQXVCLEVBQ3ZCLFdBQVcsRUFDWixNQUFNLGVBQWUsQ0FBQzs7OztJQ0x2Qiw4QkFBeUU7SUFDdkUsMEJBQUk7SUFDRixxQkFBb0Q7SUFDcEQsOEJBQTZCO0lBQzNCLFlBQ0E7SUFBQSxxQkFBZ0Q7SUFDbEQsaUJBQU07SUFDTixxQkFBcUQ7SUFDdkQsaUJBQUs7SUFDUCxpQkFBTTs7O0lBTEEsZUFDQTtJQURBLDZDQUNBOzs7O0FEUU4sTUFBTSxPQUFPLGNBQWM7SUFOM0I7UUF3QlUsZ0JBQVcsR0FBRyxJQUFJLENBQUM7S0FDNUI7SUFsQkMsSUFDSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFDRCxJQUFJLEtBQUssQ0FBQyxLQUFhO1FBQ3JCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ3RCLENBQUM7SUFHRCxJQUVJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDMUIsQ0FBQztJQUNELElBQUksVUFBVSxDQUFDLEtBQWM7UUFDM0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7SUFDM0IsQ0FBQzs7NEVBakJVLGNBQWM7aUVBQWQsY0FBYzs7OztRQ2IzQiwrREFTTTtRQUNOLDhCQUF3QztRQUN0QyxrQkFBeUI7UUFDM0IsaUJBQU07O1FBWkEscUNBQWdCOzt1RkRhVCxjQUFjO2NBTjFCLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsV0FBVztnQkFDckIsV0FBVyxFQUFFLHdCQUF3QjtnQkFDckMsU0FBUyxFQUFFLENBQUMsd0JBQXdCLENBQUM7Z0JBQ3JDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2FBQ2hEO2dCQUdLLEtBQUs7a0JBRFIsS0FBSztZQVdGLFVBQVU7a0JBRmIsS0FBSzs7a0JBQ0wsV0FBVzttQkFBQyw2QkFBNkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgSG9zdEJpbmRpbmdcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2lnby1wYW5lbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9wYW5lbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3BhbmVsLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFBhbmVsQ29tcG9uZW50IHtcbiAgQElucHV0KClcbiAgZ2V0IHRpdGxlKCkge1xuICAgIHJldHVybiB0aGlzLl90aXRsZTtcbiAgfVxuICBzZXQgdGl0bGUodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX3RpdGxlID0gdmFsdWU7XG4gIH1cbiAgcHJpdmF0ZSBfdGl0bGU6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlnby1wYW5lbC13aXRoLWhlYWRlcicpXG4gIGdldCB3aXRoSGVhZGVyKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl93aXRoSGVhZGVyO1xuICB9XG4gIHNldCB3aXRoSGVhZGVyKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fd2l0aEhlYWRlciA9IHZhbHVlO1xuICB9XG4gIHByaXZhdGUgX3dpdGhIZWFkZXIgPSB0cnVlO1xufVxuIiwiPGRpdiAqbmdJZj1cIndpdGhIZWFkZXJcIiBjbGFzcz1cImlnby1wYW5lbC1oZWFkZXIgbWF0LXR5cG9ncmFwaHlcIiB0aXRsZT1cIlwiPlxuICA8aDM+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3BhbmVsTGVmdEJ1dHRvbl1cIj48L25nLWNvbnRlbnQ+XG4gICAgPGRpdiBjbGFzcz1cImlnby1wYW5lbC10aXRsZVwiPlxuICAgICAge3sgdGl0bGUgfX1cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltwYW5lbEhlYWRlcl1cIj48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3BhbmVsUmlnaHRCdXR0b25dXCI+PC9uZy1jb250ZW50PlxuICA8L2gzPlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwiaWdvLXBhbmVsLWNvbnRlbnRcIiB0aXRsZT1cIlwiPlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtbW9kZWwuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tbW9uL3NyYy9saWIvdGFibGUvdGFibGUtbW9kZWwuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUYWJsZUFjdGlvbkNvbG9yIH0gZnJvbSAnLi90YWJsZS1hY3Rpb24tY29sb3IuZW51bSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGFibGVDb2x1bW4ge1xuICBuYW1lOiBzdHJpbmc7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIHNvcnRhYmxlPzogYm9vbGVhbjtcbiAgZmlsdGVyYWJsZT86IGJvb2xlYW47XG4gIGRpc3BsYXllZD86IGJvb2xlYW47XG4gIGh0bWw/OiBib29sZWFuO1xufVxuXG5leHBvcnQgdHlwZSBSb3dDbGFzc0Z1bmMgPSAoXG4gIHJvdzogYW55XG4pID0+IHtcbiAgW2tleTogc3RyaW5nXTogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgQ2VsbENsYXNzRnVuYyA9IChcbiAgcm93OiBhbnksXG4gIGNvbHVtbjogVGFibGVDb2x1bW5cbikgPT4ge1xuICBba2V5OiBzdHJpbmddOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBDbGlja0FjdGlvbiA9IChpdGVtOiBhbnkpID0+IHZvaWQ7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGFibGVBY3Rpb24ge1xuICBpY29uOiBzdHJpbmc7XG4gIGNvbG9yPzogVGFibGVBY3Rpb25Db2xvcjtcbiAgY2xpY2s6IENsaWNrQWN0aW9uO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRhYmxlTW9kZWwge1xuICBjb2x1bW5zOiBUYWJsZUNvbHVtbltdO1xuICBhY3Rpb25zPzogVGFibGVBY3Rpb25bXTtcbiAgc2VsZWN0aW9uQ2hlY2tib3g/OiBib29sZWFuO1xuICByb3dDbGFzc0Z1bmM/OiBSb3dDbGFzc0Z1bmM7XG4gIGNlbGxDbGFzc0Z1bmM/OiBDZWxsQ2xhc3NGdW5jO1xufVxuIl19
|