@worktile/theia 2.4.3 → 2.4.4
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/bundles/worktile-theia.umd.js +50 -24
- package/bundles/worktile-theia.umd.js.map +1 -1
- package/editor.module.d.ts +2 -1
- package/esm2015/editor.component.js +2 -1
- package/esm2015/interfaces/editor.js +1 -1
- package/esm2015/plugins/quick-insert/quick-insert.editor.js +4 -3
- package/esm2015/plugins/quick-insert/quick-insert.plugin.js +23 -6
- package/esm2015/plugins/table/components/insert-mark/insert-mark.component.js +4 -4
- package/esm2015/plugins/table/components/table.component.js +2 -2
- package/esm2015/plugins/table/components/td/td.component.js +5 -7
- package/esm2015/plugins/table/table.service.js +6 -6
- package/esm2015/plugins/todo-item/todo-item.component.js +15 -7
- package/esm2015/utils/is-clean-empty-paragraph.js +4 -1
- package/fesm2015/worktile-theia.js +50 -25
- package/fesm2015/worktile-theia.js.map +1 -1
- package/interfaces/editor.d.ts +4 -1
- package/package.json +1 -1
- package/plugins/quick-insert/quick-insert.plugin.d.ts +2 -0
- package/plugins/table/components/table.component.scss +43 -42
- package/plugins/todo-item/todo-item.component.d.ts +3 -1
- package/utils/is-clean-empty-paragraph.d.ts +2 -1
|
@@ -2180,6 +2180,9 @@
|
|
|
2180
2180
|
return false;
|
|
2181
2181
|
}
|
|
2182
2182
|
var block = slate.Node.ancestor(editor, [editor.selection.anchor.path[0]]);
|
|
2183
|
+
return isPureEmptyParagraph(editor, block);
|
|
2184
|
+
};
|
|
2185
|
+
var isPureEmptyParagraph = function (editor, block) {
|
|
2183
2186
|
var textIndent = 'textIndent';
|
|
2184
2187
|
var align = 'align';
|
|
2185
2188
|
var hasTextIndent = block[textIndent];
|
|
@@ -4079,10 +4082,11 @@
|
|
|
4079
4082
|
|
|
4080
4083
|
var TheTodoItemComponent = /** @class */ (function (_super) {
|
|
4081
4084
|
__extends(TheTodoItemComponent, _super);
|
|
4082
|
-
function TheTodoItemComponent(elementRef, cdr) {
|
|
4085
|
+
function TheTodoItemComponent(elementRef, cdr, ctxService) {
|
|
4083
4086
|
var _this = _super.call(this, elementRef, cdr) || this;
|
|
4084
4087
|
_this.elementRef = elementRef;
|
|
4085
4088
|
_this.cdr = cdr;
|
|
4089
|
+
_this.ctxService = ctxService;
|
|
4086
4090
|
_this.checkItemClass = true;
|
|
4087
4091
|
return _this;
|
|
4088
4092
|
}
|
|
@@ -4098,14 +4102,19 @@
|
|
|
4098
4102
|
_super.prototype.ngOnInit.call(this);
|
|
4099
4103
|
};
|
|
4100
4104
|
TheTodoItemComponent.prototype.onCheck = function (checked) {
|
|
4101
|
-
|
|
4105
|
+
var options = this.ctxService.getTheOptions();
|
|
4106
|
+
var noBindReadonly = options.noBindReadonlyPlugins && options.noBindReadonlyPlugins.includes(exports.ElementKinds.checkItem);
|
|
4107
|
+
if (!noBindReadonly && this.readonly) {
|
|
4102
4108
|
return false;
|
|
4103
4109
|
}
|
|
4110
|
+
else {
|
|
4111
|
+
setNode(this.editor, { checked: checked }, this.element);
|
|
4112
|
+
}
|
|
4104
4113
|
setNode(this.editor, { checked: checked }, this.element);
|
|
4105
4114
|
};
|
|
4106
4115
|
return TheTodoItemComponent;
|
|
4107
4116
|
}(TheBaseElementComponent));
|
|
4108
|
-
TheTodoItemComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: TheTodoItemComponent, deps: [{ token: i0__namespace.ElementRef }, { token: i0__namespace.ChangeDetectorRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
4117
|
+
TheTodoItemComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: TheTodoItemComponent, deps: [{ token: i0__namespace.ElementRef }, { token: i0__namespace.ChangeDetectorRef }, { token: TheContextService }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
4109
4118
|
TheTodoItemComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: TheTodoItemComponent, selector: "div[theTodoItem]", host: { properties: { "class.the-check-item": "this.checkItemClass", "attr.the-level": "this.level" } }, usesInheritance: true, ngImport: i0__namespace, template: "\n <span contenteditable=\"false\" class=\"todo-item-status\">\n <input #checkbox type=\"checkbox\" [checked]=\"element.checked\" (click)=\"onCheck(checkbox.checked)\" />\n </span>\n <span><slate-children [children]=\"children\" [context]=\"childrenContext\" [viewContext]=\"viewContext\"></slate-children></span>\n ", isInline: true, components: [{ type: i1__namespace.SlateChildrenComponent, selector: "slate-children", inputs: ["children", "context", "viewContext"] }] });
|
|
4110
4119
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: TheTodoItemComponent, decorators: [{
|
|
4111
4120
|
type: i0.Component,
|
|
@@ -4113,7 +4122,7 @@
|
|
|
4113
4122
|
selector: 'div[theTodoItem]',
|
|
4114
4123
|
template: "\n <span contenteditable=\"false\" class=\"todo-item-status\">\n <input #checkbox type=\"checkbox\" [checked]=\"element.checked\" (click)=\"onCheck(checkbox.checked)\" />\n </span>\n <span><slate-children [children]=\"children\" [context]=\"childrenContext\" [viewContext]=\"viewContext\"></slate-children></span>\n "
|
|
4115
4124
|
}]
|
|
4116
|
-
}], ctorParameters: function () { return [{ type: i0__namespace.ElementRef }, { type: i0__namespace.ChangeDetectorRef }]; }, propDecorators: { checkItemClass: [{
|
|
4125
|
+
}], ctorParameters: function () { return [{ type: i0__namespace.ElementRef }, { type: i0__namespace.ChangeDetectorRef }, { type: TheContextService }]; }, propDecorators: { checkItemClass: [{
|
|
4117
4126
|
type: i0.HostBinding,
|
|
4118
4127
|
args: ['class.the-check-item']
|
|
4119
4128
|
}], level: [{
|
|
@@ -9436,7 +9445,7 @@
|
|
|
9436
9445
|
offset: this.offset,
|
|
9437
9446
|
hasBackdrop: this.hasBackdrop,
|
|
9438
9447
|
insideClosable: this.insideClosable,
|
|
9439
|
-
panelClass: 'the-table-toolbar-wrap',
|
|
9448
|
+
panelClass: 'the-temp-table-toolbar-wrap',
|
|
9440
9449
|
scrollStrategy: this.overlay.scrollStrategies.reposition(),
|
|
9441
9450
|
manualClosure: true
|
|
9442
9451
|
});
|
|
@@ -9446,15 +9455,15 @@
|
|
|
9446
9455
|
if (origin instanceof HTMLTableCellElement && origin.tagName !== 'TH') {
|
|
9447
9456
|
var _a = this.tableStore, selectedRowsIndex = _a.selectedRowsIndex, selectedColumnsIndex = _a.selectedColumnsIndex, focusCellPath = _a.focusCellPath, isSelectedTable = _a.isSelectedTable, focusCellElement = _a.focusCellElement;
|
|
9448
9457
|
var _b = __read(focusCellPath.slice(-2), 2), row = _b[0], col = _b[1];
|
|
9449
|
-
var tableElement = focusCellElement.closest('.the-table-container');
|
|
9458
|
+
var tableElement = focusCellElement.closest('.the-temp-table-container');
|
|
9450
9459
|
if (isSelectedTable && col === 0 && row === 0) {
|
|
9451
|
-
return tableElement.querySelector('.the-table-corner-controls');
|
|
9460
|
+
return tableElement.querySelector('.the-temp-table-corner-controls');
|
|
9452
9461
|
}
|
|
9453
9462
|
if (selectedColumnsIndex.length > 0 && row === 0) {
|
|
9454
|
-
return tableElement.querySelectorAll('.the-table-col-controls')[col];
|
|
9463
|
+
return tableElement.querySelectorAll('.the-temp-table-col-controls')[col];
|
|
9455
9464
|
}
|
|
9456
9465
|
if (selectedRowsIndex.length > 0 && col === 0) {
|
|
9457
|
-
return tableElement.querySelectorAll('.the-table-row-controls-button-wrap')[row];
|
|
9466
|
+
return tableElement.querySelectorAll('.the-temp-table-row-controls-button-wrap')[row];
|
|
9458
9467
|
}
|
|
9459
9468
|
}
|
|
9460
9469
|
return origin;
|
|
@@ -9566,13 +9575,13 @@
|
|
|
9566
9575
|
var tableWrapper = tableComponent.tableWrapper.nativeElement;
|
|
9567
9576
|
var tableElement = tableComponent.theTableElement.nativeElement;
|
|
9568
9577
|
var result = 0;
|
|
9569
|
-
var rowControl = tableComponent.nativeElement.querySelector('.the-table-row-controls');
|
|
9578
|
+
var rowControl = tableComponent.nativeElement.querySelector('.the-temp-table-row-controls');
|
|
9570
9579
|
var rowControlWidth = 11;
|
|
9571
9580
|
if (rowControl) {
|
|
9572
9581
|
rowControlWidth = rowControl.getBoundingClientRect().width;
|
|
9573
9582
|
}
|
|
9574
9583
|
if (this.type === 'row') {
|
|
9575
|
-
result = tableWrapper.offsetWidth + rowControlWidth;
|
|
9584
|
+
result = tableWrapper.offsetWidth + rowControlWidth - 2;
|
|
9576
9585
|
}
|
|
9577
9586
|
else {
|
|
9578
9587
|
result = tableElement.offsetHeight - 1;
|
|
@@ -9584,7 +9593,7 @@
|
|
|
9584
9593
|
return TheInsertMarkComponent;
|
|
9585
9594
|
}());
|
|
9586
9595
|
TheInsertMarkComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: TheInsertMarkComponent, deps: [{ token: i0__namespace.ChangeDetectorRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
9587
|
-
TheInsertMarkComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: TheInsertMarkComponent, selector: "the-table-insert-mark", inputs: { type: "type", at: "at", tableStore: "tableStore" }, ngImport: i0__namespace, template: "<div\n [thyTooltip]=\"!disabled && tooltipContent\"\n class=\"the-table-controls-insert-wrapper\"\n [ngClass]=\"{ disabled: disabled }\"\n contenteditable=\"false\"\n (mousedown)=\"onMouseDown($event)\"\n (mouseenter)=\"onMouseEnter($event)\"\n (mouseleave)=\"onMouseLeave($event)\"\n>\n <div\n class=\"the-table-controls-insert-line\"\n *ngIf=\"dotWrapperHovered\"\n [attr.data-dot-type]=\"type\"\n [ngStyle]=\"{ height: type === 'column' && insertLength, width: type === 'row' && insertLength }\"\n ></div>\n</div>\n", directives: [{ type: i5__namespace.ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }, { type: i10__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i10__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i10__namespace.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
|
|
9596
|
+
TheInsertMarkComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: TheInsertMarkComponent, selector: "the-table-insert-mark", inputs: { type: "type", at: "at", tableStore: "tableStore" }, ngImport: i0__namespace, template: "<div\n [thyTooltip]=\"!disabled && tooltipContent\"\n class=\"the-temp-table-controls-insert-wrapper\"\n [ngClass]=\"{ disabled: disabled }\"\n contenteditable=\"false\"\n (mousedown)=\"onMouseDown($event)\"\n (mouseenter)=\"onMouseEnter($event)\"\n (mouseleave)=\"onMouseLeave($event)\"\n>\n <div\n class=\"the-temp-table-controls-insert-line\"\n *ngIf=\"dotWrapperHovered\"\n [attr.data-dot-type]=\"type\"\n [ngStyle]=\"{ height: type === 'column' && insertLength, width: type === 'row' && insertLength }\"\n ></div>\n</div>\n", directives: [{ type: i5__namespace.ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }, { type: i10__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i10__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i10__namespace.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
|
|
9588
9597
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: TheInsertMarkComponent, decorators: [{
|
|
9589
9598
|
type: i0.Component,
|
|
9590
9599
|
args: [{
|
|
@@ -10098,7 +10107,7 @@
|
|
|
10098
10107
|
provide: TheTableToken,
|
|
10099
10108
|
useExisting: TheTableComponent
|
|
10100
10109
|
}
|
|
10101
|
-
], viewQueries: [{ propertyName: "tableWrapper", first: true, predicate: ["tableWrapper"], descendants: true, read: i0.ElementRef, static: true }, { propertyName: "theTableElement", first: true, predicate: ["theTable"], descendants: true, read: i0.ElementRef, static: true }, { propertyName: "tbodyElement", first: true, predicate: ["tbody"], descendants: true, read: i0.ElementRef, static: true }], usesInheritance: true, ngImport: i0__namespace, template: "<div\n class=\"the-table-container\"\n theColumnResize\n [ngClass]=\"{\n 'the-table-with-controls': isInTable,\n 'the-numbered-column-container': element?.options?.numberedColumn,\n 'the-table-selection-hide': tableStore.isCellSelecting || tableStore.isRightClicking\n }\"\n>\n <div\n class=\"the-table-row-controls-wrapper\"\n [ngClass]=\"{\n 'the-table-focus': isInTable\n }\"\n >\n <div\n class=\"the-table-corner-controls\"\n [ngClass]=\"{\n visible: !readonly && isInTable,\n active: isSelectedAllCell,\n dangerous: tableStore.isSelectedTable && tableStore.dangerousCells.length > 0\n }\"\n >\n <div class=\"the-table-corner-button\" (mousedown)=\"onSelectTable($event)\"></div>\n <div class=\"the-table-corner-controls-insert-row-marker\">\n <the-table-insert-mark type=\"row\" [at]=\"0\" [tableStore]=\"tableStore\"></the-table-insert-mark>\n </div>\n <div class=\"the-table-corner-controls-insert-column-marker\">\n <the-table-insert-mark type=\"column\" [at]=\"0\" [tableStore]=\"tableStore\"></the-table-insert-mark>\n </div>\n </div>\n <div class=\"the-table-row-controls\">\n <div class=\"the-table-row-controls-inner\">\n <div\n class=\"the-table-row-controls-button-wrap\"\n *ngFor=\"let control of rowControls; let i = index; trackBy: trackByFnRowCotrols\"\n [ngClass]=\"{\n active: tableStore.selectedRowsIndex.includes(control.rowIndex),\n dangerous: tableStore.dangerousRowsIndex.includes(control.rowIndex) && tableStore.dangerousCells.length > 0\n }\"\n >\n <ng-container *ngIf=\"!readonly && isInTable && !element?.options?.numberedColumn\">\n <button\n (mousedown)=\"onRowMouseDown($event, control.rowIndex)\"\n type=\"button\"\n [ngStyle]=\"{ height: control.height + 1 + 'px' }\"\n class=\"the-table-row-controls-button the-table-controls-button\"\n ></button>\n </ng-container>\n <ng-container *ngIf=\"element?.options?.numberedColumn\">\n <div\n [contentEditable]=\"false\"\n contenteditable=\"false\"\n (mousedown)=\"onRowMouseDown($event, control.rowIndex)\"\n class=\"the-table-numbered-controls-button\"\n [ngStyle]=\"{ height: control.height + 1 + 'px' }\"\n >\n <p class=\"row-number d-flex align-items-center\">{{ i + 1 }}</p>\n </div>\n </ng-container>\n <the-table-insert-mark type=\"row\" [at]=\"control.rowIndex + 1\" [tableStore]=\"tableStore\"> </the-table-insert-mark>\n </div>\n </div>\n </div>\n </div>\n <div class=\"the-table-wrapper\" #tableWrapper [ngClass]=\"{ 'the-table-numbered': element?.options?.numberedColumn }\">\n <table class=\"the-table\" #theTable [ngClass]=\"{ 'the-table-with-controls': isInTable }\">\n <colgroup *ngIf=\"columns\">\n <col *ngFor=\"let col of columns\" [ngStyle]=\"{ width: col.width + 'px' }\" />\n </colgroup>\n <thead>\n <tr class=\"the-table-col-controls-wrapper\">\n <th\n class=\"the-table-col-controls\"\n [ngClass]=\"{\n active: tableStore.selectedColumnsIndex.includes(i),\n dangerous: tableStore.dangerousColumnsIndex.includes(i) && tableStore.dangerousCells.length > 0\n }\"\n (mousedown)=\"onColMouseDown($event, i)\"\n *ngFor=\"let control of colControls; let i = index; trackBy: trackByFnColCotrols\"\n >\n <the-table-insert-mark *ngIf=\"isInTable\" type=\"column\" [at]=\"i + 1\" [tableStore]=\"tableStore\">\n </the-table-insert-mark>\n </th>\n </tr>\n </thead>\n <tbody #tbody>\n <slate-children [children]=\"children\" [context]=\"childrenContext\" [viewContext]=\"viewContext\"> </slate-children>\n </tbody>\n </table>\n </div>\n</div>\n", components: [{ type: TheInsertMarkComponent, selector: "the-table-insert-mark", inputs: ["type", "at", "tableStore"] }, { type: i1__namespace.SlateChildrenComponent, selector: "slate-children", inputs: ["children", "context", "viewContext"] }], directives: [{ type: TheColumnResizeDirective, selector: "div[theColumnResize]" }, { type: i10__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i10__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i10__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i10__namespace.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
|
|
10110
|
+
], viewQueries: [{ propertyName: "tableWrapper", first: true, predicate: ["tableWrapper"], descendants: true, read: i0.ElementRef, static: true }, { propertyName: "theTableElement", first: true, predicate: ["theTable"], descendants: true, read: i0.ElementRef, static: true }, { propertyName: "tbodyElement", first: true, predicate: ["tbody"], descendants: true, read: i0.ElementRef, static: true }], usesInheritance: true, ngImport: i0__namespace, template: "<!-- \u7C7B\u540D the-temp-*: \u4E34\u65F6\u89E3\u51B3\u56E0\u53D7portal\u5F71\u54CD\u8868\u683C\u6837\u5F0F\u95EE\u9898\uFF0C\u540E\u671F\u6539\u56DEthe-* -->\n<div\n class=\"the-temp-table-container\"\n theColumnResize\n [ngClass]=\"{\n 'the-temp-table-with-controls': isInTable,\n 'the-temp-numbered-column-container': element?.options?.numberedColumn,\n 'the-temp-table-selection-hide': tableStore.isCellSelecting || tableStore.isRightClicking\n }\"\n>\n <div\n class=\"the-temp-table-row-controls-wrapper\"\n [ngClass]=\"{\n 'the-temp-table-focus': isInTable\n }\"\n >\n <div\n class=\"the-temp-table-corner-controls\"\n [ngClass]=\"{\n visible: !readonly && isInTable,\n active: isSelectedAllCell,\n dangerous: tableStore.isSelectedTable && tableStore.dangerousCells.length > 0\n }\"\n >\n <div class=\"the-temp-table-corner-button\" (mousedown)=\"onSelectTable($event)\"></div>\n <div class=\"the-temp-table-corner-controls-insert-row-marker\">\n <the-table-insert-mark type=\"row\" [at]=\"0\" [tableStore]=\"tableStore\"></the-table-insert-mark>\n </div>\n <div class=\"the-temp-table-corner-controls-insert-column-marker\">\n <the-table-insert-mark type=\"column\" [at]=\"0\" [tableStore]=\"tableStore\"></the-table-insert-mark>\n </div>\n </div>\n <div class=\"the-temp-table-row-controls\">\n <div class=\"the-temp-table-row-controls-inner\">\n <div\n class=\"the-temp-table-row-controls-button-wrap\"\n *ngFor=\"let control of rowControls; let i = index; trackBy: trackByFnRowCotrols\"\n [ngClass]=\"{\n active: tableStore.selectedRowsIndex.includes(control.rowIndex),\n dangerous: tableStore.dangerousRowsIndex.includes(control.rowIndex) && tableStore.dangerousCells.length > 0\n }\"\n >\n <ng-container *ngIf=\"!readonly && isInTable && !element?.options?.numberedColumn\">\n <button\n (mousedown)=\"onRowMouseDown($event, control.rowIndex)\"\n type=\"button\"\n [ngStyle]=\"{ height: control.height + 1 + 'px' }\"\n class=\"the-temp-table-row-controls-button the-temp-table-controls-button\"\n ></button>\n </ng-container>\n <ng-container *ngIf=\"element?.options?.numberedColumn\">\n <div\n [contentEditable]=\"false\"\n contenteditable=\"false\"\n (mousedown)=\"onRowMouseDown($event, control.rowIndex)\"\n class=\"the-temp-table-numbered-controls-button\"\n [ngStyle]=\"{ height: control.height + 1 + 'px' }\"\n >\n <p class=\"row-number d-flex align-items-center\">{{ i + 1 }}</p>\n </div>\n </ng-container>\n <the-table-insert-mark type=\"row\" [at]=\"control.rowIndex + 1\" [tableStore]=\"tableStore\"> </the-table-insert-mark>\n </div>\n </div>\n </div>\n </div>\n <div class=\"the-temp-table-wrapper\" #tableWrapper [ngClass]=\"{ 'the-temp-table-numbered': element?.options?.numberedColumn }\">\n <table class=\"the-temp-table\" #theTable [ngClass]=\"{ 'the-temp-table-with-controls': isInTable }\">\n <colgroup *ngIf=\"columns\">\n <col *ngFor=\"let col of columns\" [ngStyle]=\"{ width: col.width + 'px' }\" />\n </colgroup>\n <thead>\n <tr class=\"the-temp-table-col-controls-wrapper\">\n <th\n class=\"the-temp-table-col-controls\"\n [ngClass]=\"{\n active: tableStore.selectedColumnsIndex.includes(i),\n dangerous: tableStore.dangerousColumnsIndex.includes(i) && tableStore.dangerousCells.length > 0\n }\"\n (mousedown)=\"onColMouseDown($event, i)\"\n *ngFor=\"let control of colControls; let i = index; trackBy: trackByFnColCotrols\"\n >\n <the-table-insert-mark *ngIf=\"isInTable\" type=\"column\" [at]=\"i + 1\" [tableStore]=\"tableStore\">\n </the-table-insert-mark>\n </th>\n </tr>\n </thead>\n <tbody #tbody>\n <slate-children [children]=\"children\" [context]=\"childrenContext\" [viewContext]=\"viewContext\"> </slate-children>\n </tbody>\n </table>\n </div>\n</div>\n", components: [{ type: TheInsertMarkComponent, selector: "the-table-insert-mark", inputs: ["type", "at", "tableStore"] }, { type: i1__namespace.SlateChildrenComponent, selector: "slate-children", inputs: ["children", "context", "viewContext"] }], directives: [{ type: TheColumnResizeDirective, selector: "div[theColumnResize]" }, { type: i10__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i10__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i10__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i10__namespace.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
|
|
10102
10111
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0__namespace, type: TheTableComponent, decorators: [{
|
|
10103
10112
|
type: i0.Component,
|
|
10104
10113
|
args: [{
|
|
@@ -11041,12 +11050,12 @@
|
|
|
11041
11050
|
};
|
|
11042
11051
|
TheTdComponent.prototype.updateOverlayHandleRowSize = function () {
|
|
11043
11052
|
var tableElement = this.tableComponent.nativeElement;
|
|
11044
|
-
var rowControl = tableElement.querySelector('.the-table-row-controls');
|
|
11053
|
+
var rowControl = tableElement.querySelector('.the-temp-table-row-controls');
|
|
11045
11054
|
var rowControlWidth = 11;
|
|
11046
11055
|
if (rowControl) {
|
|
11047
11056
|
rowControlWidth = rowControl.getBoundingClientRect().width;
|
|
11048
11057
|
}
|
|
11049
|
-
var width = this.tableComponent.tableWrapper.nativeElement.offsetWidth + rowControlWidth;
|
|
11058
|
+
var width = this.tableComponent.tableWrapper.nativeElement.offsetWidth + rowControlWidth - 2;
|
|
11050
11059
|
this.overlayRef.addPanelClass(this.rowResizeClass);
|
|
11051
11060
|
this.overlayRef.updateSize({ width: width, height: OVERLAY_INIT_SIZE });
|
|
11052
11061
|
};
|
|
@@ -11239,8 +11248,7 @@
|
|
|
11239
11248
|
TheTdComponent.prototype.applyTopRows = function (rows, deltaY, rowIndex) {
|
|
11240
11249
|
while (deltaY < 0 && rows[rowIndex]) {
|
|
11241
11250
|
var rowOffsetHeight = getElementHeight(rows[rowIndex]);
|
|
11242
|
-
|
|
11243
|
-
if (rowOffsetHeight > this.tableOptions.minHeightPx && rowOffsetHeight === rowStyleHeight) {
|
|
11251
|
+
if (rowOffsetHeight > this.tableOptions.minHeightPx) {
|
|
11244
11252
|
if (this.resizingStore.isResizing(deltaY, this.isXAxisHover)) {
|
|
11245
11253
|
this.resizingStore.storeResizingRow(rows[rowIndex]);
|
|
11246
11254
|
}
|
|
@@ -11260,8 +11268,7 @@
|
|
|
11260
11268
|
TheTdComponent.prototype.applyBottomRows = function (rows, deltaY, rowIndex) {
|
|
11261
11269
|
while (rows[rowIndex] && deltaY > 0) {
|
|
11262
11270
|
var rowOffsetHeight = getElementHeight(rows[rowIndex]);
|
|
11263
|
-
|
|
11264
|
-
if (rowOffsetHeight > this.tableOptions.minHeightPx && rowOffsetHeight === rowStyleHeight) {
|
|
11271
|
+
if (rowOffsetHeight > this.tableOptions.minHeightPx) {
|
|
11265
11272
|
if (this.resizingStore.isResizing(deltaY, this.isXAxisHover)) {
|
|
11266
11273
|
this.resizingStore.storeResizingRow(rows[rowIndex]);
|
|
11267
11274
|
}
|
|
@@ -12228,7 +12235,8 @@
|
|
|
12228
12235
|
return;
|
|
12229
12236
|
}
|
|
12230
12237
|
if (!origin) {
|
|
12231
|
-
var
|
|
12238
|
+
var _a = __read(getBlockAbove(editor), 1), block = _a[0];
|
|
12239
|
+
var rootNode = i1.AngularEditor.toDOMNode(editor, block);
|
|
12232
12240
|
origin = rootNode.querySelector('[data-slate-leaf="true"]');
|
|
12233
12241
|
}
|
|
12234
12242
|
var overlay = editor.injector.get(i2.Overlay);
|
|
@@ -12270,8 +12278,13 @@
|
|
|
12270
12278
|
var onKeydown = editor.onKeydown, deleteBackward = editor.deleteBackward, onChange = editor.onChange;
|
|
12271
12279
|
var presseingQuickInsertHotkey = false;
|
|
12272
12280
|
editor.onKeydown = function (event) {
|
|
12273
|
-
|
|
12274
|
-
|
|
12281
|
+
var _a;
|
|
12282
|
+
if (event.key === QUICK_TOOLBAR_HOTKEY) {
|
|
12283
|
+
var types = __spreadArray([], __read((((_a = editor.options) === null || _a === void 0 ? void 0 : _a.triggerQuickToolbarTypes) || [])));
|
|
12284
|
+
var _b = __read(getBlockAbove(editor), 1), block = _b[0];
|
|
12285
|
+
if (isPureEmptyParagraph(editor, block) && allowOpenQuickToolbar(editor, types)) {
|
|
12286
|
+
presseingQuickInsertHotkey = true;
|
|
12287
|
+
}
|
|
12275
12288
|
}
|
|
12276
12289
|
onKeydown(event);
|
|
12277
12290
|
};
|
|
@@ -12285,7 +12298,7 @@
|
|
|
12285
12298
|
var _a;
|
|
12286
12299
|
onChange();
|
|
12287
12300
|
if (editor.selection) {
|
|
12288
|
-
var
|
|
12301
|
+
var _b = __read(getBlockAbove(editor), 2), block = _b[0], path = _b[1];
|
|
12289
12302
|
// quick insert plus
|
|
12290
12303
|
var editorComponent = editor.injector.get(TheEditorComponent);
|
|
12291
12304
|
(_a = editorComponent.quickInsertInstance) === null || _a === void 0 ? void 0 : _a.checkStatus();
|
|
@@ -12294,13 +12307,24 @@
|
|
|
12294
12307
|
presseingQuickInsertHotkey = false;
|
|
12295
12308
|
return;
|
|
12296
12309
|
}
|
|
12297
|
-
|
|
12310
|
+
else {
|
|
12311
|
+
presseingQuickInsertHotkey = false;
|
|
12312
|
+
}
|
|
12313
|
+
if (QuickInsertEditor.isOpenedToolbar(editor) && !isPureEmptyParagraph(editor, block) && slate.Node.string(block) !== QUICK_TOOLBAR_HOTKEY) {
|
|
12298
12314
|
QuickInsertEditor.closeQuickInsertToolbar(editor);
|
|
12299
12315
|
}
|
|
12300
12316
|
}
|
|
12301
12317
|
};
|
|
12302
12318
|
return editor;
|
|
12303
12319
|
};
|
|
12320
|
+
var allowOpenQuickToolbar = function (editor, allowTypes) {
|
|
12321
|
+
var _b = __read(getBlockAbove(editor), 2), block = _b[0], path = _b[1];
|
|
12322
|
+
var parentNode = slate.Node.parent(editor, path);
|
|
12323
|
+
if (path.length === 1 || (parentNode && allowTypes.includes(parentNode.type))) {
|
|
12324
|
+
return true;
|
|
12325
|
+
}
|
|
12326
|
+
return false;
|
|
12327
|
+
};
|
|
12304
12328
|
|
|
12305
12329
|
var withSoftBreak = function (options) {
|
|
12306
12330
|
if (options === void 0) { options = { rules: [{ hotkey: 'shift+enter' }] }; }
|
|
@@ -13762,6 +13786,7 @@
|
|
|
13762
13786
|
this.editor.extraElementOptions = (_b = this.theOptions) === null || _b === void 0 ? void 0 : _b.extraElementOptions;
|
|
13763
13787
|
this.editor.extraAutoFormatRules = (_c = this.theOptions) === null || _c === void 0 ? void 0 : _c.extraAutoFormatRules;
|
|
13764
13788
|
this.editor.extraIndentOptions = (_d = this.theOptions) === null || _d === void 0 ? void 0 : _d.extraIndentOptions;
|
|
13789
|
+
this.editor.options = this.theOptions;
|
|
13765
13790
|
setEditorUUID(this.editor, idCreator());
|
|
13766
13791
|
this.theContextService.initialize({
|
|
13767
13792
|
theOptions: this.theOptions,
|
|
@@ -14414,6 +14439,7 @@
|
|
|
14414
14439
|
exports.htmlToTheia = htmlToTheia;
|
|
14415
14440
|
exports.inValidTypes = inValidTypes;
|
|
14416
14441
|
exports.isCleanEmptyParagraph = isCleanEmptyParagraph;
|
|
14442
|
+
exports.isPureEmptyParagraph = isPureEmptyParagraph;
|
|
14417
14443
|
exports.mergeElementOptions = mergeElementOptions;
|
|
14418
14444
|
exports.plainToTheia = plainToTheia;
|
|
14419
14445
|
exports.toolbarCompose = toolbarCompose;
|