@bizdoc/core 3.2.10 → 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 +2068 -1866
- 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/compose/trace/trace.base.d.ts +1 -1
- package/lib/core/base.d.ts +5 -0
- package/lib/core/fields/options.base.d.ts +2 -2
- 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/tagging/tagging.component-base.d.ts +1 -1
- package/lib/core/translate.service.d.ts +2 -2
- 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/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 -110
- 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 -343
- 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 -1193
- 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 -238
- 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 -136
- 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 -65
- 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 -63
- 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 -43
- 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 -84
- 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,48 +0,0 @@
|
|
1
|
-
import { Component, ViewChild } from '@angular/core';
|
2
|
-
import { FlowViewComponent } from './flow.component';
|
3
|
-
import { TraceViewComponent } from './trace.component';
|
4
|
-
import * as i0 from "@angular/core";
|
5
|
-
import * as i1 from "../../core/translate.service";
|
6
|
-
import * as i2 from "../../core/slots/pane-ref";
|
7
|
-
import * as i3 from "../../core/slots/router.service";
|
8
|
-
import * as i4 from "./trace.component";
|
9
|
-
import * as i5 from "./flow.component";
|
10
|
-
export class TracePaneComponent {
|
11
|
-
constructor(translate, _pane, _router) {
|
12
|
-
this._pane = _pane;
|
13
|
-
this._router = _router;
|
14
|
-
_pane.title = translate.get('Trace');
|
15
|
-
}
|
16
|
-
ngOnInit() {
|
17
|
-
this._pane.dataChange().subscribe(d => {
|
18
|
-
if (this.model == d['item']) {
|
19
|
-
this.trace.refresh();
|
20
|
-
this.flow.refresh();
|
21
|
-
}
|
22
|
-
this.model = d['item'];
|
23
|
-
this._pane.group = `#${this.model.number}`;
|
24
|
-
});
|
25
|
-
this._pane.resized().subscribe(this.flow.resize.bind(this));
|
26
|
-
}
|
27
|
-
showVersion(time) {
|
28
|
-
this._router.navigate(['..', 'version', new Date(time).valueOf().encodeId()], {
|
29
|
-
relativeTo: this._pane,
|
30
|
-
state: {
|
31
|
-
item: this.model
|
32
|
-
}
|
33
|
-
});
|
34
|
-
}
|
35
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: TracePaneComponent, deps: [{ token: i1.TranslateService }, { token: i2.PaneRef }, { token: i3.PanesRouter }], target: i0.ɵɵFactoryTarget.Component }); }
|
36
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.5", type: TracePaneComponent, selector: "ng-component", viewQueries: [{ propertyName: "trace", first: true, predicate: TraceViewComponent, descendants: true, static: true }, { propertyName: "flow", first: true, predicate: FlowViewComponent, descendants: true, static: true }], ngImport: i0, template: "<bizdoc-trace [model]=\"model\" [version]=\"model.version\" (versionSelected)=\"showVersion($event)\"></bizdoc-trace>\r\n\r\n<bizdoc-flow [model]=\"model\" [version]=\"model.version\"></bizdoc-flow>\r\n", styles: [":host{padding:0 8px;display:block;min-width:400px;width:100%}\n"], dependencies: [{ kind: "component", type: i4.TraceViewComponent, selector: "bizdoc-trace", inputs: ["model", "version"], outputs: ["versionSelected"] }, { kind: "component", type: i5.FlowViewComponent, selector: "bizdoc-flow", inputs: ["model", "version", "connectorType"] }] }); }
|
37
|
-
}
|
38
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: TracePaneComponent, decorators: [{
|
39
|
-
type: Component,
|
40
|
-
args: [{ template: "<bizdoc-trace [model]=\"model\" [version]=\"model.version\" (versionSelected)=\"showVersion($event)\"></bizdoc-trace>\r\n\r\n<bizdoc-flow [model]=\"model\" [version]=\"model.version\"></bizdoc-flow>\r\n", styles: [":host{padding:0 8px;display:block;min-width:400px;width:100%}\n"] }]
|
41
|
-
}], ctorParameters: () => [{ type: i1.TranslateService }, { type: i2.PaneRef }, { type: i3.PanesRouter }], propDecorators: { trace: [{
|
42
|
-
type: ViewChild,
|
43
|
-
args: [TraceViewComponent, { static: true }]
|
44
|
-
}], flow: [{
|
45
|
-
type: ViewChild,
|
46
|
-
args: [FlowViewComponent, { static: true }]
|
47
|
-
}] } });
|
48
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhY2UucGFuZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvY29tcG9zZS90cmFjZS90cmFjZS5wYW5lLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi9jb21wb3NlL3RyYWNlL3RyYWNlLnBhbmUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFLN0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDckQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7Ozs7QUFNdkQsTUFBTSxPQUFPLGtCQUFrQjtJQUk3QixZQUFZLFNBQTJCLEVBQzdCLEtBQWtDLEVBQ2xDLE9BQW9CO1FBRHBCLFVBQUssR0FBTCxLQUFLLENBQTZCO1FBQ2xDLFlBQU8sR0FBUCxPQUFPLENBQWE7UUFFNUIsS0FBSyxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFDRCxRQUFRO1FBQ04sSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDcEMsSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO2dCQUM1QixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUNyQixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3RCLENBQUM7WUFDRCxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN2QixJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDN0MsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLFNBQVMsQ0FDNUIsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUM1QixDQUFDO0lBQ0osQ0FBQztJQUNELFdBQVcsQ0FBQyxJQUFVO1FBQ3BCLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxFQUFFO1lBQzVFLFVBQVUsRUFBRSxJQUFJLENBQUMsS0FBSztZQUN0QixLQUFLLEVBQUU7Z0JBQ0wsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLO2FBQ2pCO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0E5QlUsa0JBQWtCO2tHQUFsQixrQkFBa0IsMkZBRWxCLGtCQUFrQixxRkFDbEIsaUJBQWlCLDhEQ2Y5Qiw0TUFHQTs7MkZEU2Esa0JBQWtCO2tCQUo5QixTQUFTOztxSUFNeUMsS0FBSztzQkFBckQsU0FBUzt1QkFBQyxrQkFBa0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBQ0MsSUFBSTtzQkFBbkQsU0FBUzt1QkFBQyxpQkFBaUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERvY3VtZW50TW9kZWwgfSBmcm9tICcuLi8uLi9jb3JlL21vZGVscyc7XHJcbmltcG9ydCB7IFBhbmVzUm91dGVyIH0gZnJvbSAnLi4vLi4vY29yZS9zbG90cy9yb3V0ZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IFBhbmVSZWYgfSBmcm9tICcuLi8uLi9jb3JlL3Nsb3RzL3BhbmUtcmVmJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvdHJhbnNsYXRlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBGbG93Vmlld0NvbXBvbmVudCB9IGZyb20gJy4vZmxvdy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUcmFjZVZpZXdDb21wb25lbnQgfSBmcm9tICcuL3RyYWNlLmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZVVybDogJy4vdHJhY2UucGFuZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdHJhY2UucGFuZS5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcmFjZVBhbmVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIG1vZGVsOiBEb2N1bWVudE1vZGVsPGFueT47XHJcbiAgQFZpZXdDaGlsZChUcmFjZVZpZXdDb21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pIHRyYWNlOiBUcmFjZVZpZXdDb21wb25lbnQ7XHJcbiAgQFZpZXdDaGlsZChGbG93Vmlld0NvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSkgZmxvdzogRmxvd1ZpZXdDb21wb25lbnQ7XHJcbiAgY29uc3RydWN0b3IodHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfcGFuZTogUGFuZVJlZjxUcmFjZVBhbmVDb21wb25lbnQ+LFxyXG4gICAgcHJpdmF0ZSBfcm91dGVyOiBQYW5lc1JvdXRlclxyXG4gICkge1xyXG4gICAgX3BhbmUudGl0bGUgPSB0cmFuc2xhdGUuZ2V0KCdUcmFjZScpO1xyXG4gIH1cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuX3BhbmUuZGF0YUNoYW5nZSgpLnN1YnNjcmliZShkID0+IHtcclxuICAgICAgaWYgKHRoaXMubW9kZWwgPT0gZFsnaXRlbSddKSB7XHJcbiAgICAgICAgdGhpcy50cmFjZS5yZWZyZXNoKCk7XHJcbiAgICAgICAgdGhpcy5mbG93LnJlZnJlc2goKTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLm1vZGVsID0gZFsnaXRlbSddO1xyXG4gICAgICB0aGlzLl9wYW5lLmdyb3VwID0gYCMke3RoaXMubW9kZWwubnVtYmVyfWA7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuX3BhbmUucmVzaXplZCgpLnN1YnNjcmliZShcclxuICAgICAgdGhpcy5mbG93LnJlc2l6ZS5iaW5kKHRoaXMpXHJcbiAgICApO1xyXG4gIH1cclxuICBzaG93VmVyc2lvbih0aW1lOiBEYXRlKSB7XHJcbiAgICB0aGlzLl9yb3V0ZXIubmF2aWdhdGUoWycuLicsICd2ZXJzaW9uJywgbmV3IERhdGUodGltZSkudmFsdWVPZigpLmVuY29kZUlkKCldLCB7XHJcbiAgICAgIHJlbGF0aXZlVG86IHRoaXMuX3BhbmUsXHJcbiAgICAgIHN0YXRlOiB7XHJcbiAgICAgICAgaXRlbTogdGhpcy5tb2RlbFxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiPGJpemRvYy10cmFjZSBbbW9kZWxdPVwibW9kZWxcIiBbdmVyc2lvbl09XCJtb2RlbC52ZXJzaW9uXCIgKHZlcnNpb25TZWxlY3RlZCk9XCJzaG93VmVyc2lvbigkZXZlbnQpXCI+PC9iaXpkb2MtdHJhY2U+XHJcblxyXG48Yml6ZG9jLWZsb3cgW21vZGVsXT1cIm1vZGVsXCIgW3ZlcnNpb25dPVwibW9kZWwudmVyc2lvblwiPjwvYml6ZG9jLWZsb3c+XHJcbiJdfQ==
|
@@ -1,58 +0,0 @@
|
|
1
|
-
import { Component, Injector, Input } from '@angular/core';
|
2
|
-
import { DOCUMENT_MODEL } from '../../core/mailbox.service';
|
3
|
-
import { FormRef } from '../../compose/form-ref';
|
4
|
-
import * as i0 from "@angular/core";
|
5
|
-
import * as i1 from "../../core/session.service";
|
6
|
-
import * as i2 from "../../core/router";
|
7
|
-
import * as i3 from "../../core/component-factory-resolver";
|
8
|
-
/** component*/
|
9
|
-
export class VersionCompareComponent {
|
10
|
-
get form() { return this._form; }
|
11
|
-
get currentVersion() { return this._currentVersion; }
|
12
|
-
get baseVersion() { return this._baseVersion; }
|
13
|
-
/** ctor */
|
14
|
-
constructor(_session, _router, _cf, _container, _injector) {
|
15
|
-
this._session = _session;
|
16
|
-
this._router = _router;
|
17
|
-
this._cf = _cf;
|
18
|
-
this._container = _container;
|
19
|
-
this._injector = _injector;
|
20
|
-
}
|
21
|
-
ngOnChanges(_) {
|
22
|
-
this._form = this._session.profile.forms.find(f => f.name === this.model.formId);
|
23
|
-
const log = this.model.log.find(l => l.type === 'ModelChange' && l.time === this.version);
|
24
|
-
const idx = this.model.log.indexOf(log);
|
25
|
-
const base = this.model.log.find((l, i) => l.type === 'ModelChange' && i > idx);
|
26
|
-
this._baseVersion = log.model;
|
27
|
-
this._currentVersion = JSON.parse(JSON.stringify(base ? base.model : this.model.model));
|
28
|
-
// TODO: template box
|
29
|
-
const component = this._cf.component(this._form.template);
|
30
|
-
const injector = Injector.create({
|
31
|
-
providers: [
|
32
|
-
{ provide: VersionCompareComponent, useValue: this },
|
33
|
-
{ provide: FormRef, useValue: new FormRef(this._router, this._form) },
|
34
|
-
{ provide: DOCUMENT_MODEL, useValue: this.model }
|
35
|
-
], parent: this._injector
|
36
|
-
});
|
37
|
-
this._container.clear();
|
38
|
-
const componentRef = this._container.createComponent(component, { injector });
|
39
|
-
const instance = componentRef.instance;
|
40
|
-
instance.mode = 'version';
|
41
|
-
const newModel = Object.assign({}, this.model, { model: this._currentVersion });
|
42
|
-
instance.onBind(newModel, this._baseVersion);
|
43
|
-
}
|
44
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: VersionCompareComponent, deps: [{ token: i1.SessionService }, { token: i2.RouterImpl }, { token: i3.BizDocComponentFactoryResolver }, { token: i0.ViewContainerRef }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
|
45
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.5", type: VersionCompareComponent, selector: "bizdoc-version-compare", inputs: { model: "model", version: "version" }, usesOnChanges: true, ngImport: i0, template: '', isInline: true }); }
|
46
|
-
}
|
47
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: VersionCompareComponent, decorators: [{
|
48
|
-
type: Component,
|
49
|
-
args: [{
|
50
|
-
selector: 'bizdoc-version-compare',
|
51
|
-
template: ''
|
52
|
-
}]
|
53
|
-
}], ctorParameters: () => [{ type: i1.SessionService }, { type: i2.RouterImpl }, { type: i3.BizDocComponentFactoryResolver }, { type: i0.ViewContainerRef }, { type: i0.Injector }], propDecorators: { model: [{
|
54
|
-
type: Input
|
55
|
-
}], version: [{
|
56
|
-
type: Input
|
57
|
-
}] } });
|
58
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi1jb21wYXJlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi9jb21wb3NlL3ZlcnNpb24tY29tcGFyZS92ZXJzaW9uLWNvbXBhcmUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQW9CLFFBQVEsRUFBRSxLQUFLLEVBQTRCLE1BQU0sZUFBZSxDQUFDO0FBR3ZHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUc1RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7O0FBT2pELGVBQWU7QUFDZixNQUFNLE9BQU8sdUJBQXVCO0lBTWxDLElBQVcsSUFBSSxLQUFXLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDOUMsSUFBVyxjQUFjLEtBQVUsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQztJQUNqRSxJQUFXLFdBQVcsS0FBVSxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO0lBQzNELFdBQVc7SUFDWCxZQUFvQixRQUF3QixFQUNsQyxPQUFtQixFQUNuQixHQUFtQyxFQUNuQyxVQUE0QixFQUM1QixTQUFtQjtRQUpULGFBQVEsR0FBUixRQUFRLENBQWdCO1FBQ2xDLFlBQU8sR0FBUCxPQUFPLENBQVk7UUFDbkIsUUFBRyxHQUFILEdBQUcsQ0FBZ0M7UUFDbkMsZUFBVSxHQUFWLFVBQVUsQ0FBa0I7UUFDNUIsY0FBUyxHQUFULFNBQVMsQ0FBVTtJQUM3QixDQUFDO0lBQ0QsV0FBVyxDQUFDLENBQWdCO1FBQzFCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUUsQ0FBQztRQUNsRixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLGFBQWEsSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxPQUFPLENBQUUsQ0FBQztRQUMzRixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDeEMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxhQUFhLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQ2hGLElBQUksQ0FBQyxZQUFZLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQztRQUM5QixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUN4RixxQkFBcUI7UUFDckIsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFTLENBQUMsQ0FBQztRQUMzRCxNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDO1lBQy9CLFNBQVMsRUFBRTtnQkFDVCxFQUFFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUNwRCxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUNyRSxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUU7YUFDbEQsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLFNBQVM7U0FDMUIsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN4QixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQyxTQUFTLEVBQUUsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQzlFLE1BQU0sUUFBUSxHQUFHLFlBQVksQ0FBQyxRQUE4QixDQUFDO1FBQzdELFFBQVEsQ0FBQyxJQUFJLEdBQUcsU0FBUyxDQUFDO1FBQzFCLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUM7UUFDaEYsUUFBUSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQy9DLENBQUM7OEdBdENVLHVCQUF1QjtrR0FBdkIsdUJBQXVCLG1JQUh4QixFQUFFOzsyRkFHRCx1QkFBdUI7a0JBTG5DLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHdCQUF3QjtvQkFDbEMsUUFBUSxFQUFFLEVBQUU7aUJBQ2I7K01BR1UsS0FBSztzQkFBYixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgVmlld0NvbnRhaW5lclJlZiwgSW5qZWN0b3IsIElucHV0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybSwgRG9jdW1lbnRNb2RlbCB9IGZyb20gJy4uLy4uL2NvcmUvbW9kZWxzJztcclxuaW1wb3J0IHsgRm9ybUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvcmUvYmFzZSc7XHJcbmltcG9ydCB7IERPQ1VNRU5UX01PREVMIH0gZnJvbSAnLi4vLi4vY29yZS9tYWlsYm94LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTZXNzaW9uU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvc2Vzc2lvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQml6RG9jQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyIH0gZnJvbSAnLi4vLi4vY29yZS9jb21wb25lbnQtZmFjdG9yeS1yZXNvbHZlcic7XHJcbmltcG9ydCB7IEZvcm1SZWYgfSBmcm9tICcuLi8uLi9jb21wb3NlL2Zvcm0tcmVmJztcclxuaW1wb3J0IHsgUm91dGVySW1wbCB9IGZyb20gJy4uLy4uL2NvcmUvcm91dGVyJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYml6ZG9jLXZlcnNpb24tY29tcGFyZScsXHJcbiAgdGVtcGxhdGU6ICcnXHJcbn0pXHJcbi8qKiBjb21wb25lbnQqL1xyXG5leHBvcnQgY2xhc3MgVmVyc2lvbkNvbXBhcmVDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xyXG4gIEBJbnB1dCgpIG1vZGVsOiBEb2N1bWVudE1vZGVsPGFueT47XHJcbiAgQElucHV0KCkgdmVyc2lvbjogRGF0ZTtcclxuICBwcml2YXRlIF9jdXJyZW50VmVyc2lvbjogYW55O1xyXG4gIHByaXZhdGUgX2Jhc2VWZXJzaW9uPzogYW55O1xyXG4gIHByaXZhdGUgX2Zvcm06IEZvcm07XHJcbiAgcHVibGljIGdldCBmb3JtKCk6IEZvcm0geyByZXR1cm4gdGhpcy5fZm9ybTsgfVxyXG4gIHB1YmxpYyBnZXQgY3VycmVudFZlcnNpb24oKTogYW55IHsgcmV0dXJuIHRoaXMuX2N1cnJlbnRWZXJzaW9uOyB9XHJcbiAgcHVibGljIGdldCBiYXNlVmVyc2lvbigpOiBhbnkgeyByZXR1cm4gdGhpcy5fYmFzZVZlcnNpb247IH1cclxuICAvKiogY3RvciAqL1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX3Nlc3Npb246IFNlc3Npb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfcm91dGVyOiBSb3V0ZXJJbXBsLFxyXG4gICAgcHJpdmF0ZSBfY2Y6IEJpekRvY0NvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcclxuICAgIHByaXZhdGUgX2NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZixcclxuICAgIHByaXZhdGUgX2luamVjdG9yOiBJbmplY3Rvcikge1xyXG4gIH1cclxuICBuZ09uQ2hhbmdlcyhfOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICB0aGlzLl9mb3JtID0gdGhpcy5fc2Vzc2lvbi5wcm9maWxlLmZvcm1zLmZpbmQoZiA9PiBmLm5hbWUgPT09IHRoaXMubW9kZWwuZm9ybUlkKSE7XHJcbiAgICBjb25zdCBsb2cgPSB0aGlzLm1vZGVsLmxvZy5maW5kKGwgPT4gbC50eXBlID09PSAnTW9kZWxDaGFuZ2UnICYmIGwudGltZSA9PT0gdGhpcy52ZXJzaW9uKSE7XHJcbiAgICBjb25zdCBpZHggPSB0aGlzLm1vZGVsLmxvZy5pbmRleE9mKGxvZyk7XHJcbiAgICBjb25zdCBiYXNlID0gdGhpcy5tb2RlbC5sb2cuZmluZCgobCwgaSkgPT4gbC50eXBlID09PSAnTW9kZWxDaGFuZ2UnICYmIGkgPiBpZHgpO1xyXG4gICAgdGhpcy5fYmFzZVZlcnNpb24gPSBsb2cubW9kZWw7XHJcbiAgICB0aGlzLl9jdXJyZW50VmVyc2lvbiA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoYmFzZSA/IGJhc2UubW9kZWwgOiB0aGlzLm1vZGVsLm1vZGVsKSk7XHJcbiAgICAvLyBUT0RPOiB0ZW1wbGF0ZSBib3hcclxuICAgIGNvbnN0IGNvbXBvbmVudCA9IHRoaXMuX2NmLmNvbXBvbmVudCh0aGlzLl9mb3JtLnRlbXBsYXRlISk7XHJcbiAgICBjb25zdCBpbmplY3RvciA9IEluamVjdG9yLmNyZWF0ZSh7XHJcbiAgICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIHsgcHJvdmlkZTogVmVyc2lvbkNvbXBhcmVDb21wb25lbnQsIHVzZVZhbHVlOiB0aGlzIH0sXHJcbiAgICAgICAgeyBwcm92aWRlOiBGb3JtUmVmLCB1c2VWYWx1ZTogbmV3IEZvcm1SZWYodGhpcy5fcm91dGVyLCB0aGlzLl9mb3JtKSB9LFxyXG4gICAgICAgIHsgcHJvdmlkZTogRE9DVU1FTlRfTU9ERUwsIHVzZVZhbHVlOiB0aGlzLm1vZGVsIH1cclxuICAgICAgXSwgcGFyZW50OiB0aGlzLl9pbmplY3RvclxyXG4gICAgfSk7XHJcbiAgICB0aGlzLl9jb250YWluZXIuY2xlYXIoKTtcclxuICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHRoaXMuX2NvbnRhaW5lci5jcmVhdGVDb21wb25lbnQoY29tcG9uZW50LCB7IGluamVjdG9yIH0pO1xyXG4gICAgY29uc3QgaW5zdGFuY2UgPSBjb21wb25lbnRSZWYuaW5zdGFuY2UgYXMgRm9ybUNvbXBvbmVudDxhbnk+O1xyXG4gICAgaW5zdGFuY2UubW9kZSA9ICd2ZXJzaW9uJztcclxuICAgIGNvbnN0IG5ld01vZGVsID0gT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5tb2RlbCwgeyBtb2RlbDogdGhpcy5fY3VycmVudFZlcnNpb24gfSk7XHJcbiAgICBpbnN0YW5jZS5vbkJpbmQobmV3TW9kZWwsIHRoaXMuX2Jhc2VWZXJzaW9uKTtcclxuICB9XHJcbn1cclxuIl19
|
@@ -1,343 +0,0 @@
|
|
1
|
-
import { Input, Directive, Optional, Host, SkipSelf } from "@angular/core";
|
2
|
-
import { isObject } from "../../core/functions";
|
3
|
-
import * as i0 from "@angular/core";
|
4
|
-
import * as i1 from "./version-compare.component";
|
5
|
-
import * as i2 from "../../core/translate.service";
|
6
|
-
import * as i3 from "@angular/platform-browser";
|
7
|
-
var CompareState;
|
8
|
-
(function (CompareState) {
|
9
|
-
CompareState[CompareState["Removed"] = -1] = "Removed";
|
10
|
-
CompareState[CompareState["Unchanged"] = 0] = "Unchanged";
|
11
|
-
CompareState[CompareState["Added"] = 1] = "Added";
|
12
|
-
CompareState[CompareState["Modified"] = 2] = "Modified";
|
13
|
-
})(CompareState || (CompareState = {}));
|
14
|
-
export class CompareDirectiveBase {
|
15
|
-
}
|
16
|
-
/** */
|
17
|
-
export class CompareGroupDirective extends CompareDirectiveBase {
|
18
|
-
get structure() { return this._structure; }
|
19
|
-
get base() { return this._base ? this._base[this.name] : null; }
|
20
|
-
get version() { return this._version[this.name]; }
|
21
|
-
get keys() { return this._keys; }
|
22
|
-
constructor(_comparision, _context, _parent) {
|
23
|
-
super();
|
24
|
-
this._comparision = _comparision;
|
25
|
-
this._context = _context;
|
26
|
-
this._parent = _parent;
|
27
|
-
}
|
28
|
-
ngOnInit() {
|
29
|
-
if (!this._comparision)
|
30
|
-
return;
|
31
|
-
if (this._context) {
|
32
|
-
const { base, structure, version } = this._context;
|
33
|
-
this._structure = structure.controls.find(e => e.name === this.name);
|
34
|
-
this._base = base;
|
35
|
-
this._version = version;
|
36
|
-
}
|
37
|
-
else if (this._parent) {
|
38
|
-
const { base, structure, version } = this._parent;
|
39
|
-
this._structure = structure.controls.find(e => e.name === this.name);
|
40
|
-
this._base = base;
|
41
|
-
this._version = version;
|
42
|
-
}
|
43
|
-
else {
|
44
|
-
const { form, currentVersion, baseVersion } = this._comparision;
|
45
|
-
this._structure = form.fields.find(e => e.name === this.name);
|
46
|
-
this._base = baseVersion;
|
47
|
-
this._version = currentVersion;
|
48
|
-
}
|
49
|
-
if (!this._structure)
|
50
|
-
throw `No form field with name ${this.name}`;
|
51
|
-
if (!this._structure.flags || this._structure.flags.indexOf('IsObject') < 0)
|
52
|
-
throw `bizdocCompareGroup ${this.name} not an object.`;
|
53
|
-
if (this._structure.flags && this.structure.flags.indexOf('IsArray') > -1) {
|
54
|
-
this._keys = this.structure.controls.filter(c => c.flags && c.flags.indexOf('Key') > -1).map(k => k.name);
|
55
|
-
this.base.forEach((b, i) => !this.version.find(v => this._keys.every(k => v[k] === b[k])) /* doesn't have a version */ &&
|
56
|
-
this.version.splice(i, 0, Object.assign({ _compare: CompareState.Removed }, b)));
|
57
|
-
this.version.forEach(v => {
|
58
|
-
if (v['_compare'] === undefined) {
|
59
|
-
const base = this.base.find(b => this._keys.every(k => b[k] === v[k]));
|
60
|
-
if (!base)
|
61
|
-
v['_compare'] = CompareState.Added;
|
62
|
-
else if (JSON.stringify(v) !== JSON.stringify(base))
|
63
|
-
v['_compare'] = CompareState.Modified;
|
64
|
-
}
|
65
|
-
});
|
66
|
-
}
|
67
|
-
}
|
68
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: CompareGroupDirective, deps: [{ token: i1.VersionCompareComponent, optional: true }, { token: CompareContextDirective, host: true, optional: true }, { token: CompareGroupDirective, host: true, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
69
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.5", type: CompareGroupDirective, selector: "[bizdocCompareGroup],[bizdocCompareArray]", inputs: { name: ["bizdocCompareGroup", "name"] }, usesInheritance: true, ngImport: i0 }); }
|
70
|
-
}
|
71
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: CompareGroupDirective, decorators: [{
|
72
|
-
type: Directive,
|
73
|
-
args: [{ selector: '[bizdocCompareGroup],[bizdocCompareArray]' }]
|
74
|
-
}], ctorParameters: () => [{ type: i1.VersionCompareComponent, decorators: [{
|
75
|
-
type: Optional
|
76
|
-
}] }, { type: CompareContextDirective, decorators: [{
|
77
|
-
type: Optional
|
78
|
-
}, {
|
79
|
-
type: Host
|
80
|
-
}] }, { type: CompareGroupDirective, decorators: [{
|
81
|
-
type: Optional
|
82
|
-
}, {
|
83
|
-
type: Host
|
84
|
-
}, {
|
85
|
-
type: SkipSelf
|
86
|
-
}] }], propDecorators: { name: [{
|
87
|
-
type: Input,
|
88
|
-
args: ['bizdocCompareGroup']
|
89
|
-
}] } });
|
90
|
-
/** */
|
91
|
-
export class CompareNameDirective extends CompareDirectiveBase {
|
92
|
-
set name(val) {
|
93
|
-
this._name = val.split(',');
|
94
|
-
}
|
95
|
-
get structure() { return this._structure; }
|
96
|
-
get base() { return this._base ? this._base[this._name[0]] : null; }
|
97
|
-
get version() { return this._version[this._name[0]]; }
|
98
|
-
get state() { return this._state || CompareState.Unchanged; }
|
99
|
-
;
|
100
|
-
constructor(_comparision, _context, _group, _translate, _cd, _dom, _element) {
|
101
|
-
super();
|
102
|
-
this._comparision = _comparision;
|
103
|
-
this._context = _context;
|
104
|
-
this._group = _group;
|
105
|
-
this._translate = _translate;
|
106
|
-
this._cd = _cd;
|
107
|
-
this._dom = _dom;
|
108
|
-
this._element = _element;
|
109
|
-
}
|
110
|
-
ngOnInit() {
|
111
|
-
if (!this._comparision)
|
112
|
-
return;
|
113
|
-
if (this._context) {
|
114
|
-
this._structure = this._context.structure.controls.find(e => e.name === this._name[0]);
|
115
|
-
this._base = this._context.base;
|
116
|
-
this._version = this._context.version;
|
117
|
-
}
|
118
|
-
else if (this._group) {
|
119
|
-
this._structure = this._group.structure.controls.find(e => e.name === this._name[0]);
|
120
|
-
this._base = this._group.base;
|
121
|
-
this._version = this._group.version;
|
122
|
-
if (!this._structure)
|
123
|
-
throw `No form field with name ${this._name[0]}`;
|
124
|
-
}
|
125
|
-
else {
|
126
|
-
this._structure = this._comparision.form.fields.find(e => e.name === this._name[0]);
|
127
|
-
const { currentVersion, baseVersion } = this._comparision;
|
128
|
-
this._base = baseVersion;
|
129
|
-
this._version = currentVersion;
|
130
|
-
}
|
131
|
-
}
|
132
|
-
ngAfterViewInit() {
|
133
|
-
if (!this._comparision)
|
134
|
-
return;
|
135
|
-
// if object has state
|
136
|
-
const state = this._version['_compare'];
|
137
|
-
if (state !== undefined) {
|
138
|
-
switch (state) {
|
139
|
-
case CompareState.Removed:
|
140
|
-
this._decorate('removed', 'Deleted');
|
141
|
-
this._state = state;
|
142
|
-
return;
|
143
|
-
case CompareState.Added:
|
144
|
-
this._decorate('added', 'Added');
|
145
|
-
this._state = state;
|
146
|
-
return;
|
147
|
-
}
|
148
|
-
}
|
149
|
-
const versionData = {};
|
150
|
-
// iterate names
|
151
|
-
let name, i = 0;
|
152
|
-
while (i < this._name.length) {
|
153
|
-
name = this._name[i];
|
154
|
-
if (!this._base) {
|
155
|
-
if (this._version[name] !== undefined)
|
156
|
-
this._state = CompareState.Added;
|
157
|
-
}
|
158
|
-
else if (this._version[name] !== this._base[name]) {
|
159
|
-
if (this._version[name] === undefined) {
|
160
|
-
this._version[name] = this._base[name];
|
161
|
-
versionData[name] = undefined;
|
162
|
-
this._state = CompareState.Removed;
|
163
|
-
}
|
164
|
-
else if (this._base[name] === undefined)
|
165
|
-
this._state = CompareState.Added;
|
166
|
-
else if (JSON.stringify(this._version[name]) !== JSON.stringify(this._base[name])) {
|
167
|
-
// store version data
|
168
|
-
versionData[name] = this._version[name];
|
169
|
-
this._version[name] = this._base[name];
|
170
|
-
this._state = CompareState.Modified;
|
171
|
-
}
|
172
|
-
}
|
173
|
-
i++;
|
174
|
-
}
|
175
|
-
switch (this._state) {
|
176
|
-
case CompareState.Removed:
|
177
|
-
// detect with base value(s)
|
178
|
-
setTimeout(() => {
|
179
|
-
this._cd.detectChanges();
|
180
|
-
this._decorate('removed', 'Deleted');
|
181
|
-
Object.assign(this._version, versionData);
|
182
|
-
});
|
183
|
-
break;
|
184
|
-
case CompareState.Added:
|
185
|
-
this._decorate('added', 'Added');
|
186
|
-
break;
|
187
|
-
case CompareState.Modified:
|
188
|
-
{
|
189
|
-
const versionHTML = this._element.nativeElement.innerHTML;
|
190
|
-
// this._cd.markForCheck();
|
191
|
-
setTimeout(() => {
|
192
|
-
// detect again with base value(s)
|
193
|
-
this._cd.detectChanges();
|
194
|
-
const originalHTML = this._element.nativeElement.innerHTML;
|
195
|
-
// restore version html
|
196
|
-
this._element.nativeElement.innerHTML = versionHTML;
|
197
|
-
const labelEl = this._decorate('modified', 'Modified');
|
198
|
-
const el = document.createElement('span');
|
199
|
-
el.className = 'original';
|
200
|
-
el.innerHTML = originalHTML; //this._dom.sanitize();
|
201
|
-
labelEl.append(el);
|
202
|
-
// restore version value(s)
|
203
|
-
Object.assign(this._version, versionData);
|
204
|
-
});
|
205
|
-
break;
|
206
|
-
}
|
207
|
-
}
|
208
|
-
}
|
209
|
-
_decorate(className, label) {
|
210
|
-
this._element.nativeElement.classList.add('compare', className);
|
211
|
-
const labelContainerEl = document.createElement('div');
|
212
|
-
labelContainerEl.className = 'label';
|
213
|
-
const labelEl = document.createElement('span');
|
214
|
-
labelEl.innerText = this._translate.get(label);
|
215
|
-
labelContainerEl.append(labelEl);
|
216
|
-
this._element.nativeElement.appendChild(labelContainerEl);
|
217
|
-
return labelEl;
|
218
|
-
}
|
219
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: CompareNameDirective, deps: [{ token: i1.VersionCompareComponent, optional: true }, { token: CompareContextDirective, host: true, optional: true }, { token: CompareGroupDirective, host: true, optional: true }, { token: i2.TranslateService }, { token: i0.ChangeDetectorRef }, { token: i3.DomSanitizer }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
220
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.5", type: CompareNameDirective, selector: "[bizdocCompareName]", inputs: { name: ["bizdocCompareName", "name"] }, usesInheritance: true, ngImport: i0 }); }
|
221
|
-
}
|
222
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: CompareNameDirective, decorators: [{
|
223
|
-
type: Directive,
|
224
|
-
args: [{ selector: '[bizdocCompareName]' }]
|
225
|
-
}], ctorParameters: () => [{ type: i1.VersionCompareComponent, decorators: [{
|
226
|
-
type: Optional
|
227
|
-
}] }, { type: CompareContextDirective, decorators: [{
|
228
|
-
type: Optional
|
229
|
-
}, {
|
230
|
-
type: Host
|
231
|
-
}] }, { type: CompareGroupDirective, decorators: [{
|
232
|
-
type: Optional
|
233
|
-
}, {
|
234
|
-
type: Host
|
235
|
-
}] }, { type: i2.TranslateService }, { type: i0.ChangeDetectorRef }, { type: i3.DomSanitizer }, { type: i0.ElementRef }], propDecorators: { name: [{
|
236
|
-
type: Input,
|
237
|
-
args: ['bizdocCompareName']
|
238
|
-
}] } });
|
239
|
-
/** */
|
240
|
-
export class CompareContextDirective extends CompareDirectiveBase {
|
241
|
-
set compareOf(val) { this._version = val; }
|
242
|
-
set context(val) { this._version = val; }
|
243
|
-
get version() { return this._version; }
|
244
|
-
get base() { return this._base; }
|
245
|
-
get structure() { return this._group.structure; }
|
246
|
-
constructor(_comparision, _group, _vc, _template, _element) {
|
247
|
-
super();
|
248
|
-
this._comparision = _comparision;
|
249
|
-
this._group = _group;
|
250
|
-
this._vc = _vc;
|
251
|
-
this._template = _template;
|
252
|
-
this._element = _element;
|
253
|
-
this.decorate = _element.nativeElement.tagName === 'TR' ? 'table' : 'group';
|
254
|
-
}
|
255
|
-
ngOnInit() {
|
256
|
-
if (this._comparision) {
|
257
|
-
if (!this._group)
|
258
|
-
throw `Missing enclosing bizdocCompareGroup directive`;
|
259
|
-
if (!isObject(this.version))
|
260
|
-
throw `[bizdocCompareContext] syntax`;
|
261
|
-
this._base = this._group.base.find(b => this._group.keys.every(k => b[k] === this._version[k]));
|
262
|
-
}
|
263
|
-
if (this._template) {
|
264
|
-
this._vc.createEmbeddedView(this._template, {
|
265
|
-
$implicit: this._base
|
266
|
-
});
|
267
|
-
}
|
268
|
-
}
|
269
|
-
ngAfterViewInit() {
|
270
|
-
if (!this._comparision)
|
271
|
-
return;
|
272
|
-
switch (this.decorate) {
|
273
|
-
case 'table':
|
274
|
-
this._table();
|
275
|
-
break;
|
276
|
-
case 'group':
|
277
|
-
this._collapse();
|
278
|
-
break;
|
279
|
-
}
|
280
|
-
}
|
281
|
-
/** */
|
282
|
-
_table() {
|
283
|
-
let className;
|
284
|
-
switch (this._version['_compare']) {
|
285
|
-
case CompareState.Added:
|
286
|
-
className = 'added';
|
287
|
-
break;
|
288
|
-
case CompareState.Removed:
|
289
|
-
className = 'removed';
|
290
|
-
break;
|
291
|
-
case CompareState.Modified:
|
292
|
-
className = 'modified';
|
293
|
-
break;
|
294
|
-
}
|
295
|
-
this._element.nativeElement.classList.add('compare', className);
|
296
|
-
}
|
297
|
-
/** removes repeated added and removed tags */
|
298
|
-
_collapse() {
|
299
|
-
const els = this._element.nativeElement.parentElement.querySelectorAll('.compare');
|
300
|
-
let prevState = CompareState.Unchanged;
|
301
|
-
for (let i = els.length - 1; i >= 0; i--) {
|
302
|
-
const el = els[i];
|
303
|
-
let state;
|
304
|
-
if (el.classList.contains('added'))
|
305
|
-
state = CompareState.Added;
|
306
|
-
else if (el.classList.contains('removed'))
|
307
|
-
state = CompareState.Removed;
|
308
|
-
else {
|
309
|
-
state = CompareState.Unchanged;
|
310
|
-
continue;
|
311
|
-
}
|
312
|
-
if (prevState === state) {
|
313
|
-
const labelEl = el.querySelector('.label');
|
314
|
-
labelEl && labelEl.remove();
|
315
|
-
}
|
316
|
-
prevState = state;
|
317
|
-
}
|
318
|
-
}
|
319
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: CompareContextDirective, deps: [{ token: i1.VersionCompareComponent, optional: true }, { token: CompareGroupDirective, host: true, optional: true }, { token: i0.ViewContainerRef }, { token: i0.TemplateRef, optional: true }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
320
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.5", type: CompareContextDirective, selector: "[bizdocCompareContext],[bizdocCompare]", inputs: { compareOf: ["bizdocCompareOf", "compareOf"], context: ["bizdocCompareContext", "context"], decorate: ["bizdocCompareDecorate", "decorate"] }, exportAs: ["bizdocCompare"], usesInheritance: true, ngImport: i0 }); }
|
321
|
-
}
|
322
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: CompareContextDirective, decorators: [{
|
323
|
-
type: Directive,
|
324
|
-
args: [{ selector: '[bizdocCompareContext],[bizdocCompare]', exportAs: 'bizdocCompare' }]
|
325
|
-
}], ctorParameters: () => [{ type: i1.VersionCompareComponent, decorators: [{
|
326
|
-
type: Optional
|
327
|
-
}] }, { type: CompareGroupDirective, decorators: [{
|
328
|
-
type: Optional
|
329
|
-
}, {
|
330
|
-
type: Host
|
331
|
-
}] }, { type: i0.ViewContainerRef }, { type: i0.TemplateRef, decorators: [{
|
332
|
-
type: Optional
|
333
|
-
}] }, { type: i0.ElementRef }], propDecorators: { compareOf: [{
|
334
|
-
type: Input,
|
335
|
-
args: ['bizdocCompareOf']
|
336
|
-
}], context: [{
|
337
|
-
type: Input,
|
338
|
-
args: ['bizdocCompareContext']
|
339
|
-
}], decorate: [{
|
340
|
-
type: Input,
|
341
|
-
args: ['bizdocCompareDecorate']
|
342
|
-
}] } });
|
343
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi1jb21wYXJlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi9jb21wb3NlL3ZlcnNpb24tY29tcGFyZS92ZXJzaW9uLWNvbXBhcmUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFzQixRQUFRLEVBQUUsSUFBSSxFQUFvQyxRQUFRLEVBQWlDLE1BQU0sZUFBZSxDQUFDO0FBRWhLLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7QUFLaEQsSUFBSyxZQUtKO0FBTEQsV0FBSyxZQUFZO0lBQ2Ysc0RBQVksQ0FBQTtJQUNaLHlEQUFhLENBQUE7SUFDYixpREFBUyxDQUFBO0lBQ1QsdURBQVksQ0FBQTtBQUNkLENBQUMsRUFMSSxZQUFZLEtBQVosWUFBWSxRQUtoQjtBQUVELE1BQU0sT0FBZ0Isb0JBQW9CO0NBSXpDO0FBQ0QsTUFBTTtBQUVOLE1BQU0sT0FDRSxxQkFBc0IsU0FBUSxvQkFBb0I7SUFNeEQsSUFBVyxTQUFTLEtBQWdCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDN0QsSUFBVyxJQUFJLEtBQVUsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUM1RSxJQUFXLE9BQU8sS0FBVSxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM5RCxJQUFXLElBQUksS0FBZSxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xELFlBQ3NCLFlBQXFDLEVBQzdCLFFBQWlDLEVBQ3JCLE9BQThCO1FB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QVE7OzBCQUNSLFFBQVE7OzBCQUFJLElBQUk7OzBCQUVoQixRQUFRO2tFQVhtQixTQUFTO3NCQUF0QyxLQUFLO3VCQUFDLGlCQUFpQjtnQkFDVyxPQUFPO3NCQUF6QyxLQUFLO3VCQUFDLHNCQUFzQjtnQkFFRyxRQUFRO3NCQUF2QyxLQUFLO3VCQUFDLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElucHV0LCBEaXJlY3RpdmUsIE9uSW5pdCwgRWxlbWVudFJlZiwgT3B0aW9uYWwsIEhvc3QsIEFmdGVyVmlld0luaXQsIENoYW5nZURldGVjdG9yUmVmLCBTa2lwU2VsZiwgVmlld0NvbnRhaW5lclJlZiwgVGVtcGxhdGVSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIgfSBmcm9tIFwiQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3NlclwiO1xyXG5pbXBvcnQgeyBpc09iamVjdCB9IGZyb20gXCIuLi8uLi9jb3JlL2Z1bmN0aW9uc1wiO1xyXG5pbXBvcnQgeyBGaWVsZEluZm8gfSBmcm9tIFwiLi4vLi4vY29yZS9tb2RlbHNcIjtcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gXCIuLi8uLi9jb3JlL3RyYW5zbGF0ZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFZlcnNpb25Db21wYXJlQ29tcG9uZW50IH0gZnJvbSBcIi4vdmVyc2lvbi1jb21wYXJlLmNvbXBvbmVudFwiO1xyXG5cclxuZW51bSBDb21wYXJlU3RhdGUge1xyXG4gIFJlbW92ZWQgPSAtMSxcclxuICBVbmNoYW5nZWQgPSAwLFxyXG4gIEFkZGVkID0gMSxcclxuICBNb2RpZmllZCA9IDJcclxufVxyXG5cclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIENvbXBhcmVEaXJlY3RpdmVCYXNlIHtcclxuICBhYnN0cmFjdCBnZXQgYmFzZSgpOiBhbnk7XHJcbiAgYWJzdHJhY3QgZ2V0IHZlcnNpb24oKTogYW55O1xyXG4gIGFic3RyYWN0IGdldCBzdHJ1Y3R1cmUoKTogRmllbGRJbmZvO1xyXG59XHJcbi8qKiAqL1xyXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdbYml6ZG9jQ29tcGFyZUdyb3VwXSxbYml6ZG9jQ29tcGFyZUFycmF5XScgfSlcclxuZXhwb3J0XHJcbiAgY2xhc3MgQ29tcGFyZUdyb3VwRGlyZWN0aXZlIGV4dGVuZHMgQ29tcGFyZURpcmVjdGl2ZUJhc2UgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dCgnYml6ZG9jQ29tcGFyZUdyb3VwJykgbmFtZTogc3RyaW5nO1xyXG4gIHByaXZhdGUgX2tleXM6IHN0cmluZ1tdO1xyXG4gIHByaXZhdGUgX3N0cnVjdHVyZTogRmllbGRJbmZvO1xyXG4gIHByaXZhdGUgX2Jhc2U6IGFueTtcclxuICBwcml2YXRlIF92ZXJzaW9uOiBhbnk7XHJcbiAgcHVibGljIGdldCBzdHJ1Y3R1cmUoKTogRmllbGRJbmZvIHsgcmV0dXJuIHRoaXMuX3N0cnVjdHVyZTsgfVxyXG4gIHB1YmxpYyBnZXQgYmFzZSgpOiBhbnkgeyByZXR1cm4gdGhpcy5fYmFzZSA/IHRoaXMuX2Jhc2VbdGhpcy5uYW1lXSA6IG51bGw7IH1cclxuICBwdWJsaWMgZ2V0IHZlcnNpb24oKTogYW55IHsgcmV0dXJuIHRoaXMuX3ZlcnNpb25bdGhpcy5uYW1lXTsgfVxyXG4gIHB1YmxpYyBnZXQga2V5cygpOiBzdHJpbmdbXSB7IHJldHVybiB0aGlzLl9rZXlzOyB9XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIF9jb21wYXJpc2lvbjogVmVyc2lvbkNvbXBhcmVDb21wb25lbnQsXHJcbiAgICBAT3B0aW9uYWwoKSBASG9zdCgpIHByaXZhdGUgX2NvbnRleHQ6IENvbXBhcmVDb250ZXh0RGlyZWN0aXZlLFxyXG4gICAgQE9wdGlvbmFsKCkgQEhvc3QoKSBAU2tpcFNlbGYoKSBwcml2YXRlIF9wYXJlbnQ6IENvbXBhcmVHcm91cERpcmVjdGl2ZSkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuX2NvbXBhcmlzaW9uKSByZXR1cm47XHJcbiAgICBpZiAodGhpcy5fY29udGV4dCkge1xyXG4gICAgICBjb25zdCB7IGJhc2UsIHN0cnVjdHVyZSwgdmVyc2lvbiB9ID0gdGhpcy5fY29udGV4dDtcclxuICAgICAgdGhpcy5fc3RydWN0dXJlID0gc3RydWN0dXJlLmNvbnRyb2xzIS5maW5kKGUgPT4gZS5uYW1lID09PSB0aGlzLm5hbWUpITtcclxuICAgICAgdGhpcy5fYmFzZSA9IGJhc2U7XHJcbiAgICAgIHRoaXMuX3ZlcnNpb24gPSB2ZXJzaW9uO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAodGhpcy5fcGFyZW50KSB7XHJcbiAgICAgIGNvbnN0IHsgYmFzZSwgc3RydWN0dXJlLCB2ZXJzaW9uIH0gPSB0aGlzLl9wYXJlbnQ7XHJcbiAgICAgIHRoaXMuX3N0cnVjdHVyZSA9IHN0cnVjdHVyZS5jb250cm9scyEuZmluZChlID0+IGUubmFtZSA9PT0gdGhpcy5uYW1lKSE7XHJcbiAgICAgIHRoaXMuX2Jhc2UgPSBiYXNlO1xyXG4gICAgICB0aGlzLl92ZXJzaW9uID0gdmVyc2lvbjtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICBjb25zdCB7IGZvcm0sIGN1cnJlbnRWZXJzaW9uLCBiYXNlVmVyc2lvbiB9ID0gdGhpcy5fY29tcGFyaXNpb247XHJcbiAgICAgIHRoaXMuX3N0cnVjdHVyZSA9IGZvcm0uZmllbGRzIS5maW5kKGUgPT4gZS5uYW1lID09PSB0aGlzLm5hbWUpITtcclxuICAgICAgdGhpcy5fYmFzZSA9IGJhc2VWZXJzaW9uO1xyXG4gICAgICB0aGlzLl92ZXJzaW9uID0gY3VycmVudFZlcnNpb247XHJcbiAgICB9XHJcbiAgICBpZiAoIXRoaXMuX3N0cnVjdHVyZSkgdGhyb3cgYE5vIGZvcm0gZmllbGQgd2l0aCBuYW1lICR7dGhpcy5uYW1lfWA7XHJcbiAgICBpZiAoIXRoaXMuX3N0cnVjdHVyZS5mbGFncyB8fCB0aGlzLl9zdHJ1Y3R1cmUuZmxhZ3MuaW5kZXhPZignSXNPYmplY3QnKSA8IDApIHRocm93IGBiaXpkb2NDb21wYXJlR3JvdXAgJHt0aGlzLm5hbWV9IG5vdCBhbiBvYmplY3QuYDtcclxuICAgIGlmICh0aGlzLl9zdHJ1Y3R1cmUuZmxhZ3MgJiYgdGhpcy5zdHJ1Y3R1cmUuZmxhZ3MhLmluZGV4T2YoJ0lzQXJyYXknKSA+IC0xKSB7XHJcbiAgICAgIHRoaXMuX2tleXMgPSB0aGlzLnN0cnVjdHVyZS5jb250cm9scyEuZmlsdGVyKGMgPT4gYy5mbGFncyAmJiBjLmZsYWdzLmluZGV4T2YoJ0tleScpID4gLTEpLm1hcChrID0+IGsubmFtZSk7XHJcbiAgICAgICh0aGlzLmJhc2UgYXMgYW55W10pLmZvckVhY2goKGI6IGFueSwgaTogYW55KSA9PiAhKHRoaXMudmVyc2lvbiBhcyBhbnlbXSkuZmluZCh2ID0+IHRoaXMuX2tleXMuZXZlcnkoayA9PiB2W2tdID09PSBiW2tdKSkgLyogZG9lc24ndCBoYXZlIGEgdmVyc2lvbiAqLyAmJlxyXG4gICAgICAgIHRoaXMudmVyc2lvbi5zcGxpY2UoaSwgMCwgT2JqZWN0LmFzc2lnbih7IF9jb21wYXJlOiBDb21wYXJlU3RhdGUuUmVtb3ZlZCB9LCBiKSkpO1xyXG4gICAgICAodGhpcy52ZXJzaW9uIGFzIGFueVtdKS5mb3JFYWNoKHYgPT4ge1xyXG4gICAgICAgIGlmICh2WydfY29tcGFyZSddID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgIGNvbnN0IGJhc2UgPSAodGhpcy5iYXNlIGFzIGFueVtdKS5maW5kKGIgPT4gdGhpcy5fa2V5cy5ldmVyeShrID0+IGJba10gPT09IHZba10pKTtcclxuICAgICAgICAgIGlmICghYmFzZSlcclxuICAgICAgICAgICAgdlsnX2NvbXBhcmUnXSA9IENvbXBhcmVTdGF0ZS5BZGRlZDtcclxuICAgICAgICAgIGVsc2UgaWYgKEpTT04uc3RyaW5naWZ5KHYpICE9PSBKU09OLnN0cmluZ2lmeShiYXNlKSlcclxuICAgICAgICAgICAgdlsnX2NvbXBhcmUnXSA9IENvbXBhcmVTdGF0ZS5Nb2RpZmllZDtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4vKiogKi9cclxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnW2JpemRvY0NvbXBhcmVOYW1lXScgfSlcclxuZXhwb3J0XHJcbiAgY2xhc3MgQ29tcGFyZU5hbWVEaXJlY3RpdmUgZXh0ZW5kcyBDb21wYXJlRGlyZWN0aXZlQmFzZSBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgcHJpdmF0ZSBfbmFtZTogc3RyaW5nW107XHJcbiAgQElucHV0KCdiaXpkb2NDb21wYXJlTmFtZScpIHNldCBuYW1lKHZhbDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl9uYW1lID0gdmFsLnNwbGl0KCcsJyk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX3N0cnVjdHVyZTogRmllbGRJbmZvO1xyXG4gIHByaXZhdGUgX2Jhc2U6IGFueTtcclxuICBwcml2YXRlIF92ZXJzaW9uOiBhbnk7XHJcbiAgcHJpdmF0ZSBfc3RhdGU6IENvbXBhcmVTdGF0ZSB8IHVuZGVmaW5lZDtcclxuICBwdWJsaWMgZ2V0IHN0cnVjdHVyZSgpOiBGaWVsZEluZm8geyByZXR1cm4gdGhpcy5fc3RydWN0dXJlOyB9XHJcbiAgcHVibGljIGdldCBiYXNlKCk6IGFueSB7IHJldHVybiB0aGlzLl9iYXNlID8gdGhpcy5fYmFzZVt0aGlzLl9uYW1lWzBdXSA6IG51bGw7IH1cclxuICBwdWJsaWMgZ2V0IHZlcnNpb24oKTogYW55IHsgcmV0dXJuIHRoaXMuX3ZlcnNpb25bdGhpcy5fbmFtZVswXV07IH1cclxuICBnZXQgc3RhdGUoKTogQ29tcGFyZVN0YXRlIHsgcmV0dXJuIHRoaXMuX3N0YXRlIHx8IENvbXBhcmVTdGF0ZS5VbmNoYW5nZWQgfTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBPcHRpb25hbCgpIHByaXZhdGUgX2NvbXBhcmlzaW9uOiBWZXJzaW9uQ29tcGFyZUNvbXBvbmVudCxcclxuICAgIEBPcHRpb25hbCgpIEBIb3N0KCkgcHJpdmF0ZSBfY29udGV4dDogQ29tcGFyZUNvbnRleHREaXJlY3RpdmUsXHJcbiAgICBAT3B0aW9uYWwoKSBASG9zdCgpIHByaXZhdGUgX2dyb3VwOiBDb21wYXJlR3JvdXBEaXJlY3RpdmUsXHJcbiAgICBwcml2YXRlIF90cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9jZDogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIF9kb206IERvbVNhbml0aXplcixcclxuICAgIHByaXZhdGUgX2VsZW1lbnQ6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+KSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5fY29tcGFyaXNpb24pIHJldHVybjtcclxuICAgIGlmICh0aGlzLl9jb250ZXh0KSB7XHJcbiAgICAgIHRoaXMuX3N0cnVjdHVyZSA9IHRoaXMuX2NvbnRleHQuc3RydWN0dXJlLmNvbnRyb2xzIS5maW5kKGUgPT4gZS5uYW1lID09PSB0aGlzLl9uYW1lWzBdKSE7XHJcbiAgICAgIHRoaXMuX2Jhc2UgPSB0aGlzLl9jb250ZXh0LmJhc2U7XHJcbiAgICAgIHRoaXMuX3ZlcnNpb24gPSB0aGlzLl9jb250ZXh0LnZlcnNpb247XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmICh0aGlzLl9ncm91cCkge1xyXG4gICAgICB0aGlzLl9zdHJ1Y3R1cmUgPSB0aGlzLl9ncm91cC5zdHJ1Y3R1cmUuY29udHJvbHMhLmZpbmQoZSA9PiBlLm5hbWUgPT09IHRoaXMuX25hbWVbMF0pITtcclxuICAgICAgdGhpcy5fYmFzZSA9IHRoaXMuX2dyb3VwLmJhc2U7XHJcbiAgICAgIHRoaXMuX3ZlcnNpb24gPSB0aGlzLl9ncm91cC52ZXJzaW9uO1xyXG4gICAgICBpZiAoIXRoaXMuX3N0cnVjdHVyZSkgdGhyb3cgYE5vIGZvcm0gZmllbGQgd2l0aCBuYW1lICR7dGhpcy5fbmFtZVswXX1gO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRoaXMuX3N0cnVjdHVyZSA9IHRoaXMuX2NvbXBhcmlzaW9uLmZvcm0uZmllbGRzIS5maW5kKGUgPT4gZS5uYW1lID09PSB0aGlzLl9uYW1lWzBdKSE7XHJcbiAgICAgIGNvbnN0IHsgY3VycmVudFZlcnNpb24sIGJhc2VWZXJzaW9uIH0gPSB0aGlzLl9jb21wYXJpc2lvbjtcclxuICAgICAgdGhpcy5fYmFzZSA9IGJhc2VWZXJzaW9uO1xyXG4gICAgICB0aGlzLl92ZXJzaW9uID0gY3VycmVudFZlcnNpb247XHJcbiAgICB9XHJcbiAgfVxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5fY29tcGFyaXNpb24pIHJldHVybjtcclxuICAgIC8vIGlmIG9iamVjdCBoYXMgc3RhdGVcclxuICAgIGNvbnN0IHN0YXRlID0gdGhpcy5fdmVyc2lvblsnX2NvbXBhcmUnXTtcclxuICAgIGlmIChzdGF0ZSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHN3aXRjaCAoc3RhdGUpIHtcclxuICAgICAgICBjYXNlIENvbXBhcmVTdGF0ZS5SZW1vdmVkOlxyXG4gICAgICAgICAgdGhpcy5fZGVjb3JhdGUoJ3JlbW92ZWQnLCAnRGVsZXRlZCcpO1xyXG4gICAgICAgICAgdGhpcy5fc3RhdGUgPSBzdGF0ZTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICBjYXNlIENvbXBhcmVTdGF0ZS5BZGRlZDpcclxuICAgICAgICAgIHRoaXMuX2RlY29yYXRlKCdhZGRlZCcsICdBZGRlZCcpO1xyXG4gICAgICAgICAgdGhpcy5fc3RhdGUgPSBzdGF0ZTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgY29uc3QgdmVyc2lvbkRhdGE6IHsgW2ZpZWxkOiBzdHJpbmddOiBhbnkgfSA9IHt9O1xyXG4gICAgLy8gaXRlcmF0ZSBuYW1lc1xyXG4gICAgbGV0IG5hbWU6IHN0cmluZywgaSA9IDA7XHJcbiAgICB3aGlsZSAoaSA8IHRoaXMuX25hbWUubGVuZ3RoKSB7XHJcbiAgICAgIG5hbWUgPSB0aGlzLl9uYW1lW2ldO1xyXG4gICAgICBpZiAoIXRoaXMuX2Jhc2UpIHtcclxuICAgICAgICBpZiAodGhpcy5fdmVyc2lvbltuYW1lXSAhPT0gdW5kZWZpbmVkKVxyXG4gICAgICAgICAgdGhpcy5fc3RhdGUgPSBDb21wYXJlU3RhdGUuQWRkZWQ7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSBpZiAodGhpcy5fdmVyc2lvbltuYW1lXSAhPT0gdGhpcy5fYmFzZVtuYW1lXSkge1xyXG4gICAgICAgIGlmICh0aGlzLl92ZXJzaW9uW25hbWVdID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgIHRoaXMuX3ZlcnNpb25bbmFtZV0gPSB0aGlzLl9iYXNlW25hbWVdO1xyXG4gICAgICAgICAgdmVyc2lvbkRhdGFbbmFtZV0gPSB1bmRlZmluZWQ7XHJcbiAgICAgICAgICB0aGlzLl9zdGF0ZSA9IENvbXBhcmVTdGF0ZS5SZW1vdmVkO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmICh0aGlzLl9iYXNlW25hbWVdID09PSB1bmRlZmluZWQpXHJcbiAgICAgICAgICB0aGlzLl9zdGF0ZSA9IENvbXBhcmVTdGF0ZS5BZGRlZDtcclxuICAgICAgICBlbHNlIGlmIChKU09OLnN0cmluZ2lmeSh0aGlzLl92ZXJzaW9uW25hbWVdKSAhPT0gSlNPTi5zdHJpbmdpZnkodGhpcy5fYmFzZVtuYW1lXSkpIHtcclxuICAgICAgICAgIC8vIHN0b3JlIHZlcnNpb24gZGF0YVxyXG4gICAgICAgICAgdmVyc2lvbkRhdGFbbmFtZV0gPSB0aGlzLl92ZXJzaW9uW25hbWVdO1xyXG4gICAgICAgICAgdGhpcy5fdmVyc2lvbltuYW1lXSA9IHRoaXMuX2Jhc2VbbmFtZV07XHJcbiAgICAgICAgICB0aGlzLl9zdGF0ZSA9IENvbXBhcmVTdGF0ZS5Nb2RpZmllZDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgaSsrO1xyXG4gICAgfVxyXG4gICAgICBzd2l0Y2ggKHRoaXMuX3N0YXRlKSB7XHJcbiAgICAgICAgY2FzZSBDb21wYXJlU3RhdGUuUmVtb3ZlZDpcclxuICAgICAgICAgIC8vIGRldGVjdCB3aXRoIGJhc2UgdmFsdWUocylcclxuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLl9jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgICAgIHRoaXMuX2RlY29yYXRlKCdyZW1vdmVkJywgJ0RlbGV0ZWQnKTtcclxuICAgICAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLl92ZXJzaW9uLCB2ZXJzaW9uRGF0YSk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgQ29tcGFyZVN0YXRlLkFkZGVkOlxyXG4gICAgICAgICAgdGhpcy5fZGVjb3JhdGUoJ2FkZGVkJywgJ0FkZGVkJyk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlIENvbXBhcmVTdGF0ZS5Nb2RpZmllZDpcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgY29uc3QgdmVyc2lvbkhUTUwgPSB0aGlzLl9lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuaW5uZXJIVE1MO1xyXG4gICAgICAgICAgICAvLyAgICAgICAgICAgIHRoaXMuX2NkLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAvLyBkZXRlY3QgYWdhaW4gd2l0aCBiYXNlIHZhbHVlKHMpXHJcbiAgICAgICAgICAgICAgdGhpcy5fY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgICAgICAgIGNvbnN0IG9yaWdpbmFsSFRNTCA9IHRoaXMuX2VsZW1lbnQubmF0aXZlRWxlbWVudC5pbm5lckhUTUw7XHJcbiAgICAgICAgICAgICAgLy8gcmVzdG9yZSB2ZXJzaW9uIGh0bWxcclxuICAgICAgICAgICAgICB0aGlzLl9lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuaW5uZXJIVE1MID0gdmVyc2lvbkhUTUw7XHJcbiAgICAgICAgICAgICAgY29uc3QgbGFiZWxFbCA9IHRoaXMuX2RlY29yYXRlKCdtb2RpZmllZCcsICdNb2RpZmllZCcpO1xyXG4gICAgICAgICAgICAgIGNvbnN0IGVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xyXG4gICAgICAgICAgICAgIGVsLmNsYXNzTmFtZSA9ICdvcmlnaW5hbCc7XHJcbiAgICAgICAgICAgICAgZWwuaW5uZXJIVE1MID0gb3JpZ2luYWxIVE1MOyAvL3RoaXMuX2RvbS5zYW5pdGl6ZSgpO1xyXG4gICAgICAgICAgICAgIGxhYmVsRWwuYXBwZW5kKGVsKTtcclxuICAgICAgICAgICAgICAvLyByZXN0b3JlIHZlcnNpb24gdmFsdWUocylcclxuICAgICAgICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMuX3ZlcnNpb24sIHZlcnNpb25EYXRhKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgfVxyXG4gIHByaXZhdGUgX2RlY29yYXRlKGNsYXNzTmFtZTogc3RyaW5nLCBsYWJlbDogc3RyaW5nKTogSFRNTEVsZW1lbnQge1xyXG4gICAgdGhpcy5fZWxlbWVudC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ2NvbXBhcmUnLCBjbGFzc05hbWUpO1xyXG4gICAgY29uc3QgbGFiZWxDb250YWluZXJFbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgbGFiZWxDb250YWluZXJFbC5jbGFzc05hbWUgPSAnbGFiZWwnO1xyXG4gICAgY29uc3QgbGFiZWxFbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcclxuICAgIGxhYmVsRWwuaW5uZXJUZXh0ID0gdGhpcy5fdHJhbnNsYXRlLmdldChsYWJlbCk7XHJcbiAgICBsYWJlbENvbnRhaW5lckVsLmFwcGVuZChsYWJlbEVsKTtcclxuICAgIHRoaXMuX2VsZW1lbnQubmF0aXZlRWxlbWVudC5hcHBlbmRDaGlsZChsYWJlbENvbnRhaW5lckVsKTtcclxuICAgIHJldHVybiBsYWJlbEVsO1xyXG4gIH1cclxufVxyXG4vKiogKi9cclxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnW2JpemRvY0NvbXBhcmVDb250ZXh0XSxbYml6ZG9jQ29tcGFyZV0nLCBleHBvcnRBczogJ2JpemRvY0NvbXBhcmUnIH0pXHJcbmV4cG9ydFxyXG4gIGNsYXNzIENvbXBhcmVDb250ZXh0RGlyZWN0aXZlIGV4dGVuZHMgQ29tcGFyZURpcmVjdGl2ZUJhc2UgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xyXG4gIHByaXZhdGUgX3ZlcnNpb246IGFueTtcclxuICBASW5wdXQoJ2JpemRvY0NvbXBhcmVPZicpIHNldCBjb21wYXJlT2YodmFsOiB7fSkgeyB0aGlzLl92ZXJzaW9uID0gdmFsOyB9XHJcbiAgQElucHV0KCdiaXpkb2NDb21wYXJlQ29udGV4dCcpIHNldCBjb250ZXh0KHZhbDoge30pIHsgdGhpcy5fdmVyc2lvbiA9IHZhbDsgfVxyXG4gIGdldCB2ZXJzaW9uKCk6IGFueSB7IHJldHVybiB0aGlzLl92ZXJzaW9uOyB9XHJcbiAgQElucHV0KCdiaXpkb2NDb21wYXJlRGVjb3JhdGUnKSBkZWNvcmF0ZTogJ2dyb3VwJyB8ICdzaW5nbGUnIHwgJ3RhYmxlJztcclxuICBwcml2YXRlIF9iYXNlOiB7fTtcclxuICBwdWJsaWMgZ2V0IGJhc2UoKToge30geyByZXR1cm4gdGhpcy5fYmFzZTsgfVxyXG4gIHB1YmxpYyBnZXQgc3RydWN0dXJlKCk6IEZpZWxkSW5mbyB7IHJldHVybiB0aGlzLl9ncm91cC5zdHJ1Y3R1cmU7IH1cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBPcHRpb25hbCgpIHByaXZhdGUgX2NvbXBhcmlzaW9uOiBWZXJzaW9uQ29tcGFyZUNvbXBvbmVudCxcclxuICAgIEBPcHRpb25hbCgpIEBIb3N0KCkgcHJpdmF0ZSBfZ3JvdXA6IENvbXBhcmVHcm91cERpcmVjdGl2ZSxcclxuICAgIHByaXZhdGUgX3ZjOiBWaWV3Q29udGFpbmVyUmVmLFxyXG4gICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBfdGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4sXHJcbiAgICBwcml2YXRlIF9lbGVtZW50OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50Pikge1xyXG4gICAgc3VwZXIoKTtcclxuICAgIHRoaXMuZGVjb3JhdGUgPSBfZWxlbWVudC5uYXRpdmVFbGVtZW50LnRhZ05hbWUgPT09ICdUUicgPyAndGFibGUnIDogJ2dyb3VwJztcclxuICB9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5fY29tcGFyaXNpb24pIHtcclxuICAgICAgaWYgKCF0aGlzLl9ncm91cCkgdGhyb3cgYE1pc3NpbmcgZW5jbG9zaW5nIGJpemRvY0NvbXBhcmVHcm91cCBkaXJlY3RpdmVgO1xyXG4gICAgICBpZiAoIWlzT2JqZWN0KHRoaXMudmVyc2lvbikpIHRocm93IGBbYml6ZG9jQ29tcGFyZUNvbnRleHRdIHN5bnRheGA7XHJcbiAgICAgIHRoaXMuX2Jhc2UgPSAodGhpcy5fZ3JvdXAuYmFzZSBhcyBhbnlbXSkuZmluZChiID0+IHRoaXMuX2dyb3VwLmtleXMuZXZlcnkoayA9PiBiW2tdID09PSB0aGlzLl92ZXJzaW9uW2tdKSk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5fdGVtcGxhdGUpIHtcclxuICAgICAgdGhpcy5fdmMuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMuX3RlbXBsYXRlLCB7XHJcbiAgICAgICAgJGltcGxpY2l0OiB0aGlzLl9iYXNlXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuX2NvbXBhcmlzaW9uKSByZXR1cm47XHJcbiAgICBzd2l0Y2ggKHRoaXMuZGVjb3JhdGUpIHtcclxuICAgICAgY2FzZSAndGFibGUnOlxyXG4gICAgICAgIHRoaXMuX3RhYmxlKCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ2dyb3VwJzpcclxuICAgICAgICB0aGlzLl9jb2xsYXBzZSgpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gIH1cclxuICAvKiogKi9cclxuICBwcml2YXRlIF90YWJsZSgpIHtcclxuICAgIGxldCBjbGFzc05hbWU6IHN0cmluZztcclxuICAgIHN3aXRjaCAodGhpcy5fdmVyc2lvblsnX2NvbXBhcmUnXSBhcyBDb21wYXJlU3RhdGUpIHtcclxuICAgICAgY2FzZSBDb21wYXJlU3RhdGUuQWRkZWQ6XHJcbiAgICAgICAgY2xhc3NOYW1lID0gJ2FkZGVkJztcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBDb21wYXJlU3RhdGUuUmVtb3ZlZDpcclxuICAgICAgICBjbGFzc05hbWUgPSAncmVtb3ZlZCc7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgQ29tcGFyZVN0YXRlLk1vZGlmaWVkOlxyXG4gICAgICAgIGNsYXNzTmFtZSA9ICdtb2RpZmllZCc7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgICB0aGlzLl9lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZCgnY29tcGFyZScsIGNsYXNzTmFtZSEpO1xyXG4gIH1cclxuICAvKiogcmVtb3ZlcyByZXBlYXRlZCBhZGRlZCBhbmQgcmVtb3ZlZCB0YWdzICovXHJcbiAgcHJpdmF0ZSBfY29sbGFwc2UoKSB7XHJcbiAgICBjb25zdCBlbHMgPSB0aGlzLl9lbGVtZW50Lm5hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudCEucXVlcnlTZWxlY3RvckFsbCgnLmNvbXBhcmUnKTtcclxuICAgIGxldCBwcmV2U3RhdGU6IENvbXBhcmVTdGF0ZSA9IENvbXBhcmVTdGF0ZS5VbmNoYW5nZWQ7XHJcbiAgICBmb3IgKGxldCBpID0gZWxzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XHJcbiAgICAgIGNvbnN0IGVsID0gZWxzW2ldO1xyXG4gICAgICBsZXQgc3RhdGU6IENvbXBhcmVTdGF0ZTtcclxuICAgICAgaWYgKGVsLmNsYXNzTGlzdC5jb250YWlucygnYWRkZWQnKSlcclxuICAgICAgICBzdGF0ZSA9IENvbXBhcmVTdGF0ZS5BZGRlZDtcclxuICAgICAgZWxzZSBpZiAoZWwuY2xhc3NMaXN0LmNvbnRhaW5zKCdyZW1vdmVkJykpXHJcbiAgICAgICAgc3RhdGUgPSBDb21wYXJlU3RhdGUuUmVtb3ZlZDtcclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgc3RhdGUgPSBDb21wYXJlU3RhdGUuVW5jaGFuZ2VkO1xyXG4gICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChwcmV2U3RhdGUgPT09IHN0YXRlKSB7XHJcbiAgICAgICAgY29uc3QgbGFiZWxFbCA9IGVsLnF1ZXJ5U2VsZWN0b3IoJy5sYWJlbCcpO1xyXG4gICAgICAgIGxhYmVsRWwgJiYgbGFiZWxFbC5yZW1vdmUoKTtcclxuICAgICAgfVxyXG4gICAgICBwcmV2U3RhdGUgPSBzdGF0ZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
|
@@ -1,53 +0,0 @@
|
|
1
|
-
import { Component } from '@angular/core';
|
2
|
-
import { OpenPolicy } from '../../core/configuration';
|
3
|
-
import * as i0 from "@angular/core";
|
4
|
-
import * as i1 from "../../core/slots/pane-ref";
|
5
|
-
import * as i2 from "../../core/translate.service";
|
6
|
-
import * as i3 from "../../core/slots/router.service";
|
7
|
-
import * as i4 from "@angular/material/button";
|
8
|
-
import * as i5 from "@angular/material/icon";
|
9
|
-
import * as i6 from "@angular/material/menu";
|
10
|
-
import * as i7 from "../../core/identity/identity.component";
|
11
|
-
import * as i8 from "./version-compare.component";
|
12
|
-
import * as i9 from "../../core/pipes/calendar.pipe";
|
13
|
-
import * as i10 from "../../core/pipes/translate.pipe";
|
14
|
-
export class VersionPaneComponent {
|
15
|
-
constructor(_pane, _translate, _router) {
|
16
|
-
this._pane = _pane;
|
17
|
-
this._translate = _translate;
|
18
|
-
this._router = _router;
|
19
|
-
this.CALENDAR_SPEC = {
|
20
|
-
lastDay: this._translate.get('YesterdayAt', 'HH:mm'),
|
21
|
-
lastWeek: 'dddd HH:mm',
|
22
|
-
sameDay: this._translate.get('TodayAt', 'HH:mm'),
|
23
|
-
sameElse: 'MMM D HH:mm'
|
24
|
-
};
|
25
|
-
_pane.title = _translate.get('Version');
|
26
|
-
}
|
27
|
-
ngOnInit() {
|
28
|
-
this._pane.dataChange().subscribe(d => {
|
29
|
-
this.model = d['item'];
|
30
|
-
this._pane.group = `#${this.model.number}`;
|
31
|
-
});
|
32
|
-
this._pane.paramsChange().subscribe(p => {
|
33
|
-
const v = p['version'];
|
34
|
-
if (v) {
|
35
|
-
const version = v.decodeId();
|
36
|
-
this.log = this.model.log.find(l => l.type === 'ModelChange' && new Date(l.time).valueOf() === version);
|
37
|
-
this.versions = this.model.log.filter(l => l.type === 'ModelChange' && l !== this.log);
|
38
|
-
}
|
39
|
-
else
|
40
|
-
this._pane.close();
|
41
|
-
});
|
42
|
-
}
|
43
|
-
switch(time) {
|
44
|
-
this._router.navigate(['../', 'version', new Date(time).valueOf().encodeId()], { policy: OpenPolicy.Tab });
|
45
|
-
}
|
46
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: VersionPaneComponent, deps: [{ token: i1.PaneRef }, { token: i2.TranslateService }, { token: i3.PanesRouter }], target: i0.ɵɵFactoryTarget.Component }); }
|
47
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.5", type: VersionPaneComponent, selector: "bizdoc-version-pane", ngImport: i0, template: "<div class=\"row\">\r\n <span class=\"divider\"></span>\r\n @if (versions.length) {\r\n <button mat-icon-button [matMenuTriggerFor]=\"menu\" [attr.aria-label]=\"'Version' | translate\">\r\n <mat-icon>filter_list</mat-icon>\r\n </button>\r\n }\r\n <mat-menu #menu>\r\n @for (l of versions; track l) {\r\n <button mat-menu-item (click)=\"switch(l.time)\">\r\n <bizdoc-identity-name [identity]=\"l.userId\" [by]=\"l.byId\" chating=\"none\"></bizdoc-identity-name>\r\n {{l.time | amCalendar : null : CALENDAR_SPEC}}\r\n </button>\r\n }\r\n </mat-menu>\r\n</div>\r\n<div class=\"info mat-body-1\">\r\n <bizdoc-identity-name [identity]=\"log.userId\" [by]=\"log.byId\"></bizdoc-identity-name>\r\n | <span>{{log.time | amCalendar : null : CALENDAR_SPEC }}</span>\r\n</div>\r\n<div>\r\n <bizdoc-version-compare [model]=\"model\" [version]=\"log.time\"></bizdoc-version-compare>\r\n</div>\r\n", styles: [":host{padding:0 8px;display:block;min-width:350px}\n"], dependencies: [{ kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i6.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: i6.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i6.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: i7.IdentityName, selector: "bizdoc-identity-name", inputs: ["identity", "by", "chating"] }, { kind: "component", type: i8.VersionCompareComponent, selector: "bizdoc-version-compare", inputs: ["model", "version"] }, { kind: "pipe", type: i9.CalendarPipe, name: "amCalendar" }, { kind: "pipe", type: i10.TranslatePipe, name: "translate" }] }); }
|
48
|
-
}
|
49
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: VersionPaneComponent, decorators: [{
|
50
|
-
type: Component,
|
51
|
-
args: [{ selector: 'bizdoc-version-pane', template: "<div class=\"row\">\r\n <span class=\"divider\"></span>\r\n @if (versions.length) {\r\n <button mat-icon-button [matMenuTriggerFor]=\"menu\" [attr.aria-label]=\"'Version' | translate\">\r\n <mat-icon>filter_list</mat-icon>\r\n </button>\r\n }\r\n <mat-menu #menu>\r\n @for (l of versions; track l) {\r\n <button mat-menu-item (click)=\"switch(l.time)\">\r\n <bizdoc-identity-name [identity]=\"l.userId\" [by]=\"l.byId\" chating=\"none\"></bizdoc-identity-name>\r\n {{l.time | amCalendar : null : CALENDAR_SPEC}}\r\n </button>\r\n }\r\n </mat-menu>\r\n</div>\r\n<div class=\"info mat-body-1\">\r\n <bizdoc-identity-name [identity]=\"log.userId\" [by]=\"log.byId\"></bizdoc-identity-name>\r\n | <span>{{log.time | amCalendar : null : CALENDAR_SPEC }}</span>\r\n</div>\r\n<div>\r\n <bizdoc-version-compare [model]=\"model\" [version]=\"log.time\"></bizdoc-version-compare>\r\n</div>\r\n", styles: [":host{padding:0 8px;display:block;min-width:350px}\n"] }]
|
52
|
-
}], ctorParameters: () => [{ type: i1.PaneRef }, { type: i2.TranslateService }, { type: i3.PanesRouter }] });
|
53
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5wYW5lLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi9jb21wb3NlL3ZlcnNpb24tY29tcGFyZS92ZXJzaW9uLnBhbmUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbGliL2NvbXBvc2UvdmVyc2lvbi1jb21wYXJlL3ZlcnNpb24ucGFuZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBTWxELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7Ozs7Ozs7O0FBT3RELE1BQU0sT0FBTyxvQkFBb0I7SUFVL0IsWUFDVSxLQUFvQyxFQUNwQyxVQUE0QixFQUM1QixPQUFvQjtRQUZwQixVQUFLLEdBQUwsS0FBSyxDQUErQjtRQUNwQyxlQUFVLEdBQVYsVUFBVSxDQUFrQjtRQUM1QixZQUFPLEdBQVAsT0FBTyxDQUFhO1FBVHJCLGtCQUFhLEdBQWlCO1lBQ3JDLE9BQU8sRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDO1lBQ3BELFFBQVEsRUFBRSxZQUFZO1lBQ3RCLE9BQU8sRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDO1lBQ2hELFFBQVEsRUFBRSxhQUFhO1NBQ3hCLENBQUM7UUFNQSxLQUFLLENBQUMsS0FBSyxHQUFHLFVBQVUsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUNELFFBQVE7UUFDTixJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNwQyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN2QixJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDN0MsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUN0QyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDdkIsSUFBSSxDQUFDLEVBQUUsQ0FBQztnQkFDTixNQUFNLE9BQU8sR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQzdCLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxhQUFhLElBQUksSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRSxLQUFLLE9BQU8sQ0FBRSxDQUFDO2dCQUN6RyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssYUFBYSxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDekYsQ0FBQzs7Z0JBRUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN2QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDRCxNQUFNLENBQUMsSUFBVTtRQUNmLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxFQUFFLEVBQUUsTUFBTSxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQzdHLENBQUM7OEdBbkNVLG9CQUFvQjtrR0FBcEIsb0JBQW9CLDJEQ2JqQyxzNkJBdUJBOzsyRkRWYSxvQkFBb0I7a0JBTGhDLFNBQVM7K0JBQ0UscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ2FsZW5kYXJTcGVjIH0gZnJvbSBcIi4uLy4uL2NvcmUvcGlwZXMvY2FsZW5kYXIucGlwZVwiO1xyXG5pbXBvcnQgeyBEb2N1bWVudE1vZGVsLCBMb2cgfSBmcm9tICcuLi8uLi9jb3JlL21vZGVscyc7XHJcbmltcG9ydCB7IFBhbmVzUm91dGVyIH0gZnJvbSAnLi4vLi4vY29yZS9zbG90cy9yb3V0ZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IFBhbmVSZWYgfSBmcm9tICcuLi8uLi9jb3JlL3Nsb3RzL3BhbmUtcmVmJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvdHJhbnNsYXRlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBPcGVuUG9saWN5IH0gZnJvbSAnLi4vLi4vY29yZS9jb25maWd1cmF0aW9uJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYml6ZG9jLXZlcnNpb24tcGFuZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3ZlcnNpb24ucGFuZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdmVyc2lvbi5wYW5lLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFZlcnNpb25QYW5lQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBtb2RlbDogRG9jdW1lbnRNb2RlbDxhbnk+O1xyXG4gIGxvZzogTG9nO1xyXG4gIHZlcnNpb25zOiBMb2dbXTtcclxuICByZWFkb25seSBDQUxFTkRBUl9TUEVDOiBDYWxlbmRhclNwZWMgPSB7XHJcbiAgICBsYXN0RGF5OiB0aGlzLl90cmFuc2xhdGUuZ2V0KCdZZXN0ZXJkYXlBdCcsICdISDptbScpLFxyXG4gICAgbGFzdFdlZWs6ICdkZGRkIEhIOm1tJyxcclxuICAgIHNhbWVEYXk6IHRoaXMuX3RyYW5zbGF0ZS5nZXQoJ1RvZGF5QXQnLCAnSEg6bW0nKSxcclxuICAgIHNhbWVFbHNlOiAnTU1NIEQgSEg6bW0nXHJcbiAgfTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX3BhbmU6IFBhbmVSZWY8VmVyc2lvblBhbmVDb21wb25lbnQ+LFxyXG4gICAgcHJpdmF0ZSBfdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfcm91dGVyOiBQYW5lc1JvdXRlclxyXG4gICkge1xyXG4gICAgX3BhbmUudGl0bGUgPSBfdHJhbnNsYXRlLmdldCgnVmVyc2lvbicpO1xyXG4gIH1cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuX3BhbmUuZGF0YUNoYW5nZSgpLnN1YnNjcmliZShkID0+IHtcclxuICAgICAgdGhpcy5tb2RlbCA9IGRbJ2l0ZW0nXTtcclxuICAgICAgdGhpcy5fcGFuZS5ncm91cCA9IGAjJHt0aGlzLm1vZGVsLm51bWJlcn1gO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLl9wYW5lLnBhcmFtc0NoYW5nZSgpLnN1YnNjcmliZShwID0+IHtcclxuICAgICAgY29uc3QgdiA9IHBbJ3ZlcnNpb24nXTtcclxuICAgICAgaWYgKHYpIHtcclxuICAgICAgICBjb25zdCB2ZXJzaW9uID0gdi5kZWNvZGVJZCgpO1xyXG4gICAgICAgIHRoaXMubG9nID0gdGhpcy5tb2RlbC5sb2cuZmluZChsID0+IGwudHlwZSA9PT0gJ01vZGVsQ2hhbmdlJyAmJiBuZXcgRGF0ZShsLnRpbWUpLnZhbHVlT2YoKSA9PT0gdmVyc2lvbikhO1xyXG4gICAgICAgIHRoaXMudmVyc2lvbnMgPSB0aGlzLm1vZGVsLmxvZy5maWx0ZXIobCA9PiBsLnR5cGUgPT09ICdNb2RlbENoYW5nZScgJiYgbCAhPT0gdGhpcy5sb2cpO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2VcclxuICAgICAgICB0aGlzLl9wYW5lLmNsb3NlKCk7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgc3dpdGNoKHRpbWU6IERhdGUpIHtcclxuICAgIHRoaXMuX3JvdXRlci5uYXZpZ2F0ZShbJy4uLycsICd2ZXJzaW9uJywgbmV3IERhdGUodGltZSkudmFsdWVPZigpLmVuY29kZUlkKCldLCB7IHBvbGljeTogT3BlblBvbGljeS5UYWIgfSk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICA8c3BhbiBjbGFzcz1cImRpdmlkZXJcIj48L3NwYW4+XHJcbiAgQGlmICh2ZXJzaW9ucy5sZW5ndGgpIHtcclxuICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIFttYXRNZW51VHJpZ2dlckZvcl09XCJtZW51XCIgW2F0dHIuYXJpYS1sYWJlbF09XCInVmVyc2lvbicgfCB0cmFuc2xhdGVcIj5cclxuICAgICAgPG1hdC1pY29uPmZpbHRlcl9saXN0PC9tYXQtaWNvbj5cclxuICAgIDwvYnV0dG9uPlxyXG4gIH1cclxuICA8bWF0LW1lbnUgI21lbnU+XHJcbiAgICBAZm9yIChsIG9mIHZlcnNpb25zOyB0cmFjayBsKSB7XHJcbiAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwic3dpdGNoKGwudGltZSlcIj5cclxuICAgICAgICA8Yml6ZG9jLWlkZW50aXR5LW5hbWUgW2lkZW50aXR5XT1cImwudXNlcklkXCIgW2J5XT1cImwuYnlJZFwiIGNoYXRpbmc9XCJub25lXCI+PC9iaXpkb2MtaWRlbnRpdHktbmFtZT5cclxuICAgICAgICB7e2wudGltZSB8IGFtQ2FsZW5kYXIgOiBudWxsIDogQ0FMRU5EQVJfU1BFQ319XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgfVxyXG4gIDwvbWF0LW1lbnU+XHJcbjwvZGl2PlxyXG48ZGl2IGNsYXNzPVwiaW5mbyBtYXQtYm9keS0xXCI+XHJcbiAgPGJpemRvYy1pZGVudGl0eS1uYW1lIFtpZGVudGl0eV09XCJsb2cudXNlcklkXCIgW2J5XT1cImxvZy5ieUlkXCI+PC9iaXpkb2MtaWRlbnRpdHktbmFtZT5cclxuICB8IDxzcGFuPnt7bG9nLnRpbWUgfCBhbUNhbGVuZGFyIDogbnVsbCA6IENBTEVOREFSX1NQRUMgfX08L3NwYW4+XHJcbjwvZGl2PlxyXG48ZGl2PlxyXG4gIDxiaXpkb2MtdmVyc2lvbi1jb21wYXJlIFttb2RlbF09XCJtb2RlbFwiIFt2ZXJzaW9uXT1cImxvZy50aW1lXCI+PC9iaXpkb2MtdmVyc2lvbi1jb21wYXJlPlxyXG48L2Rpdj5cclxuIl19
|