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.
- package/assets/scss/material-theme.scss +3 -3
- package/assets/scss/mixins.scss +1 -1
- package/assets/scss/variables-root.scss +2 -0
- package/assets/scss/variables-scss.scss +3 -4
- package/assets/scss/variables.scss +1 -1
- package/fesm2022/ngx-edu-sharing-ui.mjs +376 -319
- package/fesm2022/ngx-edu-sharing-ui.mjs.map +1 -1
- package/lib/index.d.ts +1 -0
- package/lib/list-items/list-widget.d.ts +1 -1
- package/lib/mds-viewer/mds-editor-instance-service.abstract.d.ts +14 -0
- package/lib/mds-viewer/widget/mds-widget.component.d.ts +6 -4
- package/package.json +6 -8
- package/esm2022/lib/actionbar/actionbar.component.mjs +0 -206
- package/esm2022/lib/common/edu-sharing-ui-common.module.mjs +0 -170
- package/esm2022/lib/directives/border-box-observer.directive.mjs +0 -71
- package/esm2022/lib/directives/check-text-overflow.directive.mjs +0 -71
- package/esm2022/lib/directives/drag-nodes/drag-nodes.mjs +0 -14
- package/esm2022/lib/directives/drag-nodes/nodes-drag-source.directive.mjs +0 -79
- package/esm2022/lib/directives/drag-nodes/nodes-drag.directive.mjs +0 -49
- package/esm2022/lib/directives/drag-nodes/nodes-drop-target.directive.mjs +0 -105
- package/esm2022/lib/directives/focus-state.directive.mjs +0 -44
- package/esm2022/lib/directives/icon.directive.mjs +0 -184
- package/esm2022/lib/directives/infinite-scroll.directive.mjs +0 -85
- package/esm2022/lib/dropdown/dropdown.component.mjs +0 -83
- package/esm2022/lib/edu-sharing-ui-configuration.mjs +0 -48
- package/esm2022/lib/edu-sharing-ui.module.mjs +0 -82
- package/esm2022/lib/index.mjs +0 -96
- package/esm2022/lib/list-items/available-widgets.mjs +0 -27
- package/esm2022/lib/list-items/format-duration.pipe.mjs +0 -20
- package/esm2022/lib/list-items/list-base/list-base.component.mjs +0 -46
- package/esm2022/lib/list-items/list-collection-info/list-collection-info.component.mjs +0 -29
- package/esm2022/lib/list-items/list-counts/list-counts.component.mjs +0 -56
- package/esm2022/lib/list-items/list-items.module.mjs +0 -50
- package/esm2022/lib/list-items/list-node-license/list-node-license.component.mjs +0 -41
- package/esm2022/lib/list-items/list-node-replication-source/list-node-replication-source.component.mjs +0 -47
- package/esm2022/lib/list-items/list-node-workflow/list-node-workflow.component.mjs +0 -24
- package/esm2022/lib/list-items/list-text/list-text.component.mjs +0 -106
- package/esm2022/lib/list-items/list-widget.mjs +0 -49
- package/esm2022/lib/list-items/node-row/node-row.component.mjs +0 -24
- package/esm2022/lib/list-items/node-source.pipe.mjs +0 -49
- package/esm2022/lib/mds/mds-helper.service.mjs +0 -167
- package/esm2022/lib/mds/mds.module.mjs +0 -16
- package/esm2022/lib/mds-viewer/mds-viewer.component.mjs +0 -170
- package/esm2022/lib/mds-viewer/mds-viewer.service.mjs +0 -18
- package/esm2022/lib/mds-viewer/replace-element-with-div.mjs +0 -47
- package/esm2022/lib/mds-viewer/view-instance.service.mjs +0 -27
- package/esm2022/lib/mds-viewer/widget/mds-widget.component.mjs +0 -379
- package/esm2022/lib/node-entries/combined-data-source.mjs +0 -41
- package/esm2022/lib/node-entries/custom-templates-data-source.mjs +0 -7
- package/esm2022/lib/node-entries/drag-preview/drag-preview.component.mjs +0 -21
- package/esm2022/lib/node-entries/entries-model.mjs +0 -24
- package/esm2022/lib/node-entries/items-cap.mjs +0 -47
- package/esm2022/lib/node-entries/list-item-label.pipe.mjs +0 -37
- package/esm2022/lib/node-entries/node-cache.mjs +0 -73
- package/esm2022/lib/node-entries/node-data-source-remote.mjs +0 -4
- package/esm2022/lib/node-entries/node-data-source.mjs +0 -117
- package/esm2022/lib/node-entries/node-entries-card/node-entries-card.component.mjs +0 -117
- package/esm2022/lib/node-entries/node-entries-card-grid/node-entries-card-grid.component.mjs +0 -329
- package/esm2022/lib/node-entries/node-entries-card-small/node-entries-card-small.component.mjs +0 -44
- package/esm2022/lib/node-entries/node-entries-global-options/node-entries-global-options.component.mjs +0 -27
- package/esm2022/lib/node-entries/node-entries-global.service.mjs +0 -71
- package/esm2022/lib/node-entries/node-entries-table/column-chooser/column-chooser.component.mjs +0 -42
- package/esm2022/lib/node-entries/node-entries-table/node-entries-table.component.mjs +0 -294
- package/esm2022/lib/node-entries/node-entries-templates.service.mjs +0 -11
- package/esm2022/lib/node-entries/node-entries-wrapper.component.mjs +0 -369
- package/esm2022/lib/node-entries/node-entries.component.mjs +0 -132
- package/esm2022/lib/node-entries/node-entries.module.mjs +0 -161
- package/esm2022/lib/node-entries/node-rating/node-rating.component.mjs +0 -125
- package/esm2022/lib/node-entries/node-stats-badges/node-stats-badges.component.mjs +0 -48
- package/esm2022/lib/node-entries/node-type-badge/node-type-badge.component.mjs +0 -36
- package/esm2022/lib/node-entries/option-button/option-button.component.mjs +0 -75
- package/esm2022/lib/node-entries/preview-image/preview-image.component.mjs +0 -53
- package/esm2022/lib/node-entries/sort-select-panel/sort-select-panel.component.mjs +0 -41
- package/esm2022/lib/node-url/node-url.component.mjs +0 -132
- package/esm2022/lib/pipes/file-size.pipe.mjs +0 -32
- package/esm2022/lib/pipes/format-date.pipe.mjs +0 -38
- package/esm2022/lib/pipes/mds-duration.pipe.mjs +0 -25
- package/esm2022/lib/pipes/node-icon.pipe.mjs +0 -18
- package/esm2022/lib/pipes/node-image-size.pipe.mjs +0 -24
- package/esm2022/lib/pipes/node-image.pipe.mjs +0 -55
- package/esm2022/lib/pipes/node-license.pipe.mjs +0 -24
- package/esm2022/lib/pipes/node-person-name.pipe.mjs +0 -50
- package/esm2022/lib/pipes/node-title.pipe.mjs +0 -35
- package/esm2022/lib/pipes/option-tooltip.pipe.mjs +0 -33
- package/esm2022/lib/pipes/property-slug.pipe.mjs +0 -16
- package/esm2022/lib/pipes/replace-chars.pipe.mjs +0 -29
- package/esm2022/lib/pipes/vcard-name.pipe.mjs +0 -25
- package/esm2022/lib/services/abstract/app.service.mjs +0 -3
- package/esm2022/lib/services/abstract/keyboard-shortcuts.service.mjs +0 -10
- package/esm2022/lib/services/abstract/options-helper.service.mjs +0 -3
- package/esm2022/lib/services/abstract/toast.service.mjs +0 -3
- package/esm2022/lib/services/accessibility.service.mjs +0 -73
- package/esm2022/lib/services/app-container.service.mjs +0 -69
- package/esm2022/lib/services/local-events.service.mjs +0 -43
- package/esm2022/lib/services/node-entries.service.mjs +0 -201
- package/esm2022/lib/services/node-helper.service.mjs +0 -330
- package/esm2022/lib/services/nodes-drag-drop.service.mjs +0 -155
- package/esm2022/lib/services/options-helper-data.service.mjs +0 -142
- package/esm2022/lib/services/render-helper.service.mjs +0 -114
- package/esm2022/lib/services/repo-url.service.mjs +0 -50
- package/esm2022/lib/services/search-helper.service.mjs +0 -52
- package/esm2022/lib/services/temporary-storage.service.mjs +0 -48
- package/esm2022/lib/services/ui.service.mjs +0 -327
- package/esm2022/lib/sort-dropdown/sort-dropdown.component.mjs +0 -50
- package/esm2022/lib/spinner/spinner.component.mjs +0 -19
- package/esm2022/lib/spinner-small/spinner-small.component.mjs +0 -18
- package/esm2022/lib/translations/fallback-translation-handler.mjs +0 -6
- package/esm2022/lib/translations/translation-loader.mjs +0 -219
- package/esm2022/lib/translations/translation-source.mjs +0 -11
- package/esm2022/lib/translations/translations.module.mjs +0 -82
- package/esm2022/lib/translations/translations.service.mjs +0 -238
- package/esm2022/lib/types/accessibillity.mjs +0 -19
- package/esm2022/lib/types/api-models.mjs +0 -2
- package/esm2022/lib/types/drag-drop.mjs +0 -2
- package/esm2022/lib/types/injection-tokens.mjs +0 -31
- package/esm2022/lib/types/keyboard-shortcuts.mjs +0 -11
- package/esm2022/lib/types/list-item.mjs +0 -41
- package/esm2022/lib/types/option-item.mjs +0 -192
- package/esm2022/lib/types/workflow.mjs +0 -25
- package/esm2022/lib/util/DateHelper.mjs +0 -200
- package/esm2022/lib/util/VCard.mjs +0 -278
- package/esm2022/lib/util/color-helper.mjs +0 -124
- package/esm2022/lib/util/duration-helper.mjs +0 -102
- package/esm2022/lib/util/functions.mjs +0 -13
- package/esm2022/lib/util/helper.mjs +0 -64
- package/esm2022/lib/util/isNumeric.mjs +0 -11
- package/esm2022/lib/util/rest-helper.mjs +0 -42
- package/esm2022/lib/util/ui-animation.mjs +0 -146
- package/esm2022/lib/util/ui-constants.mjs +0 -21
- package/esm2022/ngx-edu-sharing-ui.mjs +0 -5
- package/esm2022/public-api.mjs +0 -2
|
@@ -1,170 +0,0 @@
|
|
|
1
|
-
import { Component, Input, signal, ViewChildren, } from '@angular/core';
|
|
2
|
-
import { MdsWidgetComponent, } from './widget/mds-widget.component';
|
|
3
|
-
import { HOME_REPOSITORY, RestConstants, } from 'ngx-edu-sharing-api';
|
|
4
|
-
import { replaceElementWithDiv } from './replace-element-with-div';
|
|
5
|
-
import { UIService } from '../services/ui.service';
|
|
6
|
-
import { MdsViewerService } from './mds-viewer.service';
|
|
7
|
-
import { ViewInstanceService } from './view-instance.service';
|
|
8
|
-
import { BehaviorSubject } from 'rxjs';
|
|
9
|
-
import * as i0 from "@angular/core";
|
|
10
|
-
import * as i1 from "ngx-edu-sharing-api";
|
|
11
|
-
import * as i2 from "./mds-viewer.service";
|
|
12
|
-
import * as i3 from "@angular/platform-browser";
|
|
13
|
-
import * as i4 from "./view-instance.service";
|
|
14
|
-
import * as i5 from "@angular/common";
|
|
15
|
-
import * as i6 from "../spinner-small/spinner-small.component";
|
|
16
|
-
import * as i7 from "../directives/icon.directive";
|
|
17
|
-
export class MdsViewerComponent {
|
|
18
|
-
/**
|
|
19
|
-
* The heading level from 1 to 6 to use for widget labels, equivalent to `h1` to `h6`.
|
|
20
|
-
*
|
|
21
|
-
* If not set, widget labels are not marked as headings and an invisible colon is added between
|
|
22
|
-
* labels and values, that will be read out by screen readers.
|
|
23
|
-
*/
|
|
24
|
-
set headingLevel(value) {
|
|
25
|
-
this.viewInstance.headingLevel = value;
|
|
26
|
-
}
|
|
27
|
-
get headingLevel() {
|
|
28
|
-
return this.viewInstance.headingLevel;
|
|
29
|
-
}
|
|
30
|
-
constructor(mdsService, mdsViewerService, factoryResolver, injector, containerRef, sanitizer, viewInstance) {
|
|
31
|
-
this.mdsService = mdsService;
|
|
32
|
-
this.mdsViewerService = mdsViewerService;
|
|
33
|
-
this.factoryResolver = factoryResolver;
|
|
34
|
-
this.injector = injector;
|
|
35
|
-
this.containerRef = containerRef;
|
|
36
|
-
this.sanitizer = sanitizer;
|
|
37
|
-
this.viewInstance = viewInstance;
|
|
38
|
-
this.templates = signal(null);
|
|
39
|
-
/**
|
|
40
|
-
* show group headings (+ icons) for the individual templates
|
|
41
|
-
*/
|
|
42
|
-
this.showGroupHeadings = true;
|
|
43
|
-
}
|
|
44
|
-
getGroup() {
|
|
45
|
-
return this.mds.groups.find((g) => g.id == this.groupId);
|
|
46
|
-
}
|
|
47
|
-
getView(id) {
|
|
48
|
-
return this.mds.views.find((v) => v.id == id);
|
|
49
|
-
}
|
|
50
|
-
async inflate() {
|
|
51
|
-
if (!this.mds) {
|
|
52
|
-
setTimeout(() => this.inflate(), 1000 / 60);
|
|
53
|
-
return;
|
|
54
|
-
}
|
|
55
|
-
try {
|
|
56
|
-
this.mdsViewerService.values$.next(this.data);
|
|
57
|
-
this.mdsViewerService.mds$.next(this.mds);
|
|
58
|
-
if (this.mdsEditorInstanceService) {
|
|
59
|
-
const editor = await this.mdsEditorInstanceService.initWithoutNodes(this.groupId, this.setId, HOME_REPOSITORY, 'viewer', this.data);
|
|
60
|
-
if (!editor) {
|
|
61
|
-
// Initialization was interrupted. Probably, this method was called again before it
|
|
62
|
-
// could finish.
|
|
63
|
-
return;
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
catch (e) {
|
|
68
|
-
return;
|
|
69
|
-
}
|
|
70
|
-
const templates = [];
|
|
71
|
-
for (const view of this.getGroup().views) {
|
|
72
|
-
const v = this.getView(view);
|
|
73
|
-
templates.push({
|
|
74
|
-
view: v,
|
|
75
|
-
html: this.sanitizer.bypassSecurityTrustHtml(this.prepareHTML(v.html)),
|
|
76
|
-
});
|
|
77
|
-
}
|
|
78
|
-
this.templates.set(templates);
|
|
79
|
-
// wait for angular to inflate the new binding
|
|
80
|
-
setTimeout(() => {
|
|
81
|
-
for (const widget of (this.mdsEditorInstanceService?.widgets.value ||
|
|
82
|
-
this.mds.widgets.map((definition) => {
|
|
83
|
-
return {
|
|
84
|
-
definition,
|
|
85
|
-
getInitalValuesAsync: async () => {
|
|
86
|
-
return {
|
|
87
|
-
jointValues: this.data[definition.id],
|
|
88
|
-
};
|
|
89
|
-
},
|
|
90
|
-
getInitialDisplayValues: () => new BehaviorSubject(null),
|
|
91
|
-
};
|
|
92
|
-
}))) {
|
|
93
|
-
this.container.toArray().forEach((c) => {
|
|
94
|
-
let element = c.nativeElement.getElementsByTagName(widget.definition.id)?.[0];
|
|
95
|
-
if (element) {
|
|
96
|
-
// MdsEditorViewComponent.updateWidgetWithHTMLAttributes(element, w);
|
|
97
|
-
element = replaceElementWithDiv(element);
|
|
98
|
-
UIService.injectAngularComponent(this.factoryResolver, this.containerRef, MdsWidgetComponent, element, {
|
|
99
|
-
widget,
|
|
100
|
-
}, {}, this.injector);
|
|
101
|
-
}
|
|
102
|
-
});
|
|
103
|
-
}
|
|
104
|
-
});
|
|
105
|
-
}
|
|
106
|
-
/**
|
|
107
|
-
* close all custom tags inside the html which are not closed
|
|
108
|
-
* e.g. <cm:name>
|
|
109
|
-
* -> <cm:name></cm:name>
|
|
110
|
-
* @param html
|
|
111
|
-
*/
|
|
112
|
-
prepareHTML(html) {
|
|
113
|
-
for (const w of this.mds.widgets) {
|
|
114
|
-
const start = html.indexOf('<' + w.id);
|
|
115
|
-
if (start == -1) {
|
|
116
|
-
continue;
|
|
117
|
-
}
|
|
118
|
-
const end = html.indexOf('>', start) + 1;
|
|
119
|
-
html = html.substring(0, end) + '</' + w.id + '>' + html.substring(end);
|
|
120
|
-
}
|
|
121
|
-
return html;
|
|
122
|
-
}
|
|
123
|
-
async ngOnChanges(changes) {
|
|
124
|
-
let inflate = false;
|
|
125
|
-
if (changes.setId) {
|
|
126
|
-
this.mds = await this.mdsService
|
|
127
|
-
.getMetadataSet({ metadataSet: this.setId })
|
|
128
|
-
.toPromise();
|
|
129
|
-
inflate = true;
|
|
130
|
-
}
|
|
131
|
-
if (changes.data) {
|
|
132
|
-
if (this.data[RestConstants.CM_PROP_METADATASET_EDU_METADATASET] != null) {
|
|
133
|
-
this.mds = await this.mdsService
|
|
134
|
-
.getMetadataSet({
|
|
135
|
-
metadataSet: this.data[RestConstants.CM_PROP_METADATASET_EDU_METADATASET][0],
|
|
136
|
-
})
|
|
137
|
-
.toPromise();
|
|
138
|
-
}
|
|
139
|
-
else if (!this.mds) {
|
|
140
|
-
this.mds = await this.mdsService.getMetadataSet({}).toPromise();
|
|
141
|
-
}
|
|
142
|
-
inflate = true;
|
|
143
|
-
}
|
|
144
|
-
if (inflate) {
|
|
145
|
-
void this.inflate();
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: MdsViewerComponent, deps: [{ token: i1.MdsService }, { token: i2.MdsViewerService }, { token: i0.ComponentFactoryResolver }, { token: i0.Injector }, { token: i0.ViewContainerRef }, { token: i3.DomSanitizer }, { token: i4.ViewInstanceService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
149
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: MdsViewerComponent, selector: "es-mds-viewer", inputs: { mdsEditorInstanceService: "mdsEditorInstanceService", groupId: "groupId", setId: "setId", data: "data", showGroupHeadings: "showGroupHeadings", headingLevel: "headingLevel" }, providers: [MdsViewerService, ViewInstanceService], viewQueries: [{ propertyName: "container", predicate: ["container"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<es-spinner-small *ngIf=\"!templates()\"></es-spinner-small>\n<div *ngFor=\"let t of templates()\" #container class=\"mds-viewer\">\n <div *ngIf=\"showGroupHeadings && t.view.caption\" class=\"card-title-element group-heading\">\n <i [esIcon]=\"t.view.icon\" *ngIf=\"t.view.icon\"></i><span>{{ t.view.caption }}</span>\n </div>\n <div class=\"template\" [innerHTML]=\"t.html\"></div>\n</div>\n", styles: [":host ::ng-deep es-mds-editor-widget-container{margin-bottom:0}:host ::ng-deep .mdsContributorGroup{padding:5px}:host ::ng-deep .mdsContributorGroup .mdsContributorTitle{font-weight:700;padding-bottom:3px}:host{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(450px,max(200px,100%)),1fr));grid-gap:10px}.mds-viewer{display:flex;flex-direction:column;gap:10px}es-spinner-small{display:flex;justify-content:center;align-items:center;width:100%;height:100%}.card-title-element{font-size:140%;font-weight:700;border-bottom:1px solid #888;padding:10px;background-color:#f7f7f7}.card-title-element i{margin-left:10px;margin-right:10px;color:#666;position:relative;top:5px}\n"], dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.SpinnerSmallComponent, selector: "es-spinner-small", inputs: ["diameter"] }, { kind: "directive", type: i7.IconDirective, selector: "i[esIcon], i.material-icons", inputs: ["altText", "aria", "esIcon"] }] }); }
|
|
150
|
-
}
|
|
151
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: MdsViewerComponent, decorators: [{
|
|
152
|
-
type: Component,
|
|
153
|
-
args: [{ selector: 'es-mds-viewer', providers: [MdsViewerService, ViewInstanceService], template: "<es-spinner-small *ngIf=\"!templates()\"></es-spinner-small>\n<div *ngFor=\"let t of templates()\" #container class=\"mds-viewer\">\n <div *ngIf=\"showGroupHeadings && t.view.caption\" class=\"card-title-element group-heading\">\n <i [esIcon]=\"t.view.icon\" *ngIf=\"t.view.icon\"></i><span>{{ t.view.caption }}</span>\n </div>\n <div class=\"template\" [innerHTML]=\"t.html\"></div>\n</div>\n", styles: [":host ::ng-deep es-mds-editor-widget-container{margin-bottom:0}:host ::ng-deep .mdsContributorGroup{padding:5px}:host ::ng-deep .mdsContributorGroup .mdsContributorTitle{font-weight:700;padding-bottom:3px}:host{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(450px,max(200px,100%)),1fr));grid-gap:10px}.mds-viewer{display:flex;flex-direction:column;gap:10px}es-spinner-small{display:flex;justify-content:center;align-items:center;width:100%;height:100%}.card-title-element{font-size:140%;font-weight:700;border-bottom:1px solid #888;padding:10px;background-color:#f7f7f7}.card-title-element i{margin-left:10px;margin-right:10px;color:#666;position:relative;top:5px}\n"] }]
|
|
154
|
-
}], ctorParameters: () => [{ type: i1.MdsService }, { type: i2.MdsViewerService }, { type: i0.ComponentFactoryResolver }, { type: i0.Injector }, { type: i0.ViewContainerRef }, { type: i3.DomSanitizer }, { type: i4.ViewInstanceService }], propDecorators: { container: [{
|
|
155
|
-
type: ViewChildren,
|
|
156
|
-
args: ['container']
|
|
157
|
-
}], mdsEditorInstanceService: [{
|
|
158
|
-
type: Input
|
|
159
|
-
}], groupId: [{
|
|
160
|
-
type: Input
|
|
161
|
-
}], setId: [{
|
|
162
|
-
type: Input
|
|
163
|
-
}], data: [{
|
|
164
|
-
type: Input
|
|
165
|
-
}], showGroupHeadings: [{
|
|
166
|
-
type: Input
|
|
167
|
-
}], headingLevel: [{
|
|
168
|
-
type: Input
|
|
169
|
-
}] } });
|
|
170
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWRzLXZpZXdlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lZHUtc2hhcmluZy11aS9zcmMvbGliL21kcy12aWV3ZXIvbWRzLXZpZXdlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lZHUtc2hhcmluZy11aS9zcmMvbGliL21kcy12aWV3ZXIvbWRzLXZpZXdlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUlULEtBQUssRUFHTCxNQUFNLEVBRU4sWUFBWSxHQUVmLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFJSCxrQkFBa0IsR0FDckIsTUFBTSwrQkFBK0IsQ0FBQztBQUN2QyxPQUFPLEVBQ0gsZUFBZSxFQUlmLGFBQWEsR0FDaEIsTUFBTSxxQkFBcUIsQ0FBQztBQUU3QixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7O0FBUXZDLE1BQU0sT0FBTyxrQkFBa0I7SUFvQjNCOzs7OztPQUtHO0lBQ0gsSUFDSSxZQUFZLENBQUMsS0FBb0I7UUFDakMsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO0lBQzNDLENBQUM7SUFDRCxJQUFJLFlBQVk7UUFDWixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDO0lBQzFDLENBQUM7SUFFRCxZQUNZLFVBQXNCLEVBQ3RCLGdCQUFrQyxFQUNsQyxlQUF5QyxFQUN6QyxR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SSxDQUFDLEdBQUcsRUFBRSxDQUFDO2dCQUNuQixJQUFJLENBQUMsR0FBRyxHQUFHLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDcEUsQ0FBQztZQUNELE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDbkIsQ0FBQztRQUNELElBQUksT0FBTyxFQUFFLENBQUM7WUFDVixLQUFLLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUN4QixDQUFDO0lBQ0wsQ0FBQzsrR0F0S1Esa0JBQWtCO21HQUFsQixrQkFBa0Isa09BRmhCLENBQUMsZ0JBQWdCLEVBQUUsbUJBQW1CLENBQUMsMElDdEN0RCxpWkFPQTs7NEZEaUNhLGtCQUFrQjtrQkFOOUIsU0FBUzsrQkFDSSxlQUFlLGFBR2QsQ0FBQyxnQkFBZ0IsRUFBRSxtQkFBbUIsQ0FBQzt3UUFHdkIsU0FBUztzQkFBbkMsWUFBWTt1QkFBQyxXQUFXO2dCQUVoQix3QkFBd0I7c0JBQWhDLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBWUcsaUJBQWlCO3NCQUF6QixLQUFLO2dCQVNGLFlBQVk7c0JBRGYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICBFbGVtZW50UmVmLFxuICAgIEluamVjdG9yLFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBRdWVyeUxpc3QsXG4gICAgc2lnbmFsLFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgVmlld0NoaWxkcmVuLFxuICAgIFZpZXdDb250YWluZXJSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlSHRtbCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHtcbiAgICBJbml0aWFsVmFsdWVzLFxuICAgIE1kc1ZhbHVlTGlzdCxcbiAgICBNZHNWaWV3ZXJXaWRnZXQsXG4gICAgTWRzV2lkZ2V0Q29tcG9uZW50LFxufSBmcm9tICcuL3dpZGdldC9tZHMtd2lkZ2V0LmNvbXBvbmVudCc7XG5pbXBvcnQge1xuICAgIEhPTUVfUkVQT1NJVE9SWSxcbiAgICBNZHNEZWZpbml0aW9uLFxuICAgIE1kc1NlcnZpY2UsXG4gICAgTWRzVmlldyxcbiAgICBSZXN0Q29uc3RhbnRzLFxufSBmcm9tICduZ3gtZWR1LXNoYXJpbmctYXBpJztcbmltcG9ydCB7IFZhbHVlcyB9IGZyb20gJy4uL3NlcnZpY2VzL3NlYXJjaC1oZWxwZXIuc2VydmljZSc7XG5pbXBvcnQgeyByZXBsYWNlRWxlbWVudFdpdGhEaXYgfSBmcm9tICcuL3JlcGxhY2UtZWxlbWVudC13aXRoLWRpdic7XG5pbXBvcnQgeyBVSVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy91aS5zZXJ2aWNlJztcbmltcG9ydCB7IE1kc1ZpZXdlclNlcnZpY2UgfSBmcm9tICcuL21kcy12aWV3ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBWaWV3SW5zdGFuY2VTZXJ2aWNlIH0gZnJvbSAnLi92aWV3LWluc3RhbmNlLnNlcnZpY2UnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZXMtbWRzLXZpZXdlcicsXG4gICAgdGVtcGxhdGVVcmw6ICdtZHMtdmlld2VyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnbWRzLXZpZXdlci5jb21wb25lbnQuc2NzcyddLFxuICAgIHByb3ZpZGVyczogW01kc1ZpZXdlclNlcnZpY2UsIFZpZXdJbnN0YW5jZVNlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBNZHNWaWV3ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICAgIEBWaWV3Q2hpbGRyZW4oJ2NvbnRhaW5lcicpIGNvbnRhaW5lcjogUXVlcnlMaXN0PEVsZW1lbnRSZWY+O1xuXG4gICAgQElucHV0KCkgbWRzRWRpdG9ySW5zdGFuY2VTZXJ2aWNlOiBhbnk7XG4gICAgQElucHV0KCkgZ3JvdXBJZDogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHNldElkOiBzdHJpbmc7XG4gICAgQElucHV0KCkgZGF0YTogVmFsdWVzO1xuICAgIG1kczogTWRzRGVmaW5pdGlvbjtcbiAgICB0ZW1wbGF0ZXMgPSBzaWduYWw8XG4gICAgICAgIHtcbiAgICAgICAgICAgIHZpZXc6IE1kc1ZpZXc7XG4gICAgICAgICAgICBodG1sOiBTYWZlSHRtbDtcbiAgICAgICAgfVtdXG4gICAgPihudWxsKTtcblxuICAgIC8qKlxuICAgICAqIHNob3cgZ3JvdXAgaGVhZGluZ3MgKCsgaWNvbnMpIGZvciB0aGUgaW5kaXZpZHVhbCB0ZW1wbGF0ZXNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBzaG93R3JvdXBIZWFkaW5ncyA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgaGVhZGluZyBsZXZlbCBmcm9tIDEgdG8gNiB0byB1c2UgZm9yIHdpZGdldCBsYWJlbHMsIGVxdWl2YWxlbnQgdG8gYGgxYCB0byBgaDZgLlxuICAgICAqXG4gICAgICogSWYgbm90IHNldCwgd2lkZ2V0IGxhYmVscyBhcmUgbm90IG1hcmtlZCBhcyBoZWFkaW5ncyBhbmQgYW4gaW52aXNpYmxlIGNvbG9uIGlzIGFkZGVkIGJldHdlZW5cbiAgICAgKiBsYWJlbHMgYW5kIHZhbHVlcywgdGhhdCB3aWxsIGJlIHJlYWQgb3V0IGJ5IHNjcmVlbiByZWFkZXJzLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IGhlYWRpbmdMZXZlbCh2YWx1ZTogbnVtYmVyIHwgbnVsbCkge1xuICAgICAgICB0aGlzLnZpZXdJbnN0YW5jZS5oZWFkaW5nTGV2ZWwgPSB2YWx1ZTtcbiAgICB9XG4gICAgZ2V0IGhlYWRpbmdMZXZlbCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmlld0luc3RhbmNlLmhlYWRpbmdMZXZlbDtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBtZHNTZXJ2aWNlOiBNZHNTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIG1kc1ZpZXdlclNlcnZpY2U6IE1kc1ZpZXdlclNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgZmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICBwcml2YXRlIGNvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgcHJpdmF0ZSBzYW5pdGl6ZXI6IERvbVNhbml0aXplcixcbiAgICAgICAgcHJpdmF0ZSB2aWV3SW5zdGFuY2U6IFZpZXdJbnN0YW5jZVNlcnZpY2UsXG4gICAgKSB7fVxuXG4gICAgZ2V0R3JvdXAoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLm1kcy5ncm91cHMuZmluZCgoZzogYW55KSA9PiBnLmlkID09IHRoaXMuZ3JvdXBJZCk7XG4gICAgfVxuICAgIGdldFZpZXcoaWQ6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gdGhpcy5tZHMudmlld3MuZmluZCgodjogYW55KSA9PiB2LmlkID09IGlkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgaW5mbGF0ZSgpIHtcbiAgICAgICAgaWYgKCF0aGlzLm1kcykge1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmluZmxhdGUoKSwgMTAwMCAvIDYwKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgdGhpcy5tZHNWaWV3ZXJTZXJ2aWNlLnZhbHVlcyQubmV4dCh0aGlzLmRhdGEpO1xuICAgICAgICAgICAgdGhpcy5tZHNWaWV3ZXJTZXJ2aWNlLm1kcyQubmV4dCh0aGlzLm1kcyk7XG4gICAgICAgICAgICBpZiAodGhpcy5tZHNFZGl0b3JJbnN0YW5jZVNlcnZpY2UpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBlZGl0b3IgPSBhd2FpdCB0aGlzLm1kc0VkaXRvckluc3RhbmNlU2VydmljZS5pbml0V2l0aG91dE5vZGVzKFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmdyb3VwSWQsXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0SWQsXG4gICAgICAgICAgICAgICAgICAgIEhPTUVfUkVQT1NJVE9SWSxcbiAgICAgICAgICAgICAgICAgICAgJ3ZpZXdlcicsXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGF0YSxcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGlmICghZWRpdG9yKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIEluaXRpYWxpemF0aW9uIHdhcyBpbnRlcnJ1cHRlZC4gUHJvYmFibHksIHRoaXMgbWV0aG9kIHdhcyBjYWxsZWQgYWdhaW4gYmVmb3JlIGl0XG4gICAgICAgICAgICAgICAgICAgIC8vIGNvdWxkIGZpbmlzaC5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHRlbXBsYXRlcyA9IFtdO1xuICAgICAgICBmb3IgKGNvbnN0IHZpZXcgb2YgdGhpcy5nZXRHcm91cCgpLnZpZXdzKSB7XG4gICAgICAgICAgICBjb25zdCB2ID0gdGhpcy5nZXRWaWV3KHZpZXcpO1xuICAgICAgICAgICAgdGVtcGxhdGVzLnB1c2goe1xuICAgICAgICAgICAgICAgIHZpZXc6IHYsXG4gICAgICAgICAgICAgICAgaHRtbDogdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwodGhpcy5wcmVwYXJlSFRNTCh2Lmh0bWwpKSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudGVtcGxhdGVzLnNldCh0ZW1wbGF0ZXMpO1xuICAgICAgICAvLyB3YWl0IGZvciBhbmd1bGFyIHRvIGluZmxhdGUgdGhlIG5ldyBiaW5kaW5nXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgZm9yIChjb25zdCB3aWRnZXQgb2YgKHRoaXMubWRzRWRpdG9ySW5zdGFuY2VTZXJ2aWNlPy53aWRnZXRzLnZhbHVlIHx8XG4gICAgICAgICAgICAgICAgdGhpcy5tZHMud2lkZ2V0cy5tYXAoKGRlZmluaXRpb24pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmluaXRpb24sXG4gICAgICAgICAgICAgICAgICAgICAgICBnZXRJbml0YWxWYWx1ZXNBc3luYzogYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGpvaW50VmFsdWVzOiB0aGlzLmRhdGFbZGVmaW5pdGlvbi5pZCEhXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGFzIEluaXRpYWxWYWx1ZXM7XG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgZ2V0SW5pdGlhbERpc3BsYXlWYWx1ZXM6ICgpID0+IG5ldyBCZWhhdmlvclN1YmplY3Q8TWRzVmFsdWVMaXN0PihudWxsKSxcbiAgICAgICAgICAgICAgICAgICAgfSBhcyBNZHNWaWV3ZXJXaWRnZXQ7XG4gICAgICAgICAgICAgICAgfSkpIGFzIE1kc1ZpZXdlcldpZGdldFtdKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jb250YWluZXIudG9BcnJheSgpLmZvckVhY2goKGMpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IGVsZW1lbnQ6IEhUTUxFbGVtZW50ID0gYy5uYXRpdmVFbGVtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKFxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkZ2V0LmRlZmluaXRpb24uaWQsXG4gICAgICAgICAgICAgICAgICAgICk/LlswXTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIE1kc0VkaXRvclZpZXdDb21wb25lbnQudXBkYXRlV2lkZ2V0V2l0aEhUTUxBdHRyaWJ1dGVzKGVsZW1lbnQsIHcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudCA9IHJlcGxhY2VFbGVtZW50V2l0aERpdihlbGVtZW50KTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgVUlTZXJ2aWNlLmluamVjdEFuZ3VsYXJDb21wb25lbnQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5mYWN0b3J5UmVzb2x2ZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250YWluZXJSZWYsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgTWRzV2lkZ2V0Q29tcG9uZW50LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWRnZXQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7fSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdG9yLFxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBjbG9zZSBhbGwgY3VzdG9tIHRhZ3MgaW5zaWRlIHRoZSBodG1sIHdoaWNoIGFyZSBub3QgY2xvc2VkXG4gICAgICogZS5nLiA8Y206bmFtZT5cbiAgICAgKiAgICAgLT4gPGNtOm5hbWU+PC9jbTpuYW1lPlxuICAgICAqIEBwYXJhbSBodG1sXG4gICAgICovXG4gICAgcHJpdmF0ZSBwcmVwYXJlSFRNTChodG1sOiBzdHJpbmcpIHtcbiAgICAgICAgZm9yIChjb25zdCB3IG9mIHRoaXMubWRzLndpZGdldHMpIHtcbiAgICAgICAgICAgIGNvbnN0IHN0YXJ0ID0gaHRtbC5pbmRleE9mKCc8JyArIHcuaWQpO1xuICAgICAgICAgICAgaWYgKHN0YXJ0ID09IC0xKSB7XG4gICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBlbmQgPSBodG1sLmluZGV4T2YoJz4nLCBzdGFydCkgKyAxO1xuICAgICAgICAgICAgaHRtbCA9IGh0bWwuc3Vic3RyaW5nKDAsIGVuZCkgKyAnPC8nICsgdy5pZCArICc+JyArIGh0bWwuc3Vic3RyaW5nKGVuZCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGh0bWw7XG4gICAgfVxuXG4gICAgYXN5bmMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgICAgICBsZXQgaW5mbGF0ZSA9IGZhbHNlO1xuICAgICAgICBpZiAoY2hhbmdlcy5zZXRJZCkge1xuICAgICAgICAgICAgdGhpcy5tZHMgPSBhd2FpdCB0aGlzLm1kc1NlcnZpY2VcbiAgICAgICAgICAgICAgICAuZ2V0TWV0YWRhdGFTZXQoeyBtZXRhZGF0YVNldDogdGhpcy5zZXRJZCB9KVxuICAgICAgICAgICAgICAgIC50b1Byb21pc2UoKTtcbiAgICAgICAgICAgIGluZmxhdGUgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChjaGFuZ2VzLmRhdGEpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmRhdGFbUmVzdENvbnN0YW50cy5DTV9QUk9QX01FVEFEQVRBU0VUX0VEVV9NRVRBREFUQVNFVF0gIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHRoaXMubWRzID0gYXdhaXQgdGhpcy5tZHNTZXJ2aWNlXG4gICAgICAgICAgICAgICAgICAgIC5nZXRNZXRhZGF0YVNldCh7XG4gICAgICAgICAgICAgICAgICAgICAgICBtZXRhZGF0YVNldDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmRhdGFbUmVzdENvbnN0YW50cy5DTV9QUk9QX01FVEFEQVRBU0VUX0VEVV9NRVRBREFUQVNFVF1bMF0sXG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIC50b1Byb21pc2UoKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoIXRoaXMubWRzKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5tZHMgPSBhd2FpdCB0aGlzLm1kc1NlcnZpY2UuZ2V0TWV0YWRhdGFTZXQoe30pLnRvUHJvbWlzZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaW5mbGF0ZSA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGluZmxhdGUpIHtcbiAgICAgICAgICAgIHZvaWQgdGhpcy5pbmZsYXRlKCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8ZXMtc3Bpbm5lci1zbWFsbCAqbmdJZj1cIiF0ZW1wbGF0ZXMoKVwiPjwvZXMtc3Bpbm5lci1zbWFsbD5cbjxkaXYgKm5nRm9yPVwibGV0IHQgb2YgdGVtcGxhdGVzKClcIiAjY29udGFpbmVyIGNsYXNzPVwibWRzLXZpZXdlclwiPlxuICA8ZGl2ICpuZ0lmPVwic2hvd0dyb3VwSGVhZGluZ3MgJiYgdC52aWV3LmNhcHRpb25cIiBjbGFzcz1cImNhcmQtdGl0bGUtZWxlbWVudCBncm91cC1oZWFkaW5nXCI+XG4gICAgPGkgW2VzSWNvbl09XCJ0LnZpZXcuaWNvblwiICpuZ0lmPVwidC52aWV3Lmljb25cIj48L2k+PHNwYW4+e3sgdC52aWV3LmNhcHRpb24gfX08L3NwYW4+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwidGVtcGxhdGVcIiBbaW5uZXJIVE1MXT1cInQuaHRtbFwiPjwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { Injectable, ViewChildren } from '@angular/core';
|
|
2
|
-
import { BehaviorSubject } from 'rxjs';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class MdsViewerService {
|
|
5
|
-
constructor() {
|
|
6
|
-
this.values$ = new BehaviorSubject(undefined);
|
|
7
|
-
this.mds$ = new BehaviorSubject(undefined);
|
|
8
|
-
}
|
|
9
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: MdsViewerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
10
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: MdsViewerService }); }
|
|
11
|
-
}
|
|
12
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: MdsViewerService, decorators: [{
|
|
13
|
-
type: Injectable
|
|
14
|
-
}], propDecorators: { container: [{
|
|
15
|
-
type: ViewChildren,
|
|
16
|
-
args: ['container']
|
|
17
|
-
}] } });
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWRzLXZpZXdlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWR1LXNoYXJpbmctdWkvc3JjL2xpYi9tZHMtdmlld2VyL21kcy12aWV3ZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsVUFBVSxFQUFhLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVoRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUl2QyxNQUFNLE9BQU8sZ0JBQWdCO0lBRDdCO1FBR0ksWUFBTyxHQUFHLElBQUksZUFBZSxDQUFTLFNBQVMsQ0FBQyxDQUFDO1FBQ2pELFNBQUksR0FBRyxJQUFJLGVBQWUsQ0FBZ0IsU0FBUyxDQUFDLENBQUM7S0FDeEQ7K0dBSlksZ0JBQWdCO21IQUFoQixnQkFBZ0I7OzRGQUFoQixnQkFBZ0I7a0JBRDVCLFVBQVU7OEJBRW9CLFNBQVM7c0JBQW5DLFlBQVk7dUJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVsZW1lbnRSZWYsIEluamVjdGFibGUsIFF1ZXJ5TGlzdCwgVmlld0NoaWxkcmVuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNZHNEZWZpbml0aW9uIH0gZnJvbSAnbmd4LWVkdS1zaGFyaW5nLWFwaSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFZhbHVlcyB9IGZyb20gJy4uL3NlcnZpY2VzL3NlYXJjaC1oZWxwZXIuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBNZHNWaWV3ZXJTZXJ2aWNlIHtcbiAgICBAVmlld0NoaWxkcmVuKCdjb250YWluZXInKSBjb250YWluZXI6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPjtcbiAgICB2YWx1ZXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxWYWx1ZXM+KHVuZGVmaW5lZCk7XG4gICAgbWRzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TWRzRGVmaW5pdGlvbj4odW5kZWZpbmVkKTtcbn1cbiJdfQ==
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Replaces the given element with a div within the DOM.
|
|
3
|
-
*
|
|
4
|
-
* The purpose is to comply with W3C specifications for element and attribute names.
|
|
5
|
-
*
|
|
6
|
-
* Sets the attribute "data-element" to the old element tag name.
|
|
7
|
-
*/
|
|
8
|
-
export function replaceElementWithDiv(element, mode = 'replace') {
|
|
9
|
-
const div = document.createElement('div');
|
|
10
|
-
div.setAttribute('data-element', element.localName);
|
|
11
|
-
for (const attribute of element.attributes) {
|
|
12
|
-
const targetAttributeName = getTargetAttributeName(attribute);
|
|
13
|
-
div.setAttribute(targetAttributeName, attribute.nodeValue);
|
|
14
|
-
}
|
|
15
|
-
if (element.parentNode) {
|
|
16
|
-
if (mode === 'append') {
|
|
17
|
-
// keep the positioning
|
|
18
|
-
element.parentNode.insertBefore(div, element);
|
|
19
|
-
// element.parentNode.append(div);
|
|
20
|
-
}
|
|
21
|
-
else if (mode === 'replace') {
|
|
22
|
-
element.parentNode.replaceChild(div, element);
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
else {
|
|
26
|
-
console.warn('replace child failed for ' + element.localName);
|
|
27
|
-
}
|
|
28
|
-
return div;
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* Returns the name with which to copy attributes to the new element.
|
|
32
|
-
*
|
|
33
|
-
* Keeps "style", "class", and "data-" attributes and prefixes everything else with
|
|
34
|
-
* "data-attribute-".
|
|
35
|
-
*/
|
|
36
|
-
function getTargetAttributeName(attr) {
|
|
37
|
-
if (['style', 'class'].includes(attr.nodeName)) {
|
|
38
|
-
return attr.nodeName;
|
|
39
|
-
}
|
|
40
|
-
else if (attr.nodeName.startsWith('data-')) {
|
|
41
|
-
return attr.nodeName;
|
|
42
|
-
}
|
|
43
|
-
else {
|
|
44
|
-
return 'data-attribute-' + attr.nodeName;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwbGFjZS1lbGVtZW50LXdpdGgtZGl2LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWR1LXNoYXJpbmctdWkvc3JjL2xpYi9tZHMtdmlld2VyL3JlcGxhY2UtZWxlbWVudC13aXRoLWRpdi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUscUJBQXFCLENBQ2pDLE9BQWdCLEVBQ2hCLE9BQTZCLFNBQVM7SUFFdEMsTUFBTSxHQUFHLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxQyxHQUFHLENBQUMsWUFBWSxDQUFDLGNBQWMsRUFBRSxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDcEQsS0FBSyxNQUFNLFNBQVMsSUFBSSxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDekMsTUFBTSxtQkFBbUIsR0FBRyxzQkFBc0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM5RCxHQUFHLENBQUMsWUFBWSxDQUFDLG1CQUFtQixFQUFFLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBQ0QsSUFBSSxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDckIsSUFBSSxJQUFJLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDcEIsdUJBQXVCO1lBQ3ZCLE9BQU8sQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztZQUM5QyxrQ0FBa0M7UUFDdEMsQ0FBQzthQUFNLElBQUksSUFBSSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQzVCLE9BQU8sQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNsRCxDQUFDO0lBQ0wsQ0FBQztTQUFNLENBQUM7UUFDSixPQUFPLENBQUMsSUFBSSxDQUFDLDJCQUEyQixHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBQ0QsT0FBTyxHQUFHLENBQUM7QUFDZixDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxTQUFTLHNCQUFzQixDQUFDLElBQVU7SUFDdEMsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7UUFDN0MsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3pCLENBQUM7U0FBTSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7UUFDM0MsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3pCLENBQUM7U0FBTSxDQUFDO1FBQ0osT0FBTyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQzdDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBSZXBsYWNlcyB0aGUgZ2l2ZW4gZWxlbWVudCB3aXRoIGEgZGl2IHdpdGhpbiB0aGUgRE9NLlxuICpcbiAqIFRoZSBwdXJwb3NlIGlzIHRvIGNvbXBseSB3aXRoIFczQyBzcGVjaWZpY2F0aW9ucyBmb3IgZWxlbWVudCBhbmQgYXR0cmlidXRlIG5hbWVzLlxuICpcbiAqIFNldHMgdGhlIGF0dHJpYnV0ZSBcImRhdGEtZWxlbWVudFwiIHRvIHRoZSBvbGQgZWxlbWVudCB0YWcgbmFtZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlcGxhY2VFbGVtZW50V2l0aERpdihcbiAgICBlbGVtZW50OiBFbGVtZW50LFxuICAgIG1vZGU6ICdhcHBlbmQnIHwgJ3JlcGxhY2UnID0gJ3JlcGxhY2UnLFxuKTogSFRNTERpdkVsZW1lbnQge1xuICAgIGNvbnN0IGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgIGRpdi5zZXRBdHRyaWJ1dGUoJ2RhdGEtZWxlbWVudCcsIGVsZW1lbnQubG9jYWxOYW1lKTtcbiAgICBmb3IgKGNvbnN0IGF0dHJpYnV0ZSBvZiBlbGVtZW50LmF0dHJpYnV0ZXMpIHtcbiAgICAgICAgY29uc3QgdGFyZ2V0QXR0cmlidXRlTmFtZSA9IGdldFRhcmdldEF0dHJpYnV0ZU5hbWUoYXR0cmlidXRlKTtcbiAgICAgICAgZGl2LnNldEF0dHJpYnV0ZSh0YXJnZXRBdHRyaWJ1dGVOYW1lLCBhdHRyaWJ1dGUubm9kZVZhbHVlKTtcbiAgICB9XG4gICAgaWYgKGVsZW1lbnQucGFyZW50Tm9kZSkge1xuICAgICAgICBpZiAobW9kZSA9PT0gJ2FwcGVuZCcpIHtcbiAgICAgICAgICAgIC8vIGtlZXAgdGhlIHBvc2l0aW9uaW5nXG4gICAgICAgICAgICBlbGVtZW50LnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGRpdiwgZWxlbWVudCk7XG4gICAgICAgICAgICAvLyBlbGVtZW50LnBhcmVudE5vZGUuYXBwZW5kKGRpdik7XG4gICAgICAgIH0gZWxzZSBpZiAobW9kZSA9PT0gJ3JlcGxhY2UnKSB7XG4gICAgICAgICAgICBlbGVtZW50LnBhcmVudE5vZGUucmVwbGFjZUNoaWxkKGRpdiwgZWxlbWVudCk7XG4gICAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgICBjb25zb2xlLndhcm4oJ3JlcGxhY2UgY2hpbGQgZmFpbGVkIGZvciAnICsgZWxlbWVudC5sb2NhbE5hbWUpO1xuICAgIH1cbiAgICByZXR1cm4gZGl2O1xufVxuXG4vKipcbiAqIFJldHVybnMgdGhlIG5hbWUgd2l0aCB3aGljaCB0byBjb3B5IGF0dHJpYnV0ZXMgdG8gdGhlIG5ldyBlbGVtZW50LlxuICpcbiAqIEtlZXBzIFwic3R5bGVcIiwgXCJjbGFzc1wiLCBhbmQgXCJkYXRhLVwiIGF0dHJpYnV0ZXMgYW5kIHByZWZpeGVzIGV2ZXJ5dGhpbmcgZWxzZSB3aXRoXG4gKiBcImRhdGEtYXR0cmlidXRlLVwiLlxuICovXG5mdW5jdGlvbiBnZXRUYXJnZXRBdHRyaWJ1dGVOYW1lKGF0dHI6IEF0dHIpOiBzdHJpbmcge1xuICAgIGlmIChbJ3N0eWxlJywgJ2NsYXNzJ10uaW5jbHVkZXMoYXR0ci5ub2RlTmFtZSkpIHtcbiAgICAgICAgcmV0dXJuIGF0dHIubm9kZU5hbWU7XG4gICAgfSBlbHNlIGlmIChhdHRyLm5vZGVOYW1lLnN0YXJ0c1dpdGgoJ2RhdGEtJykpIHtcbiAgICAgICAgcmV0dXJuIGF0dHIubm9kZU5hbWU7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuICdkYXRhLWF0dHJpYnV0ZS0nICsgYXR0ci5ub2RlTmFtZTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { BehaviorSubject } from 'rxjs';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class ViewInstanceService {
|
|
5
|
-
constructor() {
|
|
6
|
-
this.isExpanded$ = new BehaviorSubject(true);
|
|
7
|
-
/**
|
|
8
|
-
* The heading level from 1 to 6 to use for widget labels, equivalent to `h1` to `h6`.
|
|
9
|
-
*
|
|
10
|
-
* If not set, widget labels are not marked as headings and an invisible colon is added between
|
|
11
|
-
* labels and values, that will be read out by screen readers.
|
|
12
|
-
*/
|
|
13
|
-
this.headingLevel = null;
|
|
14
|
-
/**
|
|
15
|
-
* how to display tree entries
|
|
16
|
-
* flat (only display the last entry)
|
|
17
|
-
* full (display the full tree path)
|
|
18
|
-
*/
|
|
19
|
-
this.treeDisplay = 'flat';
|
|
20
|
-
}
|
|
21
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ViewInstanceService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
22
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ViewInstanceService }); }
|
|
23
|
-
}
|
|
24
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ViewInstanceService, decorators: [{
|
|
25
|
-
type: Injectable
|
|
26
|
-
}] });
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlldy1pbnN0YW5jZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWR1LXNoYXJpbmctdWkvc3JjL2xpYi9tZHMtdmlld2VyL3ZpZXctaW5zdGFuY2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBR3ZDLE1BQU0sT0FBTyxtQkFBbUI7SUFEaEM7UUFFYSxnQkFBVyxHQUFHLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pEOzs7OztXQUtHO1FBQ0gsaUJBQVksR0FBa0IsSUFBSSxDQUFDO1FBQ25DOzs7O1dBSUc7UUFDSCxnQkFBVyxHQUFvQixNQUFNLENBQUM7S0FDekM7K0dBZlksbUJBQW1CO21IQUFuQixtQkFBbUI7OzRGQUFuQixtQkFBbUI7a0JBRC9CLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFZpZXdJbnN0YW5jZVNlcnZpY2Uge1xuICAgIHJlYWRvbmx5IGlzRXhwYW5kZWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdCh0cnVlKTtcbiAgICAvKipcbiAgICAgKiBUaGUgaGVhZGluZyBsZXZlbCBmcm9tIDEgdG8gNiB0byB1c2UgZm9yIHdpZGdldCBsYWJlbHMsIGVxdWl2YWxlbnQgdG8gYGgxYCB0byBgaDZgLlxuICAgICAqXG4gICAgICogSWYgbm90IHNldCwgd2lkZ2V0IGxhYmVscyBhcmUgbm90IG1hcmtlZCBhcyBoZWFkaW5ncyBhbmQgYW4gaW52aXNpYmxlIGNvbG9uIGlzIGFkZGVkIGJldHdlZW5cbiAgICAgKiBsYWJlbHMgYW5kIHZhbHVlcywgdGhhdCB3aWxsIGJlIHJlYWQgb3V0IGJ5IHNjcmVlbiByZWFkZXJzLlxuICAgICAqL1xuICAgIGhlYWRpbmdMZXZlbDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG4gICAgLyoqXG4gICAgICogaG93IHRvIGRpc3BsYXkgdHJlZSBlbnRyaWVzXG4gICAgICogZmxhdCAob25seSBkaXNwbGF5IHRoZSBsYXN0IGVudHJ5KVxuICAgICAqIGZ1bGwgKGRpc3BsYXkgdGhlIGZ1bGwgdHJlZSBwYXRoKVxuICAgICAqL1xuICAgIHRyZWVEaXNwbGF5OiAnZmxhdCcgfCAncGF0aCcgPSAnZmxhdCc7XG59XG4iXX0=
|