@hmcts/media-viewer 4.0.1 → 4.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/annotations/annotation-set/annotation-create/box-highlight-create/box-highlight-create.component.mjs +116 -0
- package/esm2020/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.directive.mjs +109 -0
- package/{esm2022 → esm2020}/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.service.mjs +5 -5
- package/esm2020/lib/annotations/annotation-set/annotation-set.component.mjs +50 -0
- package/esm2020/lib/annotations/annotation-set/annotation-view/annotation-view.component.mjs +94 -0
- package/esm2020/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.component.mjs +116 -0
- package/esm2020/lib/annotations/annotation-set/ctx-toolbar/ctx-toolbar.component.mjs +118 -0
- package/esm2020/lib/annotations/annotation-set/metadata-layer/metadata-layer.component.mjs +86 -0
- package/{esm2022 → esm2020}/lib/annotations/annotations.module.mjs +61 -61
- package/esm2020/lib/annotations/comment-set/comment/comment.component.mjs +177 -0
- package/esm2020/lib/annotations/comment-set/comment/comment.service.mjs +50 -0
- package/esm2020/lib/annotations/comment-set/comment/text-highlight/text-highlight.directive.mjs +47 -0
- package/{esm2022 → esm2020}/lib/annotations/comment-set/comment/textarea-auto-expand/textarea-auto-expand.directive.mjs +5 -5
- package/esm2020/lib/annotations/comment-set/comment-navigate/comments-navigate.component.mjs +91 -0
- package/{esm2022 → esm2020}/lib/annotations/comment-set/comment-set-header/comment-filter/comment-filter.component.mjs +5 -5
- package/esm2020/lib/annotations/comment-set/comment-set-header/comment-search/comment-search.component.mjs +54 -0
- package/esm2020/lib/annotations/comment-set/comment-set-header/comment-set-header.component.mjs +68 -0
- package/esm2020/lib/annotations/comment-set/comment-set-render.service.mjs +54 -0
- package/esm2020/lib/annotations/comment-set/comment-set.component.mjs +123 -0
- package/esm2020/lib/annotations/comments-summary/comments-summary.component.mjs +120 -0
- package/{esm2022 → esm2020}/lib/annotations/pipes/date/date.pipe.mjs +4 -4
- package/esm2020/lib/annotations/pipes/filter/filter.pipe.mjs +32 -0
- package/{esm2022 → esm2020}/lib/annotations/pipes/unsnake/unsnake.pipe.mjs +4 -4
- package/{esm2022 → esm2020}/lib/annotations/services/annotation-api/annotation-api.service.mjs +5 -5
- package/{esm2022 → esm2020}/lib/annotations/services/bookmarks-api/bookmarks-api.service.mjs +5 -5
- package/{esm2022 → esm2020}/lib/annotations/services/tags/tags.services.mjs +5 -5
- package/esm2020/lib/annotations/tags/tags.component.mjs +53 -0
- package/{esm2022 → esm2020}/lib/bookmark/components/bookmark-icons.component.mjs +5 -5
- package/{esm2022 → esm2020}/lib/icp/confirm-exit/confirm-action-dialog.component.mjs +5 -5
- package/esm2020/lib/icp/icp-follower.service.mjs +60 -0
- package/esm2020/lib/icp/icp-presenter.service.mjs +55 -0
- package/esm2020/lib/icp/icp-session-api.service.mjs +21 -0
- package/esm2020/lib/icp/icp-update.service.mjs +65 -0
- package/{esm2022 → esm2020}/lib/icp/icp.interfaces.mjs +1 -1
- package/esm2020/lib/icp/icp.service.mjs +95 -0
- package/{esm2022 → esm2020}/lib/icp/participants-list/participants-list.component.mjs +5 -5
- package/esm2020/lib/icp/socket.service.mjs +118 -0
- package/esm2020/lib/media-viewer.component.mjs +245 -0
- package/{esm2022 → esm2020}/lib/media-viewer.module.mjs +55 -55
- package/{esm2022 → esm2020}/lib/print.service.mjs +4 -4
- package/esm2020/lib/redaction/components/redaction.component.mjs +91 -0
- package/{esm2022 → esm2020}/lib/redaction/services/redaction-api.service.mjs +5 -5
- package/{esm2022 → esm2020}/lib/shared/gov-uk-date/gov-uk-date.component.mjs +4 -4
- package/{esm2022 → esm2020}/lib/shared/gov-uk-error-message/gov-uk-error-message.component.mjs +7 -7
- package/{esm2022 → esm2020}/lib/shared/gov-uk-fieldset/gov-uk-fieldset.component.mjs +6 -6
- package/{esm2022 → esm2020}/lib/shared/gov-uk-label/gov-uk-label.component.mjs +7 -7
- package/{esm2022 → esm2020}/lib/shared/shared.module.mjs +19 -19
- package/esm2020/lib/shared/util/helpers/html-templates.helper.mjs +18 -0
- package/{esm2022 → esm2020}/lib/shared/util/services/number.helper.service.mjs +5 -5
- package/esm2020/lib/store/actions/icp.actions.mjs +56 -0
- package/esm2020/lib/store/bookmarks-store-utils.mjs +49 -0
- package/esm2020/lib/store/effects/annotation.effects.mjs +51 -0
- package/{esm2022 → esm2020}/lib/store/effects/bookmarks.effects.mjs +5 -5
- package/{esm2022 → esm2020}/lib/store/effects/document.effects.mjs +5 -5
- package/esm2020/lib/store/effects/icp.effects.mjs +26 -0
- package/{esm2022 → esm2020}/lib/store/effects/redaction.effects.mjs +5 -5
- package/esm2020/lib/store/reducers/annotations.reducer.mjs +208 -0
- package/esm2020/lib/store/reducers/bookmarks.reducer.mjs +116 -0
- package/esm2020/lib/store/reducers/document.reducer.mjs +135 -0
- package/esm2020/lib/store/reducers/icp.reducer.mjs +56 -0
- package/esm2020/lib/store/reducers/redaction.reducer.mjs +116 -0
- package/esm2020/lib/store/reducers/tags.reducer.mjs +93 -0
- package/esm2020/lib/store/selectors/annotation.selectors.mjs +81 -0
- package/{esm2022 → esm2020}/lib/store/selectors/bookmark.selectors.mjs +1 -1
- package/{esm2022 → esm2020}/lib/store/selectors/redaction.selectors.mjs +1 -1
- package/esm2020/lib/store/store-utils.mjs +131 -0
- package/esm2020/lib/toolbar/highlight-toolbar/highlight-toolbar.component.mjs +44 -0
- package/{esm2022 → esm2020}/lib/toolbar/icp-event.service.mjs +1 -1
- package/{esm2022 → esm2020}/lib/toolbar/icp-toolbar/icp-toolbar.component.mjs +5 -5
- package/esm2020/lib/toolbar/main-toolbar/main-toolbar.component.mjs +189 -0
- package/esm2020/lib/toolbar/redaction-search-bar/redaction-search-bar.component.mjs +236 -0
- package/esm2020/lib/toolbar/redaction-toolbar/redaction-toolbar.component.mjs +68 -0
- package/esm2020/lib/toolbar/search-bar/search-bar.component.mjs +109 -0
- package/esm2020/lib/toolbar/toolbar-button-visibility.service.mjs +94 -0
- package/esm2020/lib/toolbar/toolbar-event.service.mjs +178 -0
- package/{esm2022 → esm2020}/lib/toolbar/toolbar.module.mjs +25 -25
- package/esm2020/lib/viewers/convertible-content-viewer/convertible-content-viewer.component.mjs +82 -0
- package/{esm2022 → esm2020}/lib/viewers/convertible-content-viewer/document-conversion-api.service.mjs +5 -5
- package/esm2020/lib/viewers/grab-n-drag.directive.mjs +57 -0
- package/esm2020/lib/viewers/image-viewer/image-viewer.component.mjs +166 -0
- package/esm2020/lib/viewers/multimedia-player/multimedia-player.component.mjs +59 -0
- package/esm2020/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.mjs +209 -0
- package/{esm2022 → esm2020}/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.provider.mjs +5 -5
- package/esm2020/lib/viewers/pdf-viewer/pdf-viewer.component.mjs +236 -0
- package/esm2020/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.component.mjs +352 -0
- package/esm2020/lib/viewers/pdf-viewer/side-bar/outline-item/outline-item.component.mjs +49 -0
- package/{esm2022 → esm2020}/lib/viewers/pdf-viewer/side-bar/side-bar.component.mjs +5 -5
- package/{esm2022 → esm2020}/lib/viewers/rotation-persist/rotation-api.service.mjs +5 -5
- package/esm2020/lib/viewers/rotation-persist/rotation-persist.directive.mjs +61 -0
- package/esm2020/lib/viewers/unsupported-viewer/unsupported-viewer.component.mjs +49 -0
- package/{esm2022 → esm2020}/lib/viewers/viewer-event.service.mjs +5 -5
- package/{esm2022 → esm2020}/lib/viewers/viewer-util.service.mjs +5 -5
- package/fesm2015/hmcts-media-viewer.mjs +6953 -0
- package/fesm2015/hmcts-media-viewer.mjs.map +1 -0
- package/{fesm2022 → fesm2020}/hmcts-media-viewer.mjs +462 -453
- package/fesm2020/hmcts-media-viewer.mjs.map +1 -0
- package/lib/annotations/annotation-set/annotation-create/box-highlight-create/box-highlight-create.component.d.ts +1 -1
- package/lib/annotations/annotation-set/annotation-set.component.d.ts +1 -1
- package/lib/annotations/annotation-set/annotation-view/annotation-view.component.d.ts +1 -1
- package/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.component.d.ts +1 -1
- package/lib/annotations/annotation-set/ctx-toolbar/ctx-toolbar.component.d.ts +1 -1
- package/lib/annotations/annotation-set/metadata-layer/metadata-layer.component.d.ts +1 -1
- package/lib/annotations/comment-set/comment/comment.component.d.ts +1 -1
- package/lib/annotations/comment-set/comment/text-highlight/text-highlight.directive.d.ts +1 -1
- package/lib/annotations/comment-set/comment-navigate/comments-navigate.component.d.ts +1 -1
- package/lib/annotations/comment-set/comment-set-header/comment-search/comment-search.component.d.ts +1 -1
- package/lib/annotations/comment-set/comment-set-header/comment-set-header.component.d.ts +1 -1
- package/lib/annotations/comment-set/comment-set.component.d.ts +1 -1
- package/lib/annotations/comments-summary/comments-summary.component.d.ts +1 -1
- package/lib/annotations/tags/tags.component.d.ts +1 -1
- package/lib/bookmark/components/bookmark-icons.component.d.ts +1 -1
- package/lib/icp/icp-session-api.service.d.ts +4 -1
- package/lib/icp/icp-session-api.service.d.ts.map +1 -1
- package/lib/icp/icp-update.service.d.ts.map +1 -1
- package/lib/icp/icp.interfaces.d.ts +1 -0
- package/lib/icp/icp.interfaces.d.ts.map +1 -1
- package/lib/icp/icp.service.d.ts +1 -0
- package/lib/icp/icp.service.d.ts.map +1 -1
- package/lib/icp/socket.service.d.ts +6 -6
- package/lib/icp/socket.service.d.ts.map +1 -1
- package/lib/media-viewer.component.d.ts +2 -1
- package/lib/media-viewer.component.d.ts.map +1 -1
- package/lib/redaction/components/redaction.component.d.ts +1 -1
- package/lib/shared/gov-uk-date/gov-uk-date.component.d.ts +1 -1
- package/lib/shared/gov-uk-error-message/gov-uk-error-message.component.d.ts +1 -1
- package/lib/shared/gov-uk-fieldset/gov-uk-fieldset.component.d.ts +1 -1
- package/lib/shared/gov-uk-label/gov-uk-label.component.d.ts +1 -1
- package/lib/store/actions/icp.actions.d.ts +8 -2
- package/lib/store/actions/icp.actions.d.ts.map +1 -1
- package/lib/store/bookmarks-store-utils.d.ts.map +1 -1
- package/lib/store/effects/icp.effects.d.ts.map +1 -1
- package/lib/toolbar/icp-event.service.d.ts +4 -4
- package/lib/toolbar/icp-event.service.d.ts.map +1 -1
- package/lib/toolbar/main-toolbar/main-toolbar.component.d.ts +1 -1
- package/lib/toolbar/redaction-toolbar/redaction-toolbar.component.d.ts +1 -1
- package/lib/toolbar/toolbar-event.service.d.ts +6 -6
- package/lib/toolbar/toolbar-event.service.d.ts.map +1 -1
- package/lib/viewers/convertible-content-viewer/convertible-content-viewer.component.d.ts +1 -1
- package/lib/viewers/grab-n-drag.directive.d.ts +1 -1
- package/lib/viewers/image-viewer/image-viewer.component.d.ts +1 -1
- package/lib/viewers/multimedia-player/multimedia-player.component.d.ts +1 -1
- package/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.d.ts.map +1 -1
- package/lib/viewers/pdf-viewer/pdf-viewer.component.d.ts +1 -1
- package/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.component.d.ts +1 -1
- package/lib/viewers/pdf-viewer/side-bar/outline-item/outline-item.component.d.ts +1 -1
- package/lib/viewers/pdf-viewer/side-bar/side-bar.component.d.ts +1 -1
- package/lib/viewers/unsupported-viewer/unsupported-viewer.component.d.ts +1 -1
- package/lib/viewers/viewer-event.service.d.ts +1 -1
- package/lib/viewers/viewer-event.service.d.ts.map +1 -1
- package/package.json +23 -16
- package/esm2022/lib/annotations/annotation-set/annotation-create/box-highlight-create/box-highlight-create.component.mjs +0 -116
- package/esm2022/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.directive.mjs +0 -109
- package/esm2022/lib/annotations/annotation-set/annotation-set.component.mjs +0 -50
- package/esm2022/lib/annotations/annotation-set/annotation-view/annotation-view.component.mjs +0 -94
- package/esm2022/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.component.mjs +0 -116
- package/esm2022/lib/annotations/annotation-set/ctx-toolbar/ctx-toolbar.component.mjs +0 -118
- package/esm2022/lib/annotations/annotation-set/metadata-layer/metadata-layer.component.mjs +0 -86
- package/esm2022/lib/annotations/comment-set/comment/comment.component.mjs +0 -177
- 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-navigate/comments-navigate.component.mjs +0 -91
- 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 -68
- package/esm2022/lib/annotations/comment-set/comment-set-render.service.mjs +0 -54
- 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/pipes/filter/filter.pipe.mjs +0 -32
- package/esm2022/lib/annotations/tags/tags.component.mjs +0 -53
- package/esm2022/lib/icp/icp-follower.service.mjs +0 -60
- package/esm2022/lib/icp/icp-presenter.service.mjs +0 -55
- package/esm2022/lib/icp/icp-session-api.service.mjs +0 -21
- package/esm2022/lib/icp/icp-update.service.mjs +0 -57
- package/esm2022/lib/icp/icp.service.mjs +0 -93
- package/esm2022/lib/icp/socket.service.mjs +0 -118
- package/esm2022/lib/media-viewer.component.mjs +0 -244
- package/esm2022/lib/redaction/components/redaction.component.mjs +0 -91
- package/esm2022/lib/shared/util/helpers/html-templates.helper.mjs +0 -18
- package/esm2022/lib/store/actions/icp.actions.mjs +0 -56
- 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/icp.effects.mjs +0 -26
- package/esm2022/lib/store/reducers/annotations.reducer.mjs +0 -208
- package/esm2022/lib/store/reducers/bookmarks.reducer.mjs +0 -116
- package/esm2022/lib/store/reducers/document.reducer.mjs +0 -135
- 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/tags.reducer.mjs +0 -93
- package/esm2022/lib/store/selectors/annotation.selectors.mjs +0 -81
- package/esm2022/lib/store/store-utils.mjs +0 -131
- package/esm2022/lib/toolbar/highlight-toolbar/highlight-toolbar.component.mjs +0 -44
- package/esm2022/lib/toolbar/main-toolbar/main-toolbar.component.mjs +0 -189
- package/esm2022/lib/toolbar/redaction-search-bar/redaction-search-bar.component.mjs +0 -236
- package/esm2022/lib/toolbar/redaction-toolbar/redaction-toolbar.component.mjs +0 -68
- 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/viewers/convertible-content-viewer/convertible-content-viewer.component.mjs +0 -82
- 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 -210
- package/esm2022/lib/viewers/pdf-viewer/pdf-viewer.component.mjs +0 -236
- package/esm2022/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.component.mjs +0 -352
- package/esm2022/lib/viewers/pdf-viewer/side-bar/outline-item/outline-item.component.mjs +0 -49
- package/esm2022/lib/viewers/rotation-persist/rotation-persist.directive.mjs +0 -61
- package/esm2022/lib/viewers/unsupported-viewer/unsupported-viewer.component.mjs +0 -49
- package/fesm2022/hmcts-media-viewer.mjs.map +0 -1
- /package/{esm2022 → esm2020}/hmcts-media-viewer.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/annotations/annotation-set/annotation-set.model.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/annotations/annotation-set/annotation-view/annotation.model.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.model.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/annotations/comment-set/comment/comment.model.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/annotations/models/api-persisted.model.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/annotations/models/event-select.model.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/annotations/models/tags.model.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/annotations/models/user.model.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/icp/icp.events.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/redaction/services/redaction.model.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/store/actions/annotation.actions.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/store/actions/bookmark.actions.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/store/actions/document.actions.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/store/actions/redaction.actions.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/store/actions/tag.actions.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/store/effects/index.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/store/models/bookmarks.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/store/models/filters.interface.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/store/reducers/reducers.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/store/selectors/document.selectors.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/store/selectors/icp.selectors.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/store/selectors/tag.selectors.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/toolbar/redaction-search-bar/redaction-search.model.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.interfaces.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/viewers/pdf-viewer/side-bar/outline-item/outline.model.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/viewers/rotation-persist/rotation.model.mjs +0 -0
- /package/{esm2022 → esm2020}/lib/viewers/viewer-exception.model.mjs +0 -0
- /package/{esm2022 → esm2020}/public_api.mjs +0 -0
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import * as fromBookmarks from '../actions/bookmark.actions';
|
|
2
|
+
import { StoreUtils } from '../store-utils';
|
|
3
|
+
import { generateBookmarkEntities } from '../bookmarks-store-utils';
|
|
4
|
+
export const initialBookmarksState = {
|
|
5
|
+
bookmarks: [],
|
|
6
|
+
bookmarkEntities: {},
|
|
7
|
+
bookmarkPageEntities: {},
|
|
8
|
+
editableBookmark: undefined,
|
|
9
|
+
loaded: false,
|
|
10
|
+
loading: false
|
|
11
|
+
};
|
|
12
|
+
export function bookmarksReducer(state = initialBookmarksState, action) {
|
|
13
|
+
switch (action.type) {
|
|
14
|
+
case fromBookmarks.LOAD_BOOKMARKS: {
|
|
15
|
+
return {
|
|
16
|
+
...state,
|
|
17
|
+
loading: true
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
case fromBookmarks.LOAD_BOOKMARKS_SUCCESS:
|
|
21
|
+
case fromBookmarks.LOAD_BOOKMARKS_FAIL: {
|
|
22
|
+
const bookmarks = action.payload.status === 200 ? action.payload.body : [];
|
|
23
|
+
const bookmarkEntities = generateBookmarkEntities(bookmarks);
|
|
24
|
+
const bookmarkPageEntities = StoreUtils.groupByKeyEntities(bookmarks, 'pageNumber');
|
|
25
|
+
return {
|
|
26
|
+
...state,
|
|
27
|
+
bookmarks,
|
|
28
|
+
bookmarkEntities,
|
|
29
|
+
bookmarkPageEntities,
|
|
30
|
+
loaded: true
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
case fromBookmarks.CREATE_BOOKMARK_SUCCESS: {
|
|
34
|
+
const bookmark = action.payload;
|
|
35
|
+
const bookmarkEntities = {
|
|
36
|
+
...state.bookmarkEntities,
|
|
37
|
+
[bookmark.id]: bookmark,
|
|
38
|
+
};
|
|
39
|
+
const bookmarkArray = Object.keys(bookmarkEntities).map(key => bookmarkEntities[key]);
|
|
40
|
+
const bookmarkPageEntities = StoreUtils.groupByKeyEntities(bookmarkArray, 'pageNumber');
|
|
41
|
+
const editableBookmark = bookmark.id;
|
|
42
|
+
return {
|
|
43
|
+
...state,
|
|
44
|
+
bookmarkEntities,
|
|
45
|
+
editableBookmark,
|
|
46
|
+
bookmarkPageEntities,
|
|
47
|
+
loading: false,
|
|
48
|
+
loaded: true
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
case fromBookmarks.MOVE_BOOKMARK_SUCCESS: {
|
|
52
|
+
const movedBookmarks = generateBookmarkEntities(action.payload);
|
|
53
|
+
const bookmarkEntities = {
|
|
54
|
+
...state.bookmarkEntities,
|
|
55
|
+
...movedBookmarks
|
|
56
|
+
};
|
|
57
|
+
return {
|
|
58
|
+
...state,
|
|
59
|
+
bookmarkEntities,
|
|
60
|
+
loading: false,
|
|
61
|
+
loaded: true
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
case fromBookmarks.DELETE_BOOKMARK_SUCCESS: {
|
|
65
|
+
const bookmarkIds = action.payload;
|
|
66
|
+
const bookmarkEntities = { ...state.bookmarkEntities };
|
|
67
|
+
const bookmarkPageEntities = { ...state.bookmarkPageEntities };
|
|
68
|
+
const removeBookmarksByPage = {};
|
|
69
|
+
bookmarkIds.forEach(bookmarkId => {
|
|
70
|
+
if (removeBookmarksByPage[bookmarkEntities[bookmarkId].pageNumber] !== undefined &&
|
|
71
|
+
removeBookmarksByPage[bookmarkEntities[bookmarkId].pageNumber].length > 0) {
|
|
72
|
+
removeBookmarksByPage[bookmarkEntities[bookmarkId].pageNumber].push(bookmarkId);
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
removeBookmarksByPage[bookmarkEntities[bookmarkId].pageNumber] = [bookmarkId];
|
|
76
|
+
}
|
|
77
|
+
delete bookmarkEntities[bookmarkId];
|
|
78
|
+
});
|
|
79
|
+
Object.entries(removeBookmarksByPage).forEach(([pageNumber, bmrkIds]) => {
|
|
80
|
+
bookmarkPageEntities[pageNumber]
|
|
81
|
+
= bookmarkPageEntities[pageNumber].filter(bookmark => !bmrkIds.includes(bookmark.id));
|
|
82
|
+
});
|
|
83
|
+
return {
|
|
84
|
+
...state,
|
|
85
|
+
bookmarkEntities,
|
|
86
|
+
bookmarkPageEntities,
|
|
87
|
+
loading: false,
|
|
88
|
+
loaded: true
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
case fromBookmarks.UPDATE_BOOKMARK_SUCCESS: {
|
|
92
|
+
const bookmark = action.payload;
|
|
93
|
+
const bookmarkEntities = {
|
|
94
|
+
...state.bookmarkEntities,
|
|
95
|
+
[bookmark.id]: { ...bookmark }
|
|
96
|
+
};
|
|
97
|
+
const bookmarkArray = Object.keys(bookmarkEntities).map(key => bookmarkEntities[key]);
|
|
98
|
+
const bookmarkPageEntities = StoreUtils.groupByKeyEntities(bookmarkArray, 'pageNumber');
|
|
99
|
+
const editableBookmark = undefined;
|
|
100
|
+
return {
|
|
101
|
+
...state,
|
|
102
|
+
bookmarkEntities,
|
|
103
|
+
editableBookmark,
|
|
104
|
+
bookmarkPageEntities,
|
|
105
|
+
loading: false,
|
|
106
|
+
loaded: true
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
return state;
|
|
111
|
+
}
|
|
112
|
+
export const getBookmarks = (state) => state.bookmarks;
|
|
113
|
+
export const getBookmarkEnts = (state) => state.bookmarkEntities;
|
|
114
|
+
export const getBookmarkPageEnt = (state) => state.bookmarkPageEntities;
|
|
115
|
+
export const getEditBookmark = (state) => state.editableBookmark;
|
|
116
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9va21hcmtzLnJlZHVjZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYS12aWV3ZXIvc3JjL2xpYi9zdG9yZS9yZWR1Y2Vycy9ib29rbWFya3MucmVkdWNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssYUFBYSxNQUFNLDZCQUE2QixDQUFDO0FBRTdELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1QyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQVdwRSxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBbUI7SUFDbkQsU0FBUyxFQUFFLEVBQUU7SUFDYixnQkFBZ0IsRUFBRSxFQUFFO0lBQ3BCLG9CQUFvQixFQUFFLEVBQUU7SUFDeEIsZ0JBQWdCLEVBQUUsU0FBUztJQUMzQixNQUFNLEVBQUUsS0FBSztJQUNiLE9BQU8sRUFBRSxLQUFLO0NBQ2YsQ0FBQztBQUVGLE1BQU0sVUFBVSxnQkFBZ0IsQ0FBRSxLQUFLLEdBQUcscUJBQXFCLEVBQzdCLE1BQXNDO0lBRXRFLFFBQVEsTUFBTSxDQUFDLElBQUksRUFBRTtRQUVuQixLQUFLLGFBQWEsQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUNqQyxPQUFPO2dCQUNMLEdBQUcsS0FBSztnQkFDUixPQUFPLEVBQUUsSUFBSTthQUNkLENBQUM7U0FDSDtRQUVELEtBQUssYUFBYSxDQUFDLHNCQUFzQixDQUFDO1FBQzFDLEtBQUssYUFBYSxDQUFDLG1CQUFtQixDQUFDLENBQUM7WUFDdEMsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQzNFLE1BQU0sZ0JBQWdCLEdBQUcsd0JBQXdCLENBQUMsU0FBUyxDQUFD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TSxDQUFDLE1BQU0sZUFBZSxHQUFHLENBQUMsS0FBcUIsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDO0FBQ2pGLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLENBQUMsS0FBcUIsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLG9CQUFvQixDQUFDO0FBQ3hGLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUFDLEtBQXFCLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGZyb21Cb29rbWFya3MgZnJvbSAnLi4vYWN0aW9ucy9ib29rbWFyay5hY3Rpb25zJztcbmltcG9ydCB7IEJvb2ttYXJrIH0gZnJvbSAnLi4vLi4vdmlld2Vycy9wZGYtdmlld2VyL3NpZGUtYmFyL2Jvb2ttYXJrcy9ib29rbWFya3MuaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBTdG9yZVV0aWxzIH0gZnJvbSAnLi4vc3RvcmUtdXRpbHMnO1xuaW1wb3J0IHsgZ2VuZXJhdGVCb29rbWFya0VudGl0aWVzIH0gZnJvbSAnLi4vYm9va21hcmtzLXN0b3JlLXV0aWxzJztcblxuZXhwb3J0IGludGVyZmFjZSBCb29rbWFya3NTdGF0ZSB7XG4gIGJvb2ttYXJrczogQm9va21hcmtbXTtcbiAgYm9va21hcmtFbnRpdGllczogeyBbaWQ6IHN0cmluZ106IEJvb2ttYXJrIH07XG4gIGJvb2ttYXJrUGFnZUVudGl0aWVzOiB7W2lkOiBzdHJpbmddOiBhbnl9O1xuICBlZGl0YWJsZUJvb2ttYXJrOiBzdHJpbmc7XG4gIGxvYWRlZDogYm9vbGVhbjtcbiAgbG9hZGluZzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNvbnN0IGluaXRpYWxCb29rbWFya3NTdGF0ZTogQm9va21hcmtzU3RhdGUgPSB7XG4gIGJvb2ttYXJrczogW10sXG4gIGJvb2ttYXJrRW50aXRpZXM6IHt9LFxuICBib29rbWFya1BhZ2VFbnRpdGllczoge30sXG4gIGVkaXRhYmxlQm9va21hcms6IHVuZGVmaW5lZCxcbiAgbG9hZGVkOiBmYWxzZSxcbiAgbG9hZGluZzogZmFsc2Vcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBib29rbWFya3NSZWR1Y2VyIChzdGF0ZSA9IGluaXRpYWxCb29rbWFya3NTdGF0ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb246IGZyb21Cb29rbWFya3MuQm9va21hcmtzQWN0aW9ucyk6IEJvb2ttYXJrc1N0YXRlIHtcblxuICBzd2l0Y2ggKGFjdGlvbi50eXBlKSB7XG5cbiAgICBjYXNlIGZyb21Cb29rbWFya3MuTE9BRF9CT09LTUFSS1M6IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBsb2FkaW5nOiB0cnVlXG4gICAgICB9O1xuICAgIH1cblxuICAgIGNhc2UgZnJvbUJvb2ttYXJrcy5MT0FEX0JPT0tNQVJLU19TVUNDRVNTOlxuICAgIGNhc2UgZnJvbUJvb2ttYXJrcy5MT0FEX0JPT0tNQVJLU19GQUlMOiB7XG4gICAgICBjb25zdCBib29rbWFya3MgPSBhY3Rpb24ucGF5bG9hZC5zdGF0dXMgPT09IDIwMCA/IGFjdGlvbi5wYXlsb2FkLmJvZHkgOiBbXTtcbiAgICAgIGNvbnN0IGJvb2ttYXJrRW50aXRpZXMgPSBnZW5lcmF0ZUJvb2ttYXJrRW50aXRpZXMoYm9va21hcmtzKTtcbiAgICAgIGNvbnN0IGJvb2ttYXJrUGFnZUVudGl0aWVzID0gU3RvcmVVdGlscy5ncm91cEJ5S2V5RW50aXRpZXMoYm9va21hcmtzLCAncGFnZU51bWJlcicpO1xuXG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgYm9va21hcmtzLFxuICAgICAgICBib29rbWFya0VudGl0aWVzLFxuICAgICAgICBib29rbWFya1BhZ2VFbnRpdGllcyxcbiAgICAgICAgbG9hZGVkOiB0cnVlXG4gICAgICB9O1xuICAgIH1cblxuICAgIGNhc2UgZnJvbUJvb2ttYXJrcy5DUkVBVEVfQk9PS01BUktfU1VDQ0VTUzoge1xuICAgICAgY29uc3QgYm9va21hcms6IEJvb2ttYXJrID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgICBjb25zdCBib29rbWFya0VudGl0aWVzID0ge1xuICAgICAgICAuLi5zdGF0ZS5ib29rbWFya0VudGl0aWVzLFxuICAgICAgICBbYm9va21hcmsuaWRdOiBib29rbWFyayxcbiAgICAgIH07XG4gICAgICBjb25zdCBib29rbWFya0FycmF5ID0gT2JqZWN0LmtleXMoYm9va21hcmtFbnRpdGllcykubWFwKGtleSA9PiBib29rbWFya0VudGl0aWVzW2tleV0pO1xuICAgICAgY29uc3QgYm9va21hcmtQYWdlRW50aXRpZXMgPSBTdG9yZVV0aWxzLmdyb3VwQnlLZXlFbnRpdGllcyhib29rbWFya0FycmF5LCAncGFnZU51bWJlcicpO1xuICAgICAgY29uc3QgZWRpdGFibGVCb29rbWFyayA9IGJvb2ttYXJrLmlkO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIGJvb2ttYXJrRW50aXRpZXMsXG4gICAgICAgIGVkaXRhYmxlQm9va21hcmssXG4gICAgICAgIGJvb2ttYXJrUGFnZUVudGl0aWVzLFxuICAgICAgICBsb2FkaW5nOiBmYWxzZSxcbiAgICAgICAgbG9hZGVkOiB0cnVlXG4gICAgICB9O1xuICAgIH1cblxuICAgIGNhc2UgZnJvbUJvb2ttYXJrcy5NT1ZFX0JPT0tNQVJLX1NVQ0NFU1M6IHtcbiAgICAgIGNvbnN0IG1vdmVkQm9va21hcmtzID0gZ2VuZXJhdGVCb29rbWFya0VudGl0aWVzKGFjdGlvbi5wYXlsb2FkKTtcbiAgICAgIGNvbnN0IGJvb2ttYXJrRW50aXRpZXMgPSB7XG4gICAgICAgIC4uLnN0YXRlLmJvb2ttYXJrRW50aXRpZXMsXG4gICAgICAgIC4uLm1vdmVkQm9va21hcmtzXG4gICAgICB9O1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIGJvb2ttYXJrRW50aXRpZXMsXG4gICAgICAgIGxvYWRpbmc6IGZhbHNlLFxuICAgICAgICBsb2FkZWQ6IHRydWVcbiAgICAgIH07XG4gICAgfVxuXG4gICAgY2FzZSBmcm9tQm9va21hcmtzLkRFTEVURV9CT09LTUFSS19TVUNDRVNTOiB7XG4gICAgICBjb25zdCBib29rbWFya0lkczogc3RyaW5nW10gPSBhY3Rpb24ucGF5bG9hZDtcbiAgICAgIGNvbnN0IGJvb2ttYXJrRW50aXRpZXMgPSB7IC4uLnN0YXRlLmJvb2ttYXJrRW50aXRpZXMgfTtcbiAgICAgIGNvbnN0IGJvb2ttYXJrUGFnZUVudGl0aWVzID0geyAuLi5zdGF0ZS5ib29rbWFya1BhZ2VFbnRpdGllcyB9O1xuICAgICAgY29uc3QgcmVtb3ZlQm9va21hcmtzQnlQYWdlOiB7W3BhZ2VOdW1iZXI6IG51bWJlcl06IHN0cmluZ1tdfSA9IHt9O1xuICAgICAgYm9va21hcmtJZHMuZm9yRWFjaChib29rbWFya0lkID0+IHtcbiAgICAgICAgaWYgKHJlbW92ZUJvb2ttYXJrc0J5UGFnZVtib29rbWFya0VudGl0aWVzW2Jvb2ttYXJrSWRdLnBhZ2VOdW1iZXJdICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgICByZW1vdmVCb29rbWFya3NCeVBhZ2VbYm9va21hcmtFbnRpdGllc1tib29rbWFya0lkXS5wYWdlTnVtYmVyXS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgcmVtb3ZlQm9va21hcmtzQnlQYWdlW2Jvb2ttYXJrRW50aXRpZXNbYm9va21hcmtJZF0ucGFnZU51bWJlcl0ucHVzaChib29rbWFya0lkKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZW1vdmVCb29rbWFya3NCeVBhZ2VbYm9va21hcmtFbnRpdGllc1tib29rbWFya0lkXS5wYWdlTnVtYmVyXSA9IFtib29rbWFya0lkXTtcbiAgICAgICAgfVxuICAgICAgICBkZWxldGUgYm9va21hcmtFbnRpdGllc1tib29rbWFya0lkXTtcbiAgICAgIH0pO1xuXG4gICAgICBPYmplY3QuZW50cmllcyhyZW1vdmVCb29rbWFya3NCeVBhZ2UpLmZvckVhY2goXG4gICAgICAgIChbcGFnZU51bWJlciwgYm1ya0lkc10pID0+IHtcbiAgICAgICAgICBib29rbWFya1BhZ2VFbnRpdGllc1twYWdlTnVtYmVyXVxuICAgICAgICAgID0gYm9va21hcmtQYWdlRW50aXRpZXNbcGFnZU51bWJlcl0uZmlsdGVyKGJvb2ttYXJrID0+ICFibXJrSWRzLmluY2x1ZGVzKGJvb2ttYXJrLmlkKSk7XG4gICAgICAgIH1cbiAgICAgICk7XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBib29rbWFya0VudGl0aWVzLFxuICAgICAgICBib29rbWFya1BhZ2VFbnRpdGllcyxcbiAgICAgICAgbG9hZGluZzogZmFsc2UsXG4gICAgICAgIGxvYWRlZDogdHJ1ZVxuICAgICAgfTtcbiAgICB9XG5cbiAgICBjYXNlIGZyb21Cb29rbWFya3MuVVBEQVRFX0JPT0tNQVJLX1NVQ0NFU1M6IHtcbiAgICAgIGNvbnN0IGJvb2ttYXJrOiBCb29rbWFyayA9IGFjdGlvbi5wYXlsb2FkO1xuICAgICAgY29uc3QgYm9va21hcmtFbnRpdGllcyA9IHtcbiAgICAgICAgLi4uc3RhdGUuYm9va21hcmtFbnRpdGllcyxcbiAgICAgICAgW2Jvb2ttYXJrLmlkXTogeyAuLi5ib29rbWFyayB9XG4gICAgICB9O1xuICAgICAgY29uc3QgYm9va21hcmtBcnJheSA9IE9iamVjdC5rZXlzKGJvb2ttYXJrRW50aXRpZXMpLm1hcChrZXkgPT4gYm9va21hcmtFbnRpdGllc1trZXldKTtcbiAgICAgIGNvbnN0IGJvb2ttYXJrUGFnZUVudGl0aWVzID0gU3RvcmVVdGlscy5ncm91cEJ5S2V5RW50aXRpZXMoYm9va21hcmtBcnJheSwgJ3BhZ2VOdW1iZXInKTtcbiAgICAgIGNvbnN0IGVkaXRhYmxlQm9va21hcmsgPSB1bmRlZmluZWQ7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgYm9va21hcmtFbnRpdGllcyxcbiAgICAgICAgZWRpdGFibGVCb29rbWFyayxcbiAgICAgICAgYm9va21hcmtQYWdlRW50aXRpZXMsXG4gICAgICAgIGxvYWRpbmc6IGZhbHNlLFxuICAgICAgICBsb2FkZWQ6IHRydWVcbiAgICAgIH07XG4gICAgfVxuICB9XG4gIHJldHVybiBzdGF0ZTtcbn1cblxuZXhwb3J0IGNvbnN0IGdldEJvb2ttYXJrcyA9IChzdGF0ZTogQm9va21hcmtzU3RhdGUpID0+IHN0YXRlLmJvb2ttYXJrcztcbmV4cG9ydCBjb25zdCBnZXRCb29rbWFya0VudHMgPSAoc3RhdGU6IEJvb2ttYXJrc1N0YXRlKSA9PiBzdGF0ZS5ib29rbWFya0VudGl0aWVzO1xuZXhwb3J0IGNvbnN0IGdldEJvb2ttYXJrUGFnZUVudCA9IChzdGF0ZTogQm9va21hcmtzU3RhdGUpID0+IHN0YXRlLmJvb2ttYXJrUGFnZUVudGl0aWVzO1xuZXhwb3J0IGNvbnN0IGdldEVkaXRCb29rbWFyayA9IChzdGF0ZTogQm9va21hcmtzU3RhdGUpID0+IHN0YXRlLmVkaXRhYmxlQm9va21hcms7XG4iXX0=
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
import * as fromActions from '../actions/document.actions';
|
|
2
|
+
export const initialDocumentState = {
|
|
3
|
+
convertedDocument: undefined,
|
|
4
|
+
documentId: undefined,
|
|
5
|
+
pdfPosition: undefined,
|
|
6
|
+
pages: {},
|
|
7
|
+
hasDifferentPageSize: false,
|
|
8
|
+
rotation: undefined,
|
|
9
|
+
rotationLoaded: false,
|
|
10
|
+
loading: false,
|
|
11
|
+
loaded: false
|
|
12
|
+
};
|
|
13
|
+
export function docReducer(state = initialDocumentState, action) {
|
|
14
|
+
switch (action.type) {
|
|
15
|
+
case fromActions.CONVERT_SUCCESS: {
|
|
16
|
+
const convertedDocument = {
|
|
17
|
+
url: action.payload,
|
|
18
|
+
error: undefined
|
|
19
|
+
};
|
|
20
|
+
return {
|
|
21
|
+
...state,
|
|
22
|
+
convertedDocument
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
case fromActions.CONVERT_FAIL: {
|
|
26
|
+
const convertedDocument = {
|
|
27
|
+
url: undefined,
|
|
28
|
+
error: action.payload
|
|
29
|
+
};
|
|
30
|
+
return {
|
|
31
|
+
...state,
|
|
32
|
+
convertedDocument
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
case fromActions.CLEAR_CONVERT_DOC_URL: {
|
|
36
|
+
const convertedDocument = undefined;
|
|
37
|
+
return {
|
|
38
|
+
...state,
|
|
39
|
+
convertedDocument
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
case fromActions.LOAD_ROTATION: {
|
|
43
|
+
return {
|
|
44
|
+
...state,
|
|
45
|
+
rotationLoaded: false
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
case fromActions.LOAD_ROTATION_SUCCESS: {
|
|
49
|
+
const metadata = action.payload;
|
|
50
|
+
const rotation = metadata ? metadata.rotationAngle : 0;
|
|
51
|
+
return {
|
|
52
|
+
...state,
|
|
53
|
+
rotation,
|
|
54
|
+
rotationLoaded: true
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
case fromActions.LOAD_ROTATION_FAIL: {
|
|
58
|
+
return {
|
|
59
|
+
...state,
|
|
60
|
+
rotation: 0,
|
|
61
|
+
rotationLoaded: true
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
case fromActions.SAVE_ROTATION_SUCCESS: {
|
|
65
|
+
const metadata = action.payload;
|
|
66
|
+
const rotation = metadata.rotationAngle;
|
|
67
|
+
return {
|
|
68
|
+
...state,
|
|
69
|
+
rotation
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
case fromActions.SET_DOCUMENT_ID: {
|
|
73
|
+
return {
|
|
74
|
+
...state,
|
|
75
|
+
documentId: action.payload
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
case fromActions.ADD_PAGES: {
|
|
79
|
+
const payload = action.payload;
|
|
80
|
+
let pages = {};
|
|
81
|
+
let pageHeight;
|
|
82
|
+
let pageWidth;
|
|
83
|
+
let hasDifferentPageSize = state.hasDifferentPageSize;
|
|
84
|
+
payload.forEach(page => {
|
|
85
|
+
if (!hasDifferentPageSize && pageHeight && pageWidth &&
|
|
86
|
+
(pageHeight !== page.div['scrollHeight'] || pageWidth !== page.div['scrollWidth'])) {
|
|
87
|
+
hasDifferentPageSize = true;
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
pageHeight = page.div['scrollHeight'];
|
|
91
|
+
pageWidth = page.div['scrollWidth'];
|
|
92
|
+
}
|
|
93
|
+
const styles = {
|
|
94
|
+
left: page.div['offsetLeft'],
|
|
95
|
+
height: page.div['scrollHeight'],
|
|
96
|
+
width: page.div['scrollWidth']
|
|
97
|
+
};
|
|
98
|
+
const scaleRotation = {
|
|
99
|
+
scale: page.scale,
|
|
100
|
+
rotation: page.rotation
|
|
101
|
+
};
|
|
102
|
+
const p = {
|
|
103
|
+
styles,
|
|
104
|
+
scaleRotation,
|
|
105
|
+
viewportScale: page.viewportScale
|
|
106
|
+
};
|
|
107
|
+
pages = {
|
|
108
|
+
...pages,
|
|
109
|
+
[page.id]: p
|
|
110
|
+
};
|
|
111
|
+
});
|
|
112
|
+
return {
|
|
113
|
+
...state,
|
|
114
|
+
pages,
|
|
115
|
+
hasDifferentPageSize
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
case fromActions.POSITION_UPDATED: {
|
|
119
|
+
const pdfPosition = action.payload;
|
|
120
|
+
return {
|
|
121
|
+
...state,
|
|
122
|
+
pdfPosition
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
return state;
|
|
127
|
+
}
|
|
128
|
+
export const getDocPages = (state) => state.pages;
|
|
129
|
+
export const getDocId = (state) => state.documentId;
|
|
130
|
+
export const getPdfPos = (state) => state.pdfPosition;
|
|
131
|
+
export const getHasDifferentPageSizes = (state) => state.hasDifferentPageSize;
|
|
132
|
+
export const getRotation = (state) => state.rotation;
|
|
133
|
+
export const rotationLoaded = (state) => state.rotationLoaded;
|
|
134
|
+
export const getConvertedDocument = (state) => state.convertedDocument;
|
|
135
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQucmVkdWNlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhLXZpZXdlci9zcmMvbGliL3N0b3JlL3JlZHVjZXJzL2RvY3VtZW50LnJlZHVjZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLFdBQVcsTUFBTSw2QkFBNkIsQ0FBQztBQWdDM0QsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQWtCO0lBQ2pELGlCQUFpQixFQUFFLFNBQVM7SUFDNUIsVUFBVSxFQUFFLFNBQVM7SUFDckIsV0FBVyxFQUFFLFNBQVM7SUFDdEIsS0FBSyxFQUFFLEVBQUU7SUFDVCxvQkFBb0IsRUFBRSxLQUFLO0lBQzNCLFFBQVEsRUFBRSxTQUFTO0lBQ25CLGNBQWMsRUFBRSxLQUFLO0lBQ3JCLE9BQU8sRUFBRSxLQUFLO0lBQ2QsTUFBTSxFQUFFLEtBQUs7Q0FDZCxDQUFDO0FBRUYsTUFBTSxVQUFVLFVBQVUsQ0FBRSxLQUFLLEdBQUcsb0JBQW9CLEVBQzVCLE1BQW1DO0lBRTdELFFBQVEsTUFBTSxDQUFDLElBQUksRUFBRTtRQUVuQixLQUFLLFdBQVcsQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUNoQyxNQUFNLGlCQUFpQixHQUFHO2dCQUN4QixHQUFHLEVBQUUsTUFBTSxDQUFDLE9BQU87Z0JBQ25CLEtBQUssRUFBRSxTQUFTO2FBQ2pCLENBQUM7WUFDRixPQUFPO2dCQUNMLEdBQUcsS0FBSztnQkFDUixpQkFBaUI7YUFDbEIsQ0FBQztTQUNIO1FBRUQsS0FBSyxXQUFXLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDN0IsTUFBTSxpQkFBaUIsR0FBRztnQkFDeEIsR0FBRyxFQUFFLFNBQVM7Z0JBQ2QsS0FBSyxFQUFFLE1BQU0sQ0FBQyxPQUFPO2FBQ3RCLENBQUM7WUFDRixPQUFPO2dCQUNMLEdBQUcsS0FBSztnQkFDUixpQkFBaUI7YUFDbEIsQ0FBQztTQUNIO1FBRUQsS0FB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QUFFLENBQUMsRUFBRSxDQUFDO2lCQUNiLENBQUM7WUFFSixDQUFDLENBQUMsQ0FBQztZQUNILE9BQU87Z0JBQ0wsR0FBRyxLQUFLO2dCQUNSLEtBQUs7Z0JBQ0wsb0JBQW9CO2FBQ3JCLENBQUM7U0FDSDtRQUVELEtBQUssV0FBVyxDQUFDLGdCQUFnQixDQUFDLENBQUM7WUFDakMsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQztZQUNuQyxPQUFPO2dCQUNMLEdBQUcsS0FBSztnQkFDUixXQUFXO2FBQ1osQ0FBQztTQUNIO0tBQ0Y7SUFDRCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUM7QUFDRCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxLQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDO0FBQ2pFLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxDQUFDLEtBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUM7QUFDbkUsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLENBQUMsS0FBb0IsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQztBQUNyRSxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxDQUFDLEtBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQztBQUM3RixNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxLQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDO0FBQ3BFLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxDQUFDLEtBQW9CLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUM7QUFDN0UsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsQ0FBQyxLQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBmcm9tQWN0aW9ucyBmcm9tICcuLi9hY3Rpb25zL2RvY3VtZW50LmFjdGlvbnMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIERvY3VtZW50U3RhdGUge1xuICBjb252ZXJ0ZWREb2N1bWVudDoge1xuICAgIHVybDogc3RyaW5nO1xuICAgIGVycm9yOiBzdHJpbmc7XG4gIH07XG4gIGRvY3VtZW50SWQ6IHN0cmluZztcbiAgcGRmUG9zaXRpb246IFBkZlBvc2l0aW9uO1xuICBwYWdlczoge1tpZDogc3RyaW5nXTogRG9jdW1lbnRQYWdlc307XG4gIGhhc0RpZmZlcmVudFBhZ2VTaXplOiBib29sZWFuO1xuICByb3RhdGlvbjogbnVtYmVyO1xuICByb3RhdGlvbkxvYWRlZDogYm9vbGVhbjtcbiAgbG9hZGVkOiBib29sZWFuO1xuICBsb2FkaW5nOiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERvY3VtZW50UGFnZXMge1xuIG51bWJlck9mUGFnZXM6IG51bWJlcjtcbiBzdHlsZXM6IHsgbGVmdDogbnVtYmVyLCBoZWlnaHQ6IG51bWJlciwgd2lkdGg6IG51bWJlciB9O1xuIHNjYWxlUm90YXRpb246IHsgc2NhbGU6IHN0cmluZzsgcm90YXRpb246IHN0cmluZyB9O1xuIHZpZXdwb3J0U2NhbGU6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQZGZQb3NpdGlvbiB7XG4gIHBhZ2VOdW1iZXI6IG51bWJlcjtcbiAgc2NhbGU6IG51bWJlcjtcbiAgdG9wOiBudW1iZXI7XG4gIGxlZnQ6IG51bWJlcjtcbiAgcm90YXRpb246IG51bWJlcjtcbn1cblxuZXhwb3J0IGNvbnN0IGluaXRpYWxEb2N1bWVudFN0YXRlOiBEb2N1bWVudFN0YXRlID0ge1xuICBjb252ZXJ0ZWREb2N1bWVudDogdW5kZWZpbmVkLFxuICBkb2N1bWVudElkOiB1bmRlZmluZWQsXG4gIHBkZlBvc2l0aW9uOiB1bmRlZmluZWQsXG4gIHBhZ2VzOiB7fSxcbiAgaGFzRGlmZmVyZW50UGFnZVNpemU6IGZhbHNlLFxuICByb3RhdGlvbjogdW5kZWZpbmVkLFxuICByb3RhdGlvbkxvYWRlZDogZmFsc2UsXG4gIGxvYWRpbmc6IGZhbHNlLFxuICBsb2FkZWQ6IGZhbHNlXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gZG9jUmVkdWNlciAoc3RhdGUgPSBpbml0aWFsRG9jdW1lbnRTdGF0ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb246IGZyb21BY3Rpb25zLkRvY3VtZW50QWN0aW9ucyk6IERvY3VtZW50U3RhdGUge1xuXG4gIHN3aXRjaCAoYWN0aW9uLnR5cGUpIHtcblxuICAgIGNhc2UgZnJvbUFjdGlvbnMuQ09OVkVSVF9TVUNDRVNTOiB7XG4gICAgICBjb25zdCBjb252ZXJ0ZWREb2N1bWVudCA9IHtcbiAgICAgICAgdXJsOiBhY3Rpb24ucGF5bG9hZCxcbiAgICAgICAgZXJyb3I6IHVuZGVmaW5lZFxuICAgICAgfTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBjb252ZXJ0ZWREb2N1bWVudFxuICAgICAgfTtcbiAgICB9XG5cbiAgICBjYXNlIGZyb21BY3Rpb25zLkNPTlZFUlRfRkFJTDoge1xuICAgICAgY29uc3QgY29udmVydGVkRG9jdW1lbnQgPSB7XG4gICAgICAgIHVybDogdW5kZWZpbmVkLFxuICAgICAgICBlcnJvcjogYWN0aW9uLnBheWxvYWRcbiAgICAgIH07XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgY29udmVydGVkRG9jdW1lbnRcbiAgICAgIH07XG4gICAgfVxuXG4gICAgY2FzZSBmcm9tQWN0aW9ucy5DTEVBUl9DT05WRVJUX0RPQ19VUkw6IHtcbiAgICAgIGNvbnN0IGNvbnZlcnRlZERvY3VtZW50ID0gdW5kZWZpbmVkO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIGNvbnZlcnRlZERvY3VtZW50XG4gICAgICB9O1xuICAgIH1cblxuICAgIGNhc2UgZnJvbUFjdGlvbnMuTE9BRF9ST1RBVElPTjoge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIHJvdGF0aW9uTG9hZGVkOiBmYWxzZVxuICAgICAgfTtcbiAgICB9XG5cbiAgICBjYXNlIGZyb21BY3Rpb25zLkxPQURfUk9UQVRJT05fU1VDQ0VTUzoge1xuICAgICAgY29uc3QgbWV0YWRhdGEgPSBhY3Rpb24ucGF5bG9hZDtcbiAgICAgIGNvbnN0IHJvdGF0aW9uID0gbWV0YWRhdGEgPyBtZXRhZGF0YS5yb3RhdGlvbkFuZ2xlIDogMDtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICByb3RhdGlvbixcbiAgICAgICAgcm90YXRpb25Mb2FkZWQ6IHRydWVcbiAgICAgIH07XG4gICAgfVxuXG4gICAgY2FzZSBmcm9tQWN0aW9ucy5MT0FEX1JPVEFUSU9OX0ZBSUw6IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICByb3RhdGlvbjogMCxcbiAgICAgICAgcm90YXRpb25Mb2FkZWQ6IHRydWVcbiAgICAgIH07XG4gICAgfVxuXG4gICAgY2FzZSBmcm9tQWN0aW9ucy5TQVZFX1JPVEFUSU9OX1NVQ0NFU1M6IHtcbiAgICAgIGNvbnN0IG1ldGFkYXRhID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgICBjb25zdCByb3RhdGlvbiA9IG1ldGFkYXRhLnJvdGF0aW9uQW5nbGU7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgcm90YXRpb25cbiAgICAgIH07XG4gICAgfVxuXG4gICAgY2FzZSBmcm9tQWN0aW9ucy5TRVRfRE9DVU1FTlRfSUQgOiB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgZG9jdW1lbnRJZDogYWN0aW9uLnBheWxvYWRcbiAgICAgIH07XG4gICAgfVxuXG4gICAgY2FzZSBmcm9tQWN0aW9ucy5BRERfUEFHRVM6IHtcbiAgICAgIGNvbnN0IHBheWxvYWQgPSBhY3Rpb24ucGF5bG9hZDtcbiAgICAgIGxldCBwYWdlcyA9IHt9O1xuICAgICAgbGV0IHBhZ2VIZWlnaHQ7XG4gICAgICBsZXQgcGFnZVdpZHRoO1xuICAgICAgbGV0IGhhc0RpZmZlcmVudFBhZ2VTaXplID0gc3RhdGUuaGFzRGlmZmVyZW50UGFnZVNpemU7XG4gICAgICBwYXlsb2FkLmZvckVhY2gocGFnZSA9PiB7XG4gICAgICAgIGlmICghaGFzRGlmZmVyZW50UGFnZVNpemUgJiYgcGFnZUhlaWdodCAmJiBwYWdlV2lkdGggJiZcbiAgICAgICAgICAocGFnZUhlaWdodCAhPT0gcGFnZS5kaXZbJ3Njcm9sbEhlaWdodCddIHx8IHBhZ2VXaWR0aCAhPT0gcGFnZS5kaXZbJ3Njcm9sbFdpZHRoJ10pKSB7XG4gICAgICAgICAgICBoYXNEaWZmZXJlbnRQYWdlU2l6ZSA9IHRydWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcGFnZUhlaWdodCA9IHBhZ2UuZGl2WydzY3JvbGxIZWlnaHQnXTtcbiAgICAgICAgICBwYWdlV2lkdGggPSBwYWdlLmRpdlsnc2Nyb2xsV2lkdGgnXTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBzdHlsZXMgPSB7XG4gICAgICAgICAgbGVmdDogcGFnZS5kaXZbJ29mZnNldExlZnQnXSxcbiAgICAgICAgICBoZWlnaHQ6IHBhZ2UuZGl2WydzY3JvbGxIZWlnaHQnXSxcbiAgICAgICAgICB3aWR0aDogcGFnZS5kaXZbJ3Njcm9sbFdpZHRoJ11cbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCBzY2FsZVJvdGF0aW9uID0ge1xuICAgICAgICAgIHNjYWxlOiBwYWdlLnNjYWxlLFxuICAgICAgICAgIHJvdGF0aW9uOiBwYWdlLnJvdGF0aW9uXG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3QgcCA9IHtcbiAgICAgICAgICBzdHlsZXMsXG4gICAgICAgICAgc2NhbGVSb3RhdGlvbixcbiAgICAgICAgICB2aWV3cG9ydFNjYWxlOiBwYWdlLnZpZXdwb3J0U2NhbGVcbiAgICAgICAgfTtcblxuICAgICAgICBwYWdlcyA9IHtcbiAgICAgICAgICAuLi5wYWdlcyxcbiAgICAgICAgICBbcGFnZS5pZF06IHBcbiAgICAgICAgfTtcblxuICAgICAgfSk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgcGFnZXMsXG4gICAgICAgIGhhc0RpZmZlcmVudFBhZ2VTaXplXG4gICAgICB9O1xuICAgIH1cblxuICAgIGNhc2UgZnJvbUFjdGlvbnMuUE9TSVRJT05fVVBEQVRFRDoge1xuICAgICAgY29uc3QgcGRmUG9zaXRpb24gPSBhY3Rpb24ucGF5bG9hZDtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBwZGZQb3NpdGlvblxuICAgICAgfTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHN0YXRlO1xufVxuZXhwb3J0IGNvbnN0IGdldERvY1BhZ2VzID0gKHN0YXRlOiBEb2N1bWVudFN0YXRlKSA9PiBzdGF0ZS5wYWdlcztcbmV4cG9ydCBjb25zdCBnZXREb2NJZCA9IChzdGF0ZTogRG9jdW1lbnRTdGF0ZSkgPT4gc3RhdGUuZG9jdW1lbnRJZDtcbmV4cG9ydCBjb25zdCBnZXRQZGZQb3MgPSAoc3RhdGU6IERvY3VtZW50U3RhdGUpID0+IHN0YXRlLnBkZlBvc2l0aW9uO1xuZXhwb3J0IGNvbnN0IGdldEhhc0RpZmZlcmVudFBhZ2VTaXplcyA9IChzdGF0ZTogRG9jdW1lbnRTdGF0ZSkgPT4gc3RhdGUuaGFzRGlmZmVyZW50UGFnZVNpemU7XG5leHBvcnQgY29uc3QgZ2V0Um90YXRpb24gPSAoc3RhdGU6IERvY3VtZW50U3RhdGUpID0+IHN0YXRlLnJvdGF0aW9uO1xuZXhwb3J0IGNvbnN0IHJvdGF0aW9uTG9hZGVkID0gKHN0YXRlOiBEb2N1bWVudFN0YXRlKSA9PiBzdGF0ZS5yb3RhdGlvbkxvYWRlZDtcbmV4cG9ydCBjb25zdCBnZXRDb252ZXJ0ZWREb2N1bWVudCA9IChzdGF0ZTogRG9jdW1lbnRTdGF0ZSkgPT4gc3RhdGUuY29udmVydGVkRG9jdW1lbnQ7XG4iXX0=
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import * as fromIcpActions from '../actions/icp.actions';
|
|
2
|
+
export const initialIcpSessionState = {
|
|
3
|
+
session: null,
|
|
4
|
+
presenter: null,
|
|
5
|
+
client: null,
|
|
6
|
+
participants: []
|
|
7
|
+
};
|
|
8
|
+
export function icpReducer(state = initialIcpSessionState, action) {
|
|
9
|
+
switch (action.type) {
|
|
10
|
+
case fromIcpActions.SET_CASE_ID: {
|
|
11
|
+
const caseId = action.payload;
|
|
12
|
+
const session = { ...state.session, caseId };
|
|
13
|
+
return {
|
|
14
|
+
...state,
|
|
15
|
+
session
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
case fromIcpActions.ICP_SOCKET_SESSION_JOINED: {
|
|
19
|
+
const session = action.payload.session;
|
|
20
|
+
const participantInfo = action.payload.participantInfo;
|
|
21
|
+
return {
|
|
22
|
+
...state,
|
|
23
|
+
session,
|
|
24
|
+
client: participantInfo.client,
|
|
25
|
+
presenter: participantInfo.presenter,
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
case fromIcpActions.ICP_PARTICIPANT_LIST_UPDATED: {
|
|
29
|
+
const updatedParticipants = action.payload;
|
|
30
|
+
const participants = Object.keys(updatedParticipants)
|
|
31
|
+
.map(id => ({ id: id, username: updatedParticipants[id] }));
|
|
32
|
+
return {
|
|
33
|
+
...state,
|
|
34
|
+
participants
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
case fromIcpActions.ICP_PRESENTER_UPDATED: {
|
|
38
|
+
const presenter = action.payload;
|
|
39
|
+
return {
|
|
40
|
+
...state, presenter
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
case fromIcpActions.LEAVE_ICP_SOCKET_SESSION: {
|
|
44
|
+
return {
|
|
45
|
+
...state,
|
|
46
|
+
...initialIcpSessionState
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
return state;
|
|
51
|
+
}
|
|
52
|
+
export const getIcpSession = (state) => state.session;
|
|
53
|
+
export const getPresenter = (state) => state.presenter;
|
|
54
|
+
export const getClient = (state) => state.client;
|
|
55
|
+
export const getParticipants = (state) => state.participants;
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNwLnJlZHVjZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYS12aWV3ZXIvc3JjL2xpYi9zdG9yZS9yZWR1Y2Vycy9pY3AucmVkdWNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssY0FBYyxNQUFNLHdCQUF3QixDQUFDO0FBR3pELE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFhO0lBQzlDLE9BQU8sRUFBRSxJQUFJO0lBQ2IsU0FBUyxFQUFFLElBQUk7SUFDZixNQUFNLEVBQUUsSUFBSTtJQUNaLFlBQVksRUFBRSxFQUFFO0NBQ2pCLENBQUM7QUFFRixNQUFNLFVBQVUsVUFBVSxDQUFFLEtBQUssR0FBRyxzQkFBc0IsRUFDeEIsTUFBaUM7SUFFakUsUUFBUSxNQUFNLENBQUMsSUFBSSxFQUFFO1FBRW5CLEtBQUssY0FBYyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQy9CLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUM7WUFDOUIsTUFBTSxPQUFPLEdBQUcsRUFBQyxHQUFHLEtBQUssQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFDLENBQUM7WUFDM0MsT0FBTztnQkFDTCxHQUFHLEtBQUs7Z0JBQ1IsT0FBTzthQUNSLENBQUM7U0FDSDtRQUVELEtBQUssY0FBYyxDQUFDLHlCQUF5QixDQUFDLENBQUM7WUFDN0MsTUFBTSxPQUFPLEdBQWUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUM7WUFDbkQsTUFBTSxlQUFlLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUM7WUFDdkQsT0FBTztnQkFDTCxHQUFHLEtBQUs7Z0JBQ1IsT0FBTztnQkFDUCxNQUFNLEVBQUUsZUFBZSxDQUFDLE1BQU07Z0JBQzlCLFNBQVMsRUFBRSxlQUFlLENBQUMsU0FBUzthQUNyQyxDQUFDO1NBQ0g7UUFFRCxLQUFLLGNBQWMsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO1lBQ2hELE1BQU0sbUJBQW1CLEdBQVEsTUFBTSxDQUFDLE9BQU8sQ0FBQztZQUNoRCxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDO2lCQUNsRCxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsbUJBQW1CLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDOUQsT0FBTztnQkFDTCxHQUFHLEtBQUs7Z0JBQ1IsWUFBWTthQUNiLENBQUM7U0FDSDtRQUVELEtBQUssY0FBYyxDQUFDLHFCQUFxQixDQUFDLENBQUM7WUFDekMsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQztZQUNqQyxPQUFPO2dCQUNMLEdBQUcsS0FBSyxFQUFFLFNBQVM7YUFDcEIsQ0FBQztTQUNIO1FBRUQsS0FBSyxjQUFjLENBQUMsd0JBQXdCLENBQUMsQ0FBQztZQUM1QyxPQUFPO2dCQUNMLEdBQUcsS0FBSztnQkFDUixHQUFHLHNCQUFzQjthQUMxQixDQUFDO1NBQ0g7S0FDRjtJQUNELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxDQUFDLEtBQWUsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQztBQUNoRSxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxLQUFlLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUM7QUFDakUsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLENBQUMsS0FBZSxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO0FBQzNELE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUFDLEtBQWUsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGZyb21JY3BBY3Rpb25zIGZyb20gJy4uL2FjdGlvbnMvaWNwLmFjdGlvbnMnO1xuaW1wb3J0IHsgSWNwU2Vzc2lvbiwgSWNwU3RhdGUgfSBmcm9tICcuLi8uLi9pY3AvaWNwLmludGVyZmFjZXMnO1xuXG5leHBvcnQgY29uc3QgaW5pdGlhbEljcFNlc3Npb25TdGF0ZTogSWNwU3RhdGUgPSB7XG4gIHNlc3Npb246IG51bGwsXG4gIHByZXNlbnRlcjogbnVsbCxcbiAgY2xpZW50OiBudWxsLFxuICBwYXJ0aWNpcGFudHM6IFtdXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gaWNwUmVkdWNlciAoc3RhdGUgPSBpbml0aWFsSWNwU2Vzc2lvblN0YXRlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbjogZnJvbUljcEFjdGlvbnMuSWNwQWN0aW9ucyk6IEljcFN0YXRlIHtcblxuICBzd2l0Y2ggKGFjdGlvbi50eXBlKSB7XG5cbiAgICBjYXNlIGZyb21JY3BBY3Rpb25zLlNFVF9DQVNFX0lEOiB7XG4gICAgICBjb25zdCBjYXNlSWQgPSBhY3Rpb24ucGF5bG9hZDtcbiAgICAgIGNvbnN0IHNlc3Npb24gPSB7Li4uc3RhdGUuc2Vzc2lvbiwgY2FzZUlkfTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBzZXNzaW9uXG4gICAgICB9O1xuICAgIH1cblxuICAgIGNhc2UgZnJvbUljcEFjdGlvbnMuSUNQX1NPQ0tFVF9TRVNTSU9OX0pPSU5FRDoge1xuICAgICAgY29uc3Qgc2Vzc2lvbjogSWNwU2Vzc2lvbiA9IGFjdGlvbi5wYXlsb2FkLnNlc3Npb247XG4gICAgICBjb25zdCBwYXJ0aWNpcGFudEluZm8gPSBhY3Rpb24ucGF5bG9hZC5wYXJ0aWNpcGFudEluZm87XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgc2Vzc2lvbixcbiAgICAgICAgY2xpZW50OiBwYXJ0aWNpcGFudEluZm8uY2xpZW50LFxuICAgICAgICBwcmVzZW50ZXI6IHBhcnRpY2lwYW50SW5mby5wcmVzZW50ZXIsXG4gICAgICB9O1xuICAgIH1cblxuICAgIGNhc2UgZnJvbUljcEFjdGlvbnMuSUNQX1BBUlRJQ0lQQU5UX0xJU1RfVVBEQVRFRDoge1xuICAgICAgY29uc3QgdXBkYXRlZFBhcnRpY2lwYW50czogYW55ID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgICBjb25zdCBwYXJ0aWNpcGFudHMgPSBPYmplY3Qua2V5cyh1cGRhdGVkUGFydGljaXBhbnRzKVxuICAgICAgICAubWFwKGlkID0+ICh7IGlkOiBpZCwgdXNlcm5hbWU6IHVwZGF0ZWRQYXJ0aWNpcGFudHNbaWRdIH0pKTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBwYXJ0aWNpcGFudHNcbiAgICAgIH07XG4gICAgfVxuXG4gICAgY2FzZSBmcm9tSWNwQWN0aW9ucy5JQ1BfUFJFU0VOVEVSX1VQREFURUQ6IHtcbiAgICAgIGNvbnN0IHByZXNlbnRlciA9IGFjdGlvbi5wYXlsb2FkO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsIHByZXNlbnRlclxuICAgICAgfTtcbiAgICB9XG5cbiAgICBjYXNlIGZyb21JY3BBY3Rpb25zLkxFQVZFX0lDUF9TT0NLRVRfU0VTU0lPTjoge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIC4uLmluaXRpYWxJY3BTZXNzaW9uU3RhdGVcbiAgICAgIH07XG4gICAgfVxuICB9XG4gIHJldHVybiBzdGF0ZTtcbn1cblxuZXhwb3J0IGNvbnN0IGdldEljcFNlc3Npb24gPSAoc3RhdGU6IEljcFN0YXRlKSA9PiBzdGF0ZS5zZXNzaW9uO1xuZXhwb3J0IGNvbnN0IGdldFByZXNlbnRlciA9IChzdGF0ZTogSWNwU3RhdGUpID0+IHN0YXRlLnByZXNlbnRlcjtcbmV4cG9ydCBjb25zdCBnZXRDbGllbnQgPSAoc3RhdGU6IEljcFN0YXRlKSA9PiBzdGF0ZS5jbGllbnQ7XG5leHBvcnQgY29uc3QgZ2V0UGFydGljaXBhbnRzID0gKHN0YXRlOiBJY3BTdGF0ZSkgPT4gc3RhdGUucGFydGljaXBhbnRzO1xuIl19
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import * as fromRedaction from '../actions/redaction.actions';
|
|
2
|
+
import * as fromAnnotations from '../actions/annotation.actions';
|
|
3
|
+
import { StoreUtils } from '../store-utils';
|
|
4
|
+
export const initialRedactionState = {
|
|
5
|
+
redactionEntities: {},
|
|
6
|
+
redactionPageEntities: {},
|
|
7
|
+
selectedRedaction: {},
|
|
8
|
+
redactedDocumentInfo: undefined,
|
|
9
|
+
documentId: undefined
|
|
10
|
+
};
|
|
11
|
+
export function redactionReducer(state = initialRedactionState, action) {
|
|
12
|
+
switch (action.type) {
|
|
13
|
+
case fromRedaction.LOAD_REDACTIONS: {
|
|
14
|
+
return {
|
|
15
|
+
...state,
|
|
16
|
+
...initialRedactionState
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
case fromRedaction.LOAD_REDACTION_SUCCESS: {
|
|
20
|
+
const payload = action.payload;
|
|
21
|
+
if (payload) {
|
|
22
|
+
const redactionEntities = StoreUtils.generateRedactionEntities(payload);
|
|
23
|
+
const redactionPageEntities = StoreUtils.groupByKeyEntities(payload, 'page');
|
|
24
|
+
return {
|
|
25
|
+
...state,
|
|
26
|
+
redactionEntities,
|
|
27
|
+
redactionPageEntities
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
return {
|
|
31
|
+
...state
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
case fromRedaction.SAVE_REDACTION_SUCCESS: {
|
|
35
|
+
const { payload } = action;
|
|
36
|
+
const redactionEntities = {
|
|
37
|
+
...state.redactionEntities,
|
|
38
|
+
[payload.redactionId]: payload
|
|
39
|
+
};
|
|
40
|
+
const redactionArray = Object.keys(redactionEntities).map(key => redactionEntities[key]);
|
|
41
|
+
const redactionPageEntities = StoreUtils.groupByKeyEntities(redactionArray, 'page');
|
|
42
|
+
return {
|
|
43
|
+
...state,
|
|
44
|
+
redactionEntities,
|
|
45
|
+
redactionPageEntities
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
case fromRedaction.SAVE_BULK_REDACTION_SUCCESS: {
|
|
49
|
+
const payloadResult = Object.assign({}, ...action.payload.searchRedactions.map((x) => ({ [x.redactionId]: x })));
|
|
50
|
+
const redactionEntities = {
|
|
51
|
+
...state.redactionEntities,
|
|
52
|
+
...payloadResult
|
|
53
|
+
};
|
|
54
|
+
const redactionArray = Object.keys(redactionEntities).map(key => redactionEntities[key]);
|
|
55
|
+
const redactionPageEntities = StoreUtils.groupByKeyEntities(redactionArray, 'page');
|
|
56
|
+
return {
|
|
57
|
+
...state,
|
|
58
|
+
redactionEntities,
|
|
59
|
+
redactionPageEntities
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
case fromRedaction.SELECT_REDACTION:
|
|
63
|
+
case fromAnnotations.SELECT_ANNOTATION: {
|
|
64
|
+
return {
|
|
65
|
+
...state,
|
|
66
|
+
selectedRedaction: action.payload
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
case fromRedaction.DELETE_REDACTION_SUCCESS: {
|
|
70
|
+
const page = action.payload.page;
|
|
71
|
+
const id = action.payload.redactionId;
|
|
72
|
+
const redactionEntities = {
|
|
73
|
+
...state.redactionEntities
|
|
74
|
+
};
|
|
75
|
+
delete redactionEntities[id];
|
|
76
|
+
const pageRedactionRemoved = [
|
|
77
|
+
...state.redactionPageEntities[page].filter(redaction => redaction.redactionId !== id)
|
|
78
|
+
];
|
|
79
|
+
const redactionPageEntities = {
|
|
80
|
+
...state.redactionPageEntities,
|
|
81
|
+
[page]: pageRedactionRemoved
|
|
82
|
+
};
|
|
83
|
+
return {
|
|
84
|
+
...state,
|
|
85
|
+
redactionPageEntities,
|
|
86
|
+
redactionEntities,
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
case fromRedaction.REDACT_SUCCESS: {
|
|
90
|
+
const redactedDocumentInfo = action.payload;
|
|
91
|
+
return {
|
|
92
|
+
...state,
|
|
93
|
+
...initialRedactionState,
|
|
94
|
+
redactedDocumentInfo
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
case fromRedaction.RESET_REDACTED_DOCUMENT: {
|
|
98
|
+
return {
|
|
99
|
+
...state,
|
|
100
|
+
redactedDocumentInfo: undefined
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
case fromRedaction.UNMARK_ALL_SUCCESS: {
|
|
104
|
+
return {
|
|
105
|
+
...state,
|
|
106
|
+
...initialRedactionState
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
return state;
|
|
111
|
+
}
|
|
112
|
+
export const getRedactionEnt = (state) => state.redactionEntities;
|
|
113
|
+
export const getPageEnt = (state) => state.redactionPageEntities;
|
|
114
|
+
export const getSelectedRedaction = (state) => state.selectedRedaction;
|
|
115
|
+
export const getRedactedDocInfo = (state) => state.redactedDocumentInfo;
|
|
116
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkYWN0aW9uLnJlZHVjZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYS12aWV3ZXIvc3JjL2xpYi9zdG9yZS9yZWR1Y2Vycy9yZWRhY3Rpb24ucmVkdWNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssYUFBYSxNQUFNLDhCQUE4QixDQUFDO0FBQzlELE9BQU8sS0FBSyxlQUFlLE1BQU0sK0JBQStCLENBQUM7QUFDakUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBYTVDLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFtQjtJQUNuRCxpQkFBaUIsRUFBRSxFQUFFO0lBQ3JCLHFCQUFxQixFQUFFLEVBQUU7SUFDekIsaUJBQWlCLEVBQUUsRUFBRTtJQUNyQixvQkFBb0IsRUFBRSxTQUFTO0lBQy9CLFVBQVUsRUFBRSxTQUFTO0NBQ3RCLENBQUM7QUFFRixNQUFNLFVBQVUsZ0JBQWdCLENBQzlCLEtBQUssR0FBRyxxQkFBcUIsRUFDN0IsTUFBMkU7SUFFM0UsUUFBUSxNQUFNLENBQUMsSUFBSSxFQUFFO1FBRW5CLEtBQUssYUFBYSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQ2xDLE9BQU87Z0JBQ0wsR0FBRyxLQUFLO2dCQUNSLEdBQUcscUJBQXFCO2FBQ3pCLENBQUM7U0FDSDtRQUVELEtBQUssYUFBYSxDQUFDLHNCQUFzQixDQUFDLENBQUM7WUFDekMsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQztZQUMvQixJQUFJLE9BQU8sRUFBRTtnQkFDWCxNQUFNLGlCQUFpQixHQUFHLFVBQVUsQ0FBQyx5QkFBeUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDeEUsTUFBTSxxQkFBcUIsR0FBRyxVQUFVLENBQUMsa0JBQWtCLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO2dCQUM3RSxPQUFPO29CQUNMLEdBQUcsS0FBSztv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QWEsQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUNqQyxNQUFNLG9CQUFvQixHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUM7WUFDNUMsT0FBTztnQkFDTCxHQUFHLEtBQUs7Z0JBQ1IsR0FBRyxxQkFBcUI7Z0JBQ3hCLG9CQUFvQjthQUNyQixDQUFDO1NBQ0g7UUFFRCxLQUFLLGFBQWEsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1lBQzFDLE9BQU87Z0JBQ0wsR0FBRyxLQUFLO2dCQUNSLG9CQUFvQixFQUFFLFNBQVM7YUFDaEMsQ0FBQztTQUNIO1FBRUQsS0FBSyxhQUFhLENBQUMsa0JBQWtCLENBQUMsQ0FBQztZQUNyQyxPQUFPO2dCQUNMLEdBQUcsS0FBSztnQkFDUixHQUFHLHFCQUFxQjthQUN6QixDQUFDO1NBQ0g7S0FDRjtJQUVELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQztBQUdELE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUFDLEtBQXFCLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQztBQUNsRixNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsQ0FBQyxLQUFxQixFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMscUJBQXFCLENBQUM7QUFDakYsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsQ0FBQyxLQUFxQixFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUM7QUFDdkYsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxLQUFxQixFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsb0JBQW9CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgKiBhcyBmcm9tUmVkYWN0aW9uIGZyb20gJy4uL2FjdGlvbnMvcmVkYWN0aW9uLmFjdGlvbnMnO1xuaW1wb3J0ICogYXMgZnJvbUFubm90YXRpb25zIGZyb20gJy4uL2FjdGlvbnMvYW5ub3RhdGlvbi5hY3Rpb25zJztcbmltcG9ydCB7IFN0b3JlVXRpbHMgfSBmcm9tICcuLi9zdG9yZS11dGlscyc7XG5pbXBvcnQgeyBTZWxlY3Rpb25Bbm5vdGF0aW9uIH0gZnJvbSAnLi4vLi4vYW5ub3RhdGlvbnMvbW9kZWxzL2V2ZW50LXNlbGVjdC5tb2RlbCc7XG5pbXBvcnQgeyBSZWRhY3Rpb24gfSBmcm9tICcuLi8uLi9yZWRhY3Rpb24vc2VydmljZXMvcmVkYWN0aW9uLm1vZGVsJzsgLy8gdG9kbyByZW5hbWVcblxuXG5leHBvcnQgaW50ZXJmYWNlIFJlZGFjdGlvblN0YXRlIHtcbiAgcmVkYWN0aW9uRW50aXRpZXM6IHsgW2lkOiBzdHJpbmddOiBSZWRhY3Rpb24gfTtcbiAgcmVkYWN0aW9uUGFnZUVudGl0aWVzOiB7IFtpZDogc3RyaW5nXTogYW55IH07XG4gIHNlbGVjdGVkUmVkYWN0aW9uOiBTZWxlY3Rpb25Bbm5vdGF0aW9uIHwge307XG4gIHJlZGFjdGVkRG9jdW1lbnRJbmZvOiB7IGJsb2I6IEJsb2IsIGZpbGVuYW1lOiBzdHJpbmcgfTtcbiAgZG9jdW1lbnRJZDogc3RyaW5nO1xufVxuXG5leHBvcnQgY29uc3QgaW5pdGlhbFJlZGFjdGlvblN0YXRlOiBSZWRhY3Rpb25TdGF0ZSA9IHtcbiAgcmVkYWN0aW9uRW50aXRpZXM6IHt9LFxuICByZWRhY3Rpb25QYWdlRW50aXRpZXM6IHt9LFxuICBzZWxlY3RlZFJlZGFjdGlvbjoge30sXG4gIHJlZGFjdGVkRG9jdW1lbnRJbmZvOiB1bmRlZmluZWQsXG4gIGRvY3VtZW50SWQ6IHVuZGVmaW5lZFxufTtcblxuZXhwb3J0IGZ1bmN0aW9uIHJlZGFjdGlvblJlZHVjZXIoXG4gIHN0YXRlID0gaW5pdGlhbFJlZGFjdGlvblN0YXRlLFxuICBhY3Rpb246IGZyb21SZWRhY3Rpb24uUmVkYWN0aW9uQWN0aW9ucyB8IGZyb21Bbm5vdGF0aW9ucy5Bbm5vdGF0aW9uc0FjdGlvbnNcbik6IFJlZGFjdGlvblN0YXRlIHtcbiAgc3dpdGNoIChhY3Rpb24udHlwZSkge1xuXG4gICAgY2FzZSBmcm9tUmVkYWN0aW9uLkxPQURfUkVEQUNUSU9OUzoge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIC4uLmluaXRpYWxSZWRhY3Rpb25TdGF0ZVxuICAgICAgfTtcbiAgICB9XG5cbiAgICBjYXNlIGZyb21SZWRhY3Rpb24uTE9BRF9SRURBQ1RJT05fU1VDQ0VTUzoge1xuICAgICAgY29uc3QgcGF5bG9hZCA9IGFjdGlvbi5wYXlsb2FkO1xuICAgICAgaWYgKHBheWxvYWQpIHtcbiAgICAgICAgY29uc3QgcmVkYWN0aW9uRW50aXRpZXMgPSBTdG9yZVV0aWxzLmdlbmVyYXRlUmVkYWN0aW9uRW50aXRpZXMocGF5bG9hZCk7XG4gICAgICAgIGNvbnN0IHJlZGFjdGlvblBhZ2VFbnRpdGllcyA9IFN0b3JlVXRpbHMuZ3JvdXBCeUtleUVudGl0aWVzKHBheWxvYWQsICdwYWdlJyk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgICAgcmVkYWN0aW9uRW50aXRpZXMsXG4gICAgICAgICAgcmVkYWN0aW9uUGFnZUVudGl0aWVzXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZVxuICAgICAgfTtcbiAgICB9XG5cbiAgICBjYXNlIGZyb21SZWRhY3Rpb24uU0FWRV9SRURBQ1RJT05fU1VDQ0VTUzoge1xuICAgICAgY29uc3QgeyBwYXlsb2FkIH0gPSBhY3Rpb247XG4gICAgICBjb25zdCByZWRhY3Rpb25FbnRpdGllcyA9IHtcbiAgICAgICAgLi4uc3RhdGUucmVkYWN0aW9uRW50aXRpZXMsXG4gICAgICAgIFtwYXlsb2FkLnJlZGFjdGlvbklkXTogcGF5bG9hZFxuICAgICAgfTtcbiAgICAgIGNvbnN0IHJlZGFjdGlvbkFycmF5ID0gT2JqZWN0LmtleXMocmVkYWN0aW9uRW50aXRpZXMpLm1hcChrZXkgPT4gcmVkYWN0aW9uRW50aXRpZXNba2V5XSk7XG4gICAgICBjb25zdCByZWRhY3Rpb25QYWdlRW50aXRpZXMgPSBTdG9yZVV0aWxzLmdyb3VwQnlLZXlFbnRpdGllcyhyZWRhY3Rpb25BcnJheSwgJ3BhZ2UnKTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICByZWRhY3Rpb25FbnRpdGllcyxcbiAgICAgICAgcmVkYWN0aW9uUGFnZUVudGl0aWVzXG4gICAgICB9O1xuICAgIH1cbiAgICBjYXNlIGZyb21SZWRhY3Rpb24uU0FWRV9CVUxLX1JFREFDVElPTl9TVUNDRVNTOiB7XG4gICAgICBjb25zdCBwYXlsb2FkUmVzdWx0ID0gT2JqZWN0LmFzc2lnbih7fSwgLi4uYWN0aW9uLnBheWxvYWQuc2VhcmNoUmVkYWN0aW9ucy5tYXAoKHgpID0+ICh7IFt4LnJlZGFjdGlvbklkXTogeCB9KSkpO1xuICAgICAgY29uc3QgcmVkYWN0aW9uRW50aXRpZXMgPSB7XG4gICAgICAgIC4uLnN0YXRlLnJlZGFjdGlvbkVudGl0aWVzLFxuICAgICAgICAuLi5wYXlsb2FkUmVzdWx0XG4gICAgICB9O1xuICAgICAgY29uc3QgcmVkYWN0aW9uQXJyYXkgPSBPYmplY3Qua2V5cyhyZWRhY3Rpb25FbnRpdGllcykubWFwKGtleSA9PiByZWRhY3Rpb25FbnRpdGllc1trZXldKTtcbiAgICAgIGNvbnN0IHJlZGFjdGlvblBhZ2VFbnRpdGllcyA9IFN0b3JlVXRpbHMuZ3JvdXBCeUtleUVudGl0aWVzKHJlZGFjdGlvbkFycmF5LCAncGFnZScpO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIHJlZGFjdGlvbkVudGl0aWVzLFxuICAgICAgICByZWRhY3Rpb25QYWdlRW50aXRpZXNcbiAgICAgIH07XG4gICAgfVxuICAgIGNhc2UgZnJvbVJlZGFjdGlvbi5TRUxFQ1RfUkVEQUNUSU9OOlxuICAgIGNhc2UgZnJvbUFubm90YXRpb25zLlNFTEVDVF9BTk5PVEFUSU9OOiB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgc2VsZWN0ZWRSZWRhY3Rpb246IGFjdGlvbi5wYXlsb2FkXG4gICAgICB9O1xuICAgIH1cblxuICAgIGNhc2UgZnJvbVJlZGFjdGlvbi5ERUxFVEVfUkVEQUNUSU9OX1NVQ0NFU1M6IHtcbiAgICAgIGNvbnN0IHBhZ2UgPSBhY3Rpb24ucGF5bG9hZC5wYWdlO1xuICAgICAgY29uc3QgaWQgPSBhY3Rpb24ucGF5bG9hZC5yZWRhY3Rpb25JZDtcbiAgICAgIGNvbnN0IHJlZGFjdGlvbkVudGl0aWVzID0ge1xuICAgICAgICAuLi5zdGF0ZS5yZWRhY3Rpb25FbnRpdGllc1xuICAgICAgfTtcbiAgICAgIGRlbGV0ZSByZWRhY3Rpb25FbnRpdGllc1tpZF07XG4gICAgICBjb25zdCBwYWdlUmVkYWN0aW9uUmVtb3ZlZCA9IFtcbiAgICAgICAgLi4uc3RhdGUucmVkYWN0aW9uUGFnZUVudGl0aWVzW3BhZ2VdLmZpbHRlcihyZWRhY3Rpb24gPT4gcmVkYWN0aW9uLnJlZGFjdGlvbklkICE9PSBpZClcbiAgICAgIF07XG4gICAgICBjb25zdCByZWRhY3Rpb25QYWdlRW50aXRpZXMgPSB7XG4gICAgICAgIC4uLnN0YXRlLnJlZGFjdGlvblBhZ2VFbnRpdGllcyxcbiAgICAgICAgW3BhZ2VdOiBwYWdlUmVkYWN0aW9uUmVtb3ZlZFxuICAgICAgfTtcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIHJlZGFjdGlvblBhZ2VFbnRpdGllcyxcbiAgICAgICAgcmVkYWN0aW9uRW50aXRpZXMsXG4gICAgICB9O1xuICAgIH1cblxuICAgIGNhc2UgZnJvbVJlZGFjdGlvbi5SRURBQ1RfU1VDQ0VTUzoge1xuICAgICAgY29uc3QgcmVkYWN0ZWREb2N1bWVudEluZm8gPSBhY3Rpb24ucGF5bG9hZDtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICAuLi5pbml0aWFsUmVkYWN0aW9uU3RhdGUsXG4gICAgICAgIHJlZGFjdGVkRG9jdW1lbnRJbmZvXG4gICAgICB9O1xuICAgIH1cblxuICAgIGNhc2UgZnJvbVJlZGFjdGlvbi5SRVNFVF9SRURBQ1RFRF9ET0NVTUVOVDoge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIHJlZGFjdGVkRG9jdW1lbnRJbmZvOiB1bmRlZmluZWRcbiAgICAgIH07XG4gICAgfVxuXG4gICAgY2FzZSBmcm9tUmVkYWN0aW9uLlVOTUFSS19BTExfU1VDQ0VTUzoge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIC4uLmluaXRpYWxSZWRhY3Rpb25TdGF0ZVxuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gc3RhdGU7XG59XG5cblxuZXhwb3J0IGNvbnN0IGdldFJlZGFjdGlvbkVudCA9IChzdGF0ZTogUmVkYWN0aW9uU3RhdGUpID0+IHN0YXRlLnJlZGFjdGlvbkVudGl0aWVzO1xuZXhwb3J0IGNvbnN0IGdldFBhZ2VFbnQgPSAoc3RhdGU6IFJlZGFjdGlvblN0YXRlKSA9PiBzdGF0ZS5yZWRhY3Rpb25QYWdlRW50aXRpZXM7XG5leHBvcnQgY29uc3QgZ2V0U2VsZWN0ZWRSZWRhY3Rpb24gPSAoc3RhdGU6IFJlZGFjdGlvblN0YXRlKSA9PiBzdGF0ZS5zZWxlY3RlZFJlZGFjdGlvbjtcbmV4cG9ydCBjb25zdCBnZXRSZWRhY3RlZERvY0luZm8gPSAoc3RhdGU6IFJlZGFjdGlvblN0YXRlKSA9PiBzdGF0ZS5yZWRhY3RlZERvY3VtZW50SW5mbztcbiJdfQ==
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import * as fromAnnotations from '../actions/annotation.actions';
|
|
2
|
+
import * as fromTags from '../actions/tag.actions';
|
|
3
|
+
import { StoreUtils } from '../store-utils';
|
|
4
|
+
export const initialTagState = {
|
|
5
|
+
tagNameEnt: {},
|
|
6
|
+
annotations: [],
|
|
7
|
+
filteredPageEntities: {},
|
|
8
|
+
filteredComments: {},
|
|
9
|
+
formFilterState: {},
|
|
10
|
+
filters: []
|
|
11
|
+
};
|
|
12
|
+
export function tagsReducer(state = initialTagState, action) {
|
|
13
|
+
switch (action.type) {
|
|
14
|
+
case fromAnnotations.LOAD_ANNOTATION_SET: {
|
|
15
|
+
return {
|
|
16
|
+
...state,
|
|
17
|
+
...initialTagState
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
case fromAnnotations.LOAD_ANNOTATION_SET_SUCCESS: {
|
|
21
|
+
const annotations = action.payload.body.annotations;
|
|
22
|
+
const tagNameEnt = StoreUtils.genTagNameEntities(annotations);
|
|
23
|
+
return {
|
|
24
|
+
...state,
|
|
25
|
+
tagNameEnt,
|
|
26
|
+
annotations
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
case fromAnnotations.SAVE_ANNOTATION_SUCCESS: {
|
|
30
|
+
const payload = action.payload;
|
|
31
|
+
const anno = [...state.annotations].filter(a => a.id !== payload.id) || [];
|
|
32
|
+
const annotations = [...anno, payload];
|
|
33
|
+
const tagNameEnt = StoreUtils.genTagNameEntities(annotations);
|
|
34
|
+
return {
|
|
35
|
+
...state,
|
|
36
|
+
annotations,
|
|
37
|
+
tagNameEnt
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
case fromAnnotations.DELETE_ANNOTATION_SUCCESS: {
|
|
41
|
+
const id = action.payload;
|
|
42
|
+
const annotations = [...state.annotations].filter(a => a.id !== id);
|
|
43
|
+
const tagNameEnt = StoreUtils.genTagNameEntities(annotations);
|
|
44
|
+
const filteredPageEntities = StoreUtils.groupByKeyEntities(annotations, 'page');
|
|
45
|
+
const filteredComments = {
|
|
46
|
+
...state.filteredComments
|
|
47
|
+
};
|
|
48
|
+
delete filteredComments[id];
|
|
49
|
+
return {
|
|
50
|
+
...state,
|
|
51
|
+
annotations,
|
|
52
|
+
tagNameEnt,
|
|
53
|
+
filteredComments,
|
|
54
|
+
filteredPageEntities,
|
|
55
|
+
filters: []
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
case fromTags.ADD_FILTER_TAGS: {
|
|
59
|
+
const formFilterState = action.payload;
|
|
60
|
+
const filters = Object.keys(formFilterState).reduce((arr, key) => {
|
|
61
|
+
return formFilterState[key] ? [...arr, key] : arr;
|
|
62
|
+
}, []);
|
|
63
|
+
const filteredComments = filters.reduce((obj, f) => {
|
|
64
|
+
return {
|
|
65
|
+
...obj,
|
|
66
|
+
...state.tagNameEnt[f]
|
|
67
|
+
};
|
|
68
|
+
}, {});
|
|
69
|
+
const annotations = Object.keys(filteredComments).map(key => state.annotations.filter(a => a.id === key)[0]);
|
|
70
|
+
const filteredPageEntities = StoreUtils.groupByKeyEntities(annotations, 'page');
|
|
71
|
+
return {
|
|
72
|
+
...state,
|
|
73
|
+
filters,
|
|
74
|
+
filteredComments,
|
|
75
|
+
filteredPageEntities,
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
case fromTags.CLEAR_FILTER_TAGS: {
|
|
79
|
+
return {
|
|
80
|
+
...state,
|
|
81
|
+
filters: [],
|
|
82
|
+
filteredComments: {},
|
|
83
|
+
filteredPageEntities: {},
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
return state;
|
|
88
|
+
}
|
|
89
|
+
export const getTagNameEnt = (state) => state.tagNameEnt;
|
|
90
|
+
export const getFilters = (state) => state.filters;
|
|
91
|
+
export const getFilteredComments = (state) => state.filteredComments;
|
|
92
|
+
export const getFilteredPageEnt = (state) => state.filteredPageEntities;
|
|
93
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFncy5yZWR1Y2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWEtdmlld2VyL3NyYy9saWIvc3RvcmUvcmVkdWNlcnMvdGFncy5yZWR1Y2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxlQUFlLE1BQU0sK0JBQStCLENBQUM7QUFDakUsT0FBTyxLQUFLLFFBQVEsTUFBTSx3QkFBd0IsQ0FBQztBQUNuRCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFZMUMsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFjO0lBQ3hDLFVBQVUsRUFBRSxFQUFFO0lBQ2QsV0FBVyxFQUFFLEVBQUU7SUFDZixvQkFBb0IsRUFBRSxFQUFFO0lBQ3hCLGdCQUFnQixFQUFFLEVBQUU7SUFDcEIsZUFBZSxFQUFFLEVBQUU7SUFDbkIsT0FBTyxFQUFFLEVBQUU7Q0FDWixDQUFDO0FBRUYsTUFBTSxVQUFVLFdBQVcsQ0FDekIsS0FBSyxHQUFHLGVBQWUsRUFDdkIsTUFBaUU7SUFFakUsUUFBUSxNQUFNLENBQUMsSUFBSSxFQUFFO1FBQ25CLEtBQUssZUFBZSxDQUFDLG1CQUFtQixDQUFDLENBQUM7WUFFeEMsT0FBTztnQkFDTCxHQUFHLEtBQUs7Z0JBQ1IsR0FBRyxlQUFlO2FBQ25CLENBQUM7U0FDSDtRQUNELEtBQUssZUFBZSxDQUFDLDJCQUEyQixDQUFDLENBQUM7WUFDaEQsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO1lBQ3BELE1BQU0sVUFBVSxHQUFHLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUM5RCxPQUFPO2dCQUNMLEdBQUcsS0FBSztnQkFDUixVQUFVO2dCQUNWLFdBQVc7YUFDWixDQUFDO1NBQ0g7UUFFRCxLQUFLLGVBQWUsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1lBQzVD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TyxFQUFFLEVBQUU7Z0JBQ1gsZ0JBQWdCLEVBQUUsRUFBRTtnQkFDcEIsb0JBQW9CLEVBQUUsRUFBRTthQUN6QixDQUFDO1NBQ0g7S0FFRjtJQUVELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxDQUFDLEtBQWdCLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUM7QUFDcEUsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLENBQUMsS0FBZ0IsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQztBQUM5RCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLEtBQWdCLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQztBQUNoRixNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLEtBQWdCLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGZyb21Bbm5vdGF0aW9ucyBmcm9tICcuLi9hY3Rpb25zL2Fubm90YXRpb24uYWN0aW9ucyc7XG5pbXBvcnQgKiBhcyBmcm9tVGFncyBmcm9tICcuLi9hY3Rpb25zL3RhZy5hY3Rpb25zJztcbmltcG9ydCB7U3RvcmVVdGlsc30gZnJvbSAnLi4vc3RvcmUtdXRpbHMnO1xuaW1wb3J0IHtBbm5vdGF0aW9ufSBmcm9tICcuLi8uLi9hbm5vdGF0aW9ucy9hbm5vdGF0aW9uLXNldC9hbm5vdGF0aW9uLXZpZXcvYW5ub3RhdGlvbi5tb2RlbCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGFnc1N0YXRlIHtcbiAgdGFnTmFtZUVudDoge1tpZDogc3RyaW5nXTogc3RyaW5nW119O1xuICBmaWx0ZXJlZENvbW1lbnRzOiB7W2lkOiBzdHJpbmddOiBzdHJpbmdbXX07XG4gIGZpbHRlcmVkUGFnZUVudGl0aWVzOiB7W2lkOiBzdHJpbmddOiBBbm5vdGF0aW9uW119O1xuICBhbm5vdGF0aW9uczogQW5ub3RhdGlvbltdO1xuICBmb3JtRmlsdGVyU3RhdGU6IHtbaWQ6IHN0cmluZ106IGJvb2xlYW59O1xuICBmaWx0ZXJzOiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGNvbnN0IGluaXRpYWxUYWdTdGF0ZTogVGFnc1N0YXRlID0ge1xuICB0YWdOYW1lRW50OiB7fSxcbiAgYW5ub3RhdGlvbnM6IFtdLFxuICBmaWx0ZXJlZFBhZ2VFbnRpdGllczoge30sXG4gIGZpbHRlcmVkQ29tbWVudHM6IHt9LFxuICBmb3JtRmlsdGVyU3RhdGU6IHt9LFxuICBmaWx0ZXJzOiBbXVxufTtcblxuZXhwb3J0IGZ1bmN0aW9uIHRhZ3NSZWR1Y2VyIChcbiAgc3RhdGUgPSBpbml0aWFsVGFnU3RhdGUsXG4gIGFjdGlvbjogZnJvbUFubm90YXRpb25zLkFubm90YXRpb25zQWN0aW9ucyB8IGZyb21UYWdzLlRhZ3NBY3Rpb25zXG4pOiBUYWdzU3RhdGUge1xuICBzd2l0Y2ggKGFjdGlvbi50eXBlKSB7XG4gICAgY2FzZSBmcm9tQW5ub3RhdGlvbnMuTE9BRF9BTk5PVEFUSU9OX1NFVDoge1xuXG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgLi4uaW5pdGlhbFRhZ1N0YXRlXG4gICAgICB9O1xuICAgIH1cbiAgICBjYXNlIGZyb21Bbm5vdGF0aW9ucy5MT0FEX0FOTk9UQVRJT05fU0VUX1NVQ0NFU1M6IHtcbiAgICAgIGNvbnN0IGFubm90YXRpb25zID0gYWN0aW9uLnBheWxvYWQuYm9keS5hbm5vdGF0aW9ucztcbiAgICAgIGNvbnN0IHRhZ05hbWVFbnQgPSBTdG9yZVV0aWxzLmdlblRhZ05hbWVFbnRpdGllcyhhbm5vdGF0aW9ucyk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgdGFnTmFtZUVudCxcbiAgICAgICAgYW5ub3RhdGlvbnNcbiAgICAgIH07XG4gICAgfVxuXG4gICAgY2FzZSBmcm9tQW5ub3RhdGlvbnMuU0FWRV9BTk5PVEFUSU9OX1NVQ0NFU1M6IHtcbiAgICAgIGNvbnN0IHBheWxvYWQgPSBhY3Rpb24ucGF5bG9hZDtcblxuICAgICAgY29uc3QgYW5ubyA9IFsuLi5zdGF0ZS5hbm5vdGF0aW9uc10uZmlsdGVyKGEgPT4gYS5pZCAhPT0gcGF5bG9hZC5pZCkgfHwgW107XG4gICAgICBjb25zdCBhbm5vdGF0aW9ucyA9IFsuLi5hbm5vLCBwYXlsb2FkXTtcbiAgICAgIGNvbnN0IHRhZ05hbWVFbnQgPSAgU3RvcmVVdGlscy5nZW5UYWdOYW1lRW50aXRpZXMoYW5ub3RhdGlvbnMpO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIGFubm90YXRpb25zLFxuICAgICAgICB0YWdOYW1lRW50XG4gICAgICB9O1xuICAgIH1cblxuICAgIGNhc2UgZnJvbUFubm90YXRpb25zLkRFTEVURV9BTk5PVEFUSU9OX1NVQ0NFU1M6IHtcbiAgICAgIGNvbnN0IGlkID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgICBjb25zdCBhbm5vdGF0aW9ucyA9IFsuLi5zdGF0ZS5hbm5vdGF0aW9uc10uZmlsdGVyKGEgPT4gYS5pZCAhPT0gaWQpO1xuICAgICAgY29uc3QgdGFnTmFtZUVudCA9ICBTdG9yZVV0aWxzLmdlblRhZ05hbWVFbnRpdGllcyhhbm5vdGF0aW9ucyk7XG4gICAgICBjb25zdCBmaWx0ZXJlZFBhZ2VFbnRpdGllcyA9IFN0b3JlVXRpbHMuZ3JvdXBCeUtleUVudGl0aWVzKGFubm90YXRpb25zLCAncGFnZScpO1xuICAgICAgY29uc3QgZmlsdGVyZWRDb21tZW50cyA9IHtcbiAgICAgICAgLi4uc3RhdGUuZmlsdGVyZWRDb21tZW50c1xuICAgICAgfTtcbiAgICAgIGRlbGV0ZSBmaWx0ZXJlZENvbW1lbnRzW2lkXTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBhbm5vdGF0aW9ucyxcbiAgICAgICAgdGFnTmFtZUVudCxcbiAgICAgICAgZmlsdGVyZWRDb21tZW50cyxcbiAgICAgICAgZmlsdGVyZWRQYWdlRW50aXRpZXMsXG4gICAgICAgIGZpbHRlcnM6IFtdXG4gICAgICB9O1xuICAgIH1cblxuXG4gICAgY2FzZSBmcm9tVGFncy5BRERfRklMVEVSX1RBR1M6IHtcbiAgICAgIGNvbnN0IGZvcm1GaWx0ZXJTdGF0ZSA9IGFjdGlvbi5wYXlsb2FkO1xuXG4gICAgICBjb25zdCBmaWx0ZXJzID0gT2JqZWN0LmtleXMoZm9ybUZpbHRlclN0YXRlKS5yZWR1Y2UoKGFycjogc3RyaW5nW10sIGtleTogc3RyaW5nKSA9PiB7XG4gICAgICAgIHJldHVybiBmb3JtRmlsdGVyU3RhdGVba2V5XSA/IFsuLi5hcnIsIGtleV0gOiBhcnI7XG4gICAgICB9LCBbXSk7XG5cbiAgICAgIGNvbnN0IGZpbHRlcmVkQ29tbWVudHMgPSBmaWx0ZXJzLnJlZHVjZSgob2JqOiB7W2lkOiBzdHJpbmddOiBhbnl9LCBmKSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLi4ub2JqLFxuICAgICAgICAgIC4uLnN0YXRlLnRhZ05hbWVFbnRbZl1cbiAgICAgICAgfTtcbiAgICAgIH0sIHt9KTtcblxuICAgICAgY29uc3QgYW5ub3RhdGlvbnMgPSBPYmplY3Qua2V5cyhmaWx0ZXJlZENvbW1lbnRzKS5tYXAoa2V5ID0+IHN0YXRlLmFubm90YXRpb25zLmZpbHRlcihhID0+IGEuaWQgPT09IGtleSlbMF0pO1xuICAgICAgY29uc3QgZmlsdGVyZWRQYWdlRW50aXRpZXMgPSBTdG9yZVV0aWxzLmdyb3VwQnlLZXlFbnRpdGllcyhhbm5vdGF0aW9ucywgJ3BhZ2UnKTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBmaWx0ZXJzLFxuICAgICAgICBmaWx0ZXJlZENvbW1lbnRzLFxuICAgICAgICBmaWx0ZXJlZFBhZ2VFbnRpdGllcyxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgY2FzZSBmcm9tVGFncy5DTEVBUl9GSUxURVJfVEFHUzoge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIGZpbHRlcnM6IFtdLFxuICAgICAgICBmaWx0ZXJlZENvbW1lbnRzOiB7fSxcbiAgICAgICAgZmlsdGVyZWRQYWdlRW50aXRpZXM6IHt9LFxuICAgICAgfTtcbiAgICB9XG5cbiAgfVxuXG4gIHJldHVybiBzdGF0ZTtcbn1cblxuZXhwb3J0IGNvbnN0IGdldFRhZ05hbWVFbnQgPSAoc3RhdGU6IFRhZ3NTdGF0ZSkgPT4gc3RhdGUudGFnTmFtZUVudDtcbmV4cG9ydCBjb25zdCBnZXRGaWx0ZXJzID0gKHN0YXRlOiBUYWdzU3RhdGUpID0+IHN0YXRlLmZpbHRlcnM7XG5leHBvcnQgY29uc3QgZ2V0RmlsdGVyZWRDb21tZW50cyA9IChzdGF0ZTogVGFnc1N0YXRlKSA9PiBzdGF0ZS5maWx0ZXJlZENvbW1lbnRzO1xuZXhwb3J0IGNvbnN0IGdldEZpbHRlcmVkUGFnZUVudCA9IChzdGF0ZTogVGFnc1N0YXRlKSA9PiBzdGF0ZS5maWx0ZXJlZFBhZ2VFbnRpdGllcztcbiJdfQ==
|