@bizdoc/core 3.2.9 → 3.3.2
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 +3 -3
- 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 +8 -8
- package/assets/themes/green.min.css +1 -1
- package/assets/themes/indigo-amber.min.css +1 -1
- package/assets/themes/indigo.min.css +1 -1
- package/fesm2022/bizdoc-core.mjs +2152 -1924
- package/fesm2022/bizdoc-core.mjs.map +1 -1
- package/lib/admin/admin-menu.component.d.ts +1 -3
- package/lib/admin/architecture/designer.base.d.ts +3 -3
- package/lib/admin/architecture/elements/form.component.d.ts +1 -1
- package/lib/bizdoc.module.d.ts +6 -7
- package/lib/compose/trace/trace.base.d.ts +1 -1
- package/lib/core/base.d.ts +5 -0
- package/lib/core/configuration.d.ts +3 -0
- package/lib/core/fields/options.base.d.ts +2 -2
- package/lib/core/functions.d.ts +1 -1
- package/lib/core/inputs/combination-picker-body.d.ts +0 -2
- package/lib/core/inputs/combination-picker.d.ts +1 -1
- package/lib/core/session.service.d.ts +2 -2
- package/lib/core/slots/slots.component.d.ts +1 -0
- package/lib/core/tagging/edit-input.component.d.ts +7 -3
- package/lib/core/tagging/tagging.component-base.d.ts +2 -2
- package/lib/core/translate.service.d.ts +2 -2
- package/lib/core/window-title.service.d.ts +1 -0
- package/lib/cube/matrix/matrix.base.d.ts +1 -1
- package/lib/cube/view-base.d.ts +1 -1
- package/lib/dashboard/cube/cube-analysis.base.d.ts +1 -1
- package/lib/home/home-base.component.d.ts +1 -1
- package/lib/home/home.desktop.component.d.ts +5 -3
- package/lib/notifications/types/notification-base.d.ts +1 -1
- package/lib/reports/cube/usage-base.d.ts +1 -1
- package/lib/routes.mobile.d.ts +1 -1
- package/lib/views/cube/cube-base.d.ts +1 -1
- package/package.json +31 -33
- package/esm2022/bizdoc-core.mjs +0 -5
- package/esm2022/lib/admin/admin-dismiss.service.mjs +0 -28
- package/esm2022/lib/admin/admin-menu.component.mjs +0 -24
- package/esm2022/lib/admin/architecture/cube-axes-filter.component.mjs +0 -93
- package/esm2022/lib/admin/architecture/declarations.mjs +0 -79
- package/esm2022/lib/admin/architecture/designer-element.component.mjs +0 -270
- package/esm2022/lib/admin/architecture/designer-privileges.component.mjs +0 -96
- package/esm2022/lib/admin/architecture/designer.base.mjs +0 -136
- package/esm2022/lib/admin/architecture/designer.component.mjs +0 -396
- package/esm2022/lib/admin/architecture/elements/action.component.mjs +0 -43
- package/esm2022/lib/admin/architecture/elements/analysis-view.component.mjs +0 -50
- package/esm2022/lib/admin/architecture/elements/analysis-widget.component.mjs +0 -49
- package/esm2022/lib/admin/architecture/elements/anomaly-rule.component.mjs +0 -29
- package/esm2022/lib/admin/architecture/elements/attribute.component.mjs +0 -35
- package/esm2022/lib/admin/architecture/elements/box-form.component.mjs +0 -49
- package/esm2022/lib/admin/architecture/elements/configuration-datasource.component.mjs +0 -66
- package/esm2022/lib/admin/architecture/elements/control.component.mjs +0 -21
- package/esm2022/lib/admin/architecture/elements/cube-index-utility.component.mjs +0 -32
- package/esm2022/lib/admin/architecture/elements/cube-view.component.mjs +0 -34
- package/esm2022/lib/admin/architecture/elements/cube.component.mjs +0 -254
- package/esm2022/lib/admin/architecture/elements/document-state-widget.component.mjs +0 -40
- package/esm2022/lib/admin/architecture/elements/documents-report.component.mjs +0 -34
- package/esm2022/lib/admin/architecture/elements/documents-widget.component.mjs +0 -40
- package/esm2022/lib/admin/architecture/elements/explore-view.component.mjs +0 -35
- package/esm2022/lib/admin/architecture/elements/folder.component.mjs +0 -56
- package/esm2022/lib/admin/architecture/elements/form-invite.dialog.mjs +0 -126
- package/esm2022/lib/admin/architecture/elements/form.component.mjs +0 -156
- package/esm2022/lib/admin/architecture/elements/guide.component.mjs +0 -53
- package/esm2022/lib/admin/architecture/elements/job.component.mjs +0 -57
- package/esm2022/lib/admin/architecture/elements/matrix-view.component.mjs +0 -98
- package/esm2022/lib/admin/architecture/elements/node.component.mjs +0 -18
- package/esm2022/lib/admin/architecture/elements/parallel-view.component.mjs +0 -38
- package/esm2022/lib/admin/architecture/elements/performance-report.component.mjs +0 -32
- package/esm2022/lib/admin/architecture/elements/performance-widget.component.mjs +0 -34
- package/esm2022/lib/admin/architecture/elements/pivot-view.component.mjs +0 -40
- package/esm2022/lib/admin/architecture/elements/policy.component.mjs +0 -18
- package/esm2022/lib/admin/architecture/elements/report.component.mjs +0 -29
- package/esm2022/lib/admin/architecture/elements/return-to-role-action.component.mjs +0 -33
- package/esm2022/lib/admin/architecture/elements/role.component.mjs +0 -43
- package/esm2022/lib/admin/architecture/elements/rule.component.mjs +0 -18
- package/esm2022/lib/admin/architecture/elements/source.component.mjs +0 -25
- package/esm2022/lib/admin/architecture/elements/state.component.mjs +0 -44
- package/esm2022/lib/admin/architecture/elements/sum-view.component.mjs +0 -38
- package/esm2022/lib/admin/architecture/elements/tasks-report.component.mjs +0 -39
- package/esm2022/lib/admin/architecture/elements/type.component.mjs +0 -83
- package/esm2022/lib/admin/architecture/elements/usage-report.component.mjs +0 -64
- package/esm2022/lib/admin/architecture/elements/utility.component.mjs +0 -18
- package/esm2022/lib/admin/architecture/elements/view.component.mjs +0 -18
- package/esm2022/lib/admin/architecture/elements/widget.component.mjs +0 -29
- package/esm2022/lib/admin/architecture/icon-picker.component.mjs +0 -173
- package/esm2022/lib/admin/core/ace.input.mjs +0 -144
- package/esm2022/lib/admin/core/color-picker.input.mjs +0 -183
- package/esm2022/lib/admin/core/localized-string.component.mjs +0 -129
- package/esm2022/lib/admin/core/search.input.mjs +0 -52
- package/esm2022/lib/admin/diff/configuration-diff.component.mjs +0 -573
- package/esm2022/lib/admin/document-trace/document-trace.component.mjs +0 -537
- package/esm2022/lib/admin/document-trace/reassign.dialog.mjs +0 -39
- package/esm2022/lib/admin/document-trace/timeline.mjs +0 -2
- package/esm2022/lib/admin/document-trace/trace-element.component.mjs +0 -125
- package/esm2022/lib/admin/form/designer/box-designer.component.mjs +0 -270
- package/esm2022/lib/admin/form/designer/declarations.mjs +0 -2
- package/esm2022/lib/admin/form/designer/design-control.component.mjs +0 -41
- package/esm2022/lib/admin/form/designer/properties.component.mjs +0 -71
- package/esm2022/lib/admin/form/designer/section.component.mjs +0 -53
- package/esm2022/lib/admin/form/designer/settings.component.mjs +0 -51
- package/esm2022/lib/admin/form/form.resolve.service.mjs +0 -18
- package/esm2022/lib/admin/form/workflow/node-ref.mjs +0 -8
- package/esm2022/lib/admin/form/workflow/node.component.mjs +0 -156
- package/esm2022/lib/admin/form/workflow/role-node.component.mjs +0 -88
- package/esm2022/lib/admin/form/workflow/workflow.component.mjs +0 -586
- package/esm2022/lib/admin/indices/manage-cube-index.component.mjs +0 -160
- package/esm2022/lib/admin/patterns/patterns.component.mjs +0 -180
- package/esm2022/lib/admin/permissions/permissions.component.mjs +0 -98
- package/esm2022/lib/admin/positions/positions-popup.component.mjs +0 -75
- package/esm2022/lib/admin/positions/positions.component.mjs +0 -463
- package/esm2022/lib/admin/profiler/outofoffice.component.mjs +0 -156
- package/esm2022/lib/admin/profiler/profiler.component.mjs +0 -284
- package/esm2022/lib/admin/system.service.mjs +0 -127
- package/esm2022/lib/admin/utility-ref.mjs +0 -39
- package/esm2022/lib/admin/utility-wrapper.component.mjs +0 -53
- package/esm2022/lib/admin/utility.pane.component.mjs +0 -48
- package/esm2022/lib/app.component.mjs +0 -73
- package/esm2022/lib/bizdoc.module.mjs +0 -100
- package/esm2022/lib/browse/browse-items.component.mjs +0 -496
- package/esm2022/lib/browse/browse.mobile.component.mjs +0 -102
- package/esm2022/lib/browse/browse.pane.component.mjs +0 -169
- package/esm2022/lib/browse/expanded-item/expanded-item.component.mjs +0 -316
- package/esm2022/lib/browse/filter/filter.component.mjs +0 -140
- package/esm2022/lib/browse/folders-menu.component.mjs +0 -49
- package/esm2022/lib/chat/chat-info.mjs +0 -77
- package/esm2022/lib/chat/chat.mobile.component.mjs +0 -24
- package/esm2022/lib/chat/chat.service.mjs +0 -122
- package/esm2022/lib/chat/contacts.component.mjs +0 -107
- package/esm2022/lib/chat/contacts.pane.component.mjs +0 -26
- package/esm2022/lib/chat/conversation.component.mjs +0 -196
- package/esm2022/lib/chat/conversation.pane.component.mjs +0 -46
- package/esm2022/lib/compose/action/action-picker.component.mjs +0 -82
- package/esm2022/lib/compose/action/action-ref.mjs +0 -19
- package/esm2022/lib/compose/action/action.base.mjs +0 -50
- package/esm2022/lib/compose/action/action.dialog.mjs +0 -62
- package/esm2022/lib/compose/action/action.pane.dialog.exp.mjs +0 -68
- package/esm2022/lib/compose/action/assign-action.component.mjs +0 -77
- package/esm2022/lib/compose/action/moveto-action.component.mjs +0 -90
- package/esm2022/lib/compose/action/return-action.component.mjs +0 -51
- package/esm2022/lib/compose/attachments/attachments.component.mjs +0 -130
- package/esm2022/lib/compose/attachments/preview/attachment-preview.component.mjs +0 -157
- package/esm2022/lib/compose/attachments/progress-button.directive.mjs +0 -25
- package/esm2022/lib/compose/box/box.component.mjs +0 -44
- package/esm2022/lib/compose/box/control.component.mjs +0 -50
- package/esm2022/lib/compose/box/row.component.mjs +0 -41
- package/esm2022/lib/compose/can-deactivate-changes.service.mjs +0 -27
- package/esm2022/lib/compose/comments/comment.component.mjs +0 -188
- package/esm2022/lib/compose/comments/comments.component.mjs +0 -226
- package/esm2022/lib/compose/comments/comments.pane.component.mjs +0 -40
- package/esm2022/lib/compose/comments/edit-comment.component.mjs +0 -32
- package/esm2022/lib/compose/comments/edits.component.mjs +0 -30
- package/esm2022/lib/compose/comments/quick-comment.component.exp.mjs +0 -64
- package/esm2022/lib/compose/comments/votes.component.mjs +0 -42
- package/esm2022/lib/compose/compose-resolve.service.mjs +0 -34
- package/esm2022/lib/compose/compose.mobile.component.mjs +0 -114
- package/esm2022/lib/compose/compose.pane.component.mjs +0 -202
- package/esm2022/lib/compose/copy/copy.dialog.mjs +0 -45
- package/esm2022/lib/compose/dismiss.service.mjs +0 -25
- package/esm2022/lib/compose/document-resolve.service.mjs +0 -33
- package/esm2022/lib/compose/document-resolver.service.mjs +0 -17
- package/esm2022/lib/compose/document.component.mjs +0 -48
- package/esm2022/lib/compose/document.mobile.component.mjs +0 -23
- package/esm2022/lib/compose/document.pane.component.mjs +0 -27
- package/esm2022/lib/compose/events/events.component.mjs +0 -29
- package/esm2022/lib/compose/form-ref.mjs +0 -43
- package/esm2022/lib/compose/form-selector/form-selector.sheet.mjs +0 -57
- package/esm2022/lib/compose/form.component.mjs +0 -512
- package/esm2022/lib/compose/new-menu.component.mjs +0 -94
- package/esm2022/lib/compose/overlay.component.exp.mjs +0 -71
- package/esm2022/lib/compose/privilage.directive.mjs +0 -64
- package/esm2022/lib/compose/recipient-resolver.service.mjs +0 -18
- package/esm2022/lib/compose/state.component.mjs +0 -37
- package/esm2022/lib/compose/tag/tags.component.mjs +0 -89
- package/esm2022/lib/compose/trace/flow.component.mjs +0 -687
- package/esm2022/lib/compose/trace/people.component.mjs +0 -39
- package/esm2022/lib/compose/trace/trace.base.mjs +0 -79
- package/esm2022/lib/compose/trace/trace.component.mjs +0 -353
- package/esm2022/lib/compose/trace/trace.pane.component.mjs +0 -48
- package/esm2022/lib/compose/version-compare/version-compare.component.mjs +0 -58
- package/esm2022/lib/compose/version-compare/version-compare.directive.mjs +0 -345
- package/esm2022/lib/compose/version-compare/version.pane.component.mjs +0 -53
- package/esm2022/lib/core/account.service.mjs +0 -38
- package/esm2022/lib/core/animated-icon/animated-icon.directive.mjs +0 -17
- package/esm2022/lib/core/animations.mjs +0 -168
- package/esm2022/lib/core/authentication.mjs +0 -4
- package/esm2022/lib/core/avatar/avatar.component.mjs +0 -111
- package/esm2022/lib/core/base.mjs +0 -2
- package/esm2022/lib/core/checkbox.mjs +0 -38
- package/esm2022/lib/core/colors.mjs +0 -322
- package/esm2022/lib/core/component-factory-resolver.mjs +0 -48
- package/esm2022/lib/core/configuration.mjs +0 -17
- package/esm2022/lib/core/datasource.service.mjs +0 -75
- package/esm2022/lib/core/decorators.mjs +0 -46
- package/esm2022/lib/core/document-factory.service.mjs +0 -156
- package/esm2022/lib/core/fields/address.designer.mjs +0 -39
- package/esm2022/lib/core/fields/address.field.mjs +0 -65
- package/esm2022/lib/core/fields/autocomplete.field.mjs +0 -136
- package/esm2022/lib/core/fields/axes-picker.designer.mjs +0 -59
- package/esm2022/lib/core/fields/axes-picker.field.mjs +0 -46
- package/esm2022/lib/core/fields/checkbox.designer.mjs +0 -38
- package/esm2022/lib/core/fields/checkbox.field.mjs +0 -35
- package/esm2022/lib/core/fields/checklist.designer.mjs +0 -98
- package/esm2022/lib/core/fields/checklist.field.mjs +0 -36
- package/esm2022/lib/core/fields/date-range.designer.mjs +0 -43
- package/esm2022/lib/core/fields/date-range.field.mjs +0 -46
- package/esm2022/lib/core/fields/date.designer.mjs +0 -40
- package/esm2022/lib/core/fields/date.field.mjs +0 -40
- package/esm2022/lib/core/fields/expression.field.mjs +0 -87
- package/esm2022/lib/core/fields/file.designer.mjs +0 -39
- package/esm2022/lib/core/fields/file.field.mjs +0 -35
- package/esm2022/lib/core/fields/html.designer.mjs +0 -61
- package/esm2022/lib/core/fields/html.field.mjs +0 -44
- package/esm2022/lib/core/fields/input.designer.mjs +0 -38
- package/esm2022/lib/core/fields/input.field.mjs +0 -54
- package/esm2022/lib/core/fields/localized-string.field.mjs +0 -49
- package/esm2022/lib/core/fields/numeric.designer.mjs +0 -72
- package/esm2022/lib/core/fields/numeric.field.mjs +0 -37
- package/esm2022/lib/core/fields/options.base.mjs +0 -41
- package/esm2022/lib/core/fields/options.component.mjs +0 -58
- package/esm2022/lib/core/fields/radio-button.designer.mjs +0 -39
- package/esm2022/lib/core/fields/radio-button.field.mjs +0 -33
- package/esm2022/lib/core/fields/select.designer.mjs +0 -104
- package/esm2022/lib/core/fields/select.field.mjs +0 -36
- package/esm2022/lib/core/fields/signature.designer.mjs +0 -37
- package/esm2022/lib/core/fields/signature.field.mjs +0 -52
- package/esm2022/lib/core/fields/switch.field.mjs +0 -35
- package/esm2022/lib/core/fields/tags.designer.mjs +0 -28
- package/esm2022/lib/core/fields/tags.field.mjs +0 -51
- package/esm2022/lib/core/fields/textarea.designer.mjs +0 -33
- package/esm2022/lib/core/fields/textarea.field.mjs +0 -37
- package/esm2022/lib/core/fields/time.designer.mjs +0 -41
- package/esm2022/lib/core/fields/time.field.mjs +0 -39
- package/esm2022/lib/core/fields/timespan.field.mjs +0 -82
- package/esm2022/lib/core/fields/yesno.designer.mjs +0 -52
- package/esm2022/lib/core/fields/yesno.field.mjs +0 -34
- package/esm2022/lib/core/firebase.service.mjs +0 -51
- package/esm2022/lib/core/functions.mjs +0 -225
- package/esm2022/lib/core/guide/guide.component.mjs +0 -220
- package/esm2022/lib/core/guide/guide.service.mjs +0 -124
- package/esm2022/lib/core/guide/help-tip.component.mjs +0 -52
- package/esm2022/lib/core/http.interceptor.mjs +0 -63
- package/esm2022/lib/core/hub.service.mjs +0 -117
- package/esm2022/lib/core/identity/identity.component.mjs +0 -66
- package/esm2022/lib/core/info/attachment-info.service.mjs +0 -53
- package/esm2022/lib/core/info/document-info.service.mjs +0 -21
- package/esm2022/lib/core/info/location-info.component.mjs +0 -60
- package/esm2022/lib/core/info/map-info.mjs +0 -42
- package/esm2022/lib/core/inputs/address.input.mjs +0 -203
- package/esm2022/lib/core/inputs/auto-complete.input.mjs +0 -273
- package/esm2022/lib/core/inputs/combination-picker-body.mjs +0 -171
- package/esm2022/lib/core/inputs/combination-picker.mjs +0 -285
- package/esm2022/lib/core/inputs/combination-pool.mjs +0 -105
- package/esm2022/lib/core/inputs/file.input.mjs +0 -432
- package/esm2022/lib/core/inputs/select.input.mjs +0 -254
- package/esm2022/lib/core/inputs/signature.input.mjs +0 -150
- package/esm2022/lib/core/inputs/time-picker.mjs +0 -195
- package/esm2022/lib/core/inputs/timespan.input.mjs +0 -180
- package/esm2022/lib/core/layout.component.mjs +0 -93
- package/esm2022/lib/core/lottie-animation.exp.mjs +0 -49
- package/esm2022/lib/core/mailbox.service.mjs +0 -445
- package/esm2022/lib/core/models.mjs +0 -25
- package/esm2022/lib/core/none.component.mjs +0 -37
- package/esm2022/lib/core/pipes/action.pipe.mjs +0 -25
- package/esm2022/lib/core/pipes/calendar.pipe.mjs +0 -72
- package/esm2022/lib/core/pipes/date-format.pipe.mjs +0 -19
- package/esm2022/lib/core/pipes/daterange.pipe.mjs +0 -62
- package/esm2022/lib/core/pipes/difference.pipe.mjs +0 -15
- package/esm2022/lib/core/pipes/duration-format.pipe.mjs +0 -48
- package/esm2022/lib/core/pipes/duration.pipe.mjs +0 -19
- package/esm2022/lib/core/pipes/filter.pipe.mjs +0 -25
- package/esm2022/lib/core/pipes/form.pipe.mjs +0 -25
- package/esm2022/lib/core/pipes/join.pipe.mjs +0 -18
- package/esm2022/lib/core/pipes/localized-string.pipe.mjs +0 -26
- package/esm2022/lib/core/pipes/role.pipe.mjs +0 -25
- package/esm2022/lib/core/pipes/sanitize-html.pipe.mjs +0 -18
- package/esm2022/lib/core/pipes/sort.pipe.mjs +0 -42
- package/esm2022/lib/core/pipes/state.pipe.mjs +0 -25
- package/esm2022/lib/core/pipes/time-ago.pipe.mjs +0 -51
- package/esm2022/lib/core/pipes/to-now.pipe.mjs +0 -66
- package/esm2022/lib/core/pipes/translate.pipe.mjs +0 -58
- package/esm2022/lib/core/pipes/type-value.pipe.mjs +0 -42
- package/esm2022/lib/core/pipes/user-name.pipe.mjs +0 -21
- package/esm2022/lib/core/popup/popup-ref.mjs +0 -20
- package/esm2022/lib/core/popup/popup.component.mjs +0 -36
- package/esm2022/lib/core/popup/popup.service.mjs +0 -158
- package/esm2022/lib/core/popup/tooltip.directive.mjs +0 -81
- package/esm2022/lib/core/prompt/ask/ask.dialog.mjs +0 -29
- package/esm2022/lib/core/prompt/mask/mask.component.mjs +0 -21
- package/esm2022/lib/core/prompt.service.mjs +0 -88
- package/esm2022/lib/core/router.mjs +0 -37
- package/esm2022/lib/core/save-changes.dialog.mjs +0 -18
- package/esm2022/lib/core/session.service.mjs +0 -291
- package/esm2022/lib/core/slots/pane-ref.mjs +0 -152
- package/esm2022/lib/core/slots/router.directive.mjs +0 -68
- package/esm2022/lib/core/slots/router.service.mjs +0 -40
- package/esm2022/lib/core/slots/slots.component.mjs +0 -1191
- package/esm2022/lib/core/sticky-toolbar.exp.mjs +0 -33
- package/esm2022/lib/core/tagging/documents.component.mjs +0 -25
- package/esm2022/lib/core/tagging/edit-input.component.mjs +0 -231
- package/esm2022/lib/core/tagging/emoji.component.mjs +0 -35
- package/esm2022/lib/core/tagging/tagging-item.directive.mjs +0 -39
- package/esm2022/lib/core/tagging/tagging.component-base.mjs +0 -29
- package/esm2022/lib/core/tagging/tagging.directive.mjs +0 -137
- package/esm2022/lib/core/tagging/tagging.pipe.mjs +0 -72
- package/esm2022/lib/core/tagging/users.component.mjs +0 -32
- package/esm2022/lib/core/translate.service.mjs +0 -125
- package/esm2022/lib/core/translations.mjs +0 -1068
- package/esm2022/lib/core/virtual-tabs.component.exp.mjs +0 -84
- package/esm2022/lib/core/window-title.service.mjs +0 -61
- package/esm2022/lib/cube/accum/accum.component.mjs +0 -262
- package/esm2022/lib/cube/chart/chart.component.mjs +0 -345
- package/esm2022/lib/cube/cube-info.service.mjs +0 -103
- package/esm2022/lib/cube/cube-menu.component.mjs +0 -25
- package/esm2022/lib/cube/cube-view.component.mjs +0 -186
- package/esm2022/lib/cube/cube.service.mjs +0 -446
- package/esm2022/lib/cube/declarations.mjs +0 -2
- package/esm2022/lib/cube/explore/document-item.component.mjs +0 -38
- package/esm2022/lib/cube/explore/explore-item.component.mjs +0 -27
- package/esm2022/lib/cube/explore/explore-items.component.mjs +0 -193
- package/esm2022/lib/cube/explore/explore.pane.component.mjs +0 -78
- package/esm2022/lib/cube/explore/item-resolver.service.mjs +0 -30
- package/esm2022/lib/cube/explore/item.pane.component.mjs +0 -21
- package/esm2022/lib/cube/filter/filter-tags.component.exp.mjs +0 -75
- package/esm2022/lib/cube/filter/filter.component.mjs +0 -137
- package/esm2022/lib/cube/grid/grid.component.mjs +0 -210
- package/esm2022/lib/cube/matrix/matrix.base.mjs +0 -124
- package/esm2022/lib/cube/matrix/matrix.mobile.component.mjs +0 -67
- package/esm2022/lib/cube/matrix/matrix.pane.component.mjs +0 -78
- package/esm2022/lib/cube/matrix/popup.component.mjs +0 -70
- package/esm2022/lib/cube/matrix/table.component.mjs +0 -512
- package/esm2022/lib/cube/parallel/item.mjs +0 -40
- package/esm2022/lib/cube/parallel/parallel.component.mjs +0 -162
- package/esm2022/lib/cube/pivot/pivot.component.mjs +0 -564
- package/esm2022/lib/cube/spreadsheet/spreadsheet.component.mjs +0 -382
- package/esm2022/lib/cube/spreadsheet/spreadsheet.container.exp.mjs +0 -19
- package/esm2022/lib/cube/sum/sum.component.mjs +0 -403
- package/esm2022/lib/cube/view-base.mjs +0 -74
- package/esm2022/lib/cube/view.mobile.component.mjs +0 -121
- package/esm2022/lib/cube/view.pane.component.mjs +0 -99
- package/esm2022/lib/dashboard/actions/actions.widget.mjs +0 -127
- package/esm2022/lib/dashboard/cube/accum-cube.widget.mjs +0 -151
- package/esm2022/lib/dashboard/cube/compare.widget.mjs +0 -216
- package/esm2022/lib/dashboard/cube/cube-analysis.base.mjs +0 -117
- package/esm2022/lib/dashboard/cube/cube-analysis.widget.mjs +0 -50
- package/esm2022/lib/dashboard/cube/cube-chart.widget.mjs +0 -146
- package/esm2022/lib/dashboard/cube/document-state.widget.mjs +0 -85
- package/esm2022/lib/dashboard/cube/documents.widget.mjs +0 -66
- package/esm2022/lib/dashboard/cube/filter/filter.component.mjs +0 -61
- package/esm2022/lib/dashboard/dashboard.component.mjs +0 -67
- package/esm2022/lib/dashboard/dashboard.pane.component.mjs +0 -18
- package/esm2022/lib/dashboard/recents/recents.widget.mjs +0 -98
- package/esm2022/lib/dashboard/score/activity.widget.mjs +0 -177
- package/esm2022/lib/dashboard/score/compare-groups.widget.mjs +0 -215
- package/esm2022/lib/dashboard/score/peers-performance.widget.mjs +0 -251
- package/esm2022/lib/dashboard/score/pending-results.widget.mjs +0 -59
- package/esm2022/lib/dashboard/score/personal-score.widget.mjs +0 -222
- package/esm2022/lib/dashboard/widget-item.component.mjs +0 -91
- package/esm2022/lib/dashboard/widget-ref.mjs +0 -18
- package/esm2022/lib/designer.module.mjs +0 -106
- package/esm2022/lib/desktop.module.mjs +0 -140
- package/esm2022/lib/home/about/about.dialog.mjs +0 -25
- package/esm2022/lib/home/home-base.component.mjs +0 -92
- package/esm2022/lib/home/home.desktop.component.mjs +0 -286
- package/esm2022/lib/home/home.mobile.component.mjs +0 -131
- package/esm2022/lib/home/notifications/notifications.component.mjs +0 -64
- package/esm2022/lib/home/outofoffice/outofoffice.component.mjs +0 -37
- package/esm2022/lib/home/sign/sign.component.mjs +0 -56
- package/esm2022/lib/impersonate/impersonate.component.mjs +0 -77
- package/esm2022/lib/mobile.module.mjs +0 -61
- package/esm2022/lib/modules/chart.module.mjs +0 -44
- package/esm2022/lib/modules/circular-gauge.module.mjs +0 -20
- package/esm2022/lib/modules/date.adapter.mjs +0 -23
- package/esm2022/lib/modules/datepicker.intl.mjs +0 -41
- package/esm2022/lib/modules/dayjs.module.mjs +0 -43
- package/esm2022/lib/modules/diagram.module.mjs +0 -39
- package/esm2022/lib/modules/gantt.module.mjs +0 -22
- package/esm2022/lib/modules/grid.module.mjs +0 -26
- package/esm2022/lib/modules/linear-gauge.module.mjs +0 -17
- package/esm2022/lib/modules/material.module.mjs +0 -182
- package/esm2022/lib/modules/paginator.intl.mjs +0 -21
- package/esm2022/lib/modules/pivot.module.mjs +0 -24
- package/esm2022/lib/modules/schedule.module.mjs +0 -24
- package/esm2022/lib/modules/spreadsheet.module.mjs +0 -28
- package/esm2022/lib/modules/stepper.intl.mjs +0 -17
- package/esm2022/lib/modules/texteditor.module.mjs +0 -26
- package/esm2022/lib/notifications/filter.component.mjs +0 -24
- package/esm2022/lib/notifications/notifications-table.component.mjs +0 -105
- package/esm2022/lib/notifications/notifications.component-base.mjs +0 -50
- package/esm2022/lib/notifications/notifications.mobile.component.mjs +0 -20
- package/esm2022/lib/notifications/notifications.pane.component.mjs +0 -21
- package/esm2022/lib/notifications/notifications.service.mjs +0 -78
- package/esm2022/lib/notifications/types/commented.notification.mjs +0 -60
- package/esm2022/lib/notifications/types/cube-anomaly.notification.mjs +0 -58
- package/esm2022/lib/notifications/types/escalated.notification.mjs +0 -33
- package/esm2022/lib/notifications/types/invite.notification.mjs +0 -45
- package/esm2022/lib/notifications/types/liked.notification.mjs +0 -58
- package/esm2022/lib/notifications/types/long-running-task.notification.mjs +0 -31
- package/esm2022/lib/notifications/types/notification-base.mjs +0 -40
- package/esm2022/lib/notifications/types/nudge.notification.mjs +0 -31
- package/esm2022/lib/notifications/types/state-changed.notification.mjs +0 -30
- package/esm2022/lib/notifications/types/tagged.notification.mjs +0 -43
- package/esm2022/lib/notifications/types/text.notification.mjs +0 -23
- package/esm2022/lib/notifications/types/upcoming-event.notification.mjs +0 -36
- package/esm2022/lib/options/options.component.mjs +0 -308
- package/esm2022/lib/options/options.desktop.component.mjs +0 -26
- package/esm2022/lib/options/options.mobile.component.mjs +0 -23
- package/esm2022/lib/reports/arguments-component.mjs +0 -81
- package/esm2022/lib/reports/cube/documents.component.mjs +0 -38
- package/esm2022/lib/reports/cube/grid-documents.component.mjs +0 -72
- package/esm2022/lib/reports/cube/performance-hilo.component.mjs +0 -260
- package/esm2022/lib/reports/cube/performance-wind.component.mjs +0 -269
- package/esm2022/lib/reports/cube/table-documents.component.mjs +0 -57
- package/esm2022/lib/reports/cube/usage-args.component.mjs +0 -62
- package/esm2022/lib/reports/cube/usage-base.mjs +0 -79
- package/esm2022/lib/reports/cube/usage-chart.component.mjs +0 -354
- package/esm2022/lib/reports/cube/usage-pivot.component.mjs +0 -257
- package/esm2022/lib/reports/cube/usage.component.mjs +0 -40
- package/esm2022/lib/reports/report-ref.mjs +0 -38
- package/esm2022/lib/reports/report-viewer.component.mjs +0 -156
- package/esm2022/lib/reports/report.mobile.component.mjs +0 -127
- package/esm2022/lib/reports/report.pane.component.mjs +0 -109
- package/esm2022/lib/reports/reports-menu.component.mjs +0 -24
- package/esm2022/lib/reports/substitution/substitution.component.mjs +0 -39
- package/esm2022/lib/reports/table/table-view.component.mjs +0 -40
- package/esm2022/lib/reports/tasks/tasks.component.mjs +0 -95
- package/esm2022/lib/routes.desktop.mjs +0 -209
- package/esm2022/lib/routes.mobile.mjs +0 -85
- package/esm2022/lib/scheduler/schedule.component.mjs +0 -164
- package/esm2022/lib/scheduler/scheduler.mobile.component.mjs +0 -37
- package/esm2022/lib/scheduler/scheduler.pane.component.mjs +0 -50
- package/esm2022/lib/search/cube.component.mjs +0 -47
- package/esm2022/lib/search/declarations.mjs +0 -7
- package/esm2022/lib/search/document.component.mjs +0 -41
- package/esm2022/lib/search/guide.component.mjs +0 -28
- package/esm2022/lib/search/path.component.mjs +0 -44
- package/esm2022/lib/search/search.service.mjs +0 -155
- package/esm2022/lib/shared.module.mjs +0 -622
- package/esm2022/lib/system.module.mjs +0 -562
- package/esm2022/lib/views/cube/chart.component.mjs +0 -74
- package/esm2022/lib/views/cube/cube-base.mjs +0 -101
- package/esm2022/lib/views/cube/explore.component.mjs +0 -85
- package/esm2022/lib/views/cube/matrix.component.mjs +0 -101
- package/esm2022/lib/views/cube/parallel.component.mjs +0 -53
- package/esm2022/lib/views/cube/pivot.component.mjs +0 -50
- package/esm2022/lib/views/cube/sum.component.mjs +0 -66
- package/esm2022/lib/views/cube/view.component.mjs +0 -101
- package/esm2022/lib/views/document-view-ref.mjs +0 -27
- package/esm2022/lib/views/timeline/timeline.component.mjs +0 -329
- package/esm2022/lib/views/view-item.component.mjs +0 -68
- package/esm2022/lib/views/views.component.mjs +0 -32
- package/esm2022/lib/views/views.mobile.component.mjs +0 -21
- package/esm2022/lib/views/views.pane.component.mjs +0 -29
- package/esm2022/public-api.mjs +0 -182
@@ -1,396 +0,0 @@
|
|
1
|
-
import { __decorate } from "tslib";
|
2
|
-
import { Component, ElementRef, HostListener, Injector, TemplateRef, ViewChild } from "@angular/core";
|
3
|
-
import { moveItemInArray } from "@angular/cdk/drag-drop";
|
4
|
-
import { debounceTime } from "rxjs";
|
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, extractString } 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 { SourceDesignComponent } from "./elements/source.component";
|
28
|
-
import * as i0 from "@angular/core";
|
29
|
-
import * as i1 from "../../core/slots/router.service";
|
30
|
-
import * as i2 from "@angular/forms";
|
31
|
-
import * as i3 from "../../core/translate.service";
|
32
|
-
import * as i4 from "../../core/prompt.service";
|
33
|
-
import * as i5 from "../../core/session.service";
|
34
|
-
import * as i6 from "../../core/popup/popup.service";
|
35
|
-
import * as i7 from "../utility-ref";
|
36
|
-
import * as i8 from "@angular/common";
|
37
|
-
import * as i9 from "../../core/none.component";
|
38
|
-
import * as i10 from "@angular/cdk/drag-drop";
|
39
|
-
import * as i11 from "@angular/material/card";
|
40
|
-
import * as i12 from "@angular/material/core";
|
41
|
-
import * as i13 from "@angular/material/progress-bar";
|
42
|
-
import * as i14 from "@angular/material/toolbar";
|
43
|
-
import * as i15 from "@angular/material/form-field";
|
44
|
-
import * as i16 from "@angular/material/select";
|
45
|
-
import * as i17 from "@angular/material/button";
|
46
|
-
import * as i18 from "@angular/material/input";
|
47
|
-
import * as i19 from "@angular/material/icon";
|
48
|
-
import * as i20 from "@angular/material/menu";
|
49
|
-
import * as i21 from "../../core/popup/tooltip.directive";
|
50
|
-
import * as i22 from "../../core/pipes/localized-string.pipe";
|
51
|
-
import * as i23 from "../../core/pipes/filter.pipe";
|
52
|
-
import * as i24 from "../../core/pipes/sort.pipe";
|
53
|
-
import * as i25 from "../../core/pipes/translate.pipe";
|
54
|
-
const SEARCH_DEBOUNCE = 200;
|
55
|
-
/** */
|
56
|
-
let ConfigurationDesignerComponent = class ConfigurationDesignerComponent {
|
57
|
-
constructor(_panes, _fb, _translate, _ps, _session, _element, _injector, _popup, _ref) {
|
58
|
-
this._panes = _panes;
|
59
|
-
this._fb = _fb;
|
60
|
-
this._translate = _translate;
|
61
|
-
this._ps = _ps;
|
62
|
-
this._session = _session;
|
63
|
-
this._element = _element;
|
64
|
-
this._injector = _injector;
|
65
|
-
this._popup = _popup;
|
66
|
-
this._ref = _ref;
|
67
|
-
this.searchBy = 0;
|
68
|
-
this.loading = true;
|
69
|
-
this.saving = false;
|
70
|
-
this.dirty = false;
|
71
|
-
this.form = this._fb.group({
|
72
|
-
contains: this._fb.control(null),
|
73
|
-
sections: this._fb.control(null),
|
74
|
-
family: this._fb.control(null)
|
75
|
-
});
|
76
|
-
}
|
77
|
-
ngOnInit() {
|
78
|
-
this._ref.populate().subscribe(r => {
|
79
|
-
try {
|
80
|
-
this.model = r;
|
81
|
-
this.sections = [
|
82
|
-
{ elements: r.forms, type: 'Forms', comp: FormDesignComponent, templates: r.tForms },
|
83
|
-
{ elements: r.views, type: 'Insights', comp: ViewDesignComponent, templates: r.tViews },
|
84
|
-
{ elements: r.widgets, type: 'Widgets', comp: WidgetDesignComponent, templates: r.tWidgets },
|
85
|
-
{ elements: r.reports, type: 'Reports', comp: ReportDesignerComponent, templates: r.tReports },
|
86
|
-
{ elements: r.utilities, type: 'Tools', comp: UtilityDesignComponent, templates: r.tUtilities },
|
87
|
-
{ elements: r.cubes, type: 'Cubes', comp: CubeDesignComponent, templates: r.tCubes },
|
88
|
-
{ elements: r.types, type: 'Types', comp: TypeDesignComponent, templates: r.tTypes },
|
89
|
-
{ elements: r.sources, type: 'Sources', comp: SourceDesignComponent },
|
90
|
-
{ elements: r.actions, type: 'Actions', comp: ActionDesignerComponent, templates: r.tActions },
|
91
|
-
{ elements: r.guides, type: 'Guides', comp: GuideDesignComponent, templates: [{ title: this._translate.get('Guide') }] },
|
92
|
-
//{ elements: r.jobs, type: 'Jobs', comp: JobDesignComponent },
|
93
|
-
{ elements: r.folders, type: 'Folders', comp: FolderDesignComponent, templates: [{ title: this._translate.get('Folder') }] },
|
94
|
-
{ elements: r.roles, type: 'Roles', comp: RoleDesignComponent, templates: [{ title: this._translate.get('Role') }] },
|
95
|
-
{ elements: r.states, type: 'States', comp: StateDesignComponent, templates: [{ title: this._translate.get('State') }] },
|
96
|
-
{ elements: r.nodes, type: 'Nodes', comp: NodeDesignerComponent, templates: r.tNodes },
|
97
|
-
{ elements: r.attributes, type: 'Attributes', comp: AttributeDesignComponent, templates: r.tAttributes },
|
98
|
-
{ elements: r.rules, type: 'Rules', comp: RuleDesignComponent, templates: r.tRules },
|
99
|
-
{ elements: r.controls, type: 'Controls', comp: ControlDesignComponent },
|
100
|
-
{ elements: r.policies, type: 'Policies', comp: PolicyDesignComponent, templates: r.tPolicies },
|
101
|
-
];
|
102
|
-
const families = [];
|
103
|
-
for (const s of this.sections) {
|
104
|
-
s.hide = false;
|
105
|
-
s.title = this._translate.get(s.type);
|
106
|
-
for (const e of s.elements) {
|
107
|
-
if (!e.options)
|
108
|
-
e.options = {};
|
109
|
-
if (e.family && families.indexOf(e.family) < 0)
|
110
|
-
families.push(e.family);
|
111
|
-
e.hide = false;
|
112
|
-
e.injector = this._createInjector(e, s.elements, 'widget');
|
113
|
-
}
|
114
|
-
}
|
115
|
-
this.families = families;
|
116
|
-
this.loading = false;
|
117
|
-
}
|
118
|
-
catch (e) {
|
119
|
-
console.log(e);
|
120
|
-
}
|
121
|
-
});
|
122
|
-
// typing keydown listener
|
123
|
-
this._element.nativeElement.focus();
|
124
|
-
}
|
125
|
-
drop(event) {
|
126
|
-
const range = event.container.data.slice(Math.min(event.previousIndex, event.currentIndex), Math.max(event.previousIndex, event.currentIndex)), file = range[0].configurationFile;
|
127
|
-
if
|
128
|
-
// across files
|
129
|
-
(range.slice(1).some(e => e.configurationFile !== file)) {
|
130
|
-
// start ordinal
|
131
|
-
let i = event.container.data[event.currentIndex].ordinal || -1;
|
132
|
-
// set ordinal to items in range
|
133
|
-
range.forEach(e => e.ordinal = i++);
|
134
|
-
// increase other higher than last in range
|
135
|
-
event.container.data.filter(e => e.ordinal && e.ordinal > i).forEach(e => e.ordinal += 1);
|
136
|
-
}
|
137
|
-
else // native order in collection
|
138
|
-
range.forEach(e => e.ordinal = null);
|
139
|
-
moveItemInArray(event.container.data, event.previousIndex, event.currentIndex);
|
140
|
-
}
|
141
|
-
/**
|
142
|
-
* Ctrl-s save
|
143
|
-
* @param event
|
144
|
-
*/
|
145
|
-
handleKeyboardEvent(event) {
|
146
|
-
if (event.ctrlKey && (event.key === 'S' || event.key === 's')) {
|
147
|
-
this.dirty && this.save();
|
148
|
-
event.preventDefault();
|
149
|
-
event.stopPropagation();
|
150
|
-
}
|
151
|
-
else if (event.altKey && event.key === 'q' || event.key === 'Q') {
|
152
|
-
this.openFilter();
|
153
|
-
event.preventDefault();
|
154
|
-
event.stopPropagation();
|
155
|
-
}
|
156
|
-
else if (this.searchBy && event.key === 'Escape')
|
157
|
-
this.clearSearch();
|
158
|
-
}
|
159
|
-
clearSearch() {
|
160
|
-
clearTimeout(this._typingTimer);
|
161
|
-
this.sections.forEach(s => {
|
162
|
-
s.elements.forEach(e => e.hide = false);
|
163
|
-
s.hide = false;
|
164
|
-
});
|
165
|
-
this.form.reset({}, { emitEvent: false });
|
166
|
-
this.searchBy = 0;
|
167
|
-
}
|
168
|
-
/**
|
169
|
-
*
|
170
|
-
* @param evt
|
171
|
-
*/
|
172
|
-
openFilter(evt) {
|
173
|
-
const subscribe = this.form.valueChanges.pipe(debounceTime(SEARCH_DEBOUNCE)).
|
174
|
-
subscribe(e => {
|
175
|
-
const { contains, sections, family } = e;
|
176
|
-
this.sections.forEach(s => {
|
177
|
-
if (sections && sections.length && sections.indexOf(s.type) < 0) {
|
178
|
-
s.hide = true;
|
179
|
-
return;
|
180
|
-
}
|
181
|
-
if (contains &&
|
182
|
-
s.title.toLowerCase().indexOf(contains) > 0 && !family) {
|
183
|
-
s.hide = false;
|
184
|
-
s.elements.
|
185
|
-
forEach(e => e.hide = false);
|
186
|
-
return;
|
187
|
-
}
|
188
|
-
let any = false;
|
189
|
-
s.elements.
|
190
|
-
forEach(e => {
|
191
|
-
if ((!contains || (extractString(e.title) || e.name).toLowerCase().indexOf(contains) > -1)
|
192
|
-
&& (!family || e.family === family)) {
|
193
|
-
e.hide = false;
|
194
|
-
any = true;
|
195
|
-
}
|
196
|
-
else
|
197
|
-
e.hide = true;
|
198
|
-
});
|
199
|
-
if (any) {
|
200
|
-
s.hide = false;
|
201
|
-
return;
|
202
|
-
}
|
203
|
-
if (!s.templates || (!family && !contains)) {
|
204
|
-
s.hide = true;
|
205
|
-
return;
|
206
|
-
}
|
207
|
-
s.hide = !s.templates.find(t => (!contains ||
|
208
|
-
t.title.toLowerCase().indexOf(contains) > -1) &&
|
209
|
-
(!family || t.family === family));
|
210
|
-
});
|
211
|
-
this.searchBy += 1;
|
212
|
-
});
|
213
|
-
const pop = this._popup.open(this.filters, this.filterEl.nativeElement, {
|
214
|
-
data: this.form
|
215
|
-
});
|
216
|
-
pop.opened().subscribe(() => document.querySelector('.popup-panel input')?.focus());
|
217
|
-
pop.
|
218
|
-
closed().
|
219
|
-
subscribe(subscribe.unsubscribe);
|
220
|
-
}
|
221
|
-
/**
|
222
|
-
*
|
223
|
-
* @param section
|
224
|
-
* @param element
|
225
|
-
* @param position
|
226
|
-
*/
|
227
|
-
_insert(section, element, position) {
|
228
|
-
// resolve name & title
|
229
|
-
let i = element.name.lastIndexOf('_'), j = (extractString(element.title)).lastIndexOf(' '), n = 0, name, title;
|
230
|
-
do {
|
231
|
-
n++;
|
232
|
-
name = (i < 0 || isNaN(parseInt(element.name.substring(i + 1))) ? element.name : element.name.substring(0, i)) + '_' + n;
|
233
|
-
title = (j < 0 || isNaN(parseInt(extractString(element.title).substring(j + 1))) ? element.title : extractString(element.title).substring(0, j)) + ' ' + n;
|
234
|
-
} while (section.elements.find(e => e.name === name || e.title === title));
|
235
|
-
element.name = name, element.title = title;
|
236
|
-
// injector
|
237
|
-
const injector = this._createInjector(element, section.elements, 'widget');
|
238
|
-
element.injector = injector;
|
239
|
-
this._open(element, section, 'add').then(() => {
|
240
|
-
// add to array
|
241
|
-
section.elements.splice(position + 1, 0, element);
|
242
|
-
// force render
|
243
|
-
this.searchBy += 1;
|
244
|
-
});
|
245
|
-
}
|
246
|
-
/**
|
247
|
-
*
|
248
|
-
* @param element
|
249
|
-
* @param section
|
250
|
-
* @param mode
|
251
|
-
* @returns
|
252
|
-
*/
|
253
|
-
_open(element, section, mode) {
|
254
|
-
let eclone = { ...element };
|
255
|
-
delete eclone.injector;
|
256
|
-
eclone = clone(eclone); // deep
|
257
|
-
const injector = this._createInjector(eclone, section.elements, mode);
|
258
|
-
return new Promise((resolve, reject) => this._panes.navigate(section.comp, {
|
259
|
-
policy: mode === 'add' ? OpenPolicy.Dialog : OpenPolicy.Tab & ~OpenPolicy.Dismissable
|
260
|
-
| OpenPolicy.Toggle | OpenPolicy.Defer,
|
261
|
-
group: this._translate.get(section.title),
|
262
|
-
//title,
|
263
|
-
injector: injector
|
264
|
-
}).then(pane => pane.instance.designer.onSave.subscribe(el => {
|
265
|
-
if (el) {
|
266
|
-
Object.assign(element, el);
|
267
|
-
this.dirty = true;
|
268
|
-
resolve(el);
|
269
|
-
}
|
270
|
-
else
|
271
|
-
reject();
|
272
|
-
pane.close();
|
273
|
-
})));
|
274
|
-
}
|
275
|
-
/**
|
276
|
-
*
|
277
|
-
* @param element
|
278
|
-
* @param collection
|
279
|
-
* @param mode
|
280
|
-
* @returns
|
281
|
-
*/
|
282
|
-
_createInjector(element, collection, mode) {
|
283
|
-
const ref = new DesignerRef(this.model, element, collection, mode);
|
284
|
-
const injector = Injector.create({
|
285
|
-
providers: [{
|
286
|
-
provide: DesignerRef, useValue: ref
|
287
|
-
}], parent: this._injector
|
288
|
-
});
|
289
|
-
return injector;
|
290
|
-
}
|
291
|
-
add(section, menu, evt) {
|
292
|
-
if (section.templates.length > 1)
|
293
|
-
menu.openMenu();
|
294
|
-
else
|
295
|
-
this.create(section, section.templates[0]);
|
296
|
-
evt.preventDefault();
|
297
|
-
}
|
298
|
-
create(section, template) {
|
299
|
-
const element = {
|
300
|
-
...template,
|
301
|
-
name: programName(template.key || template.title),
|
302
|
-
draft: true,
|
303
|
-
hide: false,
|
304
|
-
options: {}
|
305
|
-
};
|
306
|
-
this._insert(section, element, section.elements.length);
|
307
|
-
}
|
308
|
-
remove(section, element) {
|
309
|
-
section.elements.remove(element);
|
310
|
-
this.dirty = true;
|
311
|
-
}
|
312
|
-
copy(section, element) {
|
313
|
-
let eclone = {
|
314
|
-
...element,
|
315
|
-
copyOf: element.name,
|
316
|
-
draft: true
|
317
|
-
};
|
318
|
-
delete eclone.injector;
|
319
|
-
delete eclone.resourceType;
|
320
|
-
eclone = clone(eclone); // deep
|
321
|
-
this._insert(section, eclone, section.elements.indexOf(element));
|
322
|
-
}
|
323
|
-
edit(section, element) {
|
324
|
-
this._open(element, section, 'edit');
|
325
|
-
}
|
326
|
-
toggleDisabled(element) {
|
327
|
-
element.disabled = !element.disabled;
|
328
|
-
this.dirty = true;
|
329
|
-
}
|
330
|
-
save() {
|
331
|
-
this.saving = true;
|
332
|
-
const { controls, attributes, policies, actions, cubes, folders, forms, guides, reports, roles, rules, states, types, utilities, views, widgets, nodes } = this.model;
|
333
|
-
const model = {
|
334
|
-
actions: strip(actions),
|
335
|
-
cubes: strip(cubes),
|
336
|
-
folders: strip(folders),
|
337
|
-
forms: strip(forms),
|
338
|
-
guides: strip(guides),
|
339
|
-
reports: strip(reports),
|
340
|
-
roles: strip(roles),
|
341
|
-
rules: strip(rules),
|
342
|
-
policies: strip(policies),
|
343
|
-
states: strip(states),
|
344
|
-
types: strip(types),
|
345
|
-
utilities: strip(utilities),
|
346
|
-
views: strip(views),
|
347
|
-
nodes: strip(nodes),
|
348
|
-
widgets: strip(widgets),
|
349
|
-
controls: strip(controls),
|
350
|
-
attributes: strip(attributes)
|
351
|
-
};
|
352
|
-
this._ref.execute(model).subscribe({
|
353
|
-
next: () => {
|
354
|
-
this._ps.toast('ChangesSaved');
|
355
|
-
apply(policies, actions, cubes, folders, forms, guides, reports, roles, rules, states, types, utilities, views, widgets);
|
356
|
-
this.saving = false;
|
357
|
-
this.dirty = false;
|
358
|
-
this._session.refresh().subscribe();
|
359
|
-
}, error: () => {
|
360
|
-
this._ps.error();
|
361
|
-
this.saving = false;
|
362
|
-
}
|
363
|
-
});
|
364
|
-
function strip(elements) {
|
365
|
-
return elements.map(e => {
|
366
|
-
const element = { ...e };
|
367
|
-
delete element.injector;
|
368
|
-
delete element.arguments;
|
369
|
-
return cleanup(element);
|
370
|
-
});
|
371
|
-
}
|
372
|
-
function apply(...collection) {
|
373
|
-
collection.forEach(s => s.forEach(e => delete e.draft));
|
374
|
-
}
|
375
|
-
}
|
376
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ConfigurationDesignerComponent, deps: [{ token: i1.PanesRouter }, { token: i2.FormBuilder }, { token: i3.TranslateService }, { token: i4.PromptService }, { token: i5.SessionService }, { token: i0.ElementRef }, { token: i0.Injector }, { token: i6.Popup }, { token: i7.UtilityRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
377
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.5", type: ConfigurationDesignerComponent, selector: "ng-component", host: { attributes: { "tabindex": "0" }, listeners: { "keydown": "handleKeyboardEvent($event)" } }, viewQueries: [{ propertyName: "filters", first: true, predicate: ["filters"], descendants: true, read: TemplateRef }, { propertyName: "filterEl", first: true, predicate: ["filterEl"], descendants: true, read: ElementRef }], ngImport: i0, 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)=\"openFilter($event)\" [bizdocTooltip]=\"'Filter'|translate\" #filterEl><mat-icon>filter_list</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@if (loading) {\r\n <bizdoc-none title=\"SettingThingsUp\" subtitle=\"PleaseWait\" icon=\"architecture\"></bizdoc-none>\r\n}\r\n<div>\r\n @for (s of sections | filterBy:'hide': false: searchBy; track s) {\r\n <section>\r\n <h2 class=\"mat-h1\">{{s.title}}</h2>\r\n <!--<hr />-->\r\n <div class=\"elements\" cdkDropList cdkDropListOrientation=\"horizontal\" [cdkDropListData]=\"s.elements\" (cdkDropListDropped)=\"drop($event)\">\r\n @for (e of s.elements | filterBy:'hide': false: searchBy; track e) {\r\n <mat-card [class.disabled]=\"e.disabled\" cdkDrag cdkDragRootElement=\".mat-mdc-card-title\">\r\n <!-- @item-->\r\n <mat-card-header>\r\n <mat-card-title>\r\n {{e.title|localizedString}}\r\n <span class=\"divider\"></span>\r\n @if (e.help) {\r\n <mat-icon [bizdocTooltip]=\"e.help\" [bizdocTooltipDuration]=\"6000\">help_outline</mat-icon>\r\n }\r\n </mat-card-title>\r\n <mat-card-subtitle>\r\n {{e.name}}\r\n </mat-card-subtitle>\r\n </mat-card-header>\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 class=\"row\">\r\n @if (!e.copyOf) {\r\n <button mat-icon-button (click)=\"copy(s, e)\" [bizdocTooltip]=\"'Copy'|translate\"><mat-icon>file_copy</mat-icon></button>\r\n }\r\n @if (e.draft || e.empty) {\r\n <button mat-icon-button (click)=\"remove(s, e)\" [bizdocTooltip]=\"'Discard'|translate\"><mat-icon>delete</mat-icon></button>\r\n }\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(s, e)\" [bizdocTooltip]=\"'Settings'|translate\"><mat-icon>settings</mat-icon></button>\r\n </mat-card-actions>\r\n </mat-card>\r\n }\r\n @if (s.templates?.length) {\r\n <div class=\"add-element\" matRipple (click)=\"add(s, menuTrigger, $event)\">\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 @for (t of s.templates; track t) {\r\n <button mat-menu-item (click)=\"create(s, t)\">\r\n @if (t.family) {\r\n <span>\r\n {{t.family}}\r\n - \r\n </span>\r\n }\r\n <span>\r\n {{t.title}}\r\n </span>\r\n </button>\r\n }\r\n </mat-menu>\r\n </div>\r\n }\r\n </div>\r\n </section>\r\n }\r\n</div>\r\n<!-- search filters -->\r\n<ng-template #filters>\r\n <form autocomplete=\"off\" class=\"column gap\" [formGroup]=\"form\">\r\n <mat-form-field subscriptSizing=\"dynamic\">\r\n <input matInput formControlName=\"contains\" autocomplete=\"off\" placeholder=\"{{'Contains' | translate}}\" #contains>\r\n @if (form.value.contains) {\r\n <button matSuffix mat-icon-button aria-label=\"\" (click)=\"form.controls.contains.setValue(null)\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n }\r\n </mat-form-field>\r\n <mat-form-field subscriptSizing=\"dynamic\">\r\n <mat-label>{{'Categories'|translate}}</mat-label>\r\n <mat-select formControlName=\"sections\" multiple>\r\n @for (c of sections | sort : 'title'; track c) {\r\n <mat-option [value]=\"c.type\">{{c.title}}</mat-option>\r\n }\r\n </mat-select>\r\n </mat-form-field>\r\n @if(families.length) {\r\n <mat-form-field subscriptSizing=\"dynamic\">\r\n <mat-label>{{'Families'|translate}}</mat-label>\r\n <mat-select formControlName=\"family\">\r\n <mat-option>{{'All'|translate}}</mat-option>\r\n @for (f of families; track f) {\r\n <mat-option [value]=\"f\">{{f}}</mat-option>\r\n }\r\n </mat-select>\r\n </mat-form-field>\r\n }\r\n </form>\r\n</ng-template>\r\n", styles: [":host{outline:none}section h2{margin:10px}section h2 .sticky{background-color:var(--mat-table-background-color)}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-mdc-card{margin:6px;display:flex;flex-direction:column}:host ::ng-deep .mat-mdc-card button{opacity:.1}:host ::ng-deep .mat-mdc-card:hover button{opacity:1}:host ::ng-deep .mat-mdc-card-header-text{width:100%}:host ::ng-deep .mat-mdc-card-title{display:flex;-ms-flex-direction:row;-webkit-flex-direction:row;flex-direction:row;align-items:center}.divider{min-width:3px}:host ::ng-deep .mat-mdc-card-content{flex:1}\n"], dependencies: [{ kind: "directive", type: i8.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i9.NoneComponent, selector: "bizdoc-none", inputs: ["title", "subtitle", "icon"] }, { kind: "directive", type: i10.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i10.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "component", type: i11.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i11.MatCardActions, selector: "mat-card-actions", inputs: ["align"], exportAs: ["matCardActions"] }, { kind: "directive", type: i11.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i11.MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: i11.MatCardSubtitle, selector: "mat-card-subtitle, [mat-card-subtitle], [matCardSubtitle]" }, { kind: "directive", type: i11.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "directive", type: i12.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "component", type: i13.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "component", type: i14.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i12.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i15.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i15.MatLabel, selector: "mat-label" }, { kind: "directive", type: i15.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i16.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i17.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "directive", type: i18.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i19.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i20.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i20.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i20.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "directive", type: i21.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: i22.LocalizedStringPipe, name: "localizedString" }, { kind: "pipe", type: i23.FilterPipe, name: "filterBy" }, { kind: "pipe", type: i24.ArraySortPipe, name: "sort" }, { kind: "pipe", type: i25.TranslatePipe, name: "translate" }], animations: [itemAnimation] }); }
|
378
|
-
};
|
379
|
-
ConfigurationDesignerComponent = __decorate([
|
380
|
-
BizDoc({ selector: 'bizdoc-configuration-designer' })
|
381
|
-
], ConfigurationDesignerComponent);
|
382
|
-
export { ConfigurationDesignerComponent };
|
383
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ConfigurationDesignerComponent, decorators: [{
|
384
|
-
type: Component,
|
385
|
-
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)=\"openFilter($event)\" [bizdocTooltip]=\"'Filter'|translate\" #filterEl><mat-icon>filter_list</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@if (loading) {\r\n <bizdoc-none title=\"SettingThingsUp\" subtitle=\"PleaseWait\" icon=\"architecture\"></bizdoc-none>\r\n}\r\n<div>\r\n @for (s of sections | filterBy:'hide': false: searchBy; track s) {\r\n <section>\r\n <h2 class=\"mat-h1\">{{s.title}}</h2>\r\n <!--<hr />-->\r\n <div class=\"elements\" cdkDropList cdkDropListOrientation=\"horizontal\" [cdkDropListData]=\"s.elements\" (cdkDropListDropped)=\"drop($event)\">\r\n @for (e of s.elements | filterBy:'hide': false: searchBy; track e) {\r\n <mat-card [class.disabled]=\"e.disabled\" cdkDrag cdkDragRootElement=\".mat-mdc-card-title\">\r\n <!-- @item-->\r\n <mat-card-header>\r\n <mat-card-title>\r\n {{e.title|localizedString}}\r\n <span class=\"divider\"></span>\r\n @if (e.help) {\r\n <mat-icon [bizdocTooltip]=\"e.help\" [bizdocTooltipDuration]=\"6000\">help_outline</mat-icon>\r\n }\r\n </mat-card-title>\r\n <mat-card-subtitle>\r\n {{e.name}}\r\n </mat-card-subtitle>\r\n </mat-card-header>\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 class=\"row\">\r\n @if (!e.copyOf) {\r\n <button mat-icon-button (click)=\"copy(s, e)\" [bizdocTooltip]=\"'Copy'|translate\"><mat-icon>file_copy</mat-icon></button>\r\n }\r\n @if (e.draft || e.empty) {\r\n <button mat-icon-button (click)=\"remove(s, e)\" [bizdocTooltip]=\"'Discard'|translate\"><mat-icon>delete</mat-icon></button>\r\n }\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(s, e)\" [bizdocTooltip]=\"'Settings'|translate\"><mat-icon>settings</mat-icon></button>\r\n </mat-card-actions>\r\n </mat-card>\r\n }\r\n @if (s.templates?.length) {\r\n <div class=\"add-element\" matRipple (click)=\"add(s, menuTrigger, $event)\">\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 @for (t of s.templates; track t) {\r\n <button mat-menu-item (click)=\"create(s, t)\">\r\n @if (t.family) {\r\n <span>\r\n {{t.family}}\r\n - \r\n </span>\r\n }\r\n <span>\r\n {{t.title}}\r\n </span>\r\n </button>\r\n }\r\n </mat-menu>\r\n </div>\r\n }\r\n </div>\r\n </section>\r\n }\r\n</div>\r\n<!-- search filters -->\r\n<ng-template #filters>\r\n <form autocomplete=\"off\" class=\"column gap\" [formGroup]=\"form\">\r\n <mat-form-field subscriptSizing=\"dynamic\">\r\n <input matInput formControlName=\"contains\" autocomplete=\"off\" placeholder=\"{{'Contains' | translate}}\" #contains>\r\n @if (form.value.contains) {\r\n <button matSuffix mat-icon-button aria-label=\"\" (click)=\"form.controls.contains.setValue(null)\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n }\r\n </mat-form-field>\r\n <mat-form-field subscriptSizing=\"dynamic\">\r\n <mat-label>{{'Categories'|translate}}</mat-label>\r\n <mat-select formControlName=\"sections\" multiple>\r\n @for (c of sections | sort : 'title'; track c) {\r\n <mat-option [value]=\"c.type\">{{c.title}}</mat-option>\r\n }\r\n </mat-select>\r\n </mat-form-field>\r\n @if(families.length) {\r\n <mat-form-field subscriptSizing=\"dynamic\">\r\n <mat-label>{{'Families'|translate}}</mat-label>\r\n <mat-select formControlName=\"family\">\r\n <mat-option>{{'All'|translate}}</mat-option>\r\n @for (f of families; track f) {\r\n <mat-option [value]=\"f\">{{f}}</mat-option>\r\n }\r\n </mat-select>\r\n </mat-form-field>\r\n }\r\n </form>\r\n</ng-template>\r\n", styles: [":host{outline:none}section h2{margin:10px}section h2 .sticky{background-color:var(--mat-table-background-color)}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-mdc-card{margin:6px;display:flex;flex-direction:column}:host ::ng-deep .mat-mdc-card button{opacity:.1}:host ::ng-deep .mat-mdc-card:hover button{opacity:1}:host ::ng-deep .mat-mdc-card-header-text{width:100%}:host ::ng-deep .mat-mdc-card-title{display:flex;-ms-flex-direction:row;-webkit-flex-direction:row;flex-direction:row;align-items:center}.divider{min-width:3px}:host ::ng-deep .mat-mdc-card-content{flex:1}\n"] }]
|
386
|
-
}], ctorParameters: () => [{ type: i1.PanesRouter }, { type: i2.FormBuilder }, { type: i3.TranslateService }, { type: i4.PromptService }, { type: i5.SessionService }, { type: i0.ElementRef }, { type: i0.Injector }, { type: i6.Popup }, { type: i7.UtilityRef }], propDecorators: { filters: [{
|
387
|
-
type: ViewChild,
|
388
|
-
args: ['filters', { read: TemplateRef }]
|
389
|
-
}], filterEl: [{
|
390
|
-
type: ViewChild,
|
391
|
-
args: ['filterEl', { read: ElementRef }]
|
392
|
-
}], handleKeyboardEvent: [{
|
393
|
-
type: HostListener,
|
394
|
-
args: ['keydown', ['$event']]
|
395
|
-
}] } });
|
396
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzaWduZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbGliL2FkbWluL2FyY2hpdGVjdHVyZS9kZXNpZ25lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvYWRtaW4vYXJjaGl0ZWN0dXJlL2Rlc2lnbmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFVLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJOUcsT0FBTyxFQUFlLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXRELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDL0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBTy9DLE9BQU8sRUFBNkMsV0FBVyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQWMsYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFdkksT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdEUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDMUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDaEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDcEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDaEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDbEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDcEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDaEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDaEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDbEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDaEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDaEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFcEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNwRSxNQUFNLGVBQWUsR0FBRyxHQUFHLENBQUM7QUFDNUIsTUFBTTtBQVFDLElBQU0sOEJBQThCLEdBQXBDLE1BQU0sOEJBQThCO0lBZ0J6QyxZQUNVLE1BQW1CLEVBQ25CLEdBQWdCLEVBQ2hCLFVBQTRCLEVBQzVCLEdBQWtCLEVBQ2xCLFFBQXdCLEVBQ3hCLFFBQW9DLEVBQ3BDLFNBQW1CLEVBQ25CLE1BQWEsRUFDYixJQUF1RDtRQVJ2RCxXQUFNLEdBQU4sTUFBTSxDQUFhO1FBQ25CLFFBQUcsR0FBSCxHQUFHLENBQWE7UUFDaEIsZUFBVSxHQUFWLFVBQVUsQ0FBa0I7UUFDNUIsUUFBRyxHQUFILEdBQUcsQ0FBZTtRQUNsQixhQUFRLEdBQVIsUUFBUSxDQUFnQjtRQUN4QixhQUFRLEdBQVIsUUFBUSxDQUE0QjtRQUNwQyxjQUFTLEdBQVQsU0FBUyxDQUFVO1FBQ25CLFdBQU0sR0FBTixNQUFNLENBQU87UUFDYixTQUFJLEdBQUosSUFBSSxDQUFtRDtRQXRCakUsYUFBUSxHQUFHLENBQUMsQ0FBQztRQUNiLFlBQU8sR0FBRyxJQUFJLENBQUM7UUFDZixXQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ2YsVUFBSyxHQUFHLEtBQUssQ0FBQztRQUlMLFNBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQztZQUM3QixRQUFRLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQWUsSUFBSSxDQUFDO1lBQzlDLFFBQVEsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBa0IsSUFBSSxDQUFDO1lBQ2pELE1BQU0sRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBZ0IsSUFBSSxDQUFDO1NBQzlDLENBQUMsQ0FBQztJQVdrRSxDQUFDO0lBQ3RFLFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNqQyxJQUFJLENBQUM7Z0JBQ0gsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7Z0JBQ2YsSUFBSSxDQUFDLFFBQVEsR0FBRztvQkFDZCxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLG1CQUFtQixFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO29CQUNwRixFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLG1CQUFtQixFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO29CQUN2RixFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLHFCQUFxQixFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFO29CQUM1RixFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFO29CQUM5RixFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLHNCQUFzQixFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUMsVUFBVSxFQUFFO29CQUMvRixFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLG1CQUFtQixFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO29CQUNwRixFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLG1CQUFtQixFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO29CQUNwRixFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLHFCQUFxQixFQUFFO29CQUNyRSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFO29CQUM5RixFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLG9CQUFvQixFQUFFLFNBQVMsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENB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SUFBSSxDQUFDO1FBQ25CLE1BQU0sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUN0SyxNQUFNLEtBQUssR0FBRztZQUNaLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDO1lBQ3ZCLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDO1lBQ25CLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDO1lBQ3ZCLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDO1lBQ25CLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDO1lBQ3JCLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDO1lBQ3ZCLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDO1lBQ25CLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDO1lBQ25CLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUSxDQUFDO1lBQ3pCLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDO1lBQ3JCLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDO1lBQ25CLFNBQVMsRUFBRSxLQUFLLENBQUMsU0FBUyxDQUFDO1lBQzNCLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDO1lBQ25CLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDO1lBQ25CLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDO1lBQ3ZCLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUSxDQUFDO1lBQ3pCLFVBQVUsRUFBRSxLQUFLLENBQUMsVUFBVSxDQUFDO1NBQzlCLENBQUM7UUFDRixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FDZixLQUFZLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDdEIsSUFBSSxFQUFFLEdBQUcsRUFBRTtnQkFDVCxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQztnQkFDL0IsS0FBSyxDQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztnQkFDekgsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7Z0JBQ3BCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFBO2dCQUNsQixJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3RDLENBQUMsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFO2dCQUNiLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ2pCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFBO1lBQ3JCLENBQUM7U0FDRixDQUFDLENBQUM7UUFDTCxTQUFTLEtBQUssQ0FBQyxRQUF3QjtZQUNyQyxPQUFPLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ3RCLE1BQU0sT0FBTyxHQUFHLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDekIsT0FBTyxPQUFPLENBQUMsUUFBUSxDQUFDO2dCQUN4QixPQUFPLE9BQU8sQ0FBQyxTQUFTLENBQUM7Z0JBQ3pCLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzFCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUNELFNBQVMsS0FBSyxDQUFDLEdBQUcsVUFBNEI7WUFDNUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQzFELENBQUM7SUFDSCxDQUFDOzhHQWpWVSw4QkFBOEI7a0dBQTlCLDhCQUE4Qix1T0FDWCxXQUFXLCtGQUNWLFVBQVUsNkJDakQzQywwZ0tBdUdBLHltT0Q1RGMsQ0FBQyxhQUFhLENBQUM7O0FBSWhCLDhCQUE4QjtJQUQxQyxNQUFNLENBQUMsRUFBRSxRQUFRLEVBQUUsK0JBQStCLEVBQUUsQ0FBQztHQUN6Qyw4QkFBOEIsQ0FrVjFDOzsyRkFsVlksOEJBQThCO2tCQVAxQyxTQUFTO2lDQUdJLENBQUMsYUFBYSxDQUFDLFFBQ3JCLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRTsrUkFJc0IsT0FBTztzQkFBbkQsU0FBUzt1QkFBQyxTQUFTLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFO2dCQUNFLFFBQVE7c0JBQXBELFNBQVM7dUJBQUMsVUFBVSxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtnQkE4RjNDLG1CQUFtQjtzQkFEbEIsWUFBWTt1QkFBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciwgSW5qZWN0b3IsIE9uSW5pdCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IENvbXBvbmVudFR5cGUgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL3BvcnRhbFwiO1xyXG5pbXBvcnQgeyBNYXRNZW51VHJpZ2dlciB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9tZW51XCI7XHJcbmltcG9ydCB7IENka0RyYWdEcm9wLCBtb3ZlSXRlbUluQXJyYXkgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL2RyYWctZHJvcFwiO1xyXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBpdGVtQW5pbWF0aW9uIH0gZnJvbSBcIi4uLy4uL2NvcmUvYW5pbWF0aW9uc1wiO1xyXG5pbXBvcnQgeyBVdGlsaXR5Q29tcG9uZW50IH0gZnJvbSBcIi4uLy4uL2NvcmUvYmFzZVwiO1xyXG5pbXBvcnQgeyBPcGVuUG9saWN5IH0gZnJvbSBcIi4uLy4uL2NvcmUvY29uZmlndXJhdGlvblwiO1xyXG5pbXBvcnQgeyBCaXpEb2MgfSBmcm9tIFwiLi4vLi4vY29yZS9kZWNvcmF0b3JzXCI7XHJcbmltcG9ydCB7IGNsZWFudXAgfSBmcm9tIFwiLi4vLi4vY29yZS9mdW5jdGlvbnNcIjtcclxuaW1wb3J0IHsgUHJvbXB0U2VydmljZSB9IGZyb20gXCIuLi8uLi9jb3JlL3Byb21wdC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFNlc3Npb25TZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL2NvcmUvc2Vzc2lvbi5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFBhbmVzUm91dGVyIH0gZnJvbSBcIi4uLy4uL2NvcmUvc2xvdHMvcm91dGVyLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gXCIuLi8uLi9jb3JlL3RyYW5zbGF0ZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFBvcHVwIH0gZnJvbSAnLi4vLi4vY29yZS9wb3B1cC9wb3B1cC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVXRpbGl0eVJlZiB9IGZyb20gXCIuLi91dGlsaXR5LXJlZlwiO1xyXG5pbXBvcnQgeyBFbGVtZW50TW9kZWwsIERlc2lnbmVyTW9kZWwsIFRlbXBsYXRlSW5mbywgcHJvZ3JhbU5hbWUsIERlc2lnbmVyUmVmLCBjbG9uZSwgRGVzaWduTW9kZSwgZXh0cmFjdFN0cmluZyB9IGZyb20gXCIuL2RlY2xhcmF0aW9uc1wiO1xyXG5pbXBvcnQgeyBEZXNpZ25lclR5cGVFbGVtZW50Q29tcG9uZW50IH0gZnJvbSBcIi4vZGVzaWduZXIuYmFzZVwiO1xyXG5pbXBvcnQgeyBBY3Rpb25EZXNpZ25lckNvbXBvbmVudCB9IGZyb20gXCIuL2VsZW1lbnRzL2FjdGlvbi5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgQXR0cmlidXRlRGVzaWduQ29tcG9uZW50IH0gZnJvbSBcIi4vZWxlbWVudHMvYXR0cmlidXRlLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBDb250cm9sRGVzaWduQ29tcG9uZW50IH0gZnJvbSBcIi4vZWxlbWVudHMvY29udHJvbC5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgQ3ViZURlc2lnbkNvbXBvbmVudCB9IGZyb20gXCIuL2VsZW1lbnRzL2N1YmUuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IEZvbGRlckRlc2lnbkNvbXBvbmVudCB9IGZyb20gXCIuL2VsZW1lbnRzL2ZvbGRlci5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgRm9ybURlc2lnbkNvbXBvbmVudCB9IGZyb20gXCIuL2VsZW1lbnRzL2Zvcm0uY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IEd1aWRlRGVzaWduQ29tcG9uZW50IH0gZnJvbSBcIi4vZWxlbWVudHMvZ3VpZGUuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IE5vZGVEZXNpZ25lckNvbXBvbmVudCB9IGZyb20gXCIuL2VsZW1lbnRzL25vZGUuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFBvbGljeURlc2lnbkNvbXBvbmVudCB9IGZyb20gXCIuL2VsZW1lbnRzL3BvbGljeS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgUmVwb3J0RGVzaWduZXJDb21wb25lbnQgfSBmcm9tIFwiLi9lbGVtZW50cy9yZXBvcnQuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFJvbGVEZXNpZ25Db21wb25lbnQgfSBmcm9tIFwiLi9lbGVtZW50cy9yb2xlLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBSdWxlRGVzaWduQ29tcG9uZW50IH0gZnJvbSBcIi4vZWxlbWVudHMvcnVsZS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgU3RhdGVEZXNpZ25Db21wb25lbnQgfSBmcm9tIFwiLi9lbGVtZW50cy9zdGF0ZS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgVHlwZURlc2lnbkNvbXBvbmVudCB9IGZyb20gXCIuL2VsZW1lbnRzL3R5cGUuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFV0aWxpdHlEZXNpZ25Db21wb25lbnQgfSBmcm9tIFwiLi9lbGVtZW50cy91dGlsaXR5LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBWaWV3RGVzaWduQ29tcG9uZW50IH0gZnJvbSBcIi4vZWxlbWVudHMvdmlldy5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgV2lkZ2V0RGVzaWduQ29tcG9uZW50IH0gZnJvbSBcIi4vZWxlbWVudHMvd2lkZ2V0LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBKb2JEZXNpZ25Db21wb25lbnQgfSBmcm9tIFwiLi9lbGVtZW50cy9qb2IuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFNvdXJjZURlc2lnbkNvbXBvbmVudCB9IGZyb20gXCIuL2VsZW1lbnRzL3NvdXJjZS5jb21wb25lbnRcIjtcclxuY29uc3QgU0VBUkNIX0RFQk9VTkNFID0gMjAwO1xyXG4vKiogKi9cclxuQENvbXBvbmVudCh7XHJcbiAgdGVtcGxhdGVVcmw6ICdkZXNpZ25lci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJ2Rlc2lnbmVyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgYW5pbWF0aW9uczogW2l0ZW1BbmltYXRpb25dLFxyXG4gIGhvc3Q6IHsgdGFiaW5kZXg6ICcwJyB9XHJcbn0pXHJcbkBCaXpEb2MoeyBzZWxlY3RvcjogJ2JpemRvYy1jb25maWd1cmF0aW9uLWRlc2lnbmVyJyB9KVxyXG5leHBvcnQgY2xhc3MgQ29uZmlndXJhdGlvbkRlc2lnbmVyQ29tcG9uZW50IGltcGxlbWVudHMgVXRpbGl0eUNvbXBvbmVudCwgT25Jbml0IHtcclxuICBAVmlld0NoaWxkKCdmaWx0ZXJzJywgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KSBmaWx0ZXJzOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIEBWaWV3Q2hpbGQoJ2ZpbHRlckVsJywgeyByZWFkOiBFbGVtZW50UmVmIH0pIGZpbHRlckVsOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcclxuICBzZWFyY2hCeSA9IDA7XHJcbiAgbG9hZGluZyA9IHRydWU7XHJcbiAgc2F2aW5nID0gZmFsc2U7XHJcbiAgZGlydHkgPSBmYWxzZTtcclxuICBtb2RlbDogRGVzaWduZXJNb2RlbDtcclxuICBzZWN0aW9uczogU2VjdGlvbltdO1xyXG4gIGZhbWlsaWVzOiBzdHJpbmdbXTtcclxuICByZWFkb25seSBmb3JtID0gdGhpcy5fZmIuZ3JvdXAoe1xyXG4gICAgY29udGFpbnM6IHRoaXMuX2ZiLmNvbnRyb2w8c3RyaW5nfCBudWxsPihudWxsKSxcclxuICAgIHNlY3Rpb25zOiB0aGlzLl9mYi5jb250cm9sPHN0cmluZ1tdIHwgbnVsbD4obnVsbCksXHJcbiAgICBmYW1pbHk6IHRoaXMuX2ZiLmNvbnRyb2w8c3RyaW5nIHwgbnVsbD4obnVsbClcclxuICB9KTtcclxuICBwcml2YXRlIF90eXBpbmdUaW1lcjogYW55O1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfcGFuZXM6IFBhbmVzUm91dGVyLFxyXG4gICAgcHJpdmF0ZSBfZmI6IEZvcm1CdWlsZGVyLFxyXG4gICAgcHJpdmF0ZSBfdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfcHM6IFByb21wdFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9zZXNzaW9uOiBTZXNzaW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgX2VsZW1lbnQ6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+LFxyXG4gICAgcHJpdmF0ZSBfaW5qZWN0b3I6IEluamVjdG9yLFxyXG4gICAgcHJpdmF0ZSBfcG9wdXA6IFBvcHVwLFxyXG4gICAgcHJpdmF0ZSBfcmVmOiBVdGlsaXR5UmVmPGJvb2xlYW4sIERlc2lnbmVyTW9kZWwsIERlc2lnbmVyTW9kZWw+KSB7IH1cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuX3JlZi5wb3B1bGF0ZSgpLnN1YnNjcmliZShyID0+IHtcclxuICAgICAgdHJ5IHtcclxuICAgICAgICB0aGlzLm1vZGVsID0gcjtcclxuICAgICAgICB0aGlzLnNlY3Rpb25zID0gW1xyXG4gICAgICAgICAgeyBlbGVtZW50czogci5mb3JtcywgdHlwZTogJ0Zvcm1zJywgY29tcDogRm9ybURlc2lnbkNvbXBvbmVudCwgdGVtcGxhdGVzOiByLnRGb3JtcyB9LFxyXG4gICAgICAgICAgeyBlbGVtZW50czogci52aWV3cywgdHlwZTogJ0luc2lnaHRzJywgY29tcDogVmlld0Rlc2lnbkNvbXBvbmVudCwgdGVtcGxhdGVzOiByLnRWaWV3cyB9LFxyXG4gICAgICAgICAgeyBlbGVtZW50czogci53aWRnZXRzLCB0eXBlOiAnV2lkZ2V0cycsIGNvbXA6IFdpZGdldERlc2lnbkNvbXBvbmVudCwgdGVtcGxhdGVzOiByLnRXaWRnZXRzIH0sXHJcbiAgICAgICAgICB7IGVsZW1lbnRzOiByLnJlcG9ydHMsIHR5cGU6ICdSZXBvcnRzJywgY29tcDogUmVwb3J0RGVzaWduZXJDb21wb25lbnQsIHRlbXBsYXRlczogci50UmVwb3J0cyB9LFxyXG4gICAgICAgICAgeyBlbGVtZW50czogci51dGlsaXRpZXMsIHR5cGU6ICdUb29scycsIGNvbXA6IFV0aWxpdHlEZXNpZ25Db21wb25lbnQsIHRlbXBsYXRlczogci50VXRpbGl0aWVzIH0sXHJcbiAgICAgICAgICB7IGVsZW1lbnRzOiByLmN1YmVzLCB0eXBlOiAnQ3ViZXMnLCBjb21wOiBDdWJlRGVzaWduQ29tcG9uZW50LCB0ZW1wbGF0ZXM6IHIudEN1YmVzIH0sXHJcbiAgICAgICAgICB7IGVsZW1lbnRzOiByLnR5cGVzLCB0eXBlOiAnVHlwZXMnLCBjb21wOiBUeXBlRGVzaWduQ29tcG9uZW50LCB0ZW1wbGF0ZXM6IHIudFR5cGVzIH0sXHJcbiAgICAgICAgICB7IGVsZW1lbnRzOiByLnNvdXJjZXMsIHR5cGU6ICdTb3VyY2VzJywgY29tcDogU291cmNlRGVzaWduQ29tcG9uZW50IH0sXHJcbiAgICAgICAgICB7IGVsZW1lbnRzOiByLmFjdGlvbnMsIHR5cGU6ICdBY3Rpb25zJywgY29tcDogQWN0aW9uRGVzaWduZXJDb21wb25lbnQsIHRlbXBsYXRlczogci50QWN0aW9ucyB9LFxyXG4gICAgICAgICAgeyBlbGVtZW50czogci5ndWlkZXMsIHR5cGU6ICdHdWlkZXMnLCBjb21wOiBHdWlkZURlc2lnbkNvbXBvbmVudCwgdGVtcGxhdGVzOiBbeyB0aXRsZTogdGhpcy5fdHJhbnNsYXRlLmdldCgnR3VpZGUnKSB9XSB9LFxyXG4gICAgICAgICAgLy97IGVsZW1lbnRzOiByLmpvYnMsIHR5cGU6ICdKb2JzJywgY29tcDogSm9iRGVzaWduQ29tcG9uZW50IH0sXHJcbiAgICAgICAgICB7IGVsZW1lbnRzOiByLmZvbGRlcnMsIHR5cGU6ICdGb2xkZXJzJywgY29tcDogRm9sZGVyRGVzaWduQ29tcG9uZW50LCB0ZW1wbGF0ZXM6IFt7IHRpdGxlOiB0aGlzLl90cmFuc2xhdGUuZ2V0KCdGb2xkZXInKSB9XSB9LFxyXG4gICAgICAgICAgeyBlbGVtZW50czogci5yb2xlcywgdHlwZTogJ1JvbGVzJywgY29tcDogUm9sZURlc2lnbkNvbXBvbmVudCwgdGVtcGxhdGVzOiBbeyB0aXRsZTogdGhpcy5fdHJhbnNsYXRlLmdldCgnUm9sZScpIH1dIH0sXHJcbiAgICAgICAgICB7IGVsZW1lbnRzOiByLnN0YXRlcywgdHlwZTogJ1N0YXRlcycsIGNvbXA6IFN0YXRlRGVzaWduQ29tcG9uZW50LCB0ZW1wbGF0ZXM6IFt7IHRpdGxlOiB0aGlzLl90cmFuc2xhdGUuZ2V0KCdTdGF0ZScpIH1dIH0sXHJcbiAgICAgICAgICB7IGVsZW1lbnRzOiByLm5vZGVzLCB0eXBlOiAnTm9kZXMnLCBjb21wOiBOb2RlRGVzaWduZXJDb21wb25lbnQsIHRlbXBsYXRlczogci50Tm9kZXMgfSxcclxuICAgICAgICAgIHsgZWxlbWVudHM6IHIuYXR0cmlidXRlcywgdHlwZTogJ0F0dHJpYnV0ZXMnLCBjb21wOiBBdHRyaWJ1dGVEZXNpZ25Db21wb25lbnQsIHRlbXBsYXRlczogci50QXR0cmlidXRlcyB9LFxyXG4gICAgICAgICAgeyBlbGVtZW50czogci5ydWxlcywgdHlwZTogJ1J1bGVzJywgY29tcDogUnVsZURlc2lnbkNvbXBvbmVudCwgdGVtcGxhdGVzOiByLnRSdWxlcyB9LFxyXG4gICAgICAgICAgeyBlbGVtZW50czogci5jb250cm9scywgdHlwZTogJ0NvbnRyb2xzJywgY29tcDogQ29udHJvbERlc2lnbkNvbXBvbmVudCB9LFxyXG4gICAgICAgICAgeyBlbGVtZW50czogci5wb2xpY2llcywgdHlwZTogJ1BvbGljaWVzJywgY29tcDogUG9saWN5RGVzaWduQ29tcG9uZW50LCB0ZW1wbGF0ZXM6IHIudFBvbGljaWVzIH0sXHJcbiAgICAgICAgXTtcclxuICAgICAgICBjb25zdCBmYW1pbGllcyA9IFtdO1xyXG4gICAgICAgIGZvciAoY29uc3QgcyBvZiB0aGlzLnNlY3Rpb25zKSB7XHJcbiAgICAgICAgICBzLmhpZGUgPSBmYWxzZTtcclxuICAgICAgICAgIHMudGl0bGUgPSB0aGlzLl90cmFuc2xhdGUuZ2V0KHMudHlwZSk7XHJcbiAgICAgICAgICBmb3IgKGNvbnN0IGUgb2Ygcy5lbGVtZW50cykge1xyXG4gICAgICAgICAgICBpZiAoIWUub3B0aW9ucykgZS5vcHRpb25zID0ge307XHJcbiAgICAgICAgICAgIGlmIChlLmZhbWlseSAmJiBmYW1pbGllcy5pbmRleE9mKGUuZmFtaWx5KSA8IDApXHJcbiAgICAgICAgICAgICAgZmFtaWxpZXMucHVzaChlLmZhbWlseSk7XHJcbiAgICAgICAgICAgIGUuaGlkZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICBlLmluamVjdG9yID0gdGhpcy5fY3JlYXRlSW5qZWN0b3IoZSwgcy5lbGVtZW50cywgJ3dpZGdldCcpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmZhbWlsaWVzID0gZmFtaWxpZXM7XHJcbiAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcblxyXG4gICAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coZSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgLy8gdHlwaW5nIGtleWRvd24gbGlzdGVuZXJcclxuICAgIHRoaXMuX2VsZW1lbnQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xyXG4gIH1cclxuICBkcm9wKGV2ZW50OiBDZGtEcmFnRHJvcDxFbGVtZW50TW9kZWxbXT4pIHtcclxuICAgIGNvbnN0IHJhbmdlID0gZXZlbnQuY29udGFpbmVyLmRhdGEuc2xpY2UoXHJcbiAgICAgIE1hdGgubWluKGV2ZW50LnByZXZpb3VzSW5kZXgsIGV2ZW50LmN1cnJlbnRJbmRleCksXHJcbiAgICAgIE1hdGgubWF4KGV2ZW50LnByZXZpb3VzSW5kZXgsIGV2ZW50LmN1cnJlbnRJbmRleClcclxuICAgICksIGZpbGUgPSByYW5nZVswXS5jb25maWd1cmF0aW9uRmlsZTtcclxuICAgIGlmXHJcbiAgICAgIC8vIGFjcm9zcyBmaWxlc1xyXG4gICAgICAocmFuZ2Uuc2xpY2UoMSkuc29tZShlID0+IGUuY29uZmlndXJhdGlvbkZpbGUgIT09IGZpbGUpKSB7XHJcbiAgICAgIC8vIHN0YXJ0IG9yZGluYWxcclxuICAgICAgbGV0IGkgPSBldmVudC5jb250YWluZXIuZGF0YVtldmVudC5jdXJyZW50SW5kZXhdLm9yZGluYWwgfHwgLTE7XHJcbiAgICAgIC8vIHNldCBvcmRpbmFsIHRvIGl0ZW1zIGluIHJhbmdlXHJcbiAgICAgIHJhbmdlLmZvckVhY2goZSA9PiBlLm9yZGluYWwgPSBpKyspO1xyXG4gICAgICAvLyBpbmNyZWFzZSBvdGhlciBoaWdoZXIgdGhhbiBsYXN0IGluIHJhbmdlXHJcbiAgICAgIGV2ZW50LmNvbnRhaW5lci5kYXRhLmZpbHRlcihlID0+IGUub3JkaW5hbCAmJiBlLm9yZGluYWwgPiBpKS5mb3JFYWNoKGUgPT4gKGUub3JkaW5hbCBhcyBudW1iZXIpICs9IDEpO1xyXG4gICAgfSBlbHNlIC8vIG5hdGl2ZSBvcmRlciBpbiBjb2xsZWN0aW9uXHJcbiAgICAgIHJhbmdlLmZvckVhY2goZSA9PiBlLm9yZGluYWwgPSBudWxsKTtcclxuICAgIG1vdmVJdGVtSW5BcnJheShldmVudC5jb250YWluZXIuZGF0YSwgZXZlbnQucHJldmlvdXNJbmRleCwgZXZlbnQuY3VycmVudEluZGV4KTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogQ3RybC1zIHNhdmVcclxuICAgKiBAcGFyYW0gZXZlbnRcclxuICAgKi9cclxuICBASG9zdExpc3RlbmVyKCdrZXlkb3duJywgWyckZXZlbnQnXSlcclxuICBoYW5kbGVLZXlib2FyZEV2ZW50KGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XHJcbiAgICBpZiAoZXZlbnQuY3RybEtleSAmJiAoZXZlbnQua2V5ID09PSAnUycgfHwgZXZlbnQua2V5ID09PSAncycpKSB7XHJcbiAgICAgIHRoaXMuZGlydHkgJiYgdGhpcy5zYXZlKCk7XHJcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoZXZlbnQuYWx0S2V5ICYmIGV2ZW50LmtleSA9PT0gJ3EnIHx8IGV2ZW50LmtleSA9PT0gJ1EnKSB7XHJcbiAgICAgIHRoaXMub3BlbkZpbHRlcigpO1xyXG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKHRoaXMuc2VhcmNoQnkgJiYgZXZlbnQua2V5ID09PSAnRXNjYXBlJykgdGhpcy5jbGVhclNlYXJjaCgpO1xyXG4gIH1cclxuICBjbGVhclNlYXJjaCgpIHtcclxuICAgIGNsZWFyVGltZW91dCh0aGlzLl90eXBpbmdUaW1lcik7XHJcbiAgICB0aGlzLnNlY3Rpb25zLmZvckVhY2gocyA9PiB7XHJcbiAgICAgIHMuZWxlbWVudHMuZm9yRWFjaChlID0+IGUuaGlkZSA9IGZhbHNlKTtcclxuICAgICAgcy5oaWRlID0gZmFsc2U7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuZm9ybS5yZXNldCh7fSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xyXG4gICAgdGhpcy5zZWFyY2hCeSA9IDA7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFxyXG4gICAqIEBwYXJhbSBldnRcclxuICAgKi9cclxuICBvcGVuRmlsdGVyKGV2dD86IEV2ZW50KSB7XHJcbiAgICBjb25zdCBzdWJzY3JpYmUgPVxyXG4gICAgICB0aGlzLmZvcm0udmFsdWVDaGFuZ2VzLnBpcGUoZGVib3VuY2VUaW1lKFNFQVJDSF9ERUJPVU5DRSkpLlxyXG4gICAgICAgIHN1YnNjcmliZShlID0+IHtcclxuICAgICAgICAgIGNvbnN0IHsgY29udGFpbnMsIHNlY3Rpb25zLCBmYW1pbHkgfSA9IGU7XHJcbiAgICAgICAgICB0aGlzLnNlY3Rpb25zLmZvckVhY2gocyA9PiB7XHJcbiAgICAgICAgICAgIGlmIChzZWN0aW9ucyAmJiBzZWN0aW9ucy5sZW5ndGggJiYgc2VjdGlvbnMuaW5kZXhPZihzLnR5cGUpIDwgMCkge1xyXG4gICAgICAgICAgICAgIHMuaGlkZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChjb250YWlucyAmJlxyXG4gICAgICAgICAgICAgIHMudGl0bGUhLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihjb250YWlucykgPiAwICYmICFmYW1pbHkpIHtcclxuICAgICAgICAgICAgICBzLmhpZGUgPSBmYWxzZTtcclxuICAgICAgICAgICAgICBzLmVsZW1lbnRzLlxyXG4gICAgICAgICAgICAgICAgZm9yRWFjaChlID0+IGUuaGlkZSA9IGZhbHNlKTtcclxuICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbGV0IGFueSA9IGZhbHNlO1xyXG4gICAgICAgICAgICBzLmVsZW1lbnRzLlxyXG4gICAgICAgICAgICAgIGZvckVhY2goZSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAoKCFjb250YWlucyB8fCAoZXh0cmFjdFN0cmluZyhlLnRpdGxlKSB8fCBlLm5hbWUpLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihjb250YWlucykgPiAtMSlcclxuICAgICAgICAgICAgICAgICAgJiYgKCFmYW1pbHkgfHwgZS5mYW1pbHkgPT09IGZhbWlseSkpIHtcclxuICAgICAgICAgICAgICAgICAgZS5oaWRlID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgIGFueSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgICAgICAgIGUuaGlkZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIGlmIChhbnkpIHtcclxuICAgICAgICAgICAgICBzLmhpZGUgPSBmYWxzZTtcclxuICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKCFzLnRlbXBsYXRlcyB8fCAoIWZhbWlseSAmJiAhY29udGFpbnMpKSB7XHJcbiAgICAgICAgICAgICAgcy5oaWRlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcy5oaWRlID0gIXMudGVtcGxhdGVzLmZpbmQodCA9PiAoIWNvbnRhaW5zIHx8XHJcbiAgICAgICAgICAgICAgdC50aXRsZSEudG9Mb3dlckNhc2UoKS5pbmRleE9mKGNvbnRhaW5zKSA+IC0xKSAmJlxyXG4gICAgICAgICAgICAgICghZmFtaWx5IHx8IHQuZmFtaWx5ID09PSBmYW1pbHkpKTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgdGhpcy5zZWFyY2hCeSArPSAxO1xyXG4gICAgICAgIH0pO1xyXG4gICAgY29uc3QgcG9wID0gdGhpcy5fcG9wdXAub3Blbih0aGlzLmZpbHRlcnMsIHRoaXMuZmlsdGVyRWwubmF0aXZlRWxlbWVudCwge1xyXG4gICAgICBkYXRhOiB0aGlzLmZvcm1cclxuICAgIH0pO1xyXG4gICAgcG9wLm9wZW5lZCgpLnN1YnNjcmliZSgoKSA9PiAoZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLnBvcHVwLXBhbmVsIGlucHV0JykgYXMgSFRNTElucHV0RWxlbWVudCk/LmZvY3VzKCkpO1xyXG4gICAgcG9wLlxyXG4gICAgICBjbG9zZWQoKS5cclxuICAgICAgc3Vic2NyaWJlKHN1YnNjcmliZS51bnN1YnNjcmliZSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFxyXG4gICAqIEBwYXJhbSBzZWN0aW9uXHJcbiAgICogQHBhcmFtIGVsZW1lbnRcclxuICAgKiBAcGFyYW0gcG9zaXRpb25cclxuICAgKi9cclxuICBwcml2YXRlIF9pbnNlcnQoc2VjdGlvbjogU2VjdGlvbiwgZWxlbWVudDogRWxlbWVudE1vZGVsLCBwb3NpdGlvbjogbnVtYmVyKSB7XHJcbiAgICAvLyByZXNvbHZlIG5hbWUgJiB0aXRsZVxyXG4gICAgbGV0IGkgPSBlbGVtZW50Lm5hbWUubGFzdEluZGV4T2YoJ18nKSxcclxuICAgICAgaiA9IChleHRyYWN0U3RyaW5nKGVsZW1lbnQudGl0bGUpKSEubGFzdEluZGV4T2YoJyAnKSxcclxuICAgICAgbiA9IDAsIG5hbWU6IHN0cmluZywgdGl0bGU6IHN0cmluZztcclxuICAgIGRvIHtcclxuICAgICAgbisrO1xyXG4gICAgICBuYW1lID0gKGkgPCAwIHx8IGlzTmFOKHBhcnNlSW50KGVsZW1lbnQubmFtZS5zdWJzdHJpbmcoaSArIDEpKSkgPyBlbGVtZW50Lm5hbWUgOiBlbGVtZW50Lm5hbWUuc3Vic3RyaW5nKDAsIGkpKSArICdfJyArIG47XHJcbiAgICAgIHRpdGxlID0gKGogPCAwIHx8IGlzTmFOKHBhcnNlSW50KGV4dHJhY3RTdHJpbmcoZWxlbWVudC50aXRsZSkhLnN1YnN0cmluZyhqICsgMSkpKSA/IGVsZW1lbnQudGl0bGUgOiBleHRyYWN0U3RyaW5nKGVsZW1lbnQudGl0bGUpIS5zdWJzdHJpbmcoMCwgaikpICsgJyAnICsgbjtcclxuICAgIH1cclxuICAgIHdoaWxlIChzZWN0aW9uLmVsZW1lbnRzLmZpbmQoZSA9PiBlLm5hbWUgPT09IG5hbWUgfHwgZS50aXRsZSA9PT0gdGl0bGUpKTtcclxuXHJcbiAgICBlbGVtZW50Lm5hbWUgPSBuYW1lLCBlbGVtZW50LnRpdGxlID0gdGl0bGU7XHJcbiAgICAvLyBpbmplY3RvclxyXG4gICAgY29uc3QgaW5qZWN0b3IgPSB0aGlzLl9jcmVhdGVJbmplY3RvcihlbGVtZW50LCBzZWN0aW9uLmVsZW1lbnRzLCAnd2lkZ2V0Jyk7XHJcbiAgICBlbGVtZW50LmluamVjdG9yID0gaW5qZWN0b3I7XHJcblxyXG4gICAgdGhpcy5fb3BlbihlbGVtZW50LCBzZWN0aW9uLCAnYWRkJykudGhlbigoKSA9PiB7XHJcbiAgICAgIC8vIGFkZCB0byBhcnJheVxyXG4gICAgICBzZWN0aW9uLmVsZW1lbnRzLnNwbGljZShwb3NpdGlvbiArIDEsIDAsIGVsZW1lbnQpO1xyXG4gICAgICAvLyBmb3JjZSByZW5kZXJcclxuICAgICAgdGhpcy5zZWFyY2hCeSArPSAxO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFxyXG4gICAqIEBwYXJhbSBlbGVtZW50XHJcbiAgICogQHBhcmFtIHNlY3Rpb25cclxuICAgKiBAcGFyYW0gbW9kZVxyXG4gICAqIEByZXR1cm5zXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBfb3BlbihlbGVtZW50OiBFbGVtZW50TW9kZWwsXHJcbiAgICBzZWN0aW9uOiBTZWN0aW9uLFxyXG4gICAgbW9kZTogRGVzaWduTW9kZSkge1xyXG4gICAgbGV0IGVjbG9uZSA9IHsgLi4uZWxlbWVudCB9O1xyXG4gICAgZGVsZXRlIGVjbG9uZS5pbmplY3RvcjtcclxuICAgIGVjbG9uZSA9IGNsb25lKGVjbG9uZSk7IC8vIGRlZXBcclxuICAgIGNvbnN0IGluamVjdG9yID0gdGhpcy5fY3JlYXRlSW5qZWN0b3IoZWNsb25lLCBzZWN0aW9uLmVsZW1lbnRzLCBtb2RlKTtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PlxyXG4gICAgICB0aGlzLl9wYW5lcy5uYXZpZ2F0ZTxEZXNpZ25lclR5cGVFbGVtZW50Q29tcG9uZW50PihzZWN0aW9uLmNvbXAsIHtcclxuICAgICAgICBwb2xpY3k6IG1vZGUgPT09ICdhZGQnID8gT3BlblBvbGljeS5EaWFsb2cgOiBPcGVuUG9saWN5LlRhYiAmIH5PcGVuUG9saWN5LkRpc21pc3NhYmxlXHJcbiAgICAgICAgICB8IE9wZW5Qb2xpY3kuVG9nZ2xlIHwgT3BlblBvbGljeS5EZWZlciAsXHJcbiAgICAgICAgZ3JvdXA6IHRoaXMuX3RyYW5zbGF0ZS5nZXQoc2VjdGlvbi50aXRsZSEpLFxyXG4gICAgICAgIC8vdGl0bGUsXHJcbiAgICAgICAgaW5qZWN0b3I6IGluamVjdG9yXHJcbiAgICAgIH0pLnRoZW4ocGFuZSA9PlxyXG4gICAgICAgIHBhbmUuaW5zdGFuY2UuZGVzaWduZXIub25TYXZlLnN1YnNjcmliZShlbCA9PiB7XHJcbiAgICAgICAgICBpZiAoZWwpIHtcclxuICAgICAgICAgICAgT2JqZWN0LmFzc2lnbihlbGVtZW50LCBlbCk7XHJcbiAgICAgICAgICAgIHRoaXMuZGlydHkgPSB0cnVlO1xyXG4gICAgICAgICAgICByZXNvbHZlKGVsKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGVsc2UgcmVqZWN0KCk7XHJcbiAgICAgICAgICBwYW5lLmNsb3NlKCk7XHJcbiAgICAgICAgfSlcclxuICAgICAgKSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFxyXG4gICAqIEBwYXJhbSBlbGVtZW50XHJcbiAgICogQHBhcmFtIGNvbGxlY3Rpb25cclxuICAgKiBAcGFyYW0gbW9kZVxyXG4gICAqIEByZXR1cm5zXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBfY3JlYXRlSW5qZWN0b3IoZWxlbWVudDogRWxlbWVudE1vZGVsPGFueT4sIGNvbGxlY3Rpb246IEVsZW1lbnRNb2RlbFtdLCBtb2RlOiBEZXNpZ25Nb2RlKSB7XHJcbiAgICBjb25zdCByZWYgPSBuZXcgRGVzaWduZXJSZWYodGhpcy5tb2RlbCwgZWxlbWVudCwgY29sbGVjdGlvbiwgbW9kZSk7XHJcblxyXG4gICAgY29uc3QgaW5qZWN0b3IgPSBJbmplY3Rvci5jcmVhdGUoe1xyXG4gICAgICBwcm92aWRlcnM6IFt7XHJcbiAgICAgICAgcHJvdmlkZTogRGVzaWduZXJSZWYsIHVzZVZhbHVlOiByZWZcclxuICAgICAgfV0sIHBhcmVudDogdGhpcy5faW5qZWN0b3JcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIGluamVjdG9yO1xyXG4gIH1cclxuICBhZGQoc2VjdGlvbjogU2VjdGlvbiwgbWVudTogTWF0TWVudVRyaWdnZXIsIGV2dDogRXZlbnQpIHtcclxuICAgIGlmIChzZWN0aW9uLnRlbXBsYXRlcyEubGVuZ3RoID4gMSlcclxuICAgICAgbWVudS5vcGVuTWVudSgpO1xyXG4gICAgZWxzZVxyXG4gICAgICB0aGlzLmNyZWF0ZShzZWN0aW9uLCBzZWN0aW9uLnRlbXBsYXRlcyFbMF0pO1xyXG4gICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgfVxyXG4gIGNyZWF0ZShzZWN0aW9uOiBTZWN0aW9uLCB0ZW1wbGF0ZTogVGVtcGxhdGVJbmZvKSB7XHJcbiAgICBjb25zdCBlbGVtZW50ID0ge1xyXG4gICAgICAuLi50ZW1wbGF0ZSxcclxuICAgICAgbmFtZTogcHJvZ3JhbU5hbWUodGVtcGxhdGUua2V5IHx8IHRlbXBsYXRlLnRpdGxlISksXHJcbiAgICAgIGRyYWZ0OiB0cnVlLFxyXG4gICAgICBoaWRlOiBmYWxzZSxcclxuICAgICAgb3B0aW9uczoge31cclxuICAgIH0gYXMgRWxlbWVudE1vZGVsO1xyXG4gICAgdGhpcy5faW5zZXJ0KHNlY3Rpb24sIGVsZW1lbnQsIHNlY3Rpb24uZWxlbWVudHMubGVuZ3RoKTtcclxuICB9XHJcbiAgcmVtb3ZlKHNlY3Rpb246IFNlY3Rpb24sIGVsZW1lbnQ6IEVsZW1lbnRNb2RlbCkge1xyXG4gICAgc2VjdGlvbi5lbGVtZW50cy5yZW1vdmUoZWxlbWVudCk7XHJcbiAgICB0aGlzLmRpcnR5ID0gdHJ1ZTtcclxuICB9XHJcbiAgY29weShzZWN0aW9uOiBTZWN0aW9uLCBlbGVtZW50OiBFbGVtZW50TW9kZWwpIHtcclxuICAgIGxldCBlY2xvbmUgPSB7XHJcbiAgICAgIC4uLmVsZW1lbnQsXHJcbiAgICAgIGNvcHlPZjogZWxlbWVudC5uYW1lLFxyXG4gICAgICBkcmFmdDogdHJ1ZVxyXG4gICAgfTtcclxuICAgIGRlbGV0ZSBlY2xvbmUuaW5qZWN0b3I7XHJcbiAgICBkZWxldGUgZWNsb25lLnJlc291cmNlVHlwZTtcclxuICAgIGVjbG9uZSA9IGNsb25lKGVjbG9uZSk7IC8vIGRlZXBcclxuICAgIHRoaXMuX2luc2VydChzZWN0aW9uLCBlY2xvbmUsIHNlY3Rpb24uZWxlbWVudHMuaW5kZXhPZihlbGVtZW50KSk7XHJcbiAgfVxyXG4gIGVkaXQoc2VjdGlvbjogU2VjdGlvbiwgZWxlbWVudDogRWxlbWVudE1vZGVsKSB7XHJcbiAgICB0aGlzLl9vcGVuKGVsZW1lbnQsIHNlY3Rpb24sICdlZGl0Jyk7XHJcbiAgfVxyXG4gIHRvZ2dsZURpc2FibGVkKGVsZW1lbnQ6IEVsZW1lbnRNb2RlbCkge1xyXG4gICAgZWxlbWVudC5kaXNhYmxlZCA9ICFlbGVtZW50LmRpc2FibGVkO1xyXG4gICAgdGhpcy5kaXJ0eSA9IHRydWU7XHJcbiAgfVxyXG4gIHNhdmUoKSB7XHJcbiAgICB0aGlzLnNhdmluZyA9IHRydWU7XHJcbiAgICBjb25zdCB7IGNvbnRyb2xzLCBhdHRyaWJ1dGVzLCBwb2xpY2llcywgYWN0aW9ucywgY3ViZXMsIGZvbGRlcnMsIGZvcm1zLCBndWlkZXMsIHJlcG9ydHMsIHJvbGVzLCBydWxlcywgc3RhdGVzLCB0eXBlcywgdXRpbGl0aWVzLCB2aWV3cywgd2lkZ2V0cywgbm9kZXMgfSA9IHRoaXMubW9kZWw7XHJcbiAgICBjb25zdCBtb2RlbCA9IHtcclxuICAgICAgYWN0aW9uczogc3RyaXAoYWN0aW9ucyksXHJcbiAgICAgIGN1YmVzOiBzdHJpcChjdWJlcyksXHJcbiAgICAgIGZvbGRlcnM6IHN0cmlwKGZvbGRlcnMpLFxyXG4gICAgICBmb3Jtczogc3RyaXAoZm9ybXMpLFxyXG4gICAgICBndWlkZXM6IHN0cmlwKGd1aWRlcyksXHJcbiAgICAgIHJlcG9ydHM6IHN0cmlwKHJlcG9ydHMpLFxyXG4gICAgICByb2xlczogc3RyaXAocm9sZXMpLFxyXG4gICAgICBydWxlczogc3RyaXAocnVsZXMpLFxyXG4gICAgICBwb2xpY2llczogc3RyaXAocG9saWNpZXMpLFxyXG4gICAgICBzdGF0ZXM6IHN0cmlwKHN0YXRlcyksXHJcbiAgICAgIHR5cGVzOiBzdHJpcCh0eXBlcyksXHJcbiAgICAgIHV0aWxpdGllczogc3RyaXAodXRpbGl0aWVzKSxcclxuICAgICAgdmlld3M6IHN0cmlwKHZpZXdzKSxcclxuICAgICAgbm9kZXM6IHN0cmlwKG5vZGVzKSxcclxuICAgICAgd2lkZ2V0czogc3RyaXAod2lkZ2V0cyksXHJcbiAgICAgIGNvbnRyb2xzOiBzdHJpcChjb250cm9scyksXHJcbiAgICAgIGF0dHJpYnV0ZXM6IHN0cmlwKGF0dHJpYnV0ZXMpXHJcbiAgICB9O1xyXG4gICAgdGhpcy5fcmVmLmV4ZWN1dGUoXHJcbiAgICAgIG1vZGVsIGFzIGFueSkuc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OiAoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLl9wcy50b2FzdCgnQ2hhbmdlc1NhdmVkJyk7XHJcbiAgICAgICAgICBhcHBseShwb2xpY2llcywgYWN0aW9ucywgY3ViZXMsIGZvbGRlcnMsIGZvcm1zLCBndWlkZXMsIHJlcG9ydHMsIHJvbGVzLCBydWxlcywgc3RhdGVzLCB0eXBlcywgdXRpbGl0aWVzLCB2aWV3cywgd2lkZ2V0cyk7XHJcbiAgICAgICAgICB0aGlzLnNhdmluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5kaXJ0eSA9IGZhbHNlXHJcbiAgICAgICAgICB0aGlzLl9zZXNzaW9uLnJlZnJlc2goKS5zdWJzY3JpYmUoKTtcclxuICAgICAgICB9LCBlcnJvcjogKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5fcHMuZXJyb3IoKTtcclxuICAgICAgICAgIHRoaXMuc2F2aW5nID0gZmFsc2VcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgZnVuY3Rpb24gc3RyaXAoZWxlbWVudHM6IEVsZW1lbnRNb2RlbFtdKSB7XHJcbiAgICAgIHJldHVybiBlbGVtZW50cy5tYXAoZSA9PiB7XHJcbiAgICAgICAgY29uc3QgZWxlbWVudCA9IHsgLi4uZSB9O1xyXG4gICAgICAgIGRlbGV0ZSBlbGVtZW50LmluamVjdG9yO1xyXG4gICAgICAgIGRlbGV0ZSBlbGVtZW50LmFyZ3VtZW50cztcclxuICAgICAgICByZXR1cm4gY2xlYW51cChlbGVtZW50KTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBmdW5jdGlvbiBhcHBseSguLi5jb2xsZWN0aW9uOiBFbGVtZW50TW9kZWxbXVtdKSB7XHJcbiAgICAgIGNvbGxlY3Rpb24uZm9yRWFjaChzID0+IHMuZm9yRWFjaChlID0+IGRlbGV0ZSBlLmRyYWZ0KSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbmludGVyZmFjZSBTZWN0aW9uIHtcclxuICBjb21wOiBDb21wb25lbnRUeXBlPGFueT47XHJcbiAgdHlwZTogc3RyaW5nO1xyXG4gIHRpdGxlPzogc3RyaW5nO1xyXG4gIGVsZW1lbnRzOiBFbGVtZW50TW9kZWxbXTtcclxuICB0ZW1wbGF0ZXM/OiBUZW1wbGF0ZUluZm9bXTtcclxuICBoaWRlPzogYm9vbGVhbjtcclxufVxyXG4iLCI8bWF0LXRvb2xiYXI+XHJcbiAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cInNhdmUoKVwiIFtkaXNhYmxlZF09XCIhZGlydHkgfHwgbG9hZGluZyB8fCBzYXZpbmdcIiBbYml6ZG9jVG9vbHRpcF09XCInU2F2ZSd8dHJhbnNsYXRlXCI+PG1hdC1pY29uPnNhdmU8L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gIDxzcGFuIGNsYXNzPVwiZGl2aWRlclwiPjwvc3Bhbj5cclxuICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwib3BlbkZpbHRlcigkZXZlbnQpXCIgW2JpemRvY1Rvb2x0aXBdPVwiJ0ZpbHRlcid8dHJhbnNsYXRlXCIgI2ZpbHRlckVsPjxtYXQtaWNvbj5maWx0ZXJfbGlzdDwvbWF0LWljb24+PC9idXR0b24+XHJcbjwvbWF0LXRvb2xiYXI+XHJcbjxtYXQtcHJvZ3Jlc3MtYmFyIFttb2RlXT1cImxvYWRpbmcgPyAnYnVmZmVyJyA6ICdpbmRldGVybWluYXRlJ1wiIFtzdHlsZS52aXNpYmlsaXR5XT1cImxvYWRpbmcgPyAndmlzaWJsZSc6J2hpZGRlbidcIj48L21hdC1wcm9ncmVzcy1iYXI+XHJcbkBpZiAobG9hZGluZykge1xyXG4gIDxiaXpkb2Mtbm9uZSB0aXRsZT1cIlNldHRpbmdUaGluZ3NVcFwiIHN1YnRpdGxlPVwiUGxlYXNlV2FpdFwiIGljb249XCJhcmNoaXRlY3R1cmVcIj48L2JpemRvYy1ub25lPlxyXG59XHJcbjxkaXY+XHJcbiAgQGZvciAocyBvZiBzZWN0aW9ucyB8IGZpbHRlckJ5OidoaWRlJzogZmFsc2U6IHNlYXJjaEJ5OyB0cmFjayBzKSB7XHJcbiAgICA8c2VjdGlvbj5cclxuICAgICAgPGgyIGNsYXNzPVwibWF0LWgxXCI+e3tzLnRpdGxlfX08L2gyPlxyXG4gICAgICA8IS0tPGhyIC8+LS0+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJlbGVtZW50c1wiIGNka0Ryb3BMaXN0IGNka0Ryb3BMaXN0T3JpZW50YXRpb249XCJob3Jpem9udGFsXCIgW2Nka0Ryb3BMaXN0RGF0YV09XCJzLmVsZW1lbnRzXCIgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJkcm9wKCRldmVudClcIj5cclxuICAgICAgICBAZm9yIChlIG9mIHMuZWxlbWVudHMgfCBmaWx0ZXJCeTonaGlkZSc6IGZhbHNlOiBzZWFyY2hCeTsgdHJhY2sgZSkge1xyXG4gICAgICAgICAgPG1hdC1jYXJkIFtjbGFzcy5kaXNhYmxlZF09XCJlLmRpc2FibGVkXCIgY2RrRHJhZyBjZGtEcmFnUm9vdEVsZW1lbnQ9XCIubWF0LW1kYy1jYXJkLXRpdGxlXCI+XHJcbiAgICAgICAgICAgIDwhLS0gQGl0ZW0tLT5cclxuICAgICAgICAgICAgPG1hdC1jYXJkLWhlYWRlcj5cclxuICAgICAgICAgICAgICA8bWF0LWNhcmQtdGl0bGU+XHJcbiAgICAgICAgICAgICAgICB7e2UudGl0bGV8bG9jYWxpemVkU3RyaW5nfX1cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZGl2aWRlclwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIEBpZiAoZS5oZWxwKSB7XHJcbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBbYml6ZG9jVG9vbHRpcF09XCJlLmhlbHBcIiBbYml6ZG9jVG9vbHRpcER1cmF0aW9uXT1cIjYwMDBcIj5oZWxwX291dGxpbmU8L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIDwvbWF0LWNhcmQtdGl0bGU+XHJcbiAgICAgICAgICAgICAgPG1hdC1jYXJkLXN1YnRpdGxlPlxyXG4gICAgICAgICAgICAgICAge3tlLm5hbWV9fVxyXG4gICAgICAgICAgICAgIDwvbWF0LWNhcmQtc3VidGl0bGU+XHJcbiAgICAgICAgICAgIDwvbWF0LWNhcmQtaGVhZGVyPlxyXG4gICAgICAgICAgICA8bWF0LWNhcmQtY29udGVudD5cclxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0NvbXBvbmVudE91dGxldD1cInMuY29tcDsgaW5qZWN0b3I6IGUuaW5qZWN0b3JcIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPC9tYXQtY2FyZC1jb250ZW50PlxyXG4gICAgICAgICAgICA8bWF0LWNhcmQtYWN0aW9ucyBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgIEBpZiAoIWUuY29weU9mKSB7XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiY29weShzLCBlKVwiIFtiaXpkb2NUb29sdGlwXT1cIidDb3B5J3x0cmFuc2xhdGVcIj48bWF0LWljb24+ZmlsZV9jb3B5PC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgQGlmIChlLmRyYWZ0IHx8IGUuZW1wdHkpIHtcclxuICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJyZW1vdmUocywgZSlcIiBbYml6ZG9jVG9vbHRpcF09XCInRGlzY2FyZCd8dHJhbnNsYXRlXCI+PG1hdC1pY29uPmRlbGV0ZTwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJ0b2dnbGVEaXNhYmxlZChlKVwiIFtiaXpkb2NUb29sdGlwXT1cIihlLmRpc2FibGVkID8gJ0VuYWJsZScgOiAnRGlzYWJsZScpfHRyYW5zbGF0ZVwiPjxtYXQtaWNvbj57e2UuZGlzYWJsZWQgPyAndmlzaWJpbGl0eScgOiAndmlzaWJpbGl0eV9vZmYnfX08L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZGl2aWRlclwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiZWRpdChzLCBlKVwiIFtiaXpkb2NUb29sdGlwXT1cIidTZXR0aW5ncyd8dHJhbnNsYXRlXCI+PG1hdC1pY29uPnNldHRpbmdzPC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9tYXQtY2FyZC1hY3Rpb25zPlxyXG4gICAgICAgICAgPC9tYXQtY2FyZD5cclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIChzLnRlbXBsYXRlcz8ubGVuZ3RoKSB7XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWRkLWVsZW1lbnRcIiBtYXRSaXBwbGUgKGNsaWNrKT1cImFkZChzLCBtZW51VHJpZ2dlciwgJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICA8c3BhbiBbbWF0TWVudVRyaWdnZXJGb3JdPVwidGVtcGxhdGVNZW51XCIgI21lbnVUcmlnZ2VyPVwibWF0TWVudVRyaWdnZXJcIj48L3NwYW4+XHJcbiAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uPjxtYXQtaWNvbiBbYml6ZG9jVG9vbHRpcF09XCInTmV3J3x0cmFuc2xhdGVcIiBkaXNhYmxlUmlwcGxlPVwidHJ1ZVwiPmFkZDwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgICAgICAgICAgIDxtYXQtbWVudSAjdGVtcGxhdGVNZW51PlxyXG4gICAgICAgICAgICAgIEBmb3IgKHQgb2Ygcy50ZW1wbGF0ZXM7IHRyYWNrIHQpIHtcclxuICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwiY3JlYXRlKHMsIHQpXCI+XHJcbiAgICAgICAgICAgICAgICAgIEBpZiAodC5mYW1pbHkpIHtcclxuICAgICAgICAgICAgICAgICAgICA8c3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgIHt7dC5mYW1pbHl9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgJm5ic3A7LSZuYnNwO1xyXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICA8c3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICB7e3QudGl0bGV9fVxyXG4gICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIDwvbWF0LW1lbnU+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICB9XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9zZWN0aW9uPlxyXG4gIH1cclxuPC9kaXY+XHJcbjwhLS0gc2VhcmNoIGZpbHRlcnMgLS0+XHJcbjxuZy10ZW1wbGF0ZSAjZmlsdGVycz5cclxuICA8Zm9ybSBhdXRvY29tcGxldGU9XCJvZmZcIiBjbGFzcz1cImNvbHVtbiBnYXBcIiBbZm9ybUdyb3VwXT1cImZvcm1cIj5cclxuICAgIDxtYXQtZm9ybS1maWVsZCBzdWJzY3JpcHRTaXppbmc9XCJkeW5hbWljXCI+XHJcbiAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJjb250YWluc1wiIGF1dG9jb21wbGV0ZT1cIm9mZlwiIHBsYWNlaG9sZGVyPVwie3snQ29udGFpbnMnIHwgdHJhbnNsYXRlfX1cIiAjY29udGFpbnM+XHJcbiAgICAgIEBpZiAoZm9ybS52YWx1ZS5jb250YWlucykge1xyXG4gICAgICA8YnV0dG9uIG1hdFN1ZmZpeCBtYXQtaWNvbi1idXR0b24gYXJpYS1sYWJlbD1cIlwiIChjbGljayk9XCJmb3JtLmNvbnRyb2xzLmNvbnRhaW5zLnNldFZhbHVlKG51bGwpXCI+XHJcbiAgICAgICAgPG1hdC1pY29uPmNsb3NlPC9tYXQtaWNvbj5cclxuICAgICAgPC9idXR0b24+XHJcbiAgICAgIH1cclxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8bWF0LWZvcm0tZmllbGQgc3Vic2NyaXB0U2l6aW5nPVwiZHluYW1pY1wiPlxyXG4gICAgICA8bWF0LWxhYmVsPnt7J0NhdGVnb3JpZXMnfHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XHJcbiAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT1cInNlY3Rpb25zXCIgbXVsdGlwbGU+XHJcbiAgICAgICAgQGZvciAoYyBvZiBzZWN0aW9ucyB8IHNvcnQgOiAndGl0bGUnOyB0cmFjayBjKSB7XHJcbiAgICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT1cImMudHlwZVwiPnt7Yy50aXRsZX19PC9tYXQtb3B0aW9uPlxyXG4gICAgICAgIH1cclxuICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIEBpZihmYW1pbGllcy5sZW5ndGgpIHtcclxuICAgIDxtYXQtZm9ybS1maWVsZCBzdWJzY3JpcHRTaXppbmc9XCJkeW5hbWljXCI+XHJcbiAgICAgIDxtYXQtbGFiZWw+e3snRmFtaWxpZXMnfHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XHJcbiAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT1cImZhbWlseVwiPlxyXG4gICAgICAgIDxtYXQtb3B0aW9uPnt7J0FsbCd8dHJhbnNsYXRlfX08L21hdC1vcHRpb24+XHJcbiAgICAgICAgQGZvciAoZiBvZiBmYW1pbGllczsgdHJhY2sgZikge1xyXG4gICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCJmXCI+e3tmfX08L21hdC1vcHRpb24+XHJcbiAgICAgICAgfVxyXG4gICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgfVxyXG4gIDwvZm9ybT5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
|
@@ -1,43 +0,0 @@
|
|
1
|
-
import { Component } from "@angular/core";
|
2
|
-
import { DesignerTypeElementComponent } from "../designer.base";
|
3
|
-
import * as i0 from "@angular/core";
|
4
|
-
import * as i1 from "@angular/forms";
|
5
|
-
import * as i2 from "@angular/material/checkbox";
|
6
|
-
import * as i3 from "../../core/color-picker.input";
|
7
|
-
import * as i4 from "../../core/localized-string.component";
|
8
|
-
import * as i5 from "../designer-element.component";
|
9
|
-
import * as i6 from "../../../core/pipes/translate.pipe";
|
10
|
-
const resources = ['you', 'youMale', 'youFemale', 'verb', 'past', 'pastMale', 'pastFemale', 'adjective', 'adjectivePlural'];
|
11
|
-
export class ActionDesignerComponent extends DesignerTypeElementComponent {
|
12
|
-
constructor() {
|
13
|
-
super(...arguments);
|
14
|
-
this.form = this._fb.group({
|
15
|
-
multiple: null,
|
16
|
-
color: null,
|
17
|
-
verb: null,
|
18
|
-
you: null,
|
19
|
-
youMale: null,
|
20
|
-
youFemale: null,
|
21
|
-
titleMale: null,
|
22
|
-
titleFemale: null,
|
23
|
-
past: null,
|
24
|
-
pastMale: null,
|
25
|
-
pastFemale: null,
|
26
|
-
adjective: null,
|
27
|
-
adjectivePlural: null,
|
28
|
-
});
|
29
|
-
}
|
30
|
-
ngOnInit() {
|
31
|
-
if (this.mode !== 'widget') {
|
32
|
-
this.model.resourceType && this.disable(...resources);
|
33
|
-
this._ref.unlock().subscribe(() => this.enable(...resources));
|
34
|
-
}
|
35
|
-
}
|
36
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ActionDesignerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
37
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.5", type: ActionDesignerComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<bizdoc-designer-element [form]=\"form\" [privileges]=\"true\">\r\n <ng-template bizdocEditContent>\r\n <ng-container [formGroup]=\"form\">\r\n <div>\r\n <mat-checkbox formControlName=\"multiple\">{{'EnableMultipleSelection'|translate}}</mat-checkbox>\r\n </div>\r\n <h2 class=\"mat-h2\">{{'Labels'|translate}}</h2>\r\n <bizdoc-localized-string formControlName=\"past\" [placeholder]=\"Past\" required class=\"flex column\"></bizdoc-localized-string>\r\n <bizdoc-localized-string formControlName=\"verb\" [placeholder]=\"Verb\" required class=\"flex column\"></bizdoc-localized-string>\r\n <bizdoc-localized-string formControlName=\"adjective\" [placeholder]=\"Adjective\" required class=\"flex column\"></bizdoc-localized-string>\r\n <bizdoc-localized-string formControlName=\"adjectivePlural\" [placeholder]=\"AdjectivePlural\" required class=\"flex column\"></bizdoc-localized-string>\r\n <bizdoc-localized-string formControlName=\"you\" [placeholder]=\"You\" required class=\"flex column\"></bizdoc-localized-string>\r\n <div>\r\n <bizdoc-color-picker formControlName=\"color\" [label]=\"'Color'|translate\" class=\"flex\"></bizdoc-color-picker>\r\n </div>\r\n </ng-container>\r\n </ng-template>\r\n</bizdoc-designer-element>\r\n", dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i2.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "component", type: i3.ColorPicker, selector: "bizdoc-color-picker", inputs: ["label", "value", "required", "disabled"], outputs: ["valueChanges"] }, { kind: "component", type: i4.LocalizedStringComponent, selector: "bizdoc-localized-string", inputs: ["class", "floatLabel", "value", "placeholder", "required", "disabled", "maxlength"] }, { kind: "directive", type: i5.EditContentDirective, selector: "[bizdocEditContent]" }, { kind: "component", type: i5.DesignerItemComponent, selector: "bizdoc-designer-element", inputs: ["privileges", "icon", "form", "context"], outputs: ["save", "continue"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
|
38
|
-
}
|
39
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ActionDesignerComponent, decorators: [{
|
40
|
-
type: Component,
|
41
|
-
args: [{ template: "<bizdoc-designer-element [form]=\"form\" [privileges]=\"true\">\r\n <ng-template bizdocEditContent>\r\n <ng-container [formGroup]=\"form\">\r\n <div>\r\n <mat-checkbox formControlName=\"multiple\">{{'EnableMultipleSelection'|translate}}</mat-checkbox>\r\n </div>\r\n <h2 class=\"mat-h2\">{{'Labels'|translate}}</h2>\r\n <bizdoc-localized-string formControlName=\"past\" [placeholder]=\"Past\" required class=\"flex column\"></bizdoc-localized-string>\r\n <bizdoc-localized-string formControlName=\"verb\" [placeholder]=\"Verb\" required class=\"flex column\"></bizdoc-localized-string>\r\n <bizdoc-localized-string formControlName=\"adjective\" [placeholder]=\"Adjective\" required class=\"flex column\"></bizdoc-localized-string>\r\n <bizdoc-localized-string formControlName=\"adjectivePlural\" [placeholder]=\"AdjectivePlural\" required class=\"flex column\"></bizdoc-localized-string>\r\n <bizdoc-localized-string formControlName=\"you\" [placeholder]=\"You\" required class=\"flex column\"></bizdoc-localized-string>\r\n <div>\r\n <bizdoc-color-picker formControlName=\"color\" [label]=\"'Color'|translate\" class=\"flex\"></bizdoc-color-picker>\r\n </div>\r\n </ng-container>\r\n </ng-template>\r\n</bizdoc-designer-element>\r\n" }]
|
42
|
-
}] });
|
43
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi9hZG1pbi9hcmNoaXRlY3R1cmUvZWxlbWVudHMvYWN0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi9hZG1pbi9hcmNoaXRlY3R1cmUvZWxlbWVudHMvYWN0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7Ozs7O0FBRWhFLE1BQU0sU0FBUyxHQUFHLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO0FBRTVILE1BQU0sT0FBTyx1QkFBd0IsU0FBUSw0QkFBNEI7SUFEekU7O1FBRUUsU0FBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDO1lBQ3BCLFFBQVEsRUFBRSxJQUFJO1lBQ2QsS0FBSyxFQUFFLElBQUk7WUFDWCxJQUFJLEVBQUUsSUFBSTtZQUNWLEdBQUcsRUFBRSxJQUFJO1lBQ1QsT0FBTyxFQUFFLElBQUk7WUFDYixTQUFTLEVBQUUsSUFBSTtZQUNmLFNBQVMsRUFBRSxJQUFJO1lBQ2YsV0FBVyxFQUFFLElBQUk7WUFDakIsSUFBSSxFQUFFLElBQUk7WUFDVixRQUFRLEVBQUUsSUFBSTtZQUNkLFVBQVUsRUFBRSxJQUFJO1lBQ2hCLFNBQVMsRUFBRSxJQUFJO1lBQ2YsZUFBZSxFQUFFLElBQUk7U0FDdEIsQ0FBQyxDQUFDO0tBT0o7SUFOQyxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxTQUFTLENBQUMsQ0FBQztZQUN0RCxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUNoRSxDQUFDO0lBQ0gsQ0FBQzs4R0FyQlUsdUJBQXVCO2tHQUF2Qix1QkFBdUIsMkVDTHBDLDJ4Q0FrQkE7OzJGRGJhLHVCQUF1QjtrQkFEbkMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IERlc2lnbmVyVHlwZUVsZW1lbnRDb21wb25lbnQgfSBmcm9tIFwiLi4vZGVzaWduZXIuYmFzZVwiO1xyXG5cclxuY29uc3QgcmVzb3VyY2VzID0gWyd5b3UnLCAneW91TWFsZScsICd5b3VGZW1hbGUnLCAndmVyYicsICdwYXN0JywgJ3Bhc3RNYWxlJywgJ3Bhc3RGZW1hbGUnLCAnYWRqZWN0aXZlJywgJ2FkamVjdGl2ZVBsdXJhbCddO1xyXG5AQ29tcG9uZW50KHsgdGVtcGxhdGVVcmw6ICdhY3Rpb24uY29tcG9uZW50Lmh0bWwnIH0pXHJcbmV4cG9ydCBjbGFzcyBBY3Rpb25EZXNpZ25lckNvbXBvbmVudCBleHRlbmRzIERlc2lnbmVyVHlwZUVsZW1lbnRDb21wb25lbnQge1xyXG4gIGZvcm0gPSB0aGlzLl9mYi5ncm91cCh7XHJcbiAgICBtdWx0aXBsZTogbnVsbCxcclxuICAgIGNvbG9yOiBudWxsLFxyXG4gICAgdmVyYjogbnVsbCxcclxuICAgIHlvdTogbnVsbCxcclxuICAgIHlvdU1hbGU6IG51bGwsXHJcbiAgICB5b3VGZW1hbGU6IG51bGwsXHJcbiAgICB0aXRsZU1hbGU6IG51bGwsXHJcbiAgICB0aXRsZUZlbWFsZTogbnVsbCxcclxuICAgIHBhc3Q6IG51bGwsXHJcbiAgICBwYXN0TWFsZTogbnVsbCxcclxuICAgIHBhc3RGZW1hbGU6IG51bGwsXHJcbiAgICBhZGplY3RpdmU6IG51bGwsXHJcbiAgICBhZGplY3RpdmVQbHVyYWw6IG51bGwsXHJcbiAgfSk7XHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBpZiAodGhpcy5tb2RlICE9PSAnd2lkZ2V0Jykge1xyXG4gICAgICB0aGlzLm1vZGVsLnJlc291cmNlVHlwZSAmJiB0aGlzLmRpc2FibGUoLi4ucmVzb3VyY2VzKTtcclxuICAgICAgdGhpcy5fcmVmLnVubG9jaygpLnN1YnNjcmliZSgoKSA9PiB0aGlzLmVuYWJsZSguLi5yZXNvdXJjZXMpKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGJpemRvYy1kZXNpZ25lci1lbGVtZW50IFtmb3JtXT1cImZvcm1cIiBbcHJpdmlsZWdlc109XCJ0cnVlXCI+XHJcbiAgPG5nLXRlbXBsYXRlIGJpemRvY0VkaXRDb250ZW50PlxyXG4gICAgPG5nLWNvbnRhaW5lciBbZm9ybUdyb3VwXT1cImZvcm1cIj5cclxuICAgICAgPGRpdj5cclxuICAgICAgICA8bWF0LWNoZWNrYm94IGZvcm1Db250cm9sTmFtZT1cIm11bHRpcGxlXCI+e3snRW5hYmxlTXVsdGlwbGVTZWxlY3Rpb24nfHRyYW5zbGF0ZX19PC9tYXQtY2hlY2tib3g+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8aDIgY2xhc3M9XCJtYXQtaDJcIj57eydMYWJlbHMnfHRyYW5zbGF0ZX19PC9oMj5cclxuICAgICAgPGJpemRvYy1sb2NhbGl6ZWQtc3RyaW5nIGZvcm1Db250cm9sTmFtZT1cInBhc3RcIiBbcGxhY2Vob2xkZXJdPVwiUGFzdFwiIHJlcXVpcmVkIGNsYXNzPVwiZmxleCBjb2x1bW5cIj48L2JpemRvYy1sb2NhbGl6ZWQtc3RyaW5nPlxyXG4gICAgICA8Yml6ZG9jLWxvY2FsaXplZC1zdHJpbmcgZm9ybUNvbnRyb2xOYW1lPVwidmVyYlwiIFtwbGFjZWhvbGRlcl09XCJWZXJiXCIgcmVxdWlyZWQgY2xhc3M9XCJmbGV4IGNvbHVtblwiPjwvYml6ZG9jLWxvY2FsaXplZC1zdHJpbmc+XHJcbiAgICAgIDxiaXpkb2MtbG9jYWxpemVkLXN0cmluZyBmb3JtQ29udHJvbE5hbWU9XCJhZGplY3RpdmVcIiBbcGxhY2Vob2xkZXJdPVwiQWRqZWN0aXZlXCIgcmVxdWlyZWQgY2xhc3M9XCJmbGV4IGNvbHVtblwiPjwvYml6ZG9jLWxvY2FsaXplZC1zdHJpbmc+XHJcbiAgICAgIDxiaXpkb2MtbG9jYWxpemVkLXN0cmluZyBmb3JtQ29udHJvbE5hbWU9XCJhZGplY3RpdmVQbHVyYWxcIiBbcGxhY2Vob2xkZXJdPVwiQWRqZWN0aXZlUGx1cmFsXCIgcmVxdWlyZWQgY2xhc3M9XCJmbGV4IGNvbHVtblwiPjwvYml6ZG9jLWxvY2FsaXplZC1zdHJpbmc+XHJcbiAgICAgIDxiaXpkb2MtbG9jYWxpemVkLXN0cmluZyBmb3JtQ29udHJvbE5hbWU9XCJ5b3VcIiBbcGxhY2Vob2xkZXJdPVwiWW91XCIgcmVxdWlyZWQgY2xhc3M9XCJmbGV4IGNvbHVtblwiPjwvYml6ZG9jLWxvY2FsaXplZC1zdHJpbmc+XHJcbiAgICAgIDxkaXY+XHJcbiAgICAgICAgPGJpemRvYy1jb2xvci1waWNrZXIgZm9ybUNvbnRyb2xOYW1lPVwiY29sb3JcIiBbbGFiZWxdPVwiJ0NvbG9yJ3x0cmFuc2xhdGVcIiBjbGFzcz1cImZsZXhcIj48L2JpemRvYy1jb2xvci1waWNrZXI+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuPC9iaXpkb2MtZGVzaWduZXItZWxlbWVudD5cclxuIl19
|