UNPKG

@hmcts/media-viewer

Version:
37 lines 8.15 kB
import { createSelector } from '@ngrx/store'; import * as fromFeature from '../reducers/reducers'; import * as fromBookmarks from '../reducers/bookmarks.reducer'; import { generateBookmarkNodes } from '../bookmarks-store-utils'; import * as fromDocument from './document.selectors'; export const getBookmarkState = createSelector(fromFeature.getMVState, (state) => state.bookmarks); export const getBookmarkPages = createSelector(getBookmarkState, fromBookmarks.getBookmarkPageEnt); export const getBookmarkEntities = createSelector(getBookmarkState, fromBookmarks.getBookmarkEnts); export const getBookmarkNodes = createSelector(getBookmarkEntities, (entities) => generateBookmarkNodes(entities)); export const getEditableBookmark = createSelector(getBookmarkState, fromBookmarks.getEditBookmark); export const getScrollTop = createSelector(getBookmarkState, fromBookmarks.getScrollTop); export const getBookmarkInfo = createSelector(getBookmarkNodes, fromDocument.getDocumentId, fromDocument.getPdfPosition, fromDocument.getPages, (bookmarkNodes, docId, pdfPosition, pages) => { return { pageNumber: pdfPosition.pageNumber - 1, xCoordinate: pdfPosition.left, yCoordinate: ((pages[pdfPosition.pageNumber].styles.height) - (pdfPosition.top * (pages[pdfPosition.pageNumber].viewportScale))) / parseFloat(pages[pdfPosition.pageNumber].scaleRotation.scale), previous: bookmarkNodes.length > 0 ? bookmarkNodes.sort((a, b) => a.index - b.index)[bookmarkNodes.length - 1].id : undefined, documentId: docId }; }); export const getBookmarksPerPage = createSelector(fromDocument.getPages, getBookmarkPages, (pages, pageEnt) => { if (pages && pageEnt) { const arr = []; Object.keys(pages).forEach(key => { const pageIdx = Number(key) - 1; // -1 as the thisPages array is 0 indexed const thisPage = pageEnt[pageIdx]; arr.push({ bookmark: thisPage ? thisPage : [], styles: pages[key].styles }); }); return arr; } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9va21hcmsuc2VsZWN0b3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWEtdmlld2VyL3NyYy9saWIvc3RvcmUvc2VsZWN0b3JzL2Jvb2ttYXJrLnNlbGVjdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTdDLE9BQU8sS0FBSyxXQUFXLE1BQU0sc0JBQXNCLENBQUM7QUFDcEQsT0FBTyxLQUFLLGFBQWEsTUFBTSwrQkFBK0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNqRSxPQUFPLEtBQUssWUFBWSxNQUFNLHNCQUFzQixDQUFDO0FBRXJELE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLGNBQWMsQ0FDNUMsV0FBVyxDQUFDLFVBQVUsRUFDdEIsQ0FBQyxLQUF3QixFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUM5QyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsY0FBYyxDQUM1QyxnQkFBZ0IsRUFDaEIsYUFBYSxDQUFDLGtCQUFrQixDQUNqQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsY0FBYyxDQUMvQyxnQkFBZ0IsRUFDaEIsYUFBYSxDQUFDLGVBQWUsQ0FDOUIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLGNBQWMsQ0FDNUMsbUJBQW1CLEVBQ25CLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLENBQUMsQ0FDOUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLGNBQWMsQ0FDL0MsZ0JBQWdCLEVBQ2hCLGFBQWEsQ0FBQyxlQUFlLENBQzlCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsY0FBYyxDQUN4QyxnQkFBZ0IsRUFDaEIsYUFBYSxDQUFDLFlBQVksQ0FDM0IsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxjQUFjLENBQzNDLGdCQUFnQixFQUNoQixZQUFZLENBQUMsYUFBYSxFQUMxQixZQUFZLENBQUMsY0FBYyxFQUMzQixZQUFZLENBQUMsUUFBUSxFQUNyQixDQUFDLGFBQWEsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxFQUFFO0lBQzNDLE9BQU87UUFDTCxVQUFVLEVBQUUsV0FBVyxDQUFDLFVBQVUsR0FBRyxDQUFDO1FBQ3RDLFdBQVcsRUFBRSxXQUFXLENBQUMsSUFBSTtRQUM3QixXQUFXLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztjQUN2RCxDQUFDLFdBQVcsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7Y0FDbEUsVUFBVSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQztRQUNqRSxRQUFRLEVBQUUsYUFBYSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxhQUFhLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUztRQUM3SCxVQUFVLEVBQUUsS0FBSztLQUNsQixDQUFDO0FBQ0osQ0FBQyxDQUNGLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxjQUFjLENBQy9DLFlBQVksQ0FBQyxRQUFRLEVBQ3JCLGdCQUFnQixFQUNoQixDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRTtJQUNqQixJQUFJLEtBQUssSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUNyQixNQUFNLEdBQUcsR0FBRyxFQUFFLENBQUM7UUFDZixNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUMvQixNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMseUNBQXlDO1lBQzFFLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNsQyxHQUFHLENBQUMsSUFBSSxDQUFDO2dCQUNQLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDbEMsTUFBTSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNO2FBQzFCLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0FBQ0gsQ0FBQyxDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVTZWxlY3RvciB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcblxuaW1wb3J0ICogYXMgZnJvbUZlYXR1cmUgZnJvbSAnLi4vcmVkdWNlcnMvcmVkdWNlcnMnO1xuaW1wb3J0ICogYXMgZnJvbUJvb2ttYXJrcyBmcm9tICcuLi9yZWR1Y2Vycy9ib29rbWFya3MucmVkdWNlcic7XG5pbXBvcnQgeyBnZW5lcmF0ZUJvb2ttYXJrTm9kZXMgfSBmcm9tICcuLi9ib29rbWFya3Mtc3RvcmUtdXRpbHMnO1xuaW1wb3J0ICogYXMgZnJvbURvY3VtZW50IGZyb20gJy4vZG9jdW1lbnQuc2VsZWN0b3JzJztcblxuZXhwb3J0IGNvbnN0IGdldEJvb2ttYXJrU3RhdGUgPSBjcmVhdGVTZWxlY3RvcihcbiAgZnJvbUZlYXR1cmUuZ2V0TVZTdGF0ZSxcbiAgKHN0YXRlOiBmcm9tRmVhdHVyZS5TdGF0ZSkgPT4gc3RhdGUuYm9va21hcmtzXG4pO1xuXG5leHBvcnQgY29uc3QgZ2V0Qm9va21hcmtQYWdlcyA9IGNyZWF0ZVNlbGVjdG9yKFxuICBnZXRCb29rbWFya1N0YXRlLFxuICBmcm9tQm9va21hcmtzLmdldEJvb2ttYXJrUGFnZUVudFxuKTtcblxuZXhwb3J0IGNvbnN0IGdldEJvb2ttYXJrRW50aXRpZXMgPSBjcmVhdGVTZWxlY3RvcihcbiAgZ2V0Qm9va21hcmtTdGF0ZSxcbiAgZnJvbUJvb2ttYXJrcy5nZXRCb29rbWFya0VudHNcbik7XG5cbmV4cG9ydCBjb25zdCBnZXRCb29rbWFya05vZGVzID0gY3JlYXRlU2VsZWN0b3IoXG4gIGdldEJvb2ttYXJrRW50aXRpZXMsXG4gIChlbnRpdGllcykgPT4gZ2VuZXJhdGVCb29rbWFya05vZGVzKGVudGl0aWVzKVxuKTtcblxuZXhwb3J0IGNvbnN0IGdldEVkaXRhYmxlQm9va21hcmsgPSBjcmVhdGVTZWxlY3RvcihcbiAgZ2V0Qm9va21hcmtTdGF0ZSxcbiAgZnJvbUJvb2ttYXJrcy5nZXRFZGl0Qm9va21hcmtcbik7XG5cbmV4cG9ydCBjb25zdCBnZXRTY3JvbGxUb3AgPSBjcmVhdGVTZWxlY3RvcihcbiAgZ2V0Qm9va21hcmtTdGF0ZSxcbiAgZnJvbUJvb2ttYXJrcy5nZXRTY3JvbGxUb3Bcbik7XG5cbmV4cG9ydCBjb25zdCBnZXRCb29rbWFya0luZm8gPSBjcmVhdGVTZWxlY3RvcihcbiAgZ2V0Qm9va21hcmtOb2RlcyxcbiAgZnJvbURvY3VtZW50LmdldERvY3VtZW50SWQsXG4gIGZyb21Eb2N1bWVudC5nZXRQZGZQb3NpdGlvbixcbiAgZnJvbURvY3VtZW50LmdldFBhZ2VzLFxuICAoYm9va21hcmtOb2RlcywgZG9jSWQsIHBkZlBvc2l0aW9uLCBwYWdlcykgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICBwYWdlTnVtYmVyOiBwZGZQb3NpdGlvbi5wYWdlTnVtYmVyIC0gMSxcbiAgICAgIHhDb29yZGluYXRlOiBwZGZQb3NpdGlvbi5sZWZ0LFxuICAgICAgeUNvb3JkaW5hdGU6ICgocGFnZXNbcGRmUG9zaXRpb24ucGFnZU51bWJlcl0uc3R5bGVzLmhlaWdodClcbiAgICAgICAgLSAocGRmUG9zaXRpb24udG9wICogKHBhZ2VzW3BkZlBvc2l0aW9uLnBhZ2VOdW1iZXJdLnZpZXdwb3J0U2NhbGUpKSlcbiAgICAgICAgLyBwYXJzZUZsb2F0KHBhZ2VzW3BkZlBvc2l0aW9uLnBhZ2VOdW1iZXJdLnNjYWxlUm90YXRpb24uc2NhbGUpLFxuICAgICAgcHJldmlvdXM6IGJvb2ttYXJrTm9kZXMubGVuZ3RoID4gMCA/IGJvb2ttYXJrTm9kZXMuc29ydCgoYSwgYikgPT4gYS5pbmRleCAtIGIuaW5kZXgpW2Jvb2ttYXJrTm9kZXMubGVuZ3RoIC0gMV0uaWQgOiB1bmRlZmluZWQsXG4gICAgICBkb2N1bWVudElkOiBkb2NJZFxuICAgIH07XG4gIH1cbik7XG5cbmV4cG9ydCBjb25zdCBnZXRCb29rbWFya3NQZXJQYWdlID0gY3JlYXRlU2VsZWN0b3IoXG4gIGZyb21Eb2N1bWVudC5nZXRQYWdlcyxcbiAgZ2V0Qm9va21hcmtQYWdlcyxcbiAgKHBhZ2VzLCBwYWdlRW50KSA9PiB7XG4gICAgaWYgKHBhZ2VzICYmIHBhZ2VFbnQpIHtcbiAgICAgIGNvbnN0IGFyciA9IFtdO1xuICAgICAgT2JqZWN0LmtleXMocGFnZXMpLmZvckVhY2goa2V5ID0+IHtcbiAgICAgICAgY29uc3QgcGFnZUlkeCA9IE51bWJlcihrZXkpIC0gMTsgLy8gLTEgYXMgdGhlIHRoaXNQYWdlcyBhcnJheSBpcyAwIGluZGV4ZWRcbiAgICAgICAgY29uc3QgdGhpc1BhZ2UgPSBwYWdlRW50W3BhZ2VJZHhdO1xuICAgICAgICBhcnIucHVzaCh7XG4gICAgICAgICAgYm9va21hcms6IHRoaXNQYWdlID8gdGhpc1BhZ2UgOiBbXSxcbiAgICAgICAgICBzdHlsZXM6IHBhZ2VzW2tleV0uc3R5bGVzXG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgICByZXR1cm4gYXJyO1xuICAgIH1cbiAgfVxuKTtcbiJdfQ==