@hmcts/media-viewer 4.1.10 → 4.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/hmcts-media-viewer.mjs +297 -285
- package/fesm2022/hmcts-media-viewer.mjs.map +1 -1
- package/index.d.ts +2316 -4
- package/index.d.ts.map +1 -0
- package/package.json +10 -12
- package/esm2022/hmcts-media-viewer.mjs +0 -5
- package/esm2022/lib/annotations/annotation-set/annotation-create/box-highlight-create/box-highlight-create.component.mjs +0 -122
- package/esm2022/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.directive.mjs +0 -120
- package/esm2022/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.service.mjs +0 -101
- package/esm2022/lib/annotations/annotation-set/annotation-set.component.mjs +0 -50
- package/esm2022/lib/annotations/annotation-set/annotation-set.model.mjs +0 -2
- package/esm2022/lib/annotations/annotation-set/annotation-view/annotation-view.component.mjs +0 -94
- package/esm2022/lib/annotations/annotation-set/annotation-view/annotation.model.mjs +0 -2
- package/esm2022/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.component.mjs +0 -116
- package/esm2022/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.model.mjs +0 -2
- package/esm2022/lib/annotations/annotation-set/ctx-toolbar/ctx-toolbar.component.mjs +0 -119
- package/esm2022/lib/annotations/annotation-set/metadata-layer/metadata-layer.component.mjs +0 -86
- package/esm2022/lib/annotations/annotations.module.mjs +0 -162
- package/esm2022/lib/annotations/comment-set/comment/comment.component.mjs +0 -178
- package/esm2022/lib/annotations/comment-set/comment/comment.model.mjs +0 -2
- package/esm2022/lib/annotations/comment-set/comment/comment.service.mjs +0 -50
- package/esm2022/lib/annotations/comment-set/comment/text-highlight/text-highlight.directive.mjs +0 -47
- package/esm2022/lib/annotations/comment-set/comment/textarea-auto-expand/textarea-auto-expand.directive.mjs +0 -31
- package/esm2022/lib/annotations/comment-set/comment-navigate/comments-navigate.component.mjs +0 -91
- package/esm2022/lib/annotations/comment-set/comment-set-header/comment-filter/comment-filter.component.mjs +0 -62
- package/esm2022/lib/annotations/comment-set/comment-set-header/comment-search/comment-search.component.mjs +0 -54
- package/esm2022/lib/annotations/comment-set/comment-set-header/comment-set-header.component.mjs +0 -72
- package/esm2022/lib/annotations/comment-set/comment-set-render.service.mjs +0 -55
- package/esm2022/lib/annotations/comment-set/comment-set.component.mjs +0 -123
- package/esm2022/lib/annotations/comments-summary/comments-summary.component.mjs +0 -120
- package/esm2022/lib/annotations/models/api-persisted.model.mjs +0 -2
- package/esm2022/lib/annotations/models/event-select.model.mjs +0 -2
- package/esm2022/lib/annotations/models/tags.model.mjs +0 -2
- package/esm2022/lib/annotations/models/user.model.mjs +0 -2
- package/esm2022/lib/annotations/pipes/date/date.pipe.mjs +0 -26
- package/esm2022/lib/annotations/pipes/filter/filter.pipe.mjs +0 -32
- package/esm2022/lib/annotations/pipes/unsnake/unsnake.pipe.mjs +0 -16
- package/esm2022/lib/annotations/services/annotation-api/annotation-api.service.mjs +0 -58
- package/esm2022/lib/annotations/services/bookmarks-api/bookmarks-api.service.mjs +0 -45
- package/esm2022/lib/annotations/services/tags/tags.services.mjs +0 -41
- package/esm2022/lib/annotations/tags/tags.component.mjs +0 -53
- package/esm2022/lib/bookmark/components/bookmark-icons.component.mjs +0 -25
- package/esm2022/lib/icp/confirm-exit/confirm-action-dialog.component.mjs +0 -30
- package/esm2022/lib/icp/icp-follower.service.mjs +0 -65
- package/esm2022/lib/icp/icp-presenter.service.mjs +0 -56
- package/esm2022/lib/icp/icp-session-api.service.mjs +0 -28
- package/esm2022/lib/icp/icp-update.service.mjs +0 -73
- package/esm2022/lib/icp/icp.events.mjs +0 -15
- package/esm2022/lib/icp/icp.interfaces.mjs +0 -2
- package/esm2022/lib/icp/icp.service.mjs +0 -98
- package/esm2022/lib/icp/participants-list/participants-list.component.mjs +0 -32
- package/esm2022/lib/icp/socket.service.mjs +0 -128
- package/esm2022/lib/media-viewer.component.mjs +0 -247
- package/esm2022/lib/media-viewer.module.mjs +0 -139
- package/esm2022/lib/print.service.mjs +0 -32
- package/esm2022/lib/redaction/components/redaction.component.mjs +0 -91
- package/esm2022/lib/redaction/services/redaction-api.service.mjs +0 -50
- package/esm2022/lib/redaction/services/redaction.model.mjs +0 -2
- package/esm2022/lib/shared/directives/tooltip-dismiss.directive.mjs +0 -36
- package/esm2022/lib/shared/gov-uk-date/gov-uk-date.component.mjs +0 -28
- package/esm2022/lib/shared/gov-uk-error-message/gov-uk-error-message.component.mjs +0 -34
- package/esm2022/lib/shared/gov-uk-fieldset/gov-uk-fieldset.component.mjs +0 -63
- package/esm2022/lib/shared/gov-uk-label/gov-uk-label.component.mjs +0 -44
- package/esm2022/lib/shared/shared.module.mjs +0 -53
- package/esm2022/lib/shared/util/helpers/html-templates.helper.mjs +0 -29
- package/esm2022/lib/shared/util/services/number.helper.service.mjs +0 -23
- package/esm2022/lib/store/actions/annotation.actions.mjs +0 -119
- package/esm2022/lib/store/actions/bookmark.actions.mjs +0 -112
- package/esm2022/lib/store/actions/document.actions.mjs +0 -91
- package/esm2022/lib/store/actions/icp.actions.mjs +0 -56
- package/esm2022/lib/store/actions/redaction.actions.mjs +0 -132
- package/esm2022/lib/store/actions/tag.actions.mjs +0 -21
- package/esm2022/lib/store/bookmarks-store-utils.mjs +0 -49
- package/esm2022/lib/store/effects/annotation.effects.mjs +0 -51
- package/esm2022/lib/store/effects/bookmarks.effects.mjs +0 -44
- package/esm2022/lib/store/effects/document.effects.mjs +0 -44
- package/esm2022/lib/store/effects/icp.effects.mjs +0 -26
- package/esm2022/lib/store/effects/index.mjs +0 -7
- package/esm2022/lib/store/effects/redaction.effects.mjs +0 -67
- package/esm2022/lib/store/models/bookmarks.interface.mjs +0 -2
- package/esm2022/lib/store/models/filters.interface.mjs +0 -2
- package/esm2022/lib/store/reducers/annotations.reducer.mjs +0 -208
- package/esm2022/lib/store/reducers/bookmarks.reducer.mjs +0 -125
- package/esm2022/lib/store/reducers/document.reducer.mjs +0 -158
- package/esm2022/lib/store/reducers/icp.reducer.mjs +0 -56
- package/esm2022/lib/store/reducers/redaction.reducer.mjs +0 -116
- package/esm2022/lib/store/reducers/reducers.mjs +0 -23
- package/esm2022/lib/store/reducers/tags.reducer.mjs +0 -93
- package/esm2022/lib/store/selectors/annotation.selectors.mjs +0 -81
- package/esm2022/lib/store/selectors/bookmark.selectors.mjs +0 -37
- package/esm2022/lib/store/selectors/document.selectors.mjs +0 -13
- package/esm2022/lib/store/selectors/icp.selectors.mjs +0 -13
- package/esm2022/lib/store/selectors/redaction.selectors.mjs +0 -26
- package/esm2022/lib/store/selectors/tag.selectors.mjs +0 -15
- package/esm2022/lib/store/store-utils.mjs +0 -131
- package/esm2022/lib/toolbar/highlight-toolbar/highlight-toolbar.component.mjs +0 -46
- package/esm2022/lib/toolbar/icp-event.service.mjs +0 -44
- package/esm2022/lib/toolbar/icp-toolbar/icp-toolbar.component.mjs +0 -43
- package/esm2022/lib/toolbar/main-toolbar/main-toolbar.component.mjs +0 -207
- package/esm2022/lib/toolbar/redaction-search-bar/redaction-search-bar.component.mjs +0 -237
- package/esm2022/lib/toolbar/redaction-search-bar/redaction-search.model.mjs +0 -2
- package/esm2022/lib/toolbar/redaction-toolbar/redaction-toolbar.component.mjs +0 -69
- package/esm2022/lib/toolbar/search-bar/search-bar.component.mjs +0 -109
- package/esm2022/lib/toolbar/toolbar-button-visibility.service.mjs +0 -94
- package/esm2022/lib/toolbar/toolbar-event.service.mjs +0 -178
- package/esm2022/lib/toolbar/toolbar.module.mjs +0 -75
- package/esm2022/lib/viewers/convertible-content-viewer/convertible-content-viewer.component.mjs +0 -82
- package/esm2022/lib/viewers/convertible-content-viewer/document-conversion-api.service.mjs +0 -22
- package/esm2022/lib/viewers/grab-n-drag.directive.mjs +0 -57
- package/esm2022/lib/viewers/image-viewer/image-viewer.component.mjs +0 -166
- package/esm2022/lib/viewers/multimedia-player/multimedia-player.component.mjs +0 -59
- package/esm2022/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.mjs +0 -266
- package/esm2022/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.provider.mjs +0 -40
- package/esm2022/lib/viewers/pdf-viewer/pdf-viewer.component.mjs +0 -242
- package/esm2022/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.component.mjs +0 -379
- package/esm2022/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.interfaces.mjs +0 -2
- package/esm2022/lib/viewers/pdf-viewer/side-bar/outline-item/outline-item.component.mjs +0 -49
- package/esm2022/lib/viewers/pdf-viewer/side-bar/outline-item/outline.model.mjs +0 -2
- package/esm2022/lib/viewers/pdf-viewer/side-bar/side-bar.component.mjs +0 -99
- package/esm2022/lib/viewers/rotation-persist/rotation-api.service.mjs +0 -27
- package/esm2022/lib/viewers/rotation-persist/rotation-persist.directive.mjs +0 -61
- package/esm2022/lib/viewers/rotation-persist/rotation.model.mjs +0 -2
- package/esm2022/lib/viewers/unsupported-viewer/unsupported-viewer.component.mjs +0 -49
- package/esm2022/lib/viewers/viewer-event.service.mjs +0 -34
- package/esm2022/lib/viewers/viewer-exception.model.mjs +0 -13
- package/esm2022/lib/viewers/viewer-util.service.mjs +0 -20
- package/esm2022/public_api.mjs +0 -33
- package/hmcts-media-viewer.d.ts.map +0 -1
- package/lib/annotations/annotation-set/annotation-create/box-highlight-create/box-highlight-create.component.d.ts +0 -48
- package/lib/annotations/annotation-set/annotation-create/box-highlight-create/box-highlight-create.component.d.ts.map +0 -1
- package/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.directive.d.ts +0 -32
- package/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.directive.d.ts.map +0 -1
- package/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.service.d.ts +0 -18
- package/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.service.d.ts.map +0 -1
- package/lib/annotations/annotation-set/annotation-set.component.d.ts +0 -27
- package/lib/annotations/annotation-set/annotation-set.component.d.ts.map +0 -1
- package/lib/annotations/annotation-set/annotation-set.model.d.ts +0 -7
- package/lib/annotations/annotation-set/annotation-set.model.d.ts.map +0 -1
- package/lib/annotations/annotation-set/annotation-view/annotation-view.component.d.ts +0 -34
- package/lib/annotations/annotation-set/annotation-view/annotation-view.component.d.ts.map +0 -1
- package/lib/annotations/annotation-set/annotation-view/annotation.model.d.ts +0 -16
- package/lib/annotations/annotation-set/annotation-view/annotation.model.d.ts.map +0 -1
- package/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.component.d.ts +0 -41
- package/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.component.d.ts.map +0 -1
- package/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.model.d.ts +0 -9
- package/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.model.d.ts.map +0 -1
- package/lib/annotations/annotation-set/ctx-toolbar/ctx-toolbar.component.d.ts +0 -37
- package/lib/annotations/annotation-set/ctx-toolbar/ctx-toolbar.component.d.ts.map +0 -1
- package/lib/annotations/annotation-set/metadata-layer/metadata-layer.component.d.ts +0 -37
- package/lib/annotations/annotation-set/metadata-layer/metadata-layer.component.d.ts.map +0 -1
- package/lib/annotations/annotations.module.d.ts +0 -36
- package/lib/annotations/annotations.module.d.ts.map +0 -1
- package/lib/annotations/comment-set/comment/comment.component.d.ts +0 -69
- package/lib/annotations/comment-set/comment/comment.component.d.ts.map +0 -1
- package/lib/annotations/comment-set/comment/comment.model.d.ts +0 -13
- package/lib/annotations/comment-set/comment/comment.model.d.ts.map +0 -1
- package/lib/annotations/comment-set/comment/comment.service.d.ts +0 -22
- package/lib/annotations/comment-set/comment/comment.service.d.ts.map +0 -1
- package/lib/annotations/comment-set/comment/text-highlight/text-highlight.directive.d.ts +0 -14
- package/lib/annotations/comment-set/comment/text-highlight/text-highlight.directive.d.ts.map +0 -1
- package/lib/annotations/comment-set/comment/textarea-auto-expand/textarea-auto-expand.directive.d.ts +0 -12
- package/lib/annotations/comment-set/comment/textarea-auto-expand/textarea-auto-expand.directive.d.ts.map +0 -1
- package/lib/annotations/comment-set/comment-navigate/comments-navigate.component.d.ts +0 -28
- package/lib/annotations/comment-set/comment-navigate/comments-navigate.component.d.ts.map +0 -1
- package/lib/annotations/comment-set/comment-set-header/comment-filter/comment-filter.component.d.ts +0 -26
- package/lib/annotations/comment-set/comment-set-header/comment-filter/comment-filter.component.d.ts.map +0 -1
- package/lib/annotations/comment-set/comment-set-header/comment-search/comment-search.component.d.ts +0 -21
- package/lib/annotations/comment-set/comment-set-header/comment-search/comment-search.component.d.ts.map +0 -1
- package/lib/annotations/comment-set/comment-set-header/comment-set-header.component.d.ts +0 -36
- package/lib/annotations/comment-set/comment-set-header/comment-set-header.component.d.ts.map +0 -1
- package/lib/annotations/comment-set/comment-set-render.service.d.ts +0 -15
- package/lib/annotations/comment-set/comment-set-render.service.d.ts.map +0 -1
- package/lib/annotations/comment-set/comment-set.component.d.ts +0 -56
- package/lib/annotations/comment-set/comment-set.component.d.ts.map +0 -1
- package/lib/annotations/comments-summary/comments-summary.component.d.ts +0 -42
- package/lib/annotations/comments-summary/comments-summary.component.d.ts.map +0 -1
- package/lib/annotations/models/api-persisted.model.d.ts +0 -11
- package/lib/annotations/models/api-persisted.model.d.ts.map +0 -1
- package/lib/annotations/models/event-select.model.d.ts +0 -6
- package/lib/annotations/models/event-select.model.d.ts.map +0 -1
- package/lib/annotations/models/tags.model.d.ts +0 -7
- package/lib/annotations/models/tags.model.d.ts.map +0 -1
- package/lib/annotations/models/user.model.d.ts +0 -6
- package/lib/annotations/models/user.model.d.ts.map +0 -1
- package/lib/annotations/pipes/date/date.pipe.d.ts +0 -16
- package/lib/annotations/pipes/date/date.pipe.d.ts.map +0 -1
- package/lib/annotations/pipes/filter/filter.pipe.d.ts +0 -8
- package/lib/annotations/pipes/filter/filter.pipe.d.ts.map +0 -1
- package/lib/annotations/pipes/unsnake/unsnake.pipe.d.ts +0 -8
- package/lib/annotations/pipes/unsnake/unsnake.pipe.d.ts.map +0 -1
- package/lib/annotations/services/annotation-api/annotation-api.service.d.ts +0 -28
- package/lib/annotations/services/annotation-api/annotation-api.service.d.ts.map +0 -1
- package/lib/annotations/services/bookmarks-api/bookmarks-api.service.d.ts +0 -21
- package/lib/annotations/services/bookmarks-api/bookmarks-api.service.d.ts.map +0 -1
- package/lib/annotations/services/tags/tags.services.d.ts +0 -18
- package/lib/annotations/services/tags/tags.services.d.ts.map +0 -1
- package/lib/annotations/tags/tags.component.d.ts +0 -28
- package/lib/annotations/tags/tags.component.d.ts.map +0 -1
- package/lib/bookmark/components/bookmark-icons.component.d.ts +0 -19
- package/lib/bookmark/components/bookmark-icons.component.d.ts.map +0 -1
- package/lib/icp/confirm-exit/confirm-action-dialog.component.d.ts +0 -14
- package/lib/icp/confirm-exit/confirm-action-dialog.component.d.ts.map +0 -1
- package/lib/icp/icp-follower.service.d.ts +0 -26
- package/lib/icp/icp-follower.service.d.ts.map +0 -1
- package/lib/icp/icp-presenter.service.d.ts +0 -25
- package/lib/icp/icp-presenter.service.d.ts.map +0 -1
- package/lib/icp/icp-session-api.service.d.ts +0 -15
- package/lib/icp/icp-session-api.service.d.ts.map +0 -1
- package/lib/icp/icp-update.service.d.ts +0 -22
- package/lib/icp/icp-update.service.d.ts.map +0 -1
- package/lib/icp/icp.events.d.ts +0 -14
- package/lib/icp/icp.events.d.ts.map +0 -1
- package/lib/icp/icp.interfaces.d.ts +0 -23
- package/lib/icp/icp.interfaces.d.ts.map +0 -1
- package/lib/icp/icp.service.d.ts +0 -40
- package/lib/icp/icp.service.d.ts.map +0 -1
- package/lib/icp/participants-list/participants-list.component.d.ts +0 -23
- package/lib/icp/participants-list/participants-list.component.d.ts.map +0 -1
- package/lib/icp/socket.service.d.ts +0 -29
- package/lib/icp/socket.service.d.ts.map +0 -1
- package/lib/media-viewer.component.d.ts +0 -72
- package/lib/media-viewer.component.d.ts.map +0 -1
- package/lib/media-viewer.module.d.ts +0 -36
- package/lib/media-viewer.module.d.ts.map +0 -1
- package/lib/print.service.d.ts +0 -8
- package/lib/print.service.d.ts.map +0 -1
- package/lib/redaction/components/redaction.component.d.ts +0 -42
- package/lib/redaction/components/redaction.component.d.ts.map +0 -1
- package/lib/redaction/services/redaction-api.service.d.ts +0 -20
- package/lib/redaction/services/redaction-api.service.d.ts.map +0 -1
- package/lib/redaction/services/redaction.model.d.ts +0 -11
- package/lib/redaction/services/redaction.model.d.ts.map +0 -1
- package/lib/shared/directives/tooltip-dismiss.directive.d.ts +0 -11
- package/lib/shared/directives/tooltip-dismiss.directive.d.ts.map +0 -1
- package/lib/shared/gov-uk-date/gov-uk-date.component.d.ts +0 -15
- package/lib/shared/gov-uk-date/gov-uk-date.component.d.ts.map +0 -1
- package/lib/shared/gov-uk-error-message/gov-uk-error-message.component.d.ts +0 -11
- package/lib/shared/gov-uk-error-message/gov-uk-error-message.component.d.ts.map +0 -1
- package/lib/shared/gov-uk-fieldset/gov-uk-fieldset.component.d.ts +0 -16
- package/lib/shared/gov-uk-fieldset/gov-uk-fieldset.component.d.ts.map +0 -1
- package/lib/shared/gov-uk-label/gov-uk-label.component.d.ts +0 -14
- package/lib/shared/gov-uk-label/gov-uk-label.component.d.ts.map +0 -1
- package/lib/shared/shared.module.d.ts +0 -14
- package/lib/shared/shared.module.d.ts.map +0 -1
- package/lib/shared/util/helpers/html-templates.helper.d.ts +0 -9
- package/lib/shared/util/helpers/html-templates.helper.d.ts.map +0 -1
- package/lib/shared/util/services/number.helper.service.d.ts +0 -11
- package/lib/shared/util/services/number.helper.service.d.ts.map +0 -1
- package/lib/store/actions/annotation.actions.d.ts +0 -126
- package/lib/store/actions/annotation.actions.d.ts.map +0 -1
- package/lib/store/actions/bookmark.actions.d.ts +0 -117
- package/lib/store/actions/bookmark.actions.d.ts.map +0 -1
- package/lib/store/actions/document.actions.d.ts +0 -90
- package/lib/store/actions/document.actions.d.ts.map +0 -1
- package/lib/store/actions/icp.actions.d.ts +0 -75
- package/lib/store/actions/icp.actions.d.ts.map +0 -1
- package/lib/store/actions/redaction.actions.d.ts +0 -127
- package/lib/store/actions/redaction.actions.d.ts.map +0 -1
- package/lib/store/actions/tag.actions.d.ts +0 -30
- package/lib/store/actions/tag.actions.d.ts.map +0 -1
- package/lib/store/bookmarks-store-utils.d.ts +0 -9
- package/lib/store/bookmarks-store-utils.d.ts.map +0 -1
- package/lib/store/effects/annotation.effects.d.ts +0 -16
- package/lib/store/effects/annotation.effects.d.ts.map +0 -1
- package/lib/store/effects/bookmarks.effects.d.ts +0 -21
- package/lib/store/effects/bookmarks.effects.d.ts.map +0 -1
- package/lib/store/effects/document.effects.d.ts +0 -17
- package/lib/store/effects/document.effects.d.ts.map +0 -1
- package/lib/store/effects/icp.effects.d.ts +0 -16
- package/lib/store/effects/icp.effects.d.ts.map +0 -1
- package/lib/store/effects/index.d.ts +0 -2
- package/lib/store/effects/index.d.ts.map +0 -1
- package/lib/store/effects/redaction.effects.d.ts +0 -20
- package/lib/store/effects/redaction.effects.d.ts.map +0 -1
- package/lib/store/models/bookmarks.interface.d.ts +0 -31
- package/lib/store/models/bookmarks.interface.d.ts.map +0 -1
- package/lib/store/models/filters.interface.d.ts +0 -8
- package/lib/store/models/filters.interface.d.ts.map +0 -1
- package/lib/store/reducers/annotations.reducer.d.ts +0 -48
- package/lib/store/reducers/annotations.reducer.d.ts.map +0 -1
- package/lib/store/reducers/bookmarks.reducer.d.ts +0 -27
- package/lib/store/reducers/bookmarks.reducer.d.ts.map +0 -1
- package/lib/store/reducers/document.reducer.d.ts +0 -52
- package/lib/store/reducers/document.reducer.d.ts.map +0 -1
- package/lib/store/reducers/icp.reducer.d.ts +0 -9
- package/lib/store/reducers/icp.reducer.d.ts.map +0 -1
- package/lib/store/reducers/redaction.reducer.d.ts +0 -32
- package/lib/store/reducers/redaction.reducer.d.ts.map +0 -1
- package/lib/store/reducers/reducers.d.ts +0 -24
- package/lib/store/reducers/reducers.d.ts.map +0 -1
- package/lib/store/reducers/tags.reducer.d.ts +0 -32
- package/lib/store/reducers/tags.reducer.d.ts.map +0 -1
- package/lib/store/selectors/annotation.selectors.d.ts +0 -136
- package/lib/store/selectors/annotation.selectors.d.ts.map +0 -1
- package/lib/store/selectors/bookmark.selectors.d.ts +0 -38
- package/lib/store/selectors/bookmark.selectors.d.ts.map +0 -1
- package/lib/store/selectors/document.selectors.d.ts +0 -23
- package/lib/store/selectors/document.selectors.d.ts.map +0 -1
- package/lib/store/selectors/icp.selectors.d.ts +0 -10
- package/lib/store/selectors/icp.selectors.d.ts.map +0 -1
- package/lib/store/selectors/redaction.selectors.d.ts +0 -35
- package/lib/store/selectors/redaction.selectors.d.ts.map +0 -1
- package/lib/store/selectors/tag.selectors.d.ts +0 -28
- package/lib/store/selectors/tag.selectors.d.ts.map +0 -1
- package/lib/store/store-utils.d.ts +0 -25
- package/lib/store/store-utils.d.ts.map +0 -1
- package/lib/toolbar/highlight-toolbar/highlight-toolbar.component.d.ts +0 -20
- package/lib/toolbar/highlight-toolbar/highlight-toolbar.component.d.ts.map +0 -1
- package/lib/toolbar/icp-event.service.d.ts +0 -21
- package/lib/toolbar/icp-event.service.d.ts.map +0 -1
- package/lib/toolbar/icp-toolbar/icp-toolbar.component.d.ts +0 -24
- package/lib/toolbar/icp-toolbar/icp-toolbar.component.d.ts.map +0 -1
- package/lib/toolbar/main-toolbar/main-toolbar.component.d.ts +0 -69
- package/lib/toolbar/main-toolbar/main-toolbar.component.d.ts.map +0 -1
- package/lib/toolbar/redaction-search-bar/redaction-search-bar.component.d.ts +0 -60
- package/lib/toolbar/redaction-search-bar/redaction-search-bar.component.d.ts.map +0 -1
- package/lib/toolbar/redaction-search-bar/redaction-search.model.d.ts +0 -12
- package/lib/toolbar/redaction-search-bar/redaction-search.model.d.ts.map +0 -1
- package/lib/toolbar/redaction-toolbar/redaction-toolbar.component.d.ts +0 -30
- package/lib/toolbar/redaction-toolbar/redaction-toolbar.component.d.ts.map +0 -1
- package/lib/toolbar/search-bar/search-bar.component.d.ts +0 -34
- package/lib/toolbar/search-bar/search-bar.component.d.ts.map +0 -1
- package/lib/toolbar/toolbar-button-visibility.service.d.ts +0 -67
- package/lib/toolbar/toolbar-button-visibility.service.d.ts.map +0 -1
- package/lib/toolbar/toolbar-event.service.d.ts +0 -96
- package/lib/toolbar/toolbar-event.service.d.ts.map +0 -1
- package/lib/toolbar/toolbar.module.d.ts +0 -20
- package/lib/toolbar/toolbar.module.d.ts.map +0 -1
- package/lib/viewers/convertible-content-viewer/convertible-content-viewer.component.d.ts +0 -31
- package/lib/viewers/convertible-content-viewer/convertible-content-viewer.component.d.ts.map +0 -1
- package/lib/viewers/convertible-content-viewer/document-conversion-api.service.d.ts +0 -12
- package/lib/viewers/convertible-content-viewer/document-conversion-api.service.d.ts.map +0 -1
- package/lib/viewers/grab-n-drag.directive.d.ts +0 -19
- package/lib/viewers/grab-n-drag.directive.d.ts.map +0 -1
- package/lib/viewers/image-viewer/image-viewer.component.d.ts +0 -57
- package/lib/viewers/image-viewer/image-viewer.component.d.ts.map +0 -1
- package/lib/viewers/multimedia-player/multimedia-player.component.d.ts +0 -25
- package/lib/viewers/multimedia-player/multimedia-player.component.d.ts.map +0 -1
- package/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.d.ts +0 -69
- package/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.d.ts.map +0 -1
- package/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.provider.d.ts +0 -17
- package/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.provider.d.ts.map +0 -1
- package/lib/viewers/pdf-viewer/pdf-viewer.component.d.ts +0 -82
- package/lib/viewers/pdf-viewer/pdf-viewer.component.d.ts.map +0 -1
- package/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.component.d.ts +0 -82
- package/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.component.d.ts.map +0 -1
- package/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.interfaces.d.ts +0 -22
- package/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.interfaces.d.ts.map +0 -1
- package/lib/viewers/pdf-viewer/side-bar/outline-item/outline-item.component.d.ts +0 -20
- package/lib/viewers/pdf-viewer/side-bar/outline-item/outline-item.component.d.ts.map +0 -1
- package/lib/viewers/pdf-viewer/side-bar/outline-item/outline.model.d.ts +0 -14
- package/lib/viewers/pdf-viewer/side-bar/outline-item/outline.model.d.ts.map +0 -1
- package/lib/viewers/pdf-viewer/side-bar/side-bar.component.d.ts +0 -42
- package/lib/viewers/pdf-viewer/side-bar/side-bar.component.d.ts.map +0 -1
- package/lib/viewers/rotation-persist/rotation-api.service.d.ts +0 -14
- package/lib/viewers/rotation-persist/rotation-api.service.d.ts.map +0 -1
- package/lib/viewers/rotation-persist/rotation-persist.directive.d.ts +0 -27
- package/lib/viewers/rotation-persist/rotation-persist.directive.d.ts.map +0 -1
- package/lib/viewers/rotation-persist/rotation.model.d.ts +0 -5
- package/lib/viewers/rotation-persist/rotation.model.d.ts.map +0 -1
- package/lib/viewers/unsupported-viewer/unsupported-viewer.component.d.ts +0 -23
- package/lib/viewers/unsupported-viewer/unsupported-viewer.component.d.ts.map +0 -1
- package/lib/viewers/viewer-event.service.d.ts +0 -23
- package/lib/viewers/viewer-event.service.d.ts.map +0 -1
- package/lib/viewers/viewer-exception.model.d.ts +0 -15
- package/lib/viewers/viewer-exception.model.d.ts.map +0 -1
- package/lib/viewers/viewer-util.service.d.ts +0 -10
- package/lib/viewers/viewer-util.service.d.ts.map +0 -1
- package/public_api.d.ts +0 -30
- package/public_api.d.ts.map +0 -1
|
@@ -1,123 +0,0 @@
|
|
|
1
|
-
import { Component, Input, ViewChild, ViewChildren, } from '@angular/core';
|
|
2
|
-
import { select } from '@ngrx/store';
|
|
3
|
-
import * as fromActions from '../../store/actions/annotation.actions';
|
|
4
|
-
import * as fromSelectors from '../../store/selectors/annotation.selectors';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@ngrx/store";
|
|
7
|
-
import * as i2 from "./comment/comment.service";
|
|
8
|
-
import * as i3 from "./comment-set-render.service";
|
|
9
|
-
import * as i4 from "../../toolbar/toolbar-event.service";
|
|
10
|
-
import * as i5 from "@angular/common";
|
|
11
|
-
import * as i6 from "./comment/comment.component";
|
|
12
|
-
export class CommentSetComponent {
|
|
13
|
-
constructor(store, commentService, renderService, toolbarEvents) {
|
|
14
|
-
this.store = store;
|
|
15
|
-
this.commentService = commentService;
|
|
16
|
-
this.renderService = renderService;
|
|
17
|
-
this.toolbarEvents = toolbarEvents;
|
|
18
|
-
this.pageHeights = [];
|
|
19
|
-
this.subscriptions = [];
|
|
20
|
-
this.clearSelection();
|
|
21
|
-
}
|
|
22
|
-
ngOnInit() {
|
|
23
|
-
this.comments$ = this.store.pipe(select(fromSelectors.getCommentsArray));
|
|
24
|
-
this.annoEntities$ = this.store.pipe(select(fromSelectors.getAnnotationEntities));
|
|
25
|
-
this.subscriptions.push(this.toolbarEvents.commentsPanelVisible.subscribe(toggle => {
|
|
26
|
-
this.redrawComments();
|
|
27
|
-
this.showCommentsPanel = toggle;
|
|
28
|
-
}));
|
|
29
|
-
this.subscriptions.push(this.toolbarEvents.rotateSubject.subscribe(rotate => this.rotateDocument()));
|
|
30
|
-
}
|
|
31
|
-
ngOnChanges(changes) {
|
|
32
|
-
if (changes.annotationSet) {
|
|
33
|
-
this.commentService.setCommentSet(this);
|
|
34
|
-
}
|
|
35
|
-
if (changes.contentScrollTop) {
|
|
36
|
-
if (this.container) {
|
|
37
|
-
this.container.nativeElement.scrollTo(0, this.contentScrollTop);
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
ngOnDestroy() {
|
|
42
|
-
if (this.subscriptions.length > 0) {
|
|
43
|
-
this.subscriptions.forEach(subscription => subscription.unsubscribe());
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
onSelect(annotationId) {
|
|
47
|
-
this.store.dispatch(new fromActions.SelectedAnnotation(annotationId));
|
|
48
|
-
}
|
|
49
|
-
onCommentDelete(comment) {
|
|
50
|
-
const annotation = this.annotationSet.annotations.find(anno => anno.id === comment.annotationId);
|
|
51
|
-
const comments = [];
|
|
52
|
-
const annot = {
|
|
53
|
-
...annotation,
|
|
54
|
-
comments
|
|
55
|
-
};
|
|
56
|
-
this.onAnnotationUpdate(annot);
|
|
57
|
-
this.redrawComments();
|
|
58
|
-
}
|
|
59
|
-
redrawComments() {
|
|
60
|
-
setTimeout(() => {
|
|
61
|
-
const componentList = this.commentComponents.map(comment => comment);
|
|
62
|
-
this.renderService.redrawComponents(componentList, this.pageHeights, this.rotate, this.zoom);
|
|
63
|
-
}, 0);
|
|
64
|
-
}
|
|
65
|
-
rotateDocument() {
|
|
66
|
-
if (this.panel) {
|
|
67
|
-
this.panel.nativeElement.style.height = '0';
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
onCommentUpdate(payload) {
|
|
71
|
-
const annotation = this.annotationSet.annotations.find(anno => anno.id === payload.comment.annotationId);
|
|
72
|
-
const comments = [payload.comment];
|
|
73
|
-
const tags = payload.tags;
|
|
74
|
-
const annot = {
|
|
75
|
-
...annotation,
|
|
76
|
-
comments,
|
|
77
|
-
tags
|
|
78
|
-
};
|
|
79
|
-
this.onAnnotationUpdate(annot);
|
|
80
|
-
}
|
|
81
|
-
onAnnotationUpdate(annotation) {
|
|
82
|
-
this.store.dispatch(new fromActions.SaveAnnotation(annotation));
|
|
83
|
-
}
|
|
84
|
-
onContainerClick(e) {
|
|
85
|
-
if (e.path && e.path[0] === this.panel.nativeElement) {
|
|
86
|
-
this.clearSelection();
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
clearSelection() {
|
|
90
|
-
this.store.dispatch(new fromActions.SelectedAnnotation({ annotationId: '', editable: false, selected: false }));
|
|
91
|
-
}
|
|
92
|
-
allCommentsSaved() {
|
|
93
|
-
this.commentService.allCommentsSaved();
|
|
94
|
-
}
|
|
95
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CommentSetComponent, deps: [{ token: i1.Store }, { token: i2.CommentService }, { token: i3.CommentSetRenderService }, { token: i4.ToolbarEventService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
96
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CommentSetComponent, selector: "mv-comment-set", inputs: { annotationSet: "annotationSet", zoom: "zoom", rotate: "rotate", height: "height", pageHeights: "pageHeights", contentScrollTop: "contentScrollTop" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }, { propertyName: "panel", first: true, predicate: ["panel"], descendants: true }, { propertyName: "commentComponents", predicate: ["commentComponent"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div #container [ngClass]=\"{'comments': showCommentsPanel}\">\n <div #panel [ngClass]=\"{ 'comments-panel comment-container': true, 'expanded': showCommentsPanel }\"\n [style.height.px]=\"height\"\n (click)=\"onContainerClick($event)\">\n <ng-container *ngFor=\"let comment of (comments$ | async); let i = index;\">\n <mv-anno-comment\n [ngStyle]=\"showCommentsPanel ? {} : {'display':'none'}\"\n #commentComponent\n (commentClick)=\"onSelect($event)\"\n (delete)=\"onCommentDelete($event)\"\n (updated)=\"onCommentUpdate($event)\"\n (changes)=\"allCommentsSaved()\"\n [zoom]=\"zoom\"\n [rotate]=\"rotate\"\n [index]=\"i\"\n [page]=\"comment.page\"\n [comment]=\"comment\"\n [annotation]=\"(annoEntities$ | async)[comment.annotationId]\"\n (renderComments)=\"redrawComments()\">\n </mv-anno-comment>\n </ng-container>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i6.CommentComponent, selector: "mv-anno-comment", inputs: ["rotate", "zoom", "index", "page", "comment", "annotation"], outputs: ["commentClick", "renderComments", "delete", "updated", "changes"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }] }); }
|
|
97
|
-
}
|
|
98
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CommentSetComponent, decorators: [{
|
|
99
|
-
type: Component,
|
|
100
|
-
args: [{ selector: 'mv-comment-set', template: "<div #container [ngClass]=\"{'comments': showCommentsPanel}\">\n <div #panel [ngClass]=\"{ 'comments-panel comment-container': true, 'expanded': showCommentsPanel }\"\n [style.height.px]=\"height\"\n (click)=\"onContainerClick($event)\">\n <ng-container *ngFor=\"let comment of (comments$ | async); let i = index;\">\n <mv-anno-comment\n [ngStyle]=\"showCommentsPanel ? {} : {'display':'none'}\"\n #commentComponent\n (commentClick)=\"onSelect($event)\"\n (delete)=\"onCommentDelete($event)\"\n (updated)=\"onCommentUpdate($event)\"\n (changes)=\"allCommentsSaved()\"\n [zoom]=\"zoom\"\n [rotate]=\"rotate\"\n [index]=\"i\"\n [page]=\"comment.page\"\n [comment]=\"comment\"\n [annotation]=\"(annoEntities$ | async)[comment.annotationId]\"\n (renderComments)=\"redrawComments()\">\n </mv-anno-comment>\n </ng-container>\n </div>\n</div>\n" }]
|
|
101
|
-
}], ctorParameters: () => [{ type: i1.Store }, { type: i2.CommentService }, { type: i3.CommentSetRenderService }, { type: i4.ToolbarEventService }], propDecorators: { annotationSet: [{
|
|
102
|
-
type: Input
|
|
103
|
-
}], zoom: [{
|
|
104
|
-
type: Input
|
|
105
|
-
}], rotate: [{
|
|
106
|
-
type: Input
|
|
107
|
-
}], height: [{
|
|
108
|
-
type: Input
|
|
109
|
-
}], pageHeights: [{
|
|
110
|
-
type: Input
|
|
111
|
-
}], contentScrollTop: [{
|
|
112
|
-
type: Input
|
|
113
|
-
}], container: [{
|
|
114
|
-
type: ViewChild,
|
|
115
|
-
args: ['container', { static: false }]
|
|
116
|
-
}], panel: [{
|
|
117
|
-
type: ViewChild,
|
|
118
|
-
args: ['panel', { static: false }]
|
|
119
|
-
}], commentComponents: [{
|
|
120
|
-
type: ViewChildren,
|
|
121
|
-
args: ['commentComponent']
|
|
122
|
-
}] } });
|
|
123
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWVudC1zZXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWEtdmlld2VyL3NyYy9saWIvYW5ub3RhdGlvbnMvY29tbWVudC1zZXQvY29tbWVudC1zZXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWEtdmlld2VyL3NyYy9saWIvYW5ub3RhdGlvbnMvY29tbWVudC1zZXQvY29tbWVudC1zZXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxLQUFLLEVBSUwsU0FBUyxFQUNULFlBQVksR0FDYixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsTUFBTSxFQUFTLE1BQU0sYUFBYSxDQUFDO0FBUzVDLE9BQU8sS0FBSyxXQUFXLE1BQU0sd0NBQXdDLENBQUM7QUFDdEUsT0FBTyxLQUFLLGFBQWEsTUFBTSw0Q0FBNEMsQ0FBQzs7Ozs7Ozs7QUFTNUUsTUFBTSxPQUFPLG1CQUFtQjtJQXFCOUIsWUFBb0IsS0FBMEMsRUFDakMsY0FBOEIsRUFDOUIsYUFBc0MsRUFDdEMsYUFBa0M7UUFIM0MsVUFBSyxHQUFMLEtBQUssQ0FBcUM7UUFDakMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLGtCQUFhLEdBQWIsYUFBYSxDQUF5QjtRQUN0QyxrQkFBYSxHQUFiLGFBQWEsQ0FBcUI7UUFsQnRELGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBS2xCLGtCQUFhLEdBQW1CLEVBQUUsQ0FBQztRQWN6QyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO1FBQ3pFLElBQUksQ0FB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QWdCOytLQUtqQixhQUFhO3NCQUFyQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQVFtQyxTQUFTO3NCQUFqRCxTQUFTO3VCQUFDLFdBQVcsRUFBRSxFQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUM7Z0JBQ0YsS0FBSztzQkFBekMsU0FBUzt1QkFBQyxPQUFPLEVBQUUsRUFBQyxNQUFNLEVBQUUsS0FBSyxFQUFDO2dCQUNELGlCQUFpQjtzQkFBbEQsWUFBWTt1QkFBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIElucHV0LCBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBRdWVyeUxpc3QsIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NoaWxkcmVuLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgc2VsZWN0LCBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcblxuaW1wb3J0IHsgQW5ub3RhdGlvblNldCB9IGZyb20gJy4uL2Fubm90YXRpb24tc2V0L2Fubm90YXRpb24tc2V0Lm1vZGVsJztcbmltcG9ydCB7IEFubm90YXRpb24gfSBmcm9tICcuLi9hbm5vdGF0aW9uLXNldC9hbm5vdGF0aW9uLXZpZXcvYW5ub3RhdGlvbi5tb2RlbCc7XG5pbXBvcnQgeyBDb21tZW50IH0gZnJvbSAnLi9jb21tZW50L2NvbW1lbnQubW9kZWwnO1xuaW1wb3J0IHsgQ29tbWVudENvbXBvbmVudCB9IGZyb20gJy4vY29tbWVudC9jb21tZW50LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb21tZW50U2VydmljZSB9IGZyb20gJy4vY29tbWVudC9jb21tZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29tbWVudFNldFJlbmRlclNlcnZpY2UgfSBmcm9tICcuL2NvbW1lbnQtc2V0LXJlbmRlci5zZXJ2aWNlJztcbmltcG9ydCAqIGFzIGZyb21TdG9yZSBmcm9tICcuLi8uLi9zdG9yZS9yZWR1Y2Vycy9yZWR1Y2Vycyc7XG5pbXBvcnQgKiBhcyBmcm9tQWN0aW9ucyBmcm9tICcuLi8uLi9zdG9yZS9hY3Rpb25zL2Fubm90YXRpb24uYWN0aW9ucyc7XG5pbXBvcnQgKiBhcyBmcm9tU2VsZWN0b3JzIGZyb20gJy4uLy4uL3N0b3JlL3NlbGVjdG9ycy9hbm5vdGF0aW9uLnNlbGVjdG9ycyc7XG5pbXBvcnQgeyBUYWdzTW9kZWwgfSBmcm9tICcuLi9tb2RlbHMvdGFncy5tb2RlbCc7XG5pbXBvcnQgeyBTZWxlY3Rpb25Bbm5vdGF0aW9uIH0gZnJvbSAnLi4vbW9kZWxzL2V2ZW50LXNlbGVjdC5tb2RlbCc7XG5pbXBvcnQgeyBUb29sYmFyRXZlbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdG9vbGJhci90b29sYmFyLWV2ZW50LnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtdi1jb21tZW50LXNldCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb21tZW50LXNldC5jb21wb25lbnQuaHRtbCcsXG4gfSlcbmV4cG9ydCBjbGFzcyBDb21tZW50U2V0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIE9uQ2hhbmdlcyB7XG5cbiAgQElucHV0KCkgYW5ub3RhdGlvblNldDogQW5ub3RhdGlvblNldDtcbiAgQElucHV0KCkgem9vbTogbnVtYmVyO1xuICBASW5wdXQoKSByb3RhdGU6IG51bWJlcjtcbiAgQElucHV0KCkgaGVpZ2h0OiBudW1iZXI7XG4gIEBJbnB1dCgpIHBhZ2VIZWlnaHRzID0gW107XG4gIEBJbnB1dCgpIGNvbnRlbnRTY3JvbGxUb3A6IG51bWJlcjtcblxuICBjb21tZW50czogQ29tbWVudFtdO1xuICB0YWdzOiBUYWdzTW9kZWxbXTtcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xuICBwdWJsaWMgY29tbWVudHMkOiBPYnNlcnZhYmxlPEFubm90YXRpb25bXT47XG4gIHB1YmxpYyBhbm5vRW50aXRpZXMkOiBPYnNlcnZhYmxlPHsgW2lkOiBzdHJpbmddOiBBbm5vdGF0aW9uIH0+O1xuXG4gIEBWaWV3Q2hpbGQoJ2NvbnRhaW5lcicsIHtzdGF0aWM6IGZhbHNlfSkgY29udGFpbmVyOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcbiAgQFZpZXdDaGlsZCgncGFuZWwnLCB7c3RhdGljOiBmYWxzZX0pIHBhbmVsOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcbiAgQFZpZXdDaGlsZHJlbignY29tbWVudENvbXBvbmVudCcpIGNvbW1lbnRDb21wb25lbnRzOiBRdWVyeUxpc3Q8Q29tbWVudENvbXBvbmVudD47XG5cbiAgc2hvd0NvbW1lbnRzUGFuZWw6IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzdG9yZTogU3RvcmU8ZnJvbVN0b3JlLkFubm90YXRpb25TZXRTdGF0ZT4sXG4gICAgICAgICAgICAgIHByaXZhdGUgcmVhZG9ubHkgY29tbWVudFNlcnZpY2U6IENvbW1lbnRTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHJlbmRlclNlcnZpY2U6IENvbW1lbnRTZXRSZW5kZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHRvb2xiYXJFdmVudHM6IFRvb2xiYXJFdmVudFNlcnZpY2UpIHtcbiAgICB0aGlzLmNsZWFyU2VsZWN0aW9uKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmNvbW1lbnRzJCA9IHRoaXMuc3RvcmUucGlwZShzZWxlY3QoZnJvbVNlbGVjdG9ycy5nZXRDb21tZW50c0FycmF5KSk7XG4gICAgdGhpcy5hbm5vRW50aXRpZXMkID0gdGhpcy5zdG9yZS5waXBlKHNlbGVjdChmcm9tU2VsZWN0b3JzLmdldEFubm90YXRpb25FbnRpdGllcykpO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxuICAgICAgdGhpcy50b29sYmFyRXZlbnRzLmNvbW1lbnRzUGFuZWxWaXNpYmxlLnN1YnNjcmliZSh0b2dnbGUgPT4ge1xuICAgICAgICB0aGlzLnJlZHJhd0NvbW1lbnRzKCk7XG4gICAgICAgIHRoaXMuc2hvd0NvbW1lbnRzUGFuZWwgPSB0b2dnbGU7XG4gICAgICB9KVxuICAgICk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2godGhpcy50b29sYmFyRXZlbnRzLnJvdGF0ZVN1YmplY3Quc3Vic2NyaWJlKHJvdGF0ZSA9PiB0aGlzLnJvdGF0ZURvY3VtZW50KCkpKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlcy5hbm5vdGF0aW9uU2V0KSB7XG4gICAgICB0aGlzLmNvbW1lbnRTZXJ2aWNlLnNldENvbW1lbnRTZXQodGhpcyk7XG4gICAgfVxuICAgIGlmIChjaGFuZ2VzLmNvbnRlbnRTY3JvbGxUb3ApIHtcbiAgICAgIGlmICh0aGlzLmNvbnRhaW5lcikge1xuICAgICAgICB0aGlzLmNvbnRhaW5lci5uYXRpdmVFbGVtZW50LnNjcm9sbFRvKDAsIHRoaXMuY29udGVudFNjcm9sbFRvcCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgaWYgKHRoaXMuc3Vic2NyaXB0aW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbnMuZm9yRWFjaChzdWJzY3JpcHRpb24gPT4gc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCkpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvblNlbGVjdChhbm5vdGF0aW9uSWQ6IFNlbGVjdGlvbkFubm90YXRpb24pIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBmcm9tQWN0aW9ucy5TZWxlY3RlZEFubm90YXRpb24oYW5ub3RhdGlvbklkKSk7XG4gIH1cblxuICBwdWJsaWMgb25Db21tZW50RGVsZXRlKGNvbW1lbnQ6IENvbW1lbnQpIHtcbiAgICBjb25zdCBhbm5vdGF0aW9uID0gdGhpcy5hbm5vdGF0aW9uU2V0LmFubm90YXRpb25zLmZpbmQoYW5ubyA9PiBhbm5vLmlkID09PSBjb21tZW50LmFubm90YXRpb25JZCk7XG4gICAgY29uc3QgY29tbWVudHMgPSBbXTtcbiAgICBjb25zdCBhbm5vdCA9IHtcbiAgICAgIC4uLmFubm90YXRpb24sXG4gICAgICBjb21tZW50c1xuICAgIH07XG4gICAgdGhpcy5vbkFubm90YXRpb25VcGRhdGUoYW5ub3QpO1xuICAgIHRoaXMucmVkcmF3Q29tbWVudHMoKTtcbiAgfVxuXG4gIHJlZHJhd0NvbW1lbnRzKCkge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgY29uc3QgY29tcG9uZW50TGlzdDogQ29tbWVudENvbXBvbmVudFtdID0gdGhpcy5jb21tZW50Q29tcG9uZW50cy5tYXAoY29tbWVudCA9PiBjb21tZW50KTtcbiAgICAgICAgdGhpcy5yZW5kZXJTZXJ2aWNlLnJlZHJhd0NvbXBvbmVudHMoY29tcG9uZW50TGlzdCwgdGhpcy5wYWdlSGVpZ2h0cywgdGhpcy5yb3RhdGUsIHRoaXMuem9vbSk7XG4gICAgfSwgMCk7XG4gIH1cblxuICBwcml2YXRlIHJvdGF0ZURvY3VtZW50KCkge1xuICAgIGlmICh0aGlzLnBhbmVsKSB7XG4gICAgICB0aGlzLnBhbmVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUuaGVpZ2h0ID0gJzAnO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbkNvbW1lbnRVcGRhdGUocGF5bG9hZDoge2NvbW1lbnQ6IENvbW1lbnQsIHRhZ3M6IFRhZ3NNb2RlbFtdfSApIHtcbiAgICBjb25zdCBhbm5vdGF0aW9uID0gdGhpcy5hbm5vdGF0aW9uU2V0LmFubm90YXRpb25zLmZpbmQoYW5ubyA9PiBhbm5vLmlkID09PSBwYXlsb2FkLmNvbW1lbnQuYW5ub3RhdGlvbklkKTtcbiAgICBjb25zdCBjb21tZW50cyA9IFtwYXlsb2FkLmNvbW1lbnRdO1xuICAgIGNvbnN0IHRhZ3MgPSBwYXlsb2FkLnRhZ3M7XG4gICAgY29uc3QgYW5ub3QgPSB7XG4gICAgICAuLi5hbm5vdGF0aW9uLFxuICAgICAgY29tbWVudHMsXG4gICAgICB0YWdzXG4gICAgfTtcbiAgICB0aGlzLm9uQW5ub3RhdGlvblVwZGF0ZShhbm5vdCk7XG4gIH1cblxuICBwdWJsaWMgb25Bbm5vdGF0aW9uVXBkYXRlKGFubm90YXRpb246IEFubm90YXRpb24pIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBmcm9tQWN0aW9ucy5TYXZlQW5ub3RhdGlvbihhbm5vdGF0aW9uKSk7XG4gIH1cblxuICBvbkNvbnRhaW5lckNsaWNrKGUpIHtcbiAgICBpZiAoZS5wYXRoICYmIGUucGF0aFswXSA9PT0gdGhpcy5wYW5lbC5uYXRpdmVFbGVtZW50KSB7XG4gICAgICB0aGlzLmNsZWFyU2VsZWN0aW9uKCk7XG4gICAgfVxuICB9XG5cbiAgY2xlYXJTZWxlY3Rpb24oKSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgZnJvbUFjdGlvbnMuU2VsZWN0ZWRBbm5vdGF0aW9uKHsgYW5ub3RhdGlvbklkOiAnJywgZWRpdGFibGU6IGZhbHNlLCBzZWxlY3RlZDogZmFsc2V9KSk7XG4gIH1cblxuICBhbGxDb21tZW50c1NhdmVkKCkge1xuICAgIHRoaXMuY29tbWVudFNlcnZpY2UuYWxsQ29tbWVudHNTYXZlZCgpO1xuICB9XG59XG4iLCI8ZGl2ICNjb250YWluZXIgW25nQ2xhc3NdPVwieydjb21tZW50cyc6IHNob3dDb21tZW50c1BhbmVsfVwiPlxuICA8ZGl2ICNwYW5lbCBbbmdDbGFzc109XCJ7ICdjb21tZW50cy1wYW5lbCBjb21tZW50LWNvbnRhaW5lcic6IHRydWUsICdleHBhbmRlZCc6IHNob3dDb21tZW50c1BhbmVsIH1cIlxuICAgICBbc3R5bGUuaGVpZ2h0LnB4XT1cImhlaWdodFwiXG4gICAgIChjbGljayk9XCJvbkNvbnRhaW5lckNsaWNrKCRldmVudClcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjb21tZW50IG9mIChjb21tZW50cyQgfCBhc3luYyk7IGxldCBpID0gaW5kZXg7XCI+XG4gICAgICA8bXYtYW5uby1jb21tZW50XG4gICAgICAgIFtuZ1N0eWxlXT1cInNob3dDb21tZW50c1BhbmVsID8ge30gOiB7J2Rpc3BsYXknOidub25lJ31cIlxuICAgICAgICAjY29tbWVudENvbXBvbmVudFxuICAgICAgICAoY29tbWVudENsaWNrKT1cIm9uU2VsZWN0KCRldmVudClcIlxuICAgICAgICAoZGVsZXRlKT1cIm9uQ29tbWVudERlbGV0ZSgkZXZlbnQpXCJcbiAgICAgICAgKHVwZGF0ZWQpPVwib25Db21tZW50VXBkYXRlKCRldmVudClcIlxuICAgICAgICAoY2hhbmdlcyk9XCJhbGxDb21tZW50c1NhdmVkKClcIlxuICAgICAgICBbem9vbV09XCJ6b29tXCJcbiAgICAgICAgW3JvdGF0ZV09XCJyb3RhdGVcIlxuICAgICAgICBbaW5kZXhdPVwiaVwiXG4gICAgICAgIFtwYWdlXT1cImNvbW1lbnQucGFnZVwiXG4gICAgICAgIFtjb21tZW50XT1cImNvbW1lbnRcIlxuICAgICAgICBbYW5ub3RhdGlvbl09XCIoYW5ub0VudGl0aWVzJCB8IGFzeW5jKVtjb21tZW50LmFubm90YXRpb25JZF1cIlxuICAgICAgICAocmVuZGVyQ29tbWVudHMpPVwicmVkcmF3Q29tbWVudHMoKVwiPlxuICAgICAgPC9tdi1hbm5vLWNvbW1lbnQ+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
import { Component, Input, ViewChild } from '@angular/core';
|
|
2
|
-
import { FormControl, FormGroup, Validators } from '@angular/forms';
|
|
3
|
-
import { combineLatest } from 'rxjs';
|
|
4
|
-
import { select } from '@ngrx/store';
|
|
5
|
-
import * as fromSelectors from '../../store/selectors/annotation.selectors';
|
|
6
|
-
import * as fromAnnoActions from '../../store/actions/annotation.actions';
|
|
7
|
-
import * as fromTagSelectors from '../../store/selectors/tag.selectors';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
import * as i1 from "@ngrx/store";
|
|
10
|
-
import * as i2 from "../../print.service";
|
|
11
|
-
import * as i3 from "../../toolbar/toolbar-event.service";
|
|
12
|
-
import * as i4 from "@angular/forms";
|
|
13
|
-
import * as i5 from "@angular/cdk/a11y";
|
|
14
|
-
import * as i6 from "@angular/common";
|
|
15
|
-
import * as i7 from "@angular/router";
|
|
16
|
-
import * as i8 from "@swimlane/ngx-datatable";
|
|
17
|
-
import * as i9 from "../../shared/gov-uk-date/gov-uk-date.component";
|
|
18
|
-
import * as i10 from "../../shared/gov-uk-fieldset/gov-uk-fieldset.component";
|
|
19
|
-
import * as i11 from "rpx-xui-translation";
|
|
20
|
-
import * as i12 from "../pipes/unsnake/unsnake.pipe";
|
|
21
|
-
export class CommentsSummaryComponent {
|
|
22
|
-
constructor(store, printService, toolbarEvents, fb) {
|
|
23
|
-
this.store = store;
|
|
24
|
-
this.printService = printService;
|
|
25
|
-
this.toolbarEvents = toolbarEvents;
|
|
26
|
-
this.fb = fb;
|
|
27
|
-
this.showFilters = false;
|
|
28
|
-
this.hasFilter = false;
|
|
29
|
-
this.fromFilterValid = true;
|
|
30
|
-
this.toFilterValid = true;
|
|
31
|
-
}
|
|
32
|
-
ngOnInit() {
|
|
33
|
-
this.filtersFg = this.fb.group({
|
|
34
|
-
dateRangeFrom: new FormGroup({
|
|
35
|
-
day: new FormControl('', [Validators.required]),
|
|
36
|
-
month: new FormControl('', [Validators.required]),
|
|
37
|
-
year: new FormControl('', [Validators.required])
|
|
38
|
-
}),
|
|
39
|
-
dateRangeTo: new FormGroup({
|
|
40
|
-
day: new FormControl('', [Validators.required]),
|
|
41
|
-
month: new FormControl('', [Validators.required]),
|
|
42
|
-
year: new FormControl('', [Validators.required])
|
|
43
|
-
}),
|
|
44
|
-
tagFilters: this.fb.group({}),
|
|
45
|
-
});
|
|
46
|
-
this.comments$ = this.store.pipe(select(fromSelectors.getCommentSummary));
|
|
47
|
-
this.buildCheckBoxForm();
|
|
48
|
-
this.container.nativeElement.focus();
|
|
49
|
-
}
|
|
50
|
-
buildCheckBoxForm() {
|
|
51
|
-
this.filtersFg.reset();
|
|
52
|
-
const checkboxes = this.filtersFg.get('tagFilters');
|
|
53
|
-
const filters$ = this.store.pipe(select(fromSelectors.getCommentSummaryFilters));
|
|
54
|
-
this.allTags$ = this.store.pipe(select(fromTagSelectors.getAllTagsArr));
|
|
55
|
-
this.$subscriptions = combineLatest([this.allTags$, filters$]).subscribe(([tags, filters]) => {
|
|
56
|
-
this.hasFilter = filters.hasFilter;
|
|
57
|
-
tags.forEach((val) => {
|
|
58
|
-
const checkBoxValue = (filters.filters.tagFilters &&
|
|
59
|
-
filters.filters.tagFilters.hasOwnProperty(val.key)) ?
|
|
60
|
-
filters.filters.tagFilters[val.key] : false;
|
|
61
|
-
checkboxes.addControl(val.key, new FormControl(checkBoxValue));
|
|
62
|
-
});
|
|
63
|
-
this.filtersFg.updateValueAndValidity();
|
|
64
|
-
});
|
|
65
|
-
}
|
|
66
|
-
onClearFilters() {
|
|
67
|
-
this.store.dispatch(new fromAnnoActions.ClearCommentSummaryFilters());
|
|
68
|
-
this.buildCheckBoxForm();
|
|
69
|
-
}
|
|
70
|
-
onFilter() {
|
|
71
|
-
const { value } = this.filtersFg;
|
|
72
|
-
const hasDateFrom = (value.dateRangeFrom.year && value.dateRangeFrom.month && value.dateRangeFrom.day);
|
|
73
|
-
const hasDateTo = (value.dateRangeTo.year && value.dateRangeTo.month && value.dateRangeTo.day);
|
|
74
|
-
const dateRangeFrom = hasDateFrom ?
|
|
75
|
-
new Date(value.dateRangeFrom.year, value.dateRangeFrom.month - 1, value.dateRangeFrom.day).getTime() : null;
|
|
76
|
-
const dateRangeTo = hasDateTo ?
|
|
77
|
-
new Date(value.dateRangeTo.year, value.dateRangeTo.month - 1, value.dateRangeTo.day).getTime() : null;
|
|
78
|
-
this.fromFilterValid = hasDateFrom ? true : false;
|
|
79
|
-
this.toFilterValid = hasDateTo ? true : false;
|
|
80
|
-
if (this.filtersFg.valid) {
|
|
81
|
-
this.store.dispatch(new fromAnnoActions.ApplyCommentSymmaryFilter({ ...value, dateRangeFrom, dateRangeTo }));
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
onFiltersToggle() {
|
|
85
|
-
this.showFilters = !this.showFilters;
|
|
86
|
-
}
|
|
87
|
-
onClose() {
|
|
88
|
-
this.toolbarEvents.toggleCommentsSummary(false);
|
|
89
|
-
}
|
|
90
|
-
onPrint() {
|
|
91
|
-
this.printService.printElementNatively(this.commentsTable.nativeElement, 1000, 900);
|
|
92
|
-
}
|
|
93
|
-
navigateToPage(pageNumber) {
|
|
94
|
-
if (this.contentType === 'pdf') {
|
|
95
|
-
this.toolbarEvents.setPage(pageNumber);
|
|
96
|
-
}
|
|
97
|
-
this.toolbarEvents.toggleCommentsSummary(false);
|
|
98
|
-
this.toolbarEvents.toggleCommentsPanel(true);
|
|
99
|
-
}
|
|
100
|
-
ngOnDestroy() {
|
|
101
|
-
this.$subscriptions.unsubscribe();
|
|
102
|
-
}
|
|
103
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CommentsSummaryComponent, deps: [{ token: i1.Store }, { token: i2.PrintService }, { token: i3.ToolbarEventService }, { token: i4.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
104
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CommentsSummaryComponent, selector: "mv-comments-summary", inputs: { title: "title", contentType: "contentType" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["outerContainer"], descendants: true, static: true }, { propertyName: "commentsTable", first: true, predicate: ["commentContainer"], descendants: true }], ngImport: i0, template: "<div id=\"modal-background\" class=\"modal\" (click)=\"onClose()\">\n <div\n #outerContainer\n id=\"modal\"\n class=\"modal-content govuk-width-container clearfix\"\n (click)=\"$event.stopPropagation()\"\n cdkTrapFocus\n tabindex=\"0\"\n >\n <div id=\"comment-container\" class=\"comment-container\" #commentContainer>\n <h2 class=\"govuk-heading-m\">{{ title }}</h2>\n <ng-container *ngIf=\"comments$ | async as comments\">\n <ng-container *ngIf=\"comments.length\">\n <button\n type=\"submit\"\n class=\"govuk-button govuk-!-margin-right-1\"\n (click)=\"onFiltersToggle()\"\n >\n {{\n !showFilters\n ? (\"Show Filters\" | rpxTranslate)\n : (\"Hide Filters\" | rpxTranslate)\n }}\n </button>\n <button\n type=\"submit\"\n class=\"govuk-button govuk-button--secondary\"\n (click)=\"onClearFilters()\"\n *ngIf=\"hasFilter\"\n >\n {{ \"Clear Filters\" | rpxTranslate }}\n </button>\n <ng-container *ngIf=\"showFilters\">\n <form [formGroup]=\"filtersFg\" (ngSubmit)=\"onFilter()\">\n <div class=\"dates\">\n <div class=\"dates__from\">\n <mv-gov-uk-date\n [config]=\"{ id: 'dateRangeFrom', legend: 'From' }\"\n [formGroup]=\"filtersFg.controls['dateRangeFrom']\"\n [errorMessage]=\"{\n isInvalid: !fromFilterValid,\n messages: ['From date is required']\n }\"\n ></mv-gov-uk-date>\n </div>\n <div class=\"dates__to\">\n <mv-gov-uk-date\n [config]=\"{ id: 'dateRangeTo', legend: 'To' }\"\n [formGroup]=\"filtersFg.controls['dateRangeTo']\"\n [errorMessage]=\"{\n isInvalid: !toFilterValid,\n messages: ['To date is required']\n }\"\n ></mv-gov-uk-date>\n </div>\n <div class=\"dates__tags\">\n <mv-gov-uk-fieldset\n [config]=\"{\n legend: 'Tags',\n classes: 'govuk-label--m',\n id: 'filters'\n }\"\n [isHeading]=\"false\"\n >\n <div\n class=\"govuk-checkboxes--scroll\"\n [formGroup]=\"filtersFg.controls['tagFilters']\"\n >\n <div class=\"govuk-checkboxes govuk-checkboxes--small\">\n <div\n class=\"govuk-checkboxes__item\"\n *ngFor=\"let item of allTags$ | async\"\n >\n <input\n [formControlName]=\"item.key\"\n class=\"govuk-checkboxes__input\"\n [value]=\"false\"\n type=\"checkbox\"\n />\n <label class=\"govuk-label govuk-checkboxes__label\">\n {{ item.key | unsnake }} ({{ item.length }})\n </label>\n </div>\n </div>\n </div>\n </mv-gov-uk-fieldset>\n </div>\n <div class=\"dates__cta\">\n <button type=\"submit\" class=\"govuk-button\">\n {{ \"Filter comments\" | rpxTranslate }}\n </button>\n </div>\n </div>\n </form>\n </ng-container>\n <ng-container *ngIf=\"comments[0]\">\n <ngx-datatable\n [rows]=\"comments\"\n rowHeight=\"auto\"\n headerHeight=\"auto\"\n [columnMode]=\"'flex'\"\n [sorts]=\"[{ prop: 'date', dir: 'desc' }]\"\n >\n <ngx-datatable-column\n name=\"{{ 'User' | rpxTranslate }}\"\n [flexGrow]=\"1\"\n [sortable]=\"false\"\n ></ngx-datatable-column>\n <ngx-datatable-column\n name=\"{{ 'Page' | rpxTranslate }}\"\n [flexGrow]=\"1\"\n >\n <ng-template ngx-datatable-cell-template let-value=\"value\">\n <a\n [routerLink]=\"[]\"\n class=\"comment-summary_pages\"\n (click)=\"navigateToPage(value)\"\n >{{ value }}</a\n >\n </ng-template>\n </ngx-datatable-column>\n <ngx-datatable-column\n name=\"{{ 'Date' | rpxTranslate }}\"\n [flexGrow]=\"1\"\n ></ngx-datatable-column>\n <ngx-datatable-column\n name=\"{{ 'Comment' | rpxTranslate }}\"\n [flexGrow]=\"3\"\n [sortable]=\"false\"\n ></ngx-datatable-column>\n <ngx-datatable-column\n name=\"{{ 'Tags' | rpxTranslate }}\"\n [flexGrow]=\"1\"\n [sortable]=\"false\"\n >\n <ng-template ngx-datatable-cell-template let-value=\"value\">\n <span class=\"hmcts-badge\" *ngFor=\"let tag of value\">{{\n tag.label\n }}</span>\n </ng-template>\n </ngx-datatable-column>\n </ngx-datatable>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!comments[0]\">\n <h3 class=\"govuk-heading-s\">\n {{\n \"No comments available. Select text to add a highlight or comment.\"\n | rpxTranslate\n }}\n </h3>\n </ng-container>\n </ng-container>\n </div>\n\n <div class=\"button-container\">\n <button (click)=\"onPrint()\" class=\"govuk-button govuk-button--secondary\">\n {{ \"Print\" | rpxTranslate }}\n </button>\n <button id=\"modal-close-button\" (click)=\"onClose()\" class=\"govuk-button\">\n {{ \"Close\" | rpxTranslate }}\n </button>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i5.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i7.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i8.DatatableComponent, selector: "ngx-datatable", inputs: ["targetMarkerTemplate", "rows", "groupRowsBy", "groupedRows", "columns", "selected", "scrollbarV", "scrollbarH", "rowHeight", "columnMode", "headerHeight", "footerHeight", "externalPaging", "externalSorting", "limit", "count", "offset", "loadingIndicator", "selectionType", "reorderable", "swapColumns", "sortType", "sorts", "cssClasses", "messages", "rowClass", "selectCheck", "displayCheck", "groupExpansionDefault", "trackByProp", "selectAllRowsOnPage", "virtualization", "treeFromRelation", "treeToRelation", "summaryRow", "summaryHeight", "summaryPosition", "rowIdentity"], outputs: ["scroll", "activate", "select", "sort", "page", "reorder", "resize", "tableContextmenu", "treeAction"] }, { kind: "directive", type: i8.DataTableColumnDirective, selector: "ngx-datatable-column", inputs: ["name", "prop", "frozenLeft", "frozenRight", "flexGrow", "resizeable", "comparator", "pipe", "sortable", "draggable", "canAutoResize", "minWidth", "width", "maxWidth", "checkboxable", "headerCheckboxable", "headerClass", "cellClass", "isTreeColumn", "treeLevelIndent", "summaryFunc", "summaryTemplate", "cellTemplate", "headerTemplate", "treeToggleTemplate"] }, { kind: "directive", type: i8.DataTableColumnCellDirective, selector: "[ngx-datatable-cell-template]" }, { kind: "component", type: i9.GovUkDateComponent, selector: "mv-gov-uk-date", inputs: ["config", "errorMessage", "formGroup"] }, { kind: "component", type: i10.GovUkFieldsetComponent, selector: "mv-gov-uk-fieldset", inputs: ["config", "isHeading", "errorMessage"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i11.RpxTranslatePipe, name: "rpxTranslate" }, { kind: "pipe", type: i12.UnsnakePipe, name: "unsnake" }] }); }
|
|
105
|
-
}
|
|
106
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CommentsSummaryComponent, decorators: [{
|
|
107
|
-
type: Component,
|
|
108
|
-
args: [{ selector: 'mv-comments-summary', template: "<div id=\"modal-background\" class=\"modal\" (click)=\"onClose()\">\n <div\n #outerContainer\n id=\"modal\"\n class=\"modal-content govuk-width-container clearfix\"\n (click)=\"$event.stopPropagation()\"\n cdkTrapFocus\n tabindex=\"0\"\n >\n <div id=\"comment-container\" class=\"comment-container\" #commentContainer>\n <h2 class=\"govuk-heading-m\">{{ title }}</h2>\n <ng-container *ngIf=\"comments$ | async as comments\">\n <ng-container *ngIf=\"comments.length\">\n <button\n type=\"submit\"\n class=\"govuk-button govuk-!-margin-right-1\"\n (click)=\"onFiltersToggle()\"\n >\n {{\n !showFilters\n ? (\"Show Filters\" | rpxTranslate)\n : (\"Hide Filters\" | rpxTranslate)\n }}\n </button>\n <button\n type=\"submit\"\n class=\"govuk-button govuk-button--secondary\"\n (click)=\"onClearFilters()\"\n *ngIf=\"hasFilter\"\n >\n {{ \"Clear Filters\" | rpxTranslate }}\n </button>\n <ng-container *ngIf=\"showFilters\">\n <form [formGroup]=\"filtersFg\" (ngSubmit)=\"onFilter()\">\n <div class=\"dates\">\n <div class=\"dates__from\">\n <mv-gov-uk-date\n [config]=\"{ id: 'dateRangeFrom', legend: 'From' }\"\n [formGroup]=\"filtersFg.controls['dateRangeFrom']\"\n [errorMessage]=\"{\n isInvalid: !fromFilterValid,\n messages: ['From date is required']\n }\"\n ></mv-gov-uk-date>\n </div>\n <div class=\"dates__to\">\n <mv-gov-uk-date\n [config]=\"{ id: 'dateRangeTo', legend: 'To' }\"\n [formGroup]=\"filtersFg.controls['dateRangeTo']\"\n [errorMessage]=\"{\n isInvalid: !toFilterValid,\n messages: ['To date is required']\n }\"\n ></mv-gov-uk-date>\n </div>\n <div class=\"dates__tags\">\n <mv-gov-uk-fieldset\n [config]=\"{\n legend: 'Tags',\n classes: 'govuk-label--m',\n id: 'filters'\n }\"\n [isHeading]=\"false\"\n >\n <div\n class=\"govuk-checkboxes--scroll\"\n [formGroup]=\"filtersFg.controls['tagFilters']\"\n >\n <div class=\"govuk-checkboxes govuk-checkboxes--small\">\n <div\n class=\"govuk-checkboxes__item\"\n *ngFor=\"let item of allTags$ | async\"\n >\n <input\n [formControlName]=\"item.key\"\n class=\"govuk-checkboxes__input\"\n [value]=\"false\"\n type=\"checkbox\"\n />\n <label class=\"govuk-label govuk-checkboxes__label\">\n {{ item.key | unsnake }} ({{ item.length }})\n </label>\n </div>\n </div>\n </div>\n </mv-gov-uk-fieldset>\n </div>\n <div class=\"dates__cta\">\n <button type=\"submit\" class=\"govuk-button\">\n {{ \"Filter comments\" | rpxTranslate }}\n </button>\n </div>\n </div>\n </form>\n </ng-container>\n <ng-container *ngIf=\"comments[0]\">\n <ngx-datatable\n [rows]=\"comments\"\n rowHeight=\"auto\"\n headerHeight=\"auto\"\n [columnMode]=\"'flex'\"\n [sorts]=\"[{ prop: 'date', dir: 'desc' }]\"\n >\n <ngx-datatable-column\n name=\"{{ 'User' | rpxTranslate }}\"\n [flexGrow]=\"1\"\n [sortable]=\"false\"\n ></ngx-datatable-column>\n <ngx-datatable-column\n name=\"{{ 'Page' | rpxTranslate }}\"\n [flexGrow]=\"1\"\n >\n <ng-template ngx-datatable-cell-template let-value=\"value\">\n <a\n [routerLink]=\"[]\"\n class=\"comment-summary_pages\"\n (click)=\"navigateToPage(value)\"\n >{{ value }}</a\n >\n </ng-template>\n </ngx-datatable-column>\n <ngx-datatable-column\n name=\"{{ 'Date' | rpxTranslate }}\"\n [flexGrow]=\"1\"\n ></ngx-datatable-column>\n <ngx-datatable-column\n name=\"{{ 'Comment' | rpxTranslate }}\"\n [flexGrow]=\"3\"\n [sortable]=\"false\"\n ></ngx-datatable-column>\n <ngx-datatable-column\n name=\"{{ 'Tags' | rpxTranslate }}\"\n [flexGrow]=\"1\"\n [sortable]=\"false\"\n >\n <ng-template ngx-datatable-cell-template let-value=\"value\">\n <span class=\"hmcts-badge\" *ngFor=\"let tag of value\">{{\n tag.label\n }}</span>\n </ng-template>\n </ngx-datatable-column>\n </ngx-datatable>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!comments[0]\">\n <h3 class=\"govuk-heading-s\">\n {{\n \"No comments available. Select text to add a highlight or comment.\"\n | rpxTranslate\n }}\n </h3>\n </ng-container>\n </ng-container>\n </div>\n\n <div class=\"button-container\">\n <button (click)=\"onPrint()\" class=\"govuk-button govuk-button--secondary\">\n {{ \"Print\" | rpxTranslate }}\n </button>\n <button id=\"modal-close-button\" (click)=\"onClose()\" class=\"govuk-button\">\n {{ \"Close\" | rpxTranslate }}\n </button>\n </div>\n </div>\n</div>\n" }]
|
|
109
|
-
}], ctorParameters: () => [{ type: i1.Store }, { type: i2.PrintService }, { type: i3.ToolbarEventService }, { type: i4.FormBuilder }], propDecorators: { title: [{
|
|
110
|
-
type: Input
|
|
111
|
-
}], contentType: [{
|
|
112
|
-
type: Input
|
|
113
|
-
}], container: [{
|
|
114
|
-
type: ViewChild,
|
|
115
|
-
args: ['outerContainer', { static: true }]
|
|
116
|
-
}], commentsTable: [{
|
|
117
|
-
type: ViewChild,
|
|
118
|
-
args: ['commentContainer', { static: false }]
|
|
119
|
-
}] } });
|
|
120
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWVudHMtc3VtbWFyeS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYS12aWV3ZXIvc3JjL2xpYi9hbm5vdGF0aW9ucy9jb21tZW50cy1zdW1tYXJ5L2NvbW1lbnRzLXN1bW1hcnkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWEtdmlld2VyL3NyYy9saWIvYW5ub3RhdGlvbnMvY29tbWVudHMtc3VtbWFyeS9jb21tZW50cy1zdW1tYXJ5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBaUMsTUFBTSxlQUFlLENBQUM7QUFDM0YsT0FBTyxFQUFlLFdBQVcsRUFBRSxTQUFTLEVBQXNCLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JHLE9BQU8sRUFBRSxhQUFhLEVBQTRCLE1BQU0sTUFBTSxDQUFDO0FBQy9ELE9BQU8sRUFBRSxNQUFNLEVBQVMsTUFBTSxhQUFhLENBQUM7QUFJNUMsT0FBTyxLQUFLLGFBQWEsTUFBTSw0Q0FBNEMsQ0FBQztBQUU1RSxPQUFPLEtBQUssZUFBZSxNQUFNLHdDQUF3QyxDQUFDO0FBQzFFLE9BQU8sS0FBSyxnQkFBZ0IsTUFBTSxxQ0FBcUMsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7QUFNeEUsTUFBTSxPQUFPLHdCQUF3QjtJQWVuQyxZQUNVLEtBQTBDLEVBQ2pDLFlBQTBCLEVBQzFCLGFBQWtDLEVBQzNDLEVBQWU7UUFIZixVQUFLLEdBQUwsS0FBSyxDQUFxQztRQUNqQyxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixrQkFBYSxHQUFiLGFBQWEsQ0FBcUI7UUFDM0MsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQVR6QixnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUNwQixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xC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LHdCQUF3QjtrQkFKcEMsU0FBUzsrQkFDRSxxQkFBcUI7aUtBS3RCLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUN5QyxTQUFTO3NCQUF2RCxTQUFTO3VCQUFDLGdCQUFnQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFDSyxhQUFhO3NCQUE5RCxTQUFTO3VCQUFDLGtCQUFrQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIFZpZXdDaGlsZCwgRWxlbWVudFJlZiwgT25Jbml0LCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBVbnR5cGVkRm9ybUNvbnRyb2wsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHNlbGVjdCwgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5cbmltcG9ydCB7IFByaW50U2VydmljZSB9IGZyb20gJy4uLy4uL3ByaW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgVG9vbGJhckV2ZW50U2VydmljZSB9IGZyb20gJy4uLy4uL3Rvb2xiYXIvdG9vbGJhci1ldmVudC5zZXJ2aWNlJztcbmltcG9ydCAqIGFzIGZyb21TZWxlY3RvcnMgZnJvbSAnLi4vLi4vc3RvcmUvc2VsZWN0b3JzL2Fubm90YXRpb24uc2VsZWN0b3JzJztcbmltcG9ydCAqIGFzIGZyb21TdG9yZSBmcm9tICcuLi8uLi9zdG9yZS9yZWR1Y2Vycy9yZWR1Y2Vycyc7XG5pbXBvcnQgKiBhcyBmcm9tQW5ub0FjdGlvbnMgZnJvbSAnLi4vLi4vc3RvcmUvYWN0aW9ucy9hbm5vdGF0aW9uLmFjdGlvbnMnO1xuaW1wb3J0ICogYXMgZnJvbVRhZ1NlbGVjdG9ycyBmcm9tICcuLi8uLi9zdG9yZS9zZWxlY3RvcnMvdGFnLnNlbGVjdG9ycyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ212LWNvbW1lbnRzLXN1bW1hcnknLFxuICB0ZW1wbGF0ZVVybDogJy4vY29tbWVudHMtc3VtbWFyeS5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIENvbW1lbnRzU3VtbWFyeUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBASW5wdXQoKSB0aXRsZTogc3RyaW5nO1xuICBASW5wdXQoKSBjb250ZW50VHlwZTogc3RyaW5nO1xuICBAVmlld0NoaWxkKCdvdXRlckNvbnRhaW5lcicsIHsgc3RhdGljOiB0cnVlIH0pIGNvbnRhaW5lcjogRWxlbWVudFJlZjtcbiAgQFZpZXdDaGlsZCgnY29tbWVudENvbnRhaW5lcicsIHsgc3RhdGljOiBmYWxzZSB9KSBjb21tZW50c1RhYmxlOiBFbGVtZW50UmVmO1xuICBwdWJsaWMgY29tbWVudHMkOiBPYnNlcnZhYmxlPGFueT47XG4gIHB1YmxpYyBmaWx0ZXJzRmc6IEZvcm1Hcm91cDtcbiAgcHJpdmF0ZSAkc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uO1xuICBhbGxUYWdzJDogT2JzZXJ2YWJsZTx7IGtleTogc3RyaW5nOyBsZW5ndGg6IG51bWJlciB9W10+O1xuICBzaG93RmlsdGVycyA9IGZhbHNlO1xuICBoYXNGaWx0ZXIgPSBmYWxzZTtcbiAgZnJvbUZpbHRlclZhbGlkOiBib29sZWFuID0gdHJ1ZTtcbiAgdG9GaWx0ZXJWYWxpZDogYm9vbGVhbiA9IHRydWU7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzdG9yZTogU3RvcmU8ZnJvbVN0b3JlLkFubm90YXRpb25TZXRTdGF0ZT4sXG4gICAgcHJpdmF0ZSByZWFkb25seSBwcmludFNlcnZpY2U6IFByaW50U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRvb2xiYXJFdmVudHM6IFRvb2xiYXJFdmVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXJcbiAgKSB7IH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmZpbHRlcnNGZyA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgZGF0ZVJhbmdlRnJvbTogbmV3IEZvcm1Hcm91cCh7XG4gICAgICAgIGRheTogbmV3IEZvcm1Db250cm9sKCcnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF0pLFxuICAgICAgICBtb250aDogbmV3IEZvcm1Db250cm9sKCcnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF0pLFxuICAgICAgICB5ZWFyOiBuZXcgRm9ybUNvbnRyb2woJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXSlcbiAgICAgIH0pLFxuICAgICAgZGF0ZVJhbmdlVG86IG5ldyBGb3JtR3JvdXAoe1xuICAgICAgICBkYXk6IG5ldyBGb3JtQ29udHJvbCgnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdKSxcbiAgICAgICAgbW9udGg6IG5ldyBGb3JtQ29udHJvbCgnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdKSxcbiAgICAgICAgeWVhcjogbmV3IEZvcm1Db250cm9sKCcnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF0pXG4gICAgICB9KSxcbiAgICAgIHRhZ0ZpbHRlcnM6IHRoaXMuZmIuZ3JvdXAoe30pLFxuICAgIH0pO1xuICAgIHRoaXMuY29tbWVudHMkID0gdGhpcy5zdG9yZS5waXBlKHNlbGVjdChmcm9tU2VsZWN0b3JzLmdldENvbW1lbnRTdW1tYXJ5KSk7XG4gICAgdGhpcy5idWlsZENoZWNrQm94Rm9ybSgpO1xuICAgIHRoaXMuY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgfVxuXG4gIGJ1aWxkQ2hlY2tCb3hGb3JtKCkge1xuICAgIHRoaXMuZmlsdGVyc0ZnLnJlc2V0KCk7XG4gICAgY29uc3QgY2hlY2tib3hlcyA9IDxGb3JtR3JvdXA+dGhpcy5maWx0ZXJzRmcuZ2V0KCd0YWdGaWx0ZXJzJyk7XG4gICAgY29uc3QgZmlsdGVycyQgPSB0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KGZyb21TZWxlY3RvcnMuZ2V0Q29tbWVudFN1bW1hcnlGaWx0ZXJzKSk7XG4gICAgdGhpcy5hbGxUYWdzJCA9IHRoaXMuc3RvcmUucGlwZShzZWxlY3QoZnJvbVRhZ1NlbGVjdG9ycy5nZXRBbGxUYWdzQXJyKSk7XG4gICAgdGhpcy4kc3Vic2NyaXB0aW9ucyA9IGNvbWJpbmVMYXRlc3QoW3RoaXMuYWxsVGFncyQsIGZpbHRlcnMkXSkuc3Vic2NyaWJlKChbdGFncywgZmlsdGVyc10pID0+IHtcbiAgICAgIHRoaXMuaGFzRmlsdGVyID0gZmlsdGVycy5oYXNGaWx0ZXI7XG4gICAgICB0YWdzLmZvckVhY2goKHZhbCkgPT4ge1xuICAgICAgICBjb25zdCBjaGVja0JveFZhbHVlID0gKGZpbHRlcnMuZmlsdGVycy50YWdGaWx0ZXJzICYmXG4gICAgICAgICAgZmlsdGVycy5maWx0ZXJzLnRhZ0ZpbHRlcnMuaGFzT3duUHJvcGVydHkodmFsLmtleSkpID9cbiAgICAgICAgICBmaWx0ZXJzLmZpbHRlcnMudGFnRmlsdGVyc1t2YWwua2V5XSA6IGZhbHNlO1xuICAgICAgICBjaGVja2JveGVzLmFkZENvbnRyb2wodmFsLmtleSwgbmV3IEZvcm1Db250cm9sKGNoZWNrQm94VmFsdWUpKTtcbiAgICAgIH0pO1xuICAgICAgdGhpcy5maWx0ZXJzRmcudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgIH0pO1xuICB9XG5cbiAgb25DbGVhckZpbHRlcnMoKSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgZnJvbUFubm9BY3Rpb25zLkNsZWFyQ29tbWVudFN1bW1hcnlGaWx0ZXJzKCkpO1xuICAgIHRoaXMuYnVpbGRDaGVja0JveEZvcm0oKTtcbiAgfVxuXG4gIG9uRmlsdGVyKCkge1xuICAgIGNvbnN0IHsgdmFsdWUgfSA9IHRoaXMuZmlsdGVyc0ZnO1xuXG5cbiAgICBjb25zdCBoYXNEYXRlRnJvbSA9ICh2YWx1ZS5kYXRlUmFuZ2VGcm9tLnllYXIgJiYgdmFsdWUuZGF0ZVJhbmdlRnJvbS5tb250aCAmJiB2YWx1ZS5kYXRlUmFuZ2VGcm9tLmRheSk7XG4gICAgY29uc3QgaGFzRGF0ZVRvID0gKHZhbHVlLmRhdGVSYW5nZVRvLnllYXIgJiYgdmFsdWUuZGF0ZVJhbmdlVG8ubW9udGggJiYgdmFsdWUuZGF0ZVJhbmdlVG8uZGF5KTtcbiAgICBjb25zdCBkYXRlUmFuZ2VGcm9tID0gaGFzRGF0ZUZyb20gP1xuICAgICAgbmV3IERhdGUodmFsdWUuZGF0ZVJhbmdlRnJvbS55ZWFyLCB2YWx1ZS5kYXRlUmFuZ2VGcm9tLm1vbnRoIC0gMSwgdmFsdWUuZGF0ZVJhbmdlRnJvbS5kYXkpLmdldFRpbWUoKSA6IG51bGw7XG4gICAgY29uc3QgZGF0ZVJhbmdlVG8gPSBoYXNEYXRlVG8gP1xuICAgICAgbmV3IERhdGUodmFsdWUuZGF0ZVJhbmdlVG8ueWVhciwgdmFsdWUuZGF0ZVJhbmdlVG8ubW9udGggLSAxLCB2YWx1ZS5kYXRlUmFuZ2VUby5kYXkpLmdldFRpbWUoKSA6IG51bGw7XG5cbiAgICB0aGlzLmZyb21GaWx0ZXJWYWxpZCA9IGhhc0RhdGVGcm9tID8gdHJ1ZSA6IGZhbHNlO1xuICAgIHRoaXMudG9GaWx0ZXJWYWxpZCA9IGhhc0RhdGVUbyA/IHRydWUgOiBmYWxzZTtcblxuICAgIGlmICh0aGlzLmZpbHRlcnNGZy52YWxpZCkge1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgZnJvbUFubm9BY3Rpb25zLkFwcGx5Q29tbWVudFN5bW1hcnlGaWx0ZXIoeyAuLi52YWx1ZSwgZGF0ZVJhbmdlRnJvbSwgZGF0ZVJhbmdlVG8gfSkpO1xuICAgIH1cbiAgfVxuXG4gIG9uRmlsdGVyc1RvZ2dsZSgpIHtcbiAgICB0aGlzLnNob3dGaWx0ZXJzID0gIXRoaXMuc2hvd0ZpbHRlcnM7XG4gIH1cblxuICBwdWJsaWMgb25DbG9zZSgpOiB2b2lkIHtcbiAgICB0aGlzLnRvb2xiYXJFdmVudHMudG9nZ2xlQ29tbWVudHNTdW1tYXJ5KGZhbHNlKTtcbiAgfVxuXG4gIHB1YmxpYyBvblByaW50KCk6IHZvaWQge1xuICAgIHRoaXMucHJpbnRTZXJ2aWNlLnByaW50RWxlbWVudE5hdGl2ZWx5KHRoaXMuY29tbWVudHNUYWJsZS5uYXRpdmVFbGVtZW50LCAxMDAwLCA5MDApO1xuICB9XG5cbiAgbmF2aWdhdGVUb1BhZ2UocGFnZU51bWJlcjogbnVtYmVyKSB7XG4gICAgaWYgKHRoaXMuY29udGVudFR5cGUgPT09ICdwZGYnKSB7XG4gICAgICB0aGlzLnRvb2xiYXJFdmVudHMuc2V0UGFnZShwYWdlTnVtYmVyKTtcbiAgICB9XG4gICAgdGhpcy50b29sYmFyRXZlbnRzLnRvZ2dsZUNvbW1lbnRzU3VtbWFyeShmYWxzZSk7XG4gICAgdGhpcy50b29sYmFyRXZlbnRzLnRvZ2dsZUNvbW1lbnRzUGFuZWwodHJ1ZSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLiRzdWJzY3JpcHRpb25zLnVuc3Vic2NyaWJlKCk7XG4gIH1cbn1cbiIsIjxkaXYgaWQ9XCJtb2RhbC1iYWNrZ3JvdW5kXCIgY2xhc3M9XCJtb2RhbFwiIChjbGljayk9XCJvbkNsb3NlKClcIj5cbiAgPGRpdlxuICAgICNvdXRlckNvbnRhaW5lclxuICAgIGlkPVwibW9kYWxcIlxuICAgIGNsYXNzPVwibW9kYWwtY29udGVudCBnb3Z1ay13aWR0aC1jb250YWluZXIgY2xlYXJmaXhcIlxuICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgIGNka1RyYXBGb2N1c1xuICAgIHRhYmluZGV4PVwiMFwiXG4gID5cbiAgICA8ZGl2IGlkPVwiY29tbWVudC1jb250YWluZXJcIiBjbGFzcz1cImNvbW1lbnQtY29udGFpbmVyXCIgI2NvbW1lbnRDb250YWluZXI+XG4gICAgICA8aDIgY2xhc3M9XCJnb3Z1ay1oZWFkaW5nLW1cIj57eyB0aXRsZSB9fTwvaDI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29tbWVudHMkIHwgYXN5bmMgYXMgY29tbWVudHNcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbW1lbnRzLmxlbmd0aFwiPlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgICAgICAgY2xhc3M9XCJnb3Z1ay1idXR0b24gZ292dWstIS1tYXJnaW4tcmlnaHQtMVwiXG4gICAgICAgICAgICAoY2xpY2spPVwib25GaWx0ZXJzVG9nZ2xlKClcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICFzaG93RmlsdGVyc1xuICAgICAgICAgICAgICAgID8gKFwiU2hvdyBGaWx0ZXJzXCIgfCBycHhUcmFuc2xhdGUpXG4gICAgICAgICAgICAgICAgOiAoXCJIaWRlIEZpbHRlcnNcIiB8IHJweFRyYW5zbGF0ZSlcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgdHlwZT1cInN1Ym1pdFwiXG4gICAgICAgICAgICBjbGFzcz1cImdvdnVrLWJ1dHRvbiBnb3Z1ay1idXR0b24tLXNlY29uZGFyeVwiXG4gICAgICAgICAgICAoY2xpY2spPVwib25DbGVhckZpbHRlcnMoKVwiXG4gICAgICAgICAgICAqbmdJZj1cImhhc0ZpbHRlclwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge3sgXCJDbGVhciBGaWx0ZXJzXCIgfCBycHhUcmFuc2xhdGUgfX1cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd0ZpbHRlcnNcIj5cbiAgICAgICAgICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwiZmlsdGVyc0ZnXCIgKG5nU3VibWl0KT1cIm9uRmlsdGVyKClcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRhdGVzXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRhdGVzX19mcm9tXCI+XG4gICAgICAgICAgICAgICAgICA8bXYtZ292LXVrLWRhdGVcbiAgICAgICAgICAgICAgICAgICAgW2NvbmZpZ109XCJ7IGlkOiAnZGF0ZVJhbmdlRnJvbScsIGxlZ2VuZDogJ0Zyb20nIH1cIlxuICAgICAgICAgICAgICAgICAgICBbZm9ybUdyb3VwXT1cImZpbHRlcnNGZy5jb250cm9sc1snZGF0ZVJhbmdlRnJvbSddXCJcbiAgICAgICAgICAgICAgICAgICAgW2Vycm9yTWVzc2FnZV09XCJ7XG4gICAgICAgICAgICAgICAgICAgICAgaXNJbnZhbGlkOiAhZnJvbUZpbHRlclZhbGlkLFxuICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2VzOiBbJ0Zyb20gZGF0ZSBpcyByZXF1aXJlZCddXG4gICAgICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAgICAgPjwvbXYtZ292LXVrLWRhdGU+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRhdGVzX190b1wiPlxuICAgICAgICAgICAgICAgICAgPG12LWdvdi11ay1kYXRlXG4gICAgICAgICAgICAgICAgICAgIFtjb25maWddPVwieyBpZDogJ2RhdGVSYW5nZVRvJywgbGVnZW5kOiAnVG8nIH1cIlxuICAgICAgICAgICAgICAgICAgICBbZm9ybUdyb3VwXT1cImZpbHRlcnNGZy5jb250cm9sc1snZGF0ZVJhbmdlVG8nXVwiXG4gICAgICAgICAgICAgICAgICAgIFtlcnJvck1lc3NhZ2VdPVwie1xuICAgICAgICAgICAgICAgICAgICAgIGlzSW52YWxpZDogIXRvRmlsdGVyVmFsaWQsXG4gICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZXM6IFsnVG8gZGF0ZSBpcyByZXF1aXJlZCddXG4gICAgICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAgICAgPjwvbXYtZ292LXVrLWRhdGU+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRhdGVzX190YWdzXCI+XG4gICAgICAgICAgICAgICAgICA8bXYtZ292LXVrLWZpZWxkc2V0XG4gICAgICAgICAgICAgICAgICAgIFtjb25maWddPVwie1xuICAgICAgICAgICAgICAgICAgICAgIGxlZ2VuZDogJ1RhZ3MnLFxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzZXM6ICdnb3Z1ay1sYWJlbC0tbScsXG4gICAgICAgICAgICAgICAgICAgICAgaWQ6ICdmaWx0ZXJzJ1xuICAgICAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICAgICAgW2lzSGVhZGluZ109XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImdvdnVrLWNoZWNrYm94ZXMtLXNjcm9sbFwiXG4gICAgICAgICAgICAgICAgICAgICAgW2Zvcm1Hcm91cF09XCJmaWx0ZXJzRmcuY29udHJvbHNbJ3RhZ0ZpbHRlcnMnXVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstY2hlY2tib3hlcyBnb3Z1ay1jaGVja2JveGVzLS1zbWFsbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImdvdnVrLWNoZWNrYm94ZXNfX2l0ZW1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBhbGxUYWdzJCB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJpdGVtLmtleVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJnb3Z1ay1jaGVja2JveGVzX19pbnB1dFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJnb3Z1ay1sYWJlbCBnb3Z1ay1jaGVja2JveGVzX19sYWJlbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGl0ZW0ua2V5IHwgdW5zbmFrZSB9fSAoe3sgaXRlbS5sZW5ndGggfX0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L212LWdvdi11ay1maWVsZHNldD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGF0ZXNfX2N0YVwiPlxuICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwic3VibWl0XCIgY2xhc3M9XCJnb3Z1ay1idXR0b25cIj5cbiAgICAgICAgICAgICAgICAgICAge3sgXCJGaWx0ZXIgY29tbWVudHNcIiB8IHJweFRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9mb3JtPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb21tZW50c1swXVwiPlxuICAgICAgICAgICAgPG5neC1kYXRhdGFibGVcbiAgICAgICAgICAgICAgW3Jvd3NdPVwiY29tbWVudHNcIlxuICAgICAgICAgICAgICByb3dIZWlnaHQ9XCJhdXRvXCJcbiAgICAgICAgICAgICAgaGVhZGVySGVpZ2h0PVwiYXV0b1wiXG4gICAgICAgICAgICAgIFtjb2x1bW5Nb2RlXT1cIidmbGV4J1wiXG4gICAgICAgICAgICAgIFtzb3J0c109XCJbeyBwcm9wOiAnZGF0ZScsIGRpcjogJ2Rlc2MnIH1dXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPG5neC1kYXRhdGFibGUtY29sdW1uXG4gICAgICAgICAgICAgICAgbmFtZT1cInt7ICdVc2VyJyB8IHJweFRyYW5zbGF0ZSB9fVwiXG4gICAgICAgICAgICAgICAgW2ZsZXhHcm93XT1cIjFcIlxuICAgICAgICAgICAgICAgIFtzb3J0YWJsZV09XCJmYWxzZVwiXG4gICAgICAgICAgICAgID48L25neC1kYXRhdGFibGUtY29sdW1uPlxuICAgICAgICAgICAgICA8bmd4LWRhdGF0YWJsZS1jb2x1bW5cbiAgICAgICAgICAgICAgICBuYW1lPVwie3sgJ1BhZ2UnIHwgcnB4VHJhbnNsYXRlIH19XCJcbiAgICAgICAgICAgICAgICBbZmxleEdyb3ddPVwiMVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgbmd4LWRhdGF0YWJsZS1jZWxsLXRlbXBsYXRlIGxldC12YWx1ZT1cInZhbHVlXCI+XG4gICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICBbcm91dGVyTGlua109XCJbXVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY29tbWVudC1zdW1tYXJ5X3BhZ2VzXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm5hdmlnYXRlVG9QYWdlKHZhbHVlKVwiXG4gICAgICAgICAgICAgICAgICAgID57eyB2YWx1ZSB9fTwvYVxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgIDwvbmd4LWRhdGF0YWJsZS1jb2x1bW4+XG4gICAgICAgICAgICAgIDxuZ3gtZGF0YXRhYmxlLWNvbHVtblxuICAgICAgICAgICAgICAgIG5hbWU9XCJ7eyAnRGF0ZScgfCBycHhUcmFuc2xhdGUgfX1cIlxuICAgICAgICAgICAgICAgIFtmbGV4R3Jvd109XCIxXCJcbiAgICAgICAgICAgICAgPjwvbmd4LWRhdGF0YWJsZS1jb2x1bW4+XG4gICAgICAgICAgICAgIDxuZ3gtZGF0YXRhYmxlLWNvbHVtblxuICAgICAgICAgICAgICAgIG5hbWU9XCJ7eyAnQ29tbWVudCcgfCBycHhUcmFuc2xhdGUgfX1cIlxuICAgICAgICAgICAgICAgIFtmbGV4R3Jvd109XCIzXCJcbiAgICAgICAgICAgICAgICBbc29ydGFibGVdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICA+PC9uZ3gtZGF0YXRhYmxlLWNvbHVtbj5cbiAgICAgICAgICAgICAgPG5neC1kYXRhdGFibGUtY29sdW1uXG4gICAgICAgICAgICAgICAgbmFtZT1cInt7ICdUYWdzJyB8IHJweFRyYW5zbGF0ZSB9fVwiXG4gICAgICAgICAgICAgICAgW2ZsZXhHcm93XT1cIjFcIlxuICAgICAgICAgICAgICAgIFtzb3J0YWJsZV09XCJmYWxzZVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgbmd4LWRhdGF0YWJsZS1jZWxsLXRlbXBsYXRlIGxldC12YWx1ZT1cInZhbHVlXCI+XG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImhtY3RzLWJhZGdlXCIgKm5nRm9yPVwibGV0IHRhZyBvZiB2YWx1ZVwiPnt7XG4gICAgICAgICAgICAgICAgICAgIHRhZy5sYWJlbFxuICAgICAgICAgICAgICAgICAgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgPC9uZ3gtZGF0YXRhYmxlLWNvbHVtbj5cbiAgICAgICAgICAgIDwvbmd4LWRhdGF0YWJsZT5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhY29tbWVudHNbMF1cIj5cbiAgICAgICAgICA8aDMgY2xhc3M9XCJnb3Z1ay1oZWFkaW5nLXNcIj5cbiAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgIFwiTm8gY29tbWVudHMgYXZhaWxhYmxlLiBTZWxlY3QgdGV4dCB0byBhZGQgYSBoaWdobGlnaHQgb3IgY29tbWVudC5cIlxuICAgICAgICAgICAgICAgIHwgcnB4VHJhbnNsYXRlXG4gICAgICAgICAgICB9fVxuICAgICAgICAgIDwvaDM+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiYnV0dG9uLWNvbnRhaW5lclwiPlxuICAgICAgPGJ1dHRvbiAoY2xpY2spPVwib25QcmludCgpXCIgY2xhc3M9XCJnb3Z1ay1idXR0b24gZ292dWstYnV0dG9uLS1zZWNvbmRhcnlcIj5cbiAgICAgICAge3sgXCJQcmludFwiIHwgcnB4VHJhbnNsYXRlIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxidXR0b24gaWQ9XCJtb2RhbC1jbG9zZS1idXR0b25cIiAoY2xpY2spPVwib25DbG9zZSgpXCIgY2xhc3M9XCJnb3Z1ay1idXR0b25cIj5cbiAgICAgICAge3sgXCJDbG9zZVwiIHwgcnB4VHJhbnNsYXRlIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLXBlcnNpc3RlZC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhLXZpZXdlci9zcmMvbGliL2Fubm90YXRpb25zL21vZGVscy9hcGktcGVyc2lzdGVkLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBVc2VyIH0gZnJvbSAnLi91c2VyLm1vZGVsJztcblxuZXhwb3J0IGludGVyZmFjZSBBcGlQZXJzaXN0ZWQge1xuICBpZDogc3RyaW5nO1xuICBjcmVhdGVkQnk6IHN0cmluZztcbiAgY3JlYXRlZEJ5RGV0YWlsczogVXNlcjtcbiAgY3JlYXRlZERhdGU6IHN0cmluZztcbiAgbGFzdE1vZGlmaWVkQnk6IHN0cmluZztcbiAgbGFzdE1vZGlmaWVkQnlEZXRhaWxzOiBVc2VyO1xuICBsYXN0TW9kaWZpZWREYXRlOiBzdHJpbmc7XG59XG4iXX0=
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtc2VsZWN0Lm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWEtdmlld2VyL3NyYy9saWIvYW5ub3RhdGlvbnMvbW9kZWxzL2V2ZW50LXNlbGVjdC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBTZWxlY3Rpb25Bbm5vdGF0aW9uIHtcbiAgYW5ub3RhdGlvbklkOiBzdHJpbmc7XG4gIGVkaXRhYmxlOiBib29sZWFuO1xuICBzZWxlY3RlZDogYm9vbGVhbjtcbn1cblxuIl19
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFncy5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhLXZpZXdlci9zcmMvbGliL2Fubm90YXRpb25zL21vZGVscy90YWdzLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFRhZ3NNb2RlbCB7XG4gIG5hbWU6IHN0cmluZztcbiAgbGFiZWw6IHN0cmluZztcbiAgY29sb3I/OiBzdHJpbmc7XG4gIGlkPzogc3RyaW5nO1xufVxuIl19
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhLXZpZXdlci9zcmMvbGliL2Fubm90YXRpb25zL21vZGVscy91c2VyLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJcbmV4cG9ydCBpbnRlcmZhY2UgVXNlciB7XG4gIGZvcmVuYW1lOiBzdHJpbmc7XG4gIHN1cm5hbWU6IHN0cmluZztcbiAgZW1haWw6IHN0cmluZztcbn1cblxuIl19
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { Pipe } from '@angular/core';
|
|
2
|
-
import { DatePipe } from '@angular/common';
|
|
3
|
-
import moment from 'moment-timezone';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
/**
|
|
6
|
-
* A moment timezone pipe to support parsing based on time zone abbreviations
|
|
7
|
-
* covers all cases of offset variation due to daylight saving.
|
|
8
|
-
*
|
|
9
|
-
* Same API as DatePipe with additional timezone abbreviation support
|
|
10
|
-
* Official date pipe dropped support for abbreviations names from Angular V5
|
|
11
|
-
*/
|
|
12
|
-
export class MomentDatePipe extends DatePipe {
|
|
13
|
-
transform(value, format = 'mediumDate', timezone = 'Europe/London') {
|
|
14
|
-
const timezoneOffset = moment(value).tz(timezone).format('Z');
|
|
15
|
-
return super.transform(value, format, timezoneOffset);
|
|
16
|
-
}
|
|
17
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MomentDatePipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
18
|
-
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: MomentDatePipe, name: "momentDate" }); }
|
|
19
|
-
}
|
|
20
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MomentDatePipe, decorators: [{
|
|
21
|
-
type: Pipe,
|
|
22
|
-
args: [{
|
|
23
|
-
name: 'momentDate'
|
|
24
|
-
}]
|
|
25
|
-
}] });
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWEtdmlld2VyL3NyYy9saWIvYW5ub3RhdGlvbnMvcGlwZXMvZGF0ZS9kYXRlLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sTUFBTSxNQUFNLGlCQUFpQixDQUFDOztBQUNyQzs7Ozs7O0dBTUc7QUFJSCxNQUFNLE9BQU8sY0FBZSxTQUFRLFFBQVE7SUFFMUMsU0FBUyxDQUNQLEtBQW9CLEVBQ3BCLFNBQWlCLFlBQVksRUFDN0IsV0FBbUIsZUFBZTtRQUVsQyxNQUFNLGNBQWMsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM5RCxPQUFPLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxjQUFjLENBQUMsQ0FBQztJQUN4RCxDQUFDO2tJQVRVLGNBQWM7Z0lBQWQsY0FBYzs7NEZBQWQsY0FBYztrQkFIMUIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsWUFBWTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEYXRlUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudC10aW1lem9uZSc7XG4vKipcbiAqIEEgbW9tZW50IHRpbWV6b25lIHBpcGUgdG8gc3VwcG9ydCBwYXJzaW5nIGJhc2VkIG9uIHRpbWUgem9uZSBhYmJyZXZpYXRpb25zXG4gKiBjb3ZlcnMgYWxsIGNhc2VzIG9mIG9mZnNldCB2YXJpYXRpb24gZHVlIHRvIGRheWxpZ2h0IHNhdmluZy5cbiAqXG4gKiBTYW1lIEFQSSBhcyBEYXRlUGlwZSB3aXRoIGFkZGl0aW9uYWwgdGltZXpvbmUgYWJicmV2aWF0aW9uIHN1cHBvcnRcbiAqIE9mZmljaWFsIGRhdGUgcGlwZSBkcm9wcGVkIHN1cHBvcnQgZm9yIGFiYnJldmlhdGlvbnMgbmFtZXMgZnJvbSBBbmd1bGFyIFY1XG4gKi9cbkBQaXBlKHtcbiAgbmFtZTogJ21vbWVudERhdGUnXG59KVxuZXhwb3J0IGNsYXNzIE1vbWVudERhdGVQaXBlIGV4dGVuZHMgRGF0ZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcblxuICB0cmFuc2Zvcm0oXG4gICAgdmFsdWU6IHN0cmluZyB8IERhdGUsXG4gICAgZm9ybWF0OiBzdHJpbmcgPSAnbWVkaXVtRGF0ZScsXG4gICAgdGltZXpvbmU6IHN0cmluZyA9ICdFdXJvcGUvTG9uZG9uJ1xuICApOiBhbnkge1xuICAgIGNvbnN0IHRpbWV6b25lT2Zmc2V0ID0gbW9tZW50KHZhbHVlKS50eih0aW1lem9uZSkuZm9ybWF0KCdaJyk7XG4gICAgcmV0dXJuIHN1cGVyLnRyYW5zZm9ybSh2YWx1ZSwgZm9ybWF0LCB0aW1lem9uZU9mZnNldCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { Pipe } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class FilterPipe {
|
|
4
|
-
transform(items, searchText, fieldName) {
|
|
5
|
-
if (!items) {
|
|
6
|
-
return [];
|
|
7
|
-
}
|
|
8
|
-
if (!searchText) {
|
|
9
|
-
return items;
|
|
10
|
-
}
|
|
11
|
-
return items.filter(item => {
|
|
12
|
-
if (item) {
|
|
13
|
-
if (item[fieldName]) {
|
|
14
|
-
return item[fieldName].toLowerCase().includes(searchText.toLowerCase());
|
|
15
|
-
}
|
|
16
|
-
else {
|
|
17
|
-
return item.toLowerCase().includes(searchText.toLowerCase());
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
return false;
|
|
21
|
-
});
|
|
22
|
-
}
|
|
23
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FilterPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
24
|
-
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: FilterPipe, name: "filter" }); }
|
|
25
|
-
}
|
|
26
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FilterPipe, decorators: [{
|
|
27
|
-
type: Pipe,
|
|
28
|
-
args: [{
|
|
29
|
-
name: 'filter'
|
|
30
|
-
}]
|
|
31
|
-
}] });
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYS12aWV3ZXIvc3JjL2xpYi9hbm5vdGF0aW9ucy9waXBlcy9maWx0ZXIvZmlsdGVyLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBS3BELE1BQU0sT0FBTyxVQUFVO0lBRXJCLFNBQVMsQ0FBQyxLQUFZLEVBQUUsVUFBa0IsRUFBRSxTQUFpQjtRQUUzRCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDWCxPQUFPLEVBQUUsQ0FBQztRQUNaLENBQUM7UUFFRCxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDaEIsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO1FBRUQsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3pCLElBQUksSUFBSSxFQUFFLENBQUM7Z0JBQ1QsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztvQkFDcEIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO2dCQUMxRSxDQUFDO3FCQUFNLENBQUM7b0JBQ04sT0FBTyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO2dCQUMvRCxDQUFDO1lBQ0gsQ0FBQztZQUNELE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO2tJQXRCVSxVQUFVO2dJQUFWLFVBQVU7OzRGQUFWLFVBQVU7a0JBSHRCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLFFBQVE7aUJBQ2YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ2ZpbHRlcidcbn0pXG5leHBvcnQgY2xhc3MgRmlsdGVyUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuXG4gIHRyYW5zZm9ybShpdGVtczogYW55W10sIHNlYXJjaFRleHQ6IHN0cmluZywgZmllbGROYW1lOiBzdHJpbmcpOiBhbnlbXSB7XG5cbiAgICBpZiAoIWl0ZW1zKSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuXG4gICAgaWYgKCFzZWFyY2hUZXh0KSB7XG4gICAgICByZXR1cm4gaXRlbXM7XG4gICAgfVxuXG4gICAgcmV0dXJuIGl0ZW1zLmZpbHRlcihpdGVtID0+IHtcbiAgICAgIGlmIChpdGVtKSB7XG4gICAgICAgIGlmIChpdGVtW2ZpZWxkTmFtZV0pIHtcbiAgICAgICAgICByZXR1cm4gaXRlbVtmaWVsZE5hbWVdLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoVGV4dC50b0xvd2VyQ2FzZSgpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gaXRlbS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHNlYXJjaFRleHQudG9Mb3dlckNhc2UoKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { Pipe } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class UnsnakePipe {
|
|
4
|
-
transform(items) {
|
|
5
|
-
return items.split('_').join(' ');
|
|
6
|
-
}
|
|
7
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UnsnakePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
8
|
-
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: UnsnakePipe, name: "unsnake" }); }
|
|
9
|
-
}
|
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UnsnakePipe, decorators: [{
|
|
11
|
-
type: Pipe,
|
|
12
|
-
args: [{
|
|
13
|
-
name: 'unsnake'
|
|
14
|
-
}]
|
|
15
|
-
}] });
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5zbmFrZS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWEtdmlld2VyL3NyYy9saWIvYW5ub3RhdGlvbnMvcGlwZXMvdW5zbmFrZS91bnNuYWtlLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBS3BELE1BQU0sT0FBTyxXQUFXO0lBRXRCLFNBQVMsQ0FBQyxLQUFhO1FBQ3JCLE9BQU8sS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDcEMsQ0FBQztrSUFKVSxXQUFXO2dJQUFYLFdBQVc7OzRGQUFYLFdBQVc7a0JBSHZCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLFNBQVM7aUJBQ2hCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICd1bnNuYWtlJ1xufSlcbmV4cG9ydCBjbGFzcyBVbnNuYWtlUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuXG4gIHRyYW5zZm9ybShpdGVtczogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gaXRlbXMuc3BsaXQoJ18nKS5qb2luKCcgJyk7XG4gIH1cblxufVxuIl19
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { catchError, map } from 'rxjs/operators';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/common/http";
|
|
5
|
-
export class AnnotationApiService {
|
|
6
|
-
constructor(httpClient) {
|
|
7
|
-
this.httpClient = httpClient;
|
|
8
|
-
this.annotationApiUrl = '/em-anno';
|
|
9
|
-
this.annotationSetBaseUrl = '/annotation-sets';
|
|
10
|
-
this.annotationBaseUrl = '/annotations';
|
|
11
|
-
}
|
|
12
|
-
getAnnotationSet(documentId) {
|
|
13
|
-
const fixedUrl = `${this.annotationSetsFullUrl}/filter?documentId=${documentId}`;
|
|
14
|
-
return this.httpClient
|
|
15
|
-
.get(fixedUrl, { observe: 'response', withCredentials: true });
|
|
16
|
-
}
|
|
17
|
-
postAnnotationSet(body) {
|
|
18
|
-
return this.httpClient
|
|
19
|
-
.post(this.annotationSetsFullUrl, body, { observe: 'response', withCredentials: true })
|
|
20
|
-
.pipe(map(response => response.body), catchError(() => []));
|
|
21
|
-
}
|
|
22
|
-
getComments(annotationSet) {
|
|
23
|
-
return annotationSet
|
|
24
|
-
.pipe(map(this.sortAnnotations), map(this.extractComments));
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* Sort the annotations in the response by page and then y position of their first rectangle
|
|
28
|
-
*/
|
|
29
|
-
sortAnnotations(r) {
|
|
30
|
-
return r.annotations.sort((a, b) => a.page !== b.page ? a.page - b.page : a.rectangles[0].y - b.rectangles[0].y);
|
|
31
|
-
}
|
|
32
|
-
extractComments(annotations) {
|
|
33
|
-
return [].concat(...annotations.map(a => a.comments));
|
|
34
|
-
}
|
|
35
|
-
deleteAnnotation(annotationId) {
|
|
36
|
-
const url = `${this.annotationFullsUrl}/${annotationId}`;
|
|
37
|
-
return this.httpClient
|
|
38
|
-
.delete(url, { observe: 'response', withCredentials: true })
|
|
39
|
-
.pipe(map(response => response.body));
|
|
40
|
-
}
|
|
41
|
-
postAnnotation(annotation) {
|
|
42
|
-
return this.httpClient
|
|
43
|
-
.post(this.annotationFullsUrl, annotation, { observe: 'response', withCredentials: true })
|
|
44
|
-
.pipe(map(response => response.body));
|
|
45
|
-
}
|
|
46
|
-
get annotationSetsFullUrl() {
|
|
47
|
-
return this.annotationApiUrl + this.annotationSetBaseUrl;
|
|
48
|
-
}
|
|
49
|
-
get annotationFullsUrl() {
|
|
50
|
-
return this.annotationApiUrl + this.annotationBaseUrl;
|
|
51
|
-
}
|
|
52
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AnnotationApiService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
53
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AnnotationApiService }); }
|
|
54
|
-
}
|
|
55
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AnnotationApiService, decorators: [{
|
|
56
|
-
type: Injectable
|
|
57
|
-
}], ctorParameters: () => [{ type: i1.HttpClient }] });
|
|
58
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ub3RhdGlvbi1hcGkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhLXZpZXdlci9zcmMvbGliL2Fubm90YXRpb25zL3NlcnZpY2VzL2Fubm90YXRpb24tYXBpL2Fubm90YXRpb24tYXBpLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFPakQsTUFBTSxPQUFPLG9CQUFvQjtJQU8vQixZQUNtQixVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBTmxDLHFCQUFnQixHQUFHLFVBQVUsQ0FBQztRQUU3Qix5QkFBb0IsR0FBRyxrQkFBa0IsQ0FBQztRQUMxQyxzQkFBaUIsR0FBRyxjQUFjLENBQUM7SUFJdkMsQ0FBQztJQUVFLGdCQUFnQixDQUFDLFVBQWtCO1FBQ3hDLE1BQU0sUUFBUSxHQUFHLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixzQkFBc0IsVUFBVSxFQUFFLENBQUM7UUFDakYsT0FBTyxJQUFJLENBQUMsVUFBVTthQUNuQixHQUFHLENBQWdCLFFBQVEsRUFBRSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDbEYsQ0FBQztJQUVNLGlCQUFpQixDQUFDLElBQTRCO1FBQ25ELE9BQU8sSUFBSSxDQUFDLFVBQVU7YUFDbkIsSUFBSSxDQUFnQixJQUFJLENBQUMscUJBQXFCLEVBQUUsSUFBSSxFQUFFLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxlQUFlLEVBQUUsSUFBSSxFQUFFLENBQUM7YUFDckcsSUFBSSxDQUNILEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFDOUIsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUNyQixDQUFDO0lBQ04sQ0FBQztJQUVNLFdBQVcsQ0FBQyxhQUF3QztRQUN6RCxPQUFPLGFBQWE7YUFDakIsSUFBSSxDQUNILEdBQUcsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEVBQ3pCLEdBQUcsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQzFCLENBQUM7SUFDTixDQUFDO0lBRUQ7O09BRUc7SUFDSyxlQUFlLENBQUMsQ0FBZ0I7UUFDdEMsT0FBTyxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ25ILENBQUM7SUFFTyxlQUFlLENBQUMsV0FBeUI7UUFDL0MsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLEdBQUcsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxZQUFvQjtRQUMxQyxNQUFNLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUV6RCxPQUFPLElBQUksQ0FBQyxVQUFVO2FBQ25CLE1BQU0sQ0FBTyxHQUFHLEVBQUUsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQUUsQ0FBQzthQUNqRSxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVNLGNBQWMsQ0FBQyxVQUErQjtRQUNuRCxPQUFPLElBQUksQ0FBQyxVQUFVO2FBQ25CLElBQUksQ0FBYSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsVUFBVSxFQUFFLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxlQUFlLEVBQUUsSUFBSSxFQUFFLENBQUM7YUFDckcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxJQUFJLHFCQUFxQjtRQUN2QixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUM7SUFDM0QsQ0FBQztJQUVELElBQUksa0JBQWtCO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztJQUN4RCxDQUFDO2tJQWpFVSxvQkFBb0I7c0lBQXBCLG9CQUFvQjs7NEZBQXBCLG9CQUFvQjtrQkFEaEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEFubm90YXRpb25TZXQgfSBmcm9tICcuLi8uLi9hbm5vdGF0aW9uLXNldC9hbm5vdGF0aW9uLXNldC5tb2RlbCc7XG5pbXBvcnQgeyBBbm5vdGF0aW9uIH0gZnJvbSAnLi4vLi4vYW5ub3RhdGlvbi1zZXQvYW5ub3RhdGlvbi12aWV3L2Fubm90YXRpb24ubW9kZWwnO1xuaW1wb3J0IHsgQ29tbWVudCB9IGZyb20gJy4uLy4uL2NvbW1lbnQtc2V0L2NvbW1lbnQvY29tbWVudC5tb2RlbCc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBbm5vdGF0aW9uQXBpU2VydmljZSB7XG5cbiAgcHVibGljIGFubm90YXRpb25BcGlVcmwgPSAnL2VtLWFubm8nO1xuXG4gIHByaXZhdGUgYW5ub3RhdGlvblNldEJhc2VVcmwgPSAnL2Fubm90YXRpb24tc2V0cyc7XG4gIHByaXZhdGUgYW5ub3RhdGlvbkJhc2VVcmwgPSAnL2Fubm90YXRpb25zJztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGh0dHBDbGllbnQ6IEh0dHBDbGllbnRcbiAgKSB7IH1cblxuICBwdWJsaWMgZ2V0QW5ub3RhdGlvblNldChkb2N1bWVudElkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4geyAvLyB0b2RvIGFkZCBtb2RlbFxuICAgIGNvbnN0IGZpeGVkVXJsID0gYCR7dGhpcy5hbm5vdGF0aW9uU2V0c0Z1bGxVcmx9L2ZpbHRlcj9kb2N1bWVudElkPSR7ZG9jdW1lbnRJZH1gO1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRcbiAgICAgIC5nZXQ8QW5ub3RhdGlvblNldD4oZml4ZWRVcmwsIHsgb2JzZXJ2ZTogJ3Jlc3BvbnNlJywgd2l0aENyZWRlbnRpYWxzOiB0cnVlIH0pO1xuICB9XG5cbiAgcHVibGljIHBvc3RBbm5vdGF0aW9uU2V0KGJvZHk6IFBhcnRpYWw8QW5ub3RhdGlvblNldD4pOiBPYnNlcnZhYmxlPEFubm90YXRpb25TZXQ+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50XG4gICAgICAucG9zdDxBbm5vdGF0aW9uU2V0Pih0aGlzLmFubm90YXRpb25TZXRzRnVsbFVybCwgYm9keSwgeyBvYnNlcnZlOiAncmVzcG9uc2UnLCB3aXRoQ3JlZGVudGlhbHM6IHRydWUgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UuYm9keSksXG4gICAgICAgIGNhdGNoRXJyb3IoKCkgPT4gW10pXG4gICAgICApO1xuICB9XG5cbiAgcHVibGljIGdldENvbW1lbnRzKGFubm90YXRpb25TZXQ6IE9ic2VydmFibGU8QW5ub3RhdGlvblNldD4pOiBPYnNlcnZhYmxlPENvbW1lbnRbXT4ge1xuICAgIHJldHVybiBhbm5vdGF0aW9uU2V0XG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKHRoaXMuc29ydEFubm90YXRpb25zKSxcbiAgICAgICAgbWFwKHRoaXMuZXh0cmFjdENvbW1lbnRzKVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTb3J0IHRoZSBhbm5vdGF0aW9ucyBpbiB0aGUgcmVzcG9uc2UgYnkgcGFnZSBhbmQgdGhlbiB5IHBvc2l0aW9uIG9mIHRoZWlyIGZpcnN0IHJlY3RhbmdsZVxuICAgKi9cbiAgcHJpdmF0ZSBzb3J0QW5ub3RhdGlvbnMocjogQW5ub3RhdGlvblNldCk6IEFubm90YXRpb25bXSB7XG4gICAgcmV0dXJuIHIuYW5ub3RhdGlvbnMuc29ydCgoYSwgYikgPT4gYS5wYWdlICE9PSBiLnBhZ2UgPyBhLnBhZ2UgLSBiLnBhZ2UgOiBhLnJlY3RhbmdsZXNbMF0ueSAtIGIucmVjdGFuZ2xlc1swXS55KTtcbiAgfVxuXG4gIHByaXZhdGUgZXh0cmFjdENvbW1lbnRzKGFubm90YXRpb25zOiBBbm5vdGF0aW9uW10pIHtcbiAgICByZXR1cm4gW10uY29uY2F0KC4uLmFubm90YXRpb25zLm1hcChhID0+IGEuY29tbWVudHMpKTtcbiAgfVxuXG4gIHB1YmxpYyBkZWxldGVBbm5vdGF0aW9uKGFubm90YXRpb25JZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxudWxsPiB7XG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5hbm5vdGF0aW9uRnVsbHNVcmx9LyR7YW5ub3RhdGlvbklkfWA7XG5cbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50XG4gICAgICAuZGVsZXRlPG51bGw+KHVybCwgeyBvYnNlcnZlOiAncmVzcG9uc2UnLCB3aXRoQ3JlZGVudGlhbHM6IHRydWUgfSlcbiAgICAgIC5waXBlKG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5ib2R5KSk7XG4gIH1cblxuICBwdWJsaWMgcG9zdEFubm90YXRpb24oYW5ub3RhdGlvbjogUGFydGlhbDxBbm5vdGF0aW9uPik6IE9ic2VydmFibGU8QW5ub3RhdGlvbj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRcbiAgICAgIC5wb3N0PEFubm90YXRpb24+KHRoaXMuYW5ub3RhdGlvbkZ1bGxzVXJsLCBhbm5vdGF0aW9uLCB7IG9ic2VydmU6ICdyZXNwb25zZScsIHdpdGhDcmVkZW50aWFsczogdHJ1ZSB9KVxuICAgICAgLnBpcGUobWFwKHJlc3BvbnNlID0+IHJlc3BvbnNlLmJvZHkpKTtcbiAgfVxuXG4gIGdldCBhbm5vdGF0aW9uU2V0c0Z1bGxVcmwoKSB7XG4gICAgcmV0dXJuIHRoaXMuYW5ub3RhdGlvbkFwaVVybCArIHRoaXMuYW5ub3RhdGlvblNldEJhc2VVcmw7XG4gIH1cblxuICBnZXQgYW5ub3RhdGlvbkZ1bGxzVXJsKCkge1xuICAgIHJldHVybiB0aGlzLmFubm90YXRpb25BcGlVcmwgKyB0aGlzLmFubm90YXRpb25CYXNlVXJsO1xuICB9XG59XG4iXX0=
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { map } from 'rxjs/operators';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/common/http";
|
|
5
|
-
export class BookmarksApiService {
|
|
6
|
-
constructor(httpClient) {
|
|
7
|
-
this.httpClient = httpClient;
|
|
8
|
-
this.ANNOTATIONS_API = '/em-anno';
|
|
9
|
-
}
|
|
10
|
-
getBookmarks(documentId) {
|
|
11
|
-
return this.httpClient
|
|
12
|
-
.get(`${this.ANNOTATIONS_API}/${documentId}/bookmarks`, { observe: 'response', withCredentials: true });
|
|
13
|
-
}
|
|
14
|
-
createBookmark(bookmark) {
|
|
15
|
-
return this.httpClient
|
|
16
|
-
.post(`${this.ANNOTATIONS_API}/bookmarks`, bookmark, { observe: 'response', withCredentials: true })
|
|
17
|
-
.pipe(map(response => response.body));
|
|
18
|
-
}
|
|
19
|
-
updateBookmark(bookmark) {
|
|
20
|
-
return this.httpClient
|
|
21
|
-
.put(`${this.ANNOTATIONS_API}/bookmarks`, bookmark, { observe: 'response', withCredentials: true })
|
|
22
|
-
.pipe(map(response => response.body));
|
|
23
|
-
}
|
|
24
|
-
updateMultipleBookmarks(bookmarks) {
|
|
25
|
-
return this.httpClient
|
|
26
|
-
.put(`${this.ANNOTATIONS_API}/bookmarks_multiple`, bookmarks, { observe: 'response', withCredentials: true })
|
|
27
|
-
.pipe(map(response => response.body));
|
|
28
|
-
}
|
|
29
|
-
deleteBookmark(bookmarkId) {
|
|
30
|
-
return this.httpClient
|
|
31
|
-
.delete(`${this.ANNOTATIONS_API}/bookmarks/${bookmarkId}`, { observe: 'response', withCredentials: true })
|
|
32
|
-
.pipe(map(response => response.body));
|
|
33
|
-
}
|
|
34
|
-
deleteMultipleBookmarks(payload) {
|
|
35
|
-
return this.httpClient
|
|
36
|
-
.request('DELETE', `${this.ANNOTATIONS_API}/bookmarks_multiple`, { body: payload, observe: 'response', withCredentials: true })
|
|
37
|
-
.pipe(map(response => response.body));
|
|
38
|
-
}
|
|
39
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BookmarksApiService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
40
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BookmarksApiService }); }
|
|
41
|
-
}
|
|
42
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BookmarksApiService, decorators: [{
|
|
43
|
-
type: Injectable
|
|
44
|
-
}], ctorParameters: () => [{ type: i1.HttpClient }] });
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9va21hcmtzLWFwaS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWEtdmlld2VyL3NyYy9saWIvYW5ub3RhdGlvbnMvc2VydmljZXMvYm9va21hcmtzLWFwaS9ib29rbWFya3MtYXBpLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQUlyQyxNQUFNLE9BQU8sbUJBQW1CO0lBSTlCLFlBQ21CLFVBQXNCO1FBQXRCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFIeEIsb0JBQWUsR0FBRyxVQUFVLENBQUM7SUFJM0MsQ0FBQztJQUVHLFlBQVksQ0FBQyxVQUFrQjtRQUNwQyxPQUFPLElBQUksQ0FBQyxVQUFVO2FBQ25CLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxlQUFlLElBQUksVUFBVSxZQUFZLEVBQ3BELEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRyxlQUFlLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRU0sY0FBYyxDQUFDLFFBQTJCO1FBQy9DLE9BQU8sSUFBSSxDQUFDLFVBQVU7YUFDbkIsSUFBSSxDQUFXLEdBQUcsSUFBSSxDQUFDLGVBQWUsWUFBWSxFQUNqRCxRQUFRLEVBQUUsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFHLGVBQWUsRUFBRSxJQUFJLEVBQUUsQ0FBQzthQUMzRCxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVNLGNBQWMsQ0FBQyxRQUEyQjtRQUMvQyxPQUFPLElBQUksQ0FBQyxVQUFVO2FBQ25CLEdBQUcsQ0FBVyxHQUFHLElBQUksQ0FBQyxlQUFlLFlBQVksRUFDaEQsUUFBUSxFQUFFLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRyxlQUFlLEVBQUUsSUFBSSxFQUFFLENBQUM7YUFDM0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFTSx1QkFBdUIsQ0FBQyxTQUE4QjtRQUMzRCxPQUFPLElBQUksQ0FBQyxVQUFVO2FBQ25CLEdBQUcsQ0FBYSxHQUFHLElBQUksQ0FBQyxlQUFlLHFCQUFxQixFQUMzRCxTQUFTLEVBQUUsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFHLGVBQWUsRUFBRSxJQUFJLEVBQUUsQ0FBQzthQUM1RCxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVNLGNBQWMsQ0FBQyxVQUFrQjtRQUN0QyxPQUFPLElBQUksQ0FBQyxVQUFVO2FBQ25CLE1BQU0sQ0FBTyxHQUFHLElBQUksQ0FBQyxlQUFlLGNBQWMsVUFBVSxFQUFFLEVBQzdELEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRyxlQUFlLEVBQUUsSUFBSSxFQUFFLENBQUM7YUFDakQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFTSx1QkFBdUIsQ0FBQyxPQUFpRDtRQUM5RSxPQUFPLElBQUksQ0FBQyxVQUFVO2FBQ25CLE9BQU8sQ0FBTyxRQUFRLEVBQUUsR0FBRyxJQUFJLENBQUMsZUFBZSxxQkFBcUIsRUFDbkUsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUcsZUFBZSxFQUFFLElBQUksRUFBRSxDQUFDO2FBQ2hFLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUMxQyxDQUFDO2tJQS9DVSxtQkFBbUI7c0lBQW5CLG1CQUFtQjs7NEZBQW5CLG1CQUFtQjtrQkFEL0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBCb29rbWFyayB9IGZyb20gJy4uLy4uLy4uL3ZpZXdlcnMvcGRmLXZpZXdlci9zaWRlLWJhci9ib29rbWFya3MvYm9va21hcmtzLmludGVyZmFjZXMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQm9va21hcmtzQXBpU2VydmljZSB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBBTk5PVEFUSU9OU19BUEkgPSAnL2VtLWFubm8nO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgaHR0cENsaWVudDogSHR0cENsaWVudFxuICApIHt9XG5cbiAgcHVibGljIGdldEJvb2ttYXJrcyhkb2N1bWVudElkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRcbiAgICAgIC5nZXQoYCR7dGhpcy5BTk5PVEFUSU9OU19BUEl9LyR7ZG9jdW1lbnRJZH0vYm9va21hcmtzYCxcbiAgICAgICAgeyBvYnNlcnZlOiAncmVzcG9uc2UnICwgd2l0aENyZWRlbnRpYWxzOiB0cnVlIH0pO1xuICB9XG5cbiAgcHVibGljIGNyZWF0ZUJvb2ttYXJrKGJvb2ttYXJrOiBQYXJ0aWFsPEJvb2ttYXJrPik6IE9ic2VydmFibGU8Qm9va21hcms+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50XG4gICAgICAucG9zdDxCb29rbWFyaz4oYCR7dGhpcy5BTk5PVEFUSU9OU19BUEl9L2Jvb2ttYXJrc2AsXG4gICAgICAgIGJvb2ttYXJrLCB7IG9ic2VydmU6ICdyZXNwb25zZScgLCB3aXRoQ3JlZGVudGlhbHM6IHRydWUgfSlcbiAgICAgIC5waXBlKG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5ib2R5KSk7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlQm9va21hcmsoYm9va21hcms6IFBhcnRpYWw8Qm9va21hcms+KTogT2JzZXJ2YWJsZTxCb29rbWFyaz4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRcbiAgICAgIC5wdXQ8Qm9va21hcms+KGAke3RoaXMuQU5OT1RBVElPTlNfQVBJfS9ib29rbWFya3NgLFxuICAgICAgICBib29rbWFyaywgeyBvYnNlcnZlOiAncmVzcG9uc2UnICwgd2l0aENyZWRlbnRpYWxzOiB0cnVlIH0pXG4gICAgICAucGlwZShtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UuYm9keSkpO1xuICB9XG5cbiAgcHVibGljIHVwZGF0ZU11bHRpcGxlQm9va21hcmtzKGJvb2ttYXJrczogUGFydGlhbDxCb29rbWFya1tdPik6IE9ic2VydmFibGU8Qm9va21hcmtbXT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRcbiAgICAgIC5wdXQ8Qm9va21hcmtbXT4oYCR7dGhpcy5BTk5PVEFUSU9OU19BUEl9L2Jvb2ttYXJrc19tdWx0aXBsZWAsXG4gICAgICAgIGJvb2ttYXJrcywgeyBvYnNlcnZlOiAncmVzcG9uc2UnICwgd2l0aENyZWRlbnRpYWxzOiB0cnVlIH0pXG4gICAgICAucGlwZShtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UuYm9keSkpO1xuICB9XG5cbiAgcHVibGljIGRlbGV0ZUJvb2ttYXJrKGJvb2ttYXJrSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRcbiAgICAgIC5kZWxldGU8dm9pZD4oYCR7dGhpcy5BTk5PVEFUSU9OU19BUEl9L2Jvb2ttYXJrcy8ke2Jvb2ttYXJrSWR9YCxcbiAgICAgICAgeyBvYnNlcnZlOiAncmVzcG9uc2UnICwgd2l0aENyZWRlbnRpYWxzOiB0cnVlIH0pXG4gICAgICAucGlwZShtYXAocmVzcG9uc2UgPT4gcmVzcG9uc2UuYm9keSkpO1xuICB9XG5cbiAgcHVibGljIGRlbGV0ZU11bHRpcGxlQm9va21hcmtzKHBheWxvYWQ6IHsgZGVsZXRlZDogc3RyaW5nW10sIHVwZGF0ZWQ6IEJvb2ttYXJrIH0pOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50XG4gICAgICAucmVxdWVzdDx2b2lkPignREVMRVRFJywgYCR7dGhpcy5BTk5PVEFUSU9OU19BUEl9L2Jvb2ttYXJrc19tdWx0aXBsZWAsXG4gICAgICAgIHsgYm9keTogcGF5bG9hZCwgb2JzZXJ2ZTogJ3Jlc3BvbnNlJyAsIHdpdGhDcmVkZW50aWFsczogdHJ1ZSB9KVxuICAgICAgLnBpcGUobWFwKHJlc3BvbnNlID0+IHJlc3BvbnNlLmJvZHkpKTtcbiAgfVxufVxuIl19
|