slate-angular 16.1.0-next.16 → 16.1.0-next.18
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/components/text/void-text.component.d.ts +0 -1
- package/esm2022/components/text/void-text.component.mjs +2 -6
- package/esm2022/view/base.mjs +7 -1
- package/esm2022/view/context.mjs +1 -1
- package/esm2022/view/render/list-render.mjs +20 -3
- package/esm2022/view/render/utils.mjs +4 -7
- package/fesm2022/slate-angular.mjs +28 -11
- package/fesm2022/slate-angular.mjs.map +1 -1
- package/package.json +1 -1
- package/plugins/angular-editor.d.ts +1 -1
- package/view/base.d.ts +1 -0
- package/view/context.d.ts +1 -1
- package/view/render/list-render.d.ts +2 -0
- package/view/render/utils.d.ts +1 -1
|
@@ -1836,12 +1836,9 @@ function createEmbeddedViewOrComponent(viewType, context, viewContext, viewConta
|
|
|
1836
1836
|
return componentRef;
|
|
1837
1837
|
}
|
|
1838
1838
|
}
|
|
1839
|
-
function
|
|
1840
|
-
if (view instanceof ComponentRef) {
|
|
1841
|
-
view.
|
|
1842
|
-
}
|
|
1843
|
-
else {
|
|
1844
|
-
view.detectChanges();
|
|
1839
|
+
function executeAfterViewInit(view) {
|
|
1840
|
+
if (view instanceof ComponentRef && view.instance.afterViewInit) {
|
|
1841
|
+
view.instance.afterViewInit();
|
|
1845
1842
|
}
|
|
1846
1843
|
}
|
|
1847
1844
|
function updateContext(view, newContext, viewContext) {
|
|
@@ -1939,6 +1936,7 @@ class ListRender {
|
|
|
1939
1936
|
this.getOutletParent = getOutletParent;
|
|
1940
1937
|
this.getOutletElement = getOutletElement;
|
|
1941
1938
|
this.views = [];
|
|
1939
|
+
this.addedViews = [];
|
|
1942
1940
|
this.blockCards = [];
|
|
1943
1941
|
this.contexts = [];
|
|
1944
1942
|
this.viewTypes = [];
|
|
@@ -1957,6 +1955,7 @@ class ListRender {
|
|
|
1957
1955
|
const view = createEmbeddedViewOrComponent(viewType, context, this.viewContext, this.viewContainerRef);
|
|
1958
1956
|
const blockCard = createBlockCard(descendant, view, this.viewContainerRef, this.viewContext);
|
|
1959
1957
|
this.views.push(view);
|
|
1958
|
+
this.addedViews.push(view);
|
|
1960
1959
|
this.contexts.push(context);
|
|
1961
1960
|
this.viewTypes.push(viewType);
|
|
1962
1961
|
this.blockCards.push(blockCard);
|
|
@@ -1965,6 +1964,9 @@ class ListRender {
|
|
|
1965
1964
|
const newDiffers = this.viewContainerRef.injector.get(IterableDiffers);
|
|
1966
1965
|
this.differ = newDiffers.find(children).create(trackBy$1(this.viewContext));
|
|
1967
1966
|
this.differ.diff(children);
|
|
1967
|
+
if (parent === this.viewContext.editor) {
|
|
1968
|
+
this.afterViewInit();
|
|
1969
|
+
}
|
|
1968
1970
|
}
|
|
1969
1971
|
update(children, parent, childrenContext) {
|
|
1970
1972
|
if (!this.initialized || this.children.length === 0) {
|
|
@@ -1996,6 +1998,7 @@ class ListRender {
|
|
|
1996
1998
|
blockCard = createBlockCard(record.item, view, this.viewContainerRef, this.viewContext);
|
|
1997
1999
|
newContexts.push(context);
|
|
1998
2000
|
newViews.push(view);
|
|
2001
|
+
this.addedViews.push(view);
|
|
1999
2002
|
newBlockCards.push(blockCard);
|
|
2000
2003
|
mountOnItemChange(record.currentIndex, record.item, newViews, newBlockCards, outletParent, firstRootNode, this.viewContext);
|
|
2001
2004
|
}
|
|
@@ -2006,6 +2009,7 @@ class ListRender {
|
|
|
2006
2009
|
const previousBlockCard = this.blockCards[record.previousIndex];
|
|
2007
2010
|
if (previousViewType !== viewType) {
|
|
2008
2011
|
view = createEmbeddedViewOrComponent(viewType, context, this.viewContext, this.viewContainerRef);
|
|
2012
|
+
this.addedViews.push(view);
|
|
2009
2013
|
blockCard = createBlockCard(record.item, view, this.viewContainerRef, this.viewContext);
|
|
2010
2014
|
const firstRootNode = getRootNodes(previousView, previousBlockCard)[0];
|
|
2011
2015
|
const newRootNodes = getRootNodes(view, blockCard);
|
|
@@ -2048,6 +2052,9 @@ class ListRender {
|
|
|
2048
2052
|
this.contexts = newContexts;
|
|
2049
2053
|
this.children = children;
|
|
2050
2054
|
this.blockCards = newBlockCards;
|
|
2055
|
+
if (parent === this.viewContext.editor) {
|
|
2056
|
+
this.afterViewInit();
|
|
2057
|
+
}
|
|
2051
2058
|
}
|
|
2052
2059
|
else {
|
|
2053
2060
|
const newContexts = [];
|
|
@@ -2065,6 +2072,12 @@ class ListRender {
|
|
|
2065
2072
|
this.contexts = newContexts;
|
|
2066
2073
|
}
|
|
2067
2074
|
}
|
|
2075
|
+
afterViewInit() {
|
|
2076
|
+
this.addedViews.forEach(view => {
|
|
2077
|
+
executeAfterViewInit(view);
|
|
2078
|
+
});
|
|
2079
|
+
this.addedViews = [];
|
|
2080
|
+
}
|
|
2068
2081
|
destroy() {
|
|
2069
2082
|
this.children.forEach((element, index) => {
|
|
2070
2083
|
if (this.views[index]) {
|
|
@@ -2103,7 +2116,7 @@ function getContext$1(index, item, parentPath, childrenContext, viewContext) {
|
|
|
2103
2116
|
}
|
|
2104
2117
|
if (isVoid) {
|
|
2105
2118
|
elementContext.attributes['data-slate-void'] = true;
|
|
2106
|
-
elementContext.
|
|
2119
|
+
elementContext.contentEditable = false;
|
|
2107
2120
|
}
|
|
2108
2121
|
return elementContext;
|
|
2109
2122
|
}
|
|
@@ -2164,6 +2177,7 @@ function createBlockCard(item, view, viewContainerRef, viewContext) {
|
|
|
2164
2177
|
injector: viewContainerRef.injector
|
|
2165
2178
|
});
|
|
2166
2179
|
blockCardComponentRef.instance.initializeCenter(rootNodes);
|
|
2180
|
+
blockCardComponentRef.changeDetectorRef.detectChanges();
|
|
2167
2181
|
return blockCardComponentRef;
|
|
2168
2182
|
}
|
|
2169
2183
|
else {
|
|
@@ -2476,6 +2490,12 @@ class BaseElementComponent extends BaseComponent {
|
|
|
2476
2490
|
this.listRender.initialize(this.children, this.element, this.childrenContext);
|
|
2477
2491
|
}
|
|
2478
2492
|
}
|
|
2493
|
+
afterViewInit() {
|
|
2494
|
+
if (this._context.contentEditable !== undefined) {
|
|
2495
|
+
this.nativeElement.setAttribute('contenteditable', this._context.contentEditable + '');
|
|
2496
|
+
}
|
|
2497
|
+
this.listRender.afterViewInit();
|
|
2498
|
+
}
|
|
2479
2499
|
updateWeakMap() {
|
|
2480
2500
|
NODE_TO_ELEMENT.set(this.element, this.nativeElement);
|
|
2481
2501
|
ELEMENT_TO_NODE.set(this.nativeElement, this.element);
|
|
@@ -2601,17 +2621,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImpor
|
|
|
2601
2621
|
|
|
2602
2622
|
class SlateVoidText extends BaseTextComponent {
|
|
2603
2623
|
ngOnInit() {
|
|
2604
|
-
this.isLeafBlock = AngularEditor.isLeafBlock(this.viewContext.editor, this.context.parent);
|
|
2605
2624
|
super.ngOnInit();
|
|
2606
2625
|
}
|
|
2607
2626
|
ngOnChanges() {
|
|
2608
2627
|
if (!this.initialized) {
|
|
2609
2628
|
return;
|
|
2610
2629
|
}
|
|
2611
|
-
this.isLeafBlock = AngularEditor.isLeafBlock(this.viewContext.editor, this.context.parent);
|
|
2612
2630
|
}
|
|
2613
2631
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SlateVoidText, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
2614
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: SlateVoidText, isStandalone: true, selector: "span[slateVoidText]", host: { attributes: { "data-slate-spacer": "true", "data-slate-node": "text" },
|
|
2632
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: SlateVoidText, isStandalone: true, selector: "span[slateVoidText]", host: { attributes: { "data-slate-spacer": "true", "data-slate-node": "text" }, classAttribute: "slate-spacer" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: ``, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2615
2633
|
}
|
|
2616
2634
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SlateVoidText, decorators: [{
|
|
2617
2635
|
type: Component,
|
|
@@ -2620,7 +2638,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImpor
|
|
|
2620
2638
|
template: ``,
|
|
2621
2639
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
2622
2640
|
host: {
|
|
2623
|
-
'[attr.contenteditable]': 'isLeafBlock',
|
|
2624
2641
|
'data-slate-spacer': 'true',
|
|
2625
2642
|
class: 'slate-spacer',
|
|
2626
2643
|
'data-slate-node': 'text'
|