slate-angular 18.0.1 → 19.0.0
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/fesm2022/slate-angular.mjs +120 -130
- package/fesm2022/slate-angular.mjs.map +1 -1
- package/package.json +1 -3
- package/view/base.d.ts +4 -4
- package/view/container-item.d.ts +1 -1
- package/view/container.d.ts +1 -1
- package/esm2022/components/block-card/block-card.component.mjs +0 -33
- package/esm2022/components/children/children-outlet.component.mjs +0 -22
- package/esm2022/components/children/children.component.mjs +0 -23
- package/esm2022/components/editable/editable.component.mjs +0 -1266
- package/esm2022/components/element/default-element.component.mjs +0 -19
- package/esm2022/components/element/default-element.component.token.mjs +0 -3
- package/esm2022/components/element/element.component.mjs +0 -19
- package/esm2022/components/leaf/default-leaf.component.mjs +0 -30
- package/esm2022/components/leaf/token.mjs +0 -3
- package/esm2022/components/leaves/leaves.component.mjs +0 -25
- package/esm2022/components/string/default-string.component.mjs +0 -75
- package/esm2022/components/string/string.component.mjs +0 -108
- package/esm2022/components/string/template.component.mjs +0 -20
- package/esm2022/components/text/default-text.component.mjs +0 -22
- package/esm2022/components/text/token.mjs +0 -4
- package/esm2022/components/text/void-text.component.mjs +0 -32
- package/esm2022/custom-event/BeforeInputEventPlugin.mjs +0 -251
- package/esm2022/custom-event/DOMTopLevelEventTypes.mjs +0 -13
- package/esm2022/custom-event/FallbackCompositionState.mjs +0 -62
- package/esm2022/custom-event/before-input-polyfill.mjs +0 -13
- package/esm2022/module.mjs +0 -69
- package/esm2022/plugins/angular-editor.mjs +0 -610
- package/esm2022/plugins/with-angular.mjs +0 -217
- package/esm2022/public-api.mjs +0 -20
- package/esm2022/slate-angular.mjs +0 -5
- package/esm2022/types/clipboard.mjs +0 -2
- package/esm2022/types/error.mjs +0 -12
- package/esm2022/types/feature.mjs +0 -2
- package/esm2022/types/index.mjs +0 -5
- package/esm2022/types/view.mjs +0 -2
- package/esm2022/utils/block-card.mjs +0 -25
- package/esm2022/utils/clipboard/clipboard.mjs +0 -78
- package/esm2022/utils/clipboard/common.mjs +0 -42
- package/esm2022/utils/clipboard/data-transfer.mjs +0 -44
- package/esm2022/utils/clipboard/index.mjs +0 -5
- package/esm2022/utils/clipboard/navigator-clipboard.mjs +0 -59
- package/esm2022/utils/constants.mjs +0 -2
- package/esm2022/utils/dom.mjs +0 -165
- package/esm2022/utils/environment.mjs +0 -34
- package/esm2022/utils/global-normalize.mjs +0 -11
- package/esm2022/utils/hotkeys.mjs +0 -99
- package/esm2022/utils/index.mjs +0 -12
- package/esm2022/utils/key.mjs +0 -14
- package/esm2022/utils/lines.mjs +0 -46
- package/esm2022/utils/range-list.mjs +0 -29
- package/esm2022/utils/restore-dom.mjs +0 -33
- package/esm2022/utils/throttle.mjs +0 -18
- package/esm2022/utils/view.mjs +0 -8
- package/esm2022/utils/weak-maps.mjs +0 -40
- package/esm2022/view/base.mjs +0 -273
- package/esm2022/view/container-item.mjs +0 -108
- package/esm2022/view/container.mjs +0 -22
- package/esm2022/view/context-change.mjs +0 -13
- package/esm2022/view/context.mjs +0 -2
- package/esm2022/view/render/leaves-render.mjs +0 -107
- package/esm2022/view/render/list-render.mjs +0 -302
- package/esm2022/view/render/utils.mjs +0 -110
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
export const createThrottleRAF = () => {
|
|
2
|
-
let timerId = null;
|
|
3
|
-
const throttleRAF = (fn) => {
|
|
4
|
-
const scheduleFunc = () => {
|
|
5
|
-
timerId = requestAnimationFrame(() => {
|
|
6
|
-
timerId = null;
|
|
7
|
-
fn();
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
|
-
if (timerId !== null) {
|
|
11
|
-
cancelAnimationFrame(timerId);
|
|
12
|
-
timerId = null;
|
|
13
|
-
}
|
|
14
|
-
scheduleFunc();
|
|
15
|
-
};
|
|
16
|
-
return throttleRAF;
|
|
17
|
-
};
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhyb3R0bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wYWNrYWdlcy9zcmMvdXRpbHMvdGhyb3R0bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsR0FBRyxFQUFFO0lBQ2xDLElBQUksT0FBTyxHQUFrQixJQUFJLENBQUM7SUFDbEMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxFQUFjLEVBQUUsRUFBRTtRQUNuQyxNQUFNLFlBQVksR0FBRyxHQUFHLEVBQUU7WUFDdEIsT0FBTyxHQUFHLHFCQUFxQixDQUFDLEdBQUcsRUFBRTtnQkFDakMsT0FBTyxHQUFHLElBQUksQ0FBQztnQkFDZixFQUFFLEVBQUUsQ0FBQztZQUNULENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDO1FBQ0YsSUFBSSxPQUFPLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDbkIsb0JBQW9CLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDOUIsT0FBTyxHQUFHLElBQUksQ0FBQztRQUNuQixDQUFDO1FBQ0QsWUFBWSxFQUFFLENBQUM7SUFDbkIsQ0FBQyxDQUFDO0lBQ0YsT0FBTyxXQUFXLENBQUM7QUFDdkIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IGNyZWF0ZVRocm90dGxlUkFGID0gKCkgPT4ge1xuICAgIGxldCB0aW1lcklkOiBudW1iZXIgfCBudWxsID0gbnVsbDtcbiAgICBjb25zdCB0aHJvdHRsZVJBRiA9IChmbjogKCkgPT4gdm9pZCkgPT4ge1xuICAgICAgICBjb25zdCBzY2hlZHVsZUZ1bmMgPSAoKSA9PiB7XG4gICAgICAgICAgICB0aW1lcklkID0gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aW1lcklkID0gbnVsbDtcbiAgICAgICAgICAgICAgICBmbigpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH07XG4gICAgICAgIGlmICh0aW1lcklkICE9PSBudWxsKSB7XG4gICAgICAgICAgICBjYW5jZWxBbmltYXRpb25GcmFtZSh0aW1lcklkKTtcbiAgICAgICAgICAgIHRpbWVySWQgPSBudWxsO1xuICAgICAgICB9XG4gICAgICAgIHNjaGVkdWxlRnVuYygpO1xuICAgIH07XG4gICAgcmV0dXJuIHRocm90dGxlUkFGO1xufTtcblxuZXhwb3J0IHR5cGUgVGhyb3R0bGVSQUYgPSAoZm46ICgpID0+IHZvaWQpID0+IHZvaWQ7XG4iXX0=
|
package/esm2022/utils/view.mjs
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { TemplateRef } from '@angular/core';
|
|
2
|
-
export function isTemplateRef(value) {
|
|
3
|
-
return value && value instanceof TemplateRef;
|
|
4
|
-
}
|
|
5
|
-
export function isComponentType(value) {
|
|
6
|
-
return !isTemplateRef(value);
|
|
7
|
-
}
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlldy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL3NyYy91dGlscy92aWV3LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHNUMsTUFBTSxVQUFVLGFBQWEsQ0FBSSxLQUFlO0lBQzVDLE9BQU8sS0FBSyxJQUFJLEtBQUssWUFBWSxXQUFXLENBQUM7QUFDakQsQ0FBQztBQUVELE1BQU0sVUFBVSxlQUFlLENBQUksS0FBZTtJQUM5QyxPQUFPLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ2pDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tcG9uZW50VHlwZSwgVmlld1R5cGUgfSBmcm9tICcuLi90eXBlcy92aWV3JztcblxuZXhwb3J0IGZ1bmN0aW9uIGlzVGVtcGxhdGVSZWY8Qz4odmFsdWU6IFZpZXdUeXBlKTogdmFsdWUgaXMgVGVtcGxhdGVSZWY8Qz4ge1xuICAgIHJldHVybiB2YWx1ZSAmJiB2YWx1ZSBpbnN0YW5jZW9mIFRlbXBsYXRlUmVmO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNDb21wb25lbnRUeXBlPFQ+KHZhbHVlOiBWaWV3VHlwZSk6IHZhbHVlIGlzIENvbXBvbmVudFR5cGU8VD4ge1xuICAgIHJldHVybiAhaXNUZW1wbGF0ZVJlZih2YWx1ZSk7XG59XG4iXX0=
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Two weak maps that allow us rebuild a path given a node. They are populated
|
|
3
|
-
* at render time such that after a render occurs we can always backtrack.
|
|
4
|
-
*/
|
|
5
|
-
export const EDITOR_TO_WINDOW = new WeakMap();
|
|
6
|
-
export const NODE_TO_INDEX = new WeakMap();
|
|
7
|
-
export const NODE_TO_PARENT = new WeakMap();
|
|
8
|
-
/**
|
|
9
|
-
* Weak maps that allow us to go between Slate nodes and DOM nodes. These
|
|
10
|
-
* are used to resolve DOM event-related logic into Slate actions.
|
|
11
|
-
*/
|
|
12
|
-
export const EDITOR_TO_ELEMENT = new WeakMap();
|
|
13
|
-
export const EDITOR_TO_PLACEHOLDER = new WeakMap();
|
|
14
|
-
export const ELEMENT_TO_NODE = new WeakMap();
|
|
15
|
-
// Deprecated
|
|
16
|
-
export const KEY_TO_ELEMENT = new WeakMap();
|
|
17
|
-
export const NODE_TO_ELEMENT = new WeakMap();
|
|
18
|
-
export const NODE_TO_KEY = new WeakMap();
|
|
19
|
-
/**
|
|
20
|
-
* Weak maps for storing editor-related state.
|
|
21
|
-
*/
|
|
22
|
-
export const IS_READONLY = new WeakMap();
|
|
23
|
-
export const IS_FOCUSED = new WeakMap();
|
|
24
|
-
export const IS_DRAGGING = new WeakMap();
|
|
25
|
-
export const IS_CLICKING = new WeakMap();
|
|
26
|
-
/**
|
|
27
|
-
* Weak map for associating the context `onChange` context with the plugin.
|
|
28
|
-
*/
|
|
29
|
-
export const EDITOR_TO_ON_CHANGE = new WeakMap();
|
|
30
|
-
// export const NODE_TO_VIEWNODE = new WeakMap<Node, ViewNode>();
|
|
31
|
-
/**
|
|
32
|
-
* Symbols.
|
|
33
|
-
*/
|
|
34
|
-
export const PLACEHOLDER_SYMBOL = Symbol('placeholder');
|
|
35
|
-
/**
|
|
36
|
-
* Weak map for associating the html element with the component.
|
|
37
|
-
*/
|
|
38
|
-
export const ELEMENT_TO_COMPONENT = new WeakMap();
|
|
39
|
-
export const EDITOR_TO_AFTER_VIEW_INIT_QUEUE = new WeakMap();
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vhay1tYXBzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGFja2FnZXMvc3JjL3V0aWxzL3dlYWstbWFwcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQTs7O0dBR0c7QUFFSCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBNEIsSUFBSSxPQUFPLEVBQUUsQ0FBQztBQUN2RSxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQTBCLElBQUksT0FBTyxFQUFFLENBQUM7QUFDbEUsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUE0QixJQUFJLE9BQU8sRUFBRSxDQUFDO0FBRXJFOzs7R0FHRztBQUVILE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFpQyxJQUFJLE9BQU8sRUFBRSxDQUFDO0FBQzdFLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUE0QixJQUFJLE9BQU8sRUFBRSxDQUFDO0FBQzVFLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBK0IsSUFBSSxPQUFPLEVBQUUsQ0FBQztBQUN6RSxhQUFhO0FBQ2IsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUE4QixJQUFJLE9BQU8sRUFBRSxDQUFDO0FBQ3ZFLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBK0IsSUFBSSxPQUFPLEVBQUUsQ0FBQztBQUN6RSxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQXVCLElBQUksT0FBTyxFQUFFLENBQUM7QUFFN0Q7O0dBRUc7QUFFSCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQTZCLElBQUksT0FBTyxFQUFFLENBQUM7QUFDbkUsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUE2QixJQUFJLE9BQU8sRUFBRSxDQUFDO0FBQ2xFLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBNkIsSUFBSSxPQUFPLEVBQUUsQ0FBQztBQUNuRSxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQTZCLElBQUksT0FBTyxFQUFFLENBQUM7QUFFbkU7O0dBRUc7QUFFSCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLE9BQU8sRUFBc0IsQ0FBQztBQUVyRSxpRUFBaUU7QUFFakU7O0dBRUc7QUFFSCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFzQixDQUFDO0FBRTdFOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQXdDLElBQUksT0FBTyxFQUFFLENBQUM7QUFFdkYsTUFBTSxDQUFDLE1BQU0sK0JBQStCLEdBQW9DLElBQUksT0FBTyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOb2RlLCBBbmNlc3RvciwgRWRpdG9yIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgS2V5IH0gZnJvbSAnLi9rZXknO1xuaW1wb3J0IHsgQmFzZUVsZW1lbnRDb21wb25lbnQgfSBmcm9tICcuLi92aWV3L2Jhc2UnO1xuXG4vKipcbiAqIFR3byB3ZWFrIG1hcHMgdGhhdCBhbGxvdyB1cyByZWJ1aWxkIGEgcGF0aCBnaXZlbiBhIG5vZGUuIFRoZXkgYXJlIHBvcHVsYXRlZFxuICogYXQgcmVuZGVyIHRpbWUgc3VjaCB0aGF0IGFmdGVyIGEgcmVuZGVyIG9jY3VycyB3ZSBjYW4gYWx3YXlzIGJhY2t0cmFjay5cbiAqL1xuXG5leHBvcnQgY29uc3QgRURJVE9SX1RPX1dJTkRPVzogV2Vha01hcDxFZGl0b3IsIFdpbmRvdz4gPSBuZXcgV2Vha01hcCgpO1xuZXhwb3J0IGNvbnN0IE5PREVfVE9fSU5ERVg6IFdlYWtNYXA8Tm9kZSwgbnVtYmVyPiA9IG5ldyBXZWFrTWFwKCk7XG5leHBvcnQgY29uc3QgTk9ERV9UT19QQVJFTlQ6IFdlYWtNYXA8Tm9kZSwgQW5jZXN0b3I+ID0gbmV3IFdlYWtNYXAoKTtcblxuLyoqXG4gKiBXZWFrIG1hcHMgdGhhdCBhbGxvdyB1cyB0byBnbyBiZXR3ZWVuIFNsYXRlIG5vZGVzIGFuZCBET00gbm9kZXMuIFRoZXNlXG4gKiBhcmUgdXNlZCB0byByZXNvbHZlIERPTSBldmVudC1yZWxhdGVkIGxvZ2ljIGludG8gU2xhdGUgYWN0aW9ucy5cbiAqL1xuXG5leHBvcnQgY29uc3QgRURJVE9SX1RPX0VMRU1FTlQ6IFdlYWtNYXA8RWRpdG9yLCBIVE1MRWxlbWVudD4gPSBuZXcgV2Vha01hcCgpO1xuZXhwb3J0IGNvbnN0IEVESVRPUl9UT19QTEFDRUhPTERFUjogV2Vha01hcDxFZGl0b3IsIHN0cmluZz4gPSBuZXcgV2Vha01hcCgpO1xuZXhwb3J0IGNvbnN0IEVMRU1FTlRfVE9fTk9ERTogV2Vha01hcDxIVE1MRWxlbWVudCwgTm9kZT4gPSBuZXcgV2Vha01hcCgpO1xuLy8gRGVwcmVjYXRlZFxuZXhwb3J0IGNvbnN0IEtFWV9UT19FTEVNRU5UOiBXZWFrTWFwPEtleSwgSFRNTEVsZW1lbnQ+ID0gbmV3IFdlYWtNYXAoKTtcbmV4cG9ydCBjb25zdCBOT0RFX1RPX0VMRU1FTlQ6IFdlYWtNYXA8Tm9kZSwgSFRNTEVsZW1lbnQ+ID0gbmV3IFdlYWtNYXAoKTtcbmV4cG9ydCBjb25zdCBOT0RFX1RPX0tFWTogV2Vha01hcDxOb2RlLCBLZXk+ID0gbmV3IFdlYWtNYXAoKTtcblxuLyoqXG4gKiBXZWFrIG1hcHMgZm9yIHN0b3JpbmcgZWRpdG9yLXJlbGF0ZWQgc3RhdGUuXG4gKi9cblxuZXhwb3J0IGNvbnN0IElTX1JFQURPTkxZOiBXZWFrTWFwPEVkaXRvciwgYm9vbGVhbj4gPSBuZXcgV2Vha01hcCgpO1xuZXhwb3J0IGNvbnN0IElTX0ZPQ1VTRUQ6IFdlYWtNYXA8RWRpdG9yLCBib29sZWFuPiA9IG5ldyBXZWFrTWFwKCk7XG5leHBvcnQgY29uc3QgSVNfRFJBR0dJTkc6IFdlYWtNYXA8RWRpdG9yLCBib29sZWFuPiA9IG5ldyBXZWFrTWFwKCk7XG5leHBvcnQgY29uc3QgSVNfQ0xJQ0tJTkc6IFdlYWtNYXA8RWRpdG9yLCBib29sZWFuPiA9IG5ldyBXZWFrTWFwKCk7XG5cbi8qKlxuICogV2VhayBtYXAgZm9yIGFzc29jaWF0aW5nIHRoZSBjb250ZXh0IGBvbkNoYW5nZWAgY29udGV4dCB3aXRoIHRoZSBwbHVnaW4uXG4gKi9cblxuZXhwb3J0IGNvbnN0IEVESVRPUl9UT19PTl9DSEFOR0UgPSBuZXcgV2Vha01hcDxFZGl0b3IsICgpID0+IHZvaWQ+KCk7XG5cbi8vIGV4cG9ydCBjb25zdCBOT0RFX1RPX1ZJRVdOT0RFID0gbmV3IFdlYWtNYXA8Tm9kZSwgVmlld05vZGU+KCk7XG5cbi8qKlxuICogU3ltYm9scy5cbiAqL1xuXG5leHBvcnQgY29uc3QgUExBQ0VIT0xERVJfU1lNQk9MID0gU3ltYm9sKCdwbGFjZWhvbGRlcicpIGFzIHVua25vd24gYXMgc3RyaW5nO1xuXG4vKipcbiAqIFdlYWsgbWFwIGZvciBhc3NvY2lhdGluZyB0aGUgaHRtbCBlbGVtZW50IHdpdGggdGhlIGNvbXBvbmVudC5cbiAqL1xuZXhwb3J0IGNvbnN0IEVMRU1FTlRfVE9fQ09NUE9ORU5UOiBXZWFrTWFwPE5vZGUsIEJhc2VFbGVtZW50Q29tcG9uZW50PiA9IG5ldyBXZWFrTWFwKCk7XG5cbmV4cG9ydCBjb25zdCBFRElUT1JfVE9fQUZURVJfVklFV19JTklUX1FVRVVFOiBXZWFrTWFwPEVkaXRvciwgKCgpID0+IHZvaWQpW10+ID0gbmV3IFdlYWtNYXAoKTtcbiJdfQ==
|
package/esm2022/view/base.mjs
DELETED
|
@@ -1,273 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectorRef, Directive, ElementRef, HostBinding, Input, ViewChild, ViewContainerRef, inject } from '@angular/core';
|
|
2
|
-
import { Range } from 'slate';
|
|
3
|
-
import { SlateChildrenOutlet } from '../components/children/children-outlet.component';
|
|
4
|
-
import { ELEMENT_TO_COMPONENT, ELEMENT_TO_NODE, NODE_TO_ELEMENT } from '../utils/weak-maps';
|
|
5
|
-
import { hasAfterContextChange, hasBeforeContextChange } from './context-change';
|
|
6
|
-
import { LeavesRender } from './render/leaves-render';
|
|
7
|
-
import { ListRender, addAfterViewInitQueue } from './render/list-render';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
/**
|
|
10
|
-
* base class for custom element component or text component
|
|
11
|
-
*/
|
|
12
|
-
export class BaseComponent {
|
|
13
|
-
constructor() {
|
|
14
|
-
this.initialized = false;
|
|
15
|
-
this.elementRef = inject(ElementRef);
|
|
16
|
-
this.cdr = inject(ChangeDetectorRef);
|
|
17
|
-
}
|
|
18
|
-
set context(value) {
|
|
19
|
-
if (hasBeforeContextChange(this)) {
|
|
20
|
-
this.beforeContextChange(value);
|
|
21
|
-
}
|
|
22
|
-
this._context = value;
|
|
23
|
-
this.onContextChange();
|
|
24
|
-
if (this.initialized) {
|
|
25
|
-
this.cdr.detectChanges();
|
|
26
|
-
}
|
|
27
|
-
if (hasAfterContextChange(this)) {
|
|
28
|
-
this.afterContextChange();
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
get context() {
|
|
32
|
-
return this._context;
|
|
33
|
-
}
|
|
34
|
-
get editor() {
|
|
35
|
-
return this.viewContext && this.viewContext.editor;
|
|
36
|
-
}
|
|
37
|
-
get nativeElement() {
|
|
38
|
-
return this.elementRef.nativeElement;
|
|
39
|
-
}
|
|
40
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: BaseComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
41
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.0", type: BaseComponent, inputs: { context: "context", viewContext: "viewContext" }, ngImport: i0 }); }
|
|
42
|
-
}
|
|
43
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: BaseComponent, decorators: [{
|
|
44
|
-
type: Directive
|
|
45
|
-
}], propDecorators: { context: [{
|
|
46
|
-
type: Input
|
|
47
|
-
}], viewContext: [{
|
|
48
|
-
type: Input
|
|
49
|
-
}] } });
|
|
50
|
-
/**
|
|
51
|
-
* base class for custom leaf component
|
|
52
|
-
*/
|
|
53
|
-
export class BaseLeafComponent extends BaseComponent {
|
|
54
|
-
constructor() {
|
|
55
|
-
super(...arguments);
|
|
56
|
-
this.isSlateLeaf = true;
|
|
57
|
-
}
|
|
58
|
-
get text() {
|
|
59
|
-
return this.context && this.context.text;
|
|
60
|
-
}
|
|
61
|
-
get leaf() {
|
|
62
|
-
return this.context && this.context.leaf;
|
|
63
|
-
}
|
|
64
|
-
ngOnInit() {
|
|
65
|
-
this.initialized = true;
|
|
66
|
-
}
|
|
67
|
-
onContextChange() {
|
|
68
|
-
if (!this.initialized) {
|
|
69
|
-
return;
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
renderPlaceholder() {
|
|
73
|
-
// issue-1: IME input was interrupted
|
|
74
|
-
// issue-2: IME input focus jumping
|
|
75
|
-
// Issue occurs when the span node of the placeholder is before the slateString span node
|
|
76
|
-
if (this.context.leaf['placeholder']) {
|
|
77
|
-
if (!this.placeholderElement) {
|
|
78
|
-
this.createPlaceholder();
|
|
79
|
-
}
|
|
80
|
-
this.updatePlaceholder();
|
|
81
|
-
}
|
|
82
|
-
else {
|
|
83
|
-
this.destroyPlaceholder();
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
createPlaceholder() {
|
|
87
|
-
const placeholderElement = document.createElement('span');
|
|
88
|
-
placeholderElement.innerText = this.context.leaf['placeholder'];
|
|
89
|
-
placeholderElement.contentEditable = 'false';
|
|
90
|
-
placeholderElement.setAttribute('data-slate-placeholder', 'true');
|
|
91
|
-
this.placeholderElement = placeholderElement;
|
|
92
|
-
this.nativeElement.classList.add('leaf-with-placeholder');
|
|
93
|
-
this.nativeElement.appendChild(placeholderElement);
|
|
94
|
-
}
|
|
95
|
-
updatePlaceholder() {
|
|
96
|
-
if (this.placeholderElement.innerText !== this.context.leaf['placeholder']) {
|
|
97
|
-
this.placeholderElement.innerText = this.context.leaf['placeholder'];
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
destroyPlaceholder() {
|
|
101
|
-
if (this.placeholderElement) {
|
|
102
|
-
this.placeholderElement.remove();
|
|
103
|
-
this.placeholderElement = null;
|
|
104
|
-
this.nativeElement.classList.remove('leaf-with-placeholder');
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: BaseLeafComponent, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
108
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.0", type: BaseLeafComponent, host: { properties: { "attr.data-slate-leaf": "this.isSlateLeaf" } }, usesInheritance: true, ngImport: i0 }); }
|
|
109
|
-
}
|
|
110
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: BaseLeafComponent, decorators: [{
|
|
111
|
-
type: Directive
|
|
112
|
-
}], propDecorators: { isSlateLeaf: [{
|
|
113
|
-
type: HostBinding,
|
|
114
|
-
args: ['attr.data-slate-leaf']
|
|
115
|
-
}] } });
|
|
116
|
-
/**
|
|
117
|
-
* base class for custom element component
|
|
118
|
-
*/
|
|
119
|
-
export class BaseElementComponent extends BaseComponent {
|
|
120
|
-
constructor() {
|
|
121
|
-
super(...arguments);
|
|
122
|
-
this.viewContainerRef = inject(ViewContainerRef);
|
|
123
|
-
this.getOutletParent = () => {
|
|
124
|
-
return this.elementRef.nativeElement;
|
|
125
|
-
};
|
|
126
|
-
this.getOutletElement = () => {
|
|
127
|
-
if (this.childrenOutletInstance) {
|
|
128
|
-
return this.childrenOutletInstance.getNativeElement();
|
|
129
|
-
}
|
|
130
|
-
return null;
|
|
131
|
-
};
|
|
132
|
-
}
|
|
133
|
-
get element() {
|
|
134
|
-
return this._context && this._context.element;
|
|
135
|
-
}
|
|
136
|
-
get selection() {
|
|
137
|
-
return this._context && this._context.selection;
|
|
138
|
-
}
|
|
139
|
-
get decorations() {
|
|
140
|
-
return this._context && this._context.decorations;
|
|
141
|
-
}
|
|
142
|
-
get children() {
|
|
143
|
-
return this._context && this._context.element.children;
|
|
144
|
-
}
|
|
145
|
-
get isCollapsed() {
|
|
146
|
-
return this.selection && Range.isCollapsed(this.selection);
|
|
147
|
-
}
|
|
148
|
-
get isCollapsedAndNonReadonly() {
|
|
149
|
-
return this.selection && Range.isCollapsed(this.selection) && !this.readonly;
|
|
150
|
-
}
|
|
151
|
-
get readonly() {
|
|
152
|
-
return this._context && this._context.readonly;
|
|
153
|
-
}
|
|
154
|
-
ngOnInit() {
|
|
155
|
-
for (const key in this._context.attributes) {
|
|
156
|
-
this.nativeElement.setAttribute(key, this._context.attributes[key]);
|
|
157
|
-
}
|
|
158
|
-
this.initialized = true;
|
|
159
|
-
this.listRender = new ListRender(this.viewContext, this.viewContainerRef, this.getOutletParent, this.getOutletElement);
|
|
160
|
-
if (this.editor.isExpanded(this.element)) {
|
|
161
|
-
this.listRender.initialize(this.children, this.element, this.childrenContext);
|
|
162
|
-
}
|
|
163
|
-
addAfterViewInitQueue(this.editor, () => {
|
|
164
|
-
this.afterViewInit();
|
|
165
|
-
});
|
|
166
|
-
}
|
|
167
|
-
afterViewInit() {
|
|
168
|
-
if (this._context.contentEditable !== undefined) {
|
|
169
|
-
this.nativeElement.setAttribute('contenteditable', this._context.contentEditable + '');
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
updateWeakMap() {
|
|
173
|
-
NODE_TO_ELEMENT.set(this.element, this.nativeElement);
|
|
174
|
-
ELEMENT_TO_NODE.set(this.nativeElement, this.element);
|
|
175
|
-
ELEMENT_TO_COMPONENT.set(this.element, this);
|
|
176
|
-
}
|
|
177
|
-
ngOnDestroy() {
|
|
178
|
-
if (NODE_TO_ELEMENT.get(this.element) === this.nativeElement) {
|
|
179
|
-
NODE_TO_ELEMENT.delete(this.element);
|
|
180
|
-
}
|
|
181
|
-
ELEMENT_TO_NODE.delete(this.nativeElement);
|
|
182
|
-
if (ELEMENT_TO_COMPONENT.get(this.element) === this) {
|
|
183
|
-
ELEMENT_TO_COMPONENT.delete(this.element);
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
onContextChange() {
|
|
187
|
-
this.childrenContext = this.getChildrenContext();
|
|
188
|
-
this.updateWeakMap();
|
|
189
|
-
if (!this.initialized) {
|
|
190
|
-
return;
|
|
191
|
-
}
|
|
192
|
-
this.updateChildrenView();
|
|
193
|
-
}
|
|
194
|
-
updateChildrenView() {
|
|
195
|
-
if (this.editor.isExpanded(this.element)) {
|
|
196
|
-
this.listRender.update(this.children, this.element, this.childrenContext);
|
|
197
|
-
}
|
|
198
|
-
else {
|
|
199
|
-
if (this.listRender.initialized) {
|
|
200
|
-
this.listRender.destroy();
|
|
201
|
-
}
|
|
202
|
-
}
|
|
203
|
-
}
|
|
204
|
-
getChildrenContext() {
|
|
205
|
-
return {
|
|
206
|
-
parent: this._context.element,
|
|
207
|
-
selection: this._context.selection,
|
|
208
|
-
decorations: this._context.decorations,
|
|
209
|
-
decorate: this._context.decorate,
|
|
210
|
-
readonly: this._context.readonly
|
|
211
|
-
};
|
|
212
|
-
}
|
|
213
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: BaseElementComponent, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
214
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.0", type: BaseElementComponent, viewQueries: [{ propertyName: "childrenOutletInstance", first: true, predicate: SlateChildrenOutlet, descendants: true, static: true }], usesInheritance: true, ngImport: i0 }); }
|
|
215
|
-
}
|
|
216
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: BaseElementComponent, decorators: [{
|
|
217
|
-
type: Directive
|
|
218
|
-
}], propDecorators: { childrenOutletInstance: [{
|
|
219
|
-
type: ViewChild,
|
|
220
|
-
args: [SlateChildrenOutlet, { static: true }]
|
|
221
|
-
}] } });
|
|
222
|
-
/**
|
|
223
|
-
* base class for custom text component
|
|
224
|
-
*/
|
|
225
|
-
export class BaseTextComponent extends BaseComponent {
|
|
226
|
-
constructor() {
|
|
227
|
-
super(...arguments);
|
|
228
|
-
this.viewContainerRef = inject(ViewContainerRef);
|
|
229
|
-
this.getOutletParent = () => {
|
|
230
|
-
return this.elementRef.nativeElement;
|
|
231
|
-
};
|
|
232
|
-
this.getOutletElement = () => {
|
|
233
|
-
if (this.childrenOutletInstance) {
|
|
234
|
-
return this.childrenOutletInstance.getNativeElement();
|
|
235
|
-
}
|
|
236
|
-
return null;
|
|
237
|
-
};
|
|
238
|
-
}
|
|
239
|
-
get text() {
|
|
240
|
-
return this._context && this._context.text;
|
|
241
|
-
}
|
|
242
|
-
ngOnInit() {
|
|
243
|
-
this.initialized = true;
|
|
244
|
-
this.leavesRender = new LeavesRender(this.viewContext, this.viewContainerRef, this.getOutletParent, this.getOutletElement);
|
|
245
|
-
this.leavesRender.initialize(this.context);
|
|
246
|
-
}
|
|
247
|
-
updateWeakMap() {
|
|
248
|
-
ELEMENT_TO_NODE.set(this.nativeElement, this.text);
|
|
249
|
-
NODE_TO_ELEMENT.set(this.text, this.nativeElement);
|
|
250
|
-
}
|
|
251
|
-
ngOnDestroy() {
|
|
252
|
-
if (NODE_TO_ELEMENT.get(this.text) === this.nativeElement) {
|
|
253
|
-
NODE_TO_ELEMENT.delete(this.text);
|
|
254
|
-
}
|
|
255
|
-
ELEMENT_TO_NODE.delete(this.nativeElement);
|
|
256
|
-
}
|
|
257
|
-
onContextChange() {
|
|
258
|
-
this.updateWeakMap();
|
|
259
|
-
if (!this.initialized) {
|
|
260
|
-
return;
|
|
261
|
-
}
|
|
262
|
-
this.leavesRender.update(this.context);
|
|
263
|
-
}
|
|
264
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: BaseTextComponent, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
265
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.0", type: BaseTextComponent, viewQueries: [{ propertyName: "childrenOutletInstance", first: true, predicate: SlateChildrenOutlet, descendants: true, static: true }], usesInheritance: true, ngImport: i0 }); }
|
|
266
|
-
}
|
|
267
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: BaseTextComponent, decorators: [{
|
|
268
|
-
type: Directive
|
|
269
|
-
}], propDecorators: { childrenOutletInstance: [{
|
|
270
|
-
type: ViewChild,
|
|
271
|
-
args: [SlateChildrenOutlet, { static: true }]
|
|
272
|
-
}] } });
|
|
273
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL3NyYy92aWV3L2Jhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFdBQVcsRUFDWCxLQUFLLEVBR0wsU0FBUyxFQUNULGdCQUFnQixFQUNoQixNQUFNLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF1QixLQUFLLEVBQVEsTUFBTSxPQUFPLENBQUM7QUFDekQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFFdkYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUU1RixPQUFPLEVBQUUscUJBQXFCLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQVV6RTs7R0FFRztBQUVILE1BQU0sT0FBZ0IsYUFBYTtJQURuQztRQUtJLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBaUNiLGVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFaEMsUUFBRyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0tBRzFDO0lBbENHLElBQ0ksT0FBTyxDQUFDLEtBQVE7UUFDaEIsSUFBSSxzQkFBc0IsQ0FBSSxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ2xDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwQyxDQUFDO1FBQ0QsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDdEIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3ZCLElBQUksSUFB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LElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUN4RCxlQUFlLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0QyxDQUFDO1FBQ0QsZUFBZSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELGVBQWU7UUFDWCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNwQixPQUFPO1FBQ1gsQ0FBQztRQUNELElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMzQyxDQUFDOzhHQS9DUSxpQkFBaUI7a0dBQWpCLGlCQUFpQixrRkFTZixtQkFBbUI7OzJGQVRyQixpQkFBaUI7a0JBRDdCLFNBQVM7OEJBV04sc0JBQXNCO3NCQURyQixTQUFTO3VCQUFDLG1CQUFtQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgRGlyZWN0aXZlLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0NvbnRhaW5lclJlZixcbiAgICBpbmplY3Rcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEZXNjZW5kYW50LCBFbGVtZW50LCBSYW5nZSwgVGV4dCB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IFNsYXRlQ2hpbGRyZW5PdXRsZXQgfSBmcm9tICcuLi9jb21wb25lbnRzL2NoaWxkcmVuL2NoaWxkcmVuLW91dGxldC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQW5ndWxhckVkaXRvciB9IGZyb20gJy4uL3BsdWdpbnMvYW5ndWxhci1lZGl0b3InO1xuaW1wb3J0IHsgRUxFTUVOVF9UT19DT01QT05FTlQsIEVMRU1FTlRfVE9fTk9ERSwgTk9ERV9UT19FTEVNRU5UIH0gZnJvbSAnLi4vdXRpbHMvd2Vhay1tYXBzJztcbmltcG9ydCB7IFNsYXRlQ2hpbGRyZW5Db250ZXh0LCBTbGF0ZUVsZW1lbnRDb250ZXh0LCBTbGF0ZUxlYWZDb250ZXh0LCBTbGF0ZVRleHRDb250ZXh0LCBTbGF0ZVZpZXdDb250ZXh0IH0gZnJvbSAnLi9jb250ZXh0JztcbmltcG9ydCB7IGhhc0FmdGVyQ29udGV4dENoYW5nZSwgaGFzQmVmb3JlQ29udGV4dENoYW5nZSB9IGZyb20gJy4vY29udGV4dC1jaGFuZ2UnO1xuaW1wb3J0IHsgTGVhdmVzUmVuZGVyIH0gZnJvbSAnLi9yZW5kZXIvbGVhdmVzLXJlbmRlcic7XG5pbXBvcnQgeyBMaXN0UmVuZGVyLCBhZGRBZnRlclZpZXdJbml0UXVldWUgfSBmcm9tICcuL3JlbmRlci9saXN0LXJlbmRlcic7XG5cbi8qKlxuICogYmFzZSBjbGFzcyBmb3IgdGVtcGxhdGVcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCYXNlRW1iZWRkZWRWaWV3PFQsIEsgZXh0ZW5kcyBBbmd1bGFyRWRpdG9yID0gQW5ndWxhckVkaXRvcj4ge1xuICAgIGNvbnRleHQ6IFQ7XG4gICAgdmlld0NvbnRleHQ6IFNsYXRlVmlld0NvbnRleHQ8Sz47XG59XG5cbi8qKlxuICogYmFzZSBjbGFzcyBmb3IgY3VzdG9tIGVsZW1lbnQgY29tcG9uZW50IG9yIHRleHQgY29tcG9uZW50XG4gKi9cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VDb21wb25lbnQ8XG4gICAgVCA9IFNsYXRlVGV4dENvbnRleHQgfCBTbGF0ZUxlYWZDb250ZXh0IHwgU2xhdGVFbGVtZW50Q29udGV4dCxcbiAgICBLIGV4dGVuZHMgQW5ndWxhckVkaXRvciA9IEFuZ3VsYXJFZGl0b3Jcbj4ge1xuICAgIGluaXRpYWxpemVkID0gZmFsc2U7XG5cbiAgICBwcm90ZWN0ZWQgX2NvbnRleHQ6IFQ7XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCBjb250ZXh0KHZhbHVlOiBUKSB7XG4gICAgICAgIGlmIChoYXNCZWZvcmVDb250ZXh0Q2hhbmdlPFQ+KHRoaXMpKSB7XG4gICAgICAgICAgICB0aGlzLmJlZm9yZUNvbnRleHRDaGFuZ2UodmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2NvbnRleHQgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5vbkNvbnRleHRDaGFuZ2UoKTtcbiAgICAgICAgaWYgKHRoaXMuaW5pdGlhbGl6ZWQpIHtcbiAgICAgICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaGFzQWZ0ZXJDb250ZXh0Q2hhbmdlPFQ+KHRoaXMpKSB7XG4gICAgICAgICAgICB0aGlzLmFmdGVyQ29udGV4dENoYW5nZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0IGNvbnRleHQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jb250ZXh0O1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHZpZXdDb250ZXh0OiBTbGF0ZVZpZXdDb250ZXh0PEs+O1xuXG4gICAgZ2V0IGVkaXRvcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmlld0NvbnRleHQgJiYgdGhpcy52aWV3Q29udGV4dC5lZGl0b3I7XG4gICAgfVxuXG4gICAgZ2V0IG5hdGl2ZUVsZW1lbnQoKTogSFRNTEVsZW1lbnQge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgfVxuXG4gICAgcHVibGljIGVsZW1lbnRSZWYgPSBpbmplY3QoRWxlbWVudFJlZik7XG5cbiAgICBwdWJsaWMgY2RyID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcblxuICAgIGFic3RyYWN0IG9uQ29udGV4dENoYW5nZSgpO1xufVxuXG4vKipcbiAqIGJhc2UgY2xhc3MgZm9yIGN1c3RvbSBsZWFmIGNvbXBvbmVudFxuICovXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBjbGFzcyBCYXNlTGVhZkNvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQ8U2xhdGVMZWFmQ29udGV4dD4gaW1wbGVtZW50cyBPbkluaXQge1xuICAgIHBsYWNlaG9sZGVyRWxlbWVudDogSFRNTFNwYW5FbGVtZW50O1xuXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtc2xhdGUtbGVhZicpIGlzU2xhdGVMZWFmID0gdHJ1ZTtcblxuICAgIGdldCB0ZXh0KCk6IFRleHQge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250ZXh0ICYmIHRoaXMuY29udGV4dC50ZXh0O1xuICAgIH1cblxuICAgIGdldCBsZWFmKCk6IFRleHQge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250ZXh0ICYmIHRoaXMuY29udGV4dC5sZWFmO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmluaXRpYWxpemVkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBvbkNvbnRleHRDaGFuZ2UoKSB7XG4gICAgICAgIGlmICghdGhpcy5pbml0aWFsaXplZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmVuZGVyUGxhY2Vob2xkZXIoKSB7XG4gICAgICAgIC8vIGlzc3VlLTE6IElNRSBpbnB1dCB3YXMgaW50ZXJydXB0ZWRcbiAgICAgICAgLy8gaXNzdWUtMjogSU1FIGlucHV0IGZvY3VzIGp1bXBpbmdcbiAgICAgICAgLy8gSXNzdWUgb2NjdXJzIHdoZW4gdGhlIHNwYW4gbm9kZSBvZiB0aGUgcGxhY2Vob2xkZXIgaXMgYmVmb3JlIHRoZSBzbGF0ZVN0cmluZyBzcGFuIG5vZGVcbiAgICAgICAgaWYgKHRoaXMuY29udGV4dC5sZWFmWydwbGFjZWhvbGRlciddKSB7XG4gICAgICAgICAgICBpZiAoIXRoaXMucGxhY2Vob2xkZXJFbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jcmVhdGVQbGFjZWhvbGRlcigpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy51cGRhdGVQbGFjZWhvbGRlcigpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5kZXN0cm95UGxhY2Vob2xkZXIoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNyZWF0ZVBsYWNlaG9sZGVyKCkge1xuICAgICAgICBjb25zdCBwbGFjZWhvbGRlckVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJyk7XG4gICAgICAgIHBsYWNlaG9sZGVyRWxlbWVudC5pbm5lclRleHQgPSB0aGlzLmNvbnRleHQubGVhZlsncGxhY2Vob2xkZXInXTtcbiAgICAgICAgcGxhY2Vob2xkZXJFbGVtZW50LmNvbnRlbnRFZGl0YWJsZSA9ICdmYWxzZSc7XG4gICAgICAgIHBsYWNlaG9sZGVyRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2RhdGEtc2xhdGUtcGxhY2Vob2xkZXInLCAndHJ1ZScpO1xuICAgICAgICB0aGlzLnBsYWNlaG9sZGVyRWxlbWVudCA9IHBsYWNlaG9sZGVyRWxlbWVudDtcbiAgICAgICAgdGhpcy5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ2xlYWYtd2l0aC1wbGFjZWhvbGRlcicpO1xuICAgICAgICB0aGlzLm5hdGl2ZUVsZW1lbnQuYXBwZW5kQ2hpbGQocGxhY2Vob2xkZXJFbGVtZW50KTtcbiAgICB9XG5cbiAgICB1cGRhdGVQbGFjZWhvbGRlcigpIHtcbiAgICAgICAgaWYgKHRoaXMucGxhY2Vob2xkZXJFbGVtZW50LmlubmVyVGV4dCAhPT0gdGhpcy5jb250ZXh0LmxlYWZbJ3BsYWNlaG9sZGVyJ10pIHtcbiAgICAgICAgICAgIHRoaXMucGxhY2Vob2xkZXJFbGVtZW50LmlubmVyVGV4dCA9IHRoaXMuY29udGV4dC5sZWFmWydwbGFjZWhvbGRlciddO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZGVzdHJveVBsYWNlaG9sZGVyKCkge1xuICAgICAgICBpZiAodGhpcy5wbGFjZWhvbGRlckVsZW1lbnQpIHtcbiAgICAgICAgICAgIHRoaXMucGxhY2Vob2xkZXJFbGVtZW50LnJlbW92ZSgpO1xuICAgICAgICAgICAgdGhpcy5wbGFjZWhvbGRlckVsZW1lbnQgPSBudWxsO1xuICAgICAgICAgICAgdGhpcy5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ2xlYWYtd2l0aC1wbGFjZWhvbGRlcicpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKipcbiAqIGJhc2UgY2xhc3MgZm9yIGN1c3RvbSBlbGVtZW50IGNvbXBvbmVudFxuICovXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBjbGFzcyBCYXNlRWxlbWVudENvbXBvbmVudDxUIGV4dGVuZHMgRWxlbWVudCA9IEVsZW1lbnQsIEsgZXh0ZW5kcyBBbmd1bGFyRWRpdG9yID0gQW5ndWxhckVkaXRvcj5cbiAgICBleHRlbmRzIEJhc2VDb21wb25lbnQ8U2xhdGVFbGVtZW50Q29udGV4dDxUPiwgSz5cbiAgICBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95XG57XG4gICAgdmlld0NvbnRhaW5lclJlZiA9IGluamVjdChWaWV3Q29udGFpbmVyUmVmKTtcblxuICAgIGNoaWxkcmVuQ29udGV4dDogU2xhdGVDaGlsZHJlbkNvbnRleHQ7XG5cbiAgICBAVmlld0NoaWxkKFNsYXRlQ2hpbGRyZW5PdXRsZXQsIHsgc3RhdGljOiB0cnVlIH0pXG4gICAgY2hpbGRyZW5PdXRsZXRJbnN0YW5jZT86IFNsYXRlQ2hpbGRyZW5PdXRsZXQ7XG5cbiAgICBnZXQgZWxlbWVudCgpOiBUIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbnRleHQgJiYgdGhpcy5fY29udGV4dC5lbGVtZW50O1xuICAgIH1cblxuICAgIGdldCBzZWxlY3Rpb24oKTogUmFuZ2Uge1xuICAgICAgICByZXR1cm4gdGhpcy5fY29udGV4dCAmJiB0aGlzLl9jb250ZXh0LnNlbGVjdGlvbjtcbiAgICB9XG5cbiAgICBnZXQgZGVjb3JhdGlvbnMoKTogUmFuZ2VbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jb250ZXh0ICYmIHRoaXMuX2NvbnRleHQuZGVjb3JhdGlvbnM7XG4gICAgfVxuXG4gICAgZ2V0IGNoaWxkcmVuKCk6IERlc2NlbmRhbnRbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jb250ZXh0ICYmIHRoaXMuX2NvbnRleHQuZWxlbWVudC5jaGlsZHJlbjtcbiAgICB9XG5cbiAgICBnZXQgaXNDb2xsYXBzZWQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnNlbGVjdGlvbiAmJiBSYW5nZS5pc0NvbGxhcHNlZCh0aGlzLnNlbGVjdGlvbik7XG4gICAgfVxuXG4gICAgZ2V0IGlzQ29sbGFwc2VkQW5kTm9uUmVhZG9ubHkoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnNlbGVjdGlvbiAmJiBSYW5nZS5pc0NvbGxhcHNlZCh0aGlzLnNlbGVjdGlvbikgJiYgIXRoaXMucmVhZG9ubHk7XG4gICAgfVxuXG4gICAgZ2V0IHJlYWRvbmx5KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fY29udGV4dCAmJiB0aGlzLl9jb250ZXh0LnJlYWRvbmx5O1xuICAgIH1cblxuICAgIGdldE91dGxldFBhcmVudCA9ICgpID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgIH07XG5cbiAgICBnZXRPdXRsZXRFbGVtZW50ID0gKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5jaGlsZHJlbk91dGxldEluc3RhbmNlKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5jaGlsZHJlbk91dGxldEluc3RhbmNlLmdldE5hdGl2ZUVsZW1lbnQoKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9O1xuXG4gICAgbGlzdFJlbmRlcjogTGlzdFJlbmRlcjtcblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiB0aGlzLl9jb250ZXh0LmF0dHJpYnV0ZXMpIHtcbiAgICAgICAgICAgIHRoaXMubmF0aXZlRWxlbWVudC5zZXRBdHRyaWJ1dGUoa2V5LCB0aGlzLl9jb250ZXh0LmF0dHJpYnV0ZXNba2V5XSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5pbml0aWFsaXplZCA9IHRydWU7XG4gICAgICAgIHRoaXMubGlzdFJlbmRlciA9IG5ldyBMaXN0UmVuZGVyKHRoaXMudmlld0NvbnRleHQsIHRoaXMudmlld0NvbnRhaW5lclJlZiwgdGhpcy5nZXRPdXRsZXRQYXJlbnQsIHRoaXMuZ2V0T3V0bGV0RWxlbWVudCk7XG4gICAgICAgIGlmICh0aGlzLmVkaXRvci5pc0V4cGFuZGVkKHRoaXMuZWxlbWVudCkpIHtcbiAgICAgICAgICAgIHRoaXMubGlzdFJlbmRlci5pbml0aWFsaXplKHRoaXMuY2hpbGRyZW4sIHRoaXMuZWxlbWVudCwgdGhpcy5jaGlsZHJlbkNvbnRleHQpO1xuICAgICAgICB9XG4gICAgICAgIGFkZEFmdGVyVmlld0luaXRRdWV1ZSh0aGlzLmVkaXRvciwgKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5hZnRlclZpZXdJbml0KCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGFmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIGlmICh0aGlzLl9jb250ZXh0LmNvbnRlbnRFZGl0YWJsZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aGlzLm5hdGl2ZUVsZW1lbnQuc2V0QXR0cmlidXRlKCdjb250ZW50ZWRpdGFibGUnLCB0aGlzLl9jb250ZXh0LmNvbnRlbnRFZGl0YWJsZSArICcnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHVwZGF0ZVdlYWtNYXAoKSB7XG4gICAgICAgIE5PREVfVE9fRUxFTUVOVC5zZXQodGhpcy5lbGVtZW50LCB0aGlzLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICBFTEVNRU5UX1RPX05PREUuc2V0KHRoaXMubmF0aXZlRWxlbWVudCwgdGhpcy5lbGVtZW50KTtcbiAgICAgICAgRUxFTUVOVF9UT19DT01QT05FTlQuc2V0KHRoaXMuZWxlbWVudCwgdGhpcyk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIGlmIChOT0RFX1RPX0VMRU1FTlQuZ2V0KHRoaXMuZWxlbWVudCkgPT09IHRoaXMubmF0aXZlRWxlbWVudCkge1xuICAgICAgICAgICAgTk9ERV9UT19FTEVNRU5ULmRlbGV0ZSh0aGlzLmVsZW1lbnQpO1xuICAgICAgICB9XG4gICAgICAgIEVMRU1FTlRfVE9fTk9ERS5kZWxldGUodGhpcy5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgaWYgKEVMRU1FTlRfVE9fQ09NUE9ORU5ULmdldCh0aGlzLmVsZW1lbnQpID09PSB0aGlzKSB7XG4gICAgICAgICAgICBFTEVNRU5UX1RPX0NPTVBPTkVOVC5kZWxldGUodGhpcy5lbGVtZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uQ29udGV4dENoYW5nZSgpIHtcbiAgICAgICAgdGhpcy5jaGlsZHJlbkNvbnRleHQgPSB0aGlzLmdldENoaWxkcmVuQ29udGV4dCgpO1xuICAgICAgICB0aGlzLnVwZGF0ZVdlYWtNYXAoKTtcbiAgICAgICAgaWYgKCF0aGlzLmluaXRpYWxpemVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy51cGRhdGVDaGlsZHJlblZpZXcoKTtcbiAgICB9XG5cbiAgICB1cGRhdGVDaGlsZHJlblZpZXcoKSB7XG4gICAgICAgIGlmICh0aGlzLmVkaXRvci5pc0V4cGFuZGVkKHRoaXMuZWxlbWVudCkpIHtcbiAgICAgICAgICAgIHRoaXMubGlzdFJlbmRlci51cGRhdGUodGhpcy5jaGlsZHJlbiwgdGhpcy5lbGVtZW50LCB0aGlzLmNoaWxkcmVuQ29udGV4dCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAodGhpcy5saXN0UmVuZGVyLmluaXRpYWxpemVkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5saXN0UmVuZGVyLmRlc3Ryb3koKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldENoaWxkcmVuQ29udGV4dCgpOiBTbGF0ZUNoaWxkcmVuQ29udGV4dCB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBwYXJlbnQ6IHRoaXMuX2NvbnRleHQuZWxlbWVudCxcbiAgICAgICAgICAgIHNlbGVjdGlvbjogdGhpcy5fY29udGV4dC5zZWxlY3Rpb24sXG4gICAgICAgICAgICBkZWNvcmF0aW9uczogdGhpcy5fY29udGV4dC5kZWNvcmF0aW9ucyxcbiAgICAgICAgICAgIGRlY29yYXRlOiB0aGlzLl9jb250ZXh0LmRlY29yYXRlLFxuICAgICAgICAgICAgcmVhZG9ubHk6IHRoaXMuX2NvbnRleHQucmVhZG9ubHlcbiAgICAgICAgfTtcbiAgICB9XG59XG5cbi8qKlxuICogYmFzZSBjbGFzcyBmb3IgY3VzdG9tIHRleHQgY29tcG9uZW50XG4gKi9cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGNsYXNzIEJhc2VUZXh0Q29tcG9uZW50PFQgZXh0ZW5kcyBUZXh0ID0gVGV4dD4gZXh0ZW5kcyBCYXNlQ29tcG9uZW50PFNsYXRlVGV4dENvbnRleHQ8VD4+IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIHZpZXdDb250YWluZXJSZWYgPSBpbmplY3QoVmlld0NvbnRhaW5lclJlZik7XG5cbiAgICBnZXQgdGV4dCgpOiBUIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbnRleHQgJiYgdGhpcy5fY29udGV4dC50ZXh0O1xuICAgIH1cblxuICAgIGxlYXZlc1JlbmRlcjogTGVhdmVzUmVuZGVyO1xuXG4gICAgQFZpZXdDaGlsZChTbGF0ZUNoaWxkcmVuT3V0bGV0LCB7IHN0YXRpYzogdHJ1ZSB9KVxuICAgIGNoaWxkcmVuT3V0bGV0SW5zdGFuY2U/OiBTbGF0ZUNoaWxkcmVuT3V0bGV0O1xuXG4gICAgZ2V0T3V0bGV0UGFyZW50ID0gKCkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgfTtcblxuICAgIGdldE91dGxldEVsZW1lbnQgPSAoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLmNoaWxkcmVuT3V0bGV0SW5zdGFuY2UpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmNoaWxkcmVuT3V0bGV0SW5zdGFuY2UuZ2V0TmF0aXZlRWxlbWVudCgpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH07XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplZCA9IHRydWU7XG4gICAgICAgIHRoaXMubGVhdmVzUmVuZGVyID0gbmV3IExlYXZlc1JlbmRlcih0aGlzLnZpZXdDb250ZXh0LCB0aGlzLnZpZXdDb250YWluZXJSZWYsIHRoaXMuZ2V0T3V0bGV0UGFyZW50LCB0aGlzLmdldE91dGxldEVsZW1lbnQpO1xuICAgICAgICB0aGlzLmxlYXZlc1JlbmRlci5pbml0aWFsaXplKHRoaXMuY29udGV4dCk7XG4gICAgfVxuXG4gICAgdXBkYXRlV2Vha01hcCgpIHtcbiAgICAgICAgRUxFTUVOVF9UT19OT0RFLnNldCh0aGlzLm5hdGl2ZUVsZW1lbnQsIHRoaXMudGV4dCk7XG4gICAgICAgIE5PREVfVE9fRUxFTUVOVC5zZXQodGhpcy50ZXh0LCB0aGlzLm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICBpZiAoTk9ERV9UT19FTEVNRU5ULmdldCh0aGlzLnRleHQpID09PSB0aGlzLm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIE5PREVfVE9fRUxFTUVOVC5kZWxldGUodGhpcy50ZXh0KTtcbiAgICAgICAgfVxuICAgICAgICBFTEVNRU5UX1RPX05PREUuZGVsZXRlKHRoaXMubmF0aXZlRWxlbWVudCk7XG4gICAgfVxuXG4gICAgb25Db250ZXh0Q2hhbmdlKCkge1xuICAgICAgICB0aGlzLnVwZGF0ZVdlYWtNYXAoKTtcbiAgICAgICAgaWYgKCF0aGlzLmluaXRpYWxpemVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5sZWF2ZXNSZW5kZXIudXBkYXRlKHRoaXMuY29udGV4dCk7XG4gICAgfVxufVxuIl19
|
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
import { Directive, inject, Input, ViewContainerRef } from '@angular/core';
|
|
2
|
-
import { isComponentType, isDOMElement, isTemplateRef } from '../utils';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
/**
|
|
5
|
-
* Dynamically create/update components or templates
|
|
6
|
-
* Provide rootNodes for the view container
|
|
7
|
-
* If the dynamically created component uses onpush mode, then it must call markForCheck when setting the context
|
|
8
|
-
*/
|
|
9
|
-
export class ViewContainerItem {
|
|
10
|
-
constructor() {
|
|
11
|
-
this.initialized = false;
|
|
12
|
-
this.viewContainerRef = inject(ViewContainerRef);
|
|
13
|
-
}
|
|
14
|
-
get rootNodes() {
|
|
15
|
-
return this.getRootNodes();
|
|
16
|
-
}
|
|
17
|
-
getRootNodes() {
|
|
18
|
-
if (this.embeddedViewRef) {
|
|
19
|
-
return this.embeddedViewRef.rootNodes.filter(rootNode => isDOMElement(rootNode));
|
|
20
|
-
}
|
|
21
|
-
if (this.componentRef) {
|
|
22
|
-
return [this.componentRef.instance.nativeElement];
|
|
23
|
-
}
|
|
24
|
-
return [];
|
|
25
|
-
}
|
|
26
|
-
destroyView() {
|
|
27
|
-
if (this.embeddedViewRef) {
|
|
28
|
-
this.embeddedViewRef.destroy();
|
|
29
|
-
this.embeddedViewRef = null;
|
|
30
|
-
}
|
|
31
|
-
if (this.componentRef) {
|
|
32
|
-
this.componentRef.destroy();
|
|
33
|
-
this.componentRef = null;
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
createView() {
|
|
37
|
-
this.initialized = true;
|
|
38
|
-
this.viewType = this.getViewType();
|
|
39
|
-
const context = this.getContext();
|
|
40
|
-
if (isTemplateRef(this.viewType)) {
|
|
41
|
-
this.embeddedViewContext = {
|
|
42
|
-
context,
|
|
43
|
-
viewContext: this.viewContext
|
|
44
|
-
};
|
|
45
|
-
const embeddedViewRef = this.viewContainerRef.createEmbeddedView(this.viewType, this.embeddedViewContext);
|
|
46
|
-
this.embeddedViewRef = embeddedViewRef;
|
|
47
|
-
}
|
|
48
|
-
if (isComponentType(this.viewType)) {
|
|
49
|
-
const componentRef = this.viewContainerRef.createComponent(this.viewType);
|
|
50
|
-
componentRef.instance.viewContext = this.viewContext;
|
|
51
|
-
componentRef.instance.context = context;
|
|
52
|
-
this.componentRef = componentRef;
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
updateView() {
|
|
56
|
-
const viewType = this.getViewType();
|
|
57
|
-
const context = this.getContext();
|
|
58
|
-
if (this.viewType === viewType) {
|
|
59
|
-
if (this.componentRef) {
|
|
60
|
-
if (this.memoizedContext(this.componentRef.instance.context, context)) {
|
|
61
|
-
return;
|
|
62
|
-
}
|
|
63
|
-
this.componentRef.instance.context = context;
|
|
64
|
-
}
|
|
65
|
-
if (this.embeddedViewRef) {
|
|
66
|
-
if (this.memoizedContext(this.embeddedViewContext.context, context)) {
|
|
67
|
-
return;
|
|
68
|
-
}
|
|
69
|
-
this.embeddedViewContext.context = context;
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
else {
|
|
73
|
-
this.viewType = viewType;
|
|
74
|
-
const firstRootNode = this.rootNodes[0];
|
|
75
|
-
if (isTemplateRef(this.viewType)) {
|
|
76
|
-
this.embeddedViewContext = {
|
|
77
|
-
context,
|
|
78
|
-
viewContext: this.viewContext
|
|
79
|
-
};
|
|
80
|
-
const embeddedViewRef = this.viewContainerRef.createEmbeddedView(this.viewType, this.embeddedViewContext);
|
|
81
|
-
firstRootNode.replaceWith(...embeddedViewRef.rootNodes.filter(rootNode => isDOMElement(rootNode)));
|
|
82
|
-
this.destroyView();
|
|
83
|
-
this.embeddedViewRef = embeddedViewRef;
|
|
84
|
-
}
|
|
85
|
-
if (isComponentType(this.viewType)) {
|
|
86
|
-
const componentRef = this.viewContainerRef.createComponent(this.viewType);
|
|
87
|
-
componentRef.instance.viewContext = this.viewContext;
|
|
88
|
-
componentRef.instance.context = context;
|
|
89
|
-
firstRootNode.replaceWith(componentRef.instance.nativeElement);
|
|
90
|
-
this.destroyView();
|
|
91
|
-
this.componentRef = componentRef;
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
appendBlockCardElement() {
|
|
96
|
-
if (this.blockCardComponentRef) {
|
|
97
|
-
this.blockCardComponentRef.instance.append();
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ViewContainerItem, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
101
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.0", type: ViewContainerItem, inputs: { viewContext: "viewContext" }, ngImport: i0 }); }
|
|
102
|
-
}
|
|
103
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ViewContainerItem, decorators: [{
|
|
104
|
-
type: Directive
|
|
105
|
-
}], propDecorators: { viewContext: [{
|
|
106
|
-
type: Input
|
|
107
|
-
}] } });
|
|
108
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFpbmVyLWl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wYWNrYWdlcy9zcmMvdmlldy9jb250YWluZXItaXRlbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdCLFNBQVMsRUFBbUIsTUFBTSxFQUFFLEtBQUssRUFBZSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUt2SCxPQUFPLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsTUFBTSxVQUFVLENBQUM7O0FBSXhFOzs7O0dBSUc7QUFFSCxNQUFNLE9BQWdCLGlCQUFpQjtJQUR2QztRQUtJLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBdUJWLHFCQUFnQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0tBMEZ6RDtJQXhHRyxJQUFJLFNBQVM7UUFDVCxPQUFPLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRUQsWUFBWTtRQUNSLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3ZCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFrQixDQUFDO1FBQ3RHLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNwQixPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDdEQsQ0FBQztRQUNELE9BQU8sRUFBRSxDQUFDO0lBQ2QsQ0FBQztJQUlELFdBQVc7UUFDUCxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQy9CLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDO1FBQ2hDLENBQUM7UUFDRCxJQUFJLElBQUks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LE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ25HLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFDbkIsSUFBSSxDQUFDLGVBQWUsR0FBRyxlQUFlLENBQUM7WUFDM0MsQ0FBQztZQUNELElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO2dCQUNqQyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQXNCLENBQUM7Z0JBQy9GLFlBQVksQ0FBQyxRQUFRLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7Z0JBQ3JELFlBQVksQ0FBQyxRQUFRLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztnQkFDeEMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDO2dCQUMvRCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQ25CLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO1lBQ3JDLENBQUM7UUFDTCxDQUFDO0lBQ0wsQ0FBQztJQUVELHNCQUFzQjtRQUNsQixJQUFJLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1lBQzdCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDakQsQ0FBQztJQUNMLENBQUM7OEdBcEhpQixpQkFBaUI7a0dBQWpCLGlCQUFpQjs7MkZBQWpCLGlCQUFpQjtrQkFEdEMsU0FBUzs4QkFZRyxXQUFXO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50UmVmLCBEaXJlY3RpdmUsIEVtYmVkZGVkVmlld1JlZiwgaW5qZWN0LCBJbnB1dCwgVGVtcGxhdGVSZWYsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNsYXRlQmxvY2tDYXJkIH0gZnJvbSAnLi4vY29tcG9uZW50cy9ibG9jay1jYXJkL2Jsb2NrLWNhcmQuY29tcG9uZW50JztcbmltcG9ydCB7IEFuZ3VsYXJFZGl0b3IgfSBmcm9tICcuLi9wbHVnaW5zL2FuZ3VsYXItZWRpdG9yJztcblxuaW1wb3J0IHsgVmlld1R5cGUgfSBmcm9tICcuLi90eXBlcy92aWV3JztcbmltcG9ydCB7IGlzQ29tcG9uZW50VHlwZSwgaXNET01FbGVtZW50LCBpc1RlbXBsYXRlUmVmIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCwgQmFzZUVtYmVkZGVkVmlldyB9IGZyb20gJy4vYmFzZSc7XG5pbXBvcnQgeyBTbGF0ZUVsZW1lbnRDb250ZXh0LCBTbGF0ZUxlYWZDb250ZXh0LCBTbGF0ZVN0cmluZ0NvbnRleHQsIFNsYXRlVGV4dENvbnRleHQsIFNsYXRlVmlld0NvbnRleHQgfSBmcm9tICcuL2NvbnRleHQnO1xuXG4vKipcbiAqIER5bmFtaWNhbGx5IGNyZWF0ZS91cGRhdGUgY29tcG9uZW50cyBvciB0ZW1wbGF0ZXNcbiAqIFByb3ZpZGUgcm9vdE5vZGVzIGZvciB0aGUgdmlldyBjb250YWluZXJcbiAqIElmIHRoZSBkeW5hbWljYWxseSBjcmVhdGVkIGNvbXBvbmVudCB1c2VzIG9ucHVzaCBtb2RlLCB0aGVuIGl0IG11c3QgY2FsbCBtYXJrRm9yQ2hlY2sgd2hlbiBzZXR0aW5nIHRoZSBjb250ZXh0XG4gKi9cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFZpZXdDb250YWluZXJJdGVtPFxuICAgIFQgPSBTbGF0ZUVsZW1lbnRDb250ZXh0IHwgU2xhdGVUZXh0Q29udGV4dCB8IFNsYXRlTGVhZkNvbnRleHQgfCBTbGF0ZVN0cmluZ0NvbnRleHQsXG4gICAgSyBleHRlbmRzIEJhc2VDb21wb25lbnQ8VD4gPSBCYXNlQ29tcG9uZW50PFQ+XG4+IHtcbiAgICBpbml0aWFsaXplZCA9IGZhbHNlO1xuICAgIGVtYmVkZGVkVmlld1JlZjogRW1iZWRkZWRWaWV3UmVmPEJhc2VFbWJlZGRlZFZpZXc8VD4+O1xuICAgIGVtYmVkZGVkVmlld0NvbnRleHQ6IEJhc2VFbWJlZGRlZFZpZXc8VD47XG4gICAgYmxvY2tDYXJkQ29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8U2xhdGVCbG9ja0NhcmQ+O1xuICAgIGNvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPEs+O1xuICAgIHZpZXdUeXBlOiBWaWV3VHlwZTtcblxuICAgIEBJbnB1dCgpIHZpZXdDb250ZXh0OiBTbGF0ZVZpZXdDb250ZXh0O1xuXG4gICAgZ2V0IHJvb3ROb2RlcygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Um9vdE5vZGVzKCk7XG4gICAgfVxuXG4gICAgZ2V0Um9vdE5vZGVzKCk6IEhUTUxFbGVtZW50W10ge1xuICAgICAgICBpZiAodGhpcy5lbWJlZGRlZFZpZXdSZWYpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmVtYmVkZGVkVmlld1JlZi5yb290Tm9kZXMuZmlsdGVyKHJvb3ROb2RlID0+IGlzRE9NRWxlbWVudChyb290Tm9kZSkpIGFzIEhUTUxFbGVtZW50W107XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuY29tcG9uZW50UmVmKSB7XG4gICAgICAgICAgICByZXR1cm4gW3RoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlLm5hdGl2ZUVsZW1lbnRdO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgdmlld0NvbnRhaW5lclJlZiA9IGluamVjdChWaWV3Q29udGFpbmVyUmVmKTtcblxuICAgIGRlc3Ryb3lWaWV3KCkge1xuICAgICAgICBpZiAodGhpcy5lbWJlZGRlZFZpZXdSZWYpIHtcbiAgICAgICAgICAgIHRoaXMuZW1iZWRkZWRWaWV3UmVmLmRlc3Ryb3koKTtcbiAgICAgICAgICAgIHRoaXMuZW1iZWRkZWRWaWV3UmVmID0gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5jb21wb25lbnRSZWYpIHtcbiAgICAgICAgICAgIHRoaXMuY29tcG9uZW50UmVmLmRlc3Ryb3koKTtcbiAgICAgICAgICAgIHRoaXMuY29tcG9uZW50UmVmID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGFic3RyYWN0IGdldENvbnRleHQoKTogVDtcblxuICAgIGFic3RyYWN0IGdldFZpZXdUeXBlKCk6IFZpZXdUeXBlO1xuXG4gICAgYWJzdHJhY3QgbWVtb2l6ZWRDb250ZXh0KHByZXY6IFQsIG5leHQ6IFQpOiBib29sZWFuO1xuXG4gICAgY3JlYXRlVmlldygpIHtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplZCA9IHRydWU7XG4gICAgICAgIHRoaXMudmlld1R5cGUgPSB0aGlzLmdldFZpZXdUeXBlKCk7XG4gICAgICAgIGNvbnN0IGNvbnRleHQgPSB0aGlzLmdldENvbnRleHQoKTtcbiAgICAgICAgaWYgKGlzVGVtcGxhdGVSZWYodGhpcy52aWV3VHlwZSkpIHtcbiAgICAgICAgICAgIHRoaXMuZW1iZWRkZWRWaWV3Q29udGV4dCA9IHtcbiAgICAgICAgICAgICAgICBjb250ZXh0LFxuICAgICAgICAgICAgICAgIHZpZXdDb250ZXh0OiB0aGlzLnZpZXdDb250ZXh0XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgY29uc3QgZW1iZWRkZWRWaWV3UmVmID0gdGhpcy52aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUVtYmVkZGVkVmlldzxCYXNlRW1iZWRkZWRWaWV3PFQ+PihcbiAgICAgICAgICAgICAgICB0aGlzLnZpZXdUeXBlIGFzIFRlbXBsYXRlUmVmPEJhc2VFbWJlZGRlZFZpZXc8VCwgQW5ndWxhckVkaXRvcj4+LFxuICAgICAgICAgICAgICAgIHRoaXMuZW1iZWRkZWRWaWV3Q29udGV4dFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHRoaXMuZW1iZWRkZWRWaWV3UmVmID0gZW1iZWRkZWRWaWV3UmVmO1xuICAgICAgICB9XG4gICAgICAgIGlmIChpc0NvbXBvbmVudFR5cGUodGhpcy52aWV3VHlwZSkpIHtcbiAgICAgICAgICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHRoaXMudmlld0NvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQodGhpcy52aWV3VHlwZSkgYXMgQ29tcG9uZW50UmVmPGFueT47XG4gICAgICAgICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2Uudmlld0NvbnRleHQgPSB0aGlzLnZpZXdDb250ZXh0O1xuICAgICAgICAgICAgY29tcG9uZW50UmVmLmluc3RhbmNlLmNvbnRleHQgPSBjb250ZXh0O1xuICAgICAgICAgICAgdGhpcy5jb21wb25lbnRSZWYgPSBjb21wb25lbnRSZWY7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB1cGRhdGVWaWV3KCkge1xuICAgICAgICBjb25zdCB2aWV3VHlwZSA9IHRoaXMuZ2V0Vmlld1R5cGUoKTtcbiAgICAgICAgY29uc3QgY29udGV4dCA9IHRoaXMuZ2V0Q29udGV4dCgpO1xuICAgICAgICBpZiAodGhpcy52aWV3VHlwZSA9PT0gdmlld1R5cGUpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmNvbXBvbmVudFJlZikge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLm1lbW9pemVkQ29udGV4dCh0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZS5jb250ZXh0LCBjb250ZXh0KSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlLmNvbnRleHQgPSBjb250ZXh0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHRoaXMuZW1iZWRkZWRWaWV3UmVmKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMubWVtb2l6ZWRDb250ZXh0KHRoaXMuZW1iZWRkZWRWaWV3Q29udGV4dC5jb250ZXh0LCBjb250ZXh0KSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMuZW1iZWRkZWRWaWV3Q29udGV4dC5jb250ZXh0ID0gY29udGV4dDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudmlld1R5cGUgPSB2aWV3VHlwZTtcbiAgICAgICAgICAgIGNvbnN0IGZpcnN0Um9vdE5vZGUgPSB0aGlzLnJvb3ROb2Rlc1swXTtcbiAgICAgICAgICAgIGlmIChpc1RlbXBsYXRlUmVmKHRoaXMudmlld1R5cGUpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5lbWJlZGRlZFZpZXdDb250ZXh0ID0ge1xuICAgICAgICAgICAgICAgICAgICBjb250ZXh0LFxuICAgICAgICAgICAgICAgICAgICB2aWV3Q29udGV4dDogdGhpcy52aWV3Q29udGV4dFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgY29uc3QgZW1iZWRkZWRWaWV3UmVmID0gdGhpcy52aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUVtYmVkZGVkVmlldzxCYXNlRW1iZWRkZWRWaWV3PFQ+PihcbiAgICAgICAgICAgICAgICAgICAgdGhpcy52aWV3VHlwZSBhcyBUZW1wbGF0ZVJlZjxCYXNlRW1iZWRkZWRWaWV3PFQsIEFuZ3VsYXJFZGl0b3I+PixcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lbWJlZGRlZFZpZXdDb250ZXh0XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICBmaXJzdFJvb3ROb2RlLnJlcGxhY2VXaXRoKC4uLmVtYmVkZGVkVmlld1JlZi5yb290Tm9kZXMuZmlsdGVyKHJvb3ROb2RlID0+IGlzRE9NRWxlbWVudChyb290Tm9kZSkpKTtcbiAgICAgICAgICAgICAgICB0aGlzLmRlc3Ryb3lWaWV3KCk7XG4gICAgICAgICAgICAgICAgdGhpcy5lbWJlZGRlZFZpZXdSZWYgPSBlbWJlZGRlZFZpZXdSZWY7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaXNDb21wb25lbnRUeXBlKHRoaXMudmlld1R5cGUpKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgY29tcG9uZW50UmVmID0gdGhpcy52aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudCh0aGlzLnZpZXdUeXBlKSBhcyBDb21wb25lbnRSZWY8YW55PjtcbiAgICAgICAgICAgICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2Uudmlld0NvbnRleHQgPSB0aGlzLnZpZXdDb250ZXh0O1xuICAgICAgICAgICAgICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZS5jb250ZXh0ID0gY29udGV4dDtcbiAgICAgICAgICAgICAgICBmaXJzdFJvb3ROb2RlLnJlcGxhY2VXaXRoKGNvbXBvbmVudFJlZi5pbnN0YW5jZS5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgICAgICAgICB0aGlzLmRlc3Ryb3lWaWV3KCk7XG4gICAgICAgICAgICAgICAgdGhpcy5jb21wb25lbnRSZWYgPSBjb21wb25lbnRSZWY7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhcHBlbmRCbG9ja0NhcmRFbGVtZW50KCkge1xuICAgICAgICBpZiAodGhpcy5ibG9ja0NhcmRDb21wb25lbnRSZWYpIHtcbiAgICAgICAgICAgIHRoaXMuYmxvY2tDYXJkQ29tcG9uZW50UmVmLmluc3RhbmNlLmFwcGVuZCgpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { Directive, Input } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
/**
|
|
4
|
-
* @deprecated
|
|
5
|
-
* the special container for angular template
|
|
6
|
-
* Add the rootNodes of each child component to the parentElement
|
|
7
|
-
* Remove useless DOM elements, eg: comment...
|
|
8
|
-
*/
|
|
9
|
-
export class ViewContainer {
|
|
10
|
-
constructor(elementRef, differs) {
|
|
11
|
-
this.elementRef = elementRef;
|
|
12
|
-
this.differs = differs;
|
|
13
|
-
}
|
|
14
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ViewContainer, deps: [{ token: i0.ElementRef }, { token: i0.IterableDiffers }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
15
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.0", type: ViewContainer, inputs: { viewContext: "viewContext" }, ngImport: i0 }); }
|
|
16
|
-
}
|
|
17
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ViewContainer, decorators: [{
|
|
18
|
-
type: Directive
|
|
19
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.IterableDiffers }], propDecorators: { viewContext: [{
|
|
20
|
-
type: Input
|
|
21
|
-
}] } });
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFpbmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGFja2FnZXMvc3JjL3ZpZXcvY29udGFpbmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsS0FBSyxFQUFtQixNQUFNLGVBQWUsQ0FBQzs7QUFJOUU7Ozs7O0dBS0c7QUFFSCxNQUFNLE9BQWdCLGFBQWE7SUFHL0IsWUFDYyxVQUEyQixFQUMzQixPQUF3QjtRQUR4QixlQUFVLEdBQVYsVUFBVSxDQUFpQjtRQUMzQixZQUFPLEdBQVAsT0FBTyxDQUFpQjtJQUNuQyxDQUFDOzhHQU5jLGFBQWE7a0dBQWIsYUFBYTs7MkZBQWIsYUFBYTtrQkFEbEMsU0FBUzs2R0FFRyxXQUFXO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCwgSXRlcmFibGVEaWZmZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTbGF0ZVZpZXdDb250ZXh0IH0gZnJvbSAnLi9jb250ZXh0JztcbmltcG9ydCB7IFZpZXdDb250YWluZXJJdGVtIH0gZnJvbSAnLi9jb250YWluZXItaXRlbSc7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWRcbiAqIHRoZSBzcGVjaWFsIGNvbnRhaW5lciBmb3IgYW5ndWxhciB0ZW1wbGF0ZVxuICogQWRkIHRoZSByb290Tm9kZXMgb2YgZWFjaCBjaGlsZCBjb21wb25lbnQgdG8gdGhlIHBhcmVudEVsZW1lbnRcbiAqIFJlbW92ZSB1c2VsZXNzIERPTSBlbGVtZW50cywgZWc6IGNvbW1lbnQuLi5cbiAqL1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgVmlld0NvbnRhaW5lcjxUIGV4dGVuZHMgVmlld0NvbnRhaW5lckl0ZW0+IHtcbiAgICBASW5wdXQoKSB2aWV3Q29udGV4dDogU2xhdGVWaWV3Q29udGV4dDtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcm90ZWN0ZWQgZWxlbWVudFJlZjogRWxlbWVudFJlZjxhbnk+LFxuICAgICAgICBwcm90ZWN0ZWQgZGlmZmVyczogSXRlcmFibGVEaWZmZXJzXG4gICAgKSB7fVxufVxuIl19
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
export function hasBeforeContextChange(value) {
|
|
2
|
-
if (value.beforeContextChange) {
|
|
3
|
-
return true;
|
|
4
|
-
}
|
|
5
|
-
return false;
|
|
6
|
-
}
|
|
7
|
-
export function hasAfterContextChange(value) {
|
|
8
|
-
if (value.afterContextChange) {
|
|
9
|
-
return true;
|
|
10
|
-
}
|
|
11
|
-
return false;
|
|
12
|
-
}
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1jaGFuZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wYWNrYWdlcy9zcmMvdmlldy9jb250ZXh0LWNoYW5nZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRQSxNQUFNLFVBQVUsc0JBQXNCLENBQUksS0FBSztJQUMzQyxJQUFJLEtBQUssQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQzVCLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFDRCxPQUFPLEtBQUssQ0FBQztBQUNqQixDQUFDO0FBRUQsTUFBTSxVQUFVLHFCQUFxQixDQUFJLEtBQUs7SUFDMUMsSUFBSSxLQUFLLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUMzQixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDakIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgQmVmb3JlQ29udGV4dENoYW5nZTxUPiB7XG4gICAgYmVmb3JlQ29udGV4dENoYW5nZTogKHZhbHVlOiBUKSA9PiB2b2lkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFmdGVyQ29udGV4dENoYW5nZTw+IHtcbiAgICBhZnRlckNvbnRleHRDaGFuZ2U6ICgpID0+IHZvaWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYXNCZWZvcmVDb250ZXh0Q2hhbmdlPFQ+KHZhbHVlKTogdmFsdWUgaXMgQmVmb3JlQ29udGV4dENoYW5nZTxUPiB7XG4gICAgaWYgKHZhbHVlLmJlZm9yZUNvbnRleHRDaGFuZ2UpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhhc0FmdGVyQ29udGV4dENoYW5nZTxUPih2YWx1ZSk6IHZhbHVlIGlzIEFmdGVyQ29udGV4dENoYW5nZSB7XG4gICAgaWYgKHZhbHVlLmFmdGVyQ29udGV4dENoYW5nZSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xufVxuIl19
|
package/esm2022/view/context.mjs
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL3NyYy92aWV3L2NvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5vZGVFbnRyeSwgUmFuZ2UsIEVsZW1lbnQsIEFuY2VzdG9yLCBUZXh0LCBQYXRoIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgU2xhdGVTdHJpbmdUZW1wbGF0ZSB9IGZyb20gJy4uL2NvbXBvbmVudHMvc3RyaW5nL3RlbXBsYXRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBbmd1bGFyRWRpdG9yIH0gZnJvbSAnLi4vcGx1Z2lucy9hbmd1bGFyLWVkaXRvcic7XG5pbXBvcnQgeyBDb21wb25lbnRUeXBlLCBWaWV3VHlwZSB9IGZyb20gJy4uL3R5cGVzL3ZpZXcnO1xuaW1wb3J0IHsgQmFzZUVsZW1lbnRDb21wb25lbnQsIEJhc2VMZWFmQ29tcG9uZW50LCBCYXNlVGV4dENvbXBvbmVudCB9IGZyb20gJy4vYmFzZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2xhdGVWaWV3Q29udGV4dDxUIGV4dGVuZHMgQW5ndWxhckVkaXRvciA9IEFuZ3VsYXJFZGl0b3I+IHtcbiAgICBlZGl0b3I6IFQ7XG4gICAgdGVtcGxhdGVDb21wb25lbnQ6IFNsYXRlU3RyaW5nVGVtcGxhdGU7XG4gICAgZGVmYXVsdEVsZW1lbnQ6IENvbXBvbmVudFR5cGU8QmFzZUVsZW1lbnRDb21wb25lbnQ+O1xuICAgIGRlZmF1bHRUZXh0OiBDb21wb25lbnRUeXBlPEJhc2VUZXh0Q29tcG9uZW50PjtcbiAgICBkZWZhdWx0Vm9pZFRleHQ6IENvbXBvbmVudFR5cGU8QmFzZVRleHRDb21wb25lbnQ+O1xuICAgIGRlZmF1bHRMZWFmOiBDb21wb25lbnRUeXBlPEJhc2VMZWFmQ29tcG9uZW50PjtcbiAgICB0cmFja0J5OiAoZWxlbWVudDogRWxlbWVudCkgPT4gYW55O1xuICAgIHJlbmRlckVsZW1lbnQ/OiAoZWxlbWVudDogRWxlbWVudCkgPT4gVmlld1R5cGU7XG4gICAgcmVuZGVyTGVhZj86ICh0ZXh0OiBUZXh0KSA9PiBWaWV3VHlwZTtcbiAgICByZW5kZXJUZXh0PzogKHRleHQ6IFRleHQpID0+IFZpZXdUeXBlO1xuICAgIGlzU3RyaWN0RGVjb3JhdGU6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2xhdGVDaGlsZHJlbkNvbnRleHQge1xuICAgIHBhcmVudDogQW5jZXN0b3I7XG4gICAgc2VsZWN0aW9uOiBSYW5nZTtcbiAgICBkZWNvcmF0aW9uczogUmFuZ2VbXTtcbiAgICBkZWNvcmF0ZTogKGVudHJ5OiBOb2RlRW50cnkpID0+IFJhbmdlW107XG4gICAgcmVhZG9ubHk6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2xhdGVFbGVtZW50Q29udGV4dDxUIGV4dGVuZHMgRWxlbWVudCA9IEVsZW1lbnQ+IHtcbiAgICBlbGVtZW50OiBUO1xuICAgIHNlbGVjdGlvbjogUmFuZ2UgfCBudWxsO1xuICAgIGRlY29yYXRpb25zOiBSYW5nZVtdO1xuICAgIGF0dHJpYnV0ZXM6IFNsYXRlRWxlbWVudEF0dHJpYnV0ZXM7XG4gICAgY29udGVudEVkaXRhYmxlPzogYm9vbGVhbjtcbiAgICBkZWNvcmF0ZTogKGVudHJ5OiBOb2RlRW50cnkpID0+IFJhbmdlW107XG4gICAgcmVhZG9ubHk6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2xhdGVUZXh0Q29udGV4dDxUIGV4dGVuZHMgVGV4dCA9IFRleHQ+IHtcbiAgICB0ZXh0OiBUO1xuICAgIGRlY29yYXRpb25zOiBSYW5nZVtdO1xuICAgIGlzTGFzdDogYm9vbGVhbjtcbiAgICBwYXJlbnQ6IEVsZW1lbnQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2xhdGVMZWFmQ29udGV4dCB7XG4gICAgbGVhZjogVGV4dDtcbiAgICB0ZXh0OiBUZXh0O1xuICAgIHBhcmVudDogRWxlbWVudDtcbiAgICBpc0xhc3Q6IGJvb2xlYW47XG4gICAgaW5kZXg6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTbGF0ZUVsZW1lbnRBdHRyaWJ1dGVzIHtcbiAgICAnZGF0YS1zbGF0ZS1ub2RlJzogJ2VsZW1lbnQnO1xuICAgICdkYXRhLXNsYXRlLXZvaWQnPzogYm9vbGVhbjtcbiAgICAnZGF0YS1zbGF0ZS1pbmxpbmUnPzogYm9vbGVhbjtcbiAgICAnZGF0YS1zbGF0ZS1rZXknPzogc3RyaW5nO1xuICAgIGRpcj86ICdydGwnO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNsYXRlU3RyaW5nQ29udGV4dCB7XG4gICAgdGV4dDogc3RyaW5nO1xuICAgIGVsZW1lbnRTdHJpbmdMZW5ndGg6IG51bWJlcjtcbiAgICB0eXBlOiAnc3RyaW5nJyB8ICdsaW5lQnJlYWtFbXB0eVN0cmluZyc7XG59XG4iXX0=
|