@alfresco/aca-content 4.3.0 → 4.4.0-6809241006

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.
Files changed (51) hide show
  1. package/esm2020/folder-rules/rule-details/actions/rule-action.ui-component.mjs +2 -8
  2. package/esm2020/lib/components/common/location-link/location-link.component.mjs +6 -4
  3. package/esm2020/lib/components/common/toggle-shared/toggle-shared.component.mjs +2 -2
  4. package/esm2020/lib/components/context-menu/context-menu-item.component.mjs +2 -2
  5. package/esm2020/lib/components/context-menu/context-menu-outside-event.directive.mjs +4 -7
  6. package/esm2020/lib/components/context-menu/context-menu.service.mjs +1 -4
  7. package/esm2020/lib/components/favorite-libraries/favorite-libraries.component.mjs +2 -2
  8. package/esm2020/lib/components/favorites/favorites.component.mjs +3 -3
  9. package/esm2020/lib/components/files/files.component.mjs +17 -15
  10. package/esm2020/lib/components/info-drawer/library-metadata-tab/library-metadata-form.component.mjs +3 -3
  11. package/esm2020/lib/components/libraries/libraries.component.mjs +2 -2
  12. package/esm2020/lib/components/recent-files/recent-files.component.mjs +5 -5
  13. package/esm2020/lib/components/search/search-libraries-results/search-libraries-query-builder.service.mjs +4 -4
  14. package/esm2020/lib/components/search/search-libraries-results/search-libraries-results.component.mjs +3 -3
  15. package/esm2020/lib/components/search/search-results/search-results.component.mjs +2 -2
  16. package/esm2020/lib/components/search/search-results-row/search-results-row.component.mjs +2 -2
  17. package/esm2020/lib/components/sidenav/directives/active-link.directive.mjs +3 -3
  18. package/esm2020/lib/components/sidenav/directives/expansion-panel.directive.mjs +2 -2
  19. package/esm2020/lib/components/sidenav/directives/menu-panel.directive.mjs +2 -2
  20. package/esm2020/lib/components/sidenav/user-menu/user-menu.component.mjs +2 -2
  21. package/esm2020/lib/dialogs/node-template/create-from-template.dialog.mjs +3 -3
  22. package/esm2020/lib/services/content-management.service.mjs +13 -13
  23. package/esm2020/lib/services/node-actions.service.mjs +8 -8
  24. package/esm2020/lib/services/node-template.service.mjs +2 -2
  25. package/esm2020/lib/store/effects/library.effects.mjs +4 -4
  26. package/esm2020/lib/store/effects/node.effects.mjs +14 -14
  27. package/esm2020/lib/store/effects/upload.effects.mjs +3 -7
  28. package/esm2020/lib/store/effects/viewer.effects.mjs +3 -3
  29. package/esm2020/lib/store/reducers/app.reducer.mjs +2 -2
  30. package/esm2020/preview/lib/components/preview.component.mjs +8 -20
  31. package/esm2020/viewer/lib/components/viewer/viewer.component.mjs +9 -21
  32. package/fesm2015/alfresco-aca-content-folder-rules.mjs +1 -7
  33. package/fesm2015/alfresco-aca-content-folder-rules.mjs.map +1 -1
  34. package/fesm2015/alfresco-aca-content-preview.mjs +9 -19
  35. package/fesm2015/alfresco-aca-content-preview.mjs.map +1 -1
  36. package/fesm2015/alfresco-aca-content-viewer.mjs +12 -22
  37. package/fesm2015/alfresco-aca-content-viewer.mjs.map +1 -1
  38. package/fesm2015/alfresco-aca-content.mjs +128 -99
  39. package/fesm2015/alfresco-aca-content.mjs.map +1 -1
  40. package/fesm2020/alfresco-aca-content-folder-rules.mjs +1 -7
  41. package/fesm2020/alfresco-aca-content-folder-rules.mjs.map +1 -1
  42. package/fesm2020/alfresco-aca-content-preview.mjs +7 -19
  43. package/fesm2020/alfresco-aca-content-preview.mjs.map +1 -1
  44. package/fesm2020/alfresco-aca-content-viewer.mjs +8 -20
  45. package/fesm2020/alfresco-aca-content-viewer.mjs.map +1 -1
  46. package/fesm2020/alfresco-aca-content.mjs +91 -97
  47. package/fesm2020/alfresco-aca-content.mjs.map +1 -1
  48. package/lib/components/context-menu/context-menu-outside-event.directive.d.ts +0 -1
  49. package/lib/components/files/files.component.d.ts +1 -1
  50. package/lib/components/recent-files/recent-files.component.d.ts +0 -1
  51. package/package.json +1 -1
@@ -115,12 +115,13 @@ class PreviewComponent extends PageComponent {
115
115
  * @param id Unique identifier for the Node to display
116
116
  */
117
117
  displayNode(id) {
118
+ var _a;
118
119
  return __awaiter(this, void 0, void 0, function* () {
119
120
  if (id) {
120
121
  try {
121
122
  this.node = yield this.contentApi.getNodeInfo(id).toPromise();
122
123
  this.store.dispatch(new SetSelectedNodesAction([{ entry: this.node }]));
123
- if (this.node && this.node.isFile) {
124
+ if ((_a = this.node) === null || _a === void 0 ? void 0 : _a.isFile) {
124
125
  const nearest = yield this.getNearestNodes(this.node.id, this.node.parentId);
125
126
  this.previousNodeId = nearest.left;
126
127
  this.nextNodeId = nearest.right;
@@ -138,10 +139,8 @@ class PreviewComponent extends PageComponent {
138
139
  });
139
140
  }
140
141
  handleKeyboardEvent(event) {
141
- const key = event.keyCode;
142
- const rightArrow = 39;
143
- const leftArrow = 37;
144
- if (key === rightArrow || key === leftArrow) {
142
+ const key = event.key;
143
+ if (key === 'ArrowRight' || key === 'ArrowLeft') {
145
144
  event.preventDefault();
146
145
  event.stopImmediatePropagation();
147
146
  }
@@ -327,20 +326,11 @@ class PreviewComponent extends PageComponent {
327
326
  options.numeric = true;
328
327
  }
329
328
  items.sort((a, b) => {
330
- let left = ObjectUtils.getValue(a, key);
331
- if (left) {
332
- left = left instanceof Date ? left.valueOf().toString() : left.toString();
333
- }
334
- else {
335
- left = '';
336
- }
337
- let right = ObjectUtils.getValue(b, key);
338
- if (right) {
339
- right = right instanceof Date ? right.valueOf().toString() : right.toString();
340
- }
341
- else {
342
- right = '';
343
- }
329
+ var _a, _b;
330
+ let left = (_a = ObjectUtils.getValue(a, key)) !== null && _a !== void 0 ? _a : '';
331
+ left = left instanceof Date ? left.valueOf().toString() : left.toString();
332
+ let right = (_b = ObjectUtils.getValue(b, key)) !== null && _b !== void 0 ? _b : '';
333
+ right = right instanceof Date ? right.valueOf().toString() : right.toString();
344
334
  return direction === 'asc' ? left.localeCompare(right, undefined, options) : right.localeCompare(left, undefined, options);
345
335
  });
346
336
  }
@@ -1 +1 @@
1
- {"version":3,"file":"alfresco-aca-content-preview.mjs","sources":["../../../../projects/aca-content/preview/src/lib/components/preview.component.ts","../../../../projects/aca-content/preview/src/lib/components/preview.component.html","../../../../projects/aca-content/preview/src/lib/preview.module.ts","../../../../projects/aca-content/preview/src/public-api.ts","../../../../projects/aca-content/preview/src/alfresco-aca-content-preview.ts"],"sourcesContent":["/*!\n * Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Alfresco Example Content Application\n *\n * This file is part of the Alfresco Example Content Application.\n * If the software was purchased under a paid Alfresco license, the terms of\n * the paid license agreement will prevail. Otherwise, the software is\n * provided under the following open source license terms:\n *\n * The Alfresco Example Content Application is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Lesser General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * The Alfresco Example Content Application is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.\n */\n\nimport { Component, OnInit, OnDestroy, ViewEncapsulation, HostListener } from '@angular/core';\nimport { CommonModule, Location } from '@angular/common';\nimport { ActivatedRoute, UrlTree, UrlSegmentGroup, UrlSegment, PRIMARY_OUTLET } from '@angular/router';\nimport { debounceTime, map, takeUntil } from 'rxjs/operators';\nimport { UserPreferencesService, ObjectUtils, ViewerModule } from '@alfresco/adf-core';\nimport { ClosePreviewAction, ViewerActionTypes, SetSelectedNodesAction } from '@alfresco/aca-shared/store';\nimport {\n PageComponent,\n AppHookService,\n ContentApiService,\n InfoDrawerComponent,\n ToolbarMenuItemComponent,\n ToolbarComponent\n} from '@alfresco/aca-shared';\nimport { ContentActionRef, ViewerExtensionRef } from '@alfresco/adf-extensions';\nimport { SearchRequest } from '@alfresco/js-api';\nimport { from } from 'rxjs';\nimport { Actions, ofType } from '@ngrx/effects';\nimport { AlfrescoViewerModule, NodesApiService } from '@alfresco/adf-content-services';\n\n@Component({\n standalone: true,\n imports: [CommonModule, ViewerModule, AlfrescoViewerModule, InfoDrawerComponent, ToolbarMenuItemComponent, ToolbarComponent],\n selector: 'app-preview',\n templateUrl: './preview.component.html',\n styleUrls: ['./preview.component.scss'],\n encapsulation: ViewEncapsulation.None,\n host: { class: 'app-preview' }\n})\nexport class PreviewComponent extends PageComponent implements OnInit, OnDestroy {\n previewLocation: string = null;\n routesSkipNavigation = ['shared', 'recent-files', 'favorites'];\n navigateSource: string = null;\n navigationSources = ['favorites', 'libraries', 'personal-files', 'recent-files', 'shared'];\n folderId: string = null;\n nodeId: string = null;\n previousNodeId: string;\n nextNodeId: string;\n navigateMultiple = false;\n openWith: Array<ContentActionRef> = [];\n contentExtensions: Array<ViewerExtensionRef> = [];\n showRightSide = false;\n navigateBackAsClose = false;\n simplestMode = false;\n\n recentFileFilters = [\n 'TYPE:\"content\"',\n '-PNAME:\"0/wiki\"',\n '-TYPE:\"app:filelink\"',\n '-TYPE:\"fm:post\"',\n '-TYPE:\"cm:thumbnail\"',\n '-TYPE:\"cm:failedThumbnail\"',\n '-TYPE:\"cm:rating\"',\n '-TYPE:\"dl:dataList\"',\n '-TYPE:\"dl:todoList\"',\n '-TYPE:\"dl:issue\"',\n '-TYPE:\"dl:contact\"',\n '-TYPE:\"dl:eventAgenda\"',\n '-TYPE:\"dl:event\"',\n '-TYPE:\"dl:task\"',\n '-TYPE:\"dl:simpletask\"',\n '-TYPE:\"dl:meetingAgenda\"',\n '-TYPE:\"dl:location\"',\n '-TYPE:\"fm:topic\"',\n '-TYPE:\"fm:post\"',\n '-TYPE:\"ia:calendarEvent\"',\n '-TYPE:\"lnk:link\"'\n ];\n\n private containersSkipNavigation = ['adf-viewer__sidebar', 'cdk-overlay-container', 'adf-image-viewer'];\n\n constructor(\n private contentApi: ContentApiService,\n private preferences: UserPreferencesService,\n private route: ActivatedRoute,\n private nodesApiService: NodesApiService,\n private actions$: Actions,\n private location: Location,\n private appHookService: AppHookService\n ) {\n super();\n }\n\n ngOnInit() {\n super.ngOnInit();\n\n from(this.infoDrawerOpened$)\n .pipe(takeUntil(this.onDestroy$))\n .subscribe((val) => {\n this.showRightSide = val;\n });\n\n this.previewLocation = this.router.url.substr(0, this.router.url.indexOf('/', 1)).replace(/\\//g, '');\n\n const routeData = this.route.snapshot.data;\n this.navigateBackAsClose = !!routeData.navigateBackAsClose;\n this.simplestMode = !!routeData.simplestMode;\n\n if (routeData.navigateMultiple) {\n this.navigateMultiple = true;\n }\n\n if (routeData.navigateSource) {\n const source = routeData.navigateSource.toLowerCase();\n if (this.navigationSources.includes(source)) {\n this.navigateSource = routeData.navigateSource;\n }\n }\n\n this.route.params.subscribe((params) => {\n this.folderId = params.folderId;\n const id = params.nodeId;\n if (id) {\n this.displayNode(id);\n }\n });\n\n this.subscriptions = this.subscriptions.concat([\n this.appHookService.nodesDeleted.subscribe(() => this.navigateToFileLocation(true)),\n\n this.uploadService.fileUploadDeleted.subscribe(() => this.navigateToFileLocation(true)),\n\n this.uploadService.fileUploadComplete.pipe(debounceTime(300)).subscribe((file) => this.nodesApiService.nodeUpdated.next(file.data.entry)),\n\n this.actions$\n .pipe(\n ofType<ClosePreviewAction>(ViewerActionTypes.ClosePreview),\n map(() => this.navigateToFileLocation(true))\n )\n .subscribe(() => {})\n ]);\n\n this.extensions\n .getOpenWithActions()\n .pipe(takeUntil(this.onDestroy$))\n .subscribe((actions) => {\n this.openWith = actions;\n });\n }\n\n ngOnDestroy() {\n super.ngOnDestroy();\n }\n\n /**\n * Loads the particular node into the Viewer\n *\n * @param id Unique identifier for the Node to display\n */\n async displayNode(id: string) {\n if (id) {\n try {\n this.node = await this.contentApi.getNodeInfo(id).toPromise();\n this.store.dispatch(new SetSelectedNodesAction([{ entry: this.node }]));\n\n if (this.node && this.node.isFile) {\n const nearest = await this.getNearestNodes(this.node.id, this.node.parentId);\n\n this.previousNodeId = nearest.left;\n this.nextNodeId = nearest.right;\n this.nodeId = this.node.id;\n return;\n }\n await this.router.navigate([this.previewLocation, id]);\n } catch (err) {\n if (!err || err.status !== 401) {\n await this.router.navigate([this.previewLocation, id]);\n }\n }\n }\n }\n\n @HostListener('document:keydown', ['$event'])\n handleKeyboardEvent(event: KeyboardEvent) {\n const key = event.keyCode;\n const rightArrow = 39;\n const leftArrow = 37;\n\n if (key === rightArrow || key === leftArrow) {\n event.preventDefault();\n event.stopImmediatePropagation();\n }\n }\n\n /**\n * Handles the visibility change of the Viewer component.\n *\n * @param isVisible Indicator whether Viewer is visible or hidden.\n */\n onVisibilityChanged(isVisible: boolean): void {\n const shouldNavigate = !isVisible;\n this.navigateToFileLocation(shouldNavigate);\n }\n\n navigateToFileLocation(shouldNavigate: boolean) {\n if (shouldNavigate) {\n if (this.navigateBackAsClose) {\n this.location.back();\n } else {\n const shouldSkipNavigation = this.routesSkipNavigation.includes(this.previewLocation);\n const route = this.getNavigationCommands(this.previewLocation);\n\n if (!shouldSkipNavigation && this.folderId) {\n route.push(this.folderId);\n }\n this.router.navigate(route);\n }\n }\n }\n\n /** Handles navigation to a previous document */\n onNavigateBefore(event: MouseEvent | KeyboardEvent): void {\n if (event.type !== 'click' && this.shouldNavigate(event.target as HTMLElement)) {\n return;\n }\n\n if (this.previousNodeId) {\n this.router.navigate(this.getPreviewPath(this.folderId, this.previousNodeId));\n }\n }\n\n /** Handles navigation to a next document */\n onNavigateNext(event: MouseEvent | KeyboardEvent): void {\n if (event.type !== 'click' && this.shouldNavigate(event.target as HTMLElement)) {\n return;\n }\n\n if (this.nextNodeId) {\n this.router.navigate(this.getPreviewPath(this.folderId, this.nextNodeId));\n }\n }\n\n /**\n * Generates a node preview route based on folder and node IDs.\n *\n * @param folderId Folder ID\n * @param nodeId Node ID\n */\n getPreviewPath(folderId: string, nodeId: string): any[] {\n const route = [this.previewLocation];\n\n if (folderId) {\n route.push(folderId);\n }\n\n if (nodeId) {\n route.push('preview', nodeId);\n }\n\n return route;\n }\n\n /**\n * Retrieves nearest node information for the given node and folder.\n *\n * @param nodeId Unique identifier of the document node\n * @param folderId Unique identifier of the containing folder node.\n */\n async getNearestNodes(nodeId: string, folderId: string): Promise<{ left: string; right: string }> {\n const empty = {\n left: null,\n right: null\n };\n\n if (nodeId && folderId) {\n try {\n const ids = await this.getFileIds(this.navigateSource, folderId);\n const idx = ids.indexOf(nodeId);\n\n if (idx >= 0) {\n return {\n left: ids[idx - 1] || null,\n right: ids[idx + 1] || null\n };\n } else {\n return empty;\n }\n } catch {\n return empty;\n }\n } else {\n return empty;\n }\n }\n\n /**\n * Retrieves a list of node identifiers for the folder and data source.\n *\n * @param source Data source name. Allowed values are: personal-files, libraries, favorites, shared, recent-files.\n * @param folderId Containing folder node identifier for 'personal-files' and 'libraries' sources.\n */\n async getFileIds(source: string, folderId?: string): Promise<string[]> {\n if ((source === 'personal-files' || source === 'libraries') && folderId) {\n const sortKey = this.preferences.get('personal-files.sorting.key') || 'modifiedAt';\n const sortDirection = this.preferences.get('personal-files.sorting.direction') || 'desc';\n const nodes = await this.contentApi\n .getNodeChildren(folderId, {\n // orderBy: `${sortKey} ${sortDirection}`,\n fields: ['id', this.getRootField(sortKey)],\n where: '(isFile=true)'\n })\n .toPromise();\n\n const entries = nodes.list.entries.map((obj) => obj.entry);\n this.sort(entries, sortKey, sortDirection);\n\n return entries.map((obj) => obj.id);\n }\n\n if (source === 'favorites') {\n const nodes = await this.contentApi\n .getFavorites('-me-', {\n where: '(EXISTS(target/file))',\n fields: ['target']\n })\n .toPromise();\n\n const sortKey = this.preferences.get('favorites.sorting.key') || 'modifiedAt';\n const sortDirection = this.preferences.get('favorites.sorting.direction') || 'desc';\n const files = nodes.list.entries.map((obj) => obj.entry.target.file);\n this.sort(files, sortKey, sortDirection);\n\n return files.map((f) => f.id);\n }\n\n if (source === 'shared') {\n const sortingKey = this.preferences.get('shared.sorting.key') || 'modifiedAt';\n const sortingDirection = this.preferences.get('shared.sorting.direction') || 'desc';\n\n const nodes = await this.contentApi\n .findSharedLinks({\n fields: ['nodeId', this.getRootField(sortingKey)]\n })\n .toPromise();\n\n const entries = nodes.list.entries.map((obj) => obj.entry);\n this.sort(entries, sortingKey, sortingDirection);\n\n return entries.map((obj) => obj.nodeId);\n }\n\n if (source === 'recent-files') {\n const person = await this.contentApi.getPerson('-me-').toPromise();\n const username = person.entry.id;\n const sortingKey = this.preferences.get('recent-files.sorting.key') || 'modifiedAt';\n const sortingDirection = this.preferences.get('recent-files.sorting.direction') || 'desc';\n\n const query: SearchRequest = {\n query: {\n query: '*',\n language: 'afts'\n },\n filterQueries: [\n { query: `cm:modified:[NOW/DAY-30DAYS TO NOW/DAY+1DAY]` },\n { query: `cm:modifier:${username} OR cm:creator:${username}` },\n {\n query: this.recentFileFilters.join(' AND ')\n }\n ],\n fields: ['id', this.getRootField(sortingKey)],\n include: ['path', 'properties', 'allowableOperations'],\n sort: [\n {\n type: 'FIELD',\n field: 'cm:modified',\n ascending: false\n }\n ]\n };\n const nodes = await this.contentApi.search(query).toPromise();\n\n const entries = nodes.list.entries.map((obj) => obj.entry);\n this.sort(entries, sortingKey, sortingDirection);\n\n return entries.map((obj) => obj.id);\n }\n\n return [];\n }\n\n private sort(items: any[], key: string, direction: string) {\n const options: Intl.CollatorOptions = {};\n\n if (key.includes('sizeInBytes') || key === 'name') {\n options.numeric = true;\n }\n\n items.sort((a: any, b: any) => {\n let left = ObjectUtils.getValue(a, key);\n if (left) {\n left = left instanceof Date ? left.valueOf().toString() : left.toString();\n } else {\n left = '';\n }\n\n let right = ObjectUtils.getValue(b, key);\n if (right) {\n right = right instanceof Date ? right.valueOf().toString() : right.toString();\n } else {\n right = '';\n }\n\n return direction === 'asc' ? left.localeCompare(right, undefined, options) : right.localeCompare(left, undefined, options);\n });\n }\n\n /**\n * Get the root field name from the property path.\n * Example: 'property1.some.child.property' => 'property1'\n *\n * @param path Property path\n */\n getRootField(path: string) {\n if (path) {\n return path.split('.')[0];\n }\n return path;\n }\n\n private getNavigationCommands(url: string): any[] {\n const urlTree: UrlTree = this.router.parseUrl(url);\n const urlSegmentGroup: UrlSegmentGroup = urlTree.root.children[PRIMARY_OUTLET];\n\n if (!urlSegmentGroup) {\n return [url];\n }\n\n const urlSegments: UrlSegment[] = urlSegmentGroup.segments;\n\n return urlSegments.reduce(function (acc, item) {\n acc.push(item.path, item.parameters);\n return acc;\n }, []);\n }\n\n private shouldNavigate(element: HTMLElement): boolean {\n let currentElement = element.parentElement;\n\n while (currentElement && !this.isChild(currentElement.classList)) {\n currentElement = currentElement.parentElement;\n }\n\n return !!currentElement;\n }\n\n private isChild(list: DOMTokenList): boolean {\n return Array.from(list).some((className: string) => this.containersSkipNavigation.includes(className));\n }\n}\n","<ng-container *ngIf=\"nodeId\">\n <adf-alfresco-viewer\n [ngClass]=\"{\n 'right_side--hide': !showRightSide\n }\"\n [nodeId]=\"nodeId\"\n [allowNavigate]=\"navigateMultiple\"\n [allowRightSidebar]=\"true\"\n [allowPrint]=\"false\"\n [showRightSidebar]=\"true\"\n [allowDownload]=\"false\"\n [allowFullScreen]=\"false\"\n [canNavigateBefore]=\"!!previousNodeId\"\n [canNavigateNext]=\"!!nextNodeId\"\n [overlayMode]=\"true\"\n (showViewerChange)=\"onVisibilityChanged($event)\"\n (navigateBefore)=\"onNavigateBefore($event)\"\n (navigateNext)=\"onNavigateNext($event)\"\n >\n <adf-viewer-sidebar *ngIf=\"infoDrawerOpened$ | async\">\n <aca-info-drawer [node]=\"selection.file\"></aca-info-drawer>\n </adf-viewer-sidebar>\n\n <adf-viewer-open-with *ngIf=\"openWith.length\">\n <ng-container *ngFor=\"let action of openWith; trackBy: trackByActionId\">\n <app-toolbar-menu-item [actionRef]=\"action\"></app-toolbar-menu-item>\n </ng-container>\n </adf-viewer-open-with>\n\n <adf-viewer-toolbar-actions *ngIf=\"!simplestMode\">\n <aca-toolbar [items]=\"viewerToolbarActions\"></aca-toolbar>\n </adf-viewer-toolbar-actions>\n </adf-alfresco-viewer>\n</ng-container>\n","/*!\n * Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Alfresco Example Content Application\n *\n * This file is part of the Alfresco Example Content Application.\n * If the software was purchased under a paid Alfresco license, the terms of\n * the paid license agreement will prevail. Otherwise, the software is\n * provided under the following open source license terms:\n *\n * The Alfresco Example Content Application is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Lesser General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * The Alfresco Example Content Application is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.\n */\n\nimport { NgModule } from '@angular/core';\nimport { PreviewComponent } from './components/preview.component';\n\n@NgModule({\n imports: [PreviewComponent],\n exports: [PreviewComponent]\n})\nexport class PreviewModule {}\n","/*!\n * Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Alfresco Example Content Application\n *\n * This file is part of the Alfresco Example Content Application.\n * If the software was purchased under a paid Alfresco license, the terms of\n * the paid license agreement will prevail. Otherwise, the software is\n * provided under the following open source license terms:\n *\n * The Alfresco Example Content Application is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Lesser General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * The Alfresco Example Content Application is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.\n */\n\n/*\n * Public API Surface of aca-preview\n */\n\nexport * from './lib/components/preview.component';\nexport * from './lib/preview.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"alfresco-aca-content-preview.mjs","sources":["../../../../projects/aca-content/preview/src/lib/components/preview.component.ts","../../../../projects/aca-content/preview/src/lib/components/preview.component.html","../../../../projects/aca-content/preview/src/lib/preview.module.ts","../../../../projects/aca-content/preview/src/public-api.ts","../../../../projects/aca-content/preview/src/alfresco-aca-content-preview.ts"],"sourcesContent":["/*!\n * Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Alfresco Example Content Application\n *\n * This file is part of the Alfresco Example Content Application.\n * If the software was purchased under a paid Alfresco license, the terms of\n * the paid license agreement will prevail. Otherwise, the software is\n * provided under the following open source license terms:\n *\n * The Alfresco Example Content Application is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Lesser General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * The Alfresco Example Content Application is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.\n */\n\nimport { Component, OnInit, OnDestroy, ViewEncapsulation, HostListener } from '@angular/core';\nimport { CommonModule, Location } from '@angular/common';\nimport { ActivatedRoute, UrlTree, UrlSegmentGroup, UrlSegment, PRIMARY_OUTLET } from '@angular/router';\nimport { debounceTime, map, takeUntil } from 'rxjs/operators';\nimport { UserPreferencesService, ObjectUtils, ViewerModule } from '@alfresco/adf-core';\nimport { ClosePreviewAction, ViewerActionTypes, SetSelectedNodesAction } from '@alfresco/aca-shared/store';\nimport {\n PageComponent,\n AppHookService,\n ContentApiService,\n InfoDrawerComponent,\n ToolbarMenuItemComponent,\n ToolbarComponent\n} from '@alfresco/aca-shared';\nimport { ContentActionRef, ViewerExtensionRef } from '@alfresco/adf-extensions';\nimport { SearchRequest } from '@alfresco/js-api';\nimport { from } from 'rxjs';\nimport { Actions, ofType } from '@ngrx/effects';\nimport { AlfrescoViewerModule, NodesApiService } from '@alfresco/adf-content-services';\n\n@Component({\n standalone: true,\n imports: [CommonModule, ViewerModule, AlfrescoViewerModule, InfoDrawerComponent, ToolbarMenuItemComponent, ToolbarComponent],\n selector: 'app-preview',\n templateUrl: './preview.component.html',\n styleUrls: ['./preview.component.scss'],\n encapsulation: ViewEncapsulation.None,\n host: { class: 'app-preview' }\n})\nexport class PreviewComponent extends PageComponent implements OnInit, OnDestroy {\n previewLocation: string = null;\n routesSkipNavigation = ['shared', 'recent-files', 'favorites'];\n navigateSource: string = null;\n navigationSources = ['favorites', 'libraries', 'personal-files', 'recent-files', 'shared'];\n folderId: string = null;\n nodeId: string = null;\n previousNodeId: string;\n nextNodeId: string;\n navigateMultiple = false;\n openWith: Array<ContentActionRef> = [];\n contentExtensions: Array<ViewerExtensionRef> = [];\n showRightSide = false;\n navigateBackAsClose = false;\n simplestMode = false;\n\n recentFileFilters = [\n 'TYPE:\"content\"',\n '-PNAME:\"0/wiki\"',\n '-TYPE:\"app:filelink\"',\n '-TYPE:\"fm:post\"',\n '-TYPE:\"cm:thumbnail\"',\n '-TYPE:\"cm:failedThumbnail\"',\n '-TYPE:\"cm:rating\"',\n '-TYPE:\"dl:dataList\"',\n '-TYPE:\"dl:todoList\"',\n '-TYPE:\"dl:issue\"',\n '-TYPE:\"dl:contact\"',\n '-TYPE:\"dl:eventAgenda\"',\n '-TYPE:\"dl:event\"',\n '-TYPE:\"dl:task\"',\n '-TYPE:\"dl:simpletask\"',\n '-TYPE:\"dl:meetingAgenda\"',\n '-TYPE:\"dl:location\"',\n '-TYPE:\"fm:topic\"',\n '-TYPE:\"fm:post\"',\n '-TYPE:\"ia:calendarEvent\"',\n '-TYPE:\"lnk:link\"'\n ];\n\n private containersSkipNavigation = ['adf-viewer__sidebar', 'cdk-overlay-container', 'adf-image-viewer'];\n\n constructor(\n private contentApi: ContentApiService,\n private preferences: UserPreferencesService,\n private route: ActivatedRoute,\n private nodesApiService: NodesApiService,\n private actions$: Actions,\n private location: Location,\n private appHookService: AppHookService\n ) {\n super();\n }\n\n ngOnInit() {\n super.ngOnInit();\n\n from(this.infoDrawerOpened$)\n .pipe(takeUntil(this.onDestroy$))\n .subscribe((val) => {\n this.showRightSide = val;\n });\n\n this.previewLocation = this.router.url.substr(0, this.router.url.indexOf('/', 1)).replace(/\\//g, '');\n\n const routeData = this.route.snapshot.data;\n this.navigateBackAsClose = !!routeData.navigateBackAsClose;\n this.simplestMode = !!routeData.simplestMode;\n\n if (routeData.navigateMultiple) {\n this.navigateMultiple = true;\n }\n\n if (routeData.navigateSource) {\n const source = routeData.navigateSource.toLowerCase();\n if (this.navigationSources.includes(source)) {\n this.navigateSource = routeData.navigateSource;\n }\n }\n\n this.route.params.subscribe((params) => {\n this.folderId = params.folderId;\n const id = params.nodeId;\n if (id) {\n this.displayNode(id);\n }\n });\n\n this.subscriptions = this.subscriptions.concat([\n this.appHookService.nodesDeleted.subscribe(() => this.navigateToFileLocation(true)),\n\n this.uploadService.fileUploadDeleted.subscribe(() => this.navigateToFileLocation(true)),\n\n this.uploadService.fileUploadComplete.pipe(debounceTime(300)).subscribe((file) => this.nodesApiService.nodeUpdated.next(file.data.entry)),\n\n this.actions$\n .pipe(\n ofType<ClosePreviewAction>(ViewerActionTypes.ClosePreview),\n map(() => this.navigateToFileLocation(true))\n )\n .subscribe(() => {})\n ]);\n\n this.extensions\n .getOpenWithActions()\n .pipe(takeUntil(this.onDestroy$))\n .subscribe((actions) => {\n this.openWith = actions;\n });\n }\n\n ngOnDestroy() {\n super.ngOnDestroy();\n }\n\n /**\n * Loads the particular node into the Viewer\n *\n * @param id Unique identifier for the Node to display\n */\n async displayNode(id: string) {\n if (id) {\n try {\n this.node = await this.contentApi.getNodeInfo(id).toPromise();\n this.store.dispatch(new SetSelectedNodesAction([{ entry: this.node }]));\n\n if (this.node?.isFile) {\n const nearest = await this.getNearestNodes(this.node.id, this.node.parentId);\n\n this.previousNodeId = nearest.left;\n this.nextNodeId = nearest.right;\n this.nodeId = this.node.id;\n return;\n }\n await this.router.navigate([this.previewLocation, id]);\n } catch (err) {\n if (!err || err.status !== 401) {\n await this.router.navigate([this.previewLocation, id]);\n }\n }\n }\n }\n\n @HostListener('document:keydown', ['$event'])\n handleKeyboardEvent(event: KeyboardEvent) {\n const key = event.key;\n\n if (key === 'ArrowRight' || key === 'ArrowLeft') {\n event.preventDefault();\n event.stopImmediatePropagation();\n }\n }\n\n /**\n * Handles the visibility change of the Viewer component.\n *\n * @param isVisible Indicator whether Viewer is visible or hidden.\n */\n onVisibilityChanged(isVisible: boolean): void {\n const shouldNavigate = !isVisible;\n this.navigateToFileLocation(shouldNavigate);\n }\n\n navigateToFileLocation(shouldNavigate: boolean) {\n if (shouldNavigate) {\n if (this.navigateBackAsClose) {\n this.location.back();\n } else {\n const shouldSkipNavigation = this.routesSkipNavigation.includes(this.previewLocation);\n const route = this.getNavigationCommands(this.previewLocation);\n\n if (!shouldSkipNavigation && this.folderId) {\n route.push(this.folderId);\n }\n this.router.navigate(route);\n }\n }\n }\n\n /** Handles navigation to a previous document */\n onNavigateBefore(event: MouseEvent | KeyboardEvent): void {\n if (event.type !== 'click' && this.shouldNavigate(event.target as HTMLElement)) {\n return;\n }\n\n if (this.previousNodeId) {\n this.router.navigate(this.getPreviewPath(this.folderId, this.previousNodeId));\n }\n }\n\n /** Handles navigation to a next document */\n onNavigateNext(event: MouseEvent | KeyboardEvent): void {\n if (event.type !== 'click' && this.shouldNavigate(event.target as HTMLElement)) {\n return;\n }\n\n if (this.nextNodeId) {\n this.router.navigate(this.getPreviewPath(this.folderId, this.nextNodeId));\n }\n }\n\n /**\n * Generates a node preview route based on folder and node IDs.\n *\n * @param folderId Folder ID\n * @param nodeId Node ID\n */\n getPreviewPath(folderId: string, nodeId: string): any[] {\n const route = [this.previewLocation];\n\n if (folderId) {\n route.push(folderId);\n }\n\n if (nodeId) {\n route.push('preview', nodeId);\n }\n\n return route;\n }\n\n /**\n * Retrieves nearest node information for the given node and folder.\n *\n * @param nodeId Unique identifier of the document node\n * @param folderId Unique identifier of the containing folder node.\n */\n async getNearestNodes(nodeId: string, folderId: string): Promise<{ left: string; right: string }> {\n const empty = {\n left: null,\n right: null\n };\n\n if (nodeId && folderId) {\n try {\n const ids = await this.getFileIds(this.navigateSource, folderId);\n const idx = ids.indexOf(nodeId);\n\n if (idx >= 0) {\n return {\n left: ids[idx - 1] || null,\n right: ids[idx + 1] || null\n };\n } else {\n return empty;\n }\n } catch {\n return empty;\n }\n } else {\n return empty;\n }\n }\n\n /**\n * Retrieves a list of node identifiers for the folder and data source.\n *\n * @param source Data source name. Allowed values are: personal-files, libraries, favorites, shared, recent-files.\n * @param folderId Containing folder node identifier for 'personal-files' and 'libraries' sources.\n */\n async getFileIds(source: string, folderId?: string): Promise<string[]> {\n if ((source === 'personal-files' || source === 'libraries') && folderId) {\n const sortKey = this.preferences.get('personal-files.sorting.key') || 'modifiedAt';\n const sortDirection = this.preferences.get('personal-files.sorting.direction') || 'desc';\n const nodes = await this.contentApi\n .getNodeChildren(folderId, {\n // orderBy: `${sortKey} ${sortDirection}`,\n fields: ['id', this.getRootField(sortKey)],\n where: '(isFile=true)'\n })\n .toPromise();\n\n const entries = nodes.list.entries.map((obj) => obj.entry);\n this.sort(entries, sortKey, sortDirection);\n\n return entries.map((obj) => obj.id);\n }\n\n if (source === 'favorites') {\n const nodes = await this.contentApi\n .getFavorites('-me-', {\n where: '(EXISTS(target/file))',\n fields: ['target']\n })\n .toPromise();\n\n const sortKey = this.preferences.get('favorites.sorting.key') || 'modifiedAt';\n const sortDirection = this.preferences.get('favorites.sorting.direction') || 'desc';\n const files = nodes.list.entries.map((obj) => obj.entry.target.file);\n this.sort(files, sortKey, sortDirection);\n\n return files.map((f) => f.id);\n }\n\n if (source === 'shared') {\n const sortingKey = this.preferences.get('shared.sorting.key') || 'modifiedAt';\n const sortingDirection = this.preferences.get('shared.sorting.direction') || 'desc';\n\n const nodes = await this.contentApi\n .findSharedLinks({\n fields: ['nodeId', this.getRootField(sortingKey)]\n })\n .toPromise();\n\n const entries = nodes.list.entries.map((obj) => obj.entry);\n this.sort(entries, sortingKey, sortingDirection);\n\n return entries.map((obj) => obj.nodeId);\n }\n\n if (source === 'recent-files') {\n const person = await this.contentApi.getPerson('-me-').toPromise();\n const username = person.entry.id;\n const sortingKey = this.preferences.get('recent-files.sorting.key') || 'modifiedAt';\n const sortingDirection = this.preferences.get('recent-files.sorting.direction') || 'desc';\n\n const query: SearchRequest = {\n query: {\n query: '*',\n language: 'afts'\n },\n filterQueries: [\n { query: `cm:modified:[NOW/DAY-30DAYS TO NOW/DAY+1DAY]` },\n { query: `cm:modifier:${username} OR cm:creator:${username}` },\n {\n query: this.recentFileFilters.join(' AND ')\n }\n ],\n fields: ['id', this.getRootField(sortingKey)],\n include: ['path', 'properties', 'allowableOperations'],\n sort: [\n {\n type: 'FIELD',\n field: 'cm:modified',\n ascending: false\n }\n ]\n };\n const nodes = await this.contentApi.search(query).toPromise();\n\n const entries = nodes.list.entries.map((obj) => obj.entry);\n this.sort(entries, sortingKey, sortingDirection);\n\n return entries.map((obj) => obj.id);\n }\n\n return [];\n }\n\n private sort(items: any[], key: string, direction: string) {\n const options: Intl.CollatorOptions = {};\n\n if (key.includes('sizeInBytes') || key === 'name') {\n options.numeric = true;\n }\n\n items.sort((a: any, b: any) => {\n let left = ObjectUtils.getValue(a, key) ?? '';\n left = left instanceof Date ? left.valueOf().toString() : left.toString();\n\n let right = ObjectUtils.getValue(b, key) ?? '';\n right = right instanceof Date ? right.valueOf().toString() : right.toString();\n\n return direction === 'asc' ? left.localeCompare(right, undefined, options) : right.localeCompare(left, undefined, options);\n });\n }\n\n /**\n * Get the root field name from the property path.\n * Example: 'property1.some.child.property' => 'property1'\n *\n * @param path Property path\n */\n getRootField(path: string) {\n if (path) {\n return path.split('.')[0];\n }\n return path;\n }\n\n private getNavigationCommands(url: string): any[] {\n const urlTree: UrlTree = this.router.parseUrl(url);\n const urlSegmentGroup: UrlSegmentGroup = urlTree.root.children[PRIMARY_OUTLET];\n\n if (!urlSegmentGroup) {\n return [url];\n }\n\n const urlSegments: UrlSegment[] = urlSegmentGroup.segments;\n\n return urlSegments.reduce(function (acc, item) {\n acc.push(item.path, item.parameters);\n return acc;\n }, []);\n }\n\n private shouldNavigate(element: HTMLElement): boolean {\n let currentElement = element.parentElement;\n\n while (currentElement && !this.isChild(currentElement.classList)) {\n currentElement = currentElement.parentElement;\n }\n\n return !!currentElement;\n }\n\n private isChild(list: DOMTokenList): boolean {\n return Array.from(list).some((className: string) => this.containersSkipNavigation.includes(className));\n }\n}\n","<ng-container *ngIf=\"nodeId\">\n <adf-alfresco-viewer\n [ngClass]=\"{\n 'right_side--hide': !showRightSide\n }\"\n [nodeId]=\"nodeId\"\n [allowNavigate]=\"navigateMultiple\"\n [allowRightSidebar]=\"true\"\n [allowPrint]=\"false\"\n [showRightSidebar]=\"true\"\n [allowDownload]=\"false\"\n [allowFullScreen]=\"false\"\n [canNavigateBefore]=\"!!previousNodeId\"\n [canNavigateNext]=\"!!nextNodeId\"\n [overlayMode]=\"true\"\n (showViewerChange)=\"onVisibilityChanged($event)\"\n (navigateBefore)=\"onNavigateBefore($event)\"\n (navigateNext)=\"onNavigateNext($event)\"\n >\n <adf-viewer-sidebar *ngIf=\"infoDrawerOpened$ | async\">\n <aca-info-drawer [node]=\"selection.file\"></aca-info-drawer>\n </adf-viewer-sidebar>\n\n <adf-viewer-open-with *ngIf=\"openWith.length\">\n <ng-container *ngFor=\"let action of openWith; trackBy: trackByActionId\">\n <app-toolbar-menu-item [actionRef]=\"action\"></app-toolbar-menu-item>\n </ng-container>\n </adf-viewer-open-with>\n\n <adf-viewer-toolbar-actions *ngIf=\"!simplestMode\">\n <aca-toolbar [items]=\"viewerToolbarActions\"></aca-toolbar>\n </adf-viewer-toolbar-actions>\n </adf-alfresco-viewer>\n</ng-container>\n","/*!\n * Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Alfresco Example Content Application\n *\n * This file is part of the Alfresco Example Content Application.\n * If the software was purchased under a paid Alfresco license, the terms of\n * the paid license agreement will prevail. Otherwise, the software is\n * provided under the following open source license terms:\n *\n * The Alfresco Example Content Application is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Lesser General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * The Alfresco Example Content Application is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.\n */\n\nimport { NgModule } from '@angular/core';\nimport { PreviewComponent } from './components/preview.component';\n\n@NgModule({\n imports: [PreviewComponent],\n exports: [PreviewComponent]\n})\nexport class PreviewModule {}\n","/*!\n * Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Alfresco Example Content Application\n *\n * This file is part of the Alfresco Example Content Application.\n * If the software was purchased under a paid Alfresco license, the terms of\n * the paid license agreement will prevail. Otherwise, the software is\n * provided under the following open source license terms:\n *\n * The Alfresco Example Content Application is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Lesser General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * The Alfresco Example Content Application is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.\n */\n\n/*\n * Public API Surface of aca-preview\n */\n\nexport * from './lib/components/preview.component';\nexport * from './lib/preview.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAqDM,MAAO,gBAAiB,SAAQ,aAAa,CAAA;AA0CjD,IAAA,WAAA,CACU,UAA6B,EAC7B,WAAmC,EACnC,KAAqB,EACrB,eAAgC,EAChC,QAAiB,EACjB,QAAkB,EAClB,cAA8B,EAAA;AAEtC,QAAA,KAAK,EAAE,CAAC;AARA,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAmB;AAC7B,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAwB;AACnC,QAAA,IAAK,CAAA,KAAA,GAAL,KAAK,CAAgB;AACrB,QAAA,IAAe,CAAA,eAAA,GAAf,eAAe,CAAiB;AAChC,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAS;AACjB,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;AAClB,QAAA,IAAc,CAAA,cAAA,GAAd,cAAc,CAAgB;AAhDxC,QAAA,IAAe,CAAA,eAAA,GAAW,IAAI,CAAC;QAC/B,IAAoB,CAAA,oBAAA,GAAG,CAAC,QAAQ,EAAE,cAAc,EAAE,WAAW,CAAC,CAAC;AAC/D,QAAA,IAAc,CAAA,cAAA,GAAW,IAAI,CAAC;AAC9B,QAAA,IAAA,CAAA,iBAAiB,GAAG,CAAC,WAAW,EAAE,WAAW,EAAE,gBAAgB,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC;AAC3F,QAAA,IAAQ,CAAA,QAAA,GAAW,IAAI,CAAC;AACxB,QAAA,IAAM,CAAA,MAAA,GAAW,IAAI,CAAC;AAGtB,QAAA,IAAgB,CAAA,gBAAA,GAAG,KAAK,CAAC;AACzB,QAAA,IAAQ,CAAA,QAAA,GAA4B,EAAE,CAAC;AACvC,QAAA,IAAiB,CAAA,iBAAA,GAA8B,EAAE,CAAC;AAClD,QAAA,IAAa,CAAA,aAAA,GAAG,KAAK,CAAC;AACtB,QAAA,IAAmB,CAAA,mBAAA,GAAG,KAAK,CAAC;AAC5B,QAAA,IAAY,CAAA,YAAA,GAAG,KAAK,CAAC;QAErB,IAAA,CAAA,iBAAiB,GAAG;YAClB,gBAAgB;YAChB,iBAAiB;YACjB,sBAAsB;YACtB,iBAAiB;YACjB,sBAAsB;YACtB,4BAA4B;YAC5B,mBAAmB;YACnB,qBAAqB;YACrB,qBAAqB;YACrB,kBAAkB;YAClB,oBAAoB;YACpB,wBAAwB;YACxB,kBAAkB;YAClB,iBAAiB;YACjB,uBAAuB;YACvB,0BAA0B;YAC1B,qBAAqB;YACrB,kBAAkB;YAClB,iBAAiB;YACjB,0BAA0B;YAC1B,kBAAkB;SACnB,CAAC;QAEM,IAAwB,CAAA,wBAAA,GAAG,CAAC,qBAAqB,EAAE,uBAAuB,EAAE,kBAAkB,CAAC,CAAC;KAYvG;IAED,QAAQ,GAAA;QACN,KAAK,CAAC,QAAQ,EAAE,CAAC;AAEjB,QAAA,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC;AACzB,aAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAChC,aAAA,SAAS,CAAC,CAAC,GAAG,KAAI;AACjB,YAAA,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC;AAC3B,SAAC,CAAC,CAAC;AAEL,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAErG,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC3C,IAAI,CAAC,mBAAmB,GAAG,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC;QAC3D,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC;QAE7C,IAAI,SAAS,CAAC,gBAAgB,EAAE;AAC9B,YAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;AAC9B,SAAA;QAED,IAAI,SAAS,CAAC,cAAc,EAAE;YAC5B,MAAM,MAAM,GAAG,SAAS,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC;YACtD,IAAI,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;AAC3C,gBAAA,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC,cAAc,CAAC;AAChD,aAAA;AACF,SAAA;QAED,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,KAAI;AACrC,YAAA,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;AAChC,YAAA,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC;AACzB,YAAA,IAAI,EAAE,EAAE;AACN,gBAAA,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;AACtB,aAAA;AACH,SAAC,CAAC,CAAC;QAEH,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;AAC7C,YAAA,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;AAEnF,YAAA,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;AAEvF,YAAA,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAEzI,YAAA,IAAI,CAAC,QAAQ;iBACV,IAAI,CACH,MAAM,CAAqB,iBAAiB,CAAC,YAAY,CAAC,EAC1D,GAAG,CAAC,MAAM,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAC7C;AACA,iBAAA,SAAS,CAAC,MAAK,GAAG,CAAC;AACvB,SAAA,CAAC,CAAC;AAEH,QAAA,IAAI,CAAC,UAAU;AACZ,aAAA,kBAAkB,EAAE;AACpB,aAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAChC,aAAA,SAAS,CAAC,CAAC,OAAO,KAAI;AACrB,YAAA,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;AAC1B,SAAC,CAAC,CAAC;KACN;IAED,WAAW,GAAA;QACT,KAAK,CAAC,WAAW,EAAE,CAAC;KACrB;AAED;;;;AAIG;AACG,IAAA,WAAW,CAAC,EAAU,EAAA;;;AAC1B,YAAA,IAAI,EAAE,EAAE;gBACN,IAAI;AACF,oBAAA,IAAI,CAAC,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC;AAC9D,oBAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,sBAAsB,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAExE,oBAAA,IAAI,MAAA,IAAI,CAAC,IAAI,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,MAAM,EAAE;AACrB,wBAAA,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAE7E,wBAAA,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;AACnC,wBAAA,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC;wBAChC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC3B,OAAO;AACR,qBAAA;AACD,oBAAA,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,CAAC;AACxD,iBAAA;AAAC,gBAAA,OAAO,GAAG,EAAE;oBACZ,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE;AAC9B,wBAAA,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,CAAC;AACxD,qBAAA;AACF,iBAAA;AACF,aAAA;;AACF,KAAA;AAGD,IAAA,mBAAmB,CAAC,KAAoB,EAAA;AACtC,QAAA,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;AAEtB,QAAA,IAAI,GAAG,KAAK,YAAY,IAAI,GAAG,KAAK,WAAW,EAAE;YAC/C,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,KAAK,CAAC,wBAAwB,EAAE,CAAC;AAClC,SAAA;KACF;AAED;;;;AAIG;AACH,IAAA,mBAAmB,CAAC,SAAkB,EAAA;AACpC,QAAA,MAAM,cAAc,GAAG,CAAC,SAAS,CAAC;AAClC,QAAA,IAAI,CAAC,sBAAsB,CAAC,cAAc,CAAC,CAAC;KAC7C;AAED,IAAA,sBAAsB,CAAC,cAAuB,EAAA;AAC5C,QAAA,IAAI,cAAc,EAAE;YAClB,IAAI,IAAI,CAAC,mBAAmB,EAAE;AAC5B,gBAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;AACtB,aAAA;AAAM,iBAAA;AACL,gBAAA,MAAM,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;gBACtF,MAAM,KAAK,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;AAE/D,gBAAA,IAAI,CAAC,oBAAoB,IAAI,IAAI,CAAC,QAAQ,EAAE;AAC1C,oBAAA,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC3B,iBAAA;AACD,gBAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC7B,aAAA;AACF,SAAA;KACF;;AAGD,IAAA,gBAAgB,CAAC,KAAiC,EAAA;AAChD,QAAA,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAqB,CAAC,EAAE;YAC9E,OAAO;AACR,SAAA;QAED,IAAI,IAAI,CAAC,cAAc,EAAE;AACvB,YAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;AAC/E,SAAA;KACF;;AAGD,IAAA,cAAc,CAAC,KAAiC,EAAA;AAC9C,QAAA,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAqB,CAAC,EAAE;YAC9E,OAAO;AACR,SAAA;QAED,IAAI,IAAI,CAAC,UAAU,EAAE;AACnB,YAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;AAC3E,SAAA;KACF;AAED;;;;;AAKG;IACH,cAAc,CAAC,QAAgB,EAAE,MAAc,EAAA;AAC7C,QAAA,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;AAErC,QAAA,IAAI,QAAQ,EAAE;AACZ,YAAA,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACtB,SAAA;AAED,QAAA,IAAI,MAAM,EAAE;AACV,YAAA,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;AAC/B,SAAA;AAED,QAAA,OAAO,KAAK,CAAC;KACd;AAED;;;;;AAKG;IACG,eAAe,CAAC,MAAc,EAAE,QAAgB,EAAA;;AACpD,YAAA,MAAM,KAAK,GAAG;AACZ,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,KAAK,EAAE,IAAI;aACZ,CAAC;YAEF,IAAI,MAAM,IAAI,QAAQ,EAAE;gBACtB,IAAI;AACF,oBAAA,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;oBACjE,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;oBAEhC,IAAI,GAAG,IAAI,CAAC,EAAE;wBACZ,OAAO;4BACL,IAAI,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,IAAI;4BAC1B,KAAK,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,IAAI;yBAC5B,CAAC;AACH,qBAAA;AAAM,yBAAA;AACL,wBAAA,OAAO,KAAK,CAAC;AACd,qBAAA;AACF,iBAAA;gBAAC,OAAM,EAAA,EAAA;AACN,oBAAA,OAAO,KAAK,CAAC;AACd,iBAAA;AACF,aAAA;AAAM,iBAAA;AACL,gBAAA,OAAO,KAAK,CAAC;AACd,aAAA;SACF,CAAA,CAAA;AAAA,KAAA;AAED;;;;;AAKG;IACG,UAAU,CAAC,MAAc,EAAE,QAAiB,EAAA;;YAChD,IAAI,CAAC,MAAM,KAAK,gBAAgB,IAAI,MAAM,KAAK,WAAW,KAAK,QAAQ,EAAE;AACvE,gBAAA,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,4BAA4B,CAAC,IAAI,YAAY,CAAC;AACnF,gBAAA,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,kCAAkC,CAAC,IAAI,MAAM,CAAC;AACzF,gBAAA,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU;qBAChC,eAAe,CAAC,QAAQ,EAAE;;oBAEzB,MAAM,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;AAC1C,oBAAA,KAAK,EAAE,eAAe;iBACvB,CAAC;AACD,qBAAA,SAAS,EAAE,CAAC;AAEf,gBAAA,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC;gBAC3D,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;AAE3C,gBAAA,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC;AACrC,aAAA;YAED,IAAI,MAAM,KAAK,WAAW,EAAE;AAC1B,gBAAA,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU;qBAChC,YAAY,CAAC,MAAM,EAAE;AACpB,oBAAA,KAAK,EAAE,uBAAuB;oBAC9B,MAAM,EAAE,CAAC,QAAQ,CAAC;iBACnB,CAAC;AACD,qBAAA,SAAS,EAAE,CAAC;AAEf,gBAAA,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,uBAAuB,CAAC,IAAI,YAAY,CAAC;AAC9E,gBAAA,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,6BAA6B,CAAC,IAAI,MAAM,CAAC;gBACpF,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACrE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;AAEzC,gBAAA,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;AAC/B,aAAA;YAED,IAAI,MAAM,KAAK,QAAQ,EAAE;AACvB,gBAAA,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,oBAAoB,CAAC,IAAI,YAAY,CAAC;AAC9E,gBAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,0BAA0B,CAAC,IAAI,MAAM,CAAC;AAEpF,gBAAA,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU;AAChC,qBAAA,eAAe,CAAC;oBACf,MAAM,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;iBAClD,CAAC;AACD,qBAAA,SAAS,EAAE,CAAC;AAEf,gBAAA,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC;gBAC3D,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,gBAAgB,CAAC,CAAC;AAEjD,gBAAA,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,MAAM,CAAC,CAAC;AACzC,aAAA;YAED,IAAI,MAAM,KAAK,cAAc,EAAE;AAC7B,gBAAA,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,CAAC;AACnE,gBAAA,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;AACjC,gBAAA,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,0BAA0B,CAAC,IAAI,YAAY,CAAC;AACpF,gBAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,gCAAgC,CAAC,IAAI,MAAM,CAAC;AAE1F,gBAAA,MAAM,KAAK,GAAkB;AAC3B,oBAAA,KAAK,EAAE;AACL,wBAAA,KAAK,EAAE,GAAG;AACV,wBAAA,QAAQ,EAAE,MAAM;AACjB,qBAAA;AACD,oBAAA,aAAa,EAAE;wBACb,EAAE,KAAK,EAAE,CAAA,4CAAA,CAA8C,EAAE;AACzD,wBAAA,EAAE,KAAK,EAAE,CAAA,YAAA,EAAe,QAAQ,CAAkB,eAAA,EAAA,QAAQ,EAAE,EAAE;AAC9D,wBAAA;4BACE,KAAK,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC;AAC5C,yBAAA;AACF,qBAAA;oBACD,MAAM,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;AAC7C,oBAAA,OAAO,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,qBAAqB,CAAC;AACtD,oBAAA,IAAI,EAAE;AACJ,wBAAA;AACE,4BAAA,IAAI,EAAE,OAAO;AACb,4BAAA,KAAK,EAAE,aAAa;AACpB,4BAAA,SAAS,EAAE,KAAK;AACjB,yBAAA;AACF,qBAAA;iBACF,CAAC;AACF,gBAAA,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,EAAE,CAAC;AAE9D,gBAAA,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC;gBAC3D,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,gBAAgB,CAAC,CAAC;AAEjD,gBAAA,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC;AACrC,aAAA;AAED,YAAA,OAAO,EAAE,CAAC;SACX,CAAA,CAAA;AAAA,KAAA;AAEO,IAAA,IAAI,CAAC,KAAY,EAAE,GAAW,EAAE,SAAiB,EAAA;QACvD,MAAM,OAAO,GAAyB,EAAE,CAAC;QAEzC,IAAI,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,GAAG,KAAK,MAAM,EAAE;AACjD,YAAA,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;AACxB,SAAA;QAED,KAAK,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,CAAM,KAAI;;AAC5B,YAAA,IAAI,IAAI,GAAG,CAAA,EAAA,GAAA,WAAW,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,EAAE,CAAC;YAC9C,IAAI,GAAG,IAAI,YAAY,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;AAE1E,YAAA,IAAI,KAAK,GAAG,CAAA,EAAA,GAAA,WAAW,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,EAAE,CAAC;YAC/C,KAAK,GAAG,KAAK,YAAY,IAAI,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;AAE9E,YAAA,OAAO,SAAS,KAAK,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;AAC7H,SAAC,CAAC,CAAC;KACJ;AAED;;;;;AAKG;AACH,IAAA,YAAY,CAAC,IAAY,EAAA;AACvB,QAAA,IAAI,IAAI,EAAE;YACR,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3B,SAAA;AACD,QAAA,OAAO,IAAI,CAAC;KACb;AAEO,IAAA,qBAAqB,CAAC,GAAW,EAAA;QACvC,MAAM,OAAO,GAAY,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACnD,MAAM,eAAe,GAAoB,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QAE/E,IAAI,CAAC,eAAe,EAAE;YACpB,OAAO,CAAC,GAAG,CAAC,CAAC;AACd,SAAA;AAED,QAAA,MAAM,WAAW,GAAiB,eAAe,CAAC,QAAQ,CAAC;AAE3D,QAAA,OAAO,WAAW,CAAC,MAAM,CAAC,UAAU,GAAG,EAAE,IAAI,EAAA;YAC3C,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;AACrC,YAAA,OAAO,GAAG,CAAC;SACZ,EAAE,EAAE,CAAC,CAAC;KACR;AAEO,IAAA,cAAc,CAAC,OAAoB,EAAA;AACzC,QAAA,IAAI,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;QAE3C,OAAO,cAAc,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE;AAChE,YAAA,cAAc,GAAG,cAAc,CAAC,aAAa,CAAC;AAC/C,SAAA;QAED,OAAO,CAAC,CAAC,cAAc,CAAC;KACzB;AAEO,IAAA,OAAO,CAAC,IAAkB,EAAA;QAChC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,SAAiB,KAAK,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;KACxG;;6GAxZU,gBAAgB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,sBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,cAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,eAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,OAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,cAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAhB,gBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,gBAAgB,ECrD7B,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,aAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,kBAAA,EAAA,6BAAA,EAAA,EAAA,cAAA,EAAA,aAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,8uCAkCA,EDYY,MAAA,EAAA,CAAA,uXAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,EAAE,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,EAAE,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,6BAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,oBAAoB,EAAE,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,WAAA,EAAA,cAAA,EAAA,YAAA,EAAA,YAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,eAAA,EAAA,mBAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,mBAAA,EAAA,kBAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,sBAAA,EAAA,qBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,mBAAA,EAAA,gBAAA,EAAA,cAAA,EAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,mBAAmB,EAAE,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,wBAAwB,mGAAE,gBAAgB,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;2FAOhH,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAT5B,SAAS;iCACI,IAAI,EAAA,OAAA,EACP,CAAC,YAAY,EAAE,YAAY,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,gBAAgB,CAAC,EAAA,QAAA,EAClH,aAAa,EAAA,aAAA,EAGR,iBAAiB,CAAC,IAAI,EAAA,IAAA,EAC/B,EAAE,KAAK,EAAE,aAAa,EAAE,EAAA,QAAA,EAAA,8uCAAA,EAAA,MAAA,EAAA,CAAA,uXAAA,CAAA,EAAA,CAAA;kRAkJ9B,mBAAmB,EAAA,CAAA;sBADlB,YAAY;uBAAC,kBAAkB,EAAE,CAAC,QAAQ,CAAC,CAAA;;;AEpM9C;;;;;;;;;;;;;;;;;;;;;;AAsBG;MASU,aAAa,CAAA;;0GAAb,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;2GAAb,aAAa,EAAA,OAAA,EAAA,CAHd,gBAAgB,CAAA,EAAA,OAAA,EAAA,CAChB,gBAAgB,CAAA,EAAA,CAAA,CAAA;AAEf,aAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,YAHd,gBAAgB,CAAA,EAAA,CAAA,CAAA;2FAGf,aAAa,EAAA,UAAA,EAAA,CAAA;kBAJzB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,gBAAgB,CAAC;oBAC3B,OAAO,EAAE,CAAC,gBAAgB,CAAC;iBAC5B,CAAA;;;AC9BD;;;;;;;;;;;;;;;;;;;;;;AAsBG;;ACtBH;;AAEG;;;;"}
@@ -74,6 +74,7 @@ class AcaViewerComponent {
74
74
  return this._versionsApi;
75
75
  }
76
76
  ngOnInit() {
77
+ var _a;
77
78
  this.infoDrawerOpened$ = this.store.select(isInfoDrawerOpened);
78
79
  from(this.infoDrawerOpened$)
79
80
  .pipe(takeUntil(this.onDestroy$))
@@ -116,7 +117,7 @@ class AcaViewerComponent {
116
117
  this.route.queryParams.subscribe((params) => {
117
118
  this.navigationPath = params.path || params.location;
118
119
  });
119
- if (this.route.snapshot.data && this.route.snapshot.data.navigateSource) {
120
+ if ((_a = this.route.snapshot.data) === null || _a === void 0 ? void 0 : _a.navigateSource) {
120
121
  const source = this.route.snapshot.data.navigateSource.toLowerCase();
121
122
  if (this.navigationSources.includes(source)) {
122
123
  this.navigateSource = this.route.snapshot.data.navigateSource;
@@ -153,7 +154,7 @@ class AcaViewerComponent {
153
154
  return obj.id;
154
155
  }
155
156
  displayNode(nodeId) {
156
- var _a, _b, _c, _d;
157
+ var _a, _b, _c, _d, _e;
157
158
  return __awaiter(this, void 0, void 0, function* () {
158
159
  if (nodeId) {
159
160
  try {
@@ -165,12 +166,12 @@ class AcaViewerComponent {
165
166
  this.fileName = this.node.name + ((_b = (_a = this.node) === null || _a === void 0 ? void 0 : _a.properties) === null || _b === void 0 ? void 0 : _b['cm:versionLabel']);
166
167
  return;
167
168
  }
168
- if (this.node && this.node.isFile) {
169
+ if ((_c = this.node) === null || _c === void 0 ? void 0 : _c.isFile) {
169
170
  const nearest = yield this.getNearestNodes(this.node.id, this.node.parentId);
170
171
  this.nodeId = this.node.id;
171
172
  this.previousNodeId = nearest.left;
172
173
  this.nextNodeId = nearest.right;
173
- this.fileName = this.node.name + ((_d = (_c = this.node) === null || _c === void 0 ? void 0 : _c.properties) === null || _d === void 0 ? void 0 : _d['cm:versionLabel']);
174
+ this.fileName = this.node.name + ((_e = (_d = this.node) === null || _d === void 0 ? void 0 : _d.properties) === null || _e === void 0 ? void 0 : _e['cm:versionLabel']);
174
175
  return;
175
176
  }
176
177
  }
@@ -329,10 +330,8 @@ class AcaViewerComponent {
329
330
  return path;
330
331
  }
331
332
  handleKeyboardEvent(event) {
332
- const key = event.keyCode;
333
- const rightArrow = 39;
334
- const leftArrow = 37;
335
- if (key === rightArrow || key === leftArrow) {
333
+ const key = event.key;
334
+ if (key === 'ArrowRight' || key === 'ArrowLeft') {
336
335
  event.preventDefault();
337
336
  event.stopImmediatePropagation();
338
337
  }
@@ -343,20 +342,11 @@ class AcaViewerComponent {
343
342
  options.numeric = true;
344
343
  }
345
344
  items.sort((a, b) => {
346
- let left = ObjectUtils.getValue(a, key);
347
- if (left) {
348
- left = left instanceof Date ? left.valueOf().toString() : left.toString();
349
- }
350
- else {
351
- left = '';
352
- }
353
- let right = ObjectUtils.getValue(b, key);
354
- if (right) {
355
- right = right instanceof Date ? right.valueOf().toString() : right.toString();
356
- }
357
- else {
358
- right = '';
359
- }
345
+ var _a, _b;
346
+ let left = (_a = ObjectUtils.getValue(a, key)) !== null && _a !== void 0 ? _a : '';
347
+ left = left instanceof Date ? left.valueOf().toString() : left.toString();
348
+ let right = (_b = ObjectUtils.getValue(b, key)) !== null && _b !== void 0 ? _b : '';
349
+ right = right instanceof Date ? right.valueOf().toString() : right.toString();
360
350
  return direction === 'asc' ? left.localeCompare(right, undefined, options) : right.localeCompare(left, undefined, options);
361
351
  });
362
352
  }
@@ -1 +1 @@
1
- {"version":3,"file":"alfresco-aca-content-viewer.mjs","sources":["../../../../projects/aca-content/viewer/src/lib/components/viewer/viewer.component.ts","../../../../projects/aca-content/viewer/src/lib/components/viewer/viewer.component.html","../../../../projects/aca-content/viewer/src/lib/viewer.module.ts","../../../../projects/aca-content/viewer/src/public-api.ts","../../../../projects/aca-content/viewer/src/alfresco-aca-content-viewer.ts"],"sourcesContent":["/*!\n * Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Alfresco Example Content Application\n *\n * This file is part of the Alfresco Example Content Application.\n * If the software was purchased under a paid Alfresco license, the terms of\n * the paid license agreement will prevail. Otherwise, the software is\n * provided under the following open source license terms:\n *\n * The Alfresco Example Content Application is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Lesser General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * The Alfresco Example Content Application is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.\n */\n\nimport {\n AppExtensionService,\n AppHookService,\n ContentApiService,\n InfoDrawerComponent,\n ToolbarComponent,\n ToolbarMenuItemComponent\n} from '@alfresco/aca-shared';\nimport {\n AppStore,\n ClosePreviewAction,\n getAppSelection,\n isInfoDrawerOpened,\n RefreshPreviewAction,\n ReloadDocumentListAction,\n SetCurrentNodeVersionAction,\n SetSelectedNodesAction,\n ViewerActionTypes,\n ViewNodeAction\n} from '@alfresco/aca-shared/store';\nimport { ContentActionRef, SelectionState } from '@alfresco/adf-extensions';\nimport { Node, SearchRequest, VersionEntry, VersionsApi } from '@alfresco/js-api';\nimport { Component, HostListener, OnDestroy, OnInit, ViewEncapsulation } from '@angular/core';\nimport { ActivatedRoute, PRIMARY_OUTLET, Router } from '@angular/router';\nimport { AlfrescoApiService, AppConfigModule, ObjectUtils, UserPreferencesService, ViewerModule } from '@alfresco/adf-core';\nimport { Store } from '@ngrx/store';\nimport { from, Observable, Subject } from 'rxjs';\nimport { debounceTime, takeUntil } from 'rxjs/operators';\nimport { Actions, ofType } from '@ngrx/effects';\nimport { AlfrescoViewerModule, NodesApiService, UploadService } from '@alfresco/adf-content-services';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n standalone: true,\n imports: [CommonModule, ViewerModule, AlfrescoViewerModule, InfoDrawerComponent, AppConfigModule, ToolbarMenuItemComponent, ToolbarComponent],\n selector: 'aca-viewer',\n templateUrl: './viewer.component.html',\n styleUrls: ['./viewer.component.scss'],\n encapsulation: ViewEncapsulation.None,\n host: { class: 'app-viewer' }\n})\nexport class AcaViewerComponent implements OnInit, OnDestroy {\n private _versionsApi: VersionsApi;\n get versionsApi(): VersionsApi {\n this._versionsApi = this._versionsApi ?? new VersionsApi(this.apiService.getInstance());\n return this._versionsApi;\n }\n\n onDestroy$ = new Subject<boolean>();\n\n fileName: string;\n folderId: string = null;\n nodeId: string = null;\n versionId: string = null;\n node: Node;\n selection: SelectionState;\n infoDrawerOpened$: Observable<boolean>;\n\n showRightSide = false;\n openWith: ContentActionRef[] = [];\n toolbarActions: ContentActionRef[] = [];\n\n navigateSource: string = null;\n previousNodeId: string;\n nextNodeId: string;\n navigateMultiple = true;\n routesSkipNavigation = ['shared', 'recent-files', 'favorites'];\n navigationSources = ['favorites', 'libraries', 'personal-files', 'recent-files', 'shared'];\n recentFileFilters = [\n 'TYPE:\"content\"',\n '-PNAME:\"0/wiki\"',\n '-TYPE:\"app:filelink\"',\n '-TYPE:\"fm:post\"',\n '-TYPE:\"cm:thumbnail\"',\n '-TYPE:\"cm:failedThumbnail\"',\n '-TYPE:\"cm:rating\"',\n '-TYPE:\"dl:dataList\"',\n '-TYPE:\"dl:todoList\"',\n '-TYPE:\"dl:issue\"',\n '-TYPE:\"dl:contact\"',\n '-TYPE:\"dl:eventAgenda\"',\n '-TYPE:\"dl:event\"',\n '-TYPE:\"dl:task\"',\n '-TYPE:\"dl:simpletask\"',\n '-TYPE:\"dl:meetingAgenda\"',\n '-TYPE:\"dl:location\"',\n '-TYPE:\"fm:topic\"',\n '-TYPE:\"fm:post\"',\n '-TYPE:\"ia:calendarEvent\"',\n '-TYPE:\"lnk:link\"'\n ];\n\n private navigationPath: string;\n private previewLocation: string;\n private containersSkipNavigation = ['adf-viewer__sidebar', 'cdk-overlay-container', 'adf-image-viewer'];\n\n constructor(\n private router: Router,\n private route: ActivatedRoute,\n private store: Store<AppStore>,\n private extensions: AppExtensionService,\n private contentApi: ContentApiService,\n private actions$: Actions,\n private preferences: UserPreferencesService,\n private apiService: AlfrescoApiService,\n private nodesApiService: NodesApiService,\n private uploadService: UploadService,\n private appHookService: AppHookService\n ) {}\n\n ngOnInit() {\n this.infoDrawerOpened$ = this.store.select(isInfoDrawerOpened);\n\n from(this.infoDrawerOpened$)\n .pipe(takeUntil(this.onDestroy$))\n .subscribe((val) => {\n this.showRightSide = val;\n });\n\n this.store\n .select(getAppSelection)\n .pipe(takeUntil(this.onDestroy$))\n .subscribe((selection) => {\n this.selection = selection;\n });\n\n this.extensions\n .getViewerToolbarActions()\n .pipe(takeUntil(this.onDestroy$))\n .subscribe((actions) => {\n this.toolbarActions = actions;\n });\n\n this.extensions\n .getOpenWithActions()\n .pipe(takeUntil(this.onDestroy$))\n .subscribe((actions) => {\n this.openWith = actions;\n });\n\n this.route.params.subscribe((params) => {\n this.folderId = params.folderId;\n const { nodeId } = params;\n this.versionId = params.versionId;\n if (this.versionId) {\n this.versionsApi.getVersion(nodeId, this.versionId).then((version: VersionEntry) => {\n if (version) {\n this.store.dispatch(new SetCurrentNodeVersionAction(version));\n }\n });\n }\n if (nodeId) {\n this.displayNode(nodeId);\n }\n });\n\n this.route.queryParams.subscribe((params) => {\n this.navigationPath = params.path || params.location;\n });\n\n if (this.route.snapshot.data && this.route.snapshot.data.navigateSource) {\n const source = this.route.snapshot.data.navigateSource.toLowerCase();\n if (this.navigationSources.includes(source)) {\n this.navigateSource = this.route.snapshot.data.navigateSource;\n }\n }\n\n this.actions$.pipe(ofType<ClosePreviewAction>(ViewerActionTypes.ClosePreview), takeUntil(this.onDestroy$)).subscribe(() => {\n this.store.dispatch(new SetCurrentNodeVersionAction(null));\n this.navigateToFileLocation();\n });\n\n this.actions$\n .pipe(ofType<RefreshPreviewAction>(ViewerActionTypes.RefreshPreview), takeUntil(this.onDestroy$))\n .subscribe((action: RefreshPreviewAction) => {\n this.displayNode(action?.payload?.entry?.id);\n });\n\n this.appHookService.nodesDeleted.pipe(takeUntil(this.onDestroy$)).subscribe(() => this.navigateToFileLocation());\n\n this.uploadService.fileUploadDeleted.pipe(takeUntil(this.onDestroy$)).subscribe(() => this.navigateToFileLocation());\n\n this.uploadService.fileUploadComplete.pipe(debounceTime(300), takeUntil(this.onDestroy$)).subscribe((file) => {\n this.nodesApiService.nodeUpdated.next(file.data.entry);\n this.displayNode(file.data.entry.id);\n });\n\n this.previewLocation = this.router.url.substring(0, this.router.url.indexOf('/', 1)).replace(/\\//g, '');\n }\n\n onViewerVisibilityChanged() {\n this.store.dispatch(new ReloadDocumentListAction());\n this.navigateToFileLocation();\n }\n\n ngOnDestroy() {\n this.store.dispatch(new SetCurrentNodeVersionAction(null));\n this.onDestroy$.next(true);\n this.onDestroy$.complete();\n }\n\n trackByActionId(_: number, obj: ContentActionRef): string {\n return obj.id;\n }\n\n async displayNode(nodeId: string) {\n if (nodeId) {\n try {\n this.node = await this.contentApi.getNodeInfo(nodeId).toPromise();\n this.store.dispatch(new SetSelectedNodesAction([{ entry: this.node }]));\n this.navigateMultiple = this.extensions.canShowViewerNavigation({ entry: this.node });\n if (!this.navigateMultiple) {\n this.nodeId = this.node.id;\n this.fileName = this.node.name + this.node?.properties?.['cm:versionLabel'];\n return;\n }\n\n if (this.node && this.node.isFile) {\n const nearest = await this.getNearestNodes(this.node.id, this.node.parentId);\n this.nodeId = this.node.id;\n this.previousNodeId = nearest.left;\n this.nextNodeId = nearest.right;\n this.fileName = this.node.name + this.node?.properties?.['cm:versionLabel'];\n return;\n }\n } catch (error) {\n const statusCode = JSON.parse(error.message).error.statusCode;\n\n if (statusCode !== 401) {\n this.router.navigate([this.previewLocation, { outlets: { viewer: null } }]).then(() => {\n this.router.navigate([this.previewLocation, nodeId]);\n });\n }\n }\n }\n }\n\n onNavigateBefore(event: MouseEvent | KeyboardEvent): void {\n if (event.type !== 'click' && this.shouldNavigate(event.target as HTMLElement)) {\n return;\n }\n\n const location = this.getFileLocation();\n this.store.dispatch(new ViewNodeAction(this.previousNodeId, { location }));\n }\n\n onNavigateNext(event: MouseEvent | KeyboardEvent): void {\n if (event.type !== 'click' && this.shouldNavigate(event.target as HTMLElement)) {\n return;\n }\n\n const location = this.getFileLocation();\n this.store.dispatch(new ViewNodeAction(this.nextNodeId, { location }));\n }\n\n /**\n * Retrieves nearest node information for the given node and folder.\n *\n * @param nodeId Unique identifier of the document node\n * @param folderId Unique identifier of the containing folder node.\n */\n async getNearestNodes(nodeId: string, folderId: string): Promise<{ left: string; right: string }> {\n const empty = {\n left: null,\n right: null\n };\n\n if (nodeId && folderId) {\n try {\n const ids = await this.getFileIds(this.navigateSource, folderId);\n const idx = ids.indexOf(nodeId);\n\n if (idx >= 0) {\n return {\n left: ids[idx - 1] || null,\n right: ids[idx + 1] || null\n };\n } else {\n return empty;\n }\n } catch {\n return empty;\n }\n } else {\n return empty;\n }\n }\n\n /**\n * Retrieves a list of node identifiers for the folder and data source.\n *\n * @param source Data source name. Allowed values are: personal-files, libraries, favorites, shared, recent-files.\n * @param folderId Containing folder node identifier for 'personal-files' and 'libraries' sources.\n */\n async getFileIds(source: string, folderId?: string): Promise<string[]> {\n if ((source === 'personal-files' || source === 'libraries') && folderId) {\n const sortKey = this.preferences.get('personal-files.sorting.key') || 'modifiedAt';\n const sortDirection = this.preferences.get('personal-files.sorting.direction') || 'desc';\n const nodes = await this.contentApi\n .getNodeChildren(folderId, {\n // orderBy: `${sortKey} ${sortDirection}`,\n fields: ['id', this.getRootField(sortKey)],\n where: '(isFile=true)'\n })\n .toPromise();\n\n const entries = nodes.list.entries.map((obj) => obj.entry);\n this.sort(entries, sortKey, sortDirection);\n\n return entries.map((obj) => obj.id);\n }\n\n if (source === 'favorites') {\n const nodes = await this.contentApi\n .getFavorites('-me-', {\n where: '(EXISTS(target/file))',\n fields: ['target']\n })\n .toPromise();\n\n const sortKey = this.preferences.get('favorites.sorting.key') || 'modifiedAt';\n const sortDirection = this.preferences.get('favorites.sorting.direction') || 'desc';\n const files = nodes.list.entries.map((obj) => obj.entry.target.file);\n this.sort(files, sortKey, sortDirection);\n\n return files.map((f) => f.id);\n }\n\n if (source === 'shared') {\n const sortingKey = this.preferences.get('shared.sorting.key') || 'modifiedAt';\n const sortingDirection = this.preferences.get('shared.sorting.direction') || 'desc';\n\n const nodes = await this.contentApi\n .findSharedLinks({\n fields: ['nodeId', this.getRootField(sortingKey)]\n })\n .toPromise();\n\n const entries = nodes.list.entries.map((obj) => obj.entry);\n this.sort(entries, sortingKey, sortingDirection);\n\n return entries.map((obj) => obj.nodeId);\n }\n\n if (source === 'recent-files') {\n const person = await this.contentApi.getPerson('-me-').toPromise();\n const username = person.entry.id;\n const sortingKey = this.preferences.get('recent-files.sorting.key') || 'modifiedAt';\n const sortingDirection = this.preferences.get('recent-files.sorting.direction') || 'desc';\n\n const query: SearchRequest = {\n query: {\n query: '*',\n language: 'afts'\n },\n filterQueries: [\n { query: `cm:modified:[NOW/DAY-30DAYS TO NOW/DAY+1DAY]` },\n { query: `cm:modifier:${username} OR cm:creator:${username}` },\n {\n query: this.recentFileFilters.join(' AND ')\n }\n ],\n fields: ['id', this.getRootField(sortingKey)],\n include: ['path', 'properties', 'allowableOperations'],\n sort: [\n {\n type: 'FIELD',\n field: 'cm:modified',\n ascending: false\n }\n ]\n };\n const nodes = await this.contentApi.search(query).toPromise();\n\n const entries = nodes.list.entries.map((obj) => obj.entry);\n this.sort(entries, sortingKey, sortingDirection);\n\n return entries.map((obj) => obj.id);\n }\n\n return [];\n }\n\n /**\n * Get the root field name from the property path.\n * Example: 'property1.some.child.property' => 'property1'\n *\n * @param path Property path\n */\n getRootField(path: string) {\n if (path) {\n return path.split('.')[0];\n }\n return path;\n }\n\n @HostListener('document:keydown', ['$event'])\n handleKeyboardEvent(event: KeyboardEvent) {\n const key = event.keyCode;\n const rightArrow = 39;\n const leftArrow = 37;\n\n if (key === rightArrow || key === leftArrow) {\n event.preventDefault();\n event.stopImmediatePropagation();\n }\n }\n\n private sort(items: any[], key: string, direction: string) {\n const options: Intl.CollatorOptions = {};\n\n if (key.includes('sizeInBytes') || key === 'name') {\n options.numeric = true;\n }\n\n items.sort((a: any, b: any) => {\n let left = ObjectUtils.getValue(a, key);\n if (left) {\n left = left instanceof Date ? left.valueOf().toString() : left.toString();\n } else {\n left = '';\n }\n\n let right = ObjectUtils.getValue(b, key);\n if (right) {\n right = right instanceof Date ? right.valueOf().toString() : right.toString();\n } else {\n right = '';\n }\n\n return direction === 'asc' ? left.localeCompare(right, undefined, options) : right.localeCompare(left, undefined, options);\n });\n }\n\n private navigateToFileLocation() {\n const location = this.getFileLocation();\n this.router.navigateByUrl(location);\n }\n\n private getFileLocation(): string {\n return this.navigationPath || this.router.parseUrl(this.router.url).root.children[PRIMARY_OUTLET].toString();\n }\n\n private shouldNavigate(element: HTMLElement): boolean {\n let currentElement = element.parentElement;\n\n while (currentElement && !this.isChild(currentElement.classList)) {\n currentElement = currentElement.parentElement;\n }\n\n return !!currentElement;\n }\n\n private isChild(list: DOMTokenList): boolean {\n return Array.from(list).some((className: string) => this.containersSkipNavigation.includes(className));\n }\n}\n","<ng-container *ngIf=\"nodeId\">\n <adf-alfresco-viewer\n [ngClass]=\"{\n 'right_side--hide': !showRightSide\n }\"\n [maxRetries]=\"'viewer.maxRetries' | adfAppConfig\"\n [nodeId]=\"nodeId\"\n [versionId]=\"versionId\"\n [allowNavigate]=\"navigateMultiple\"\n [allowRightSidebar]=\"true\"\n [allowPrint]=\"false\"\n [showRightSidebar]=\"true\"\n [allowDownload]=\"false\"\n [allowFullScreen]=\"false\"\n [overlayMode]=\"true\"\n (showViewerChange)=\"onViewerVisibilityChanged()\"\n [canNavigateBefore]=\"!!previousNodeId\"\n [canNavigateNext]=\"!!nextNodeId\"\n (navigateBefore)=\"onNavigateBefore($event)\"\n (navigateNext)=\"onNavigateNext($event)\"\n >\n <adf-viewer-sidebar *ngIf=\"infoDrawerOpened$ | async\">\n <aca-info-drawer [node]=\"selection.file\"></aca-info-drawer>\n </adf-viewer-sidebar>\n\n <adf-viewer-open-with *ngIf=\"openWith.length\">\n <ng-container *ngFor=\"let action of openWith; trackBy: trackByActionId\">\n <app-toolbar-menu-item [actionRef]=\"action\"></app-toolbar-menu-item>\n </ng-container>\n </adf-viewer-open-with>\n\n <adf-viewer-toolbar-actions>\n <aca-toolbar [items]=\"toolbarActions\"></aca-toolbar>\n </adf-viewer-toolbar-actions>\n </adf-alfresco-viewer>\n</ng-container>\n","/*!\n * Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Alfresco Example Content Application\n *\n * This file is part of the Alfresco Example Content Application.\n * If the software was purchased under a paid Alfresco license, the terms of\n * the paid license agreement will prevail. Otherwise, the software is\n * provided under the following open source license terms:\n *\n * The Alfresco Example Content Application is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Lesser General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * The Alfresco Example Content Application is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.\n */\n\nimport { NgModule } from '@angular/core';\nimport { AcaViewerComponent } from './components/viewer/viewer.component';\nimport { RouterModule, Routes } from '@angular/router';\n\nconst routes: Routes = [\n {\n path: '',\n data: {\n title: 'APP.PREVIEW.TITLE',\n navigateMultiple: true\n },\n component: AcaViewerComponent\n }\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes), AcaViewerComponent],\n exports: [AcaViewerComponent]\n})\nexport class AcaViewerModule {}\n","/*!\n * Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Alfresco Example Content Application\n *\n * This file is part of the Alfresco Example Content Application.\n * If the software was purchased under a paid Alfresco license, the terms of\n * the paid license agreement will prevail. Otherwise, the software is\n * provided under the following open source license terms:\n *\n * The Alfresco Example Content Application is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Lesser General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * The Alfresco Example Content Application is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.\n */\n\n/*\n * Public API Surface of aca-viewer\n */\n\nexport * from './lib/components/viewer/viewer.component';\nexport * from './lib/viewer.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;MAiEa,kBAAkB,CAAA;IAuD7B,WACU,CAAA,MAAc,EACd,KAAqB,EACrB,KAAsB,EACtB,UAA+B,EAC/B,UAA6B,EAC7B,QAAiB,EACjB,WAAmC,EACnC,UAA8B,EAC9B,eAAgC,EAChC,aAA4B,EAC5B,cAA8B,EAAA;AAV9B,QAAA,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;AACd,QAAA,IAAK,CAAA,KAAA,GAAL,KAAK,CAAgB;AACrB,QAAA,IAAK,CAAA,KAAA,GAAL,KAAK,CAAiB;AACtB,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAqB;AAC/B,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAmB;AAC7B,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAS;AACjB,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAwB;AACnC,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAoB;AAC9B,QAAA,IAAe,CAAA,eAAA,GAAf,eAAe,CAAiB;AAChC,QAAA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;AAC5B,QAAA,IAAc,CAAA,cAAA,GAAd,cAAc,CAAgB;AA3DxC,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,OAAO,EAAW,CAAC;AAGpC,QAAA,IAAQ,CAAA,QAAA,GAAW,IAAI,CAAC;AACxB,QAAA,IAAM,CAAA,MAAA,GAAW,IAAI,CAAC;AACtB,QAAA,IAAS,CAAA,SAAA,GAAW,IAAI,CAAC;AAKzB,QAAA,IAAa,CAAA,aAAA,GAAG,KAAK,CAAC;AACtB,QAAA,IAAQ,CAAA,QAAA,GAAuB,EAAE,CAAC;AAClC,QAAA,IAAc,CAAA,cAAA,GAAuB,EAAE,CAAC;AAExC,QAAA,IAAc,CAAA,cAAA,GAAW,IAAI,CAAC;AAG9B,QAAA,IAAgB,CAAA,gBAAA,GAAG,IAAI,CAAC;QACxB,IAAoB,CAAA,oBAAA,GAAG,CAAC,QAAQ,EAAE,cAAc,EAAE,WAAW,CAAC,CAAC;AAC/D,QAAA,IAAA,CAAA,iBAAiB,GAAG,CAAC,WAAW,EAAE,WAAW,EAAE,gBAAgB,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC;QAC3F,IAAA,CAAA,iBAAiB,GAAG;YAClB,gBAAgB;YAChB,iBAAiB;YACjB,sBAAsB;YACtB,iBAAiB;YACjB,sBAAsB;YACtB,4BAA4B;YAC5B,mBAAmB;YACnB,qBAAqB;YACrB,qBAAqB;YACrB,kBAAkB;YAClB,oBAAoB;YACpB,wBAAwB;YACxB,kBAAkB;YAClB,iBAAiB;YACjB,uBAAuB;YACvB,0BAA0B;YAC1B,qBAAqB;YACrB,kBAAkB;YAClB,iBAAiB;YACjB,0BAA0B;YAC1B,kBAAkB;SACnB,CAAC;QAIM,IAAwB,CAAA,wBAAA,GAAG,CAAC,qBAAqB,EAAE,uBAAuB,EAAE,kBAAkB,CAAC,CAAC;KAcpG;AAjEJ,IAAA,IAAI,WAAW,GAAA;;AACb,QAAA,IAAI,CAAC,YAAY,GAAG,MAAA,IAAI,CAAC,YAAY,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,IAAI,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC;QACxF,OAAO,IAAI,CAAC,YAAY,CAAC;KAC1B;IAgED,QAAQ,GAAA;QACN,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;AAE/D,QAAA,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC;AACzB,aAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAChC,aAAA,SAAS,CAAC,CAAC,GAAG,KAAI;AACjB,YAAA,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC;AAC3B,SAAC,CAAC,CAAC;AAEL,QAAA,IAAI,CAAC,KAAK;aACP,MAAM,CAAC,eAAe,CAAC;AACvB,aAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAChC,aAAA,SAAS,CAAC,CAAC,SAAS,KAAI;AACvB,YAAA,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;AAC7B,SAAC,CAAC,CAAC;AAEL,QAAA,IAAI,CAAC,UAAU;AACZ,aAAA,uBAAuB,EAAE;AACzB,aAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAChC,aAAA,SAAS,CAAC,CAAC,OAAO,KAAI;AACrB,YAAA,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;AAChC,SAAC,CAAC,CAAC;AAEL,QAAA,IAAI,CAAC,UAAU;AACZ,aAAA,kBAAkB,EAAE;AACpB,aAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAChC,aAAA,SAAS,CAAC,CAAC,OAAO,KAAI;AACrB,YAAA,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;AAC1B,SAAC,CAAC,CAAC;QAEL,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,KAAI;AACrC,YAAA,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;AAChC,YAAA,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;AAC1B,YAAA,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;YAClC,IAAI,IAAI,CAAC,SAAS,EAAE;AAClB,gBAAA,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,OAAqB,KAAI;AACjF,oBAAA,IAAI,OAAO,EAAE;wBACX,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,2BAA2B,CAAC,OAAO,CAAC,CAAC,CAAC;AAC/D,qBAAA;AACH,iBAAC,CAAC,CAAC;AACJ,aAAA;AACD,YAAA,IAAI,MAAM,EAAE;AACV,gBAAA,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;AAC1B,aAAA;AACH,SAAC,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,MAAM,KAAI;YAC1C,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC;AACvD,SAAC,CAAC,CAAC;AAEH,QAAA,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,EAAE;AACvE,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC;YACrE,IAAI,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;AAC3C,gBAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC;AAC/D,aAAA;AACF,SAAA;QAED,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAqB,iBAAiB,CAAC,YAAY,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,MAAK;YACxH,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,2BAA2B,CAAC,IAAI,CAAC,CAAC,CAAC;YAC3D,IAAI,CAAC,sBAAsB,EAAE,CAAC;AAChC,SAAC,CAAC,CAAC;AAEH,QAAA,IAAI,CAAC,QAAQ;AACV,aAAA,IAAI,CAAC,MAAM,CAAuB,iBAAiB,CAAC,cAAc,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAChG,aAAA,SAAS,CAAC,CAAC,MAA4B,KAAI;;AAC1C,YAAA,IAAI,CAAC,WAAW,CAAC,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,MAAM,KAAN,IAAA,IAAA,MAAM,KAAN,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,MAAM,CAAE,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,KAAK,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,EAAE,CAAC,CAAC;AAC/C,SAAC,CAAC,CAAC;QAEL,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC;QAEjH,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC;QAErH,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,KAAI;AAC3G,YAAA,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACvD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;AACvC,SAAC,CAAC,CAAC;AAEH,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;KACzG;IAED,yBAAyB,GAAA;QACvB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,wBAAwB,EAAE,CAAC,CAAC;QACpD,IAAI,CAAC,sBAAsB,EAAE,CAAC;KAC/B;IAED,WAAW,GAAA;QACT,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,2BAA2B,CAAC,IAAI,CAAC,CAAC,CAAC;AAC3D,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3B,QAAA,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;KAC5B;IAED,eAAe,CAAC,CAAS,EAAE,GAAqB,EAAA;QAC9C,OAAO,GAAG,CAAC,EAAE,CAAC;KACf;AAEK,IAAA,WAAW,CAAC,MAAc,EAAA;;;AAC9B,YAAA,IAAI,MAAM,EAAE;gBACV,IAAI;AACF,oBAAA,IAAI,CAAC,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,CAAC;AAClE,oBAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,sBAAsB,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AACxE,oBAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;AACtF,oBAAA,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;wBAC1B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC3B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,IAAG,CAAA,EAAA,GAAA,MAAA,IAAI,CAAC,IAAI,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,UAAU,0CAAG,iBAAiB,CAAC,CAAA,CAAC;wBAC5E,OAAO;AACR,qBAAA;oBAED,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;AACjC,wBAAA,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;wBAC7E,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;AAC3B,wBAAA,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;AACnC,wBAAA,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC;wBAChC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,IAAG,CAAA,EAAA,GAAA,MAAA,IAAI,CAAC,IAAI,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,UAAU,0CAAG,iBAAiB,CAAC,CAAA,CAAC;wBAC5E,OAAO;AACR,qBAAA;AACF,iBAAA;AAAC,gBAAA,OAAO,KAAK,EAAE;AACd,oBAAA,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC;oBAE9D,IAAI,UAAU,KAAK,GAAG,EAAE;wBACtB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAK;AACpF,4BAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC;AACvD,yBAAC,CAAC,CAAC;AACJ,qBAAA;AACF,iBAAA;AACF,aAAA;;AACF,KAAA;AAED,IAAA,gBAAgB,CAAC,KAAiC,EAAA;AAChD,QAAA,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAqB,CAAC,EAAE;YAC9E,OAAO;AACR,SAAA;AAED,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;AACxC,QAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;KAC5E;AAED,IAAA,cAAc,CAAC,KAAiC,EAAA;AAC9C,QAAA,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAqB,CAAC,EAAE;YAC9E,OAAO;AACR,SAAA;AAED,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;AACxC,QAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;KACxE;AAED;;;;;AAKG;IACG,eAAe,CAAC,MAAc,EAAE,QAAgB,EAAA;;AACpD,YAAA,MAAM,KAAK,GAAG;AACZ,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,KAAK,EAAE,IAAI;aACZ,CAAC;YAEF,IAAI,MAAM,IAAI,QAAQ,EAAE;gBACtB,IAAI;AACF,oBAAA,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;oBACjE,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;oBAEhC,IAAI,GAAG,IAAI,CAAC,EAAE;wBACZ,OAAO;4BACL,IAAI,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,IAAI;4BAC1B,KAAK,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,IAAI;yBAC5B,CAAC;AACH,qBAAA;AAAM,yBAAA;AACL,wBAAA,OAAO,KAAK,CAAC;AACd,qBAAA;AACF,iBAAA;gBAAC,OAAM,EAAA,EAAA;AACN,oBAAA,OAAO,KAAK,CAAC;AACd,iBAAA;AACF,aAAA;AAAM,iBAAA;AACL,gBAAA,OAAO,KAAK,CAAC;AACd,aAAA;SACF,CAAA,CAAA;AAAA,KAAA;AAED;;;;;AAKG;IACG,UAAU,CAAC,MAAc,EAAE,QAAiB,EAAA;;YAChD,IAAI,CAAC,MAAM,KAAK,gBAAgB,IAAI,MAAM,KAAK,WAAW,KAAK,QAAQ,EAAE;AACvE,gBAAA,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,4BAA4B,CAAC,IAAI,YAAY,CAAC;AACnF,gBAAA,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,kCAAkC,CAAC,IAAI,MAAM,CAAC;AACzF,gBAAA,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU;qBAChC,eAAe,CAAC,QAAQ,EAAE;;oBAEzB,MAAM,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;AAC1C,oBAAA,KAAK,EAAE,eAAe;iBACvB,CAAC;AACD,qBAAA,SAAS,EAAE,CAAC;AAEf,gBAAA,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC;gBAC3D,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;AAE3C,gBAAA,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC;AACrC,aAAA;YAED,IAAI,MAAM,KAAK,WAAW,EAAE;AAC1B,gBAAA,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU;qBAChC,YAAY,CAAC,MAAM,EAAE;AACpB,oBAAA,KAAK,EAAE,uBAAuB;oBAC9B,MAAM,EAAE,CAAC,QAAQ,CAAC;iBACnB,CAAC;AACD,qBAAA,SAAS,EAAE,CAAC;AAEf,gBAAA,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,uBAAuB,CAAC,IAAI,YAAY,CAAC;AAC9E,gBAAA,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,6BAA6B,CAAC,IAAI,MAAM,CAAC;gBACpF,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACrE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;AAEzC,gBAAA,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;AAC/B,aAAA;YAED,IAAI,MAAM,KAAK,QAAQ,EAAE;AACvB,gBAAA,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,oBAAoB,CAAC,IAAI,YAAY,CAAC;AAC9E,gBAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,0BAA0B,CAAC,IAAI,MAAM,CAAC;AAEpF,gBAAA,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU;AAChC,qBAAA,eAAe,CAAC;oBACf,MAAM,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;iBAClD,CAAC;AACD,qBAAA,SAAS,EAAE,CAAC;AAEf,gBAAA,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC;gBAC3D,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,gBAAgB,CAAC,CAAC;AAEjD,gBAAA,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,MAAM,CAAC,CAAC;AACzC,aAAA;YAED,IAAI,MAAM,KAAK,cAAc,EAAE;AAC7B,gBAAA,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,CAAC;AACnE,gBAAA,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;AACjC,gBAAA,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,0BAA0B,CAAC,IAAI,YAAY,CAAC;AACpF,gBAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,gCAAgC,CAAC,IAAI,MAAM,CAAC;AAE1F,gBAAA,MAAM,KAAK,GAAkB;AAC3B,oBAAA,KAAK,EAAE;AACL,wBAAA,KAAK,EAAE,GAAG;AACV,wBAAA,QAAQ,EAAE,MAAM;AACjB,qBAAA;AACD,oBAAA,aAAa,EAAE;wBACb,EAAE,KAAK,EAAE,CAAA,4CAAA,CAA8C,EAAE;AACzD,wBAAA,EAAE,KAAK,EAAE,CAAA,YAAA,EAAe,QAAQ,CAAkB,eAAA,EAAA,QAAQ,EAAE,EAAE;AAC9D,wBAAA;4BACE,KAAK,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC;AAC5C,yBAAA;AACF,qBAAA;oBACD,MAAM,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;AAC7C,oBAAA,OAAO,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,qBAAqB,CAAC;AACtD,oBAAA,IAAI,EAAE;AACJ,wBAAA;AACE,4BAAA,IAAI,EAAE,OAAO;AACb,4BAAA,KAAK,EAAE,aAAa;AACpB,4BAAA,SAAS,EAAE,KAAK;AACjB,yBAAA;AACF,qBAAA;iBACF,CAAC;AACF,gBAAA,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,EAAE,CAAC;AAE9D,gBAAA,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC;gBAC3D,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,gBAAgB,CAAC,CAAC;AAEjD,gBAAA,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC;AACrC,aAAA;AAED,YAAA,OAAO,EAAE,CAAC;SACX,CAAA,CAAA;AAAA,KAAA;AAED;;;;;AAKG;AACH,IAAA,YAAY,CAAC,IAAY,EAAA;AACvB,QAAA,IAAI,IAAI,EAAE;YACR,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3B,SAAA;AACD,QAAA,OAAO,IAAI,CAAC;KACb;AAGD,IAAA,mBAAmB,CAAC,KAAoB,EAAA;AACtC,QAAA,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC;QAC1B,MAAM,UAAU,GAAG,EAAE,CAAC;QACtB,MAAM,SAAS,GAAG,EAAE,CAAC;AAErB,QAAA,IAAI,GAAG,KAAK,UAAU,IAAI,GAAG,KAAK,SAAS,EAAE;YAC3C,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,KAAK,CAAC,wBAAwB,EAAE,CAAC;AAClC,SAAA;KACF;AAEO,IAAA,IAAI,CAAC,KAAY,EAAE,GAAW,EAAE,SAAiB,EAAA;QACvD,MAAM,OAAO,GAAyB,EAAE,CAAC;QAEzC,IAAI,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,GAAG,KAAK,MAAM,EAAE;AACjD,YAAA,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;AACxB,SAAA;QAED,KAAK,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,CAAM,KAAI;YAC5B,IAAI,IAAI,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AACxC,YAAA,IAAI,IAAI,EAAE;gBACR,IAAI,GAAG,IAAI,YAAY,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;AAC3E,aAAA;AAAM,iBAAA;gBACL,IAAI,GAAG,EAAE,CAAC;AACX,aAAA;YAED,IAAI,KAAK,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AACzC,YAAA,IAAI,KAAK,EAAE;gBACT,KAAK,GAAG,KAAK,YAAY,IAAI,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;AAC/E,aAAA;AAAM,iBAAA;gBACL,KAAK,GAAG,EAAE,CAAC;AACZ,aAAA;AAED,YAAA,OAAO,SAAS,KAAK,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;AAC7H,SAAC,CAAC,CAAC;KACJ;IAEO,sBAAsB,GAAA;AAC5B,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;AACxC,QAAA,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;KACrC;IAEO,eAAe,GAAA;QACrB,OAAO,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,QAAQ,EAAE,CAAC;KAC9G;AAEO,IAAA,cAAc,CAAC,OAAoB,EAAA;AACzC,QAAA,IAAI,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;QAE3C,OAAO,cAAc,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE;AAChE,YAAA,cAAc,GAAG,cAAc,CAAC,aAAa,CAAC;AAC/C,SAAA;QAED,OAAO,CAAC,CAAC,cAAc,CAAC;KACzB;AAEO,IAAA,OAAO,CAAC,IAAkB,EAAA;QAChC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,SAAiB,KAAK,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;KACxG;;+GA9ZU,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,cAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,KAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,OAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,sBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,eAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,aAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,cAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAlB,kBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kBAAkB,ECjE/B,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,kBAAA,EAAA,6BAAA,EAAA,EAAA,cAAA,EAAA,YAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,wyCAoCA,EDsBY,MAAA,EAAA,CAAA,kbAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,kZAAE,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,6BAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,oBAAoB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,WAAA,EAAA,cAAA,EAAA,YAAA,EAAA,YAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,eAAA,EAAA,mBAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,mBAAA,EAAA,kBAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,sBAAA,EAAA,qBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,mBAAA,EAAA,gBAAA,EAAA,cAAA,EAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,mBAAmB,EAAE,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,eAAe,EAAE,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,IAAA,EAAA,cAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,wBAAwB,mGAAE,gBAAgB,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;2FAOjI,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAT9B,SAAS;iCACI,IAAI,EAAA,OAAA,EACP,CAAC,YAAY,EAAE,YAAY,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,eAAe,EAAE,wBAAwB,EAAE,gBAAgB,CAAC,EAAA,QAAA,EACnI,YAAY,EAAA,aAAA,EAGP,iBAAiB,CAAC,IAAI,EAAA,IAAA,EAC/B,EAAE,KAAK,EAAE,YAAY,EAAE,EAAA,QAAA,EAAA,wyCAAA,EAAA,MAAA,EAAA,CAAA,kbAAA,CAAA,EAAA,CAAA;mYAsW7B,mBAAmB,EAAA,CAAA;sBADlB,YAAY;uBAAC,kBAAkB,EAAE,CAAC,QAAQ,CAAC,CAAA;;;AEpa9C;;;;;;;;;;;;;;;;;;;;;;AAsBG;AAMH,MAAM,MAAM,GAAW;AACrB,IAAA;AACE,QAAA,IAAI,EAAE,EAAE;AACR,QAAA,IAAI,EAAE;AACJ,YAAA,KAAK,EAAE,mBAAmB;AAC1B,YAAA,gBAAgB,EAAE,IAAI;AACvB,SAAA;AACD,QAAA,SAAS,EAAE,kBAAkB;AAC9B,KAAA;CACF,CAAC;MAMW,eAAe,CAAA;;4GAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;6GAAf,eAAe,EAAA,OAAA,EAAA,CAAA,EAAA,CAAA,YAAA,EAHe,kBAAkB,CAAA,EAAA,OAAA,EAAA,CACjD,kBAAkB,CAAA,EAAA,CAAA,CAAA;6GAEjB,eAAe,EAAA,OAAA,EAAA,CAHhB,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,kBAAkB,CAAA,EAAA,CAAA,CAAA;2FAGhD,eAAe,EAAA,UAAA,EAAA,CAAA;kBAJ3B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,kBAAkB,CAAC;oBAC5D,OAAO,EAAE,CAAC,kBAAkB,CAAC;iBAC9B,CAAA;;;AC1CD;;;;;;;;;;;;;;;;;;;;;;AAsBG;;ACtBH;;AAEG;;;;"}
1
+ {"version":3,"file":"alfresco-aca-content-viewer.mjs","sources":["../../../../projects/aca-content/viewer/src/lib/components/viewer/viewer.component.ts","../../../../projects/aca-content/viewer/src/lib/components/viewer/viewer.component.html","../../../../projects/aca-content/viewer/src/lib/viewer.module.ts","../../../../projects/aca-content/viewer/src/public-api.ts","../../../../projects/aca-content/viewer/src/alfresco-aca-content-viewer.ts"],"sourcesContent":["/*!\n * Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Alfresco Example Content Application\n *\n * This file is part of the Alfresco Example Content Application.\n * If the software was purchased under a paid Alfresco license, the terms of\n * the paid license agreement will prevail. Otherwise, the software is\n * provided under the following open source license terms:\n *\n * The Alfresco Example Content Application is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Lesser General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * The Alfresco Example Content Application is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.\n */\n\nimport {\n AppExtensionService,\n AppHookService,\n ContentApiService,\n InfoDrawerComponent,\n ToolbarComponent,\n ToolbarMenuItemComponent\n} from '@alfresco/aca-shared';\nimport {\n AppStore,\n ClosePreviewAction,\n getAppSelection,\n isInfoDrawerOpened,\n RefreshPreviewAction,\n ReloadDocumentListAction,\n SetCurrentNodeVersionAction,\n SetSelectedNodesAction,\n ViewerActionTypes,\n ViewNodeAction\n} from '@alfresco/aca-shared/store';\nimport { ContentActionRef, SelectionState } from '@alfresco/adf-extensions';\nimport { Node, SearchRequest, VersionEntry, VersionsApi } from '@alfresco/js-api';\nimport { Component, HostListener, OnDestroy, OnInit, ViewEncapsulation } from '@angular/core';\nimport { ActivatedRoute, PRIMARY_OUTLET, Router } from '@angular/router';\nimport { AlfrescoApiService, AppConfigModule, ObjectUtils, UserPreferencesService, ViewerModule } from '@alfresco/adf-core';\nimport { Store } from '@ngrx/store';\nimport { from, Observable, Subject } from 'rxjs';\nimport { debounceTime, takeUntil } from 'rxjs/operators';\nimport { Actions, ofType } from '@ngrx/effects';\nimport { AlfrescoViewerModule, NodesApiService, UploadService } from '@alfresco/adf-content-services';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n standalone: true,\n imports: [CommonModule, ViewerModule, AlfrescoViewerModule, InfoDrawerComponent, AppConfigModule, ToolbarMenuItemComponent, ToolbarComponent],\n selector: 'aca-viewer',\n templateUrl: './viewer.component.html',\n styleUrls: ['./viewer.component.scss'],\n encapsulation: ViewEncapsulation.None,\n host: { class: 'app-viewer' }\n})\nexport class AcaViewerComponent implements OnInit, OnDestroy {\n private _versionsApi: VersionsApi;\n get versionsApi(): VersionsApi {\n this._versionsApi = this._versionsApi ?? new VersionsApi(this.apiService.getInstance());\n return this._versionsApi;\n }\n\n onDestroy$ = new Subject<boolean>();\n\n fileName: string;\n folderId: string = null;\n nodeId: string = null;\n versionId: string = null;\n node: Node;\n selection: SelectionState;\n infoDrawerOpened$: Observable<boolean>;\n\n showRightSide = false;\n openWith: ContentActionRef[] = [];\n toolbarActions: ContentActionRef[] = [];\n\n navigateSource: string = null;\n previousNodeId: string;\n nextNodeId: string;\n navigateMultiple = true;\n routesSkipNavigation = ['shared', 'recent-files', 'favorites'];\n navigationSources = ['favorites', 'libraries', 'personal-files', 'recent-files', 'shared'];\n recentFileFilters = [\n 'TYPE:\"content\"',\n '-PNAME:\"0/wiki\"',\n '-TYPE:\"app:filelink\"',\n '-TYPE:\"fm:post\"',\n '-TYPE:\"cm:thumbnail\"',\n '-TYPE:\"cm:failedThumbnail\"',\n '-TYPE:\"cm:rating\"',\n '-TYPE:\"dl:dataList\"',\n '-TYPE:\"dl:todoList\"',\n '-TYPE:\"dl:issue\"',\n '-TYPE:\"dl:contact\"',\n '-TYPE:\"dl:eventAgenda\"',\n '-TYPE:\"dl:event\"',\n '-TYPE:\"dl:task\"',\n '-TYPE:\"dl:simpletask\"',\n '-TYPE:\"dl:meetingAgenda\"',\n '-TYPE:\"dl:location\"',\n '-TYPE:\"fm:topic\"',\n '-TYPE:\"fm:post\"',\n '-TYPE:\"ia:calendarEvent\"',\n '-TYPE:\"lnk:link\"'\n ];\n\n private navigationPath: string;\n private previewLocation: string;\n private containersSkipNavigation = ['adf-viewer__sidebar', 'cdk-overlay-container', 'adf-image-viewer'];\n\n constructor(\n private router: Router,\n private route: ActivatedRoute,\n private store: Store<AppStore>,\n private extensions: AppExtensionService,\n private contentApi: ContentApiService,\n private actions$: Actions,\n private preferences: UserPreferencesService,\n private apiService: AlfrescoApiService,\n private nodesApiService: NodesApiService,\n private uploadService: UploadService,\n private appHookService: AppHookService\n ) {}\n\n ngOnInit() {\n this.infoDrawerOpened$ = this.store.select(isInfoDrawerOpened);\n\n from(this.infoDrawerOpened$)\n .pipe(takeUntil(this.onDestroy$))\n .subscribe((val) => {\n this.showRightSide = val;\n });\n\n this.store\n .select(getAppSelection)\n .pipe(takeUntil(this.onDestroy$))\n .subscribe((selection) => {\n this.selection = selection;\n });\n\n this.extensions\n .getViewerToolbarActions()\n .pipe(takeUntil(this.onDestroy$))\n .subscribe((actions) => {\n this.toolbarActions = actions;\n });\n\n this.extensions\n .getOpenWithActions()\n .pipe(takeUntil(this.onDestroy$))\n .subscribe((actions) => {\n this.openWith = actions;\n });\n\n this.route.params.subscribe((params) => {\n this.folderId = params.folderId;\n const { nodeId } = params;\n this.versionId = params.versionId;\n if (this.versionId) {\n this.versionsApi.getVersion(nodeId, this.versionId).then((version: VersionEntry) => {\n if (version) {\n this.store.dispatch(new SetCurrentNodeVersionAction(version));\n }\n });\n }\n if (nodeId) {\n this.displayNode(nodeId);\n }\n });\n\n this.route.queryParams.subscribe((params) => {\n this.navigationPath = params.path || params.location;\n });\n\n if (this.route.snapshot.data?.navigateSource) {\n const source = this.route.snapshot.data.navigateSource.toLowerCase();\n if (this.navigationSources.includes(source)) {\n this.navigateSource = this.route.snapshot.data.navigateSource;\n }\n }\n\n this.actions$.pipe(ofType<ClosePreviewAction>(ViewerActionTypes.ClosePreview), takeUntil(this.onDestroy$)).subscribe(() => {\n this.store.dispatch(new SetCurrentNodeVersionAction(null));\n this.navigateToFileLocation();\n });\n\n this.actions$\n .pipe(ofType<RefreshPreviewAction>(ViewerActionTypes.RefreshPreview), takeUntil(this.onDestroy$))\n .subscribe((action: RefreshPreviewAction) => {\n this.displayNode(action?.payload?.entry?.id);\n });\n\n this.appHookService.nodesDeleted.pipe(takeUntil(this.onDestroy$)).subscribe(() => this.navigateToFileLocation());\n\n this.uploadService.fileUploadDeleted.pipe(takeUntil(this.onDestroy$)).subscribe(() => this.navigateToFileLocation());\n\n this.uploadService.fileUploadComplete.pipe(debounceTime(300), takeUntil(this.onDestroy$)).subscribe((file) => {\n this.nodesApiService.nodeUpdated.next(file.data.entry);\n this.displayNode(file.data.entry.id);\n });\n\n this.previewLocation = this.router.url.substring(0, this.router.url.indexOf('/', 1)).replace(/\\//g, '');\n }\n\n onViewerVisibilityChanged() {\n this.store.dispatch(new ReloadDocumentListAction());\n this.navigateToFileLocation();\n }\n\n ngOnDestroy() {\n this.store.dispatch(new SetCurrentNodeVersionAction(null));\n this.onDestroy$.next(true);\n this.onDestroy$.complete();\n }\n\n trackByActionId(_: number, obj: ContentActionRef): string {\n return obj.id;\n }\n\n async displayNode(nodeId: string) {\n if (nodeId) {\n try {\n this.node = await this.contentApi.getNodeInfo(nodeId).toPromise();\n this.store.dispatch(new SetSelectedNodesAction([{ entry: this.node }]));\n this.navigateMultiple = this.extensions.canShowViewerNavigation({ entry: this.node });\n if (!this.navigateMultiple) {\n this.nodeId = this.node.id;\n this.fileName = this.node.name + this.node?.properties?.['cm:versionLabel'];\n return;\n }\n\n if (this.node?.isFile) {\n const nearest = await this.getNearestNodes(this.node.id, this.node.parentId);\n this.nodeId = this.node.id;\n this.previousNodeId = nearest.left;\n this.nextNodeId = nearest.right;\n this.fileName = this.node.name + this.node?.properties?.['cm:versionLabel'];\n return;\n }\n } catch (error) {\n const statusCode = JSON.parse(error.message).error.statusCode;\n\n if (statusCode !== 401) {\n this.router.navigate([this.previewLocation, { outlets: { viewer: null } }]).then(() => {\n this.router.navigate([this.previewLocation, nodeId]);\n });\n }\n }\n }\n }\n\n onNavigateBefore(event: MouseEvent | KeyboardEvent): void {\n if (event.type !== 'click' && this.shouldNavigate(event.target as HTMLElement)) {\n return;\n }\n\n const location = this.getFileLocation();\n this.store.dispatch(new ViewNodeAction(this.previousNodeId, { location }));\n }\n\n onNavigateNext(event: MouseEvent | KeyboardEvent): void {\n if (event.type !== 'click' && this.shouldNavigate(event.target as HTMLElement)) {\n return;\n }\n\n const location = this.getFileLocation();\n this.store.dispatch(new ViewNodeAction(this.nextNodeId, { location }));\n }\n\n /**\n * Retrieves nearest node information for the given node and folder.\n *\n * @param nodeId Unique identifier of the document node\n * @param folderId Unique identifier of the containing folder node.\n */\n async getNearestNodes(nodeId: string, folderId: string): Promise<{ left: string; right: string }> {\n const empty = {\n left: null,\n right: null\n };\n\n if (nodeId && folderId) {\n try {\n const ids = await this.getFileIds(this.navigateSource, folderId);\n const idx = ids.indexOf(nodeId);\n\n if (idx >= 0) {\n return {\n left: ids[idx - 1] || null,\n right: ids[idx + 1] || null\n };\n } else {\n return empty;\n }\n } catch {\n return empty;\n }\n } else {\n return empty;\n }\n }\n\n /**\n * Retrieves a list of node identifiers for the folder and data source.\n *\n * @param source Data source name. Allowed values are: personal-files, libraries, favorites, shared, recent-files.\n * @param folderId Containing folder node identifier for 'personal-files' and 'libraries' sources.\n */\n async getFileIds(source: string, folderId?: string): Promise<string[]> {\n if ((source === 'personal-files' || source === 'libraries') && folderId) {\n const sortKey = this.preferences.get('personal-files.sorting.key') || 'modifiedAt';\n const sortDirection = this.preferences.get('personal-files.sorting.direction') || 'desc';\n const nodes = await this.contentApi\n .getNodeChildren(folderId, {\n // orderBy: `${sortKey} ${sortDirection}`,\n fields: ['id', this.getRootField(sortKey)],\n where: '(isFile=true)'\n })\n .toPromise();\n\n const entries = nodes.list.entries.map((obj) => obj.entry);\n this.sort(entries, sortKey, sortDirection);\n\n return entries.map((obj) => obj.id);\n }\n\n if (source === 'favorites') {\n const nodes = await this.contentApi\n .getFavorites('-me-', {\n where: '(EXISTS(target/file))',\n fields: ['target']\n })\n .toPromise();\n\n const sortKey = this.preferences.get('favorites.sorting.key') || 'modifiedAt';\n const sortDirection = this.preferences.get('favorites.sorting.direction') || 'desc';\n const files = nodes.list.entries.map((obj) => obj.entry.target.file);\n this.sort(files, sortKey, sortDirection);\n\n return files.map((f) => f.id);\n }\n\n if (source === 'shared') {\n const sortingKey = this.preferences.get('shared.sorting.key') || 'modifiedAt';\n const sortingDirection = this.preferences.get('shared.sorting.direction') || 'desc';\n\n const nodes = await this.contentApi\n .findSharedLinks({\n fields: ['nodeId', this.getRootField(sortingKey)]\n })\n .toPromise();\n\n const entries = nodes.list.entries.map((obj) => obj.entry);\n this.sort(entries, sortingKey, sortingDirection);\n\n return entries.map((obj) => obj.nodeId);\n }\n\n if (source === 'recent-files') {\n const person = await this.contentApi.getPerson('-me-').toPromise();\n const username = person.entry.id;\n const sortingKey = this.preferences.get('recent-files.sorting.key') || 'modifiedAt';\n const sortingDirection = this.preferences.get('recent-files.sorting.direction') || 'desc';\n\n const query: SearchRequest = {\n query: {\n query: '*',\n language: 'afts'\n },\n filterQueries: [\n { query: `cm:modified:[NOW/DAY-30DAYS TO NOW/DAY+1DAY]` },\n { query: `cm:modifier:${username} OR cm:creator:${username}` },\n {\n query: this.recentFileFilters.join(' AND ')\n }\n ],\n fields: ['id', this.getRootField(sortingKey)],\n include: ['path', 'properties', 'allowableOperations'],\n sort: [\n {\n type: 'FIELD',\n field: 'cm:modified',\n ascending: false\n }\n ]\n };\n const nodes = await this.contentApi.search(query).toPromise();\n\n const entries = nodes.list.entries.map((obj) => obj.entry);\n this.sort(entries, sortingKey, sortingDirection);\n\n return entries.map((obj) => obj.id);\n }\n\n return [];\n }\n\n /**\n * Get the root field name from the property path.\n * Example: 'property1.some.child.property' => 'property1'\n *\n * @param path Property path\n */\n getRootField(path: string) {\n if (path) {\n return path.split('.')[0];\n }\n return path;\n }\n\n @HostListener('document:keydown', ['$event'])\n handleKeyboardEvent(event: KeyboardEvent) {\n const key = event.key;\n\n if (key === 'ArrowRight' || key === 'ArrowLeft') {\n event.preventDefault();\n event.stopImmediatePropagation();\n }\n }\n\n private sort(items: any[], key: string, direction: string) {\n const options: Intl.CollatorOptions = {};\n\n if (key.includes('sizeInBytes') || key === 'name') {\n options.numeric = true;\n }\n\n items.sort((a: any, b: any) => {\n let left = ObjectUtils.getValue(a, key) ?? '';\n left = left instanceof Date ? left.valueOf().toString() : left.toString();\n\n let right = ObjectUtils.getValue(b, key) ?? '';\n right = right instanceof Date ? right.valueOf().toString() : right.toString();\n\n return direction === 'asc' ? left.localeCompare(right, undefined, options) : right.localeCompare(left, undefined, options);\n });\n }\n\n private navigateToFileLocation() {\n const location = this.getFileLocation();\n this.router.navigateByUrl(location);\n }\n\n private getFileLocation(): string {\n return this.navigationPath || this.router.parseUrl(this.router.url).root.children[PRIMARY_OUTLET].toString();\n }\n\n private shouldNavigate(element: HTMLElement): boolean {\n let currentElement = element.parentElement;\n\n while (currentElement && !this.isChild(currentElement.classList)) {\n currentElement = currentElement.parentElement;\n }\n\n return !!currentElement;\n }\n\n private isChild(list: DOMTokenList): boolean {\n return Array.from(list).some((className: string) => this.containersSkipNavigation.includes(className));\n }\n}\n","<ng-container *ngIf=\"nodeId\">\n <adf-alfresco-viewer\n [ngClass]=\"{\n 'right_side--hide': !showRightSide\n }\"\n [maxRetries]=\"'viewer.maxRetries' | adfAppConfig\"\n [nodeId]=\"nodeId\"\n [versionId]=\"versionId\"\n [allowNavigate]=\"navigateMultiple\"\n [allowRightSidebar]=\"true\"\n [allowPrint]=\"false\"\n [showRightSidebar]=\"true\"\n [allowDownload]=\"false\"\n [allowFullScreen]=\"false\"\n [overlayMode]=\"true\"\n (showViewerChange)=\"onViewerVisibilityChanged()\"\n [canNavigateBefore]=\"!!previousNodeId\"\n [canNavigateNext]=\"!!nextNodeId\"\n (navigateBefore)=\"onNavigateBefore($event)\"\n (navigateNext)=\"onNavigateNext($event)\"\n >\n <adf-viewer-sidebar *ngIf=\"infoDrawerOpened$ | async\">\n <aca-info-drawer [node]=\"selection.file\"></aca-info-drawer>\n </adf-viewer-sidebar>\n\n <adf-viewer-open-with *ngIf=\"openWith.length\">\n <ng-container *ngFor=\"let action of openWith; trackBy: trackByActionId\">\n <app-toolbar-menu-item [actionRef]=\"action\"></app-toolbar-menu-item>\n </ng-container>\n </adf-viewer-open-with>\n\n <adf-viewer-toolbar-actions>\n <aca-toolbar [items]=\"toolbarActions\"></aca-toolbar>\n </adf-viewer-toolbar-actions>\n </adf-alfresco-viewer>\n</ng-container>\n","/*!\n * Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Alfresco Example Content Application\n *\n * This file is part of the Alfresco Example Content Application.\n * If the software was purchased under a paid Alfresco license, the terms of\n * the paid license agreement will prevail. Otherwise, the software is\n * provided under the following open source license terms:\n *\n * The Alfresco Example Content Application is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Lesser General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * The Alfresco Example Content Application is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.\n */\n\nimport { NgModule } from '@angular/core';\nimport { AcaViewerComponent } from './components/viewer/viewer.component';\nimport { RouterModule, Routes } from '@angular/router';\n\nconst routes: Routes = [\n {\n path: '',\n data: {\n title: 'APP.PREVIEW.TITLE',\n navigateMultiple: true\n },\n component: AcaViewerComponent\n }\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes), AcaViewerComponent],\n exports: [AcaViewerComponent]\n})\nexport class AcaViewerModule {}\n","/*!\n * Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.\n *\n * Alfresco Example Content Application\n *\n * This file is part of the Alfresco Example Content Application.\n * If the software was purchased under a paid Alfresco license, the terms of\n * the paid license agreement will prevail. Otherwise, the software is\n * provided under the following open source license terms:\n *\n * The Alfresco Example Content Application is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Lesser General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * The Alfresco Example Content Application is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public License\n * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.\n */\n\n/*\n * Public API Surface of aca-viewer\n */\n\nexport * from './lib/components/viewer/viewer.component';\nexport * from './lib/viewer.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}