@sitecore-jss/sitecore-jss-angular 13.2.4 → 13.2.5-canary.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.txt +202 -202
- package/README.md +5 -5
- package/dist/README.md +5 -5
- package/dist/bundles/sitecore-jss-sitecore-jss-angular.umd.js +1158 -1158
- package/dist/components/date.directive.d.ts +17 -17
- package/dist/components/file.directive.d.ts +14 -14
- package/dist/components/generic-link.directive.d.ts +14 -14
- package/dist/components/image.directive.d.ts +20 -20
- package/dist/components/link.directive.d.ts +18 -18
- package/dist/components/missing-component.component.d.ts +3 -3
- package/dist/components/placeholder-loading.directive.d.ts +5 -5
- package/dist/components/placeholder.component.d.ts +45 -45
- package/dist/components/placeholder.token.d.ts +24 -24
- package/dist/components/raw.component.d.ts +9 -9
- package/dist/components/render-component.component.d.ts +29 -29
- package/dist/components/render-each.directive.d.ts +5 -5
- package/dist/components/render-empty.directive.d.ts +5 -5
- package/dist/components/rendering-field.d.ts +20 -20
- package/dist/components/rendering.d.ts +2 -2
- package/dist/components/rich-text.directive.d.ts +12 -12
- package/dist/components/router-link.directive.d.ts +12 -12
- package/dist/components/text.directive.d.ts +13 -13
- package/dist/esm2015/components/date.directive.js +63 -63
- package/dist/esm2015/components/file.directive.js +44 -44
- package/dist/esm2015/components/generic-link.directive.js +67 -67
- package/dist/esm2015/components/image.directive.js +131 -131
- package/dist/esm2015/components/link.directive.js +92 -92
- package/dist/esm2015/components/missing-component.component.js +14 -14
- package/dist/esm2015/components/placeholder-loading.directive.js +16 -16
- package/dist/esm2015/components/placeholder.component.js +205 -205
- package/dist/esm2015/components/placeholder.token.js +14 -14
- package/dist/esm2015/components/raw.component.js +37 -37
- package/dist/esm2015/components/render-component.component.js +93 -93
- package/dist/esm2015/components/render-each.directive.js +17 -17
- package/dist/esm2015/components/render-empty.directive.js +17 -17
- package/dist/esm2015/components/rendering.js +3 -3
- package/dist/esm2015/components/rich-text.directive.js +45 -45
- package/dist/esm2015/components/router-link.directive.js +51 -51
- package/dist/esm2015/components/text.directive.js +61 -61
- package/dist/esm2015/jss-component-factory.service.js +85 -85
- package/dist/esm2015/layout-service-error.js +2 -2
- package/dist/esm2015/layout.service.js +32 -32
- package/dist/esm2015/lib.module.js +115 -115
- package/dist/esm2015/public_api.js +15 -15
- package/dist/esm2015/sitecore-jss-sitecore-jss-angular.js +12 -12
- package/dist/esm5/components/date.directive.js +65 -65
- package/dist/esm5/components/file.directive.js +45 -45
- package/dist/esm5/components/generic-link.directive.js +72 -72
- package/dist/esm5/components/image.directive.js +139 -139
- package/dist/esm5/components/link.directive.js +101 -101
- package/dist/esm5/components/missing-component.component.js +17 -17
- package/dist/esm5/components/placeholder-loading.directive.js +17 -17
- package/dist/esm5/components/placeholder.component.js +216 -216
- package/dist/esm5/components/placeholder.token.js +18 -18
- package/dist/esm5/components/raw.component.js +38 -38
- package/dist/esm5/components/render-component.component.js +103 -103
- package/dist/esm5/components/render-each.directive.js +18 -18
- package/dist/esm5/components/render-empty.directive.js +18 -18
- package/dist/esm5/components/rendering.js +3 -3
- package/dist/esm5/components/rich-text.directive.js +46 -46
- package/dist/esm5/components/router-link.directive.js +56 -56
- package/dist/esm5/components/text.directive.js +62 -62
- package/dist/esm5/jss-component-factory.service.js +89 -89
- package/dist/esm5/layout-service-error.js +6 -6
- package/dist/esm5/layout.service.js +36 -36
- package/dist/esm5/lib.module.js +118 -118
- package/dist/esm5/public_api.js +15 -15
- package/dist/esm5/sitecore-jss-sitecore-jss-angular.js +12 -12
- package/dist/fesm2015/sitecore-jss-sitecore-jss-angular.js +1083 -1083
- package/dist/fesm5/sitecore-jss-sitecore-jss-angular.js +1160 -1160
- package/dist/jss-component-factory.service.d.ts +19 -19
- package/dist/layout-service-error.d.ts +8 -8
- package/dist/layout.service.d.ts +8 -8
- package/dist/lib.module.d.ts +16 -16
- package/dist/package.json +2 -2
- package/dist/public_api.d.ts +16 -16
- package/dist/sitecore-jss-sitecore-jss-angular.d.ts +12 -12
- package/package.json +3 -3
- package/typings/README.md +2 -2
|
@@ -1,66 +1,66 @@
|
|
|
1
|
-
import * as tslib_1 from "tslib";
|
|
2
|
-
import { DatePipe } from '@angular/common';
|
|
3
|
-
import { Directive, EmbeddedViewRef, Input, OnChanges, SimpleChanges, TemplateRef, ViewContainerRef } from '@angular/core';
|
|
4
|
-
var DateDirective = /** @class */ (function () {
|
|
5
|
-
function DateDirective(viewContainer, templateRef, datePipe) {
|
|
6
|
-
this.viewContainer = viewContainer;
|
|
7
|
-
this.templateRef = templateRef;
|
|
8
|
-
this.datePipe = datePipe;
|
|
9
|
-
// tslint:disable-next-line:no-input-rename
|
|
10
|
-
this.editable = true;
|
|
11
|
-
}
|
|
12
|
-
DateDirective.prototype.ngOnChanges = function (changes) {
|
|
13
|
-
if (changes['field'] || changes['format']) {
|
|
14
|
-
if (!this.viewRef) {
|
|
15
|
-
this.viewContainer.clear();
|
|
16
|
-
this.viewRef = this.viewContainer.createEmbeddedView(this.templateRef);
|
|
17
|
-
}
|
|
18
|
-
this.updateView();
|
|
19
|
-
}
|
|
20
|
-
};
|
|
21
|
-
DateDirective.prototype.updateView = function () {
|
|
22
|
-
var _this = this;
|
|
23
|
-
var field = this.field;
|
|
24
|
-
if (!field || (!field.editable && !field.value)) {
|
|
25
|
-
return;
|
|
26
|
-
}
|
|
27
|
-
var html = field.editable && this.editable ? field.editable : field.value;
|
|
28
|
-
var setDangerously = field.editable && this.editable;
|
|
29
|
-
this.viewRef.rootNodes.forEach(function (node) {
|
|
30
|
-
if (setDangerously) {
|
|
31
|
-
node.innerHTML = html;
|
|
32
|
-
}
|
|
33
|
-
else {
|
|
34
|
-
node.textContent = _this.datePipe.transform(html, _this.format, _this.timezone, _this.locale);
|
|
35
|
-
}
|
|
36
|
-
});
|
|
37
|
-
};
|
|
38
|
-
DateDirective.ctorParameters = function () { return [
|
|
39
|
-
{ type: ViewContainerRef },
|
|
40
|
-
{ type: TemplateRef },
|
|
41
|
-
{ type: DatePipe }
|
|
42
|
-
]; };
|
|
43
|
-
tslib_1.__decorate([
|
|
44
|
-
Input('scDateFormat')
|
|
45
|
-
], DateDirective.prototype, "format", void 0);
|
|
46
|
-
tslib_1.__decorate([
|
|
47
|
-
Input('scDateTimezone')
|
|
48
|
-
], DateDirective.prototype, "timezone", void 0);
|
|
49
|
-
tslib_1.__decorate([
|
|
50
|
-
Input('scDateLocale')
|
|
51
|
-
], DateDirective.prototype, "locale", void 0);
|
|
52
|
-
tslib_1.__decorate([
|
|
53
|
-
Input('scDateEditable')
|
|
54
|
-
], DateDirective.prototype, "editable", void 0);
|
|
55
|
-
tslib_1.__decorate([
|
|
56
|
-
Input('scDate')
|
|
57
|
-
], DateDirective.prototype, "field", void 0);
|
|
58
|
-
DateDirective = tslib_1.__decorate([
|
|
59
|
-
Directive({
|
|
60
|
-
selector: '[scDate]',
|
|
61
|
-
})
|
|
62
|
-
], DateDirective);
|
|
63
|
-
return DateDirective;
|
|
64
|
-
}());
|
|
65
|
-
export { DateDirective };
|
|
1
|
+
import * as tslib_1 from "tslib";
|
|
2
|
+
import { DatePipe } from '@angular/common';
|
|
3
|
+
import { Directive, EmbeddedViewRef, Input, OnChanges, SimpleChanges, TemplateRef, ViewContainerRef } from '@angular/core';
|
|
4
|
+
var DateDirective = /** @class */ (function () {
|
|
5
|
+
function DateDirective(viewContainer, templateRef, datePipe) {
|
|
6
|
+
this.viewContainer = viewContainer;
|
|
7
|
+
this.templateRef = templateRef;
|
|
8
|
+
this.datePipe = datePipe;
|
|
9
|
+
// tslint:disable-next-line:no-input-rename
|
|
10
|
+
this.editable = true;
|
|
11
|
+
}
|
|
12
|
+
DateDirective.prototype.ngOnChanges = function (changes) {
|
|
13
|
+
if (changes['field'] || changes['format']) {
|
|
14
|
+
if (!this.viewRef) {
|
|
15
|
+
this.viewContainer.clear();
|
|
16
|
+
this.viewRef = this.viewContainer.createEmbeddedView(this.templateRef);
|
|
17
|
+
}
|
|
18
|
+
this.updateView();
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
DateDirective.prototype.updateView = function () {
|
|
22
|
+
var _this = this;
|
|
23
|
+
var field = this.field;
|
|
24
|
+
if (!field || (!field.editable && !field.value)) {
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
var html = field.editable && this.editable ? field.editable : field.value;
|
|
28
|
+
var setDangerously = field.editable && this.editable;
|
|
29
|
+
this.viewRef.rootNodes.forEach(function (node) {
|
|
30
|
+
if (setDangerously) {
|
|
31
|
+
node.innerHTML = html;
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
node.textContent = _this.datePipe.transform(html, _this.format, _this.timezone, _this.locale);
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
};
|
|
38
|
+
DateDirective.ctorParameters = function () { return [
|
|
39
|
+
{ type: ViewContainerRef },
|
|
40
|
+
{ type: TemplateRef },
|
|
41
|
+
{ type: DatePipe }
|
|
42
|
+
]; };
|
|
43
|
+
tslib_1.__decorate([
|
|
44
|
+
Input('scDateFormat')
|
|
45
|
+
], DateDirective.prototype, "format", void 0);
|
|
46
|
+
tslib_1.__decorate([
|
|
47
|
+
Input('scDateTimezone')
|
|
48
|
+
], DateDirective.prototype, "timezone", void 0);
|
|
49
|
+
tslib_1.__decorate([
|
|
50
|
+
Input('scDateLocale')
|
|
51
|
+
], DateDirective.prototype, "locale", void 0);
|
|
52
|
+
tslib_1.__decorate([
|
|
53
|
+
Input('scDateEditable')
|
|
54
|
+
], DateDirective.prototype, "editable", void 0);
|
|
55
|
+
tslib_1.__decorate([
|
|
56
|
+
Input('scDate')
|
|
57
|
+
], DateDirective.prototype, "field", void 0);
|
|
58
|
+
DateDirective = tslib_1.__decorate([
|
|
59
|
+
Directive({
|
|
60
|
+
selector: '[scDate]',
|
|
61
|
+
})
|
|
62
|
+
], DateDirective);
|
|
63
|
+
return DateDirective;
|
|
64
|
+
}());
|
|
65
|
+
export { DateDirective };
|
|
66
66
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2l0ZWNvcmUtanNzL3NpdGVjb3JlLWpzcy1hbmd1bGFyLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9kYXRlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU0zSDtJQWtCRSx1QkFDVSxhQUErQixFQUMvQixXQUE2QixFQUM3QixRQUFrQjtRQUZsQixrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7UUFDL0IsZ0JBQVcsR0FBWCxXQUFXLENBQWtCO1FBQzdCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFUNUIsMkNBQTJDO1FBQ2xCLGFBQVEsR0FBRyxJQUFJLENBQUM7SUFTckMsQ0FBQztJQUVMLG1DQUFXLEdBQVgsVUFBWSxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDekMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQ2pCLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQzNCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7YUFDeEU7WUFFRCxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7U0FDbkI7SUFDSCxDQUFDO0lBRU8sa0NBQVUsR0FBbEI7UUFBQSxpQkFpQkM7UUFoQkMsSUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUV6QixJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQy9DLE9BQU87U0FDUjtRQUVELElBQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztRQUM1RSxJQUFNLGNBQWMsR0FBRyxLQUFLLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUM7UUFFdkQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFVBQUMsSUFBSTtZQUNsQyxJQUFJLGNBQWMsRUFBRTtnQkFDbEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7YUFDdkI7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsS0FBSSxDQUFDLE1BQU0sRUFBRSxLQUFJLENBQUMsUUFBUSxFQUFFLEtBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQzthQUMzRjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7Z0JBakN3QixnQkFBZ0I7Z0JBQ2xCLFdBQVc7Z0JBQ2QsUUFBUTs7SUFqQkw7UUFBdEIsS0FBSyxDQUFDLGNBQWMsQ0FBQztpREFBaUI7SUFHZDtRQUF4QixLQUFLLENBQUMsZ0JBQWdCLENBQUM7bURBQW1CO0lBR3BCO1FBQXRCLEtBQUssQ0FBQyxjQUFjLENBQUM7aURBQWlCO0lBR2Q7UUFBeEIsS0FBSyxDQUFDLGdCQUFnQixDQUFDO21EQUFpQjtJQUd4QjtRQUFoQixLQUFLLENBQUMsUUFBUSxDQUFDO2dEQUFrQjtJQWhCdkIsYUFBYTtRQUh6QixTQUFTLENBQUM7WUFDVCxRQUFRLEVBQUUsVUFBVTtTQUNyQixDQUFDO09BQ1csYUFBYSxDQXFEekI7SUFBRCxvQkFBQztDQUFBLEFBckRELElBcURDO1NBckRZLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRlUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IERpcmVjdGl2ZSwgRW1iZWRkZWRWaWV3UmVmLCBJbnB1dCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzLCBUZW1wbGF0ZVJlZiwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUZXh0RmllbGQgfSBmcm9tICcuL3JlbmRlcmluZy1maWVsZCc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1tzY0RhdGVdJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIERhdGVEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xyXG4gIHByaXZhdGUgdmlld1JlZjogRW1iZWRkZWRWaWV3UmVmPGFueT47XHJcblxyXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1pbnB1dC1yZW5hbWVcclxuICBASW5wdXQoJ3NjRGF0ZUZvcm1hdCcpIGZvcm1hdD86IHN0cmluZztcclxuXHJcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWlucHV0LXJlbmFtZVxyXG4gIEBJbnB1dCgnc2NEYXRlVGltZXpvbmUnKSB0aW1lem9uZT86IHN0cmluZztcclxuXHJcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWlucHV0LXJlbmFtZVxyXG4gIEBJbnB1dCgnc2NEYXRlTG9jYWxlJykgbG9jYWxlPzogc3RyaW5nO1xyXG5cclxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8taW5wdXQtcmVuYW1lXHJcbiAgQElucHV0KCdzY0RhdGVFZGl0YWJsZScpIGVkaXRhYmxlID0gdHJ1ZTtcclxuXHJcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWlucHV0LXJlbmFtZVxyXG4gIEBJbnB1dCgnc2NEYXRlJykgZmllbGQ6IFRleHRGaWVsZDtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHZpZXdDb250YWluZXI6IFZpZXdDb250YWluZXJSZWYsXHJcbiAgICBwcml2YXRlIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+LFxyXG4gICAgcHJpdmF0ZSBkYXRlUGlwZTogRGF0ZVBpcGVcclxuICApIHsgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICBpZiAoY2hhbmdlc1snZmllbGQnXSB8fCBjaGFuZ2VzWydmb3JtYXQnXSkge1xyXG4gICAgICBpZiAoIXRoaXMudmlld1JlZikge1xyXG4gICAgICAgIHRoaXMudmlld0NvbnRhaW5lci5jbGVhcigpO1xyXG4gICAgICAgIHRoaXMudmlld1JlZiA9IHRoaXMudmlld0NvbnRhaW5lci5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy50ZW1wbGF0ZVJlZik7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMudXBkYXRlVmlldygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB1cGRhdGVWaWV3KCkge1xyXG4gICAgY29uc3QgZmllbGQgPSB0aGlzLmZpZWxkO1xyXG5cclxuICAgIGlmICghZmllbGQgfHwgKCFmaWVsZC5lZGl0YWJsZSAmJiAhZmllbGQudmFsdWUpKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBodG1sID0gZmllbGQuZWRpdGFibGUgJiYgdGhpcy5lZGl0YWJsZSA/IGZpZWxkLmVkaXRhYmxlIDogZmllbGQudmFsdWU7XHJcbiAgICBjb25zdCBzZXREYW5nZXJvdXNseSA9IGZpZWxkLmVkaXRhYmxlICYmIHRoaXMuZWRpdGFibGU7XHJcblxyXG4gICAgdGhpcy52aWV3UmVmLnJvb3ROb2Rlcy5mb3JFYWNoKChub2RlKSA9PiB7XHJcbiAgICAgIGlmIChzZXREYW5nZXJvdXNseSkge1xyXG4gICAgICAgIG5vZGUuaW5uZXJIVE1MID0gaHRtbDtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBub2RlLnRleHRDb250ZW50ID0gdGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0oaHRtbCwgdGhpcy5mb3JtYXQsIHRoaXMudGltZXpvbmUsIHRoaXMubG9jYWxlKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,46 +1,46 @@
|
|
|
1
|
-
import * as tslib_1 from "tslib";
|
|
2
|
-
import { Directive, EmbeddedViewRef, Input, OnChanges, SimpleChanges, TemplateRef, ViewContainerRef } from '@angular/core';
|
|
3
|
-
/**
|
|
4
|
-
* File fields cannot be managed via the EE. We never output "editable."
|
|
5
|
-
*/
|
|
6
|
-
var FileDirective = /** @class */ (function () {
|
|
7
|
-
function FileDirective(viewContainer, templateRef) {
|
|
8
|
-
this.viewContainer = viewContainer;
|
|
9
|
-
this.templateRef = templateRef;
|
|
10
|
-
}
|
|
11
|
-
FileDirective.prototype.ngOnChanges = function (changes) {
|
|
12
|
-
if (changes['field']) {
|
|
13
|
-
if (!this.viewRef) {
|
|
14
|
-
this.viewContainer.clear();
|
|
15
|
-
this.viewRef = this.viewContainer.createEmbeddedView(this.templateRef);
|
|
16
|
-
}
|
|
17
|
-
this.updateView();
|
|
18
|
-
}
|
|
19
|
-
};
|
|
20
|
-
FileDirective.prototype.updateView = function () {
|
|
21
|
-
var field = this.field;
|
|
22
|
-
if (!field || (!field.value && !field.src)) {
|
|
23
|
-
return;
|
|
24
|
-
}
|
|
25
|
-
var file = field.src ? field : field.value;
|
|
26
|
-
this.viewRef.rootNodes.forEach(function (node) {
|
|
27
|
-
node.href = file.src;
|
|
28
|
-
if (node.innerHTML === '') {
|
|
29
|
-
node.innerHTML = file.title || file.displayName;
|
|
30
|
-
}
|
|
31
|
-
});
|
|
32
|
-
};
|
|
33
|
-
FileDirective.ctorParameters = function () { return [
|
|
34
|
-
{ type: ViewContainerRef },
|
|
35
|
-
{ type: TemplateRef }
|
|
36
|
-
]; };
|
|
37
|
-
tslib_1.__decorate([
|
|
38
|
-
Input('scFile')
|
|
39
|
-
], FileDirective.prototype, "field", void 0);
|
|
40
|
-
FileDirective = tslib_1.__decorate([
|
|
41
|
-
Directive({ selector: '[scFile]' })
|
|
42
|
-
], FileDirective);
|
|
43
|
-
return FileDirective;
|
|
44
|
-
}());
|
|
45
|
-
export { FileDirective };
|
|
1
|
+
import * as tslib_1 from "tslib";
|
|
2
|
+
import { Directive, EmbeddedViewRef, Input, OnChanges, SimpleChanges, TemplateRef, ViewContainerRef } from '@angular/core';
|
|
3
|
+
/**
|
|
4
|
+
* File fields cannot be managed via the EE. We never output "editable."
|
|
5
|
+
*/
|
|
6
|
+
var FileDirective = /** @class */ (function () {
|
|
7
|
+
function FileDirective(viewContainer, templateRef) {
|
|
8
|
+
this.viewContainer = viewContainer;
|
|
9
|
+
this.templateRef = templateRef;
|
|
10
|
+
}
|
|
11
|
+
FileDirective.prototype.ngOnChanges = function (changes) {
|
|
12
|
+
if (changes['field']) {
|
|
13
|
+
if (!this.viewRef) {
|
|
14
|
+
this.viewContainer.clear();
|
|
15
|
+
this.viewRef = this.viewContainer.createEmbeddedView(this.templateRef);
|
|
16
|
+
}
|
|
17
|
+
this.updateView();
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
FileDirective.prototype.updateView = function () {
|
|
21
|
+
var field = this.field;
|
|
22
|
+
if (!field || (!field.value && !field.src)) {
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
var file = field.src ? field : field.value;
|
|
26
|
+
this.viewRef.rootNodes.forEach(function (node) {
|
|
27
|
+
node.href = file.src;
|
|
28
|
+
if (node.innerHTML === '') {
|
|
29
|
+
node.innerHTML = file.title || file.displayName;
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
};
|
|
33
|
+
FileDirective.ctorParameters = function () { return [
|
|
34
|
+
{ type: ViewContainerRef },
|
|
35
|
+
{ type: TemplateRef }
|
|
36
|
+
]; };
|
|
37
|
+
tslib_1.__decorate([
|
|
38
|
+
Input('scFile')
|
|
39
|
+
], FileDirective.prototype, "field", void 0);
|
|
40
|
+
FileDirective = tslib_1.__decorate([
|
|
41
|
+
Directive({ selector: '[scFile]' })
|
|
42
|
+
], FileDirective);
|
|
43
|
+
return FileDirective;
|
|
44
|
+
}());
|
|
45
|
+
export { FileDirective };
|
|
46
46
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2l0ZWNvcmUtanNzL3NpdGVjb3JlLWpzcy1hbmd1bGFyLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9maWxlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNIOztHQUVHO0FBRUg7SUFNRSx1QkFDVSxhQUErQixFQUMvQixXQUE2QjtRQUQ3QixrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7UUFDL0IsZ0JBQVcsR0FBWCxXQUFXLENBQWtCO0lBQ25DLENBQUM7SUFFTCxtQ0FBVyxHQUFYLFVBQVksT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDcEIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQ2pCLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQzNCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7YUFDeEU7WUFFRCxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7U0FDbkI7SUFDSCxDQUFDO0lBRU8sa0NBQVUsR0FBbEI7UUFDRSxJQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBRXpCLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDMUMsT0FBTztTQUNSO1FBRUQsSUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQzdDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxVQUFDLElBQUk7WUFDbEMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDO1lBQ3JCLElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxFQUFFLEVBQUU7Z0JBQ3pCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDO2FBQ2pEO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOztnQkE3QndCLGdCQUFnQjtnQkFDbEIsV0FBVzs7SUFKakI7UUFBaEIsS0FBSyxDQUFDLFFBQVEsQ0FBQztnREFBa0I7SUFKdkIsYUFBYTtRQUR6QixTQUFTLENBQUMsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLENBQUM7T0FDdkIsYUFBYSxDQXFDekI7SUFBRCxvQkFBQztDQUFBLEFBckNELElBcUNDO1NBckNZLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVtYmVkZGVkVmlld1JlZiwgSW5wdXQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcywgVGVtcGxhdGVSZWYsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRmlsZUZpZWxkIH0gZnJvbSAnLi9yZW5kZXJpbmctZmllbGQnO1xyXG5cclxuLyoqXHJcbiAqIEZpbGUgZmllbGRzIGNhbm5vdCBiZSBtYW5hZ2VkIHZpYSB0aGUgRUUuIFdlIG5ldmVyIG91dHB1dCBcImVkaXRhYmxlLlwiXHJcbiAqL1xyXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdbc2NGaWxlXScgfSlcclxuZXhwb3J0IGNsYXNzIEZpbGVEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xyXG4gIHByaXZhdGUgdmlld1JlZjogRW1iZWRkZWRWaWV3UmVmPGFueT47XHJcblxyXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1pbnB1dC1yZW5hbWVcclxuICBASW5wdXQoJ3NjRmlsZScpIGZpZWxkOiBGaWxlRmllbGQ7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmLFxyXG4gICAgcHJpdmF0ZSB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PixcclxuICApIHsgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBpZiAoY2hhbmdlc1snZmllbGQnXSkge1xyXG4gICAgICBpZiAoIXRoaXMudmlld1JlZikge1xyXG4gICAgICAgIHRoaXMudmlld0NvbnRhaW5lci5jbGVhcigpO1xyXG4gICAgICAgIHRoaXMudmlld1JlZiA9IHRoaXMudmlld0NvbnRhaW5lci5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy50ZW1wbGF0ZVJlZik7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMudXBkYXRlVmlldygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB1cGRhdGVWaWV3KCkge1xyXG4gICAgY29uc3QgZmllbGQgPSB0aGlzLmZpZWxkO1xyXG5cclxuICAgIGlmICghZmllbGQgfHwgKCFmaWVsZC52YWx1ZSAmJiAhZmllbGQuc3JjKSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgZmlsZSA9IGZpZWxkLnNyYyA/IGZpZWxkIDogZmllbGQudmFsdWU7XHJcbiAgICB0aGlzLnZpZXdSZWYucm9vdE5vZGVzLmZvckVhY2goKG5vZGUpID0+IHtcclxuICAgICAgbm9kZS5ocmVmID0gZmlsZS5zcmM7XHJcbiAgICAgIGlmIChub2RlLmlubmVySFRNTCA9PT0gJycpIHtcclxuICAgICAgICBub2RlLmlubmVySFRNTCA9IGZpbGUudGl0bGUgfHwgZmlsZS5kaXNwbGF5TmFtZTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,73 +1,73 @@
|
|
|
1
|
-
import * as tslib_1 from "tslib";
|
|
2
|
-
import { Directive, ElementRef, Input, Renderer2, TemplateRef, ViewContainerRef } from '@angular/core';
|
|
3
|
-
import { Router, NavigationExtras } from '@angular/router';
|
|
4
|
-
import { LinkDirective } from './link.directive';
|
|
5
|
-
var GenericLinkDirective = /** @class */ (function (_super) {
|
|
6
|
-
tslib_1.__extends(GenericLinkDirective, _super);
|
|
7
|
-
function GenericLinkDirective(viewContainer, templateRef, renderer, elementRef, router) {
|
|
8
|
-
var _this = _super.call(this, viewContainer, templateRef, renderer, elementRef) || this;
|
|
9
|
-
_this.router = router;
|
|
10
|
-
// tslint:disable-next-line:no-input-rename
|
|
11
|
-
_this.editable = true;
|
|
12
|
-
// tslint:disable-next-line:no-input-rename
|
|
13
|
-
_this.attrs = {};
|
|
14
|
-
return _this;
|
|
15
|
-
}
|
|
16
|
-
GenericLinkDirective.prototype.renderTemplate = function (props, linkText) {
|
|
17
|
-
var _this = this;
|
|
18
|
-
var viewRef = this.viewContainer.createEmbeddedView(this.templateRef);
|
|
19
|
-
viewRef.rootNodes.forEach(function (node) {
|
|
20
|
-
Object.entries(props).forEach(function (_a) {
|
|
21
|
-
var _b = tslib_1.__read(_a, 2), key = _b[0], propValue = _b[1];
|
|
22
|
-
if (key === 'href' && !_this.isAbsoluteUrl(propValue)) {
|
|
23
|
-
var urlTree = _this.router.createUrlTree([propValue], _this.extras);
|
|
24
|
-
_this.renderer.setAttribute(node, key, _this.router.serializeUrl(urlTree));
|
|
25
|
-
_this.renderer.listen(node, 'click', function (event) {
|
|
26
|
-
_this.router.navigate([propValue], _this.extras);
|
|
27
|
-
event.preventDefault();
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
|
-
else {
|
|
31
|
-
_this.renderer.setAttribute(node, key, propValue);
|
|
32
|
-
}
|
|
33
|
-
});
|
|
34
|
-
if (node.childNodes && node.childNodes.length === 0 && linkText) {
|
|
35
|
-
node.textContent = linkText;
|
|
36
|
-
}
|
|
37
|
-
});
|
|
38
|
-
};
|
|
39
|
-
GenericLinkDirective.prototype.isAbsoluteUrl = function (url) {
|
|
40
|
-
if (url == null) {
|
|
41
|
-
return false;
|
|
42
|
-
}
|
|
43
|
-
if (typeof url !== 'string') {
|
|
44
|
-
throw new TypeError('Expected a string');
|
|
45
|
-
}
|
|
46
|
-
return /^[a-z][a-z0-9+.-]*:/.test(url);
|
|
47
|
-
};
|
|
48
|
-
GenericLinkDirective.ctorParameters = function () { return [
|
|
49
|
-
{ type: ViewContainerRef },
|
|
50
|
-
{ type: TemplateRef },
|
|
51
|
-
{ type: Renderer2 },
|
|
52
|
-
{ type: ElementRef },
|
|
53
|
-
{ type: Router }
|
|
54
|
-
]; };
|
|
55
|
-
tslib_1.__decorate([
|
|
56
|
-
Input('scGenericLinkEditable')
|
|
57
|
-
], GenericLinkDirective.prototype, "editable", void 0);
|
|
58
|
-
tslib_1.__decorate([
|
|
59
|
-
Input('scGenericLinkAttrs')
|
|
60
|
-
], GenericLinkDirective.prototype, "attrs", void 0);
|
|
61
|
-
tslib_1.__decorate([
|
|
62
|
-
Input('scGenericLink')
|
|
63
|
-
], GenericLinkDirective.prototype, "field", void 0);
|
|
64
|
-
tslib_1.__decorate([
|
|
65
|
-
Input('scGenericLinkExtras')
|
|
66
|
-
], GenericLinkDirective.prototype, "extras", void 0);
|
|
67
|
-
GenericLinkDirective = tslib_1.__decorate([
|
|
68
|
-
Directive({ selector: '[scGenericLink]' })
|
|
69
|
-
], GenericLinkDirective);
|
|
70
|
-
return GenericLinkDirective;
|
|
71
|
-
}(LinkDirective));
|
|
72
|
-
export { GenericLinkDirective };
|
|
1
|
+
import * as tslib_1 from "tslib";
|
|
2
|
+
import { Directive, ElementRef, Input, Renderer2, TemplateRef, ViewContainerRef } from '@angular/core';
|
|
3
|
+
import { Router, NavigationExtras } from '@angular/router';
|
|
4
|
+
import { LinkDirective } from './link.directive';
|
|
5
|
+
var GenericLinkDirective = /** @class */ (function (_super) {
|
|
6
|
+
tslib_1.__extends(GenericLinkDirective, _super);
|
|
7
|
+
function GenericLinkDirective(viewContainer, templateRef, renderer, elementRef, router) {
|
|
8
|
+
var _this = _super.call(this, viewContainer, templateRef, renderer, elementRef) || this;
|
|
9
|
+
_this.router = router;
|
|
10
|
+
// tslint:disable-next-line:no-input-rename
|
|
11
|
+
_this.editable = true;
|
|
12
|
+
// tslint:disable-next-line:no-input-rename
|
|
13
|
+
_this.attrs = {};
|
|
14
|
+
return _this;
|
|
15
|
+
}
|
|
16
|
+
GenericLinkDirective.prototype.renderTemplate = function (props, linkText) {
|
|
17
|
+
var _this = this;
|
|
18
|
+
var viewRef = this.viewContainer.createEmbeddedView(this.templateRef);
|
|
19
|
+
viewRef.rootNodes.forEach(function (node) {
|
|
20
|
+
Object.entries(props).forEach(function (_a) {
|
|
21
|
+
var _b = tslib_1.__read(_a, 2), key = _b[0], propValue = _b[1];
|
|
22
|
+
if (key === 'href' && !_this.isAbsoluteUrl(propValue)) {
|
|
23
|
+
var urlTree = _this.router.createUrlTree([propValue], _this.extras);
|
|
24
|
+
_this.renderer.setAttribute(node, key, _this.router.serializeUrl(urlTree));
|
|
25
|
+
_this.renderer.listen(node, 'click', function (event) {
|
|
26
|
+
_this.router.navigate([propValue], _this.extras);
|
|
27
|
+
event.preventDefault();
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
_this.renderer.setAttribute(node, key, propValue);
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
if (node.childNodes && node.childNodes.length === 0 && linkText) {
|
|
35
|
+
node.textContent = linkText;
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
};
|
|
39
|
+
GenericLinkDirective.prototype.isAbsoluteUrl = function (url) {
|
|
40
|
+
if (url == null) {
|
|
41
|
+
return false;
|
|
42
|
+
}
|
|
43
|
+
if (typeof url !== 'string') {
|
|
44
|
+
throw new TypeError('Expected a string');
|
|
45
|
+
}
|
|
46
|
+
return /^[a-z][a-z0-9+.-]*:/.test(url);
|
|
47
|
+
};
|
|
48
|
+
GenericLinkDirective.ctorParameters = function () { return [
|
|
49
|
+
{ type: ViewContainerRef },
|
|
50
|
+
{ type: TemplateRef },
|
|
51
|
+
{ type: Renderer2 },
|
|
52
|
+
{ type: ElementRef },
|
|
53
|
+
{ type: Router }
|
|
54
|
+
]; };
|
|
55
|
+
tslib_1.__decorate([
|
|
56
|
+
Input('scGenericLinkEditable')
|
|
57
|
+
], GenericLinkDirective.prototype, "editable", void 0);
|
|
58
|
+
tslib_1.__decorate([
|
|
59
|
+
Input('scGenericLinkAttrs')
|
|
60
|
+
], GenericLinkDirective.prototype, "attrs", void 0);
|
|
61
|
+
tslib_1.__decorate([
|
|
62
|
+
Input('scGenericLink')
|
|
63
|
+
], GenericLinkDirective.prototype, "field", void 0);
|
|
64
|
+
tslib_1.__decorate([
|
|
65
|
+
Input('scGenericLinkExtras')
|
|
66
|
+
], GenericLinkDirective.prototype, "extras", void 0);
|
|
67
|
+
GenericLinkDirective = tslib_1.__decorate([
|
|
68
|
+
Directive({ selector: '[scGenericLink]' })
|
|
69
|
+
], GenericLinkDirective);
|
|
70
|
+
return GenericLinkDirective;
|
|
71
|
+
}(LinkDirective));
|
|
72
|
+
export { GenericLinkDirective };
|
|
73
73
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJpYy1saW5rLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzaXRlY29yZS1qc3Mvc2l0ZWNvcmUtanNzLWFuZ3VsYXIvIiwic291cmNlcyI6WyJjb21wb25lbnRzL2dlbmVyaWMtbGluay5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSxNQUFNLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFJakQ7SUFBMEMsZ0RBQWE7SUFjckQsOEJBQ0UsYUFBK0IsRUFDL0IsV0FBNkIsRUFDN0IsUUFBbUIsRUFDbkIsVUFBc0IsRUFDZCxNQUFjO1FBTHhCLFlBT0Usa0JBQU0sYUFBYSxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsVUFBVSxDQUFDLFNBQ3hEO1FBSFMsWUFBTSxHQUFOLE1BQU0sQ0FBUTtRQWpCeEIsMkNBQTJDO1FBQ1gsY0FBUSxHQUFHLElBQUksQ0FBQztRQUVoRCwyQ0FBMkM7UUFDZCxXQUFLLEdBQVEsRUFBRSxDQUFDOztJQWdCN0MsQ0FBQztJQUVTLDZDQUFjLEdBQXhCLFVBQXlCLEtBQVUsRUFBRSxRQUFnQjtRQUFyRCxpQkFxQkM7UUFwQkMsSUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFeEUsT0FBTyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsVUFBQyxJQUFJO1lBQzdCLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQUMsRUFBK0I7b0JBQS9CLDBCQUErQixFQUE5QixXQUFHLEVBQUUsaUJBQVM7Z0JBQzVDLElBQUksR0FBRyxLQUFLLE1BQU0sSUFBSSxDQUFDLEtBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLEVBQUU7b0JBQ3BELElBQU0sT0FBTyxHQUFHLEtBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUUsS0FBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUNwRSxLQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLEtBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7b0JBQ3pFLEtBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsVUFBQyxLQUFLO3dCQUN4QyxLQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFLEtBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQzt3QkFDL0MsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO29CQUN6QixDQUFDLENBQUMsQ0FBQztpQkFDSjtxQkFBTTtvQkFDTCxLQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLFNBQVMsQ0FBQyxDQUFDO2lCQUNsRDtZQUNILENBQUMsQ0FBQyxDQUFDO1lBRUgsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxRQUFRLEVBQUU7Z0JBQy9ELElBQUksQ0FBQyxXQUFXLEdBQUcsUUFBUSxDQUFDO2FBQzdCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sNENBQWEsR0FBckIsVUFBc0IsR0FBWTtRQUNoQyxJQUFJLEdBQUcsSUFBSSxJQUFJLEVBQUU7WUFDZixPQUFPLEtBQUssQ0FBQztTQUNkO1FBQ0QsSUFBSSxPQUFPLEdBQUcsS0FBSyxRQUFRLEVBQUU7WUFDM0IsTUFBTSxJQUFJLFNBQVMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1NBQzFDO1FBRUQsT0FBTyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDekMsQ0FBQzs7Z0JBekNnQixnQkFBZ0I7Z0JBQ2xCLFdBQVc7Z0JBQ2QsU0FBUztnQkFDUCxVQUFVO2dCQUNOLE1BQU07O0lBaEJRO1FBQS9CLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQzswREFBaUI7SUFHbkI7UUFBNUIsS0FBSyxDQUFDLG9CQUFvQixDQUFDO3VEQUFpQjtJQUdyQjtRQUF2QixLQUFLLENBQUMsZUFBZSxDQUFDO3VEQUFrQjtJQUdYO1FBQTdCLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQzt3REFBMkI7SUFaN0Msb0JBQW9CO1FBRGhDLFNBQVMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxpQkFBaUIsRUFBRSxDQUFDO09BQzlCLG9CQUFvQixDQXlEaEM7SUFBRCwyQkFBQztDQUFBLEFBekRELENBQTBDLGFBQWEsR0F5RHREO1NBekRZLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQsIFJlbmRlcmVyMiwgVGVtcGxhdGVSZWYsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUm91dGVyLCBOYXZpZ2F0aW9uRXh0cmFzIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgTGlua0RpcmVjdGl2ZSB9IGZyb20gJy4vbGluay5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBMaW5rRmllbGQgfSBmcm9tICcuL3JlbmRlcmluZy1maWVsZCc7XHJcblxyXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdbc2NHZW5lcmljTGlua10nIH0pXHJcbmV4cG9ydCBjbGFzcyBHZW5lcmljTGlua0RpcmVjdGl2ZSBleHRlbmRzIExpbmtEaXJlY3RpdmUge1xyXG5cclxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8taW5wdXQtcmVuYW1lXHJcbiAgQElucHV0KCdzY0dlbmVyaWNMaW5rRWRpdGFibGUnKSBlZGl0YWJsZSA9IHRydWU7XHJcblxyXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1pbnB1dC1yZW5hbWVcclxuICBASW5wdXQoJ3NjR2VuZXJpY0xpbmtBdHRycycpIGF0dHJzOiBhbnkgPSB7fTtcclxuXHJcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWlucHV0LXJlbmFtZVxyXG4gIEBJbnB1dCgnc2NHZW5lcmljTGluaycpIGZpZWxkOiBMaW5rRmllbGQ7XHJcblxyXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1pbnB1dC1yZW5hbWVcclxuICBASW5wdXQoJ3NjR2VuZXJpY0xpbmtFeHRyYXMnKSBleHRyYXM/OiBOYXZpZ2F0aW9uRXh0cmFzO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHZpZXdDb250YWluZXI6IFZpZXdDb250YWluZXJSZWYsXHJcbiAgICB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PixcclxuICAgIHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxyXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlclxyXG4gICkge1xyXG4gICAgc3VwZXIodmlld0NvbnRhaW5lciwgdGVtcGxhdGVSZWYsIHJlbmRlcmVyLCBlbGVtZW50UmVmKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCByZW5kZXJUZW1wbGF0ZShwcm9wczogYW55LCBsaW5rVGV4dDogc3RyaW5nKSB7XHJcbiAgICBjb25zdCB2aWV3UmVmID0gdGhpcy52aWV3Q29udGFpbmVyLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLnRlbXBsYXRlUmVmKTtcclxuXHJcbiAgICB2aWV3UmVmLnJvb3ROb2Rlcy5mb3JFYWNoKChub2RlKSA9PiB7XHJcbiAgICAgIE9iamVjdC5lbnRyaWVzKHByb3BzKS5mb3JFYWNoKChba2V5LCBwcm9wVmFsdWVdOiBbc3RyaW5nLCBhbnldKSA9PiB7XHJcbiAgICAgICAgaWYgKGtleSA9PT0gJ2hyZWYnICYmICF0aGlzLmlzQWJzb2x1dGVVcmwocHJvcFZhbHVlKSkge1xyXG4gICAgICAgICAgY29uc3QgdXJsVHJlZSA9IHRoaXMucm91dGVyLmNyZWF0ZVVybFRyZWUoW3Byb3BWYWx1ZV0sIHRoaXMuZXh0cmFzKTtcclxuICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKG5vZGUsIGtleSwgdGhpcy5yb3V0ZXIuc2VyaWFsaXplVXJsKHVybFRyZWUpKTtcclxuICAgICAgICAgIHRoaXMucmVuZGVyZXIubGlzdGVuKG5vZGUsICdjbGljaycsIChldmVudCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbcHJvcFZhbHVlXSwgdGhpcy5leHRyYXMpO1xyXG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKG5vZGUsIGtleSwgcHJvcFZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgaWYgKG5vZGUuY2hpbGROb2RlcyAmJiBub2RlLmNoaWxkTm9kZXMubGVuZ3RoID09PSAwICYmIGxpbmtUZXh0KSB7XHJcbiAgICAgICAgbm9kZS50ZXh0Q29udGVudCA9IGxpbmtUZXh0O1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaXNBYnNvbHV0ZVVybCh1cmw/OiBzdHJpbmcpIHtcclxuICAgIGlmICh1cmwgPT0gbnVsbCkge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgICBpZiAodHlwZW9mIHVybCAhPT0gJ3N0cmluZycpIHtcclxuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignRXhwZWN0ZWQgYSBzdHJpbmcnKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gL15bYS16XVthLXowLTkrLi1dKjovLnRlc3QodXJsKTtcclxuICB9XHJcbn1cclxuIl19
|