ngx-edu-sharing-ui 10.0.21 → 10.0.22

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 (131) hide show
  1. package/assets/scss/material-theme.scss +3 -3
  2. package/assets/scss/mixins.scss +1 -1
  3. package/assets/scss/variables-root.scss +2 -0
  4. package/assets/scss/variables-scss.scss +3 -4
  5. package/assets/scss/variables.scss +1 -1
  6. package/fesm2022/ngx-edu-sharing-ui.mjs +376 -319
  7. package/fesm2022/ngx-edu-sharing-ui.mjs.map +1 -1
  8. package/lib/index.d.ts +1 -0
  9. package/lib/list-items/list-widget.d.ts +1 -1
  10. package/lib/mds-viewer/mds-editor-instance-service.abstract.d.ts +14 -0
  11. package/lib/mds-viewer/widget/mds-widget.component.d.ts +6 -4
  12. package/package.json +6 -8
  13. package/esm2022/lib/actionbar/actionbar.component.mjs +0 -206
  14. package/esm2022/lib/common/edu-sharing-ui-common.module.mjs +0 -170
  15. package/esm2022/lib/directives/border-box-observer.directive.mjs +0 -71
  16. package/esm2022/lib/directives/check-text-overflow.directive.mjs +0 -71
  17. package/esm2022/lib/directives/drag-nodes/drag-nodes.mjs +0 -14
  18. package/esm2022/lib/directives/drag-nodes/nodes-drag-source.directive.mjs +0 -79
  19. package/esm2022/lib/directives/drag-nodes/nodes-drag.directive.mjs +0 -49
  20. package/esm2022/lib/directives/drag-nodes/nodes-drop-target.directive.mjs +0 -105
  21. package/esm2022/lib/directives/focus-state.directive.mjs +0 -44
  22. package/esm2022/lib/directives/icon.directive.mjs +0 -184
  23. package/esm2022/lib/directives/infinite-scroll.directive.mjs +0 -85
  24. package/esm2022/lib/dropdown/dropdown.component.mjs +0 -83
  25. package/esm2022/lib/edu-sharing-ui-configuration.mjs +0 -48
  26. package/esm2022/lib/edu-sharing-ui.module.mjs +0 -82
  27. package/esm2022/lib/index.mjs +0 -96
  28. package/esm2022/lib/list-items/available-widgets.mjs +0 -27
  29. package/esm2022/lib/list-items/format-duration.pipe.mjs +0 -20
  30. package/esm2022/lib/list-items/list-base/list-base.component.mjs +0 -46
  31. package/esm2022/lib/list-items/list-collection-info/list-collection-info.component.mjs +0 -29
  32. package/esm2022/lib/list-items/list-counts/list-counts.component.mjs +0 -56
  33. package/esm2022/lib/list-items/list-items.module.mjs +0 -50
  34. package/esm2022/lib/list-items/list-node-license/list-node-license.component.mjs +0 -41
  35. package/esm2022/lib/list-items/list-node-replication-source/list-node-replication-source.component.mjs +0 -47
  36. package/esm2022/lib/list-items/list-node-workflow/list-node-workflow.component.mjs +0 -24
  37. package/esm2022/lib/list-items/list-text/list-text.component.mjs +0 -106
  38. package/esm2022/lib/list-items/list-widget.mjs +0 -49
  39. package/esm2022/lib/list-items/node-row/node-row.component.mjs +0 -24
  40. package/esm2022/lib/list-items/node-source.pipe.mjs +0 -49
  41. package/esm2022/lib/mds/mds-helper.service.mjs +0 -167
  42. package/esm2022/lib/mds/mds.module.mjs +0 -16
  43. package/esm2022/lib/mds-viewer/mds-viewer.component.mjs +0 -170
  44. package/esm2022/lib/mds-viewer/mds-viewer.service.mjs +0 -18
  45. package/esm2022/lib/mds-viewer/replace-element-with-div.mjs +0 -47
  46. package/esm2022/lib/mds-viewer/view-instance.service.mjs +0 -27
  47. package/esm2022/lib/mds-viewer/widget/mds-widget.component.mjs +0 -379
  48. package/esm2022/lib/node-entries/combined-data-source.mjs +0 -41
  49. package/esm2022/lib/node-entries/custom-templates-data-source.mjs +0 -7
  50. package/esm2022/lib/node-entries/drag-preview/drag-preview.component.mjs +0 -21
  51. package/esm2022/lib/node-entries/entries-model.mjs +0 -24
  52. package/esm2022/lib/node-entries/items-cap.mjs +0 -47
  53. package/esm2022/lib/node-entries/list-item-label.pipe.mjs +0 -37
  54. package/esm2022/lib/node-entries/node-cache.mjs +0 -73
  55. package/esm2022/lib/node-entries/node-data-source-remote.mjs +0 -4
  56. package/esm2022/lib/node-entries/node-data-source.mjs +0 -117
  57. package/esm2022/lib/node-entries/node-entries-card/node-entries-card.component.mjs +0 -117
  58. package/esm2022/lib/node-entries/node-entries-card-grid/node-entries-card-grid.component.mjs +0 -329
  59. package/esm2022/lib/node-entries/node-entries-card-small/node-entries-card-small.component.mjs +0 -44
  60. package/esm2022/lib/node-entries/node-entries-global-options/node-entries-global-options.component.mjs +0 -27
  61. package/esm2022/lib/node-entries/node-entries-global.service.mjs +0 -71
  62. package/esm2022/lib/node-entries/node-entries-table/column-chooser/column-chooser.component.mjs +0 -42
  63. package/esm2022/lib/node-entries/node-entries-table/node-entries-table.component.mjs +0 -294
  64. package/esm2022/lib/node-entries/node-entries-templates.service.mjs +0 -11
  65. package/esm2022/lib/node-entries/node-entries-wrapper.component.mjs +0 -369
  66. package/esm2022/lib/node-entries/node-entries.component.mjs +0 -132
  67. package/esm2022/lib/node-entries/node-entries.module.mjs +0 -161
  68. package/esm2022/lib/node-entries/node-rating/node-rating.component.mjs +0 -125
  69. package/esm2022/lib/node-entries/node-stats-badges/node-stats-badges.component.mjs +0 -48
  70. package/esm2022/lib/node-entries/node-type-badge/node-type-badge.component.mjs +0 -36
  71. package/esm2022/lib/node-entries/option-button/option-button.component.mjs +0 -75
  72. package/esm2022/lib/node-entries/preview-image/preview-image.component.mjs +0 -53
  73. package/esm2022/lib/node-entries/sort-select-panel/sort-select-panel.component.mjs +0 -41
  74. package/esm2022/lib/node-url/node-url.component.mjs +0 -132
  75. package/esm2022/lib/pipes/file-size.pipe.mjs +0 -32
  76. package/esm2022/lib/pipes/format-date.pipe.mjs +0 -38
  77. package/esm2022/lib/pipes/mds-duration.pipe.mjs +0 -25
  78. package/esm2022/lib/pipes/node-icon.pipe.mjs +0 -18
  79. package/esm2022/lib/pipes/node-image-size.pipe.mjs +0 -24
  80. package/esm2022/lib/pipes/node-image.pipe.mjs +0 -55
  81. package/esm2022/lib/pipes/node-license.pipe.mjs +0 -24
  82. package/esm2022/lib/pipes/node-person-name.pipe.mjs +0 -50
  83. package/esm2022/lib/pipes/node-title.pipe.mjs +0 -35
  84. package/esm2022/lib/pipes/option-tooltip.pipe.mjs +0 -33
  85. package/esm2022/lib/pipes/property-slug.pipe.mjs +0 -16
  86. package/esm2022/lib/pipes/replace-chars.pipe.mjs +0 -29
  87. package/esm2022/lib/pipes/vcard-name.pipe.mjs +0 -25
  88. package/esm2022/lib/services/abstract/app.service.mjs +0 -3
  89. package/esm2022/lib/services/abstract/keyboard-shortcuts.service.mjs +0 -10
  90. package/esm2022/lib/services/abstract/options-helper.service.mjs +0 -3
  91. package/esm2022/lib/services/abstract/toast.service.mjs +0 -3
  92. package/esm2022/lib/services/accessibility.service.mjs +0 -73
  93. package/esm2022/lib/services/app-container.service.mjs +0 -69
  94. package/esm2022/lib/services/local-events.service.mjs +0 -43
  95. package/esm2022/lib/services/node-entries.service.mjs +0 -201
  96. package/esm2022/lib/services/node-helper.service.mjs +0 -330
  97. package/esm2022/lib/services/nodes-drag-drop.service.mjs +0 -155
  98. package/esm2022/lib/services/options-helper-data.service.mjs +0 -142
  99. package/esm2022/lib/services/render-helper.service.mjs +0 -114
  100. package/esm2022/lib/services/repo-url.service.mjs +0 -50
  101. package/esm2022/lib/services/search-helper.service.mjs +0 -52
  102. package/esm2022/lib/services/temporary-storage.service.mjs +0 -48
  103. package/esm2022/lib/services/ui.service.mjs +0 -327
  104. package/esm2022/lib/sort-dropdown/sort-dropdown.component.mjs +0 -50
  105. package/esm2022/lib/spinner/spinner.component.mjs +0 -19
  106. package/esm2022/lib/spinner-small/spinner-small.component.mjs +0 -18
  107. package/esm2022/lib/translations/fallback-translation-handler.mjs +0 -6
  108. package/esm2022/lib/translations/translation-loader.mjs +0 -219
  109. package/esm2022/lib/translations/translation-source.mjs +0 -11
  110. package/esm2022/lib/translations/translations.module.mjs +0 -82
  111. package/esm2022/lib/translations/translations.service.mjs +0 -238
  112. package/esm2022/lib/types/accessibillity.mjs +0 -19
  113. package/esm2022/lib/types/api-models.mjs +0 -2
  114. package/esm2022/lib/types/drag-drop.mjs +0 -2
  115. package/esm2022/lib/types/injection-tokens.mjs +0 -31
  116. package/esm2022/lib/types/keyboard-shortcuts.mjs +0 -11
  117. package/esm2022/lib/types/list-item.mjs +0 -41
  118. package/esm2022/lib/types/option-item.mjs +0 -192
  119. package/esm2022/lib/types/workflow.mjs +0 -25
  120. package/esm2022/lib/util/DateHelper.mjs +0 -200
  121. package/esm2022/lib/util/VCard.mjs +0 -278
  122. package/esm2022/lib/util/color-helper.mjs +0 -124
  123. package/esm2022/lib/util/duration-helper.mjs +0 -102
  124. package/esm2022/lib/util/functions.mjs +0 -13
  125. package/esm2022/lib/util/helper.mjs +0 -64
  126. package/esm2022/lib/util/isNumeric.mjs +0 -11
  127. package/esm2022/lib/util/rest-helper.mjs +0 -42
  128. package/esm2022/lib/util/ui-animation.mjs +0 -146
  129. package/esm2022/lib/util/ui-constants.mjs +0 -21
  130. package/esm2022/ngx-edu-sharing-ui.mjs +0 -5
  131. package/esm2022/public-api.mjs +0 -2
@@ -1,106 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import * as Constants from 'ngx-edu-sharing-api';
3
- import { RestConstants } from 'ngx-edu-sharing-api';
4
- import { BehaviorSubject, merge } from 'rxjs';
5
- import { switchMap } from 'rxjs/operators';
6
- import { ListItem } from '../../types/list-item';
7
- import { ListWidget } from '../list-widget';
8
- import { MdsHelperService } from '../../mds/mds-helper.service';
9
- import * as i0 from "@angular/core";
10
- import * as i1 from "../../services/node-helper.service";
11
- import * as i2 from "ngx-edu-sharing-api";
12
- import * as i3 from "@angular/common";
13
- import * as i4 from "../../directives/check-text-overflow.directive";
14
- import * as i5 from "@angular/material/tooltip";
15
- import * as i6 from "../list-node-workflow/list-node-workflow.component";
16
- import * as i7 from "../../pipes/format-date.pipe";
17
- import * as i8 from "../../pipes/file-size.pipe";
18
- import * as i9 from "../../pipes/node-image-size.pipe";
19
- import * as i10 from "../../pipes/node-person-name.pipe";
20
- import * as i11 from "../../pipes/node-title.pipe";
21
- import * as i12 from "../../pipes/vcard-name.pipe";
22
- import * as i13 from "@ngx-translate/core";
23
- import * as i14 from "../node-source.pipe";
24
- import * as i15 from "../format-duration.pipe";
25
- export class ListTextComponent extends ListWidget {
26
- static { this.supportedItems = [
27
- new ListItem('NODE', '*'),
28
- new ListItem('NODE_PROPOSAL', '*'),
29
- new ListItem('COLLECTION', '*'),
30
- new ListItem('ORG', '*'),
31
- new ListItem('GROUP', '*'),
32
- new ListItem('USER', '*'),
33
- ]; }
34
- constructor(nodeHelper, mds, changeDetectorRef) {
35
- super();
36
- this.nodeHelper = nodeHelper;
37
- this.mds = mds;
38
- this.changeDetectorRef = changeDetectorRef;
39
- this.DATE_FIELDS = RestConstants.DATE_FIELDS;
40
- this.VCARD_FIELDS = RestConstants.getAllVCardFields();
41
- this.displayName$ = new BehaviorSubject(null);
42
- }
43
- async ngOnInit() {
44
- merge([this.nodeSubject, this.itemSubject])
45
- .pipe(switchMap(() => this.updateDisplayname()))
46
- .subscribe((displayName) => { });
47
- }
48
- getNode() {
49
- if (this.item.type === 'NODE_PROPOSAL') {
50
- return this.node.proposal || this.node;
51
- }
52
- else if (this.node.type === RestConstants.CCM_TYPE_COLLECTION_PROPOSAL) {
53
- return this.node.relations?.Original ?? this.node;
54
- }
55
- return this.node;
56
- }
57
- isUserProfileAttribute(attribute) {
58
- return ([
59
- RestConstants.AUTHORITY_FIRSTNAME,
60
- RestConstants.AUTHORITY_LASTNAME,
61
- RestConstants.AUTHORITY_EMAIL,
62
- ].indexOf(attribute) !== -1);
63
- }
64
- getWorkflowStatus() {
65
- return this.nodeHelper.getWorkflowStatus(this.node).current;
66
- }
67
- getI18n(item) {
68
- return (item.type === 'NODE_PROPOSAL' ? 'NODE_PROPOSAL' : 'NODE') + '.' + item.name;
69
- }
70
- isDangerousGroup() {
71
- return (this.node.authorityName ===
72
- RestConstants.GROUP_ALFRESCO_ADMINISTRATORS);
73
- }
74
- async updateDisplayname() {
75
- const node = this.getNode();
76
- if (!node.properties) {
77
- this.displayName$.next('');
78
- return;
79
- }
80
- this.displayName$.next(node.properties[this.item.name + '_DISPLAYNAME']?.length > 0
81
- ? node.properties[this.item.name + '_DISPLAYNAME'].join(', ')
82
- : node.properties[this.item.name]?.join(', '));
83
- const mds = await this.mds
84
- .getMetadataSet({
85
- repository: node.ref?.repo || Constants.HOME_REPOSITORY,
86
- metadataSet: node.metadataset || Constants.DEFAULT,
87
- })
88
- .toPromise();
89
- const widget = MdsHelperService.getWidget(this.item.name, null, mds.widgets);
90
- if (widget?.values) {
91
- const i18n = node.properties[this.item.name]
92
- ?.map((prop) => widget.values.filter((v) => v.id === prop)?.[0]?.caption)
93
- .filter((cap) => !!cap);
94
- if (i18n) {
95
- this.displayName$.next(i18n.join(', '));
96
- }
97
- }
98
- }
99
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ListTextComponent, deps: [{ token: i1.NodeHelperService }, { token: i2.MdsService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
100
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: ListTextComponent, selector: "es-list-text", usesInheritance: true, ngImport: i0, template: "<label *ngIf=\"item.config?.showLabel\">\n {{ getI18n(item) | translate }}\n</label>\n<ng-container *ngIf=\"item.type === 'ORG' || item.type === 'GROUP'\">\n <ng-container [ngSwitch]=\"item.name\">\n <span *ngSwitchCase=\"'displayName'\" [class.type-danger]=\"isDangerousGroup()\">\n {{ $any(getNode()).profile?.displayName || $any(getNode()).authorityName }}\n </span>\n <span *ngSwitchCase=\"'groupType'\">\n {{ 'PERMISSIONS.GROUP_TYPE.' + $any(getNode()).profile?.groupType | translate }}\n </span>\n <span *ngSwitchDefault>\n {{ $any(getNode())[item.name] }}\n </span>\n </ng-container>\n</ng-container>\n<ng-container *ngIf=\"item.type === 'USER'\">\n <span *ngIf=\"isUserProfileAttribute(item.name)\">\n {{ $any(getNode()).profile?.[item.name] }}\n </span>\n <span *ngIf=\"item.name === 'status'\">\n {{ 'PERMISSIONS.USER_STATUS.' + $any(getNode()).status.status | translate }}\n </span>\n <span *ngIf=\"!isUserProfileAttribute(item.name) && item.name !== 'status'\">\n {{ $any(getNode())[item.name] }}\n </span>\n</ng-container>\n<ng-container\n [ngSwitch]=\"item.name\"\n *ngIf=\"item.type === 'NODE' || item.type === 'NODE_PROPOSAL' || item.type === 'COLLECTION'\"\n>\n <span *ngSwitchCase=\"'name'\">\n {{ $any(getNode()).name }}\n </span>\n <span\n *ngSwitchCase=\"'mediatype'\"\n [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\"\n >\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\">{{ getI18n(item) | translate }}:</span>\n {{ 'MEDIATYPE.' + $any(getNode()).mediatype | translate }}\n </span>\n <span *ngSwitchCase=\"'size'\" [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\">\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\">{{ getI18n(item) | translate }}:</span>\n {{ $any(getNode()).size | formatSize }}\n </span>\n <span\n *ngSwitchCase=\"'dimensions'\"\n [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\"\n >\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\">{{ getI18n(item) | translate }}:</span>\n {{ $any(getNode()) | NodeImageSize }}\n </span>\n <span\n *ngSwitchCase=\"'ccm:wf_status'\"\n [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\"\n >\n <es-list-node-workflow\n [item]=\"item\"\n [node]=\"node\"\n [provideLabel]=\"false\"\n ></es-list-node-workflow>\n <!--<span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\">{{ getI18n(item) | translate }}:</span>\n {{ 'WORKFLOW.' + getWorkflowStatus().id | translate }}-->\n </span>\n <span\n *ngSwitchCase=\"'cm:creator'\"\n [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\"\n >\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\">{{ getI18n(item) | translate }}:</span>\n {{ $any(getNode()).createdBy | nodePersonName }}\n </span>\n <span\n *ngSwitchCase=\"'cm:modifier'\"\n [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\"\n >\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\"\n >{{ 'NODE.cm:modifier' | translate }}:</span\n >\n {{ $any(getNode()).modifiedBy | nodePersonName }}\n </span>\n <span\n *ngSwitchCase=\"'ccm:replicationsource'\"\n [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\"\n >\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\"\n >{{ 'NODE.ccm:replicationsource' | translate }}:</span\n >\n {{ $any(getNode()).properties['ccm:replicationsource'] | appNodeSource : { mode: 'text' } }}\n </span>\n <span\n *ngSwitchCase=\"'ccm:commonlicense_key'\"\n [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\"\n >\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\"\n >{{ 'NODE.ccm:commonlicense_key' | translate }}:</span\n >\n <ng-container *ngIf=\"$any(getNode()).properties['ccm:commonlicense_key'] as license\">\n {{\n license[0] === 'CUSTOM'\n ? $any(getNode()).properties['cclom:rights_description']\n : ('LICENSE.NAMES.' + $any(getNode()).properties['ccm:commonlicense_key']\n | translate : { fallback: $any(getNode()).properties['ccm:commonlicense_key'] })\n }}\n </ng-container>\n <ng-container *ngIf=\"!$any(getNode()).properties['ccm:commonlicense_key']\">\n {{ 'LICENSE.NAMES.NONE' | translate }}\n </ng-container>\n </span>\n <span\n *ngSwitchCase=\"'ccm:educationaltypicalagerange'\"\n [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\"\n >\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\"\n >{{ 'NODE.ccm:educationaltypicalagerange' | translate }}:</span\n >\n <ng-container\n *ngIf=\"\n $any(getNode()).properties['ccm:educationaltypicalagerange_from'] ||\n $any(getNode()).properties['ccm:educationaltypicalagerange_to']\n \"\n >\n {{ $any(getNode()).properties['ccm:educationaltypicalagerange_from'] }} -\n {{ $any(getNode()).properties['ccm:educationaltypicalagerange_to'] }}\n </ng-container>\n </span>\n <span\n *ngSwitchCase=\"'cclom:duration'\"\n [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\"\n >\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\"\n >{{ 'NODE.cclom:duration' | translate }}:</span\n >\n {{ $any(getNode()).properties['cclom:duration']?.[0] | formatDuration }}\n </span>\n <span\n *ngSwitchCase=\"'ccm:collection_proposal_status'\"\n [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\"\n >\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\"\n >{{ 'NODE.ccm:collection_proposal_status' | translate }}:</span\n >\n <!-- use node instead of getNode() to access the raw proposal data! -->\n {{\n 'PROPOSAL_STATUS.' + $any(node).properties['ccm:collection_proposal_status']?.[0]\n | translate: { fallback: '' }\n }}\n </span>\n <span\n *ngSwitchDefault\n esCheckTextOverflow\n #text=\"esCheckTextOverflow\"\n [matTooltip]=\"\n provideLabel ? (getI18n(item) | translate) : text.hasTextOverflow() ? content.innerText : null\n \"\n #content\n >\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\">{{ getI18n(item) | translate }}:</span>\n <ng-container *ngIf=\"['title', 'cm:title', 'cclom:title'].includes(item.name)\">\n {{ $any(getNode()) | nodeTitle }}\n </ng-container>\n <ng-container *ngIf=\"['name', 'cm:name'].includes(item.name)\">\n {{ $any(getNode()) | nodeTitle : { type: 'name' } }}\n </ng-container>\n <ng-container\n *ngIf=\"!['name', 'cm:name', 'title', 'cm:title', 'cclom:title'].includes(item.name)\"\n >\n <ng-container\n *ngIf=\"DATE_FIELDS.indexOf(item.name) === -1 && VCARD_FIELDS.indexOf(item.name) === -1\"\n >\n {{ displayName$ | async }}\n </ng-container>\n <ng-container *ngIf=\"DATE_FIELDS.includes(item.name)\">\n {{\n ($any(getNode()).properties[item.name + '_LONG']?.[0] || $any(getNode()).properties[item.name]?.[0])\n | formatDate: { async: true, time: true, relative: true }\n | async\n }}\n </ng-container>\n <ng-container *ngIf=\"VCARD_FIELDS.includes(item.name)\">\n {{\n $any(getNode()).properties[item.name]\n ? ($any(getNode()).properties[item.name] | vcardName)\n : ''\n }}\n </ng-container>\n </ng-container>\n </span>\n</ng-container>\n", styles: [".type-danger{color:var(--warning)}span{display:block}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i3.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i4.CheckTextOverflowDirective, selector: "[esCheckTextOverflow]", inputs: ["esCheckTextOverflow"], exportAs: ["esCheckTextOverflow"] }, { kind: "directive", type: i5.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i6.ListNodeWorkflowComponent, selector: "es-list-node-workflow" }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i7.FormatDatePipe, name: "formatDate" }, { kind: "pipe", type: i8.FormatSizePipe, name: "formatSize" }, { kind: "pipe", type: i9.NodeImageSizePipe, name: "NodeImageSize" }, { kind: "pipe", type: i10.NodePersonNamePipe, name: "nodePersonName" }, { kind: "pipe", type: i11.NodeTitlePipe, name: "nodeTitle" }, { kind: "pipe", type: i12.VCardNamePipe, name: "vcardName" }, { kind: "pipe", type: i13.TranslatePipe, name: "translate" }, { kind: "pipe", type: i14.NodeSourcePipe, name: "appNodeSource" }, { kind: "pipe", type: i15.FormatDurationPipe, name: "formatDuration" }] }); }
101
- }
102
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ListTextComponent, decorators: [{
103
- type: Component,
104
- args: [{ selector: 'es-list-text', template: "<label *ngIf=\"item.config?.showLabel\">\n {{ getI18n(item) | translate }}\n</label>\n<ng-container *ngIf=\"item.type === 'ORG' || item.type === 'GROUP'\">\n <ng-container [ngSwitch]=\"item.name\">\n <span *ngSwitchCase=\"'displayName'\" [class.type-danger]=\"isDangerousGroup()\">\n {{ $any(getNode()).profile?.displayName || $any(getNode()).authorityName }}\n </span>\n <span *ngSwitchCase=\"'groupType'\">\n {{ 'PERMISSIONS.GROUP_TYPE.' + $any(getNode()).profile?.groupType | translate }}\n </span>\n <span *ngSwitchDefault>\n {{ $any(getNode())[item.name] }}\n </span>\n </ng-container>\n</ng-container>\n<ng-container *ngIf=\"item.type === 'USER'\">\n <span *ngIf=\"isUserProfileAttribute(item.name)\">\n {{ $any(getNode()).profile?.[item.name] }}\n </span>\n <span *ngIf=\"item.name === 'status'\">\n {{ 'PERMISSIONS.USER_STATUS.' + $any(getNode()).status.status | translate }}\n </span>\n <span *ngIf=\"!isUserProfileAttribute(item.name) && item.name !== 'status'\">\n {{ $any(getNode())[item.name] }}\n </span>\n</ng-container>\n<ng-container\n [ngSwitch]=\"item.name\"\n *ngIf=\"item.type === 'NODE' || item.type === 'NODE_PROPOSAL' || item.type === 'COLLECTION'\"\n>\n <span *ngSwitchCase=\"'name'\">\n {{ $any(getNode()).name }}\n </span>\n <span\n *ngSwitchCase=\"'mediatype'\"\n [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\"\n >\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\">{{ getI18n(item) | translate }}:</span>\n {{ 'MEDIATYPE.' + $any(getNode()).mediatype | translate }}\n </span>\n <span *ngSwitchCase=\"'size'\" [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\">\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\">{{ getI18n(item) | translate }}:</span>\n {{ $any(getNode()).size | formatSize }}\n </span>\n <span\n *ngSwitchCase=\"'dimensions'\"\n [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\"\n >\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\">{{ getI18n(item) | translate }}:</span>\n {{ $any(getNode()) | NodeImageSize }}\n </span>\n <span\n *ngSwitchCase=\"'ccm:wf_status'\"\n [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\"\n >\n <es-list-node-workflow\n [item]=\"item\"\n [node]=\"node\"\n [provideLabel]=\"false\"\n ></es-list-node-workflow>\n <!--<span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\">{{ getI18n(item) | translate }}:</span>\n {{ 'WORKFLOW.' + getWorkflowStatus().id | translate }}-->\n </span>\n <span\n *ngSwitchCase=\"'cm:creator'\"\n [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\"\n >\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\">{{ getI18n(item) | translate }}:</span>\n {{ $any(getNode()).createdBy | nodePersonName }}\n </span>\n <span\n *ngSwitchCase=\"'cm:modifier'\"\n [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\"\n >\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\"\n >{{ 'NODE.cm:modifier' | translate }}:</span\n >\n {{ $any(getNode()).modifiedBy | nodePersonName }}\n </span>\n <span\n *ngSwitchCase=\"'ccm:replicationsource'\"\n [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\"\n >\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\"\n >{{ 'NODE.ccm:replicationsource' | translate }}:</span\n >\n {{ $any(getNode()).properties['ccm:replicationsource'] | appNodeSource : { mode: 'text' } }}\n </span>\n <span\n *ngSwitchCase=\"'ccm:commonlicense_key'\"\n [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\"\n >\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\"\n >{{ 'NODE.ccm:commonlicense_key' | translate }}:</span\n >\n <ng-container *ngIf=\"$any(getNode()).properties['ccm:commonlicense_key'] as license\">\n {{\n license[0] === 'CUSTOM'\n ? $any(getNode()).properties['cclom:rights_description']\n : ('LICENSE.NAMES.' + $any(getNode()).properties['ccm:commonlicense_key']\n | translate : { fallback: $any(getNode()).properties['ccm:commonlicense_key'] })\n }}\n </ng-container>\n <ng-container *ngIf=\"!$any(getNode()).properties['ccm:commonlicense_key']\">\n {{ 'LICENSE.NAMES.NONE' | translate }}\n </ng-container>\n </span>\n <span\n *ngSwitchCase=\"'ccm:educationaltypicalagerange'\"\n [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\"\n >\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\"\n >{{ 'NODE.ccm:educationaltypicalagerange' | translate }}:</span\n >\n <ng-container\n *ngIf=\"\n $any(getNode()).properties['ccm:educationaltypicalagerange_from'] ||\n $any(getNode()).properties['ccm:educationaltypicalagerange_to']\n \"\n >\n {{ $any(getNode()).properties['ccm:educationaltypicalagerange_from'] }} -\n {{ $any(getNode()).properties['ccm:educationaltypicalagerange_to'] }}\n </ng-container>\n </span>\n <span\n *ngSwitchCase=\"'cclom:duration'\"\n [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\"\n >\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\"\n >{{ 'NODE.cclom:duration' | translate }}:</span\n >\n {{ $any(getNode()).properties['cclom:duration']?.[0] | formatDuration }}\n </span>\n <span\n *ngSwitchCase=\"'ccm:collection_proposal_status'\"\n [matTooltip]=\"provideLabel ? (getI18n(item) | translate) : null\"\n >\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\"\n >{{ 'NODE.ccm:collection_proposal_status' | translate }}:</span\n >\n <!-- use node instead of getNode() to access the raw proposal data! -->\n {{\n 'PROPOSAL_STATUS.' + $any(node).properties['ccm:collection_proposal_status']?.[0]\n | translate: { fallback: '' }\n }}\n </span>\n <span\n *ngSwitchDefault\n esCheckTextOverflow\n #text=\"esCheckTextOverflow\"\n [matTooltip]=\"\n provideLabel ? (getI18n(item) | translate) : text.hasTextOverflow() ? content.innerText : null\n \"\n #content\n >\n <span *ngIf=\"provideLabel\" class=\"cdk-visually-hidden\">{{ getI18n(item) | translate }}:</span>\n <ng-container *ngIf=\"['title', 'cm:title', 'cclom:title'].includes(item.name)\">\n {{ $any(getNode()) | nodeTitle }}\n </ng-container>\n <ng-container *ngIf=\"['name', 'cm:name'].includes(item.name)\">\n {{ $any(getNode()) | nodeTitle : { type: 'name' } }}\n </ng-container>\n <ng-container\n *ngIf=\"!['name', 'cm:name', 'title', 'cm:title', 'cclom:title'].includes(item.name)\"\n >\n <ng-container\n *ngIf=\"DATE_FIELDS.indexOf(item.name) === -1 && VCARD_FIELDS.indexOf(item.name) === -1\"\n >\n {{ displayName$ | async }}\n </ng-container>\n <ng-container *ngIf=\"DATE_FIELDS.includes(item.name)\">\n {{\n ($any(getNode()).properties[item.name + '_LONG']?.[0] || $any(getNode()).properties[item.name]?.[0])\n | formatDate: { async: true, time: true, relative: true }\n | async\n }}\n </ng-container>\n <ng-container *ngIf=\"VCARD_FIELDS.includes(item.name)\">\n {{\n $any(getNode()).properties[item.name]\n ? ($any(getNode()).properties[item.name] | vcardName)\n : ''\n }}\n </ng-container>\n </ng-container>\n </span>\n</ng-container>\n", styles: [".type-danger{color:var(--warning)}span{display:block}\n"] }]
105
- }], ctorParameters: () => [{ type: i1.NodeHelperService }, { type: i2.MdsService }, { type: i0.ChangeDetectorRef }] });
106
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC10ZXh0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VkdS1zaGFyaW5nLXVpL3NyYy9saWIvbGlzdC1pdGVtcy9saXN0LXRleHQvbGlzdC10ZXh0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VkdS1zaGFyaW5nLXVpL3NyYy9saWIvbGlzdC1pdGVtcy9saXN0LXRleHQvbGlzdC10ZXh0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sS0FBSyxTQUFTLE1BQU0scUJBQXFCLENBQUM7QUFDakQsT0FBTyxFQUFnRCxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRyxPQUFPLEVBQUUsZUFBZSxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM5QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU1QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFPaEUsTUFBTSxPQUFPLGlCQUFrQixTQUFRLFVBQVU7YUFDdEMsbUJBQWMsR0FBRztRQUNwQixJQUFJLFFBQVEsQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDO1FBQ3pCLElBQUksUUFBUSxDQUFDLGVBQWUsRUFBRSxHQUFHLENBQUM7UUFDbEMsSUFBSSxRQUFRLENBQUMsWUFBWSxFQUFFLEdBQUcsQ0FBQztRQUMvQixJQUFJLFFBQVEsQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDO1FBQ3hCLElBQUksUUFBUSxDQUFDLE9BQU8sRUFBRSxH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QUFDOytHQXRGUSxpQkFBaUI7bUdBQWpCLGlCQUFpQiwyRUNmOUIseTFPQTRMQTs7NEZEN0thLGlCQUFpQjtrQkFMN0IsU0FBUzsrQkFDSSxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgKiBhcyBDb25zdGFudHMgZnJvbSAnbmd4LWVkdS1zaGFyaW5nLWFwaSc7XG5pbXBvcnQgeyBNZHNTZXJ2aWNlLCBOb2RlLCBPcmdhbml6YXRpb24sIFByb3Bvc2FsTm9kZSwgUmVzdENvbnN0YW50cyB9IGZyb20gJ25neC1lZHUtc2hhcmluZy1hcGknO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBtZXJnZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgTGlzdEl0ZW0gfSBmcm9tICcuLi8uLi90eXBlcy9saXN0LWl0ZW0nO1xuaW1wb3J0IHsgTGlzdFdpZGdldCB9IGZyb20gJy4uL2xpc3Qtd2lkZ2V0JztcbmltcG9ydCB7IE5vZGVIZWxwZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbm9kZS1oZWxwZXIuc2VydmljZSc7XG5pbXBvcnQgeyBNZHNIZWxwZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vbWRzL21kcy1oZWxwZXIuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZXMtbGlzdC10ZXh0JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbGlzdC10ZXh0LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9saXN0LXRleHQuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgTGlzdFRleHRDb21wb25lbnQgZXh0ZW5kcyBMaXN0V2lkZ2V0IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBzdGF0aWMgc3VwcG9ydGVkSXRlbXMgPSBbXG4gICAgICAgIG5ldyBMaXN0SXRlbSgnTk9ERScsICcqJyksXG4gICAgICAgIG5ldyBMaXN0SXRlbSgnTk9ERV9QUk9QT1NBTCcsICcqJyksXG4gICAgICAgIG5ldyBMaXN0SXRlbSgnQ09MTEVDVElPTicsICcqJyksXG4gICAgICAgIG5ldyBMaXN0SXRlbSgnT1JHJywgJyonKSxcbiAgICAgICAgbmV3IExpc3RJdGVtKCdHUk9VUCcsICcqJyksXG4gICAgICAgIG5ldyBMaXN0SXRlbSgnVVNFUicsICcqJyksXG4gICAgXTtcbiAgICByZWFkb25seSBEQVRFX0ZJRUxEUyA9IFJlc3RDb25zdGFudHMuREFURV9GSUVMRFM7XG4gICAgcmVhZG9ubHkgVkNBUkRfRklFTERTID0gUmVzdENvbnN0YW50cy5nZXRBbGxWQ2FyZEZpZWxkcygpO1xuICAgIGRpc3BsYXlOYW1lJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPihudWxsKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIG5vZGVIZWxwZXI6IE5vZGVIZWxwZXJTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIG1kczogTWRzU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgYXN5bmMgbmdPbkluaXQoKSB7XG4gICAgICAgIG1lcmdlKFt0aGlzLm5vZGVTdWJqZWN0LCB0aGlzLml0ZW1TdWJqZWN0XSlcbiAgICAgICAgICAgIC5waXBlKHN3aXRjaE1hcCgoKSA9PiB0aGlzLnVwZGF0ZURpc3BsYXluYW1lKCkpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoZGlzcGxheU5hbWUpID0+IHt9KTtcbiAgICB9XG4gICAgZ2V0Tm9kZSgpIHtcbiAgICAgICAgaWYgKHRoaXMuaXRlbS50eXBlID09PSAnTk9ERV9QUk9QT1NBTCcpIHtcbiAgICAgICAgICAgIHJldHVybiAodGhpcy5ub2RlIGFzIFByb3Bvc2FsTm9kZSkucHJvcG9zYWwgfHwgdGhpcy5ub2RlO1xuICAgICAgICB9IGVsc2UgaWYgKCh0aGlzLm5vZGUgYXMgTm9kZSkudHlwZSA9PT0gUmVzdENvbnN0YW50cy5DQ01fVFlQRV9DT0xMRUNUSU9OX1BST1BPU0FMKSB7XG4gICAgICAgICAgICByZXR1cm4gKHRoaXMubm9kZSBhcyBOb2RlKS5yZWxhdGlvbnM/Lk9yaWdpbmFsID8/IHRoaXMubm9kZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5ub2RlO1xuICAgIH1cblxuICAgIGlzVXNlclByb2ZpbGVBdHRyaWJ1dGUoYXR0cmlidXRlOiBzdHJpbmcpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICBSZXN0Q29uc3RhbnRzLkFVVEhPUklUWV9GSVJTVE5BTUUsXG4gICAgICAgICAgICAgICAgUmVzdENvbnN0YW50cy5BVVRIT1JJVFlfTEFTVE5BTUUsXG4gICAgICAgICAgICAgICAgUmVzdENvbnN0YW50cy5BVVRIT1JJVFlfRU1BSUwsXG4gICAgICAgICAgICBdLmluZGV4T2YoYXR0cmlidXRlKSAhPT0gLTFcbiAgICAgICAgKTtcbiAgICB9XG4gICAgZ2V0V29ya2Zsb3dTdGF0dXMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLm5vZGVIZWxwZXIuZ2V0V29ya2Zsb3dTdGF0dXModGhpcy5ub2RlIGFzIE5vZGUpLmN1cnJlbnQ7XG4gICAgfVxuXG4gICAgZ2V0STE4bihpdGVtOiBMaXN0SXRlbSkge1xuICAgICAgICByZXR1cm4gKGl0ZW0udHlwZSA9PT0gJ05PREVfUFJPUE9TQUwnID8gJ05PREVfUFJPUE9TQUwnIDogJ05PREUnKSArICcuJyArIGl0ZW0ubmFtZTtcbiAgICB9XG5cbiAgICBpc0Rhbmdlcm91c0dyb3VwKCkge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgKHRoaXMubm9kZSBhcyBPcmdhbml6YXRpb24pLmF1dGhvcml0eU5hbWUgPT09XG4gICAgICAgICAgICBSZXN0Q29uc3RhbnRzLkdST1VQX0FMRlJFU0NPX0FETUlOSVNUUkFUT1JTXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyB1cGRhdGVEaXNwbGF5bmFtZSgpIHtcbiAgICAgICAgY29uc3Qgbm9kZSA9IHRoaXMuZ2V0Tm9kZSgpIGFzIE5vZGU7XG4gICAgICAgIGlmICghbm9kZS5wcm9wZXJ0aWVzKSB7XG4gICAgICAgICAgICB0aGlzLmRpc3BsYXlOYW1lJC5uZXh0KCcnKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmRpc3BsYXlOYW1lJC5uZXh0KFxuICAgICAgICAgICAgbm9kZS5wcm9wZXJ0aWVzW3RoaXMuaXRlbS5uYW1lICsgJ19ESVNQTEFZTkFNRSddPy5sZW5ndGggPiAwXG4gICAgICAgICAgICAgICAgPyBub2RlLnByb3BlcnRpZXNbdGhpcy5pdGVtLm5hbWUgKyAnX0RJU1BMQVlOQU1FJ10uam9pbignLCAnKVxuICAgICAgICAgICAgICAgIDogbm9kZS5wcm9wZXJ0aWVzW3RoaXMuaXRlbS5uYW1lXT8uam9pbignLCAnKSxcbiAgICAgICAgKTtcblxuICAgICAgICBjb25zdCBtZHMgPSBhd2FpdCB0aGlzLm1kc1xuICAgICAgICAgICAgLmdldE1ldGFkYXRhU2V0KHtcbiAgICAgICAgICAgICAgICByZXBvc2l0b3J5OiBub2RlLnJlZj8ucmVwbyB8fCBDb25zdGFudHMuSE9NRV9SRVBPU0lUT1JZLFxuICAgICAgICAgICAgICAgIG1ldGFkYXRhU2V0OiBub2RlLm1ldGFkYXRhc2V0IHx8IENvbnN0YW50cy5ERUZBVUxULFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC50b1Byb21pc2UoKTtcbiAgICAgICAgY29uc3Qgd2lkZ2V0ID0gTWRzSGVscGVyU2VydmljZS5nZXRXaWRnZXQodGhpcy5pdGVtLm5hbWUsIG51bGwsIG1kcy53aWRnZXRzKTtcbiAgICAgICAgaWYgKHdpZGdldD8udmFsdWVzKSB7XG4gICAgICAgICAgICBjb25zdCBpMThuID0gbm9kZS5wcm9wZXJ0aWVzW3RoaXMuaXRlbS5uYW1lXVxuICAgICAgICAgICAgICAgID8ubWFwKChwcm9wKSA9PiB3aWRnZXQudmFsdWVzLmZpbHRlcigodikgPT4gdi5pZCA9PT0gcHJvcCk/LlswXT8uY2FwdGlvbilcbiAgICAgICAgICAgICAgICAuZmlsdGVyKChjYXApID0+ICEhY2FwKTtcbiAgICAgICAgICAgIGlmIChpMThuKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5kaXNwbGF5TmFtZSQubmV4dChpMThuLmpvaW4oJywgJykpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGxhYmVsICpuZ0lmPVwiaXRlbS5jb25maWc/LnNob3dMYWJlbFwiPlxuICB7eyBnZXRJMThuKGl0ZW0pIHwgdHJhbnNsYXRlIH19XG48L2xhYmVsPlxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0udHlwZSA9PT0gJ09SRycgfHwgaXRlbS50eXBlID09PSAnR1JPVVAnXCI+XG4gIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cIml0ZW0ubmFtZVwiPlxuICAgIDxzcGFuICpuZ1N3aXRjaENhc2U9XCInZGlzcGxheU5hbWUnXCIgW2NsYXNzLnR5cGUtZGFuZ2VyXT1cImlzRGFuZ2Vyb3VzR3JvdXAoKVwiPlxuICAgICAge3sgJGFueShnZXROb2RlKCkpLnByb2ZpbGU/LmRpc3BsYXlOYW1lIHx8ICRhbnkoZ2V0Tm9kZSgpKS5hdXRob3JpdHlOYW1lIH19XG4gICAgPC9zcGFuPlxuICAgIDxzcGFuICpuZ1N3aXRjaENhc2U9XCInZ3JvdXBUeXBlJ1wiPlxuICAgICAge3sgJ1BFUk1JU1NJT05TLkdST1VQX1RZUEUuJyArICRhbnkoZ2V0Tm9kZSgpKS5wcm9maWxlPy5ncm91cFR5cGUgfCB0cmFuc2xhdGUgfX1cbiAgICA8L3NwYW4+XG4gICAgPHNwYW4gKm5nU3dpdGNoRGVmYXVsdD5cbiAgICAgIHt7ICRhbnkoZ2V0Tm9kZSgpKVtpdGVtLm5hbWVdIH19XG4gICAgPC9zcGFuPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctY29udGFpbmVyPlxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0udHlwZSA9PT0gJ1VTRVInXCI+XG4gIDxzcGFuICpuZ0lmPVwiaXNVc2VyUHJvZmlsZUF0dHJpYnV0ZShpdGVtLm5hbWUpXCI+XG4gICAge3sgJGFueShnZXROb2RlKCkpLnByb2ZpbGU/LltpdGVtLm5hbWVdIH19XG4gIDwvc3Bhbj5cbiAgPHNwYW4gKm5nSWY9XCJpdGVtLm5hbWUgPT09ICdzdGF0dXMnXCI+XG4gICAge3sgJ1BFUk1JU1NJT05TLlVTRVJfU1RBVFVTLicgKyAkYW55KGdldE5vZGUoKSkuc3RhdHVzLnN0YXR1cyB8IHRyYW5zbGF0ZSB9fVxuICA8L3NwYW4+XG4gIDxzcGFuICpuZ0lmPVwiIWlzVXNlclByb2ZpbGVBdHRyaWJ1dGUoaXRlbS5uYW1lKSAmJiBpdGVtLm5hbWUgIT09ICdzdGF0dXMnXCI+XG4gICAge3sgJGFueShnZXROb2RlKCkpW2l0ZW0ubmFtZV0gfX1cbiAgPC9zcGFuPlxuPC9uZy1jb250YWluZXI+XG48bmctY29udGFpbmVyXG4gIFtuZ1N3aXRjaF09XCJpdGVtLm5hbWVcIlxuICAqbmdJZj1cIml0ZW0udHlwZSA9PT0gJ05PREUnIHx8IGl0ZW0udHlwZSA9PT0gJ05PREVfUFJPUE9TQUwnIHx8IGl0ZW0udHlwZSA9PT0gJ0NPTExFQ1RJT04nXCJcbj5cbiAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cIiduYW1lJ1wiPlxuICAgIHt7ICRhbnkoZ2V0Tm9kZSgpKS5uYW1lIH19XG4gIDwvc3Bhbj5cbiAgPHNwYW5cbiAgICAqbmdTd2l0Y2hDYXNlPVwiJ21lZGlhdHlwZSdcIlxuICAgIFttYXRUb29sdGlwXT1cInByb3ZpZGVMYWJlbCA/IChnZXRJMThuKGl0ZW0pIHwgdHJhbnNsYXRlKSA6IG51bGxcIlxuICA+XG4gICAgPHNwYW4gKm5nSWY9XCJwcm92aWRlTGFiZWxcIiBjbGFzcz1cImNkay12aXN1YWxseS1oaWRkZW5cIj57eyBnZXRJMThuKGl0ZW0pIHwgdHJhbnNsYXRlIH19Ojwvc3Bhbj5cbiAgICB7eyAnTUVESUFUWVBFLicgKyAkYW55KGdldE5vZGUoKSkubWVkaWF0eXBlIHwgdHJhbnNsYXRlIH19XG4gIDwvc3Bhbj5cbiAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cIidzaXplJ1wiIFttYXRUb29sdGlwXT1cInByb3ZpZGVMYWJlbCA/IChnZXRJMThuKGl0ZW0pIHwgdHJhbnNsYXRlKSA6IG51bGxcIj5cbiAgICA8c3BhbiAqbmdJZj1cInByb3ZpZGVMYWJlbFwiIGNsYXNzPVwiY2RrLXZpc3VhbGx5LWhpZGRlblwiPnt7IGdldEkxOG4oaXRlbSkgfCB0cmFuc2xhdGUgfX06PC9zcGFuPlxuICAgIHt7ICRhbnkoZ2V0Tm9kZSgpKS5zaXplIHwgZm9ybWF0U2l6ZSB9fVxuICA8L3NwYW4+XG4gIDxzcGFuXG4gICAgKm5nU3dpdGNoQ2FzZT1cIidkaW1lbnNpb25zJ1wiXG4gICAgW21hdFRvb2x0aXBdPVwicHJvdmlkZUxhYmVsID8gKGdldEkxOG4oaXRlbSkgfCB0cmFuc2xhdGUpIDogbnVsbFwiXG4gID5cbiAgICA8c3BhbiAqbmdJZj1cInByb3ZpZGVMYWJlbFwiIGNsYXNzPVwiY2RrLXZpc3VhbGx5LWhpZGRlblwiPnt7IGdldEkxOG4oaXRlbSkgfCB0cmFuc2xhdGUgfX06PC9zcGFuPlxuICAgIHt7ICRhbnkoZ2V0Tm9kZSgpKSB8IE5vZGVJbWFnZVNpemUgfX1cbiAgPC9zcGFuPlxuICA8c3BhblxuICAgICpuZ1N3aXRjaENhc2U9XCInY2NtOndmX3N0YXR1cydcIlxuICAgIFttYXRUb29sdGlwXT1cInByb3ZpZGVMYWJlbCA/IChnZXRJMThuKGl0ZW0pIHwgdHJhbnNsYXRlKSA6IG51bGxcIlxuICA+XG4gICAgPGVzLWxpc3Qtbm9kZS13b3JrZmxvd1xuICAgICAgW2l0ZW1dPVwiaXRlbVwiXG4gICAgICBbbm9kZV09XCJub2RlXCJcbiAgICAgIFtwcm92aWRlTGFiZWxdPVwiZmFsc2VcIlxuICAgID48L2VzLWxpc3Qtbm9kZS13b3JrZmxvdz5cbiAgICA8IS0tPHNwYW4gKm5nSWY9XCJwcm92aWRlTGFiZWxcIiBjbGFzcz1cImNkay12aXN1YWxseS1oaWRkZW5cIj57eyBnZXRJMThuKGl0ZW0pIHwgdHJhbnNsYXRlIH19Ojwvc3Bhbj5cbiAgICB7eyAnV09SS0ZMT1cuJyArIGdldFdvcmtmbG93U3RhdHVzKCkuaWQgfCB0cmFuc2xhdGUgfX0tLT5cbiAgPC9zcGFuPlxuICA8c3BhblxuICAgICpuZ1N3aXRjaENhc2U9XCInY206Y3JlYXRvcidcIlxuICAgIFttYXRUb29sdGlwXT1cInByb3ZpZGVMYWJlbCA/IChnZXRJMThuKGl0ZW0pIHwgdHJhbnNsYXRlKSA6IG51bGxcIlxuICA+XG4gICAgPHNwYW4gKm5nSWY9XCJwcm92aWRlTGFiZWxcIiBjbGFzcz1cImNkay12aXN1YWxseS1oaWRkZW5cIj57eyBnZXRJMThuKGl0ZW0pIHwgdHJhbnNsYXRlIH19Ojwvc3Bhbj5cbiAgICB7eyAkYW55KGdldE5vZGUoKSkuY3JlYXRlZEJ5IHwgbm9kZVBlcnNvbk5hbWUgfX1cbiAgPC9zcGFuPlxuICA8c3BhblxuICAgICpuZ1N3aXRjaENhc2U9XCInY206bW9kaWZpZXInXCJcbiAgICBbbWF0VG9vbHRpcF09XCJwcm92aWRlTGFiZWwgPyAoZ2V0STE4bihpdGVtKSB8IHRyYW5zbGF0ZSkgOiBudWxsXCJcbiAgPlxuICAgIDxzcGFuICpuZ0lmPVwicHJvdmlkZUxhYmVsXCIgY2xhc3M9XCJjZGstdmlzdWFsbHktaGlkZGVuXCJcbiAgICAgID57eyAnTk9ERS5jbTptb2RpZmllcicgfCB0cmFuc2xhdGUgfX06PC9zcGFuXG4gICAgPlxuICAgIHt7ICRhbnkoZ2V0Tm9kZSgpKS5tb2RpZmllZEJ5IHwgbm9kZVBlcnNvbk5hbWUgfX1cbiAgPC9zcGFuPlxuICA8c3BhblxuICAgICpuZ1N3aXRjaENhc2U9XCInY2NtOnJlcGxpY2F0aW9uc291cmNlJ1wiXG4gICAgW21hdFRvb2x0aXBdPVwicHJvdmlkZUxhYmVsID8gKGdldEkxOG4oaXRlbSkgfCB0cmFuc2xhdGUpIDogbnVsbFwiXG4gID5cbiAgICA8c3BhbiAqbmdJZj1cInByb3ZpZGVMYWJlbFwiIGNsYXNzPVwiY2RrLXZpc3VhbGx5LWhpZGRlblwiXG4gICAgICA+e3sgJ05PREUuY2NtOnJlcGxpY2F0aW9uc291cmNlJyB8IHRyYW5zbGF0ZSB9fTo8L3NwYW5cbiAgICA+XG4gICAge3sgJGFueShnZXROb2RlKCkpLnByb3BlcnRpZXNbJ2NjbTpyZXBsaWNhdGlvbnNvdXJjZSddIHwgYXBwTm9kZVNvdXJjZSA6IHsgbW9kZTogJ3RleHQnIH0gfX1cbiAgPC9zcGFuPlxuICA8c3BhblxuICAgICpuZ1N3aXRjaENhc2U9XCInY2NtOmNvbW1vbmxpY2Vuc2Vfa2V5J1wiXG4gICAgW21hdFRvb2x0aXBdPVwicHJvdmlkZUxhYmVsID8gKGdldEkxOG4oaXRlbSkgfCB0cmFuc2xhdGUpIDogbnVsbFwiXG4gID5cbiAgICA8c3BhbiAqbmdJZj1cInByb3ZpZGVMYWJlbFwiIGNsYXNzPVwiY2RrLXZpc3VhbGx5LWhpZGRlblwiXG4gICAgICA+e3sgJ05PREUuY2NtOmNvbW1vbmxpY2Vuc2Vfa2V5JyB8IHRyYW5zbGF0ZSB9fTo8L3NwYW5cbiAgICA+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiRhbnkoZ2V0Tm9kZSgpKS5wcm9wZXJ0aWVzWydjY206Y29tbW9ubGljZW5zZV9rZXknXSBhcyBsaWNlbnNlXCI+XG4gICAgICB7e1xuICAgICAgICBsaWNlbnNlWzBdID09PSAnQ1VTVE9NJ1xuICAgICAgICAgID8gJGFueShnZXROb2RlKCkpLnByb3BlcnRpZXNbJ2NjbG9tOnJpZ2h0c19kZXNjcmlwdGlvbiddXG4gICAgICAgICAgOiAoJ0xJQ0VOU0UuTkFNRVMuJyArICRhbnkoZ2V0Tm9kZSgpKS5wcm9wZXJ0aWVzWydjY206Y29tbW9ubGljZW5zZV9rZXknXVxuICAgICAgICAgICAgfCB0cmFuc2xhdGUgOiB7IGZhbGxiYWNrOiAkYW55KGdldE5vZGUoKSkucHJvcGVydGllc1snY2NtOmNvbW1vbmxpY2Vuc2Vfa2V5J10gfSlcbiAgICAgIH19XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiEkYW55KGdldE5vZGUoKSkucHJvcGVydGllc1snY2NtOmNvbW1vbmxpY2Vuc2Vfa2V5J11cIj5cbiAgICAgIHt7ICdMSUNFTlNFLk5BTUVTLk5PTkUnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvc3Bhbj5cbiAgPHNwYW5cbiAgICAqbmdTd2l0Y2hDYXNlPVwiJ2NjbTplZHVjYXRpb25hbHR5cGljYWxhZ2VyYW5nZSdcIlxuICAgIFttYXRUb29sdGlwXT1cInByb3ZpZGVMYWJlbCA/IChnZXRJMThuKGl0ZW0pIHwgdHJhbnNsYXRlKSA6IG51bGxcIlxuICA+XG4gICAgPHNwYW4gKm5nSWY9XCJwcm92aWRlTGFiZWxcIiBjbGFzcz1cImNkay12aXN1YWxseS1oaWRkZW5cIlxuICAgICAgPnt7ICdOT0RFLmNjbTplZHVjYXRpb25hbHR5cGljYWxhZ2VyYW5nZScgfCB0cmFuc2xhdGUgfX06PC9zcGFuXG4gICAgPlxuICAgIDxuZy1jb250YWluZXJcbiAgICAgICpuZ0lmPVwiXG4gICAgICAgICRhbnkoZ2V0Tm9kZSgpKS5wcm9wZXJ0aWVzWydjY206ZWR1Y2F0aW9uYWx0eXBpY2FsYWdlcmFuZ2VfZnJvbSddIHx8XG4gICAgICAgICRhbnkoZ2V0Tm9kZSgpKS5wcm9wZXJ0aWVzWydjY206ZWR1Y2F0aW9uYWx0eXBpY2FsYWdlcmFuZ2VfdG8nXVxuICAgICAgXCJcbiAgICA+XG4gICAgICB7eyAkYW55KGdldE5vZGUoKSkucHJvcGVydGllc1snY2NtOmVkdWNhdGlvbmFsdHlwaWNhbGFnZXJhbmdlX2Zyb20nXSB9fSAtXG4gICAgICB7eyAkYW55KGdldE5vZGUoKSkucHJvcGVydGllc1snY2NtOmVkdWNhdGlvbmFsdHlwaWNhbGFnZXJhbmdlX3RvJ10gfX1cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9zcGFuPlxuICA8c3BhblxuICAgICpuZ1N3aXRjaENhc2U9XCInY2Nsb206ZHVyYXRpb24nXCJcbiAgICBbbWF0VG9vbHRpcF09XCJwcm92aWRlTGFiZWwgPyAoZ2V0STE4bihpdGVtKSB8IHRyYW5zbGF0ZSkgOiBudWxsXCJcbiAgPlxuICAgIDxzcGFuICpuZ0lmPVwicHJvdmlkZUxhYmVsXCIgY2xhc3M9XCJjZGstdmlzdWFsbHktaGlkZGVuXCJcbiAgICAgID57eyAnTk9ERS5jY2xvbTpkdXJhdGlvbicgfCB0cmFuc2xhdGUgfX06PC9zcGFuXG4gICAgPlxuICAgIHt7ICRhbnkoZ2V0Tm9kZSgpKS5wcm9wZXJ0aWVzWydjY2xvbTpkdXJhdGlvbiddPy5bMF0gfCBmb3JtYXREdXJhdGlvbiB9fVxuICA8L3NwYW4+XG4gIDxzcGFuXG4gICAgKm5nU3dpdGNoQ2FzZT1cIidjY206Y29sbGVjdGlvbl9wcm9wb3NhbF9zdGF0dXMnXCJcbiAgICBbbWF0VG9vbHRpcF09XCJwcm92aWRlTGFiZWwgPyAoZ2V0STE4bihpdGVtKSB8IHRyYW5zbGF0ZSkgOiBudWxsXCJcbiAgPlxuICAgIDxzcGFuICpuZ0lmPVwicHJvdmlkZUxhYmVsXCIgY2xhc3M9XCJjZGstdmlzdWFsbHktaGlkZGVuXCJcbiAgICAgID57eyAnTk9ERS5jY206Y29sbGVjdGlvbl9wcm9wb3NhbF9zdGF0dXMnIHwgdHJhbnNsYXRlIH19Ojwvc3BhblxuICAgID5cbiAgICA8IS0tIHVzZSBub2RlIGluc3RlYWQgb2YgZ2V0Tm9kZSgpIHRvIGFjY2VzcyB0aGUgcmF3IHByb3Bvc2FsIGRhdGEhIC0tPlxuICAgIHt7XG4gICAgICAnUFJPUE9TQUxfU1RBVFVTLicgKyAkYW55KG5vZGUpLnByb3BlcnRpZXNbJ2NjbTpjb2xsZWN0aW9uX3Byb3Bvc2FsX3N0YXR1cyddPy5bMF1cbiAgICAgICAgfCB0cmFuc2xhdGU6IHsgZmFsbGJhY2s6ICcnIH1cbiAgICB9fVxuICA8L3NwYW4+XG4gIDxzcGFuXG4gICAgKm5nU3dpdGNoRGVmYXVsdFxuICAgIGVzQ2hlY2tUZXh0T3ZlcmZsb3dcbiAgICAjdGV4dD1cImVzQ2hlY2tUZXh0T3ZlcmZsb3dcIlxuICAgIFttYXRUb29sdGlwXT1cIlxuICAgICAgcHJvdmlkZUxhYmVsID8gKGdldEkxOG4oaXRlbSkgfCB0cmFuc2xhdGUpIDogdGV4dC5oYXNUZXh0T3ZlcmZsb3coKSA/IGNvbnRlbnQuaW5uZXJUZXh0IDogbnVsbFxuICAgIFwiXG4gICAgI2NvbnRlbnRcbiAgPlxuICAgIDxzcGFuICpuZ0lmPVwicHJvdmlkZUxhYmVsXCIgY2xhc3M9XCJjZGstdmlzdWFsbHktaGlkZGVuXCI+e3sgZ2V0STE4bihpdGVtKSB8IHRyYW5zbGF0ZSB9fTo8L3NwYW4+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIlsndGl0bGUnLCAnY206dGl0bGUnLCAnY2Nsb206dGl0bGUnXS5pbmNsdWRlcyhpdGVtLm5hbWUpXCI+XG4gICAgICB7eyAkYW55KGdldE5vZGUoKSkgfCBub2RlVGl0bGUgfX1cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiWyduYW1lJywgJ2NtOm5hbWUnXS5pbmNsdWRlcyhpdGVtLm5hbWUpXCI+XG4gICAgICB7eyAkYW55KGdldE5vZGUoKSkgfCBub2RlVGl0bGUgOiB7IHR5cGU6ICduYW1lJyB9IH19XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgKm5nSWY9XCIhWyduYW1lJywgJ2NtOm5hbWUnLCAndGl0bGUnLCAnY206dGl0bGUnLCAnY2Nsb206dGl0bGUnXS5pbmNsdWRlcyhpdGVtLm5hbWUpXCJcbiAgICA+XG4gICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICpuZ0lmPVwiREFURV9GSUVMRFMuaW5kZXhPZihpdGVtLm5hbWUpID09PSAtMSAmJiBWQ0FSRF9GSUVMRFMuaW5kZXhPZihpdGVtLm5hbWUpID09PSAtMVwiXG4gICAgICA+XG4gICAgICAgIHt7IGRpc3BsYXlOYW1lJCB8IGFzeW5jIH19XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJEQVRFX0ZJRUxEUy5pbmNsdWRlcyhpdGVtLm5hbWUpXCI+XG4gICAgICAgIHt7XG4gICAgICAgICAgKCRhbnkoZ2V0Tm9kZSgpKS5wcm9wZXJ0aWVzW2l0ZW0ubmFtZSArICdfTE9ORyddPy5bMF0gfHwgJGFueShnZXROb2RlKCkpLnByb3BlcnRpZXNbaXRlbS5uYW1lXT8uWzBdKVxuICAgICAgICAgICAgfCBmb3JtYXREYXRlOiB7IGFzeW5jOiB0cnVlLCB0aW1lOiB0cnVlLCByZWxhdGl2ZTogdHJ1ZSB9XG4gICAgICAgICAgICB8IGFzeW5jXG4gICAgICAgIH19XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJWQ0FSRF9GSUVMRFMuaW5jbHVkZXMoaXRlbS5uYW1lKVwiPlxuICAgICAgICB7e1xuICAgICAgICAgICRhbnkoZ2V0Tm9kZSgpKS5wcm9wZXJ0aWVzW2l0ZW0ubmFtZV1cbiAgICAgICAgICAgID8gKCRhbnkoZ2V0Tm9kZSgpKS5wcm9wZXJ0aWVzW2l0ZW0ubmFtZV0gfCB2Y2FyZE5hbWUpXG4gICAgICAgICAgICA6ICcnXG4gICAgICAgIH19XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9zcGFuPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
@@ -1,49 +0,0 @@
1
- import { Input, Directive } from '@angular/core';
2
- import { BehaviorSubject } from 'rxjs';
3
- import * as i0 from "@angular/core";
4
- export class ListWidget {
5
- get node() {
6
- return this.nodeSubject.value;
7
- }
8
- set node(value) {
9
- this.nodeSubject.next(value);
10
- }
11
- get item() {
12
- return this.itemSubject.value;
13
- }
14
- set item(value) {
15
- this.itemSubject.next(value);
16
- }
17
- /**
18
- * Provide a label for non-obvious fields that describes the field the given value belongs to.
19
- *
20
- * The label is included in a tooltip and made available for a11y technologies.
21
- *
22
- * Useful when the value is displayed without context.
23
- *
24
- * Other tooltips might be added even with this input set to `false`.
25
- */
26
- get provideLabel() {
27
- return this.provideLabelSubject.value;
28
- }
29
- set provideLabel(value) {
30
- this.provideLabelSubject.next(value);
31
- }
32
- constructor() {
33
- this.nodeSubject = new BehaviorSubject(null); // node (or group/user)
34
- this.itemSubject = new BehaviorSubject(null);
35
- this.provideLabelSubject = new BehaviorSubject(false);
36
- }
37
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ListWidget, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
38
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.12", type: ListWidget, inputs: { node: "node", item: "item", provideLabel: "provideLabel" }, ngImport: i0 }); }
39
- }
40
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ListWidget, decorators: [{
41
- type: Directive
42
- }], ctorParameters: () => [], propDecorators: { node: [{
43
- type: Input
44
- }], item: [{
45
- type: Input
46
- }], provideLabel: [{
47
- type: Input
48
- }] } });
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC13aWRnZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lZHUtc2hhcmluZy11aS9zcmMvbGliL2xpc3QtaXRlbXMvbGlzdC13aWRnZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBUSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFLdkMsTUFBTSxPQUFPLFVBQVU7SUFDbkIsSUFDSSxJQUFJO1FBQ0osT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQztJQUNsQyxDQUFDO0lBQ0QsSUFBSSxJQUFJLENBQUMsS0FBd0Q7UUFDN0QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUtELElBQ0ksSUFBSTtRQUNKLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUM7SUFDbEMsQ0FBQztJQUNELElBQUksSUFBSSxDQUFDLEtBQWU7UUFDcEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUdEOzs7Ozs7OztPQVFHO0lBQ0gsSUFDSSxZQUFZO1FBQ1osT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDO0lBQzFDLENBQUM7SUFDRCxJQUFJLFlBQVksQ0FBQyxLQUFLO1FBQ2xCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUdEO1FBL0JtQixnQkFBVyxHQUFHLElBQUksZUFBZSxDQUVsRCxJQUFJLENBQUMsQ0FBQyxDQUFDLHVCQUF1QjtRQVNiLGdCQUFXLEdBQUcsSUFBSSxlQUFlLENBQVcsSUFBSSxDQUFDLENBQUM7UUFrQmxELHdCQUFtQixHQUFHLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRXJELENBQUM7K0dBdkNQLFVBQVU7bUdBQVYsVUFBVTs7NEZBQVYsVUFBVTtrQkFEdEIsU0FBUzt3REFHRixJQUFJO3NCQURQLEtBQUs7Z0JBWUYsSUFBSTtzQkFEUCxLQUFLO2dCQW1CRixZQUFZO3NCQURmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbnB1dCwgVHlwZSwgRGlyZWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQZXJzb24gfSBmcm9tICduZ3gtZWR1LXNoYXJpbmctYXBpJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTm9kZSwgUHJvcG9zYWxOb2RlLCBHcm91cCwgU3RhdGlzdGljcyB9IGZyb20gJ25neC1lZHUtc2hhcmluZy1hcGknO1xuaW1wb3J0IHsgTGlzdEl0ZW0gfSBmcm9tICcuLi90eXBlcy9saXN0LWl0ZW0nO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBjbGFzcyBMaXN0V2lkZ2V0IHtcbiAgICBASW5wdXQoKVxuICAgIGdldCBub2RlKCk6IE5vZGUgfCBQcm9wb3NhbE5vZGUgfCBHcm91cCB8IFBlcnNvbiB8IFN0YXRpc3RpY3Mge1xuICAgICAgICByZXR1cm4gdGhpcy5ub2RlU3ViamVjdC52YWx1ZTtcbiAgICB9XG4gICAgc2V0IG5vZGUodmFsdWU6IE5vZGUgfCBQcm9wb3NhbE5vZGUgfCBHcm91cCB8IFBlcnNvbiB8IFN0YXRpc3RpY3MpIHtcbiAgICAgICAgdGhpcy5ub2RlU3ViamVjdC5uZXh0KHZhbHVlKTtcbiAgICB9XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IG5vZGVTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxcbiAgICAgICAgTm9kZSB8IFByb3Bvc2FsTm9kZSB8IEdyb3VwIHwgUGVyc29uIHwgU3RhdGlzdGljc1xuICAgID4obnVsbCk7IC8vIG5vZGUgKG9yIGdyb3VwL3VzZXIpXG5cbiAgICBASW5wdXQoKVxuICAgIGdldCBpdGVtKCk6IExpc3RJdGVtIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXRlbVN1YmplY3QudmFsdWU7XG4gICAgfVxuICAgIHNldCBpdGVtKHZhbHVlOiBMaXN0SXRlbSkge1xuICAgICAgICB0aGlzLml0ZW1TdWJqZWN0Lm5leHQodmFsdWUpO1xuICAgIH1cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXRlbVN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PExpc3RJdGVtPihudWxsKTtcblxuICAgIC8qKlxuICAgICAqIFByb3ZpZGUgYSBsYWJlbCBmb3Igbm9uLW9idmlvdXMgZmllbGRzIHRoYXQgZGVzY3JpYmVzIHRoZSBmaWVsZCB0aGUgZ2l2ZW4gdmFsdWUgYmVsb25ncyB0by5cbiAgICAgKlxuICAgICAqIFRoZSBsYWJlbCBpcyBpbmNsdWRlZCBpbiBhIHRvb2x0aXAgYW5kIG1hZGUgYXZhaWxhYmxlIGZvciBhMTF5IHRlY2hub2xvZ2llcy5cbiAgICAgKlxuICAgICAqIFVzZWZ1bCB3aGVuIHRoZSB2YWx1ZSBpcyBkaXNwbGF5ZWQgd2l0aG91dCBjb250ZXh0LlxuICAgICAqXG4gICAgICogT3RoZXIgdG9vbHRpcHMgbWlnaHQgYmUgYWRkZWQgZXZlbiB3aXRoIHRoaXMgaW5wdXQgc2V0IHRvIGBmYWxzZWAuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBnZXQgcHJvdmlkZUxhYmVsKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5wcm92aWRlTGFiZWxTdWJqZWN0LnZhbHVlO1xuICAgIH1cbiAgICBzZXQgcHJvdmlkZUxhYmVsKHZhbHVlKSB7XG4gICAgICAgIHRoaXMucHJvdmlkZUxhYmVsU3ViamVjdC5uZXh0KHZhbHVlKTtcbiAgICB9XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHByb3ZpZGVMYWJlbFN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcblxuICAgIGNvbnN0cnVjdG9yKCkge31cbn1cblxuZXhwb3J0IHR5cGUgTGlzdFdpZGdldENsYXNzID0ge1xuICAgIHN1cHBvcnRlZEl0ZW1zOiBMaXN0SXRlbVtdO1xufSAmIFR5cGU8TGlzdFdpZGdldD47XG4iXX0=
@@ -1,24 +0,0 @@
1
- import { Component, ContentChild, Input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/common";
4
- import * as i2 from "@angular/material/tooltip";
5
- import * as i3 from "../list-text/list-text.component";
6
- import * as i4 from "../../pipes/node-icon.pipe";
7
- import * as i5 from "@ngx-translate/core";
8
- export class NodeRowComponent {
9
- constructor() { }
10
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: NodeRowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: NodeRowComponent, selector: "es-node-row", inputs: { node: "node", columns: "columns" }, queries: [{ propertyName: "customMetadataRef", first: true, predicate: ["customMetadata"], descendants: true }], ngImport: i0, template: "<div class=\"node-row\" *ngIf=\"node\">\n <div class=\"icon-bg\">\n <img\n [src]=\"node | esNodeIcon | async\"\n [alt]=\"\n node.mediatype\n ? ('NODE.mediatype' | translate) + ': ' + ('MEDIATYPE.' + node.mediatype | translate)\n : ''\n \"\n [matTooltip]=\"\n node.mediatype\n ? ('NODE.mediatype' | translate) + ': ' + ('MEDIATYPE.' + node.mediatype | translate)\n : ''\n \"\n />\n </div>\n <div class=\"node-data\">\n <div class=\"node-data-primary\">\n <es-list-text [node]=\"node\" [item]=\"columns[0]\"> </es-list-text>\n </div>\n <div class=\"node-data-secondary\">\n <es-list-text\n *ngFor=\"let column of columns.slice(1)\"\n [node]=\"node\"\n [item]=\"column\"\n [provideLabel]=\"true\"\n ></es-list-text>\n <ng-container *ngTemplateOutlet=\"customMetadataRef; context: { node: node }\"></ng-container>\n </div>\n </div>\n</div>\n", styles: [".node-row{width:100%;display:grid;grid-template-columns:var(--tableIconSize) auto;grid-gap:10px;align-items:center;padding:10px;white-space:normal}.node-row .node-data{flex-grow:1;display:flex;flex-direction:column}.node-row .node-data .node-data-primary{font-weight:700;padding-bottom:5px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;line-height:1.25em;max-height:1.25em;-webkit-line-clamp:1;-webkit-box-orient:vertical}.node-row .node-data .node-data-secondary{color:var(--textLight);display:flex;justify-content:space-between}.node-row .icon-bg{background-color:rgb(var(--palette-foreground-text-dark));border-radius:50%;width:var(--tableIconSize);height:var(--tableIconSize)!important;display:flex;align-items:center;justify-content:center;box-shadow:0 3px 3px #0000001a}.node-row .icon-bg img,.node-row .icon-bg i{width:50%;z-index:0}.node-row .icon-bg i{color:rgb(var(--palette-foreground-text));font-size:20px}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i3.ListTextComponent, selector: "es-list-text" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.NodeIconPipe, name: "esNodeIcon" }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }] }); }
12
- }
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: NodeRowComponent, decorators: [{
14
- type: Component,
15
- args: [{ selector: 'es-node-row', template: "<div class=\"node-row\" *ngIf=\"node\">\n <div class=\"icon-bg\">\n <img\n [src]=\"node | esNodeIcon | async\"\n [alt]=\"\n node.mediatype\n ? ('NODE.mediatype' | translate) + ': ' + ('MEDIATYPE.' + node.mediatype | translate)\n : ''\n \"\n [matTooltip]=\"\n node.mediatype\n ? ('NODE.mediatype' | translate) + ': ' + ('MEDIATYPE.' + node.mediatype | translate)\n : ''\n \"\n />\n </div>\n <div class=\"node-data\">\n <div class=\"node-data-primary\">\n <es-list-text [node]=\"node\" [item]=\"columns[0]\"> </es-list-text>\n </div>\n <div class=\"node-data-secondary\">\n <es-list-text\n *ngFor=\"let column of columns.slice(1)\"\n [node]=\"node\"\n [item]=\"column\"\n [provideLabel]=\"true\"\n ></es-list-text>\n <ng-container *ngTemplateOutlet=\"customMetadataRef; context: { node: node }\"></ng-container>\n </div>\n </div>\n</div>\n", styles: [".node-row{width:100%;display:grid;grid-template-columns:var(--tableIconSize) auto;grid-gap:10px;align-items:center;padding:10px;white-space:normal}.node-row .node-data{flex-grow:1;display:flex;flex-direction:column}.node-row .node-data .node-data-primary{font-weight:700;padding-bottom:5px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;line-height:1.25em;max-height:1.25em;-webkit-line-clamp:1;-webkit-box-orient:vertical}.node-row .node-data .node-data-secondary{color:var(--textLight);display:flex;justify-content:space-between}.node-row .icon-bg{background-color:rgb(var(--palette-foreground-text-dark));border-radius:50%;width:var(--tableIconSize);height:var(--tableIconSize)!important;display:flex;align-items:center;justify-content:center;box-shadow:0 3px 3px #0000001a}.node-row .icon-bg img,.node-row .icon-bg i{width:50%;z-index:0}.node-row .icon-bg i{color:rgb(var(--palette-foreground-text));font-size:20px}\n"] }]
16
- }], ctorParameters: () => [], propDecorators: { customMetadataRef: [{
17
- type: ContentChild,
18
- args: ['customMetadata']
19
- }], node: [{
20
- type: Input
21
- }], columns: [{
22
- type: Input
23
- }] } });
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1yb3cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWR1LXNoYXJpbmctdWkvc3JjL2xpYi9saXN0LWl0ZW1zL25vZGUtcm93L25vZGUtcm93LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VkdS1zaGFyaW5nLXVpL3NyYy9saWIvbGlzdC1pdGVtcy9ub2RlLXJvdy9ub2RlLXJvdy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7QUFTNUUsTUFBTSxPQUFPLGdCQUFnQjtJQUt6QixnQkFBZSxDQUFDOytHQUxQLGdCQUFnQjttR0FBaEIsZ0JBQWdCLGtOQ1Q3Qix3OUJBK0JBOzs0RkR0QmEsZ0JBQWdCO2tCQUw1QixTQUFTOytCQUNJLGFBQWE7d0RBS1MsaUJBQWlCO3NCQUFoRCxZQUFZO3VCQUFDLGdCQUFnQjtnQkFDckIsSUFBSTtzQkFBWixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ29udGVudENoaWxkLCBJbnB1dCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5vZGUgfSBmcm9tICduZ3gtZWR1LXNoYXJpbmctYXBpJztcbmltcG9ydCB7IExpc3RJdGVtIH0gZnJvbSAnLi4vLi4vdHlwZXMvbGlzdC1pdGVtJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdlcy1ub2RlLXJvdycsXG4gICAgdGVtcGxhdGVVcmw6ICdub2RlLXJvdy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJ25vZGUtcm93LmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIE5vZGVSb3dDb21wb25lbnQge1xuICAgIEBDb250ZW50Q2hpbGQoJ2N1c3RvbU1ldGFkYXRhJykgY3VzdG9tTWV0YWRhdGFSZWY6IFRlbXBsYXRlUmVmPGFueT47XG4gICAgQElucHV0KCkgbm9kZTogTm9kZTtcbiAgICBASW5wdXQoKSBjb2x1bW5zOiBMaXN0SXRlbVtdO1xuXG4gICAgY29uc3RydWN0b3IoKSB7fVxufVxuIiwiPGRpdiBjbGFzcz1cIm5vZGUtcm93XCIgKm5nSWY9XCJub2RlXCI+XG4gIDxkaXYgY2xhc3M9XCJpY29uLWJnXCI+XG4gICAgPGltZ1xuICAgICAgW3NyY109XCJub2RlIHwgZXNOb2RlSWNvbiB8IGFzeW5jXCJcbiAgICAgIFthbHRdPVwiXG4gICAgICAgIG5vZGUubWVkaWF0eXBlXG4gICAgICAgICAgPyAoJ05PREUubWVkaWF0eXBlJyB8IHRyYW5zbGF0ZSkgKyAnOiAnICsgKCdNRURJQVRZUEUuJyArIG5vZGUubWVkaWF0eXBlIHwgdHJhbnNsYXRlKVxuICAgICAgICAgIDogJydcbiAgICAgIFwiXG4gICAgICBbbWF0VG9vbHRpcF09XCJcbiAgICAgICAgbm9kZS5tZWRpYXR5cGVcbiAgICAgICAgICA/ICgnTk9ERS5tZWRpYXR5cGUnIHwgdHJhbnNsYXRlKSArICc6ICcgKyAoJ01FRElBVFlQRS4nICsgbm9kZS5tZWRpYXR5cGUgfCB0cmFuc2xhdGUpXG4gICAgICAgICAgOiAnJ1xuICAgICAgXCJcbiAgICAvPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cIm5vZGUtZGF0YVwiPlxuICAgIDxkaXYgY2xhc3M9XCJub2RlLWRhdGEtcHJpbWFyeVwiPlxuICAgICAgPGVzLWxpc3QtdGV4dCBbbm9kZV09XCJub2RlXCIgW2l0ZW1dPVwiY29sdW1uc1swXVwiPiA8L2VzLWxpc3QtdGV4dD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwibm9kZS1kYXRhLXNlY29uZGFyeVwiPlxuICAgICAgPGVzLWxpc3QtdGV4dFxuICAgICAgICAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIGNvbHVtbnMuc2xpY2UoMSlcIlxuICAgICAgICBbbm9kZV09XCJub2RlXCJcbiAgICAgICAgW2l0ZW1dPVwiY29sdW1uXCJcbiAgICAgICAgW3Byb3ZpZGVMYWJlbF09XCJ0cnVlXCJcbiAgICAgID48L2VzLWxpc3QtdGV4dD5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjdXN0b21NZXRhZGF0YVJlZjsgY29udGV4dDogeyBub2RlOiBub2RlIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -1,49 +0,0 @@
1
- import { Pipe } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "../services/node-helper.service";
4
- import * as i2 from "ngx-edu-sharing-api";
5
- export class NodeSourcePipe {
6
- constructor(nodeHelper, networkApi) {
7
- this.nodeHelper = nodeHelper;
8
- this.networkApi = networkApi;
9
- this.networkApi.getHomeRepository().subscribe((homeRepository) => {
10
- this.homeRepository = homeRepository;
11
- });
12
- }
13
- transform(replicationSource, args) {
14
- const rawSrc = replicationSource ? replicationSource.toString().trim() : 'home';
15
- if (args.mode === 'text') {
16
- if (rawSrc === 'home') {
17
- // FIXME: This will fix the pipe's return value to 'home' for calls before
18
- // `this.homeRepository` was populated (although that doesn't seem to happen).
19
- return this.homeRepository?.title || 'home';
20
- }
21
- return rawSrc;
22
- }
23
- else if (args.mode === 'url') {
24
- const src = this.escape(rawSrc);
25
- return this.nodeHelper.getSourceIconPath(src);
26
- }
27
- else if (args.mode === 'escaped') {
28
- return this.escape(rawSrc);
29
- }
30
- return null;
31
- }
32
- escape(src) {
33
- if (!src) {
34
- return src;
35
- }
36
- src = src.substring(src.lastIndexOf(':') + 1).toLowerCase();
37
- src = src.replace(/\s/g, '_');
38
- src = src.replace(/\./g, '_');
39
- src = src.replace(/\//g, '_');
40
- return src;
41
- }
42
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: NodeSourcePipe, deps: [{ token: i1.NodeHelperService }, { token: i2.NetworkService }], target: i0.ɵɵFactoryTarget.Pipe }); }
43
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.12", ngImport: i0, type: NodeSourcePipe, name: "appNodeSource" }); }
44
- }
45
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: NodeSourcePipe, decorators: [{
46
- type: Pipe,
47
- args: [{ name: 'appNodeSource' }]
48
- }], ctorParameters: () => [{ type: i1.NodeHelperService }, { type: i2.NetworkService }] });
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1zb3VyY2UucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VkdS1zaGFyaW5nLXVpL3NyYy9saWIvbGlzdC1pdGVtcy9ub2RlLXNvdXJjZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOzs7O0FBS3BELE1BQU0sT0FBTyxjQUFjO0lBR3ZCLFlBQW9CLFVBQTZCLEVBQVUsVUFBMEI7UUFBakUsZUFBVSxHQUFWLFVBQVUsQ0FBbUI7UUFBVSxlQUFVLEdBQVYsVUFBVSxDQUFnQjtRQUNqRixJQUFJLENBQUMsVUFBVSxDQUFDLGlCQUFpQixFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsY0FBYyxFQUFFLEVBQUU7WUFDN0QsSUFBSSxDQUFDLGNBQWMsR0FBRyxjQUFjLENBQUM7UUFDekMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsU0FBUyxDQUNMLGlCQUF5QixFQUN6QixJQUVDO1FBRUQsTUFBTSxNQUFNLEdBQUcsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDaEYsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLE1BQU0sRUFBRSxDQUFDO1lBQ3ZCLElBQUksTUFBTSxLQUFLLE1BQU0sRUFBRSxDQUFDO2dCQUNwQiwwRUFBMEU7Z0JBQzFFLDhFQUE4RTtnQkFDOUUsT0FBTyxJQUFJLENBQUMsY0FBYyxFQUFFLEtBQUssSUFBSSxNQUFNLENBQUM7WUFDaEQsQ0FBQztZQUNELE9BQU8sTUFBTSxDQUFDO1FBQ2xCLENBQUM7YUFBTSxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssS0FBSyxFQUFFLENBQUM7WUFDN0IsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNoQyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbEQsQ0FBQzthQUFNLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNqQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDL0IsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFTyxNQUFNLENBQUMsR0FBVztRQUN0QixJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDUCxPQUFPLEdBQUcsQ0FBQztRQUNmLENBQUM7UUFDRCxHQUFHLEdBQUcsR0FBRyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzVELEdBQUcsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztRQUM5QixHQUFHLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDOUIsR0FBRyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQzlCLE9BQU8sR0FBRyxDQUFDO0lBQ2YsQ0FBQzsrR0F6Q1EsY0FBYzs2R0FBZCxjQUFjOzs0RkFBZCxjQUFjO2tCQUQxQixJQUFJO21CQUFDLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5ldHdvcmtTZXJ2aWNlLCBSZXBvc2l0b3J5IH0gZnJvbSAnbmd4LWVkdS1zaGFyaW5nLWFwaSc7XG5pbXBvcnQgeyBOb2RlSGVscGVyU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL25vZGUtaGVscGVyLnNlcnZpY2UnO1xuXG5AUGlwZSh7IG5hbWU6ICdhcHBOb2RlU291cmNlJyB9KVxuZXhwb3J0IGNsYXNzIE5vZGVTb3VyY2VQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgcHJpdmF0ZSBob21lUmVwb3NpdG9yeTogUmVwb3NpdG9yeTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgbm9kZUhlbHBlcjogTm9kZUhlbHBlclNlcnZpY2UsIHByaXZhdGUgbmV0d29ya0FwaTogTmV0d29ya1NlcnZpY2UpIHtcbiAgICAgICAgdGhpcy5uZXR3b3JrQXBpLmdldEhvbWVSZXBvc2l0b3J5KCkuc3Vic2NyaWJlKChob21lUmVwb3NpdG9yeSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5ob21lUmVwb3NpdG9yeSA9IGhvbWVSZXBvc2l0b3J5O1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICB0cmFuc2Zvcm0oXG4gICAgICAgIHJlcGxpY2F0aW9uU291cmNlOiBzdHJpbmcsXG4gICAgICAgIGFyZ3M6IHtcbiAgICAgICAgICAgIG1vZGU6ICd0ZXh0JyB8ICd1cmwnIHwgJ2VzY2FwZWQnO1xuICAgICAgICB9LFxuICAgICk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IHJhd1NyYyA9IHJlcGxpY2F0aW9uU291cmNlID8gcmVwbGljYXRpb25Tb3VyY2UudG9TdHJpbmcoKS50cmltKCkgOiAnaG9tZSc7XG4gICAgICAgIGlmIChhcmdzLm1vZGUgPT09ICd0ZXh0Jykge1xuICAgICAgICAgICAgaWYgKHJhd1NyYyA9PT0gJ2hvbWUnKSB7XG4gICAgICAgICAgICAgICAgLy8gRklYTUU6IFRoaXMgd2lsbCBmaXggdGhlIHBpcGUncyByZXR1cm4gdmFsdWUgdG8gJ2hvbWUnIGZvciBjYWxscyBiZWZvcmVcbiAgICAgICAgICAgICAgICAvLyBgdGhpcy5ob21lUmVwb3NpdG9yeWAgd2FzIHBvcHVsYXRlZCAoYWx0aG91Z2ggdGhhdCBkb2Vzbid0IHNlZW0gdG8gaGFwcGVuKS5cbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5ob21lUmVwb3NpdG9yeT8udGl0bGUgfHwgJ2hvbWUnO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHJhd1NyYztcbiAgICAgICAgfSBlbHNlIGlmIChhcmdzLm1vZGUgPT09ICd1cmwnKSB7XG4gICAgICAgICAgICBjb25zdCBzcmMgPSB0aGlzLmVzY2FwZShyYXdTcmMpO1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMubm9kZUhlbHBlci5nZXRTb3VyY2VJY29uUGF0aChzcmMpO1xuICAgICAgICB9IGVsc2UgaWYgKGFyZ3MubW9kZSA9PT0gJ2VzY2FwZWQnKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5lc2NhcGUocmF3U3JjKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGVzY2FwZShzcmM6IHN0cmluZykge1xuICAgICAgICBpZiAoIXNyYykge1xuICAgICAgICAgICAgcmV0dXJuIHNyYztcbiAgICAgICAgfVxuICAgICAgICBzcmMgPSBzcmMuc3Vic3RyaW5nKHNyYy5sYXN0SW5kZXhPZignOicpICsgMSkudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgc3JjID0gc3JjLnJlcGxhY2UoL1xccy9nLCAnXycpO1xuICAgICAgICBzcmMgPSBzcmMucmVwbGFjZSgvXFwuL2csICdfJyk7XG4gICAgICAgIHNyYyA9IHNyYy5yZXBsYWNlKC9cXC8vZywgJ18nKTtcbiAgICAgICAgcmV0dXJuIHNyYztcbiAgICB9XG59XG4iXX0=
@@ -1,167 +0,0 @@
1
- import { RestConstants, } from 'ngx-edu-sharing-api';
2
- import { Injectable } from '@angular/core';
3
- import { ListItem } from '../types/list-item';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "ngx-edu-sharing-api";
6
- export class MdsHelperService {
7
- static getSortInfo(mdsSet, name) {
8
- if (mdsSet) {
9
- if (mdsSet.sorts) {
10
- for (const list of mdsSet.sorts) {
11
- if (list.id == name) {
12
- return list;
13
- }
14
- }
15
- }
16
- console.error('mds does not define sort info for ' + name + ', invalid configuration!');
17
- }
18
- return null;
19
- }
20
- static getColumns(translate, mdsSet, name) {
21
- let columns = [];
22
- if (mdsSet) {
23
- for (const list of mdsSet.lists) {
24
- if (list.id === name) {
25
- for (const column of list.columns) {
26
- let type = 'NODE';
27
- if (name === 'mediacenterGroups') {
28
- type = 'GROUP';
29
- }
30
- else if (name === 'searchCollections') {
31
- type = 'COLLECTION';
32
- }
33
- // in this case, the type is included
34
- if (column.id.includes('.')) {
35
- const split = column.id.split('.');
36
- type = split[0];
37
- column.id = split[1];
38
- }
39
- const item = new ListItem(type, column.id);
40
- item.format = column.format;
41
- columns.push(item);
42
- }
43
- break;
44
- }
45
- }
46
- }
47
- if (!columns.length) {
48
- if (mdsSet !== null) {
49
- console.warn('mds does not define columns for ' + name + ', invalid configuration!');
50
- }
51
- if (name === 'search' || name === 'collectionReferences') {
52
- columns.push(new ListItem('NODE', RestConstants.LOM_PROP_TITLE));
53
- columns.push(new ListItem('NODE', RestConstants.CM_MODIFIED_DATE));
54
- columns.push(new ListItem('NODE', RestConstants.CCM_PROP_LICENSE));
55
- columns.push(new ListItem('NODE', RestConstants.CCM_PROP_REPLICATIONSOURCE));
56
- }
57
- else if (name === 'mediacenterManaged') {
58
- columns.push(new ListItem('NODE', RestConstants.LOM_PROP_TITLE));
59
- columns.push(new ListItem('NODE', RestConstants.CCM_PROP_REPLICATIONSOURCEID));
60
- columns.push(new ListItem('NODE', RestConstants.CCM_PROP_REPLICATIONSOURCE));
61
- }
62
- else if (name === 'mediacenterGroups') {
63
- columns.push(new ListItem('GROUP', RestConstants.AUTHORITY_DISPLAYNAME));
64
- columns.push(new ListItem('GROUP', RestConstants.AUTHORITY_GROUPTYPE));
65
- }
66
- else if (name === 'searchCollections') {
67
- columns.push(new ListItem('COLLECTION', 'title'));
68
- columns.push(new ListItem('COLLECTION', 'info'));
69
- columns.push(new ListItem('COLLECTION', 'scope'));
70
- }
71
- }
72
- columns.map((c) => {
73
- const key = c.type + '.' + c.name;
74
- if (c.type === 'NODE' && translate.instant(key) === key) {
75
- c.label = mdsSet.widgets.filter((w) => w.id === c.name)?.[0]?.caption;
76
- }
77
- return c;
78
- });
79
- return columns;
80
- }
81
- /**
82
- * Finds the appropriate widget with the id, but will not check any widget conditions
83
- * @param cid
84
- * @param template
85
- * @param widgets
86
- */
87
- static getWidget(cid, template, widgets) {
88
- if (widgets == null) {
89
- console.warn('Could not iterate widget ' + cid + ': no widgets data provided');
90
- return null;
91
- }
92
- for (let w of widgets) {
93
- if (w.id == cid) {
94
- if (template === undefined || w.template === template) {
95
- return w;
96
- }
97
- }
98
- }
99
- return null;
100
- }
101
- constructor(authentication) {
102
- this.authentication = authentication;
103
- }
104
- /**
105
- * Same as getWidget, but will also check the widget conditions
106
- * @param connector
107
- * @param properties
108
- * @param id
109
- * @param template
110
- * @param widgets
111
- */
112
- async getWidgetWithCondition(properties, id, template = null, widgets) {
113
- for (let w of widgets) {
114
- if (w.id == id) {
115
- if ((template == null || w.template == template) &&
116
- (await this.isWidgetConditionTrue(w, properties))) {
117
- return w;
118
- }
119
- }
120
- }
121
- return null;
122
- }
123
- async isWidgetConditionTrue(widget, properties) {
124
- if (!widget.condition)
125
- return true;
126
- let condition = widget.condition;
127
- if (condition.type == 'PROPERTY' && properties) {
128
- if ((!properties[condition.value] && !condition.negate) ||
129
- (properties[condition.value] && condition.negate)) {
130
- return false;
131
- }
132
- }
133
- if (condition.type == 'TOOLPERMISSION') {
134
- let tp = await this.authentication.hasToolpermission(condition.value);
135
- if (tp == condition.negate) {
136
- return false;
137
- }
138
- }
139
- return true;
140
- }
141
- /**
142
- * Find a template by id in the given mds
143
- */
144
- static findTemplate(mds, id) {
145
- return mds.views.find((v) => v.id === id);
146
- }
147
- /**
148
- * Returns all widgets used by the given template
149
- */
150
- static getUsedWidgets(mds, template = null) {
151
- const used = [];
152
- const templateData = MdsHelperService.findTemplate(mds, template);
153
- for (const w of mds.widgets) {
154
- if (templateData.html.indexOf('<' + w.id) !== -1 &&
155
- !used.find((w2) => w2.id === w.id)) {
156
- used.push(w);
157
- }
158
- }
159
- return used;
160
- }
161
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: MdsHelperService, deps: [{ token: i1.AuthenticationService }], target: i0.ɵɵFactoryTarget.Injectable }); }
162
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: MdsHelperService }); }
163
- }
164
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: MdsHelperService, decorators: [{
165
- type: Injectable
166
- }], ctorParameters: () => [{ type: i1.AuthenticationService }] });
167
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWRzLWhlbHBlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWR1LXNoYXJpbmctdWkvc3JjL2xpYi9tZHMvbWRzLWhlbHBlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFLSCxhQUFhLEdBRWhCLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsUUFBUSxFQUFnQixNQUFNLG9CQUFvQixDQUFDOzs7QUFHNUQsTUFBTSxPQUFPLGdCQUFnQjtJQUN6QixNQUFNLENBQUMsV0FBVyxDQUFDLE1BQXFCLEVBQUUsSUFBWTtRQUNsRCxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ1QsSUFBSSxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ2YsS0FBSyxNQUFNLElBQUksSUFBSSxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7b0JBQzlCLElBQUksSUFBSSxDQUFDLEVBQUUsSUFBSSxJQUFJLEVBQUUsQ0FBQzt3QkFDbEIsT0FBTyxJQUFJLENBQUM7b0JBQ2hCLENBQUM7Z0JBQ0wsQ0FBQztZQUNMLENBQUM7WUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLG9DQUFvQyxHQUFHLElBQUksR0FBRywwQkFBMEIsQ0FBQyxDQUFDO1FBQzVGLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBQ0QsTUFBTSxDQUFDLFVBQVUsQ0FBQyxTQUEyQixFQUFFLE1BQVcsRUFBRSxJQUFZO1FBQ3BFLElBQUksT0FBTyxHQUFlLEVBQUUsQ0FBQztRQUM3QixJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ1QsS0FBSyxNQUFNLElBQUksSUFBSSxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQzlCLElBQUksSUFBSSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQztvQkFDbkIsS0FB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LENBQUMsRUFBTyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFDekMsQ0FBQztnQkFDQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2pCLENBQUM7UUFDTCxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQzsrR0F4S1EsZ0JBQWdCO21IQUFoQixnQkFBZ0I7OzRGQUFoQixnQkFBZ0I7a0JBRDVCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge1xuICAgIEF1dGhlbnRpY2F0aW9uU2VydmljZSxcbiAgICBNZHNEZWZpbml0aW9uLFxuICAgIE1kc1NvcnQsXG4gICAgTWRzV2lkZ2V0LFxuICAgIFJlc3RDb25zdGFudHMsXG4gICAgU29ydCxcbn0gZnJvbSAnbmd4LWVkdS1zaGFyaW5nLWFwaSc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMaXN0SXRlbSwgTGlzdEl0ZW1UeXBlIH0gZnJvbSAnLi4vdHlwZXMvbGlzdC1pdGVtJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE1kc0hlbHBlclNlcnZpY2Uge1xuICAgIHN0YXRpYyBnZXRTb3J0SW5mbyhtZHNTZXQ6IE1kc0RlZmluaXRpb24sIG5hbWU6IHN0cmluZyk6IE1kc1NvcnQge1xuICAgICAgICBpZiAobWRzU2V0KSB7XG4gICAgICAgICAgICBpZiAobWRzU2V0LnNvcnRzKSB7XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBsaXN0IG9mIG1kc1NldC5zb3J0cykge1xuICAgICAgICAgICAgICAgICAgICBpZiAobGlzdC5pZCA9PSBuYW1lKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbGlzdDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ21kcyBkb2VzIG5vdCBkZWZpbmUgc29ydCBpbmZvIGZvciAnICsgbmFtZSArICcsIGludmFsaWQgY29uZmlndXJhdGlvbiEnKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgc3RhdGljIGdldENvbHVtbnModHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLCBtZHNTZXQ6IGFueSwgbmFtZTogc3RyaW5nKSB7XG4gICAgICAgIGxldCBjb2x1bW5zOiBMaXN0SXRlbVtdID0gW107XG4gICAgICAgIGlmIChtZHNTZXQpIHtcbiAgICAgICAgICAgIGZvciAoY29uc3QgbGlzdCBvZiBtZHNTZXQubGlzdHMpIHtcbiAgICAgICAgICAgICAgICBpZiAobGlzdC5pZCA9PT0gbmFtZSkge1xuICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGNvbHVtbiBvZiBsaXN0LmNvbHVtbnMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCB0eXBlOiBMaXN0SXRlbVR5cGUgPSAnTk9ERSc7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAobmFtZSA9PT0gJ21lZGlhY2VudGVyR3JvdXBzJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGUgPSAnR1JPVVAnO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChuYW1lID09PSAnc2VhcmNoQ29sbGVjdGlvbnMnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZSA9ICdDT0xMRUNUSU9OJztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGluIHRoaXMgY2FzZSwgdGhlIHR5cGUgaXMgaW5jbHVkZWRcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjb2x1bW4uaWQuaW5jbHVkZXMoJy4nKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNwbGl0ID0gY29sdW1uLmlkLnNwbGl0KCcuJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZSA9IHNwbGl0WzBdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbi5pZCA9IHNwbGl0WzFdO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaXRlbSA9IG5ldyBMaXN0SXRlbSh0eXBlLCBjb2x1bW4uaWQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5mb3JtYXQgPSBjb2x1bW4uZm9ybWF0O1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1ucy5wdXNoKGl0ZW0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoIWNvbHVtbnMubGVuZ3RoKSB7XG4gICAgICAgICAgICBpZiAobWRzU2V0ICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAgICAgICAgICAgICAnbWRzIGRvZXMgbm90IGRlZmluZSBjb2x1bW5zIGZvciAnICsgbmFtZSArICcsIGludmFsaWQgY29uZmlndXJhdGlvbiEnLFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAobmFtZSA9PT0gJ3NlYXJjaCcgfHwgbmFtZSA9PT0gJ2NvbGxlY3Rpb25SZWZlcmVuY2VzJykge1xuICAgICAgICAgICAgICAgIGNvbHVtbnMucHVzaChuZXcgTGlzdEl0ZW0oJ05PREUnLCBSZXN0Q29uc3RhbnRzLkxPTV9QUk9QX1RJVExFKSk7XG4gICAgICAgICAgICAgICAgY29sdW1ucy5wdXNoKG5ldyBMaXN0SXRlbSgnTk9ERScsIFJlc3RDb25zdGFudHMuQ01fTU9ESUZJRURfREFURSkpO1xuICAgICAgICAgICAgICAgIGNvbHVtbnMucHVzaChuZXcgTGlzdEl0ZW0oJ05PREUnLCBSZXN0Q29uc3RhbnRzLkNDTV9QUk9QX0xJQ0VOU0UpKTtcbiAgICAgICAgICAgICAgICBjb2x1bW5zLnB1c2gobmV3IExpc3RJdGVtKCdOT0RFJywgUmVzdENvbnN0YW50cy5DQ01fUFJPUF9SRVBMSUNBVElPTlNPVVJDRSkpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChuYW1lID09PSAnbWVkaWFjZW50ZXJNYW5hZ2VkJykge1xuICAgICAgICAgICAgICAgIGNvbHVtbnMucHVzaChuZXcgTGlzdEl0ZW0oJ05PREUnLCBSZXN0Q29uc3RhbnRzLkxPTV9QUk9QX1RJVExFKSk7XG4gICAgICAgICAgICAgICAgY29sdW1ucy5wdXNoKG5ldyBMaXN0SXRlbSgnTk9ERScsIFJlc3RDb25zdGFudHMuQ0NNX1BST1BfUkVQTElDQVRJT05TT1VSQ0VJRCkpO1xuICAgICAgICAgICAgICAgIGNvbHVtbnMucHVzaChuZXcgTGlzdEl0ZW0oJ05PREUnLCBSZXN0Q29uc3RhbnRzLkNDTV9QUk9QX1JFUExJQ0FUSU9OU09VUkNFKSk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKG5hbWUgPT09ICdtZWRpYWNlbnRlckdyb3VwcycpIHtcbiAgICAgICAgICAgICAgICBjb2x1bW5zLnB1c2gobmV3IExpc3RJdGVtKCdHUk9VUCcsIFJlc3RDb25zdGFudHMuQVVUSE9SSVRZX0RJU1BMQVlOQU1FKSk7XG4gICAgICAgICAgICAgICAgY29sdW1ucy5wdXNoKG5ldyBMaXN0SXRlbSgnR1JPVVAnLCBSZXN0Q29uc3RhbnRzLkFVVEhPUklUWV9HUk9VUFRZUEUpKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAobmFtZSA9PT0gJ3NlYXJjaENvbGxlY3Rpb25zJykge1xuICAgICAgICAgICAgICAgIGNvbHVtbnMucHVzaChuZXcgTGlzdEl0ZW0oJ0NPTExFQ1RJT04nLCAndGl0bGUnKSk7XG4gICAgICAgICAgICAgICAgY29sdW1ucy5wdXNoKG5ldyBMaXN0SXRlbSgnQ09MTEVDVElPTicsICdpbmZvJykpO1xuICAgICAgICAgICAgICAgIGNvbHVtbnMucHVzaChuZXcgTGlzdEl0ZW0oJ0NPTExFQ1RJT04nLCAnc2NvcGUnKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgY29sdW1ucy5tYXAoKGMpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGtleSA9IGMudHlwZSArICcuJyArIGMubmFtZTtcbiAgICAgICAgICAgIGlmIChjLnR5cGUgPT09ICdOT0RFJyAmJiB0cmFuc2xhdGUuaW5zdGFudChrZXkpID09PSBrZXkpIHtcbiAgICAgICAgICAgICAgICBjLmxhYmVsID0gbWRzU2V0LndpZGdldHMuZmlsdGVyKCh3OiBhbnkpID0+IHcuaWQgPT09IGMubmFtZSk/LlswXT8uY2FwdGlvbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBjO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIGNvbHVtbnM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRmluZHMgdGhlIGFwcHJvcHJpYXRlIHdpZGdldCB3aXRoIHRoZSBpZCwgYnV0IHdpbGwgbm90IGNoZWNrIGFueSB3aWRnZXQgY29uZGl0aW9uc1xuICAgICAqIEBwYXJhbSBjaWRcbiAgICAgKiBAcGFyYW0gdGVtcGxhdGVcbiAgICAgKiBAcGFyYW0gd2lkZ2V0c1xuICAgICAqL1xuICAgIHN0YXRpYyBnZXRXaWRnZXQoY2lkOiBzdHJpbmcsIHRlbXBsYXRlOiBzdHJpbmcgfCB1bmRlZmluZWQgfCBudWxsLCB3aWRnZXRzOiBNZHNXaWRnZXRbXSkge1xuICAgICAgICBpZiAod2lkZ2V0cyA9PSBudWxsKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oJ0NvdWxkIG5vdCBpdGVyYXRlIHdpZGdldCAnICsgY2lkICsgJzogbm8gd2lkZ2V0cyBkYXRhIHByb3ZpZGVkJyk7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBmb3IgKGxldCB3IG9mIHdpZGdldHMpIHtcbiAgICAgICAgICAgIGlmICh3LmlkID09IGNpZCkge1xuICAgICAgICAgICAgICAgIGlmICh0ZW1wbGF0ZSA9PT0gdW5kZWZpbmVkIHx8IHcudGVtcGxhdGUgPT09IHRlbXBsYXRlKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB3O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGF1dGhlbnRpY2F0aW9uOiBBdXRoZW50aWNhdGlvblNlcnZpY2UpIHt9XG5cbiAgICAvKipcbiAgICAgKiBTYW1lIGFzIGdldFdpZGdldCwgYnV0IHdpbGwgYWxzbyBjaGVjayB0aGUgd2lkZ2V0IGNvbmRpdGlvbnNcbiAgICAgKiBAcGFyYW0gY29ubmVjdG9yXG4gICAgICogQHBhcmFtIHByb3BlcnRpZXNcbiAgICAgKiBAcGFyYW0gaWRcbiAgICAgKiBAcGFyYW0gdGVtcGxhdGVcbiAgICAgKiBAcGFyYW0gd2lkZ2V0c1xuICAgICAqL1xuICAgIGFzeW5jIGdldFdpZGdldFdpdGhDb25kaXRpb24oXG4gICAgICAgIHByb3BlcnRpZXM6IGFueSxcbiAgICAgICAgaWQ6IHN0cmluZyxcbiAgICAgICAgdGVtcGxhdGU6IHN0cmluZyA9IG51bGwsXG4gICAgICAgIHdpZGdldHM6IGFueSxcbiAgICApIHtcbiAgICAgICAgZm9yIChsZXQgdyBvZiB3aWRnZXRzKSB7XG4gICAgICAgICAgICBpZiAody5pZCA9PSBpZCkge1xuICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgKHRlbXBsYXRlID09IG51bGwgfHwgdy50ZW1wbGF0ZSA9PSB0ZW1wbGF0ZSkgJiZcbiAgICAgICAgICAgICAgICAgICAgKGF3YWl0IHRoaXMuaXNXaWRnZXRDb25kaXRpb25UcnVlKHcsIHByb3BlcnRpZXMpKVxuICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgYXN5bmMgaXNXaWRnZXRDb25kaXRpb25UcnVlKHdpZGdldDogYW55LCBwcm9wZXJ0aWVzOiBhbnkpIHtcbiAgICAgICAgaWYgKCF3aWRnZXQuY29uZGl0aW9uKSByZXR1cm4gdHJ1ZTtcbiAgICAgICAgbGV0IGNvbmRpdGlvbiA9IHdpZGdldC5jb25kaXRpb247XG4gICAgICAgIGlmIChjb25kaXRpb24udHlwZSA9PSAnUFJPUEVSVFknICYmIHByb3BlcnRpZXMpIHtcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAoIXByb3BlcnRpZXNbY29uZGl0aW9uLnZhbHVlXSAmJiAhY29uZGl0aW9uLm5lZ2F0ZSkgfHxcbiAgICAgICAgICAgICAgICAocHJvcGVydGllc1tjb25kaXRpb24udmFsdWVdICYmIGNvbmRpdGlvbi5uZWdhdGUpXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNvbmRpdGlvbi50eXBlID09ICdUT09MUEVSTUlTU0lPTicpIHtcbiAgICAgICAgICAgIGxldCB0cCA9IGF3YWl0IHRoaXMuYXV0aGVudGljYXRpb24uaGFzVG9vbHBlcm1pc3Npb24oY29uZGl0aW9uLnZhbHVlKTtcbiAgICAgICAgICAgIGlmICh0cCA9PSBjb25kaXRpb24ubmVnYXRlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBGaW5kIGEgdGVtcGxhdGUgYnkgaWQgaW4gdGhlIGdpdmVuIG1kc1xuICAgICAqL1xuICAgIHN0YXRpYyBmaW5kVGVtcGxhdGUobWRzOiBNZHNEZWZpbml0aW9uLCBpZDogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICBtZHMudmlld3MgYXMgQXJyYXk8XG4gICAgICAgICAgICAgICAgQXJyYXlFbGVtZW50PE1kc0RlZmluaXRpb25bJ3ZpZXdzJ10+IHwgQXJyYXlFbGVtZW50PE1kc0RlZmluaXRpb25bJ3ZpZXdzJ10+XG4gICAgICAgICAgICA+XG4gICAgICAgICkuZmluZCgodikgPT4gdi5pZCA9PT0gaWQpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIGFsbCB3aWRnZXRzIHVzZWQgYnkgdGhlIGdpdmVuIHRlbXBsYXRlXG4gICAgICovXG4gICAgc3RhdGljIGdldFVzZWRXaWRnZXRzKG1kczogTWRzRGVmaW5pdGlvbiwgdGVtcGxhdGU6IHN0cmluZyA9IG51bGwpOiBhbnlbXSB7XG4gICAgICAgIGNvbnN0IHVzZWQ6IGFueSA9IFtdO1xuICAgICAgICBjb25zdCB0ZW1wbGF0ZURhdGEgPSBNZHNIZWxwZXJTZXJ2aWNlLmZpbmRUZW1wbGF0ZShtZHMsIHRlbXBsYXRlKTtcbiAgICAgICAgZm9yIChjb25zdCB3IG9mIG1kcy53aWRnZXRzKSB7XG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgdGVtcGxhdGVEYXRhLmh0bWwuaW5kZXhPZignPCcgKyB3LmlkKSAhPT0gLTEgJiZcbiAgICAgICAgICAgICAgICAhdXNlZC5maW5kKCh3MjogYW55KSA9PiB3Mi5pZCA9PT0gdy5pZClcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIHVzZWQucHVzaCh3KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdXNlZDtcbiAgICB9XG59XG5cbnR5cGUgQXJyYXlFbGVtZW50PEFycmF5VHlwZSBleHRlbmRzIHJlYWRvbmx5IHVua25vd25bXT4gPVxuICAgIEFycmF5VHlwZSBleHRlbmRzIHJlYWRvbmx5IChpbmZlciBFbGVtZW50VHlwZSlbXSA/IEVsZW1lbnRUeXBlIDogbmV2ZXI7XG4iXX0=
@@ -1,16 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { MdsHelperService } from './mds-helper.service';
3
- import * as i0 from "@angular/core";
4
- export class MdsModule {
5
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: MdsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
6
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.12", ngImport: i0, type: MdsModule }); }
7
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: MdsModule, providers: [MdsHelperService] }); }
8
- }
9
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: MdsModule, decorators: [{
10
- type: NgModule,
11
- args: [{
12
- declarations: [],
13
- providers: [MdsHelperService],
14
- }]
15
- }] });
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWRzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VkdS1zaGFyaW5nLXVpL3NyYy9saWIvbWRzL21kcy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUFNeEQsTUFBTSxPQUFPLFNBQVM7K0dBQVQsU0FBUztnSEFBVCxTQUFTO2dIQUFULFNBQVMsYUFGUCxDQUFDLGdCQUFnQixDQUFDOzs0RkFFcEIsU0FBUztrQkFKckIsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUUsRUFBRTtvQkFDaEIsU0FBUyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7aUJBQ2hDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1kc0hlbHBlclNlcnZpY2UgfSBmcm9tICcuL21kcy1oZWxwZXIuc2VydmljZSc7XG5cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbXSxcbiAgICBwcm92aWRlcnM6IFtNZHNIZWxwZXJTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgTWRzTW9kdWxlIHt9XG4iXX0=