@sitecore-jss/sitecore-jss-angular 21.6.2-canary.2 → 21.6.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 +7 -7
- package/angular.json +48 -48
- package/dist/README.md +7 -7
- package/dist/components/data-resolver-factory.d.ts +13 -13
- package/dist/components/date.directive.d.ts +20 -20
- package/dist/components/editframe.component.d.ts +22 -22
- package/dist/components/file.directive.d.ts +17 -17
- package/dist/components/generic-link.directive.d.ts +20 -20
- package/dist/components/guard-resolver-factory.d.ts +11 -11
- package/dist/components/hidden-rendering.component.d.ts +7 -7
- package/dist/components/image.directive.d.ts +35 -35
- package/dist/components/link.directive.d.ts +26 -26
- package/dist/components/missing-component.component.d.ts +7 -7
- package/dist/components/placeholder-loading.directive.d.ts +8 -8
- package/dist/components/placeholder.component.d.ts +59 -59
- package/dist/components/placeholder.token.d.ts +64 -64
- package/dist/components/raw.component.d.ts +12 -12
- package/dist/components/render-component.component.d.ts +33 -33
- package/dist/components/render-each.directive.d.ts +8 -8
- package/dist/components/render-empty.directive.d.ts +8 -8
- package/dist/components/rendering-field.d.ts +41 -41
- package/dist/components/rendering.d.ts +5 -5
- package/dist/components/rich-text.directive.d.ts +18 -18
- package/dist/components/router-link.directive.d.ts +19 -19
- package/dist/components/text.directive.d.ts +16 -16
- package/dist/esm2022/components/data-resolver-factory.mjs +58 -58
- package/dist/esm2022/components/date.directive.mjs +67 -67
- package/dist/esm2022/components/editframe.component.mjs +70 -70
- package/dist/esm2022/components/file.directive.mjs +48 -48
- package/dist/esm2022/components/generic-link.directive.mjs +67 -67
- package/dist/esm2022/components/guard-resolver-factory.mjs +85 -85
- package/dist/esm2022/components/hidden-rendering.component.mjs +20 -20
- package/dist/esm2022/components/image.directive.mjs +150 -150
- package/dist/esm2022/components/link.directive.mjs +122 -122
- package/dist/esm2022/components/missing-component.component.mjs +16 -16
- package/dist/esm2022/components/placeholder-loading.directive.mjs +16 -16
- package/dist/esm2022/components/placeholder.component.mjs +271 -271
- package/dist/esm2022/components/placeholder.token.mjs +27 -27
- package/dist/esm2022/components/raw.component.mjs +38 -38
- package/dist/esm2022/components/render-component.component.mjs +98 -98
- package/dist/esm2022/components/render-each.directive.mjs +16 -16
- package/dist/esm2022/components/render-empty.directive.mjs +16 -16
- package/dist/esm2022/components/rendering-field.mjs +1 -1
- package/dist/esm2022/components/rendering.mjs +7 -7
- package/dist/esm2022/components/rich-text.directive.mjs +68 -68
- package/dist/esm2022/components/router-link.directive.mjs +49 -49
- package/dist/esm2022/components/text.directive.mjs +61 -61
- package/dist/esm2022/jss-component-factory.service.mjs +87 -87
- package/dist/esm2022/lib.module.mjs +160 -160
- package/dist/esm2022/public_api.mjs +24 -24
- package/dist/esm2022/sitecore-jss-sitecore-jss-angular.mjs +4 -4
- package/dist/esm2022/utils.mjs +16 -16
- package/dist/fesm2022/sitecore-jss-sitecore-jss-angular.mjs +1507 -1507
- package/dist/index.d.ts +5 -5
- package/dist/jss-component-factory.service.d.ts +25 -25
- package/dist/lib.module.d.ts +46 -46
- package/dist/package.json +2 -2
- package/dist/public_api.d.ts +25 -25
- package/dist/utils.d.ts +6 -6
- package/ng-package.json +13 -13
- package/package.json +3 -3
- package/tsconfig.json +9 -9
- package/tsconfig.spec.json +17 -17
- package/typings/README.md +2 -2
|
@@ -1,28 +1,28 @@
|
|
|
1
|
-
import { InjectionToken } from '@angular/core';
|
|
2
|
-
/** Registers a statically loaded component */
|
|
3
|
-
export class ComponentNameAndType {
|
|
4
|
-
name;
|
|
5
|
-
type;
|
|
6
|
-
canActivate;
|
|
7
|
-
resolve;
|
|
8
|
-
}
|
|
9
|
-
/**
|
|
10
|
-
* @param {unknown} object
|
|
11
|
-
*/
|
|
12
|
-
export function instanceOfComponentNameAndType(object) {
|
|
13
|
-
return typeof object === 'object' && object !== null && 'type' in object;
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* @param {unknown} object
|
|
17
|
-
*/
|
|
18
|
-
export function instanceOfComponentNameAndModule(object) {
|
|
19
|
-
return typeof object === 'object' && object !== null && 'module' in object;
|
|
20
|
-
}
|
|
21
|
-
export const PLACEHOLDER_COMPONENTS = new InjectionToken('Sc.placeholder.components');
|
|
22
|
-
export const PLACEHOLDER_LAZY_COMPONENTS = new InjectionToken('Sc.placeholder.lazyComponents');
|
|
23
|
-
export const PLACEHOLDER_MISSING_COMPONENT_COMPONENT = new InjectionToken('Sc.placeholder.missingComponentComponent');
|
|
24
|
-
export const PLACEHOLDER_HIDDEN_RENDERING_COMPONENT = new InjectionToken('Sc.placeholder.hiddenRenderingComponent');
|
|
25
|
-
export const DYNAMIC_COMPONENT = new InjectionToken('Sc.placeholder.dynamicComponent');
|
|
26
|
-
export const GUARD_RESOLVER = new InjectionToken('Sc.placeholder.guardResolver');
|
|
27
|
-
export const DATA_RESOLVER = new InjectionToken('Sc.placeholder.dataResolver');
|
|
1
|
+
import { InjectionToken } from '@angular/core';
|
|
2
|
+
/** Registers a statically loaded component */
|
|
3
|
+
export class ComponentNameAndType {
|
|
4
|
+
name;
|
|
5
|
+
type;
|
|
6
|
+
canActivate;
|
|
7
|
+
resolve;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* @param {unknown} object
|
|
11
|
+
*/
|
|
12
|
+
export function instanceOfComponentNameAndType(object) {
|
|
13
|
+
return typeof object === 'object' && object !== null && 'type' in object;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* @param {unknown} object
|
|
17
|
+
*/
|
|
18
|
+
export function instanceOfComponentNameAndModule(object) {
|
|
19
|
+
return typeof object === 'object' && object !== null && 'module' in object;
|
|
20
|
+
}
|
|
21
|
+
export const PLACEHOLDER_COMPONENTS = new InjectionToken('Sc.placeholder.components');
|
|
22
|
+
export const PLACEHOLDER_LAZY_COMPONENTS = new InjectionToken('Sc.placeholder.lazyComponents');
|
|
23
|
+
export const PLACEHOLDER_MISSING_COMPONENT_COMPONENT = new InjectionToken('Sc.placeholder.missingComponentComponent');
|
|
24
|
+
export const PLACEHOLDER_HIDDEN_RENDERING_COMPONENT = new InjectionToken('Sc.placeholder.hiddenRenderingComponent');
|
|
25
|
+
export const DYNAMIC_COMPONENT = new InjectionToken('Sc.placeholder.dynamicComponent');
|
|
26
|
+
export const GUARD_RESOLVER = new InjectionToken('Sc.placeholder.guardResolver');
|
|
27
|
+
export const DATA_RESOLVER = new InjectionToken('Sc.placeholder.dataResolver');
|
|
28
28
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2Vob2xkZXIudG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9wbGFjZWhvbGRlci50b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFRLE1BQU0sZUFBZSxDQUFDO0FBTXJELDhDQUE4QztBQUM5QyxNQUFNLE9BQU8sb0JBQW9CO0lBQy9CLElBQUksQ0FBUztJQUNiLElBQUksQ0FBZ0I7SUFFcEIsV0FBVyxDQUl5RDtJQUNwRSxPQUFPLENBQXNFO0NBQzlFO0FBbUJEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLDhCQUE4QixDQUFDLE1BQWU7SUFDNUQsT0FBTyxPQUFPLE1BQU0sS0FBSyxRQUFRLElBQUksTUFBTSxLQUFLLElBQUksSUFBSSxNQUFNLElBQUksTUFBTSxDQUFDO0FBQzNFLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sVUFBVSxnQ0FBZ0MsQ0FDOUMsTUFBZTtJQUVmLE9BQU8sT0FBTyxNQUFNLEtBQUssUUFBUSxJQUFJLE1BQU0sS0FBSyxJQUFJLElBQUksUUFBUSxJQUFJLE1BQU0sQ0FBQztBQUM3RSxDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsSUFBSSxjQUFjLENBQ3RELDJCQUEyQixDQUM1QixDQUFDO0FBQ0YsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQUcsSUFBSSxjQUFjLENBQzNELCtCQUErQixDQUNoQyxDQUFDO0FBQ0YsTUFBTSxDQUFDLE1BQU0sdUNBQXVDLEdBQUcsSUFBSSxjQUFjLENBQ3ZFLDBDQUEwQyxDQUMzQyxDQUFDO0FBQ0YsTUFBTSxDQUFDLE1BQU0sc0NBQXNDLEdBQUcsSUFBSSxjQUFjLENBQ3RFLHlDQUF5QyxDQUMxQyxDQUFDO0FBQ0YsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxjQUFjLENBQ2pELGlDQUFpQyxDQUNsQyxDQUFDO0FBSUYsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLElBQUksY0FBYyxDQUFnQiw4QkFBOEIsQ0FBQyxDQUFDO0FBTWhHLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxJQUFJLGNBQWMsQ0FBZSw2QkFBNkIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4sIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgRGF0YSwgUm91dGVyU3RhdGVTbmFwc2hvdCwgVXJsVHJlZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQ29tcG9uZW50RmFjdG9yeVJlc3VsdCB9IGZyb20gJy4uL2pzcy1jb21wb25lbnQtZmFjdG9yeS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ29tcG9uZW50UmVuZGVyaW5nIH0gZnJvbSAnLi4vcHVibGljX2FwaSc7XHJcblxyXG4vKiogUmVnaXN0ZXJzIGEgc3RhdGljYWxseSBsb2FkZWQgY29tcG9uZW50ICovXHJcbmV4cG9ydCBjbGFzcyBDb21wb25lbnROYW1lQW5kVHlwZSB7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIHR5cGU6IFR5cGU8dW5rbm93bj47XHJcblxyXG4gIGNhbkFjdGl2YXRlPzpcclxuICAgIHwgSnNzQ2FuQWN0aXZhdGVcclxuICAgIHwgVHlwZTxKc3NDYW5BY3RpdmF0ZT5cclxuICAgIHwgSnNzQ2FuQWN0aXZhdGVGblxyXG4gICAgfCBBcnJheTxKc3NDYW5BY3RpdmF0ZSB8IEpzc0NhbkFjdGl2YXRlRm4gfCBUeXBlPEpzc0NhbkFjdGl2YXRlPj47XHJcbiAgcmVzb2x2ZT86IHsgW2tleTogc3RyaW5nXTogSnNzUmVzb2x2ZTx1bmtub3duPiB8IFR5cGU8SnNzUmVzb2x2ZTx1bmtub3duPj4gfTtcclxufVxyXG5cclxuLyoqIFJlZ2lzdGVycyBhIGxhemlseSBsb2FkZWQgY29tcG9uZW50IGJ5IG5hbWUgYW5kIG1vZHVsZSB0byBsYXp5IGxvYWQgd2hlbiBpdCdzIG5lZWRlZCAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIENvbXBvbmVudE5hbWVBbmRNb2R1bGUge1xyXG4gIC8qKiBOYW1lIG9mIHRoZSBjb21wb25lbnQgKi9cclxuICBwYXRoOiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogRHluYW1pYyBpbXBvcnQgb2YgdGhlIGNvbXBvbmVudCxcclxuICAgKiBlLmcuICgpID0+IGltcG9ydCgnLi9wYXRoL3RvL2xhenlsb2FkZWRjb21wb25lbnQubW9kdWxlJykudGhlbihtID0+IG0uTGF6eUxvYWRlZENvbXBvbmVudE1vZHVsZUV4cG9ydE5hbWUpXHJcbiAgICovXHJcbiAgbG9hZENoaWxkcmVuOiAoKSA9PiBQcm9taXNlPFR5cGU8dW5rbm93bj4+O1xyXG4gIGNhbkFjdGl2YXRlPzpcclxuICAgIHwgSnNzQ2FuQWN0aXZhdGVcclxuICAgIHwgSnNzQ2FuQWN0aXZhdGVGblxyXG4gICAgfCBUeXBlPEpzc0NhbkFjdGl2YXRlPlxyXG4gICAgfCBBcnJheTxKc3NDYW5BY3RpdmF0ZSB8IEpzc0NhbkFjdGl2YXRlRm4gfCBUeXBlPEpzc0NhbkFjdGl2YXRlPj47XHJcbiAgcmVzb2x2ZT86IHsgW2tleTogc3RyaW5nXTogSnNzUmVzb2x2ZTx1bmtub3duPiB8IFR5cGU8SnNzUmVzb2x2ZTx1bmtub3duPj4gfTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEBwYXJhbSB7dW5rbm93bn0gb2JqZWN0XHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gaW5zdGFuY2VPZkNvbXBvbmVudE5hbWVBbmRUeXBlKG9iamVjdDogdW5rbm93bik6IG9iamVjdCBpcyBDb21wb25lbnROYW1lQW5kVHlwZSB7XHJcbiAgcmV0dXJuIHR5cGVvZiBvYmplY3QgPT09ICdvYmplY3QnICYmIG9iamVjdCAhPT0gbnVsbCAmJiAndHlwZScgaW4gb2JqZWN0O1xyXG59XHJcblxyXG4vKipcclxuICogQHBhcmFtIHt1bmtub3dufSBvYmplY3RcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBpbnN0YW5jZU9mQ29tcG9uZW50TmFtZUFuZE1vZHVsZShcclxuICBvYmplY3Q6IHVua25vd25cclxuKTogb2JqZWN0IGlzIENvbXBvbmVudE5hbWVBbmRNb2R1bGUge1xyXG4gIHJldHVybiB0eXBlb2Ygb2JqZWN0ID09PSAnb2JqZWN0JyAmJiBvYmplY3QgIT09IG51bGwgJiYgJ21vZHVsZScgaW4gb2JqZWN0O1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgUExBQ0VIT0xERVJfQ09NUE9ORU5UUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxDb21wb25lbnROYW1lQW5kVHlwZVtdPihcclxuICAnU2MucGxhY2Vob2xkZXIuY29tcG9uZW50cydcclxuKTtcclxuZXhwb3J0IGNvbnN0IFBMQUNFSE9MREVSX0xBWllfQ09NUE9ORU5UUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxDb21wb25lbnROYW1lQW5kVHlwZVtdPihcclxuICAnU2MucGxhY2Vob2xkZXIubGF6eUNvbXBvbmVudHMnXHJcbik7XHJcbmV4cG9ydCBjb25zdCBQTEFDRUhPTERFUl9NSVNTSU5HX0NPTVBPTkVOVF9DT01QT05FTlQgPSBuZXcgSW5qZWN0aW9uVG9rZW48VHlwZTx1bmtub3duPj4oXHJcbiAgJ1NjLnBsYWNlaG9sZGVyLm1pc3NpbmdDb21wb25lbnRDb21wb25lbnQnXHJcbik7XHJcbmV4cG9ydCBjb25zdCBQTEFDRUhPTERFUl9ISURERU5fUkVOREVSSU5HX0NPTVBPTkVOVCA9IG5ldyBJbmplY3Rpb25Ub2tlbjxUeXBlPHVua25vd24+PihcclxuICAnU2MucGxhY2Vob2xkZXIuaGlkZGVuUmVuZGVyaW5nQ29tcG9uZW50J1xyXG4pO1xyXG5leHBvcnQgY29uc3QgRFlOQU1JQ19DT01QT05FTlQgPSBuZXcgSW5qZWN0aW9uVG9rZW48VHlwZTx1bmtub3duPiB8IHsgW3M6IHN0cmluZ106IHVua25vd24gfT4oXHJcbiAgJ1NjLnBsYWNlaG9sZGVyLmR5bmFtaWNDb21wb25lbnQnXHJcbik7XHJcblxyXG5leHBvcnQgdHlwZSBHdWFyZFJlc29sdmVyID0gKHJlc3VsdDogQ29tcG9uZW50RmFjdG9yeVJlc3VsdFtdKSA9PiBQcm9taXNlPENvbXBvbmVudEZhY3RvcnlSZXN1bHRbXT47XHJcblxyXG5leHBvcnQgY29uc3QgR1VBUkRfUkVTT0xWRVIgPSBuZXcgSW5qZWN0aW9uVG9rZW48R3VhcmRSZXNvbHZlcj4oJ1NjLnBsYWNlaG9sZGVyLmd1YXJkUmVzb2x2ZXInKTtcclxuXHJcbmV4cG9ydCB0eXBlIERhdGFSZXNvbHZlciA9IChcclxuICByZXN1bHQ6IENvbXBvbmVudEZhY3RvcnlSZXN1bHRbXVxyXG4pID0+IFByb21pc2U8QXJyYXk8eyBmYWN0b3J5OiBDb21wb25lbnRGYWN0b3J5UmVzdWx0OyBkYXRhOiBEYXRhIH0+PjtcclxuXHJcbmV4cG9ydCBjb25zdCBEQVRBX1JFU09MVkVSID0gbmV3IEluamVjdGlvblRva2VuPERhdGFSZXNvbHZlcj4oJ1NjLnBsYWNlaG9sZGVyLmRhdGFSZXNvbHZlcicpO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBHdWFyZElucHV0IHtcclxuICBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdDtcclxuICByb3V0ZXJTdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdDtcclxuICByZW5kZXJpbmc6IENvbXBvbmVudFJlbmRlcmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBKc3NDYW5BY3RpdmF0ZUZuIHtcclxuICAoaW5wdXQ6IEd1YXJkSW5wdXQpOlxyXG4gICAgfCBPYnNlcnZhYmxlPGJvb2xlYW4gfCBVcmxUcmVlIHwgc3RyaW5nIHwgc3RyaW5nW10+XHJcbiAgICB8IFByb21pc2U8Ym9vbGVhbiB8IFVybFRyZWUgfCBzdHJpbmcgfCBzdHJpbmdbXT5cclxuICAgIHwgYm9vbGVhblxyXG4gICAgfCBVcmxUcmVlXHJcbiAgICB8IHN0cmluZ1xyXG4gICAgfCBzdHJpbmdbXTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBKc3NDYW5BY3RpdmF0ZSB7XHJcbiAgY2FuQWN0aXZhdGU6IEpzc0NhbkFjdGl2YXRlRm47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSnNzUmVzb2x2ZTxUPiB7XHJcbiAgcmVzb2x2ZShpbnB1dDogR3VhcmRJbnB1dCk6IE9ic2VydmFibGU8VD4gfCBQcm9taXNlPFQ+IHwgVDtcclxufVxyXG4iXX0=
|
|
@@ -1,39 +1,39 @@
|
|
|
1
|
-
import { Component, Input } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class RawComponent {
|
|
4
|
-
renderer;
|
|
5
|
-
elementRef;
|
|
6
|
-
rendering;
|
|
7
|
-
constructor(renderer, elementRef) {
|
|
8
|
-
this.renderer = renderer;
|
|
9
|
-
this.elementRef = elementRef;
|
|
10
|
-
}
|
|
11
|
-
ngOnInit() {
|
|
12
|
-
const el = this.renderer.createElement(this.rendering.name);
|
|
13
|
-
const contents = this.renderer.createText(this.rendering.contents || '');
|
|
14
|
-
const attributes = this.rendering.attributes;
|
|
15
|
-
for (const attr in attributes) {
|
|
16
|
-
// eslint-disable-next-line no-prototype-builtins
|
|
17
|
-
if (attributes.hasOwnProperty(attr)) {
|
|
18
|
-
const value = attributes[attr];
|
|
19
|
-
this.renderer.setAttribute(el, attr, value || '');
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
this.renderer.appendChild(el, contents);
|
|
23
|
-
const parentNode = this.renderer.parentNode(this.elementRef.nativeElement);
|
|
24
|
-
this.renderer.insertBefore(parentNode, el, this.elementRef.nativeElement);
|
|
25
|
-
parentNode.removeChild(this.elementRef.nativeElement);
|
|
26
|
-
}
|
|
27
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RawComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
28
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: RawComponent, selector: "sc-raw", inputs: { rendering: "rendering" }, ngImport: i0, template: '', isInline: true });
|
|
29
|
-
}
|
|
30
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RawComponent, decorators: [{
|
|
31
|
-
type: Component,
|
|
32
|
-
args: [{
|
|
33
|
-
selector: 'sc-raw',
|
|
34
|
-
template: '',
|
|
35
|
-
}]
|
|
36
|
-
}], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }]; }, propDecorators: { rendering: [{
|
|
37
|
-
type: Input
|
|
38
|
-
}] } });
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class RawComponent {
|
|
4
|
+
renderer;
|
|
5
|
+
elementRef;
|
|
6
|
+
rendering;
|
|
7
|
+
constructor(renderer, elementRef) {
|
|
8
|
+
this.renderer = renderer;
|
|
9
|
+
this.elementRef = elementRef;
|
|
10
|
+
}
|
|
11
|
+
ngOnInit() {
|
|
12
|
+
const el = this.renderer.createElement(this.rendering.name);
|
|
13
|
+
const contents = this.renderer.createText(this.rendering.contents || '');
|
|
14
|
+
const attributes = this.rendering.attributes;
|
|
15
|
+
for (const attr in attributes) {
|
|
16
|
+
// eslint-disable-next-line no-prototype-builtins
|
|
17
|
+
if (attributes.hasOwnProperty(attr)) {
|
|
18
|
+
const value = attributes[attr];
|
|
19
|
+
this.renderer.setAttribute(el, attr, value || '');
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
this.renderer.appendChild(el, contents);
|
|
23
|
+
const parentNode = this.renderer.parentNode(this.elementRef.nativeElement);
|
|
24
|
+
this.renderer.insertBefore(parentNode, el, this.elementRef.nativeElement);
|
|
25
|
+
parentNode.removeChild(this.elementRef.nativeElement);
|
|
26
|
+
}
|
|
27
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RawComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
28
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: RawComponent, selector: "sc-raw", inputs: { rendering: "rendering" }, ngImport: i0, template: '', isInline: true });
|
|
29
|
+
}
|
|
30
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RawComponent, decorators: [{
|
|
31
|
+
type: Component,
|
|
32
|
+
args: [{
|
|
33
|
+
selector: 'sc-raw',
|
|
34
|
+
template: '',
|
|
35
|
+
}]
|
|
36
|
+
}], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }]; }, propDecorators: { rendering: [{
|
|
37
|
+
type: Input
|
|
38
|
+
}] } });
|
|
39
39
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmF3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3Jhdy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQXFCLE1BQU0sZUFBZSxDQUFDOztBQU9oRixNQUFNLE9BQU8sWUFBWTtJQUdIO0lBQTZCO0lBRnhDLFNBQVMsQ0FBdUI7SUFFekMsWUFBb0IsUUFBbUIsRUFBVSxVQUFzQjtRQUFuRCxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQVUsZUFBVSxHQUFWLFVBQVUsQ0FBWTtJQUFHLENBQUM7SUFFM0UsUUFBUTtRQUNOLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDLENBQUM7UUFDekUsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUM7UUFDN0MsS0FBSyxNQUFNLElBQUksSUFBSSxVQUFVLEVBQUU7WUFDN0IsaURBQWlEO1lBQ2pELElBQUksVUFBVSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDbkMsTUFBTSxLQUFLLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUMvQixJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQzthQUNuRDtTQUNGO1FBRUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsRUFBRSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3hDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDM0UsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzFFLFVBQVUsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN4RCxDQUFDO3dHQXJCVSxZQUFZOzRGQUFaLFlBQVksa0ZBRmIsRUFBRTs7NEZBRUQsWUFBWTtrQkFKeEIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsUUFBUTtvQkFDbEIsUUFBUSxFQUFFLEVBQUU7aUJBQ2I7eUhBRVUsU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIE9uSW5pdCwgUmVuZGVyZXIyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0bWxFbGVtZW50UmVuZGVyaW5nIH0gZnJvbSAnQHNpdGVjb3JlLWpzcy9zaXRlY29yZS1qc3MvbGF5b3V0JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc2MtcmF3JyxcclxuICB0ZW1wbGF0ZTogJycsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSYXdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dCgpIHJlbmRlcmluZzogSHRtbEVsZW1lbnRSZW5kZXJpbmc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMiwgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIGNvbnN0IGVsID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KHRoaXMucmVuZGVyaW5nLm5hbWUpO1xyXG4gICAgY29uc3QgY29udGVudHMgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZVRleHQodGhpcy5yZW5kZXJpbmcuY29udGVudHMgfHwgJycpO1xyXG4gICAgY29uc3QgYXR0cmlidXRlcyA9IHRoaXMucmVuZGVyaW5nLmF0dHJpYnV0ZXM7XHJcbiAgICBmb3IgKGNvbnN0IGF0dHIgaW4gYXR0cmlidXRlcykge1xyXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcHJvdG90eXBlLWJ1aWx0aW5zXHJcbiAgICAgIGlmIChhdHRyaWJ1dGVzLmhhc093blByb3BlcnR5KGF0dHIpKSB7XHJcbiAgICAgICAgY29uc3QgdmFsdWUgPSBhdHRyaWJ1dGVzW2F0dHJdO1xyXG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKGVsLCBhdHRyLCB2YWx1ZSB8fCAnJyk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKGVsLCBjb250ZW50cyk7XHJcbiAgICBjb25zdCBwYXJlbnROb2RlID0gdGhpcy5yZW5kZXJlci5wYXJlbnROb2RlKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcclxuICAgIHRoaXMucmVuZGVyZXIuaW5zZXJ0QmVmb3JlKHBhcmVudE5vZGUsIGVsLCB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XHJcbiAgICBwYXJlbnROb2RlLnJlbW92ZUNoaWxkKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -1,106 +1,106 @@
|
|
|
1
|
-
import { Component, Inject, Input, ViewChild, ViewContainerRef, } from '@angular/core';
|
|
2
|
-
import { Observable } from 'rxjs';
|
|
3
|
-
import { takeWhile } from 'rxjs/operators';
|
|
4
|
-
import { PLACEHOLDER_MISSING_COMPONENT_COMPONENT } from './placeholder.token';
|
|
5
|
-
import { RawComponent } from './raw.component';
|
|
6
|
-
import { isRawRendering } from './rendering';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "../jss-component-factory.service";
|
|
9
|
-
/**
|
|
10
|
-
* Renders a single JSS component given a rendering definition.
|
|
11
|
-
* Useful inside templated placeholders.
|
|
12
|
-
*/
|
|
13
|
-
export class RenderComponentComponent {
|
|
14
|
-
differs;
|
|
15
|
-
componentFactory;
|
|
16
|
-
missingComponentComponent;
|
|
17
|
-
rendering;
|
|
18
|
-
outputs;
|
|
19
|
-
view;
|
|
20
|
-
_inputs;
|
|
21
|
-
_differ;
|
|
22
|
-
destroyed = false;
|
|
23
|
-
constructor(differs, componentFactory, missingComponentComponent) {
|
|
24
|
-
this.differs = differs;
|
|
25
|
-
this.componentFactory = componentFactory;
|
|
26
|
-
this.missingComponentComponent = missingComponentComponent;
|
|
27
|
-
}
|
|
28
|
-
set inputs(value) {
|
|
29
|
-
this._inputs = value;
|
|
30
|
-
if (!this._differ && value) {
|
|
31
|
-
this._differ = this.differs.find(value).create();
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
ngOnChanges(changes) {
|
|
35
|
-
if (changes.rendering) {
|
|
36
|
-
this._render();
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
_setComponentInputs(componentInstance, inputs) {
|
|
40
|
-
Object.entries(inputs).forEach(([input, inputValue]) => (componentInstance[input] = inputValue));
|
|
41
|
-
}
|
|
42
|
-
_subscribeComponentOutputs(componentInstance, outputs) {
|
|
43
|
-
Object.keys(outputs)
|
|
44
|
-
.filter((output) => componentInstance[output] && componentInstance[output] instanceof Observable)
|
|
45
|
-
.forEach((output) => componentInstance[output]
|
|
46
|
-
.pipe(takeWhile(() => !this.destroyed))
|
|
47
|
-
.subscribe(outputs[output]));
|
|
48
|
-
}
|
|
49
|
-
_render() {
|
|
50
|
-
this.view.clear();
|
|
51
|
-
if (!this.rendering) {
|
|
52
|
-
return;
|
|
53
|
-
}
|
|
54
|
-
const resolveComponent = isRawRendering(this.rendering)
|
|
55
|
-
? Promise.resolve({
|
|
56
|
-
componentImplementation: RawComponent,
|
|
57
|
-
componentDefinition: this.rendering,
|
|
58
|
-
})
|
|
59
|
-
: this.componentFactory.getComponent(this.rendering);
|
|
60
|
-
resolveComponent.then((rendering) => {
|
|
61
|
-
if (!rendering.componentImplementation) {
|
|
62
|
-
const componentName = rendering.componentDefinition.componentName;
|
|
1
|
+
import { Component, Inject, Input, ViewChild, ViewContainerRef, } from '@angular/core';
|
|
2
|
+
import { Observable } from 'rxjs';
|
|
3
|
+
import { takeWhile } from 'rxjs/operators';
|
|
4
|
+
import { PLACEHOLDER_MISSING_COMPONENT_COMPONENT } from './placeholder.token';
|
|
5
|
+
import { RawComponent } from './raw.component';
|
|
6
|
+
import { isRawRendering } from './rendering';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "../jss-component-factory.service";
|
|
9
|
+
/**
|
|
10
|
+
* Renders a single JSS component given a rendering definition.
|
|
11
|
+
* Useful inside templated placeholders.
|
|
12
|
+
*/
|
|
13
|
+
export class RenderComponentComponent {
|
|
14
|
+
differs;
|
|
15
|
+
componentFactory;
|
|
16
|
+
missingComponentComponent;
|
|
17
|
+
rendering;
|
|
18
|
+
outputs;
|
|
19
|
+
view;
|
|
20
|
+
_inputs;
|
|
21
|
+
_differ;
|
|
22
|
+
destroyed = false;
|
|
23
|
+
constructor(differs, componentFactory, missingComponentComponent) {
|
|
24
|
+
this.differs = differs;
|
|
25
|
+
this.componentFactory = componentFactory;
|
|
26
|
+
this.missingComponentComponent = missingComponentComponent;
|
|
27
|
+
}
|
|
28
|
+
set inputs(value) {
|
|
29
|
+
this._inputs = value;
|
|
30
|
+
if (!this._differ && value) {
|
|
31
|
+
this._differ = this.differs.find(value).create();
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
ngOnChanges(changes) {
|
|
35
|
+
if (changes.rendering) {
|
|
36
|
+
this._render();
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
_setComponentInputs(componentInstance, inputs) {
|
|
40
|
+
Object.entries(inputs).forEach(([input, inputValue]) => (componentInstance[input] = inputValue));
|
|
41
|
+
}
|
|
42
|
+
_subscribeComponentOutputs(componentInstance, outputs) {
|
|
43
|
+
Object.keys(outputs)
|
|
44
|
+
.filter((output) => componentInstance[output] && componentInstance[output] instanceof Observable)
|
|
45
|
+
.forEach((output) => componentInstance[output]
|
|
46
|
+
.pipe(takeWhile(() => !this.destroyed))
|
|
47
|
+
.subscribe(outputs[output]));
|
|
48
|
+
}
|
|
49
|
+
_render() {
|
|
50
|
+
this.view.clear();
|
|
51
|
+
if (!this.rendering) {
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
const resolveComponent = isRawRendering(this.rendering)
|
|
55
|
+
? Promise.resolve({
|
|
56
|
+
componentImplementation: RawComponent,
|
|
57
|
+
componentDefinition: this.rendering,
|
|
58
|
+
})
|
|
59
|
+
: this.componentFactory.getComponent(this.rendering);
|
|
60
|
+
resolveComponent.then((rendering) => {
|
|
61
|
+
if (!rendering.componentImplementation) {
|
|
62
|
+
const componentName = rendering.componentDefinition.componentName;
|
|
63
63
|
console.error(`Attempted to render unknown component ${componentName}.`, `Ensure component is mapped, like:
|
|
64
64
|
JssModule.withComponents([
|
|
65
65
|
{ name: '${componentName}', type: ${componentName}Component }
|
|
66
|
-
])`);
|
|
67
|
-
rendering.componentImplementation = this.missingComponentComponent;
|
|
68
|
-
}
|
|
69
|
-
const componentInstance = this.view.createComponent(rendering.componentImplementation)
|
|
70
|
-
.instance;
|
|
71
|
-
componentInstance.rendering = rendering.componentDefinition;
|
|
72
|
-
if (this._inputs) {
|
|
73
|
-
this._setComponentInputs(componentInstance, this._inputs);
|
|
74
|
-
}
|
|
75
|
-
if (this.outputs) {
|
|
76
|
-
this._subscribeComponentOutputs(componentInstance, this.outputs);
|
|
77
|
-
}
|
|
78
|
-
});
|
|
79
|
-
}
|
|
80
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RenderComponentComponent, deps: [{ token: i0.KeyValueDiffers }, { token: i1.JssComponentFactoryService }, { token: PLACEHOLDER_MISSING_COMPONENT_COMPONENT }], target: i0.ɵɵFactoryTarget.Component });
|
|
66
|
+
])`);
|
|
67
|
+
rendering.componentImplementation = this.missingComponentComponent;
|
|
68
|
+
}
|
|
69
|
+
const componentInstance = this.view.createComponent(rendering.componentImplementation)
|
|
70
|
+
.instance;
|
|
71
|
+
componentInstance.rendering = rendering.componentDefinition;
|
|
72
|
+
if (this._inputs) {
|
|
73
|
+
this._setComponentInputs(componentInstance, this._inputs);
|
|
74
|
+
}
|
|
75
|
+
if (this.outputs) {
|
|
76
|
+
this._subscribeComponentOutputs(componentInstance, this.outputs);
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RenderComponentComponent, deps: [{ token: i0.KeyValueDiffers }, { token: i1.JssComponentFactoryService }, { token: PLACEHOLDER_MISSING_COMPONENT_COMPONENT }], target: i0.ɵɵFactoryTarget.Component });
|
|
81
81
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: RenderComponentComponent, selector: "sc-render-component", inputs: { rendering: "rendering", outputs: "outputs", inputs: "inputs" }, viewQueries: [{ propertyName: "view", first: true, predicate: ["view"], descendants: true, read: ViewContainerRef, static: true }], usesOnChanges: true, ngImport: i0, template: `
|
|
82
82
|
<ng-template #view></ng-template>
|
|
83
|
-
`, isInline: true });
|
|
84
|
-
}
|
|
85
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RenderComponentComponent, decorators: [{
|
|
86
|
-
type: Component,
|
|
87
|
-
args: [{
|
|
88
|
-
selector: 'sc-render-component',
|
|
83
|
+
`, isInline: true });
|
|
84
|
+
}
|
|
85
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RenderComponentComponent, decorators: [{
|
|
86
|
+
type: Component,
|
|
87
|
+
args: [{
|
|
88
|
+
selector: 'sc-render-component',
|
|
89
89
|
template: `
|
|
90
90
|
<ng-template #view></ng-template>
|
|
91
|
-
`,
|
|
92
|
-
}]
|
|
93
|
-
}], ctorParameters: function () { return [{ type: i0.KeyValueDiffers }, { type: i1.JssComponentFactoryService }, { type: i0.Type, decorators: [{
|
|
94
|
-
type: Inject,
|
|
95
|
-
args: [PLACEHOLDER_MISSING_COMPONENT_COMPONENT]
|
|
96
|
-
}] }]; }, propDecorators: { rendering: [{
|
|
97
|
-
type: Input
|
|
98
|
-
}], outputs: [{
|
|
99
|
-
type: Input
|
|
100
|
-
}], view: [{
|
|
101
|
-
type: ViewChild,
|
|
102
|
-
args: ['view', { read: ViewContainerRef, static: true }]
|
|
103
|
-
}], inputs: [{
|
|
104
|
-
type: Input
|
|
105
|
-
}] } });
|
|
91
|
+
`,
|
|
92
|
+
}]
|
|
93
|
+
}], ctorParameters: function () { return [{ type: i0.KeyValueDiffers }, { type: i1.JssComponentFactoryService }, { type: i0.Type, decorators: [{
|
|
94
|
+
type: Inject,
|
|
95
|
+
args: [PLACEHOLDER_MISSING_COMPONENT_COMPONENT]
|
|
96
|
+
}] }]; }, propDecorators: { rendering: [{
|
|
97
|
+
type: Input
|
|
98
|
+
}], outputs: [{
|
|
99
|
+
type: Input
|
|
100
|
+
}], view: [{
|
|
101
|
+
type: ViewChild,
|
|
102
|
+
args: ['view', { read: ViewContainerRef, static: true }]
|
|
103
|
+
}], inputs: [{
|
|
104
|
+
type: Input
|
|
105
|
+
}] } });
|
|
106
106
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyLWNvbXBvbmVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9yZW5kZXItY29tcG9uZW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULE1BQU0sRUFDTixLQUFLLEVBTUwsU0FBUyxFQUNULGdCQUFnQixHQUNqQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUszQyxPQUFPLEVBQUUsdUNBQXVDLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM5RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7O0FBRTdDOzs7R0FHRztBQU9ILE1BQU0sT0FBTyx3QkFBd0I7SUFVekI7SUFDQTtJQUVBO0lBWkQsU0FBUyxDQUE0QztJQUNyRCxPQUFPLENBQWdEO0lBQ0ssSUFBSSxDQUFtQjtJQUVwRixPQUFPLENBQTZCO0lBQ3BDLE9BQU8sQ0FBa0M7SUFDekMsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUUxQixZQUNVLE9BQXdCLEVBQ3hCLGdCQUE0QyxFQUU1Qyx5QkFBMkQ7UUFIM0QsWUFBTyxHQUFQLE9BQU8sQ0FBaUI7UUFDeEIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUE0QjtRQUU1Qyw4QkFBeUIsR0FBekIseUJBQXlCLENBQWtDO0lBQ2xFLENBQUM7SUFFSixJQUNJLE1BQU0sQ0FBQyxLQUFpQztRQUMxQyxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUNyQixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxLQUFLLEVBQUU7WUFDMUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztTQUNsRDtJQUNILENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsU0FBUyxFQUFFO1lBQ3JCLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUNoQjtJQUNILENBQUM7SUFFTyxtQkFBbUIsQ0FDekIsaUJBQTZDLEVBQzdDLE1BQWtDO1FBRWxDLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUM1QixDQUFDLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxFQUFFLEVBQUUsQ0FDdEIsQ0FBRSxpQkFBaUQsQ0FBQyxLQUFLLENBQUMsR0FBRyxVQUFVLENBQUMsQ0FDM0UsQ0FBQztJQUNKLENBQUM7SUFFTywwQkFBMEIsQ0FDaEMsaUJBQTZDLEVBQzdDLE9BQXNEO1FBRXRELE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO2FBQ2pCLE1BQU0sQ0FDTCxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLElBQUksaUJBQWlCLENBQUMsTUFBTSxDQUFDLFlBQVksVUFBVSxDQUN6RjthQUNBLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQ2pCLGlCQUFpQixDQUFDLE1BQU0sQ0FBeUI7YUFDL0MsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQzthQUN0QyxTQUFTLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQzlCLENBQUM7SUFDTixDQUFDO0lBRU8sT0FBTztRQUNiLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFFbEIsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDbkIsT0FBTztTQUNSO1FBRUQsTUFBTSxnQkFBZ0IsR0FBb0MsY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7WUFDdEYsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUM7Z0JBQ2QsdUJBQXVCLEVBQUUsWUFBWTtnQkFDckMsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLFNBQVM7YUFDcEMsQ0FBQztZQUNKLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUV2RCxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRTtZQUNsQyxJQUFJLENBQUMsU0FBUyxDQUFDLHVCQUF1QixFQUFFO2dCQUN0QyxNQUFNLGFBQWEsR0FBSSxTQUFTLENBQUMsbUJBQTBDLENBQUMsYUFBYSxDQUFDO2dCQUMxRixPQUFPLENBQUMsS0FBSyxDQUNYLHlDQUF5QyxhQUFhLEdBQUcsRUFDekQ7O3VCQUVhLGFBQWEsWUFBWSxhQUFhO2FBQ2hELENBQ0osQ0FBQztnQkFFRixTQUFTLENBQUMsdUJBQXVCLEdBQUcsSUFBSSxDQUFDLHlCQUF5QixDQUFDO2FBQ3BFO1lBRUQsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsdUJBQXVCLENBQUM7aUJBQ25GLFFBQVEsQ0FBQztZQUNaLGlCQUFpQixDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUMsbUJBQW1CLENBQUM7WUFDNUQsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO2dCQUNoQixJQUFJLENBQUMsbUJBQW1CLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2FBQzNEO1lBQ0QsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO2dCQUNoQixJQUFJLENBQUMsMEJBQTBCLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2FBQ2xFO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO3dHQTdGVSx3QkFBd0IsMkZBWXpCLHVDQUF1Qzs0RkFadEMsd0JBQXdCLDhNQUdSLGdCQUFnQixnRUFQakM7O0dBRVQ7OzRGQUVVLHdCQUF3QjtrQkFOcEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixRQUFRLEVBQUU7O0dBRVQ7aUJBQ0Y7OzBCQWFJLE1BQU07MkJBQUMsdUNBQXVDOzRDQVh4QyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDK0QsSUFBSTtzQkFBeEUsU0FBUzt1QkFBQyxNQUFNLEVBQUUsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFjdkQsTUFBTTtzQkFEVCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgSW5qZWN0LFxyXG4gIElucHV0LFxyXG4gIEtleVZhbHVlRGlmZmVyLFxyXG4gIEtleVZhbHVlRGlmZmVycyxcclxuICBPbkNoYW5nZXMsXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxuICBUeXBlLFxyXG4gIFZpZXdDaGlsZCxcclxuICBWaWV3Q29udGFpbmVyUmVmLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21wb25lbnRSZW5kZXJpbmcsIEh0bWxFbGVtZW50UmVuZGVyaW5nIH0gZnJvbSAnQHNpdGVjb3JlLWpzcy9zaXRlY29yZS1qc3MvbGF5b3V0JztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlV2hpbGUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50RmFjdG9yeVJlc3VsdCxcclxuICBKc3NDb21wb25lbnRGYWN0b3J5U2VydmljZSxcclxufSBmcm9tICcuLi9qc3MtY29tcG9uZW50LWZhY3Rvcnkuc2VydmljZSc7XHJcbmltcG9ydCB7IFBMQUNFSE9MREVSX01JU1NJTkdfQ09NUE9ORU5UX0NPTVBPTkVOVCB9IGZyb20gJy4vcGxhY2Vob2xkZXIudG9rZW4nO1xyXG5pbXBvcnQgeyBSYXdDb21wb25lbnQgfSBmcm9tICcuL3Jhdy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBpc1Jhd1JlbmRlcmluZyB9IGZyb20gJy4vcmVuZGVyaW5nJztcclxuXHJcbi8qKlxyXG4gKiBSZW5kZXJzIGEgc2luZ2xlIEpTUyBjb21wb25lbnQgZ2l2ZW4gYSByZW5kZXJpbmcgZGVmaW5pdGlvbi5cclxuICogVXNlZnVsIGluc2lkZSB0ZW1wbGF0ZWQgcGxhY2Vob2xkZXJzLlxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzYy1yZW5kZXItY29tcG9uZW50JyxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPG5nLXRlbXBsYXRlICN2aWV3PjwvbmctdGVtcGxhdGU+XHJcbiAgYCxcclxufSlcclxuZXhwb3J0IGNsYXNzIFJlbmRlckNvbXBvbmVudENvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XHJcbiAgQElucHV0KCkgcmVuZGVyaW5nOiBDb21wb25lbnRSZW5kZXJpbmcgfCBIdG1sRWxlbWVudFJlbmRlcmluZztcclxuICBASW5wdXQoKSBvdXRwdXRzOiB7IFtrOiBzdHJpbmddOiAoZXZlbnRUeXBlOiB1bmtub3duKSA9PiB2b2lkIH07XHJcbiAgQFZpZXdDaGlsZCgndmlldycsIHsgcmVhZDogVmlld0NvbnRhaW5lclJlZiwgc3RhdGljOiB0cnVlIH0pIHByaXZhdGUgdmlldzogVmlld0NvbnRhaW5lclJlZjtcclxuXHJcbiAgcHJpdmF0ZSBfaW5wdXRzOiB7IFtrZXk6IHN0cmluZ106IHVua25vd24gfTtcclxuICBwcml2YXRlIF9kaWZmZXI6IEtleVZhbHVlRGlmZmVyPHN0cmluZywgdW5rbm93bj47XHJcbiAgcHJpdmF0ZSBkZXN0cm95ZWQgPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGRpZmZlcnM6IEtleVZhbHVlRGlmZmVycyxcclxuICAgIHByaXZhdGUgY29tcG9uZW50RmFjdG9yeTogSnNzQ29tcG9uZW50RmFjdG9yeVNlcnZpY2UsXHJcbiAgICBASW5qZWN0KFBMQUNFSE9MREVSX01JU1NJTkdfQ09NUE9ORU5UX0NPTVBPTkVOVClcclxuICAgIHByaXZhdGUgbWlzc2luZ0NvbXBvbmVudENvbXBvbmVudDogVHlwZTx7IFtrZXk6IHN0cmluZ106IHVua25vd24gfT5cclxuICApIHt9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IGlucHV0cyh2YWx1ZTogeyBba2V5OiBzdHJpbmddOiB1bmtub3duIH0pIHtcclxuICAgIHRoaXMuX2lucHV0cyA9IHZhbHVlO1xyXG4gICAgaWYgKCF0aGlzLl9kaWZmZXIgJiYgdmFsdWUpIHtcclxuICAgICAgdGhpcy5fZGlmZmVyID0gdGhpcy5kaWZmZXJzLmZpbmQodmFsdWUpLmNyZWF0ZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgaWYgKGNoYW5nZXMucmVuZGVyaW5nKSB7XHJcbiAgICAgIHRoaXMuX3JlbmRlcigpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfc2V0Q29tcG9uZW50SW5wdXRzKFxyXG4gICAgY29tcG9uZW50SW5zdGFuY2U6IHsgW2tleTogc3RyaW5nXTogdW5rbm93biB9LFxyXG4gICAgaW5wdXRzOiB7IFtrZXk6IHN0cmluZ106IHVua25vd24gfVxyXG4gICkge1xyXG4gICAgT2JqZWN0LmVudHJpZXMoaW5wdXRzKS5mb3JFYWNoKFxyXG4gICAgICAoW2lucHV0LCBpbnB1dFZhbHVlXSkgPT5cclxuICAgICAgICAoKGNvbXBvbmVudEluc3RhbmNlIGFzIHsgW3Byb3A6IHN0cmluZ106IHVua25vd24gfSlbaW5wdXRdID0gaW5wdXRWYWx1ZSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9zdWJzY3JpYmVDb21wb25lbnRPdXRwdXRzKFxyXG4gICAgY29tcG9uZW50SW5zdGFuY2U6IHsgW2tleTogc3RyaW5nXTogdW5rbm93biB9LFxyXG4gICAgb3V0cHV0czogeyBbazogc3RyaW5nXTogKGV2ZW50VHlwZTogdW5rbm93bikgPT4gdm9pZCB9XHJcbiAgKSB7XHJcbiAgICBPYmplY3Qua2V5cyhvdXRwdXRzKVxyXG4gICAgICAuZmlsdGVyKFxyXG4gICAgICAgIChvdXRwdXQpID0+IGNvbXBvbmVudEluc3RhbmNlW291dHB1dF0gJiYgY29tcG9uZW50SW5zdGFuY2Vbb3V0cHV0XSBpbnN0YW5jZW9mIE9ic2VydmFibGVcclxuICAgICAgKVxyXG4gICAgICAuZm9yRWFjaCgob3V0cHV0KSA9PlxyXG4gICAgICAgIChjb21wb25lbnRJbnN0YW5jZVtvdXRwdXRdIGFzIE9ic2VydmFibGU8dW5rbm93bj4pXHJcbiAgICAgICAgICAucGlwZSh0YWtlV2hpbGUoKCkgPT4gIXRoaXMuZGVzdHJveWVkKSlcclxuICAgICAgICAgIC5zdWJzY3JpYmUob3V0cHV0c1tvdXRwdXRdKVxyXG4gICAgICApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfcmVuZGVyKCkge1xyXG4gICAgdGhpcy52aWV3LmNsZWFyKCk7XHJcblxyXG4gICAgaWYgKCF0aGlzLnJlbmRlcmluZykge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgcmVzb2x2ZUNvbXBvbmVudDogUHJvbWlzZTxDb21wb25lbnRGYWN0b3J5UmVzdWx0PiA9IGlzUmF3UmVuZGVyaW5nKHRoaXMucmVuZGVyaW5nKVxyXG4gICAgICA/IFByb21pc2UucmVzb2x2ZSh7XHJcbiAgICAgICAgICBjb21wb25lbnRJbXBsZW1lbnRhdGlvbjogUmF3Q29tcG9uZW50LFxyXG4gICAgICAgICAgY29tcG9uZW50RGVmaW5pdGlvbjogdGhpcy5yZW5kZXJpbmcsXHJcbiAgICAgICAgfSlcclxuICAgICAgOiB0aGlzLmNvbXBvbmVudEZhY3RvcnkuZ2V0Q29tcG9uZW50KHRoaXMucmVuZGVyaW5nKTtcclxuXHJcbiAgICByZXNvbHZlQ29tcG9uZW50LnRoZW4oKHJlbmRlcmluZykgPT4ge1xyXG4gICAgICBpZiAoIXJlbmRlcmluZy5jb21wb25lbnRJbXBsZW1lbnRhdGlvbikge1xyXG4gICAgICAgIGNvbnN0IGNvbXBvbmVudE5hbWUgPSAocmVuZGVyaW5nLmNvbXBvbmVudERlZmluaXRpb24gYXMgQ29tcG9uZW50UmVuZGVyaW5nKS5jb21wb25lbnROYW1lO1xyXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoXHJcbiAgICAgICAgICBgQXR0ZW1wdGVkIHRvIHJlbmRlciB1bmtub3duIGNvbXBvbmVudCAke2NvbXBvbmVudE5hbWV9LmAsXHJcbiAgICAgICAgICBgRW5zdXJlIGNvbXBvbmVudCBpcyBtYXBwZWQsIGxpa2U6XHJcbiAgICAgICAgICBKc3NNb2R1bGUud2l0aENvbXBvbmVudHMoW1xyXG4gICAgICAgICAgICB7IG5hbWU6ICcke2NvbXBvbmVudE5hbWV9JywgdHlwZTogJHtjb21wb25lbnROYW1lfUNvbXBvbmVudCB9XHJcbiAgICAgICAgICBdKWBcclxuICAgICAgICApO1xyXG5cclxuICAgICAgICByZW5kZXJpbmcuY29tcG9uZW50SW1wbGVtZW50YXRpb24gPSB0aGlzLm1pc3NpbmdDb21wb25lbnRDb21wb25lbnQ7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGNvbnN0IGNvbXBvbmVudEluc3RhbmNlID0gdGhpcy52aWV3LmNyZWF0ZUNvbXBvbmVudChyZW5kZXJpbmcuY29tcG9uZW50SW1wbGVtZW50YXRpb24pXHJcbiAgICAgICAgLmluc3RhbmNlO1xyXG4gICAgICBjb21wb25lbnRJbnN0YW5jZS5yZW5kZXJpbmcgPSByZW5kZXJpbmcuY29tcG9uZW50RGVmaW5pdGlvbjtcclxuICAgICAgaWYgKHRoaXMuX2lucHV0cykge1xyXG4gICAgICAgIHRoaXMuX3NldENvbXBvbmVudElucHV0cyhjb21wb25lbnRJbnN0YW5jZSwgdGhpcy5faW5wdXRzKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5vdXRwdXRzKSB7XHJcbiAgICAgICAgdGhpcy5fc3Vic2NyaWJlQ29tcG9uZW50T3V0cHV0cyhjb21wb25lbnRJbnN0YW5jZSwgdGhpcy5vdXRwdXRzKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import { Directive } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class RenderEachDirective {
|
|
4
|
-
templateRef;
|
|
5
|
-
constructor(templateRef) {
|
|
6
|
-
this.templateRef = templateRef;
|
|
7
|
-
}
|
|
8
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RenderEachDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
9
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: RenderEachDirective, selector: "[renderEach]", ngImport: i0 });
|
|
10
|
-
}
|
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RenderEachDirective, decorators: [{
|
|
12
|
-
type: Directive,
|
|
13
|
-
args: [{
|
|
14
|
-
selector: '[renderEach]',
|
|
15
|
-
}]
|
|
16
|
-
}], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });
|
|
1
|
+
import { Directive } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class RenderEachDirective {
|
|
4
|
+
templateRef;
|
|
5
|
+
constructor(templateRef) {
|
|
6
|
+
this.templateRef = templateRef;
|
|
7
|
+
}
|
|
8
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RenderEachDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
9
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: RenderEachDirective, selector: "[renderEach]", ngImport: i0 });
|
|
10
|
+
}
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RenderEachDirective, decorators: [{
|
|
12
|
+
type: Directive,
|
|
13
|
+
args: [{
|
|
14
|
+
selector: '[renderEach]',
|
|
15
|
+
}]
|
|
16
|
+
}], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });
|
|
17
17
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyLWVhY2guZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvcmVuZGVyLWVhY2guZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWUsTUFBTSxlQUFlLENBQUM7O0FBS3ZELE1BQU0sT0FBTyxtQkFBbUI7SUFDWDtJQUFuQixZQUFtQixXQUFpQztRQUFqQyxnQkFBVyxHQUFYLFdBQVcsQ0FBc0I7SUFBRyxDQUFDO3dHQUQ3QyxtQkFBbUI7NEZBQW5CLG1CQUFtQjs7NEZBQW5CLG1CQUFtQjtrQkFIL0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsY0FBYztpQkFDekIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1tyZW5kZXJFYWNoXScsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSZW5kZXJFYWNoRGlyZWN0aXZlIHtcclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPHVua25vd24+KSB7fVxyXG59XHJcbiJdfQ==
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import { Directive } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class RenderEmptyDirective {
|
|
4
|
-
templateRef;
|
|
5
|
-
constructor(templateRef) {
|
|
6
|
-
this.templateRef = templateRef;
|
|
7
|
-
}
|
|
8
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RenderEmptyDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
9
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: RenderEmptyDirective, selector: "[renderEmpty]", ngImport: i0 });
|
|
10
|
-
}
|
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RenderEmptyDirective, decorators: [{
|
|
12
|
-
type: Directive,
|
|
13
|
-
args: [{
|
|
14
|
-
selector: '[renderEmpty]',
|
|
15
|
-
}]
|
|
16
|
-
}], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });
|
|
1
|
+
import { Directive } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class RenderEmptyDirective {
|
|
4
|
+
templateRef;
|
|
5
|
+
constructor(templateRef) {
|
|
6
|
+
this.templateRef = templateRef;
|
|
7
|
+
}
|
|
8
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RenderEmptyDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
9
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: RenderEmptyDirective, selector: "[renderEmpty]", ngImport: i0 });
|
|
10
|
+
}
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RenderEmptyDirective, decorators: [{
|
|
12
|
+
type: Directive,
|
|
13
|
+
args: [{
|
|
14
|
+
selector: '[renderEmpty]',
|
|
15
|
+
}]
|
|
16
|
+
}], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });
|
|
17
17
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyLWVtcHR5LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3JlbmRlci1lbXB0eS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBZSxNQUFNLGVBQWUsQ0FBQzs7QUFLdkQsTUFBTSxPQUFPLG9CQUFvQjtJQUNaO0lBQW5CLFlBQW1CLFdBQWlDO1FBQWpDLGdCQUFXLEdBQVgsV0FBVyxDQUFzQjtJQUFHLENBQUM7d0dBRDdDLG9CQUFvQjs0RkFBcEIsb0JBQW9COzs0RkFBcEIsb0JBQW9CO2tCQUhoQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxlQUFlO2lCQUMxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW3JlbmRlckVtcHR5XScsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSZW5kZXJFbXB0eURpcmVjdGl2ZSB7XHJcbiAgY29uc3RydWN0b3IocHVibGljIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjx1bmtub3duPikge31cclxufVxyXG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export {};
|
|
1
|
+
export {};
|
|
2
2
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyaW5nLWZpZWxkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvcmVuZGVyaW5nLWZpZWxkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktaW50ZXJmYWNlICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgUmVuZGVyaW5nRmllbGQ8ViA9IHVua25vd24+IHtcclxuICB2YWx1ZT86IFY7XHJcbiAgZWRpdGFibGU/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRGF0ZUZpZWxkIHtcclxuICB2YWx1ZT86IHN0cmluZyB8IG51bWJlciB8IERhdGU7XHJcbiAgZWRpdGFibGU/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRmlsZUZpZWxkVmFsdWUge1xyXG4gIHNyYz86IHN0cmluZztcclxuICB0aXRsZT86IHN0cmluZztcclxuICBkaXNwbGF5TmFtZT86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBGaWxlRmllbGQgZXh0ZW5kcyBGaWxlRmllbGRWYWx1ZSwgUmVuZGVyaW5nRmllbGQge1xyXG4gIHZhbHVlPzogRmlsZUZpZWxkVmFsdWU7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSW1hZ2VGaWVsZFZhbHVlIHtcclxuICBba2V5OiBzdHJpbmddOiB1bmtub3duO1xyXG4gIHNyYz86IHN0cmluZztcclxuICBzcmNTZXQ/OiB7XHJcbiAgICBba2V5OiBzdHJpbmddOiBzdHJpbmcgfCBudW1iZXIgfCB1bmRlZmluZWQ7XHJcbiAgfVtdO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEltYWdlRmllbGQgZXh0ZW5kcyBJbWFnZUZpZWxkVmFsdWUsIFJlbmRlcmluZ0ZpZWxkIHtcclxuICB2YWx1ZT86IEltYWdlRmllbGRWYWx1ZTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBMaW5rRmllbGRWYWx1ZSB7XHJcbiAgW2tleTogc3RyaW5nXTogdW5rbm93bjtcclxuICBocmVmPzogc3RyaW5nO1xyXG4gIHRleHQ/OiBzdHJpbmc7XHJcbiAgYW5jaG9yPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIExpbmtGaWVsZCBleHRlbmRzIExpbmtGaWVsZFZhbHVlLCBSZW5kZXJpbmdGaWVsZCB7XHJcbiAgdmFsdWU/OiBMaW5rRmllbGRWYWx1ZTtcclxuICBlZGl0YWJsZUZpcnN0UGFydD86IHN0cmluZztcclxuICBlZGl0YWJsZUxhc3RQYXJ0Pzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFJpY2hUZXh0RmllbGQgZXh0ZW5kcyBSZW5kZXJpbmdGaWVsZDxzdHJpbmc+IHt9XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFRleHRGaWVsZCBleHRlbmRzIFJlbmRlcmluZ0ZpZWxkPHN0cmluZz4ge31cclxuIl19
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @param {HtmlElementRendering | ComponentRendering} rendering
|
|
3
|
-
*/
|
|
4
|
-
export function isRawRendering(rendering) {
|
|
5
|
-
return (!rendering.componentName &&
|
|
6
|
-
rendering.name !== undefined);
|
|
7
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* @param {HtmlElementRendering | ComponentRendering} rendering
|
|
3
|
+
*/
|
|
4
|
+
export function isRawRendering(rendering) {
|
|
5
|
+
return (!rendering.componentName &&
|
|
6
|
+
rendering.name !== undefined);
|
|
7
|
+
}
|
|
8
8
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvcmVuZGVyaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBOztHQUVHO0FBQ0gsTUFBTSxVQUFVLGNBQWMsQ0FDNUIsU0FBb0Q7SUFFcEQsT0FBTyxDQUNMLENBQUUsU0FBZ0MsQ0FBQyxhQUFhO1FBQy9DLFNBQWtDLENBQUMsSUFBSSxLQUFLLFNBQVMsQ0FDdkQsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRSZW5kZXJpbmcsIEh0bWxFbGVtZW50UmVuZGVyaW5nIH0gZnJvbSAnQHNpdGVjb3JlLWpzcy9zaXRlY29yZS1qc3MvbGF5b3V0JztcclxuXHJcbi8qKlxyXG4gKiBAcGFyYW0ge0h0bWxFbGVtZW50UmVuZGVyaW5nIHwgQ29tcG9uZW50UmVuZGVyaW5nfSByZW5kZXJpbmdcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBpc1Jhd1JlbmRlcmluZyhcclxuICByZW5kZXJpbmc6IEh0bWxFbGVtZW50UmVuZGVyaW5nIHwgQ29tcG9uZW50UmVuZGVyaW5nXHJcbik6IHJlbmRlcmluZyBpcyBIdG1sRWxlbWVudFJlbmRlcmluZyB7XHJcbiAgcmV0dXJuIChcclxuICAgICEocmVuZGVyaW5nIGFzIENvbXBvbmVudFJlbmRlcmluZykuY29tcG9uZW50TmFtZSAmJlxyXG4gICAgKHJlbmRlcmluZyBhcyBIdG1sRWxlbWVudFJlbmRlcmluZykubmFtZSAhPT0gdW5kZWZpbmVkXHJcbiAgKTtcclxufVxyXG4iXX0=
|
|
@@ -1,69 +1,69 @@
|
|
|
1
|
-
import { Directive, Input, } from '@angular/core';
|
|
2
|
-
import { isAbsoluteUrl } from '@sitecore-jss/sitecore-jss/utils';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/router";
|
|
5
|
-
export class RichTextDirective {
|
|
6
|
-
viewContainer;
|
|
7
|
-
templateRef;
|
|
8
|
-
renderer;
|
|
9
|
-
router;
|
|
10
|
-
editable = true;
|
|
11
|
-
field;
|
|
12
|
-
viewRef;
|
|
13
|
-
constructor(viewContainer, templateRef, renderer, router) {
|
|
14
|
-
this.viewContainer = viewContainer;
|
|
15
|
-
this.templateRef = templateRef;
|
|
16
|
-
this.renderer = renderer;
|
|
17
|
-
this.router = router;
|
|
18
|
-
}
|
|
19
|
-
ngOnChanges(changes) {
|
|
20
|
-
if (changes.field || changes.editable) {
|
|
21
|
-
if (!this.viewRef) {
|
|
22
|
-
this.viewContainer.clear();
|
|
23
|
-
this.viewRef = this.viewContainer.createEmbeddedView(this.templateRef);
|
|
24
|
-
}
|
|
25
|
-
this.updateView();
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
updateView() {
|
|
29
|
-
const field = this.field;
|
|
30
|
-
if (!field || (!field.editable && !field.value)) {
|
|
31
|
-
return;
|
|
32
|
-
}
|
|
33
|
-
const html = field.editable && this.editable ? field.editable : field.value;
|
|
34
|
-
this.viewRef.rootNodes.forEach((node) => {
|
|
35
|
-
node.innerHTML = html;
|
|
36
|
-
if (!node.querySelectorAll) {
|
|
37
|
-
return;
|
|
38
|
-
}
|
|
39
|
-
const links = node.querySelectorAll('a[href]');
|
|
40
|
-
const linksArray = [].slice.call(links);
|
|
41
|
-
linksArray.forEach((link) => {
|
|
42
|
-
const href = link.getAttribute('href');
|
|
43
|
-
const target = link.getAttribute('target');
|
|
44
|
-
if (!href || isAbsoluteUrl(href) || target === '_blank' || target === '_top') {
|
|
45
|
-
return;
|
|
46
|
-
}
|
|
47
|
-
this.renderer.listen(link, 'click', (event) => {
|
|
48
|
-
this.router.navigateByUrl(href);
|
|
49
|
-
event.preventDefault();
|
|
50
|
-
});
|
|
51
|
-
});
|
|
52
|
-
});
|
|
53
|
-
}
|
|
54
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RichTextDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: i0.Renderer2 }, { token: i1.Router }], target: i0.ɵɵFactoryTarget.Directive });
|
|
55
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: RichTextDirective, selector: "[scRichText]", inputs: { editable: ["scRichTextEditable", "editable"], field: ["scRichText", "field"] }, usesOnChanges: true, ngImport: i0 });
|
|
56
|
-
}
|
|
57
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RichTextDirective, decorators: [{
|
|
58
|
-
type: Directive,
|
|
59
|
-
args: [{
|
|
60
|
-
selector: '[scRichText]',
|
|
61
|
-
}]
|
|
62
|
-
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.TemplateRef }, { type: i0.Renderer2 }, { type: i1.Router }]; }, propDecorators: { editable: [{
|
|
63
|
-
type: Input,
|
|
64
|
-
args: ['scRichTextEditable']
|
|
65
|
-
}], field: [{
|
|
66
|
-
type: Input,
|
|
67
|
-
args: ['scRichText']
|
|
68
|
-
}] } });
|
|
1
|
+
import { Directive, Input, } from '@angular/core';
|
|
2
|
+
import { isAbsoluteUrl } from '@sitecore-jss/sitecore-jss/utils';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/router";
|
|
5
|
+
export class RichTextDirective {
|
|
6
|
+
viewContainer;
|
|
7
|
+
templateRef;
|
|
8
|
+
renderer;
|
|
9
|
+
router;
|
|
10
|
+
editable = true;
|
|
11
|
+
field;
|
|
12
|
+
viewRef;
|
|
13
|
+
constructor(viewContainer, templateRef, renderer, router) {
|
|
14
|
+
this.viewContainer = viewContainer;
|
|
15
|
+
this.templateRef = templateRef;
|
|
16
|
+
this.renderer = renderer;
|
|
17
|
+
this.router = router;
|
|
18
|
+
}
|
|
19
|
+
ngOnChanges(changes) {
|
|
20
|
+
if (changes.field || changes.editable) {
|
|
21
|
+
if (!this.viewRef) {
|
|
22
|
+
this.viewContainer.clear();
|
|
23
|
+
this.viewRef = this.viewContainer.createEmbeddedView(this.templateRef);
|
|
24
|
+
}
|
|
25
|
+
this.updateView();
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
updateView() {
|
|
29
|
+
const field = this.field;
|
|
30
|
+
if (!field || (!field.editable && !field.value)) {
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
const html = field.editable && this.editable ? field.editable : field.value;
|
|
34
|
+
this.viewRef.rootNodes.forEach((node) => {
|
|
35
|
+
node.innerHTML = html;
|
|
36
|
+
if (!node.querySelectorAll) {
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
const links = node.querySelectorAll('a[href]');
|
|
40
|
+
const linksArray = [].slice.call(links);
|
|
41
|
+
linksArray.forEach((link) => {
|
|
42
|
+
const href = link.getAttribute('href');
|
|
43
|
+
const target = link.getAttribute('target');
|
|
44
|
+
if (!href || isAbsoluteUrl(href) || target === '_blank' || target === '_top') {
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
this.renderer.listen(link, 'click', (event) => {
|
|
48
|
+
this.router.navigateByUrl(href);
|
|
49
|
+
event.preventDefault();
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RichTextDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: i0.Renderer2 }, { token: i1.Router }], target: i0.ɵɵFactoryTarget.Directive });
|
|
55
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: RichTextDirective, selector: "[scRichText]", inputs: { editable: ["scRichTextEditable", "editable"], field: ["scRichText", "field"] }, usesOnChanges: true, ngImport: i0 });
|
|
56
|
+
}
|
|
57
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RichTextDirective, decorators: [{
|
|
58
|
+
type: Directive,
|
|
59
|
+
args: [{
|
|
60
|
+
selector: '[scRichText]',
|
|
61
|
+
}]
|
|
62
|
+
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.TemplateRef }, { type: i0.Renderer2 }, { type: i1.Router }]; }, propDecorators: { editable: [{
|
|
63
|
+
type: Input,
|
|
64
|
+
args: ['scRichTextEditable']
|
|
65
|
+
}], field: [{
|
|
66
|
+
type: Input,
|
|
67
|
+
args: ['scRichText']
|
|
68
|
+
}] } });
|
|
69
69
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmljaC10ZXh0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3JpY2gtdGV4dC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxLQUFLLEdBTU4sTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOzs7QUFNakUsTUFBTSxPQUFPLGlCQUFpQjtJQVFsQjtJQUNBO0lBQ0E7SUFDQTtJQVZtQixRQUFRLEdBQUcsSUFBSSxDQUFDO0lBRXhCLEtBQUssQ0FBZ0I7SUFFbEMsT0FBTyxDQUEyQjtJQUUxQyxZQUNVLGFBQStCLEVBQy9CLFdBQWlDLEVBQ2pDLFFBQW1CLEVBQ25CLE1BQWM7UUFIZCxrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7UUFDL0IsZ0JBQVcsR0FBWCxXQUFXLENBQXNCO1FBQ2pDLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtJQUNyQixDQUFDO0lBRUosV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxDQUFDLEtBQUssSUFBSSxPQUFPLENBQUMsUUFBUSxFQUFFO1lBQ3JDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO2dCQUNqQixJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUMzQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2FBQ3hFO1lBRUQsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1NBQ25CO0lBQ0gsQ0FBQztJQUVPLFVBQVU7UUFDaEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUN6QixJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQy9DLE9BQU87U0FDUjtRQUVELE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztRQUM1RSxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUN0QyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztZQUV0QixJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFO2dCQUMxQixPQUFPO2FBQ1I7WUFFRCxNQUFNLEtBQUssR0FBZ0MsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQzVFLE1BQU0sVUFBVSxHQUEyQixFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUVoRSxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7Z0JBQzFCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQ3ZDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBRTNDLElBQUksQ0FBQyxJQUFJLElBQUksYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLE1BQU0sS0FBSyxRQUFRLElBQUksTUFBTSxLQUFLLE1BQU0sRUFBRTtvQkFDNUUsT0FBTztpQkFDUjtnQkFFRCxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUU7b0JBQzVDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO29CQUNoQyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ3pCLENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7d0dBeERVLGlCQUFpQjs0RkFBakIsaUJBQWlCOzs0RkFBakIsaUJBQWlCO2tCQUg3QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxjQUFjO2lCQUN6Qjs4S0FFOEIsUUFBUTtzQkFBcEMsS0FBSzt1QkFBQyxvQkFBb0I7Z0JBRU4sS0FBSztzQkFBekIsS0FBSzt1QkFBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBEaXJlY3RpdmUsXHJcbiAgRW1iZWRkZWRWaWV3UmVmLFxyXG4gIElucHV0LFxyXG4gIE9uQ2hhbmdlcyxcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIFRlbXBsYXRlUmVmLFxyXG4gIFZpZXdDb250YWluZXJSZWYsXHJcbiAgUmVuZGVyZXIyLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBpc0Fic29sdXRlVXJsIH0gZnJvbSAnQHNpdGVjb3JlLWpzcy9zaXRlY29yZS1qc3MvdXRpbHMnO1xyXG5pbXBvcnQgeyBSaWNoVGV4dEZpZWxkIH0gZnJvbSAnLi9yZW5kZXJpbmctZmllbGQnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbc2NSaWNoVGV4dF0nLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUmljaFRleHREaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xyXG4gIEBJbnB1dCgnc2NSaWNoVGV4dEVkaXRhYmxlJykgZWRpdGFibGUgPSB0cnVlO1xyXG5cclxuICBASW5wdXQoJ3NjUmljaFRleHQnKSBmaWVsZDogUmljaFRleHRGaWVsZDtcclxuXHJcbiAgcHJpdmF0ZSB2aWV3UmVmOiBFbWJlZGRlZFZpZXdSZWY8dW5rbm93bj47XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmLFxyXG4gICAgcHJpdmF0ZSB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8dW5rbm93bj4sXHJcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyXHJcbiAgKSB7fVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICBpZiAoY2hhbmdlcy5maWVsZCB8fCBjaGFuZ2VzLmVkaXRhYmxlKSB7XHJcbiAgICAgIGlmICghdGhpcy52aWV3UmVmKSB7XHJcbiAgICAgICAgdGhpcy52aWV3Q29udGFpbmVyLmNsZWFyKCk7XHJcbiAgICAgICAgdGhpcy52aWV3UmVmID0gdGhpcy52aWV3Q29udGFpbmVyLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLnRlbXBsYXRlUmVmKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy51cGRhdGVWaWV3KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHVwZGF0ZVZpZXcoKSB7XHJcbiAgICBjb25zdCBmaWVsZCA9IHRoaXMuZmllbGQ7XHJcbiAgICBpZiAoIWZpZWxkIHx8ICghZmllbGQuZWRpdGFibGUgJiYgIWZpZWxkLnZhbHVlKSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgaHRtbCA9IGZpZWxkLmVkaXRhYmxlICYmIHRoaXMuZWRpdGFibGUgPyBmaWVsZC5lZGl0YWJsZSA6IGZpZWxkLnZhbHVlO1xyXG4gICAgdGhpcy52aWV3UmVmLnJvb3ROb2Rlcy5mb3JFYWNoKChub2RlKSA9PiB7XHJcbiAgICAgIG5vZGUuaW5uZXJIVE1MID0gaHRtbDtcclxuXHJcbiAgICAgIGlmICghbm9kZS5xdWVyeVNlbGVjdG9yQWxsKSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBjb25zdCBsaW5rczogTm9kZUxpc3RPZjxIVE1MTGlua0VsZW1lbnQ+ID0gbm9kZS5xdWVyeVNlbGVjdG9yQWxsKCdhW2hyZWZdJyk7XHJcbiAgICAgIGNvbnN0IGxpbmtzQXJyYXk6IEFycmF5PEhUTUxMaW5rRWxlbWVudD4gPSBbXS5zbGljZS5jYWxsKGxpbmtzKTtcclxuXHJcbiAgICAgIGxpbmtzQXJyYXkuZm9yRWFjaCgobGluaykgPT4ge1xyXG4gICAgICAgIGNvbnN0IGhyZWYgPSBsaW5rLmdldEF0dHJpYnV0ZSgnaHJlZicpO1xyXG4gICAgICAgIGNvbnN0IHRhcmdldCA9IGxpbmsuZ2V0QXR0cmlidXRlKCd0YXJnZXQnKTtcclxuXHJcbiAgICAgICAgaWYgKCFocmVmIHx8IGlzQWJzb2x1dGVVcmwoaHJlZikgfHwgdGFyZ2V0ID09PSAnX2JsYW5rJyB8fCB0YXJnZXQgPT09ICdfdG9wJykge1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5saXN0ZW4obGluaywgJ2NsaWNrJywgKGV2ZW50KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKGhyZWYpO1xyXG4gICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICB9KTtcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIl19
|