@bizdoc/core 1.16.30 → 1.16.32
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/assets/themes/brown.min.css +1 -1
- package/assets/themes/dark.min.css +7 -2
- package/assets/themes/deep-purple-light-blue.min.css +1 -1
- package/assets/themes/deep-purple-teal.min.css +1 -1
- package/assets/themes/default.min.css +1 -1
- package/assets/themes/green.min.css +1 -1
- package/assets/themes/indigo.min.css +1 -1
- package/esm2020/lib/admin/admin-dismiss.service.mjs +4 -4
- package/esm2020/lib/admin/admin-menu.component.mjs +4 -4
- package/esm2020/lib/admin/configuration-designer/cube-axes-filter.component.mjs +4 -4
- package/esm2020/lib/admin/configuration-designer/designer-element.component.mjs +13 -13
- package/esm2020/lib/admin/configuration-designer/designer-privileges.component.mjs +4 -4
- package/esm2020/lib/admin/configuration-designer/designer.base.mjs +10 -10
- package/esm2020/lib/admin/configuration-designer/designer.component.mjs +7 -6
- package/esm2020/lib/admin/configuration-designer/elements/action.component.mjs +4 -4
- package/esm2020/lib/admin/configuration-designer/elements/analysis-view.component.mjs +4 -4
- package/esm2020/lib/admin/configuration-designer/elements/analysis-widget.component.mjs +4 -4
- package/esm2020/lib/admin/configuration-designer/elements/anomaly-rule.component.mjs +4 -4
- package/esm2020/lib/admin/configuration-designer/elements/box-form.component.mjs +4 -4
- package/esm2020/lib/admin/configuration-designer/elements/configuration-datasource.component.mjs +4 -4
- package/esm2020/lib/admin/configuration-designer/elements/cube-index-utility.component.mjs +4 -4
- package/esm2020/lib/admin/configuration-designer/elements/cube-view.component.mjs +4 -4
- package/esm2020/lib/admin/configuration-designer/elements/cube.component.mjs +4 -4
- package/esm2020/lib/admin/configuration-designer/elements/documents-report.component.mjs +4 -4
- package/esm2020/lib/admin/configuration-designer/elements/documents-widget.component.mjs +4 -4
- package/esm2020/lib/admin/configuration-designer/elements/explore-view.component.mjs +4 -4
- package/esm2020/lib/admin/configuration-designer/elements/folder.component.mjs +4 -4
- package/esm2020/lib/admin/configuration-designer/elements/form.component.mjs +4 -4
- package/esm2020/lib/admin/configuration-designer/elements/guide.component.mjs +4 -4
- package/esm2020/lib/admin/configuration-designer/elements/matrix-view.component.mjs +4 -4
- package/esm2020/lib/admin/configuration-designer/elements/node.component.mjs +4 -4
- package/esm2020/lib/admin/configuration-designer/elements/parallel-view.component.mjs +4 -4
- package/esm2020/lib/admin/configuration-designer/elements/performance-widget.component.mjs +4 -4
- package/esm2020/lib/admin/configuration-designer/elements/pivot-view.component.mjs +4 -4
- package/esm2020/lib/admin/configuration-designer/elements/policy.component.mjs +4 -4
- package/esm2020/lib/admin/configuration-designer/elements/report.component.mjs +4 -4
- package/esm2020/lib/admin/configuration-designer/elements/return-to-role-action.component.mjs +4 -4
- package/esm2020/lib/admin/configuration-designer/elements/role.component.mjs +4 -4
- package/esm2020/lib/admin/configuration-designer/elements/rule.component.mjs +4 -4
- package/esm2020/lib/admin/configuration-designer/elements/state.component.mjs +4 -4
- package/esm2020/lib/admin/configuration-designer/elements/sum-view.component.mjs +4 -4
- package/esm2020/lib/admin/configuration-designer/elements/tasks-report.component.mjs +4 -4
- package/esm2020/lib/admin/configuration-designer/elements/type.component.mjs +4 -4
- package/esm2020/lib/admin/configuration-designer/elements/usage-report.component.mjs +4 -4
- package/esm2020/lib/admin/configuration-designer/elements/utility.component.mjs +4 -4
- package/esm2020/lib/admin/configuration-designer/elements/view.component.mjs +4 -4
- package/esm2020/lib/admin/configuration-designer/elements/widget.component.mjs +4 -4
- package/esm2020/lib/admin/configuration-designer/icon-picker.component.mjs +4 -4
- package/esm2020/lib/admin/core/ace.input.mjs +4 -4
- package/esm2020/lib/admin/core/color-picker.input.mjs +4 -4
- package/esm2020/lib/admin/core/search.input.mjs +4 -4
- package/esm2020/lib/admin/diff/configuration-diff.component.mjs +4 -4
- package/esm2020/lib/admin/document-trace/document-trace.component.mjs +5 -5
- package/esm2020/lib/admin/document-trace/reassign.dialog.mjs +4 -4
- package/esm2020/lib/admin/document-trace/trace-element.component.mjs +4 -4
- package/esm2020/lib/admin/form/designer/designer.component.mjs +4 -4
- package/esm2020/lib/admin/form/form.resolve.service.mjs +4 -4
- package/esm2020/lib/admin/form/workflow/node.component.mjs +4 -4
- package/esm2020/lib/admin/form/workflow/role-node.component.mjs +4 -4
- package/esm2020/lib/admin/form/workflow/workflow.component.mjs +4 -4
- package/esm2020/lib/admin/indices/manage-cube-index.component.mjs +4 -4
- package/esm2020/lib/admin/localized-string.component.mjs +4 -4
- package/esm2020/lib/admin/patterns/patterns.component.mjs +4 -4
- package/esm2020/lib/admin/permissions/permissions.component.mjs +4 -4
- package/esm2020/lib/admin/positions/positions-popup.component.mjs +4 -4
- package/esm2020/lib/admin/positions/positions.component.mjs +4 -4
- package/esm2020/lib/admin/profiler/outofoffice.component.mjs +4 -4
- package/esm2020/lib/admin/profiler/profiler.component.mjs +4 -4
- package/esm2020/lib/admin/system.service.mjs +8 -5
- package/esm2020/lib/admin/utility-wrapper.component.mjs +4 -4
- package/esm2020/lib/admin/utility.pane.component.mjs +4 -4
- package/esm2020/lib/app.component.mjs +7 -7
- package/esm2020/lib/bizdoc.module.mjs +5 -5
- package/esm2020/lib/browse/browse-items.component.mjs +4 -4
- package/esm2020/lib/browse/browse.mobile.component.mjs +4 -4
- package/esm2020/lib/browse/browse.pane.component.mjs +4 -4
- package/esm2020/lib/browse/expanded-item/expanded-item.component.mjs +4 -4
- package/esm2020/lib/browse/filter/filter.component.mjs +4 -4
- package/esm2020/lib/browse/folders-menu.component.mjs +4 -4
- package/esm2020/lib/chat/chat-info.mjs +4 -4
- package/esm2020/lib/chat/chat.mobile.component.mjs +4 -4
- package/esm2020/lib/chat/chat.service.mjs +4 -4
- package/esm2020/lib/chat/contacts.component.mjs +7 -7
- package/esm2020/lib/chat/contacts.pane.component.mjs +4 -4
- package/esm2020/lib/chat/conversation.component.mjs +4 -4
- package/esm2020/lib/chat/conversation.pane.component.mjs +4 -4
- package/esm2020/lib/compose/action/action-picker.component.mjs +4 -4
- package/esm2020/lib/compose/action/action.dialog.mjs +4 -4
- package/esm2020/lib/compose/action/action.pane.dialog.exp.mjs +4 -4
- package/esm2020/lib/compose/action/assign-action.component.mjs +5 -5
- package/esm2020/lib/compose/action/moveto-action.component.mjs +4 -4
- package/esm2020/lib/compose/action/return-action.component.mjs +4 -4
- package/esm2020/lib/compose/attachments/attachments.component.mjs +4 -4
- package/esm2020/lib/compose/attachments/preview/attachment-preview.component.mjs +4 -4
- package/esm2020/lib/compose/attachments/progress-button.directive.mjs +4 -4
- package/esm2020/lib/compose/box/box.component.mjs +4 -4
- package/esm2020/lib/compose/can-deactivate-changes.service.mjs +4 -4
- package/esm2020/lib/compose/comments/comment.component.mjs +4 -4
- package/esm2020/lib/compose/comments/comments.component.mjs +4 -4
- package/esm2020/lib/compose/comments/comments.pane.component.mjs +4 -4
- package/esm2020/lib/compose/comments/edit-comment.component.mjs +4 -4
- package/esm2020/lib/compose/comments/edits.component.mjs +4 -4
- package/esm2020/lib/compose/comments/quick-comment.component.exp.mjs +4 -4
- package/esm2020/lib/compose/comments/votes.component.mjs +4 -4
- package/esm2020/lib/compose/compose-resolve.service.mjs +7 -7
- package/esm2020/lib/compose/compose.mobile.component.mjs +4 -4
- package/esm2020/lib/compose/compose.pane.component.mjs +4 -4
- package/esm2020/lib/compose/copy/copy.dialog.mjs +4 -4
- package/esm2020/lib/compose/dismiss.service.mjs +4 -4
- package/esm2020/lib/compose/document-resolver.service.mjs +4 -4
- package/esm2020/lib/compose/document.component.mjs +4 -4
- package/esm2020/lib/compose/document.mobile.component.mjs +4 -4
- package/esm2020/lib/compose/document.pane.component.mjs +4 -4
- package/esm2020/lib/compose/events/events.component.mjs +4 -4
- package/esm2020/lib/compose/form-selector/form-selector.sheet.mjs +4 -4
- package/esm2020/lib/compose/form.component.mjs +4 -4
- package/esm2020/lib/compose/new-menu.component.mjs +4 -4
- package/esm2020/lib/compose/privilage.directive.mjs +7 -7
- package/esm2020/lib/compose/recipient-resolver.service.mjs +4 -4
- package/esm2020/lib/compose/state.component.mjs +4 -4
- package/esm2020/lib/compose/tag/tags.component.mjs +4 -4
- package/esm2020/lib/compose/trace/flow.component.mjs +4 -4
- package/esm2020/lib/compose/trace/people.component.mjs +4 -4
- package/esm2020/lib/compose/trace/trace.base.mjs +4 -4
- package/esm2020/lib/compose/trace/trace.component.mjs +4 -4
- package/esm2020/lib/compose/trace/trace.pane.component.mjs +4 -4
- package/esm2020/lib/compose/version-compare/version-compare.component.mjs +4 -4
- package/esm2020/lib/compose/version-compare/version-compare.directive.mjs +10 -10
- package/esm2020/lib/compose/version-compare/version.pane.component.mjs +4 -4
- package/esm2020/lib/core/NgComponentOutlet.mjs +4 -4
- package/esm2020/lib/core/account.service.mjs +4 -4
- package/esm2020/lib/core/animated-icon/animated-icon.directive.mjs +4 -4
- package/esm2020/lib/core/avatar/avatar.component.mjs +4 -4
- package/esm2020/lib/core/component-factory-resolver.mjs +4 -4
- package/esm2020/lib/core/controls/address.input.mjs +4 -4
- package/esm2020/lib/core/controls/auto-complete.input.mjs +4 -4
- package/esm2020/lib/core/controls/combination-picker-body.mjs +4 -4
- package/esm2020/lib/core/controls/combination-picker.mjs +4 -4
- package/esm2020/lib/core/controls/combination-pool.mjs +4 -4
- package/esm2020/lib/core/controls/file.input.mjs +4 -4
- package/esm2020/lib/core/controls/select.input.mjs +4 -4
- package/esm2020/lib/core/controls/signature.input.mjs +4 -4
- package/esm2020/lib/core/controls/time-picker.mjs +4 -4
- package/esm2020/lib/core/controls/timespan.input.mjs +4 -4
- package/esm2020/lib/core/datasource.service.mjs +4 -4
- package/esm2020/lib/core/guide/guide.component.mjs +4 -4
- package/esm2020/lib/core/guide/guide.service.mjs +4 -4
- package/esm2020/lib/core/guide/help-tip.component.mjs +4 -4
- package/esm2020/lib/core/http.interceptor.mjs +4 -4
- package/esm2020/lib/core/hub.service.mjs +4 -4
- package/esm2020/lib/core/identity/identity.component.mjs +4 -4
- package/esm2020/lib/core/info/attachment-info.service.mjs +4 -4
- package/esm2020/lib/core/info/document-info.service.mjs +4 -4
- package/esm2020/lib/core/info/location-info.component.mjs +4 -4
- package/esm2020/lib/core/info/map-info.mjs +4 -4
- package/esm2020/lib/core/layout/autocomplete.field.mjs +4 -4
- package/esm2020/lib/core/layout/checkbox.field.mjs +4 -4
- package/esm2020/lib/core/layout/checkbox.mjs +4 -4
- package/esm2020/lib/core/layout/date-range.field.mjs +4 -4
- package/esm2020/lib/core/layout/date.field.mjs +4 -4
- package/esm2020/lib/core/layout/expression.field.mjs +4 -4
- package/esm2020/lib/core/layout/file.field.mjs +4 -4
- package/esm2020/lib/core/layout/html.field.mjs +4 -4
- package/esm2020/lib/core/layout/input.base.mjs +4 -4
- package/esm2020/lib/core/layout/input.field.mjs +4 -4
- package/esm2020/lib/core/layout/layout.component.mjs +4 -4
- package/esm2020/lib/core/layout/numeric.field.mjs +4 -4
- package/esm2020/lib/core/layout/select.field.mjs +4 -4
- package/esm2020/lib/core/layout/switch.field.mjs +4 -4
- package/esm2020/lib/core/layout/textarea.field.mjs +4 -4
- package/esm2020/lib/core/layout/timespan.field.mjs +4 -4
- package/esm2020/lib/core/lottie-animation.mjs +4 -4
- package/esm2020/lib/core/mailbox.service.mjs +4 -4
- package/esm2020/lib/core/none.component.mjs +4 -4
- package/esm2020/lib/core/pipes/action.pipe.mjs +4 -4
- package/esm2020/lib/core/pipes/calendar.pipe.mjs +4 -4
- package/esm2020/lib/core/pipes/date-format.pipe.mjs +4 -4
- package/esm2020/lib/core/pipes/daterange.pipe.mjs +7 -7
- package/esm2020/lib/core/pipes/difference.pipe.mjs +4 -4
- package/esm2020/lib/core/pipes/duration-format.pipe.mjs +4 -4
- package/esm2020/lib/core/pipes/duration.pipe.mjs +4 -4
- package/esm2020/lib/core/pipes/form.pipe.mjs +4 -4
- package/esm2020/lib/core/pipes/join.pipe.mjs +4 -4
- package/esm2020/lib/core/pipes/localized-string.pipe.mjs +4 -4
- package/esm2020/lib/core/pipes/role.pipe.mjs +4 -4
- package/esm2020/lib/core/pipes/sanitize-html.pipe.mjs +4 -4
- package/esm2020/lib/core/pipes/sort.pipe.mjs +7 -7
- package/esm2020/lib/core/pipes/state.pipe.mjs +4 -4
- package/esm2020/lib/core/pipes/time-ago.pipe.mjs +7 -7
- package/esm2020/lib/core/pipes/translate.pipe.mjs +7 -7
- package/esm2020/lib/core/pipes/type-value.pipe.mjs +4 -4
- package/esm2020/lib/core/pipes/user-name.pipe.mjs +4 -4
- package/esm2020/lib/core/popup/popup.component.mjs +4 -4
- package/esm2020/lib/core/popup/popup.service.mjs +4 -4
- package/esm2020/lib/core/popup/tooltip.directive.mjs +7 -7
- package/esm2020/lib/core/prompt/ask/ask.dialog.mjs +4 -4
- package/esm2020/lib/core/prompt/mask/mask.component.mjs +4 -4
- package/esm2020/lib/core/prompt.service.mjs +4 -4
- package/esm2020/lib/core/router.mjs +7 -7
- package/esm2020/lib/core/save-changes.dialog.mjs +4 -4
- package/esm2020/lib/core/session.service.mjs +4 -4
- package/esm2020/lib/core/slots/router.directive.mjs +4 -4
- package/esm2020/lib/core/slots/router.service.mjs +4 -4
- package/esm2020/lib/core/slots/slots.component.mjs +4 -4
- package/esm2020/lib/core/tagging/documents.component.mjs +4 -4
- package/esm2020/lib/core/tagging/edit-input.component.mjs +4 -4
- package/esm2020/lib/core/tagging/emoji.component.mjs +4 -4
- package/esm2020/lib/core/tagging/tagging-item.directive.mjs +4 -4
- package/esm2020/lib/core/tagging/tagging.component-base.mjs +4 -4
- package/esm2020/lib/core/tagging/tagging.directive.mjs +4 -4
- package/esm2020/lib/core/tagging/tagging.pipe.mjs +4 -4
- package/esm2020/lib/core/tagging/users.component.mjs +4 -4
- package/esm2020/lib/core/translate.service.mjs +4 -4
- package/esm2020/lib/core/window-title.service.mjs +4 -4
- package/esm2020/lib/cube/accum/accum.component.mjs +4 -4
- package/esm2020/lib/cube/chart/chart.component.mjs +4 -4
- package/esm2020/lib/cube/cube-info.service.mjs +4 -4
- package/esm2020/lib/cube/cube-menu.component.mjs +4 -4
- package/esm2020/lib/cube/cube-view.component.mjs +4 -4
- package/esm2020/lib/cube/cube.service.mjs +4 -4
- package/esm2020/lib/cube/explore/document-item.component.mjs +4 -4
- package/esm2020/lib/cube/explore/explore-item.component.mjs +4 -4
- package/esm2020/lib/cube/explore/explore-items.component.mjs +4 -4
- package/esm2020/lib/cube/explore/explore.pane.component.mjs +4 -4
- package/esm2020/lib/cube/explore/item-resolver.service.mjs +7 -7
- package/esm2020/lib/cube/explore/item.pane.component.mjs +4 -4
- package/esm2020/lib/cube/filter/filter-tags.component.exp.mjs +4 -4
- package/esm2020/lib/cube/filter/filter.component.mjs +4 -4
- package/esm2020/lib/cube/grid/grid.component.mjs +4 -4
- package/esm2020/lib/cube/grid/spreadsheet.component.mjs +4 -4
- package/esm2020/lib/cube/matrix/matrix.base.mjs +4 -4
- package/esm2020/lib/cube/matrix/matrix.mobile.component.mjs +4 -4
- package/esm2020/lib/cube/matrix/matrix.pane.component.mjs +4 -4
- package/esm2020/lib/cube/matrix/popup.component.mjs +4 -4
- package/esm2020/lib/cube/matrix/table.component.mjs +4 -4
- package/esm2020/lib/cube/parallel/parallel.component.mjs +4 -4
- package/esm2020/lib/cube/pivot/pivot.component.mjs +4 -4
- package/esm2020/lib/cube/sum/sum.component.mjs +4 -4
- package/esm2020/lib/cube/view-base.mjs +4 -4
- package/esm2020/lib/cube/view.mobile.component.mjs +4 -4
- package/esm2020/lib/cube/view.pane.component.mjs +4 -4
- package/esm2020/lib/dashboard/actions/actions.widget.mjs +4 -4
- package/esm2020/lib/dashboard/cube/accum-cube.widget.mjs +4 -4
- package/esm2020/lib/dashboard/cube/compare.widget.mjs +4 -4
- package/esm2020/lib/dashboard/cube/cube-analysis.base.mjs +4 -4
- package/esm2020/lib/dashboard/cube/cube-analysis.widget.mjs +4 -4
- package/esm2020/lib/dashboard/cube/cube-chart.widget.mjs +4 -4
- package/esm2020/lib/dashboard/cube/documents.widget.mjs +4 -4
- package/esm2020/lib/dashboard/cube/filter/filter.component.mjs +4 -4
- package/esm2020/lib/dashboard/dashboard.component.mjs +4 -4
- package/esm2020/lib/dashboard/dashboard.pane.component.mjs +4 -4
- package/esm2020/lib/dashboard/recents/recents.widget.mjs +4 -4
- package/esm2020/lib/dashboard/score/activity.widget.mjs +4 -4
- package/esm2020/lib/dashboard/score/compare-groups.widget.mjs +4 -4
- package/esm2020/lib/dashboard/score/peers-performance.widget.mjs +4 -4
- package/esm2020/lib/dashboard/score/pending-results.widget.mjs +4 -4
- package/esm2020/lib/dashboard/score/personal-score.widget.mjs +4 -4
- package/esm2020/lib/dashboard/widget-item.component.mjs +4 -4
- package/esm2020/lib/desktop.module.mjs +5 -5
- package/esm2020/lib/home/about/about.dialog.mjs +4 -4
- package/esm2020/lib/home/home-base.component.mjs +4 -4
- package/esm2020/lib/home/home.desktop.component.mjs +4 -4
- package/esm2020/lib/home/home.mobile.component.mjs +4 -4
- package/esm2020/lib/home/notifications/notifications.component.mjs +4 -4
- package/esm2020/lib/home/options/options.component.mjs +4 -4
- package/esm2020/lib/home/outofoffice/outofoffice.component.mjs +4 -4
- package/esm2020/lib/home/sign/sign.component.mjs +4 -4
- package/esm2020/lib/home/tools.component.mjs +4 -4
- package/esm2020/lib/impersonate/impersonate.component.mjs +4 -4
- package/esm2020/lib/mobile.module.mjs +5 -5
- package/esm2020/lib/modules/chart.module.mjs +5 -5
- package/esm2020/lib/modules/circular-gauge.module.mjs +5 -5
- package/esm2020/lib/modules/datepicker.intl.mjs +4 -4
- package/esm2020/lib/modules/dayjs.module.mjs +5 -5
- package/esm2020/lib/modules/diagram.module.mjs +5 -5
- package/esm2020/lib/modules/gantt.module.mjs +5 -5
- package/esm2020/lib/modules/grid.module.mjs +5 -5
- package/esm2020/lib/modules/material.module.mjs +5 -5
- package/esm2020/lib/modules/paginator.intl.mjs +4 -4
- package/esm2020/lib/modules/pivot.module.mjs +5 -5
- package/esm2020/lib/modules/schedule.module.mjs +5 -5
- package/esm2020/lib/modules/spreadsheet.module.mjs +5 -5
- package/esm2020/lib/modules/stepper.intl.mjs +4 -4
- package/esm2020/lib/modules/texteditor.module.mjs +5 -5
- package/esm2020/lib/notifications/filter.component.mjs +4 -4
- package/esm2020/lib/notifications/notifications-table.component.mjs +4 -4
- package/esm2020/lib/notifications/notifications.mobile.component.mjs +4 -4
- package/esm2020/lib/notifications/notifications.pane.component.mjs +4 -4
- package/esm2020/lib/notifications/notifications.service.mjs +4 -4
- package/esm2020/lib/notifications/types/commented.notification.mjs +4 -4
- package/esm2020/lib/notifications/types/cube-anomaly.notification.mjs +4 -4
- package/esm2020/lib/notifications/types/escalated.notification.mjs +4 -4
- package/esm2020/lib/notifications/types/liked.notification.mjs +4 -4
- package/esm2020/lib/notifications/types/long-running-task.notification.mjs +4 -4
- package/esm2020/lib/notifications/types/notification-base.mjs +4 -4
- package/esm2020/lib/notifications/types/nudge.notification.mjs +4 -4
- package/esm2020/lib/notifications/types/state-changed.notification.mjs +4 -4
- package/esm2020/lib/notifications/types/tagged.notification.mjs +4 -4
- package/esm2020/lib/notifications/types/text.notification.mjs +4 -4
- package/esm2020/lib/notifications/types/upcoming-event.notification.mjs +4 -4
- package/esm2020/lib/options/options.component.mjs +4 -4
- package/esm2020/lib/options/options.service.mjs +4 -4
- package/esm2020/lib/reports/arguments-component.mjs +4 -4
- package/esm2020/lib/reports/cube/documents.component.mjs +4 -4
- package/esm2020/lib/reports/cube/grid-documents.component.mjs +4 -4
- package/esm2020/lib/reports/cube/table-documents.component.mjs +4 -4
- package/esm2020/lib/reports/cube/usage-args.component.mjs +4 -4
- package/esm2020/lib/reports/cube/usage-base.mjs +4 -4
- package/esm2020/lib/reports/cube/usage-chart.component.mjs +4 -4
- package/esm2020/lib/reports/cube/usage-pivot.component.mjs +4 -4
- package/esm2020/lib/reports/cube/usage.component.mjs +4 -4
- package/esm2020/lib/reports/report-viewer.component.mjs +4 -4
- package/esm2020/lib/reports/report.mobile.component.mjs +4 -4
- package/esm2020/lib/reports/report.pane.component.mjs +4 -4
- package/esm2020/lib/reports/reports-menu.component.mjs +4 -4
- package/esm2020/lib/reports/substitution/substitution.component.mjs +4 -4
- package/esm2020/lib/reports/table/table-view.component.mjs +4 -4
- package/esm2020/lib/reports/tasks/tasks.component.mjs +4 -4
- package/esm2020/lib/scheduler/schedule.component.mjs +4 -4
- package/esm2020/lib/scheduler/scheduler.mobile.component.mjs +4 -4
- package/esm2020/lib/scheduler/scheduler.pane.component.mjs +4 -4
- package/esm2020/lib/search/cube.component.mjs +4 -4
- package/esm2020/lib/search/document.component.mjs +4 -4
- package/esm2020/lib/search/guide.component.mjs +4 -4
- package/esm2020/lib/search/path.component.mjs +4 -4
- package/esm2020/lib/search/search.service.mjs +4 -4
- package/esm2020/lib/shared.module.mjs +5 -5
- package/esm2020/lib/system.module.mjs +5 -5
- package/esm2020/lib/views/cube/chart.component.mjs +4 -4
- package/esm2020/lib/views/cube/cube-base.mjs +4 -4
- package/esm2020/lib/views/cube/explore.component.mjs +4 -4
- package/esm2020/lib/views/cube/matrix.component.mjs +4 -4
- package/esm2020/lib/views/cube/parallel.component.mjs +4 -4
- package/esm2020/lib/views/cube/pivot.component.mjs +4 -4
- package/esm2020/lib/views/cube/sum.component.mjs +4 -4
- package/esm2020/lib/views/cube/view.component.mjs +4 -4
- package/esm2020/lib/views/timeline/timeline.component.exp.mjs +4 -4
- package/esm2020/lib/views/view-item.component.mjs +4 -4
- package/esm2020/lib/views/views.component.mjs +4 -4
- package/esm2020/lib/views/views.mobile.component.mjs +4 -4
- package/esm2020/lib/views/views.pane.component.mjs +4 -4
- package/fesm2015/bizdoc-core.mjs +1081 -1077
- package/fesm2015/bizdoc-core.mjs.map +1 -1
- package/fesm2020/bizdoc-core.mjs +1081 -1077
- package/fesm2020/bizdoc-core.mjs.map +1 -1
- package/lib/admin/configuration-designer/designer.component.d.ts.map +1 -1
- package/lib/admin/system.service.d.ts.map +1 -1
- package/lib/compose/action/return-action.component.d.ts.map +1 -1
- package/package.json +1 -1
- package/esm2020/lib/admin/architecture/cube-axes-filter.component.mjs +0 -237
- package/esm2020/lib/admin/architecture/declarations.mjs +0 -55
- package/esm2020/lib/admin/architecture/designer-element.component.mjs +0 -443
- package/esm2020/lib/admin/architecture/designer-privileges.component.mjs +0 -169
- package/esm2020/lib/admin/architecture/designer.base.mjs +0 -133
- package/esm2020/lib/admin/architecture/designer.component.mjs +0 -473
- package/esm2020/lib/admin/architecture/elements/action.component.mjs +0 -84
- package/esm2020/lib/admin/architecture/elements/analysis-view.component.mjs +0 -475
- package/esm2020/lib/admin/architecture/elements/analysis-widget.component.mjs +0 -459
- package/esm2020/lib/admin/architecture/elements/anomaly-rule.component.mjs +0 -41
- package/esm2020/lib/admin/architecture/elements/attribute.component.mjs +0 -62
- package/esm2020/lib/admin/architecture/elements/box-form.component.mjs +0 -117
- package/esm2020/lib/admin/architecture/elements/configuration-datasource.component.mjs +0 -132
- package/esm2020/lib/admin/architecture/elements/control.component.mjs +0 -43
- package/esm2020/lib/admin/architecture/elements/cube-index-utility.component.mjs +0 -98
- package/esm2020/lib/admin/architecture/elements/cube-view.component.mjs +0 -133
- package/esm2020/lib/admin/architecture/elements/cube.component.mjs +0 -1763
- package/esm2020/lib/admin/architecture/elements/documents-report.component.mjs +0 -86
- package/esm2020/lib/admin/architecture/elements/documents-widget.component.mjs +0 -93
- package/esm2020/lib/admin/architecture/elements/explore-view.component.mjs +0 -113
- package/esm2020/lib/admin/architecture/elements/feedback-widget.component.mjs +0 -125
- package/esm2020/lib/admin/architecture/elements/folder.component.mjs +0 -353
- package/esm2020/lib/admin/architecture/elements/form-invite.dialog.mjs +0 -239
- package/esm2020/lib/admin/architecture/elements/form.component.mjs +0 -432
- package/esm2020/lib/admin/architecture/elements/guide.component.mjs +0 -236
- package/esm2020/lib/admin/architecture/elements/matrix-view.component.mjs +0 -445
- package/esm2020/lib/admin/architecture/elements/node.component.mjs +0 -30
- package/esm2020/lib/admin/architecture/elements/parallel-view.component.mjs +0 -246
- package/esm2020/lib/admin/architecture/elements/performance-report.component.mjs +0 -118
- package/esm2020/lib/admin/architecture/elements/performance-widget.component.mjs +0 -121
- package/esm2020/lib/admin/architecture/elements/pivot-view.component.mjs +0 -232
- package/esm2020/lib/admin/architecture/elements/policy.component.mjs +0 -30
- package/esm2020/lib/admin/architecture/elements/report.component.mjs +0 -75
- package/esm2020/lib/admin/architecture/elements/return-to-role-action.component.mjs +0 -69
- package/esm2020/lib/admin/architecture/elements/role.component.mjs +0 -120
- package/esm2020/lib/admin/architecture/elements/rule.component.mjs +0 -30
- package/esm2020/lib/admin/architecture/elements/state.component.mjs +0 -64
- package/esm2020/lib/admin/architecture/elements/sum-view.component.mjs +0 -228
- package/esm2020/lib/admin/architecture/elements/tasks-report.component.mjs +0 -152
- package/esm2020/lib/admin/architecture/elements/type.component.mjs +0 -378
- package/esm2020/lib/admin/architecture/elements/usage-report.component.mjs +0 -277
- package/esm2020/lib/admin/architecture/elements/utility.component.mjs +0 -30
- package/esm2020/lib/admin/architecture/elements/view.component.mjs +0 -30
- package/esm2020/lib/admin/architecture/elements/widget.component.mjs +0 -75
- package/esm2020/lib/admin/architecture/icon-picker.component.mjs +0 -219
- package/esm2020/lib/admin/core/localized-string.component.mjs +0 -241
- package/esm2020/lib/admin/form/designer/box-designer.component.mjs +0 -496
- package/esm2020/lib/admin/form/designer/declarations.mjs +0 -2
- package/esm2020/lib/admin/form/designer/properties.component.mjs +0 -133
- package/esm2020/lib/admin/form/designer/section.component.mjs +0 -106
- package/esm2020/lib/admin/form/designer/settings.component.mjs +0 -61
- package/esm2020/lib/compose/box/control.component.mjs +0 -47
- package/esm2020/lib/compose/box/row.component.mjs +0 -41
- package/esm2020/lib/core/checkbox.mjs +0 -49
- package/esm2020/lib/core/fields/address.designer.mjs +0 -47
- package/esm2020/lib/core/fields/address.field.mjs +0 -104
- package/esm2020/lib/core/fields/autocomplete.field.mjs +0 -198
- package/esm2020/lib/core/fields/checkbox.designer.mjs +0 -43
- package/esm2020/lib/core/fields/checkbox.field.mjs +0 -95
- package/esm2020/lib/core/fields/checklist.designer.mjs +0 -98
- package/esm2020/lib/core/fields/checklist.field.mjs +0 -144
- package/esm2020/lib/core/fields/date-range.designer.mjs +0 -55
- package/esm2020/lib/core/fields/date-range.field.mjs +0 -113
- package/esm2020/lib/core/fields/date.designer.mjs +0 -49
- package/esm2020/lib/core/fields/date.field.mjs +0 -114
- package/esm2020/lib/core/fields/expression.field.mjs +0 -80
- package/esm2020/lib/core/fields/file.designer.mjs +0 -49
- package/esm2020/lib/core/fields/file.field.mjs +0 -90
- package/esm2020/lib/core/fields/html.designer.mjs +0 -76
- package/esm2020/lib/core/fields/html.field.mjs +0 -114
- package/esm2020/lib/core/fields/input.designer.mjs +0 -112
- package/esm2020/lib/core/fields/input.field.mjs +0 -212
- package/esm2020/lib/core/fields/numeric.designer.mjs +0 -91
- package/esm2020/lib/core/fields/numeric.field.mjs +0 -95
- package/esm2020/lib/core/fields/options.base.mjs +0 -41
- package/esm2020/lib/core/fields/options.component.mjs +0 -106
- package/esm2020/lib/core/fields/radio-button.designer.mjs +0 -83
- package/esm2020/lib/core/fields/radio-button.field.mjs +0 -114
- package/esm2020/lib/core/fields/select.designer.mjs +0 -105
- package/esm2020/lib/core/fields/select.field.mjs +0 -157
- package/esm2020/lib/core/fields/signature.designer.mjs +0 -46
- package/esm2020/lib/core/fields/signature.field.mjs +0 -114
- package/esm2020/lib/core/fields/switch.field.mjs +0 -82
- package/esm2020/lib/core/fields/textarea.designer.mjs +0 -62
- package/esm2020/lib/core/fields/textarea.field.mjs +0 -106
- package/esm2020/lib/core/fields/timespan.field.mjs +0 -93
- package/esm2020/lib/core/fields/yesno.designer.mjs +0 -104
- package/esm2020/lib/core/fields/yesno.field.mjs +0 -101
- package/esm2020/lib/core/inputs/address.input.mjs +0 -229
- package/esm2020/lib/core/inputs/auto-complete.input.mjs +0 -320
- package/esm2020/lib/core/inputs/combination-picker-body.mjs +0 -309
- package/esm2020/lib/core/inputs/combination-picker.mjs +0 -296
- package/esm2020/lib/core/inputs/combination-pool.mjs +0 -161
- package/esm2020/lib/core/inputs/file.input.mjs +0 -685
- package/esm2020/lib/core/inputs/select.input.mjs +0 -293
- package/esm2020/lib/core/inputs/signature.input.mjs +0 -162
- package/esm2020/lib/core/inputs/time-picker.mjs +0 -220
- package/esm2020/lib/core/inputs/timespan.input.mjs +0 -202
- package/esm2020/lib/core/layout.component.mjs +0 -146
- package/esm2020/lib/dashboard/cube/document-state.widget.mjs +0 -85
- package/esm2020/lib/designer.module.mjs +0 -98
- package/esm2020/lib/notifications/types/invite.notification.mjs +0 -51
- package/esm2020/lib/reports/cube/role-performance.component.mjs +0 -61
- package/lib/admin/architecture/cube-axes-filter.component.d.ts +0 -32
- package/lib/admin/architecture/cube-axes-filter.component.d.ts.map +0 -1
- package/lib/admin/architecture/declarations.d.ts +0 -229
- package/lib/admin/architecture/declarations.d.ts.map +0 -1
- package/lib/admin/architecture/designer-element.component.d.ts +0 -87
- package/lib/admin/architecture/designer-element.component.d.ts.map +0 -1
- package/lib/admin/architecture/designer-privileges.component.d.ts +0 -34
- package/lib/admin/architecture/designer-privileges.component.d.ts.map +0 -1
- package/lib/admin/architecture/designer.base.d.ts +0 -55
- package/lib/admin/architecture/designer.base.d.ts.map +0 -1
- package/lib/admin/architecture/designer.component.d.ts +0 -60
- package/lib/admin/architecture/designer.component.d.ts.map +0 -1
- package/lib/admin/architecture/elements/action.component.d.ts +0 -23
- package/lib/admin/architecture/elements/action.component.d.ts.map +0 -1
- package/lib/admin/architecture/elements/analysis-view.component.d.ts +0 -21
- package/lib/admin/architecture/elements/analysis-view.component.d.ts.map +0 -1
- package/lib/admin/architecture/elements/analysis-widget.component.d.ts +0 -20
- package/lib/admin/architecture/elements/analysis-widget.component.d.ts.map +0 -1
- package/lib/admin/architecture/elements/anomaly-rule.component.d.ts +0 -10
- package/lib/admin/architecture/elements/anomaly-rule.component.d.ts.map +0 -1
- package/lib/admin/architecture/elements/attribute.component.d.ts +0 -13
- package/lib/admin/architecture/elements/attribute.component.d.ts.map +0 -1
- package/lib/admin/architecture/elements/box-form.component.d.ts +0 -23
- package/lib/admin/architecture/elements/box-form.component.d.ts.map +0 -1
- package/lib/admin/architecture/elements/configuration-datasource.component.d.ts +0 -28
- package/lib/admin/architecture/elements/configuration-datasource.component.d.ts.map +0 -1
- package/lib/admin/architecture/elements/control.component.d.ts +0 -14
- package/lib/admin/architecture/elements/control.component.d.ts.map +0 -1
- package/lib/admin/architecture/elements/cube-index-utility.component.d.ts +0 -13
- package/lib/admin/architecture/elements/cube-index-utility.component.d.ts.map +0 -1
- package/lib/admin/architecture/elements/cube-view.component.d.ts +0 -15
- package/lib/admin/architecture/elements/cube-view.component.d.ts.map +0 -1
- package/lib/admin/architecture/elements/cube.component.d.ts +0 -51
- package/lib/admin/architecture/elements/cube.component.d.ts.map +0 -1
- package/lib/admin/architecture/elements/documents-report.component.d.ts +0 -14
- package/lib/admin/architecture/elements/documents-report.component.d.ts.map +0 -1
- package/lib/admin/architecture/elements/documents-widget.component.d.ts +0 -20
- package/lib/admin/architecture/elements/documents-widget.component.d.ts.map +0 -1
- package/lib/admin/architecture/elements/explore-view.component.d.ts +0 -16
- package/lib/admin/architecture/elements/explore-view.component.d.ts.map +0 -1
- package/lib/admin/architecture/elements/feedback-widget.component.d.ts +0 -35
- package/lib/admin/architecture/elements/feedback-widget.component.d.ts.map +0 -1
- package/lib/admin/architecture/elements/folder.component.d.ts +0 -23
- package/lib/admin/architecture/elements/folder.component.d.ts.map +0 -1
- package/lib/admin/architecture/elements/form-invite.dialog.d.ts +0 -48
- package/lib/admin/architecture/elements/form-invite.dialog.d.ts.map +0 -1
- package/lib/admin/architecture/elements/form.component.d.ts +0 -51
- package/lib/admin/architecture/elements/form.component.d.ts.map +0 -1
- package/lib/admin/architecture/elements/guide.component.d.ts +0 -15
- package/lib/admin/architecture/elements/guide.component.d.ts.map +0 -1
- package/lib/admin/architecture/elements/matrix-view.component.d.ts +0 -22
- package/lib/admin/architecture/elements/matrix-view.component.d.ts.map +0 -1
- package/lib/admin/architecture/elements/node.component.d.ts +0 -8
- package/lib/admin/architecture/elements/node.component.d.ts.map +0 -1
- package/lib/admin/architecture/elements/parallel-view.component.d.ts +0 -19
- package/lib/admin/architecture/elements/parallel-view.component.d.ts.map +0 -1
- package/lib/admin/architecture/elements/performance-report.component.d.ts +0 -16
- package/lib/admin/architecture/elements/performance-report.component.d.ts.map +0 -1
- package/lib/admin/architecture/elements/performance-widget.component.d.ts +0 -15
- package/lib/admin/architecture/elements/performance-widget.component.d.ts.map +0 -1
- package/lib/admin/architecture/elements/pivot-view.component.d.ts +0 -20
- package/lib/admin/architecture/elements/pivot-view.component.d.ts.map +0 -1
- package/lib/admin/architecture/elements/policy.component.d.ts +0 -8
- package/lib/admin/architecture/elements/policy.component.d.ts.map +0 -1
- package/lib/admin/architecture/elements/report.component.d.ts +0 -13
- package/lib/admin/architecture/elements/report.component.d.ts.map +0 -1
- package/lib/admin/architecture/elements/return-to-role-action.component.d.ts +0 -18
- package/lib/admin/architecture/elements/return-to-role-action.component.d.ts.map +0 -1
- package/lib/admin/architecture/elements/role.component.d.ts +0 -17
- package/lib/admin/architecture/elements/role.component.d.ts.map +0 -1
- package/lib/admin/architecture/elements/rule.component.d.ts +0 -8
- package/lib/admin/architecture/elements/rule.component.d.ts.map +0 -1
- package/lib/admin/architecture/elements/state.component.d.ts +0 -14
- package/lib/admin/architecture/elements/state.component.d.ts.map +0 -1
- package/lib/admin/architecture/elements/sum-view.component.d.ts +0 -18
- package/lib/admin/architecture/elements/sum-view.component.d.ts.map +0 -1
- package/lib/admin/architecture/elements/tasks-report.component.d.ts +0 -18
- package/lib/admin/architecture/elements/tasks-report.component.d.ts.map +0 -1
- package/lib/admin/architecture/elements/type.component.d.ts +0 -32
- package/lib/admin/architecture/elements/type.component.d.ts.map +0 -1
- package/lib/admin/architecture/elements/usage-report.component.d.ts +0 -24
- package/lib/admin/architecture/elements/usage-report.component.d.ts.map +0 -1
- package/lib/admin/architecture/elements/utility.component.d.ts +0 -8
- package/lib/admin/architecture/elements/utility.component.d.ts.map +0 -1
- package/lib/admin/architecture/elements/view.component.d.ts +0 -8
- package/lib/admin/architecture/elements/view.component.d.ts.map +0 -1
- package/lib/admin/architecture/elements/widget.component.d.ts +0 -13
- package/lib/admin/architecture/elements/widget.component.d.ts.map +0 -1
- package/lib/admin/architecture/icon-picker.component.d.ts +0 -69
- package/lib/admin/architecture/icon-picker.component.d.ts.map +0 -1
- package/lib/admin/core/localized-string.component.d.ts +0 -57
- package/lib/admin/core/localized-string.component.d.ts.map +0 -1
- package/lib/admin/form/designer/box-designer.component.d.ts +0 -93
- package/lib/admin/form/designer/box-designer.component.d.ts.map +0 -1
- package/lib/admin/form/designer/declarations.d.ts +0 -27
- package/lib/admin/form/designer/declarations.d.ts.map +0 -1
- package/lib/admin/form/designer/properties.component.d.ts +0 -27
- package/lib/admin/form/designer/properties.component.d.ts.map +0 -1
- package/lib/admin/form/designer/section.component.d.ts +0 -28
- package/lib/admin/form/designer/section.component.d.ts.map +0 -1
- package/lib/admin/form/designer/settings.component.d.ts +0 -20
- package/lib/admin/form/designer/settings.component.d.ts.map +0 -1
- package/lib/compose/box/control.component.d.ts +0 -23
- package/lib/compose/box/control.component.d.ts.map +0 -1
- package/lib/compose/box/row.component.d.ts +0 -21
- package/lib/compose/box/row.component.d.ts.map +0 -1
- package/lib/core/checkbox.d.ts +0 -11
- package/lib/core/checkbox.d.ts.map +0 -1
- package/lib/core/fields/address.designer.d.ts +0 -22
- package/lib/core/fields/address.designer.d.ts.map +0 -1
- package/lib/core/fields/address.field.d.ts +0 -22
- package/lib/core/fields/address.field.d.ts.map +0 -1
- package/lib/core/fields/autocomplete.field.d.ts +0 -56
- package/lib/core/fields/autocomplete.field.d.ts.map +0 -1
- package/lib/core/fields/checkbox.designer.d.ts +0 -20
- package/lib/core/fields/checkbox.designer.d.ts.map +0 -1
- package/lib/core/fields/checkbox.field.d.ts +0 -18
- package/lib/core/fields/checkbox.field.d.ts.map +0 -1
- package/lib/core/fields/checklist.designer.d.ts +0 -33
- package/lib/core/fields/checklist.designer.d.ts.map +0 -1
- package/lib/core/fields/checklist.field.d.ts +0 -21
- package/lib/core/fields/checklist.field.d.ts.map +0 -1
- package/lib/core/fields/date-range.designer.d.ts +0 -28
- package/lib/core/fields/date-range.designer.d.ts.map +0 -1
- package/lib/core/fields/date-range.field.d.ts +0 -33
- package/lib/core/fields/date-range.field.d.ts.map +0 -1
- package/lib/core/fields/date.designer.d.ts +0 -26
- package/lib/core/fields/date.designer.d.ts.map +0 -1
- package/lib/core/fields/date.field.d.ts +0 -23
- package/lib/core/fields/date.field.d.ts.map +0 -1
- package/lib/core/fields/expression.field.d.ts +0 -21
- package/lib/core/fields/expression.field.d.ts.map +0 -1
- package/lib/core/fields/file.designer.d.ts +0 -22
- package/lib/core/fields/file.designer.d.ts.map +0 -1
- package/lib/core/fields/file.field.d.ts +0 -22
- package/lib/core/fields/file.field.d.ts.map +0 -1
- package/lib/core/fields/html.designer.d.ts +0 -24
- package/lib/core/fields/html.designer.d.ts.map +0 -1
- package/lib/core/fields/html.field.d.ts +0 -24
- package/lib/core/fields/html.field.d.ts.map +0 -1
- package/lib/core/fields/input.designer.d.ts +0 -34
- package/lib/core/fields/input.designer.d.ts.map +0 -1
- package/lib/core/fields/input.field.d.ts +0 -29
- package/lib/core/fields/input.field.d.ts.map +0 -1
- package/lib/core/fields/numeric.designer.d.ts +0 -30
- package/lib/core/fields/numeric.designer.d.ts.map +0 -1
- package/lib/core/fields/numeric.field.d.ts +0 -26
- package/lib/core/fields/numeric.field.d.ts.map +0 -1
- package/lib/core/fields/options.base.d.ts +0 -29
- package/lib/core/fields/options.base.d.ts.map +0 -1
- package/lib/core/fields/options.component.d.ts +0 -25
- package/lib/core/fields/options.component.d.ts.map +0 -1
- package/lib/core/fields/radio-button.designer.d.ts +0 -31
- package/lib/core/fields/radio-button.designer.d.ts.map +0 -1
- package/lib/core/fields/radio-button.field.d.ts +0 -17
- package/lib/core/fields/radio-button.field.d.ts.map +0 -1
- package/lib/core/fields/select.designer.d.ts +0 -34
- package/lib/core/fields/select.designer.d.ts.map +0 -1
- package/lib/core/fields/select.field.d.ts +0 -23
- package/lib/core/fields/select.field.d.ts.map +0 -1
- package/lib/core/fields/signature.designer.d.ts +0 -20
- package/lib/core/fields/signature.designer.d.ts.map +0 -1
- package/lib/core/fields/signature.field.d.ts +0 -24
- package/lib/core/fields/signature.field.d.ts.map +0 -1
- package/lib/core/fields/switch.field.d.ts +0 -17
- package/lib/core/fields/switch.field.d.ts.map +0 -1
- package/lib/core/fields/textarea.designer.d.ts +0 -28
- package/lib/core/fields/textarea.designer.d.ts.map +0 -1
- package/lib/core/fields/textarea.field.d.ts +0 -24
- package/lib/core/fields/textarea.field.d.ts.map +0 -1
- package/lib/core/fields/timespan.field.d.ts +0 -21
- package/lib/core/fields/timespan.field.d.ts.map +0 -1
- package/lib/core/fields/yesno.designer.d.ts +0 -26
- package/lib/core/fields/yesno.designer.d.ts.map +0 -1
- package/lib/core/fields/yesno.field.d.ts +0 -18
- package/lib/core/fields/yesno.field.d.ts.map +0 -1
- package/lib/core/inputs/address.input.d.ts +0 -66
- package/lib/core/inputs/address.input.d.ts.map +0 -1
- package/lib/core/inputs/auto-complete.input.d.ts +0 -87
- package/lib/core/inputs/auto-complete.input.d.ts.map +0 -1
- package/lib/core/inputs/combination-picker-body.d.ts +0 -115
- package/lib/core/inputs/combination-picker-body.d.ts.map +0 -1
- package/lib/core/inputs/combination-picker.d.ts +0 -83
- package/lib/core/inputs/combination-picker.d.ts.map +0 -1
- package/lib/core/inputs/combination-pool.d.ts +0 -43
- package/lib/core/inputs/combination-pool.d.ts.map +0 -1
- package/lib/core/inputs/file.input.d.ts +0 -100
- package/lib/core/inputs/file.input.d.ts.map +0 -1
- package/lib/core/inputs/select.input.d.ts +0 -85
- package/lib/core/inputs/select.input.d.ts.map +0 -1
- package/lib/core/inputs/signature.input.d.ts +0 -54
- package/lib/core/inputs/signature.input.d.ts.map +0 -1
- package/lib/core/inputs/time-picker.d.ts +0 -53
- package/lib/core/inputs/time-picker.d.ts.map +0 -1
- package/lib/core/inputs/timespan.input.d.ts +0 -60
- package/lib/core/inputs/timespan.input.d.ts.map +0 -1
- package/lib/core/layout.component.d.ts +0 -29
- package/lib/core/layout.component.d.ts.map +0 -1
- package/lib/dashboard/cube/document-state.widget.d.ts +0 -30
- package/lib/dashboard/cube/document-state.widget.d.ts.map +0 -1
- package/lib/designer.module.d.ts +0 -30
- package/lib/designer.module.d.ts.map +0 -1
- package/lib/notifications/types/invite.notification.d.ts +0 -22
- package/lib/notifications/types/invite.notification.d.ts.map +0 -1
- package/lib/reports/cube/role-performance.component.d.ts +0 -37
- package/lib/reports/cube/role-performance.component.d.ts.map +0 -1
@@ -1,473 +0,0 @@
|
|
1
|
-
import { __decorate } from "tslib";
|
2
|
-
import { moveItemInArray } from "@angular/cdk/drag-drop";
|
3
|
-
import { ESCAPE, SPACE } from "@angular/cdk/keycodes";
|
4
|
-
import { Component, HostListener, Injector } from "@angular/core";
|
5
|
-
import { itemAnimation } from "../../core/animations";
|
6
|
-
import { OpenPolicy } from "../../core/configuration";
|
7
|
-
import { BizDoc } from "../../core/decorators";
|
8
|
-
import { cleanup } from "../../core/functions";
|
9
|
-
import { programName, DesignerRef, clone } from "./declarations";
|
10
|
-
import { ActionDesignerComponent } from "./elements/action.component";
|
11
|
-
import { AttributeDesignComponent } from "./elements/attribute.component";
|
12
|
-
import { ControlDesignComponent } from "./elements/control.component";
|
13
|
-
import { CubeDesignComponent } from "./elements/cube.component";
|
14
|
-
import { FolderDesignComponent } from "./elements/folder.component";
|
15
|
-
import { FormDesignComponent } from "./elements/form.component";
|
16
|
-
import { GuideDesignComponent } from "./elements/guide.component";
|
17
|
-
import { NodeDesignerComponent } from "./elements/node.component";
|
18
|
-
import { PolicyDesignComponent } from "./elements/policy.component";
|
19
|
-
import { ReportDesignerComponent } from "./elements/report.component";
|
20
|
-
import { RoleDesignComponent } from "./elements/role.component";
|
21
|
-
import { RuleDesignComponent } from "./elements/rule.component";
|
22
|
-
import { StateDesignComponent } from "./elements/state.component";
|
23
|
-
import { TypeDesignComponent } from "./elements/type.component";
|
24
|
-
import { UtilityDesignComponent } from "./elements/utility.component";
|
25
|
-
import { ViewDesignComponent } from "./elements/view.component";
|
26
|
-
import { WidgetDesignComponent } from "./elements/widget.component";
|
27
|
-
import * as i0 from "@angular/core";
|
28
|
-
import * as i1 from "../../core/slots/router.service";
|
29
|
-
import * as i2 from "../../core/translate.service";
|
30
|
-
import * as i3 from "../../core/prompt.service";
|
31
|
-
import * as i4 from "../../core/session.service";
|
32
|
-
import * as i5 from "../utility-ref";
|
33
|
-
import * as i6 from "@angular/common";
|
34
|
-
import * as i7 from "@angular/flex-layout/flex";
|
35
|
-
import * as i8 from "@angular/cdk/drag-drop";
|
36
|
-
import * as i9 from "@angular/material/card";
|
37
|
-
import * as i10 from "@angular/material/core";
|
38
|
-
import * as i11 from "@angular/material/progress-bar";
|
39
|
-
import * as i12 from "@angular/material/toolbar";
|
40
|
-
import * as i13 from "@angular/material/button";
|
41
|
-
import * as i14 from "@angular/material/icon";
|
42
|
-
import * as i15 from "@angular/material/menu";
|
43
|
-
import * as i16 from "../../core/popup/tooltip.directive";
|
44
|
-
import * as i17 from "../../core/pipes/localized-string.pipe";
|
45
|
-
import * as i18 from "../../core/pipes/translate.pipe";
|
46
|
-
function ConfigurationDesignerComponent_bizdoc_none_11_Template(rf, ctx) { if (rf & 1) {
|
47
|
-
i0.ɵɵelement(0, "bizdoc-none", 5);
|
48
|
-
} if (rf & 2) {
|
49
|
-
const ctx_r0 = i0.ɵɵnextContext();
|
50
|
-
i0.ɵɵproperty("subtitle", ctx_r0.PleaseWait);
|
51
|
-
} }
|
52
|
-
function ConfigurationDesignerComponent_section_12_mat_card_5_mat_icon_5_Template(rf, ctx) { if (rf & 1) {
|
53
|
-
i0.ɵɵelementStart(0, "mat-icon", 16);
|
54
|
-
i0.ɵɵtext(1, "help_outline");
|
55
|
-
i0.ɵɵelementEnd();
|
56
|
-
} if (rf & 2) {
|
57
|
-
const e_r5 = i0.ɵɵnextContext().$implicit;
|
58
|
-
i0.ɵɵproperty("bizdocTooltip", e_r5.help)("bizdocTooltipDuration", 6000);
|
59
|
-
} }
|
60
|
-
function ConfigurationDesignerComponent_section_12_mat_card_5_ng_container_9_Template(rf, ctx) { if (rf & 1) {
|
61
|
-
i0.ɵɵelementContainer(0);
|
62
|
-
} }
|
63
|
-
function ConfigurationDesignerComponent_section_12_mat_card_5_button_11_Template(rf, ctx) { if (rf & 1) {
|
64
|
-
const _r13 = i0.ɵɵgetCurrentView();
|
65
|
-
i0.ɵɵelementStart(0, "button", 15);
|
66
|
-
i0.ɵɵlistener("click", function ConfigurationDesignerComponent_section_12_mat_card_5_button_11_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r13); const e_r5 = i0.ɵɵnextContext().$implicit; const s_r2 = i0.ɵɵnextContext().$implicit; const ctx_r11 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r11.copy(s_r2, e_r5)); });
|
67
|
-
i0.ɵɵpipe(1, "translate");
|
68
|
-
i0.ɵɵelementStart(2, "mat-icon");
|
69
|
-
i0.ɵɵtext(3, "file_copy");
|
70
|
-
i0.ɵɵelementEnd()();
|
71
|
-
} if (rf & 2) {
|
72
|
-
i0.ɵɵproperty("bizdocTooltip", i0.ɵɵpipeBind1(1, 1, "Copy"));
|
73
|
-
} }
|
74
|
-
function ConfigurationDesignerComponent_section_12_mat_card_5_button_12_Template(rf, ctx) { if (rf & 1) {
|
75
|
-
const _r17 = i0.ɵɵgetCurrentView();
|
76
|
-
i0.ɵɵelementStart(0, "button", 15);
|
77
|
-
i0.ɵɵlistener("click", function ConfigurationDesignerComponent_section_12_mat_card_5_button_12_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r17); const e_r5 = i0.ɵɵnextContext().$implicit; const s_r2 = i0.ɵɵnextContext().$implicit; return i0.ɵɵresetView(s_r2.elements.remove(e_r5)); });
|
78
|
-
i0.ɵɵpipe(1, "translate");
|
79
|
-
i0.ɵɵelementStart(2, "mat-icon");
|
80
|
-
i0.ɵɵtext(3, "delete");
|
81
|
-
i0.ɵɵelementEnd()();
|
82
|
-
} if (rf & 2) {
|
83
|
-
i0.ɵɵproperty("bizdocTooltip", i0.ɵɵpipeBind1(1, 1, "Discard"));
|
84
|
-
} }
|
85
|
-
function ConfigurationDesignerComponent_section_12_mat_card_5_Template(rf, ctx) { if (rf & 1) {
|
86
|
-
const _r20 = i0.ɵɵgetCurrentView();
|
87
|
-
i0.ɵɵelementStart(0, "mat-card", 10)(1, "mat-card-title");
|
88
|
-
i0.ɵɵtext(2);
|
89
|
-
i0.ɵɵpipe(3, "localizedString");
|
90
|
-
i0.ɵɵelement(4, "span", 1);
|
91
|
-
i0.ɵɵtemplate(5, ConfigurationDesignerComponent_section_12_mat_card_5_mat_icon_5_Template, 2, 2, "mat-icon", 11);
|
92
|
-
i0.ɵɵelementEnd();
|
93
|
-
i0.ɵɵelementStart(6, "mat-card-subtitle");
|
94
|
-
i0.ɵɵtext(7);
|
95
|
-
i0.ɵɵelementEnd();
|
96
|
-
i0.ɵɵelementStart(8, "mat-card-content");
|
97
|
-
i0.ɵɵtemplate(9, ConfigurationDesignerComponent_section_12_mat_card_5_ng_container_9_Template, 1, 0, "ng-container", 12);
|
98
|
-
i0.ɵɵelementEnd();
|
99
|
-
i0.ɵɵelementStart(10, "mat-card-actions", 13);
|
100
|
-
i0.ɵɵtemplate(11, ConfigurationDesignerComponent_section_12_mat_card_5_button_11_Template, 4, 3, "button", 14);
|
101
|
-
i0.ɵɵtemplate(12, ConfigurationDesignerComponent_section_12_mat_card_5_button_12_Template, 4, 3, "button", 14);
|
102
|
-
i0.ɵɵelementStart(13, "button", 15);
|
103
|
-
i0.ɵɵlistener("click", function ConfigurationDesignerComponent_section_12_mat_card_5_Template_button_click_13_listener() { const restoredCtx = i0.ɵɵrestoreView(_r20); const e_r5 = restoredCtx.$implicit; const ctx_r19 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r19.toggleDisabled(e_r5)); });
|
104
|
-
i0.ɵɵpipe(14, "translate");
|
105
|
-
i0.ɵɵelementStart(15, "mat-icon");
|
106
|
-
i0.ɵɵtext(16);
|
107
|
-
i0.ɵɵelementEnd()();
|
108
|
-
i0.ɵɵelement(17, "span", 1);
|
109
|
-
i0.ɵɵelementStart(18, "button", 15);
|
110
|
-
i0.ɵɵlistener("click", function ConfigurationDesignerComponent_section_12_mat_card_5_Template_button_click_18_listener() { const restoredCtx = i0.ɵɵrestoreView(_r20); const e_r5 = restoredCtx.$implicit; const s_r2 = i0.ɵɵnextContext().$implicit; const ctx_r21 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r21.edit(e_r5, s_r2)); });
|
111
|
-
i0.ɵɵpipe(19, "translate");
|
112
|
-
i0.ɵɵelementStart(20, "mat-icon");
|
113
|
-
i0.ɵɵtext(21, "settings");
|
114
|
-
i0.ɵɵelementEnd()()()();
|
115
|
-
} if (rf & 2) {
|
116
|
-
const e_r5 = ctx.$implicit;
|
117
|
-
const s_r2 = i0.ɵɵnextContext().$implicit;
|
118
|
-
i0.ɵɵclassProp("disabled", e_r5.disabled);
|
119
|
-
i0.ɵɵadvance(2);
|
120
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 12, e_r5.title), " ");
|
121
|
-
i0.ɵɵadvance(3);
|
122
|
-
i0.ɵɵproperty("ngIf", e_r5.help);
|
123
|
-
i0.ɵɵadvance(2);
|
124
|
-
i0.ɵɵtextInterpolate1(" ", e_r5.name, " ");
|
125
|
-
i0.ɵɵadvance(2);
|
126
|
-
i0.ɵɵproperty("ngComponentOutlet", s_r2.comp)("ngComponentOutletInjector", e_r5.injector);
|
127
|
-
i0.ɵɵadvance(2);
|
128
|
-
i0.ɵɵproperty("ngIf", !e_r5.copyOf);
|
129
|
-
i0.ɵɵadvance(1);
|
130
|
-
i0.ɵɵproperty("ngIf", e_r5.draft || e_r5.empty);
|
131
|
-
i0.ɵɵadvance(1);
|
132
|
-
i0.ɵɵproperty("bizdocTooltip", i0.ɵɵpipeBind1(14, 14, e_r5.disabled ? "Enable" : "Disable"));
|
133
|
-
i0.ɵɵadvance(3);
|
134
|
-
i0.ɵɵtextInterpolate(e_r5.disabled ? "visibility" : "visibility_off");
|
135
|
-
i0.ɵɵadvance(2);
|
136
|
-
i0.ɵɵproperty("bizdocTooltip", i0.ɵɵpipeBind1(19, 16, "Settings"));
|
137
|
-
} }
|
138
|
-
function ConfigurationDesignerComponent_section_12_div_6_button_9_span_1_Template(rf, ctx) { if (rf & 1) {
|
139
|
-
i0.ɵɵelementStart(0, "span");
|
140
|
-
i0.ɵɵtext(1);
|
141
|
-
i0.ɵɵelementEnd();
|
142
|
-
} if (rf & 2) {
|
143
|
-
const t_r27 = i0.ɵɵnextContext().$implicit;
|
144
|
-
i0.ɵɵadvance(1);
|
145
|
-
i0.ɵɵtextInterpolate1(" ", t_r27.family, " \u00A0-\u00A0 ");
|
146
|
-
} }
|
147
|
-
function ConfigurationDesignerComponent_section_12_div_6_button_9_Template(rf, ctx) { if (rf & 1) {
|
148
|
-
const _r32 = i0.ɵɵgetCurrentView();
|
149
|
-
i0.ɵɵelementStart(0, "button", 24);
|
150
|
-
i0.ɵɵlistener("click", function ConfigurationDesignerComponent_section_12_div_6_button_9_Template_button_click_0_listener() { const restoredCtx = i0.ɵɵrestoreView(_r32); const t_r27 = restoredCtx.$implicit; const s_r2 = i0.ɵɵnextContext(2).$implicit; const ctx_r30 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r30.create(s_r2, t_r27)); });
|
151
|
-
i0.ɵɵtemplate(1, ConfigurationDesignerComponent_section_12_div_6_button_9_span_1_Template, 2, 1, "span", 25);
|
152
|
-
i0.ɵɵelementStart(2, "span");
|
153
|
-
i0.ɵɵtext(3);
|
154
|
-
i0.ɵɵelementEnd()();
|
155
|
-
} if (rf & 2) {
|
156
|
-
const t_r27 = ctx.$implicit;
|
157
|
-
i0.ɵɵadvance(1);
|
158
|
-
i0.ɵɵproperty("ngIf", t_r27.family);
|
159
|
-
i0.ɵɵadvance(2);
|
160
|
-
i0.ɵɵtextInterpolate1(" ", t_r27.title, " ");
|
161
|
-
} }
|
162
|
-
function ConfigurationDesignerComponent_section_12_div_6_Template(rf, ctx) { if (rf & 1) {
|
163
|
-
const _r35 = i0.ɵɵgetCurrentView();
|
164
|
-
i0.ɵɵelementStart(0, "div", 17);
|
165
|
-
i0.ɵɵlistener("click", function ConfigurationDesignerComponent_section_12_div_6_Template_div_click_0_listener($event) { i0.ɵɵrestoreView(_r35); const _r24 = i0.ɵɵreference(2); const s_r2 = i0.ɵɵnextContext().$implicit; const ctx_r33 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r33.add(s_r2, _r24, $event)); });
|
166
|
-
i0.ɵɵelement(1, "span", 18, 19);
|
167
|
-
i0.ɵɵelementStart(3, "button", 20)(4, "mat-icon", 21);
|
168
|
-
i0.ɵɵpipe(5, "translate");
|
169
|
-
i0.ɵɵtext(6, "add");
|
170
|
-
i0.ɵɵelementEnd()();
|
171
|
-
i0.ɵɵelementStart(7, "mat-menu", null, 22);
|
172
|
-
i0.ɵɵtemplate(9, ConfigurationDesignerComponent_section_12_div_6_button_9_Template, 4, 2, "button", 23);
|
173
|
-
i0.ɵɵelementEnd()();
|
174
|
-
} if (rf & 2) {
|
175
|
-
const _r25 = i0.ɵɵreference(8);
|
176
|
-
const s_r2 = i0.ɵɵnextContext().$implicit;
|
177
|
-
i0.ɵɵadvance(1);
|
178
|
-
i0.ɵɵproperty("matMenuTriggerFor", _r25);
|
179
|
-
i0.ɵɵadvance(3);
|
180
|
-
i0.ɵɵproperty("bizdocTooltip", i0.ɵɵpipeBind1(5, 3, "New"));
|
181
|
-
i0.ɵɵadvance(5);
|
182
|
-
i0.ɵɵproperty("ngForOf", s_r2.templates);
|
183
|
-
} }
|
184
|
-
function ConfigurationDesignerComponent_section_12_Template(rf, ctx) { if (rf & 1) {
|
185
|
-
const _r38 = i0.ɵɵgetCurrentView();
|
186
|
-
i0.ɵɵelementStart(0, "section")(1, "h2", 6);
|
187
|
-
i0.ɵɵtext(2);
|
188
|
-
i0.ɵɵpipe(3, "translate");
|
189
|
-
i0.ɵɵelementEnd();
|
190
|
-
i0.ɵɵelementStart(4, "div", 7);
|
191
|
-
i0.ɵɵlistener("cdkDropListDropped", function ConfigurationDesignerComponent_section_12_Template_div_cdkDropListDropped_4_listener($event) { i0.ɵɵrestoreView(_r38); const ctx_r37 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r37.drop($event)); });
|
192
|
-
i0.ɵɵtemplate(5, ConfigurationDesignerComponent_section_12_mat_card_5_Template, 22, 18, "mat-card", 8);
|
193
|
-
i0.ɵɵtemplate(6, ConfigurationDesignerComponent_section_12_div_6_Template, 10, 5, "div", 9);
|
194
|
-
i0.ɵɵelementEnd()();
|
195
|
-
} if (rf & 2) {
|
196
|
-
const s_r2 = ctx.$implicit;
|
197
|
-
i0.ɵɵadvance(2);
|
198
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 4, s_r2.type));
|
199
|
-
i0.ɵɵadvance(2);
|
200
|
-
i0.ɵɵproperty("cdkDropListData", s_r2.elements);
|
201
|
-
i0.ɵɵadvance(1);
|
202
|
-
i0.ɵɵproperty("ngForOf", s_r2.elements);
|
203
|
-
i0.ɵɵadvance(1);
|
204
|
-
i0.ɵɵproperty("ngIf", s_r2.templates == null ? null : s_r2.templates.length);
|
205
|
-
} }
|
206
|
-
const CHARACTER = /[\w]|Spacebar/;
|
207
|
-
/** */
|
208
|
-
let ConfigurationDesignerComponent = class ConfigurationDesignerComponent {
|
209
|
-
constructor(_panes, _translate, _ps, _session, _element, _injector, _ref) {
|
210
|
-
this._panes = _panes;
|
211
|
-
this._translate = _translate;
|
212
|
-
this._ps = _ps;
|
213
|
-
this._session = _session;
|
214
|
-
this._element = _element;
|
215
|
-
this._injector = _injector;
|
216
|
-
this._ref = _ref;
|
217
|
-
this.loading = true;
|
218
|
-
this.saving = false;
|
219
|
-
this.dirty = false;
|
220
|
-
}
|
221
|
-
ngOnInit() {
|
222
|
-
this._ref.populate().subscribe(r => {
|
223
|
-
this.model = r;
|
224
|
-
this.sections = this._sections = [
|
225
|
-
{ elements: r.forms, type: 'Forms', comp: FormDesignComponent, templates: r.tForms },
|
226
|
-
{ elements: r.actions, type: 'Actions', comp: ActionDesignerComponent, templates: r.tActions },
|
227
|
-
{ elements: r.reports, type: 'Reports', comp: ReportDesignerComponent, templates: r.tReports },
|
228
|
-
{ elements: r.widgets, type: 'Widgets', comp: WidgetDesignComponent, templates: r.tWidgets },
|
229
|
-
{ elements: r.views, type: 'Views', comp: ViewDesignComponent, templates: r.tViews },
|
230
|
-
{ elements: r.guides, type: 'Guides', comp: GuideDesignComponent, templates: [{ title: this._translate.get('Guide') }] },
|
231
|
-
{ elements: r.cubes, type: 'Cubes', comp: CubeDesignComponent, templates: r.tCubes },
|
232
|
-
{ elements: r.folders, type: 'Folders', comp: FolderDesignComponent, templates: [{ title: this._translate.get('Folder') }] },
|
233
|
-
{ elements: r.roles, type: 'Roles', comp: RoleDesignComponent, templates: [{ title: this._translate.get('Role') }] },
|
234
|
-
{ elements: r.states, type: 'States', comp: StateDesignComponent, templates: [{ title: this._translate.get('State') }] },
|
235
|
-
{ elements: r.utilities, type: 'Tools', comp: UtilityDesignComponent, templates: r.tUtilities },
|
236
|
-
{ elements: r.types, type: 'Types', comp: TypeDesignComponent, templates: r.tTypes },
|
237
|
-
{ elements: r.nodes, type: 'Nodes', comp: NodeDesignerComponent, templates: r.tNodes },
|
238
|
-
{ elements: r.attributes, type: 'Attributes', comp: AttributeDesignComponent, templates: r.tAttributes },
|
239
|
-
{ elements: r.policies, type: 'Policies', comp: PolicyDesignComponent, templates: r.tPolicies },
|
240
|
-
{ elements: r.controls, type: 'Controls', comp: ControlDesignComponent, templates: [] },
|
241
|
-
{ elements: r.rules, type: 'Rules', comp: RuleDesignComponent, templates: r.tRules },
|
242
|
-
];
|
243
|
-
this.sections.forEach(s => s.elements.forEach(e => {
|
244
|
-
if (!e.options)
|
245
|
-
e.options = {};
|
246
|
-
e.injector = this._createInjector(e, 'widget');
|
247
|
-
}));
|
248
|
-
this.loading = false;
|
249
|
-
});
|
250
|
-
// typing keydown listener
|
251
|
-
this._element.nativeElement.focus();
|
252
|
-
}
|
253
|
-
drop(event) {
|
254
|
-
const range = event.container.data.slice(Math.min(event.previousIndex, event.currentIndex), Math.max(event.previousIndex, event.currentIndex)), file = range[0].configurationFile;
|
255
|
-
if
|
256
|
-
// across files
|
257
|
-
(range.slice(1).some(e => e.configurationFile !== file)) {
|
258
|
-
// start ordinal
|
259
|
-
let i = event.container.data[event.currentIndex].ordinal || -1;
|
260
|
-
// set ordinal to items in range
|
261
|
-
range.forEach(e => e.ordinal = i++);
|
262
|
-
// increase other higher than last in range
|
263
|
-
event.container.data.filter(e => e.ordinal && e.ordinal > i).forEach(e => e.ordinal += 1);
|
264
|
-
}
|
265
|
-
else // native order in collection
|
266
|
-
range.forEach(e => e.ordinal = null);
|
267
|
-
moveItemInArray(event.container.data, event.previousIndex, event.currentIndex);
|
268
|
-
}
|
269
|
-
/**
|
270
|
-
* Ctrl-s save, search
|
271
|
-
* @param event
|
272
|
-
*/
|
273
|
-
handleKeyboardEvent(event) {
|
274
|
-
if (event.ctrlKey && (event.which === 83 || event.which === 115)) {
|
275
|
-
this.dirty && this.save();
|
276
|
-
event.preventDefault();
|
277
|
-
event.stopPropagation();
|
278
|
-
}
|
279
|
-
else if (this.searchBy && event.which === ESCAPE)
|
280
|
-
this.clearSearch();
|
281
|
-
else if (event.code.startsWith('Key') || event.which == SPACE) {
|
282
|
-
clearTimeout(this._typingTimer);
|
283
|
-
//clearTimeout(this._clearTimer);
|
284
|
-
this.searchBy = this.searchBy ? this.searchBy + event.key : event.key;
|
285
|
-
this._typingTimer = setTimeout(() => this.sections = this._search(this.searchBy), 150);
|
286
|
-
}
|
287
|
-
}
|
288
|
-
clearSearch() {
|
289
|
-
this.searchBy = null;
|
290
|
-
this.sections = this._sections;
|
291
|
-
clearTimeout(this._typingTimer);
|
292
|
-
}
|
293
|
-
_search(value) {
|
294
|
-
const sections = [];
|
295
|
-
this._sections.forEach(s => {
|
296
|
-
const elements = s.elements.
|
297
|
-
filter(e => (e.title || e.name).toLowerCase().
|
298
|
-
indexOf(value) > -1);
|
299
|
-
if (elements.length) {
|
300
|
-
const { comp, templates, type } = s;
|
301
|
-
sections.push({ elements, comp, templates, type });
|
302
|
-
}
|
303
|
-
});
|
304
|
-
//this._clearTimer = setTimeout(() => this.searchBy = null, 5000);
|
305
|
-
return sections;
|
306
|
-
}
|
307
|
-
_insert(section, element, index) {
|
308
|
-
let i = element.name.lastIndexOf('_'), j = element.title.lastIndexOf(' '), n = 0, name, title;
|
309
|
-
do {
|
310
|
-
n++;
|
311
|
-
name = (i < 0 || isNaN(parseInt(element.name.substr(i + 1))) ? element.name : element.name.substr(0, i)) + '_' + n;
|
312
|
-
title = (j < 0 || isNaN(parseInt(element.title.substr(j + 1))) ? element.title : element.title.substr(0, j)) + ' ' + n;
|
313
|
-
} while (section.elements.find(e => e.name === name || e.title === title));
|
314
|
-
element.name = name, element.title = title;
|
315
|
-
const injector = this._createInjector(element, 'widget');
|
316
|
-
element.injector = injector;
|
317
|
-
this._open(element, section, 'add').then(() => section.elements.splice(index + 1, 0, element));
|
318
|
-
}
|
319
|
-
_open(element, section, mode, title) {
|
320
|
-
let eclone = { ...element };
|
321
|
-
delete eclone.injector;
|
322
|
-
eclone = clone(eclone); // deep
|
323
|
-
const injector = this._createInjector(eclone, mode);
|
324
|
-
return new Promise((resolve, reject) => this._panes.navigate(section.comp, {
|
325
|
-
policy: mode === 'add' ? OpenPolicy.Dialog | OpenPolicy.Stretch : OpenPolicy.Tab | OpenPolicy.Toggle,
|
326
|
-
group: this._translate.get(section.type),
|
327
|
-
//title,
|
328
|
-
injector: injector
|
329
|
-
}).then(pane => {
|
330
|
-
pane.instance.designer.onSave.subscribe(el => {
|
331
|
-
if (el) {
|
332
|
-
Object.assign(element, el);
|
333
|
-
this.dirty = true;
|
334
|
-
resolve(el);
|
335
|
-
}
|
336
|
-
else
|
337
|
-
reject();
|
338
|
-
pane.close();
|
339
|
-
});
|
340
|
-
pane.closed().subscribe(() => this._element.nativeElement.focus());
|
341
|
-
}));
|
342
|
-
}
|
343
|
-
_createInjector(element, mode) {
|
344
|
-
const ref = new DesignerRef(this.model, element, mode);
|
345
|
-
const injector = Injector.create([{
|
346
|
-
provide: DesignerRef, useValue: ref
|
347
|
-
}], this._injector);
|
348
|
-
return injector;
|
349
|
-
}
|
350
|
-
add(section, menu, evt) {
|
351
|
-
if (section.templates.length > 1)
|
352
|
-
menu.openMenu();
|
353
|
-
else {
|
354
|
-
this.create(section, section.templates[0]);
|
355
|
-
}
|
356
|
-
evt.preventDefault();
|
357
|
-
}
|
358
|
-
create(section, template) {
|
359
|
-
const element = {
|
360
|
-
...template,
|
361
|
-
name: programName(template.key || template.title),
|
362
|
-
draft: true,
|
363
|
-
options: {}
|
364
|
-
};
|
365
|
-
this._insert(section, element, section.elements.length);
|
366
|
-
}
|
367
|
-
copy(section, element) {
|
368
|
-
let eclone = {
|
369
|
-
...element,
|
370
|
-
copyOf: element.name,
|
371
|
-
draft: true
|
372
|
-
};
|
373
|
-
delete eclone.injector;
|
374
|
-
delete eclone.resource;
|
375
|
-
eclone = clone(eclone); // deep
|
376
|
-
this._insert(section, eclone, section.elements.indexOf(element));
|
377
|
-
}
|
378
|
-
edit(element, section) {
|
379
|
-
this._open(element, section, 'edit');
|
380
|
-
}
|
381
|
-
toggleDisabled(element) {
|
382
|
-
element.disabled = !element.disabled;
|
383
|
-
this.dirty = true;
|
384
|
-
}
|
385
|
-
save() {
|
386
|
-
this.saving = true;
|
387
|
-
const { controls, attributes, policies, actions, cubes, folders, forms, guides, reports, roles, rules, states, types, utilities, views, widgets, nodes } = this.model;
|
388
|
-
const model = {
|
389
|
-
actions: strip(actions),
|
390
|
-
cubes: strip(cubes),
|
391
|
-
folders: strip(folders),
|
392
|
-
forms: strip(forms),
|
393
|
-
guides: strip(guides),
|
394
|
-
reports: strip(reports),
|
395
|
-
roles: strip(roles),
|
396
|
-
rules: strip(rules),
|
397
|
-
policies: strip(policies),
|
398
|
-
states: strip(states),
|
399
|
-
types: strip(types),
|
400
|
-
utilities: strip(utilities),
|
401
|
-
views: strip(views),
|
402
|
-
nodes: strip(nodes),
|
403
|
-
widgets: strip(widgets),
|
404
|
-
controls: strip(controls),
|
405
|
-
attributes: strip(attributes)
|
406
|
-
};
|
407
|
-
return this._ref.execute(model).toPromise().then(() => {
|
408
|
-
this._ps.toast('ChangesSaved');
|
409
|
-
apply(policies, actions, cubes, folders, forms, guides, reports, roles, rules, states, types, utilities, views, widgets);
|
410
|
-
this.saving = false;
|
411
|
-
this.dirty = false;
|
412
|
-
this._session.refresh().subscribe();
|
413
|
-
}, () => {
|
414
|
-
this._ps.error();
|
415
|
-
this.saving = false;
|
416
|
-
});
|
417
|
-
function strip(elements) {
|
418
|
-
return elements.map(e => {
|
419
|
-
const element = { ...e };
|
420
|
-
delete element.injector;
|
421
|
-
return cleanup(element);
|
422
|
-
});
|
423
|
-
}
|
424
|
-
function apply(...collection) {
|
425
|
-
collection.forEach(s => s.forEach(e => delete e.draft));
|
426
|
-
}
|
427
|
-
}
|
428
|
-
};
|
429
|
-
ConfigurationDesignerComponent.ɵfac = function ConfigurationDesignerComponent_Factory(t) { return new (t || ConfigurationDesignerComponent)(i0.ɵɵdirectiveInject(i1.PanesRouter), i0.ɵɵdirectiveInject(i2.TranslateService), i0.ɵɵdirectiveInject(i3.PromptService), i0.ɵɵdirectiveInject(i4.SessionService), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.Injector), i0.ɵɵdirectiveInject(i5.UtilityRef)); };
|
430
|
-
ConfigurationDesignerComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ConfigurationDesignerComponent, selectors: [["ng-component"]], hostAttrs: ["tabindex", "0"], hostBindings: function ConfigurationDesignerComponent_HostBindings(rf, ctx) { if (rf & 1) {
|
431
|
-
i0.ɵɵlistener("keydown", function ConfigurationDesignerComponent_keydown_HostBindingHandler($event) { return ctx.handleKeyboardEvent($event); });
|
432
|
-
} }, decls: 13, vars: 13, consts: [["mat-icon-button", "", 3, "disabled", "bizdocTooltip", "click"], [1, "divider"], [3, "mode"], ["title", "SettingThingsUp", "icon", "architecture", 3, "subtitle", 4, "ngIf"], [4, "ngFor", "ngForOf"], ["title", "SettingThingsUp", "icon", "architecture", 3, "subtitle"], [1, "mat-title"], ["cdkDropList", "", "cdkDropListOrientation", "horizontal", 1, "elements", 3, "cdkDropListData", "cdkDropListDropped"], ["cdkDrag", "", "cdkDragRootElement", ".mat-card-title", 3, "disabled", 4, "ngFor", "ngForOf"], ["class", "add-element", "matRipple", "", 3, "click", 4, "ngIf"], ["cdkDrag", "", "cdkDragRootElement", ".mat-card-title"], [3, "bizdocTooltip", "bizdocTooltipDuration", 4, "ngIf"], [4, "ngComponentOutlet", "ngComponentOutletInjector"], ["fxLayout", "row"], ["mat-icon-button", "", 3, "bizdocTooltip", "click", 4, "ngIf"], ["mat-icon-button", "", 3, "bizdocTooltip", "click"], [3, "bizdocTooltip", "bizdocTooltipDuration"], ["matRipple", "", 1, "add-element", 3, "click"], [3, "matMenuTriggerFor"], ["menuTrigger", "matMenuTrigger"], ["mat-icon-button", ""], ["disableRipple", "true", 3, "bizdocTooltip"], ["templateMenu", ""], ["mat-menu-item", "", 3, "click", 4, "ngFor", "ngForOf"], ["mat-menu-item", "", 3, "click"], [4, "ngIf"]], template: function ConfigurationDesignerComponent_Template(rf, ctx) { if (rf & 1) {
|
433
|
-
i0.ɵɵelementStart(0, "mat-toolbar")(1, "button", 0);
|
434
|
-
i0.ɵɵlistener("click", function ConfigurationDesignerComponent_Template_button_click_1_listener() { return ctx.save(); });
|
435
|
-
i0.ɵɵpipe(2, "translate");
|
436
|
-
i0.ɵɵelementStart(3, "mat-icon");
|
437
|
-
i0.ɵɵtext(4, "save");
|
438
|
-
i0.ɵɵelementEnd()();
|
439
|
-
i0.ɵɵelement(5, "span", 1);
|
440
|
-
i0.ɵɵelementStart(6, "button", 0);
|
441
|
-
i0.ɵɵlistener("click", function ConfigurationDesignerComponent_Template_button_click_6_listener() { return ctx.clearSearch(); });
|
442
|
-
i0.ɵɵpipe(7, "translate");
|
443
|
-
i0.ɵɵelementStart(8, "mat-icon");
|
444
|
-
i0.ɵɵtext(9, "search_off");
|
445
|
-
i0.ɵɵelementEnd()()();
|
446
|
-
i0.ɵɵelement(10, "mat-progress-bar", 2);
|
447
|
-
i0.ɵɵtemplate(11, ConfigurationDesignerComponent_bizdoc_none_11_Template, 1, 1, "bizdoc-none", 3);
|
448
|
-
i0.ɵɵtemplate(12, ConfigurationDesignerComponent_section_12_Template, 7, 6, "section", 4);
|
449
|
-
} if (rf & 2) {
|
450
|
-
i0.ɵɵadvance(1);
|
451
|
-
i0.ɵɵproperty("disabled", !ctx.dirty || ctx.loading || ctx.saving)("bizdocTooltip", i0.ɵɵpipeBind1(2, 9, "Save"));
|
452
|
-
i0.ɵɵadvance(5);
|
453
|
-
i0.ɵɵproperty("disabled", !ctx.searchBy)("bizdocTooltip", i0.ɵɵpipeBind1(7, 11, "Clear"));
|
454
|
-
i0.ɵɵadvance(4);
|
455
|
-
i0.ɵɵstyleProp("visibility", ctx.loading ? "visible" : "hidden");
|
456
|
-
i0.ɵɵproperty("mode", ctx.loading ? "buffer" : "indeterminate");
|
457
|
-
i0.ɵɵadvance(1);
|
458
|
-
i0.ɵɵproperty("ngIf", ctx.loading);
|
459
|
-
i0.ɵɵadvance(1);
|
460
|
-
i0.ɵɵproperty("ngForOf", ctx.sections);
|
461
|
-
} }, dependencies: [i6.NgComponentOutlet, i6.NgForOf, i6.NgIf, i7.DefaultLayoutDirective, i8.CdkDropList, i8.CdkDrag, i9.MatCard, i9.MatCardContent, i9.MatCardTitle, i9.MatCardSubtitle, i9.MatCardActions, i10.MatRipple, i11.MatProgressBar, i12.MatToolbar, i13.MatButton, i14.MatIcon, i15.MatMenu, i15.MatMenuItem, i15.MatMenuTrigger, i16.TooltipDirective, i17.LocalizedStringPipe, i18.TranslatePipe], styles: ["[_nghost-%COMP%]{outline:none}section[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{margin:0 8px;position:sticky}section[_ngcontent-%COMP%] .elements[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap}section[_ngcontent-%COMP%] .elements[_ngcontent-%COMP%] .disabled[_ngcontent-%COMP%]{opacity:.5;background-color:transparent}section[_ngcontent-%COMP%] .add-element[_ngcontent-%COMP%]{border:2px dashed gray;min-width:126px;min-height:126px;border-radius:3px;margin:1px 0 6px;text-align:center}section[_ngcontent-%COMP%] .add-element[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{top:50%;transform:translateY(-50%)}[_nghost-%COMP%] .mat-card{margin:0 6px 6px;display:flex;flex-direction:column}[_nghost-%COMP%] .mat-card button{opacity:.1}[_nghost-%COMP%] .mat-card:hover button{opacity:1}[_nghost-%COMP%] .mat-card-header-text{width:100%}[_nghost-%COMP%] .mat-card-title{display:flex;flex-direction:row;align-items:center}.divider[_ngcontent-%COMP%]{min-width:3px}[_nghost-%COMP%] .mat-card-content{flex:1}"], data: { animation: [itemAnimation] } });
|
462
|
-
ConfigurationDesignerComponent = __decorate([
|
463
|
-
BizDoc({ selector: 'bizdoc-configuration-designer' })
|
464
|
-
], ConfigurationDesignerComponent);
|
465
|
-
export { ConfigurationDesignerComponent };
|
466
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ConfigurationDesignerComponent, [{
|
467
|
-
type: Component,
|
468
|
-
args: [{ animations: [itemAnimation], host: { tabindex: '0' }, template: "<mat-toolbar>\r\n <button mat-icon-button (click)=\"save()\" [disabled]=\"!dirty || loading || saving\" [bizdocTooltip]=\"'Save'|translate\"><mat-icon>save</mat-icon></button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"clearSearch()\" [disabled]=\"!searchBy\" [bizdocTooltip]=\"'Clear'|translate\"><mat-icon>search_off</mat-icon></button>\r\n</mat-toolbar>\r\n<mat-progress-bar [mode]=\"loading ? 'buffer' : 'indeterminate'\" [style.visibility]=\"loading ? 'visible':'hidden'\"></mat-progress-bar>\r\n<bizdoc-none *ngIf=\"loading\" title=\"SettingThingsUp\" [subtitle]=\"PleaseWait\" icon=\"architecture\"></bizdoc-none>\r\n<section *ngFor=\"let s of sections\">\r\n <h2 class=\"mat-title\">{{s.type | translate}}</h2>\r\n <div class=\"elements\" cdkDropList cdkDropListOrientation=\"horizontal\" [cdkDropListData]=\"s.elements\" (cdkDropListDropped)=\"drop($event)\">\r\n <mat-card *ngFor=\"let e of s.elements\" [class.disabled]=\"e.disabled\" cdkDrag cdkDragRootElement=\".mat-card-title\">\r\n <!-- @item-->\r\n <mat-card-title>\r\n {{e.title|localizedString}}\r\n <span class=\"divider\"></span>\r\n <mat-icon [bizdocTooltip]=\"e.help\" [bizdocTooltipDuration]=\"6000\" *ngIf=\"e.help\">help_outline</mat-icon>\r\n </mat-card-title>\r\n <mat-card-subtitle>\r\n {{e.name}}\r\n </mat-card-subtitle>\r\n <mat-card-content>\r\n <ng-container *ngComponentOutlet=\"s.comp; injector: e.injector\"></ng-container>\r\n </mat-card-content>\r\n <mat-card-actions fxLayout=\"row\">\r\n <button mat-icon-button (click)=\"copy(s, e)\" *ngIf=\"!e.copyOf\" [bizdocTooltip]=\"'Copy'|translate\"><mat-icon>file_copy</mat-icon></button>\r\n <button mat-icon-button (click)=\"s.elements.remove(e)\" *ngIf=\"e.draft || e.empty\" [bizdocTooltip]=\"'Discard'|translate\"><mat-icon>delete</mat-icon></button>\r\n <button mat-icon-button (click)=\"toggleDisabled(e)\" [bizdocTooltip]=\"(e.disabled ? 'Enable' : 'Disable')|translate\"><mat-icon>{{e.disabled ? 'visibility' : 'visibility_off'}}</mat-icon></button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"edit(e, s)\" [bizdocTooltip]=\"'Settings'|translate\"><mat-icon>settings</mat-icon></button>\r\n </mat-card-actions>\r\n </mat-card>\r\n <div class=\"add-element\" matRipple (click)=\"add(s, menuTrigger, $event)\" *ngIf=\"s.templates?.length\">\r\n <span [matMenuTriggerFor]=\"templateMenu\" #menuTrigger=\"matMenuTrigger\"></span>\r\n <button mat-icon-button><mat-icon [bizdocTooltip]=\"'New'|translate\" disableRipple=\"true\">add</mat-icon></button>\r\n <mat-menu #templateMenu>\r\n <button mat-menu-item *ngFor=\"let t of s.templates\" (click)=\"create(s, t)\">\r\n <span *ngIf=\"t.family\">\r\n {{t.family}}\r\n - \r\n </span>\r\n <span>\r\n {{t.title}}\r\n </span>\r\n </button>\r\n </mat-menu>\r\n </div>\r\n </div>\r\n</section>\r\n", styles: [":host{outline:none}section h2{margin:0 8px;position:sticky}section .elements{display:flex;flex-wrap:wrap}section .elements .disabled{opacity:.5;background-color:transparent}section .add-element{border:2px dashed gray;min-width:126px;min-height:126px;border-radius:3px;margin:1px 0 6px;text-align:center}section .add-element button{top:50%;transform:translateY(-50%)}:host ::ng-deep .mat-card{margin:0 6px 6px;display:flex;flex-direction:column}:host ::ng-deep .mat-card button{opacity:.1}:host ::ng-deep .mat-card:hover button{opacity:1}:host ::ng-deep .mat-card-header-text{width:100%}:host ::ng-deep .mat-card-title{display:flex;flex-direction:row;align-items:center}.divider{min-width:3px}:host ::ng-deep .mat-card-content{flex:1}\n"] }]
|
469
|
-
}], function () { return [{ type: i1.PanesRouter }, { type: i2.TranslateService }, { type: i3.PromptService }, { type: i4.SessionService }, { type: i0.ElementRef }, { type: i0.Injector }, { type: i5.UtilityRef }]; }, { handleKeyboardEvent: [{
|
470
|
-
type: HostListener,
|
471
|
-
args: ['keydown', ['$event']]
|
472
|
-
}] }); })();
|
473
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzaWduZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9hZG1pbi9hcmNoaXRlY3R1cmUvZGVzaWduZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9hZG1pbi9hcmNoaXRlY3R1cmUvZGVzaWduZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBZSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RSxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXRELE9BQU8sRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLFFBQVEsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUV0RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFdEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFNL0MsT0FBTyxFQUE2QyxXQUFXLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBYyxNQUFNLGdCQUFnQixDQUFDO0FBRXhILE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxt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REFBQTtRQUVSLGVBQWlEO1FBQWpELGdFQUFpRDtRQUEvRiwrREFBNkM7UUFDakQsZUFBYTtRQUFiLGtDQUFhO1FBQ0osZUFBVztRQUFYLHNDQUFXO2k4Q0RnQ3BCLENBQUMsYUFBYSxDQUFDO0FBSWhCLDhCQUE4QjtJQUQxQyxNQUFNLENBQUMsRUFBRSxRQUFRLEVBQUUsK0JBQStCLEVBQUUsQ0FBQztHQUN6Qyw4QkFBOEIsQ0E4TzFDO1NBOU9ZLDhCQUE4Qjt1RkFBOUIsOEJBQThCO2NBUDFDLFNBQVM7NkJBR0ksQ0FBQyxhQUFhLENBQUMsUUFDckIsRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFOytOQThFdkIsbUJBQW1CO2tCQURsQixZQUFZO21CQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENka0RyYWdEcm9wLCBtb3ZlSXRlbUluQXJyYXkgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL2RyYWctZHJvcFwiO1xyXG5pbXBvcnQgeyBFU0NBUEUsIFNQQUNFIH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9rZXljb2Rlc1wiO1xyXG5pbXBvcnQgeyBDb21wb25lbnRUeXBlIH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9wb3J0YWxcIjtcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBIb3N0TGlzdGVuZXIsIEluamVjdG9yLCBPbkluaXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBNYXRNZW51VHJpZ2dlciB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9tZW51XCI7XHJcbmltcG9ydCB7IGl0ZW1BbmltYXRpb24gfSBmcm9tIFwiLi4vLi4vY29yZS9hbmltYXRpb25zXCI7XHJcbmltcG9ydCB7IFV0aWxpdHlDb21wb25lbnQgfSBmcm9tIFwiLi4vLi4vY29yZS9iYXNlXCI7XHJcbmltcG9ydCB7IE9wZW5Qb2xpY3kgfSBmcm9tIFwiLi4vLi4vY29yZS9jb25maWd1cmF0aW9uXCI7XHJcbmltcG9ydCB7IEJpekRvYyB9IGZyb20gXCIuLi8uLi9jb3JlL2RlY29yYXRvcnNcIjtcclxuaW1wb3J0IHsgY2xlYW51cCB9IGZyb20gXCIuLi8uLi9jb3JlL2Z1bmN0aW9uc1wiO1xyXG5pbXBvcnQgeyBQcm9tcHRTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL2NvcmUvcHJvbXB0LnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgU2Vzc2lvblNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vY29yZS9zZXNzaW9uLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgUGFuZXNSb3V0ZXIgfSBmcm9tIFwiLi4vLi4vY29yZS9zbG90cy9yb3V0ZXIuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL2NvcmUvdHJhbnNsYXRlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgVXRpbGl0eVJlZiB9IGZyb20gXCIuLi91dGlsaXR5LXJlZlwiO1xyXG5pbXBvcnQgeyBFbGVtZW50TW9kZWwsIERlc2lnbmVyTW9kZWwsIFRlbXBsYXRlSW5mbywgcHJvZ3JhbU5hbWUsIERlc2lnbmVyUmVmLCBjbG9uZSwgRGVzaWduTW9kZSB9IGZyb20gXCIuL2RlY2xhcmF0aW9uc1wiO1xyXG5pbXBvcnQgeyBEZXNpZ25lclR5cGVFbGVtZW50Q29tcG9uZW50IH0gZnJvbSBcIi4vZGVzaWduZXIuYmFzZVwiO1xyXG5pbXBvcnQgeyBBY3Rpb25EZXNpZ25lckNvbXBvbmVudCB9IGZyb20gXCIuL2VsZW1lbnRzL2FjdGlvbi5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgQXR0cmlidXRlRGVzaWduQ29tcG9uZW50IH0gZnJvbSBcIi4vZWxlbWVudHMvYXR0cmlidXRlLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBDb250cm9sRGVzaWduQ29tcG9uZW50IH0gZnJvbSBcIi4vZWxlbWVudHMvY29udHJvbC5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgQ3ViZURlc2lnbkNvbXBvbmVudCB9IGZyb20gXCIuL2VsZW1lbnRzL2N1YmUuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IEZvbGRlckRlc2lnbkNvbXBvbmVudCB9IGZyb20gXCIuL2VsZW1lbnRzL2ZvbGRlci5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgRm9ybURlc2lnbkNvbXBvbmVudCB9IGZyb20gXCIuL2VsZW1lbnRzL2Zvcm0uY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IEd1aWRlRGVzaWduQ29tcG9uZW50IH0gZnJvbSBcIi4vZWxlbWVudHMvZ3VpZGUuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IE5vZGVEZXNpZ25lckNvbXBvbmVudCB9IGZyb20gXCIuL2VsZW1lbnRzL25vZGUuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFBvbGljeURlc2lnbkNvbXBvbmVudCB9IGZyb20gXCIuL2VsZW1lbnRzL3BvbGljeS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgUmVwb3J0RGVzaWduZXJDb21wb25lbnQgfSBmcm9tIFwiLi9lbGVtZW50cy9yZXBvcnQuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFJvbGVEZXNpZ25Db21wb25lbnQgfSBmcm9tIFwiLi9lbGVtZW50cy9yb2xlLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBSdWxlRGVzaWduQ29tcG9uZW50IH0gZnJvbSBcIi4vZWxlbWVudHMvcnVsZS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgU3RhdGVEZXNpZ25Db21wb25lbnQgfSBmcm9tIFwiLi9lbGVtZW50cy9zdGF0ZS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgVHlwZURlc2lnbkNvbXBvbmVudCB9IGZyb20gXCIuL2VsZW1lbnRzL3R5cGUuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFV0aWxpdHlEZXNpZ25Db21wb25lbnQgfSBmcm9tIFwiLi9lbGVtZW50cy91dGlsaXR5LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBWaWV3RGVzaWduQ29tcG9uZW50IH0gZnJvbSBcIi4vZWxlbWVudHMvdmlldy5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgV2lkZ2V0RGVzaWduQ29tcG9uZW50IH0gZnJvbSBcIi4vZWxlbWVudHMvd2lkZ2V0LmNvbXBvbmVudFwiO1xyXG5jb25zdCBDSEFSQUNURVIgPSAvW1xcd118U3BhY2ViYXIvO1xyXG4vKiogKi9cclxuQENvbXBvbmVudCh7XHJcbiAgdGVtcGxhdGVVcmw6ICdkZXNpZ25lci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJ2Rlc2lnbmVyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgYW5pbWF0aW9uczogW2l0ZW1BbmltYXRpb25dLFxyXG4gIGhvc3Q6IHsgdGFiaW5kZXg6ICcwJyB9XHJcbn0pXHJcbkBCaXpEb2MoeyBzZWxlY3RvcjogJ2JpemRvYy1jb25maWd1cmF0aW9uLWRlc2lnbmVyJyB9KVxyXG5leHBvcnQgY2xhc3MgQ29uZmlndXJhdGlvbkRlc2lnbmVyQ29tcG9uZW50IGltcGxlbWVudHMgVXRpbGl0eUNvbXBvbmVudCwgT25Jbml0IHtcclxuICBzZWFyY2hCeTogc3RyaW5nO1xyXG4gIGxvYWRpbmcgPSB0cnVlO1xyXG4gIHNhdmluZyA9IGZhbHNlO1xyXG4gIGRpcnR5ID0gZmFsc2U7XHJcbiAgc2VjdGlvbnM6IFNlY3Rpb25bXTtcclxuICBtb2RlbDogRGVzaWduZXJNb2RlbDtcclxuICBwcml2YXRlIF90eXBpbmdUaW1lcjogYW55O1xyXG4gIHByaXZhdGUgX2NsZWFyVGltZXI6IGFueTtcclxuICBwcml2YXRlIF9zZWN0aW9uczogU2VjdGlvbltdO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfcGFuZXM6IFBhbmVzUm91dGVyLFxyXG4gICAgcHJpdmF0ZSBfdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfcHM6IFByb21wdFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9zZXNzaW9uOiBTZXNzaW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgX2VsZW1lbnQ6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+LFxyXG4gICAgcHJpdmF0ZSBfaW5qZWN0b3I6IEluamVjdG9yLFxyXG4gICAgcHJpdmF0ZSBfcmVmOiBVdGlsaXR5UmVmPGJvb2xlYW4sIERlc2lnbmVyTW9kZWwsIERlc2lnbmVyTW9kZWw+KSB7IH1cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuX3JlZi5wb3B1bGF0ZSgpLnN1YnNjcmliZShyID0+IHtcclxuICAgICAgdGhpcy5tb2RlbCA9IHI7XHJcbiAgICAgIHRoaXMuc2VjdGlvbnMgPSB0aGlzLl9zZWN0aW9ucyA9IFtcclxuICAgICAgICB7IGVsZW1lbnRzOiByLmZvcm1zLCB0eXBlOiAnRm9ybXMnLCBjb21wOiBGb3JtRGVzaWduQ29tcG9uZW50LCB0ZW1wbGF0ZXM6IHIudEZvcm1zIH0sXHJcbiAgICAgICAgeyBlbGVtZW50czogci5hY3Rpb25zLCB0eXBlOiAnQWN0aW9ucycsIGNvbXA6IEFjdGlvbkRlc2lnbmVyQ29tcG9uZW50LCB0ZW1wbGF0ZXM6IHIudEFjdGlvbnMgfSxcclxuICAgICAgICB7IGVsZW1lbnRzOiByLnJlcG9ydHMsIHR5cGU6ICdSZXBvcnRzJywgY29tcDogUmVwb3J0RGVzaWduZXJDb21wb25lbnQsIHRlbXBsYXRlczogci50UmVwb3J0cyB9LFxyXG4gICAgICAgIHsgZWxlbWVudHM6IHIud2lkZ2V0cywgdHlwZTogJ1dpZGdldHMnLCBjb21wOiBXaWRnZXREZXNpZ25Db21wb25lbnQsIHRlbXBsYXRlczogci50V2lkZ2V0cyB9LFxyXG4gICAgICAgIHsgZWxlbWVudHM6IHIudmlld3MsIHR5cGU6ICdWaWV3cycsIGNvbXA6IFZpZXdEZXNpZ25Db21wb25lbnQsIHRlbXBsYXRlczogci50Vmlld3MgfSxcclxuICAgICAgICB7IGVsZW1lbnRzOiByLmd1aWRlcywgdHlwZTogJ0d1aWRlcycsIGNvbXA6IEd1aWRlRGVzaWduQ29tcG9uZW50LCB0ZW1wbGF0ZXM6IFt7IHRpdGxlOiB0aGlzLl90cmFuc2xhdGUuZ2V0KCdHdWlkZScpIH1dIH0sXHJcbiAgICAgICAgeyBlbGVtZW50czogci5jdWJlcywgdHlwZTogJ0N1YmVzJywgY29tcDogQ3ViZURlc2lnbkNvbXBvbmVudCwgdGVtcGxhdGVzOiByLnRDdWJlcyB9LFxyXG4gICAgICAgIHsgZWxlbWVudHM6IHIuZm9sZGVycywgdHlwZTogJ0ZvbGRlcnMnLCBjb21wOiBGb2xkZXJEZXNpZ25Db21wb25lbnQsIHRlbXBsYXRlczogW3sgdGl0bGU6IHRoaXMuX3RyYW5zbGF0ZS5nZXQoJ0ZvbGRlcicpIH1dIH0sXHJcbiAgICAgICAgeyBlbGVtZW50czogci5yb2xlcywgdHlwZTogJ1JvbGVzJywgY29tcDogUm9sZURlc2lnbkNvbXBvbmVudCwgdGVtcGxhdGVzOiBbeyB0aXRsZTogdGhpcy5fdHJhbnNsYXRlLmdldCgnUm9sZScpIH1dIH0sXHJcbiAgICAgICAgeyBlbGVtZW50czogci5zdGF0ZXMsIHR5cGU6ICdTdGF0ZXMnLCBjb21wOiBTdGF0ZURlc2lnbkNvbXBvbmVudCwgdGVtcGxhdGVzOiBbeyB0aXRsZTogdGhpcy5fdHJhbnNsYXRlLmdldCgnU3RhdGUnKSB9XSB9LFxyXG4gICAgICAgIHsgZWxlbWVudHM6IHIudXRpbGl0aWVzLCB0eXBlOiAnVG9vbHMnLCBjb21wOiBVdGlsaXR5RGVzaWduQ29tcG9uZW50LCB0ZW1wbGF0ZXM6IHIudFV0aWxpdGllcyB9LFxyXG4gICAgICAgIHsgZWxlbWVudHM6IHIudHlwZXMsIHR5cGU6ICdUeXBlcycsIGNvbXA6IFR5cGVEZXNpZ25Db21wb25lbnQsIHRlbXBsYXRlczogci50VHlwZXMgfSxcclxuICAgICAgICB7IGVsZW1lbnRzOiByLm5vZGVzLCB0eXBlOiAnTm9kZXMnLCBjb21wOiBOb2RlRGVzaWduZXJDb21wb25lbnQsIHRlbXBsYXRlczogci50Tm9kZXMgfSxcclxuICAgICAgICB7IGVsZW1lbnRzOiByLmF0dHJpYnV0ZXMsIHR5cGU6ICdBdHRyaWJ1dGVzJywgY29tcDogQXR0cmlidXRlRGVzaWduQ29tcG9uZW50LCB0ZW1wbGF0ZXM6IHIudEF0dHJpYnV0ZXMgfSxcclxuICAgICAgICB7IGVsZW1lbnRzOiByLnBvbGljaWVzLCB0eXBlOiAnUG9saWNpZXMnLCBjb21wOiBQb2xpY3lEZXNpZ25Db21wb25lbnQsIHRlbXBsYXRlczogci50UG9saWNpZXMgfSxcclxuICAgICAgICB7IGVsZW1lbnRzOiByLmNvbnRyb2xzLCB0eXBlOiAnQ29udHJvbHMnLCBjb21wOiBDb250cm9sRGVzaWduQ29tcG9uZW50LCB0ZW1wbGF0ZXM6IFtdIH0sXHJcbiAgICAgICAgeyBlbGVtZW50czogci5ydWxlcywgdHlwZTogJ1J1bGVzJywgY29tcDogUnVsZURlc2lnbkNvbXBvbmVudCwgdGVtcGxhdGVzOiByLnRSdWxlcyB9LFxyXG4gICAgICBdO1xyXG4gICAgICB0aGlzLnNlY3Rpb25zLmZvckVhY2gocyA9PlxyXG4gICAgICAgIHMuZWxlbWVudHMuZm9yRWFjaChlID0+IHtcclxuICAgICAgICAgIGlmICghZS5vcHRpb25zKSBlLm9wdGlvbnMgPSB7fTtcclxuXHJcbiAgICAgICAgICBlLmluamVjdG9yID0gdGhpcy5fY3JlYXRlSW5qZWN0b3IoZSwgJ3dpZGdldCcpO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcbiAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgfSk7XHJcbiAgICAvLyB0eXBpbmcga2V5ZG93biBsaXN0ZW5lclxyXG4gICAgdGhpcy5fZWxlbWVudC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XHJcbiAgfVxyXG4gIGRyb3AoZXZlbnQ6IENka0RyYWdEcm9wPEVsZW1lbnRNb2RlbFtdPikge1xyXG4gICAgY29uc3QgcmFuZ2UgPSBldmVudC5jb250YWluZXIuZGF0YS5zbGljZShcclxuICAgICAgTWF0aC5taW4oZXZlbnQucHJldmlvdXNJbmRleCwgZXZlbnQuY3VycmVudEluZGV4KSxcclxuICAgICAgTWF0aC5tYXgoZXZlbnQucHJldmlvdXNJbmRleCwgZXZlbnQuY3VycmVudEluZGV4KVxyXG4gICAgKSwgZmlsZSA9IHJhbmdlWzBdLmNvbmZpZ3VyYXRpb25GaWxlO1xyXG4gICAgaWZcclxuICAgICAgLy8gYWNyb3NzIGZpbGVzXHJcbiAgICAgIChyYW5nZS5zbGljZSgxKS5zb21lKGUgPT4gZS5jb25maWd1cmF0aW9uRmlsZSAhPT0gZmlsZSkpIHtcclxuICAgICAgLy8gc3RhcnQgb3JkaW5hbFxyXG4gICAgICBsZXQgaSA9IGV2ZW50LmNvbnRhaW5lci5kYXRhW2V2ZW50LmN1cnJlbnRJbmRleF0ub3JkaW5hbCB8fCAtMTtcclxuICAgICAgLy8gc2V0IG9yZGluYWwgdG8gaXRlbXMgaW4gcmFuZ2VcclxuICAgICAgcmFuZ2UuZm9yRWFjaChlID0+IGUub3JkaW5hbCA9IGkrKyk7XHJcbiAgICAgIC8vIGluY3JlYXNlIG90aGVyIGhpZ2hlciB0aGFuIGxhc3QgaW4gcmFuZ2VcclxuICAgICAgZXZlbnQuY29udGFpbmVyLmRhdGEuZmlsdGVyKGUgPT4gZS5vcmRpbmFsICYmIGUub3JkaW5hbCA+IGkpLmZvckVhY2goZSA9PiBlLm9yZGluYWwgKz0gMSk7XHJcbiAgICB9IGVsc2UgLy8gbmF0aXZlIG9yZGVyIGluIGNvbGxlY3Rpb25cclxuICAgICAgcmFuZ2UuZm9yRWFjaChlID0+IGUub3JkaW5hbCA9IG51bGwpO1xyXG4gICAgbW92ZUl0ZW1JbkFycmF5KGV2ZW50LmNvbnRhaW5lci5kYXRhLCBldmVudC5wcmV2aW91c0luZGV4LCBldmVudC5jdXJyZW50SW5kZXgpO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBDdHJsLXMgc2F2ZSwgc2VhcmNoXHJcbiAgICogQHBhcmFtIGV2ZW50XHJcbiAgICovXHJcbiAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bicsIFsnJGV2ZW50J10pXHJcbiAgaGFuZGxlS2V5Ym9hcmRFdmVudChldmVudDogS2V5Ym9hcmRFdmVudCkge1xyXG4gICAgaWYgKGV2ZW50LmN0cmxLZXkgJiYgKGV2ZW50LndoaWNoID09PSA4MyB8fCBldmVudC53aGljaCA9PT0gMTE1KSkge1xyXG4gICAgICB0aGlzLmRpcnR5ICYmIHRoaXMuc2F2ZSgpO1xyXG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5zZWFyY2hCeSAmJiBldmVudC53aGljaCA9PT0gRVNDQVBFKSB0aGlzLmNsZWFyU2VhcmNoKCk7XHJcbiAgICBlbHNlIGlmIChldmVudC5jb2RlLnN0YXJ0c1dpdGgoJ0tleScpIHx8IGV2ZW50LndoaWNoID09IFNQQUNFKSB7XHJcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLl90eXBpbmdUaW1lcik7XHJcbiAgICAgIC8vY2xlYXJUaW1lb3V0KHRoaXMuX2NsZWFyVGltZXIpO1xyXG4gICAgICB0aGlzLnNlYXJjaEJ5ID0gdGhpcy5zZWFyY2hCeSA/IHRoaXMuc2VhcmNoQnkgKyBldmVudC5rZXkgOiBldmVudC5rZXk7XHJcbiAgICAgIHRoaXMuX3R5cGluZ1RpbWVyID0gc2V0VGltZW91dCgoKSA9PlxyXG4gICAgICAgIHRoaXMuc2VjdGlvbnMgPSB0aGlzLl9zZWFyY2godGhpcy5zZWFyY2hCeSksIDE1MCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGNsZWFyU2VhcmNoKCkge1xyXG4gICAgdGhpcy5zZWFyY2hCeSA9IG51bGw7XHJcbiAgICB0aGlzLnNlY3Rpb25zID0gdGhpcy5fc2VjdGlvbnM7XHJcbiAgICBjbGVhclRpbWVvdXQodGhpcy5fdHlwaW5nVGltZXIpO1xyXG4gIH1cclxuICBwcml2YXRlIF9zZWFyY2godmFsdWU6IHN0cmluZykge1xyXG4gICAgY29uc3Qgc2VjdGlvbnM6IFNlY3Rpb25bXSA9IFtdO1xyXG4gICAgdGhpcy5fc2VjdGlvbnMuZm9yRWFjaChzID0+IHtcclxuICAgICAgY29uc3QgZWxlbWVudHMgPSBzLmVsZW1lbnRzLlxyXG4gICAgICAgIGZpbHRlcihlID0+IChlLnRpdGxlIHx8IGUubmFtZSkudG9Mb3dlckNhc2UoKS5cclxuICAgICAgICAgIGluZGV4T2YodmFsdWUpID4gLTEpO1xyXG4gICAgICBpZiAoZWxlbWVudHMubGVuZ3RoKSB7XHJcbiAgICAgICAgY29uc3QgeyBjb21wLCB0ZW1wbGF0ZXMsIHR5cGUgfSA9IHM7XHJcbiAgICAgICAgc2VjdGlvbnMucHVzaCh7IGVsZW1lbnRzLCBjb21wLCB0ZW1wbGF0ZXMsIHR5cGUgfSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgLy90aGlzLl9jbGVhclRpbWVyID0gc2V0VGltZW91dCgoKSA9PiB0aGlzLnNlYXJjaEJ5ID0gbnVsbCwgNTAwMCk7XHJcbiAgICByZXR1cm4gc2VjdGlvbnM7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2luc2VydChzZWN0aW9uOiBTZWN0aW9uLCBlbGVtZW50OiBFbGVtZW50TW9kZWwsIGluZGV4OiBudW1iZXIpIHtcclxuICAgIGxldCBpID0gZWxlbWVudC5uYW1lLmxhc3RJbmRleE9mKCdfJyksXHJcbiAgICAgIGogPSBlbGVtZW50LnRpdGxlLmxhc3RJbmRleE9mKCcgJyksXHJcbiAgICAgIG4gPSAwLCBuYW1lLCB0aXRsZTtcclxuICAgIGRvIHtcclxuICAgICAgbisrO1xyXG4gICAgICBuYW1lID0gKGkgPCAwIHx8IGlzTmFOKHBhcnNlSW50KGVsZW1lbnQubmFtZS5zdWJzdHIoaSArIDEpKSkgPyBlbGVtZW50Lm5hbWUgOiBlbGVtZW50Lm5hbWUuc3Vic3RyKDAsIGkpKSArICdfJyArIG47XHJcbiAgICAgIHRpdGxlID0gKGogPCAwIHx8IGlzTmFOKHBhcnNlSW50KGVsZW1lbnQudGl0bGUuc3Vic3RyKGogKyAxKSkpID8gZWxlbWVudC50aXRsZSA6IGVsZW1lbnQudGl0bGUuc3Vic3RyKDAsIGopKSArICcgJyArIG47XHJcbiAgICB9XHJcbiAgICB3aGlsZSAoc2VjdGlvbi5lbGVtZW50cy5maW5kKGUgPT4gZS5uYW1lID09PSBuYW1lIHx8IGUudGl0bGUgPT09IHRpdGxlKSk7XHJcbiAgICBlbGVtZW50Lm5hbWUgPSBuYW1lLCBlbGVtZW50LnRpdGxlID0gdGl0bGU7XHJcblxyXG4gICAgY29uc3QgaW5qZWN0b3IgPSB0aGlzLl9jcmVhdGVJbmplY3RvcihlbGVtZW50LCAnd2lkZ2V0Jyk7XHJcbiAgICBlbGVtZW50LmluamVjdG9yID0gaW5qZWN0b3I7XHJcbiAgICB0aGlzLl9vcGVuKGVsZW1lbnQsIHNlY3Rpb24sICdhZGQnKS50aGVuKCgpID0+XHJcbiAgICAgIHNlY3Rpb24uZWxlbWVudHMuc3BsaWNlKGluZGV4ICsgMSwgMCwgZWxlbWVudClcclxuICAgICk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX29wZW4oZWxlbWVudDogRWxlbWVudE1vZGVsLFxyXG4gICAgc2VjdGlvbjogU2VjdGlvbixcclxuICAgIG1vZGU6IERlc2lnbk1vZGUsIHRpdGxlPzogc3RyaW5nKSB7XHJcbiAgICBsZXQgZWNsb25lID0geyAuLi5lbGVtZW50IH07XHJcbiAgICBkZWxldGUgZWNsb25lLmluamVjdG9yO1xyXG4gICAgZWNsb25lID0gY2xvbmUoZWNsb25lKTsgLy8gZGVlcFxyXG4gICAgY29uc3QgaW5qZWN0b3IgPSB0aGlzLl9jcmVhdGVJbmplY3RvcihlY2xvbmUsIG1vZGUpO1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHRoaXMuX3BhbmVzLm5hdmlnYXRlPERlc2lnbmVyVHlwZUVsZW1lbnRDb21wb25lbnQ+KHNlY3Rpb24uY29tcCwge1xyXG4gICAgICBwb2xpY3k6IG1vZGUgPT09ICdhZGQnID8gT3BlblBvbGljeS5EaWFsb2cgfCBPcGVuUG9saWN5LlN0cmV0Y2ggOiBPcGVuUG9saWN5LlRhYiB8IE9wZW5Qb2xpY3kuVG9nZ2xlLFxyXG4gICAgICBncm91cDogdGhpcy5fdHJhbnNsYXRlLmdldChzZWN0aW9uLnR5cGUpLFxyXG4gICAgICAvL3RpdGxlLFxyXG4gICAgICBpbmplY3RvcjogaW5qZWN0b3JcclxuICAgIH0pLnRoZW4ocGFuZSA9PiB7XHJcbiAgICAgIHBhbmUuaW5zdGFuY2UuZGVzaWduZXIub25TYXZlLnN1YnNjcmliZShlbCA9PiB7XHJcbiAgICAgICAgaWYgKGVsKSB7XHJcbiAgICAgICAgICBPYmplY3QuYXNzaWduKGVsZW1lbnQsIGVsKTtcclxuICAgICAgICAgIHRoaXMuZGlydHkgPSB0cnVlO1xyXG4gICAgICAgICAgcmVzb2x2ZShlbCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgcmVqZWN0KCk7XHJcbiAgICAgICAgcGFuZS5jbG9zZSgpO1xyXG4gICAgICB9KTtcclxuICAgICAgcGFuZS5jbG9zZWQoKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5fZWxlbWVudC5uYXRpdmVFbGVtZW50LmZvY3VzKCkpO1xyXG4gICAgfSkpO1xyXG4gIH1cclxuICBwcml2YXRlIF9jcmVhdGVJbmplY3RvcihlbGVtZW50OiBFbGVtZW50TW9kZWw8YW55PiwgbW9kZTogRGVzaWduTW9kZSkge1xyXG4gICAgY29uc3QgcmVmID0gbmV3IERlc2lnbmVyUmVmKHRoaXMubW9kZWwsIGVsZW1lbnQsIG1vZGUpO1xyXG5cclxuICAgIGNvbnN0IGluamVjdG9yID0gSW5qZWN0b3IuY3JlYXRlKFt7XHJcbiAgICAgIHByb3ZpZGU6IERlc2lnbmVyUmVmLCB1c2VWYWx1ZTogcmVmXHJcbiAgICB9XSwgdGhpcy5faW5qZWN0b3IpO1xyXG4gICAgcmV0dXJuIGluamVjdG9yO1xyXG4gIH1cclxuICBhZGQoc2VjdGlvbjogU2VjdGlvbiwgbWVudTogTWF0TWVudVRyaWdnZXIsIGV2dDogRXZlbnQpIHtcclxuICAgIGlmIChzZWN0aW9uLnRlbXBsYXRlcy5sZW5ndGggPiAxKVxyXG4gICAgICBtZW51Lm9wZW5NZW51KCk7XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy5jcmVhdGUoc2VjdGlvbiwgc2VjdGlvbi50ZW1wbGF0ZXNbMF0pO1xyXG4gICAgfVxyXG4gICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgfVxyXG4gIGNyZWF0ZShzZWN0aW9uOiBTZWN0aW9uLCB0ZW1wbGF0ZTogVGVtcGxhdGVJbmZvKSB7XHJcbiAgICBjb25zdCBlbGVtZW50ID0ge1xyXG4gICAgICAuLi50ZW1wbGF0ZSxcclxuICAgICAgbmFtZTogcHJvZ3JhbU5hbWUodGVtcGxhdGUua2V5IHx8IHRlbXBsYXRlLnRpdGxlKSxcclxuICAgICAgZHJhZnQ6IHRydWUsXHJcbiAgICAgIG9wdGlvbnM6IHt9XHJcbiAgICB9IGFzIEVsZW1lbnRNb2RlbDtcclxuICAgIHRoaXMuX2luc2VydChzZWN0aW9uLCBlbGVtZW50LCBzZWN0aW9uLmVsZW1lbnRzLmxlbmd0aCk7XHJcbiAgfVxyXG4gIGNvcHkoc2VjdGlvbjogU2VjdGlvbiwgZWxlbWVudDogRWxlbWVudE1vZGVsKSB7XHJcbiAgICBsZXQgZWNsb25lID0ge1xyXG4gICAgICAuLi5lbGVtZW50LFxyXG4gICAgICBjb3B5T2Y6IGVsZW1lbnQubmFtZSxcclxuICAgICAgZHJhZnQ6IHRydWVcclxuICAgIH07XHJcbiAgICBkZWxldGUgZWNsb25lLmluamVjdG9yO1xyXG4gICAgZGVsZXRlIGVjbG9uZS5yZXNvdXJjZTtcclxuICAgIGVjbG9uZSA9IGNsb25lKGVjbG9uZSk7IC8vIGRlZXBcclxuICAgIHRoaXMuX2luc2VydChzZWN0aW9uLCBlY2xvbmUsIHNlY3Rpb24uZWxlbWVudHMuaW5kZXhPZihlbGVtZW50KSk7XHJcbiAgfVxyXG4gIGVkaXQoZWxlbWVudDogRWxlbWVudE1vZGVsLCBzZWN0aW9uOiBTZWN0aW9uKSB7XHJcbiAgICB0aGlzLl9vcGVuKGVsZW1lbnQsIHNlY3Rpb24sICdlZGl0Jyk7XHJcbiAgfVxyXG4gIHRvZ2dsZURpc2FibGVkKGVsZW1lbnQ6IEVsZW1lbnRNb2RlbCkge1xyXG4gICAgZWxlbWVudC5kaXNhYmxlZCA9ICFlbGVtZW50LmRpc2FibGVkO1xyXG4gICAgdGhpcy5kaXJ0eSA9IHRydWU7XHJcbiAgfVxyXG4gIHNhdmUoKSB7XHJcbiAgICB0aGlzLnNhdmluZyA9IHRydWU7XHJcbiAgICBjb25zdCB7IGNvbnRyb2xzLCBhdHRyaWJ1dGVzLCBwb2xpY2llcywgYWN0aW9ucywgY3ViZXMsIGZvbGRlcnMsIGZvcm1zLCBndWlkZXMsIHJlcG9ydHMsIHJvbGVzLCBydWxlcywgc3RhdGVzLCB0eXBlcywgdXRpbGl0aWVzLCB2aWV3cywgd2lkZ2V0cywgbm9kZXMgfSA9IHRoaXMubW9kZWw7XHJcbiAgICBjb25zdCBtb2RlbCA9IHtcclxuICAgICAgYWN0aW9uczogc3RyaXAoYWN0aW9ucyksXHJcbiAgICAgIGN1YmVzOiBzdHJpcChjdWJlcyksXHJcbiAgICAgIGZvbGRlcnM6IHN0cmlwKGZvbGRlcnMpLFxyXG4gICAgICBmb3Jtczogc3RyaXAoZm9ybXMpLFxyXG4gICAgICBndWlkZXM6IHN0cmlwKGd1aWRlcyksXHJcbiAgICAgIHJlcG9ydHM6IHN0cmlwKHJlcG9ydHMpLFxyXG4gICAgICByb2xlczogc3RyaXAocm9sZXMpLFxyXG4gICAgICBydWxlczogc3RyaXAocnVsZXMpLFxyXG4gICAgICBwb2xpY2llczogc3RyaXAocG9saWNpZXMpLFxyXG4gICAgICBzdGF0ZXM6IHN0cmlwKHN0YXRlcyksXHJcbiAgICAgIHR5cGVzOiBzdHJpcCh0eXBlcyksXHJcbiAgICAgIHV0aWxpdGllczogc3RyaXAodXRpbGl0aWVzKSxcclxuICAgICAgdmlld3M6IHN0cmlwKHZpZXdzKSxcclxuICAgICAgbm9kZXM6IHN0cmlwKG5vZGVzKSxcclxuICAgICAgd2lkZ2V0czogc3RyaXAod2lkZ2V0cyksXHJcbiAgICAgIGNvbnRyb2xzOiBzdHJpcChjb250cm9scyksXHJcbiAgICAgIGF0dHJpYnV0ZXM6IHN0cmlwKGF0dHJpYnV0ZXMpXHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIHRoaXMuX3JlZi5leGVjdXRlKFxyXG4gICAgICBtb2RlbCBhcyBhbnkpLnRvUHJvbWlzZSgpLnRoZW4oKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuX3BzLnRvYXN0KCdDaGFuZ2VzU2F2ZWQnKTtcclxuICAgICAgICBhcHBseShwb2xpY2llcywgYWN0aW9ucywgY3ViZXMsIGZvbGRlcnMsIGZvcm1zLCBndWlkZXMsIHJlcG9ydHMsIHJvbGVzLCBydWxlcywgc3RhdGVzLCB0eXBlcywgdXRpbGl0aWVzLCB2aWV3cywgd2lkZ2V0cyk7XHJcbiAgICAgICAgdGhpcy5zYXZpbmcgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmRpcnR5ID0gZmFsc2VcclxuICAgICAgICB0aGlzLl9zZXNzaW9uLnJlZnJlc2goKS5zdWJzY3JpYmUoKTtcclxuICAgICAgfSwgKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuX3BzLmVycm9yKCk7XHJcbiAgICAgICAgdGhpcy5zYXZpbmcgPSBmYWxzZVxyXG4gICAgICB9KTtcclxuICAgIGZ1bmN0aW9uIHN0cmlwKGVsZW1lbnRzOiBFbGVtZW50TW9kZWxbXSkge1xyXG4gICAgICByZXR1cm4gZWxlbWVudHMubWFwKGUgPT4ge1xyXG4gICAgICAgIGNvbnN0IGVsZW1lbnQgPSB7IC4uLmUgfTtcclxuICAgICAgICBkZWxldGUgZWxlbWVudC5pbmplY3RvcjtcclxuICAgICAgICByZXR1cm4gY2xlYW51cChlbGVtZW50KTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBmdW5jdGlvbiBhcHBseSguLi5jb2xsZWN0aW9uOiBFbGVtZW50TW9kZWxbXVtdKSB7XHJcbiAgICAgIGNvbGxlY3Rpb24uZm9yRWFjaChzID0+IHMuZm9yRWFjaChlID0+IGRlbGV0ZSBlLmRyYWZ0KSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbmludGVyZmFjZSBTZWN0aW9uIHtcclxuICBjb21wOiBDb21wb25lbnRUeXBlPGFueT47XHJcbiAgdHlwZTogc3RyaW5nO1xyXG4gIGVsZW1lbnRzOiBFbGVtZW50TW9kZWxbXTtcclxuICB0ZW1wbGF0ZXM6IFRlbXBsYXRlSW5mb1tdO1xyXG59XHJcbiIsIjxtYXQtdG9vbGJhcj5cclxuICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwic2F2ZSgpXCIgW2Rpc2FibGVkXT1cIiFkaXJ0eSB8fCBsb2FkaW5nIHx8IHNhdmluZ1wiIFtiaXpkb2NUb29sdGlwXT1cIidTYXZlJ3x0cmFuc2xhdGVcIj48bWF0LWljb24+c2F2ZTwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgPHNwYW4gY2xhc3M9XCJkaXZpZGVyXCI+PC9zcGFuPlxyXG4gIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJjbGVhclNlYXJjaCgpXCIgW2Rpc2FibGVkXT1cIiFzZWFyY2hCeVwiIFtiaXpkb2NUb29sdGlwXT1cIidDbGVhcid8dHJhbnNsYXRlXCI+PG1hdC1pY29uPnNlYXJjaF9vZmY8L21hdC1pY29uPjwvYnV0dG9uPlxyXG48L21hdC10b29sYmFyPlxyXG48bWF0LXByb2dyZXNzLWJhciBbbW9kZV09XCJsb2FkaW5nID8gJ2J1ZmZlcicgOiAnaW5kZXRlcm1pbmF0ZSdcIiBbc3R5bGUudmlzaWJpbGl0eV09XCJsb2FkaW5nID8gJ3Zpc2libGUnOidoaWRkZW4nXCI+PC9tYXQtcHJvZ3Jlc3MtYmFyPlxyXG48Yml6ZG9jLW5vbmUgKm5nSWY9XCJsb2FkaW5nXCIgdGl0bGU9XCJTZXR0aW5nVGhpbmdzVXBcIiBbc3VidGl0bGVdPVwiUGxlYXNlV2FpdFwiIGljb249XCJhcmNoaXRlY3R1cmVcIj48L2JpemRvYy1ub25lPlxyXG48c2VjdGlvbiAqbmdGb3I9XCJsZXQgcyBvZiBzZWN0aW9uc1wiPlxyXG4gIDxoMiBjbGFzcz1cIm1hdC10aXRsZVwiPnt7cy50eXBlIHwgdHJhbnNsYXRlfX08L2gyPlxyXG4gIDxkaXYgY2xhc3M9XCJlbGVtZW50c1wiIGNka0Ryb3BMaXN0IGNka0Ryb3BMaXN0T3JpZW50YXRpb249XCJob3Jpem9udGFsXCIgW2Nka0Ryb3BMaXN0RGF0YV09XCJzLmVsZW1lbnRzXCIgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJkcm9wKCRldmVudClcIj5cclxuICAgIDxtYXQtY2FyZCAqbmdGb3I9XCJsZXQgZSBvZiBzLmVsZW1lbnRzXCIgW2NsYXNzLmRpc2FibGVkXT1cImUuZGlzYWJsZWRcIiBjZGtEcmFnIGNka0RyYWdSb290RWxlbWVudD1cIi5tYXQtY2FyZC10aXRsZVwiPlxyXG4gICAgICA8IS0tIEBpdGVtLS0+XHJcbiAgICAgIDxtYXQtY2FyZC10aXRsZT5cclxuICAgICAgICB7e2UudGl0bGV8bG9jYWxpemVkU3RyaW5nfX1cclxuICAgICAgICA8c3BhbiBjbGFzcz1cImRpdmlkZXJcIj48L3NwYW4+XHJcbiAgICAgICAgPG1hdC1pY29uIFtiaXpkb2NUb29sdGlwXT1cImUuaGVscFwiIFtiaXpkb2NUb29sdGlwRHVyYXRpb25dPVwiNjAwMFwiICpuZ0lmPVwiZS5oZWxwXCI+aGVscF9vdXRsaW5lPC9tYXQtaWNvbj5cclxuICAgICAgPC9tYXQtY2FyZC10aXRsZT5cclxuICAgICAgPG1hdC1jYXJkLXN1YnRpdGxlPlxyXG4gICAgICAgIHt7ZS5uYW1lfX1cclxuICAgICAgPC9tYXQtY2FyZC1zdWJ0aXRsZT5cclxuICAgICAgPG1hdC1jYXJkLWNvbnRlbnQ+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdDb21wb25lbnRPdXRsZXQ9XCJzLmNvbXA7IGluamVjdG9yOiBlLmluamVjdG9yXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvbWF0LWNhcmQtY29udGVudD5cclxuICAgICAgPG1hdC1jYXJkLWFjdGlvbnMgZnhMYXlvdXQ9XCJyb3dcIj5cclxuICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiY29weShzLCBlKVwiICpuZ0lmPVwiIWUuY29weU9mXCIgW2JpemRvY1Rvb2x0aXBdPVwiJ0NvcHknfHRyYW5zbGF0ZVwiPjxtYXQtaWNvbj5maWxlX2NvcHk8L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJzLmVsZW1lbnRzLnJlbW92ZShlKVwiICpuZ0lmPVwiZS5kcmFmdCB8fCBlLmVtcHR5XCIgW2JpemRvY1Rvb2x0aXBdPVwiJ0Rpc2NhcmQnfHRyYW5zbGF0ZVwiPjxtYXQtaWNvbj5kZWxldGU8L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJ0b2dnbGVEaXNhYmxlZChlKVwiIFtiaXpkb2NUb29sdGlwXT1cIihlLmRpc2FibGVkID8gJ0VuYWJsZScgOiAnRGlzYWJsZScpfHRyYW5zbGF0ZVwiPjxtYXQtaWNvbj57e2UuZGlzYWJsZWQgPyAndmlzaWJpbGl0eScgOiAndmlzaWJpbGl0eV9vZmYnfX08L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZGl2aWRlclwiPjwvc3Bhbj5cclxuICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiZWRpdChlLCBzKVwiIFtiaXpkb2NUb29sdGlwXT1cIidTZXR0aW5ncyd8dHJhbnNsYXRlXCI+PG1hdC1pY29uPnNldHRpbmdzPC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICAgICAgPC9tYXQtY2FyZC1hY3Rpb25zPlxyXG4gICAgPC9tYXQtY2FyZD5cclxuICAgIDxkaXYgY2xhc3M9XCJhZGQtZWxlbWVudFwiIG1hdFJpcHBsZSAoY2xpY2spPVwiYWRkKHMsIG1lbnVUcmlnZ2VyLCAkZXZlbnQpXCIgKm5nSWY9XCJzLnRlbXBsYXRlcz8ubGVuZ3RoXCI+XHJcbiAgICAgIDxzcGFuIFttYXRNZW51VHJpZ2dlckZvcl09XCJ0ZW1wbGF0ZU1lbnVcIiAjbWVudVRyaWdnZXI9XCJtYXRNZW51VHJpZ2dlclwiPjwvc3Bhbj5cclxuICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24+PG1hdC1pY29uIFtiaXpkb2NUb29sdGlwXT1cIidOZXcnfHRyYW5zbGF0ZVwiIGRpc2FibGVSaXBwbGU9XCJ0cnVlXCI+YWRkPC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICAgICAgPG1hdC1tZW51ICN0ZW1wbGF0ZU1lbnU+XHJcbiAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtICpuZ0Zvcj1cImxldCB0IG9mIHMudGVtcGxhdGVzXCIgKGNsaWNrKT1cImNyZWF0ZShzLCB0KVwiPlxyXG4gICAgICAgICAgPHNwYW4gKm5nSWY9XCJ0LmZhbWlseVwiPlxyXG4gICAgICAgICAgICB7e3QuZmFtaWx5fX1cclxuICAgICAgICAgICAgJm5ic3A7LSZuYnNwO1xyXG4gICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgPHNwYW4+XHJcbiAgICAgICAgICAgIHt7dC50aXRsZX19XHJcbiAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgIDwvbWF0LW1lbnU+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9zZWN0aW9uPlxyXG4iXX0=
|