@worktile/theia 17.3.1 → 17.4.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/components/text/text.component.d.ts +2 -2
- package/editor.component.d.ts +3 -6
- package/esm2022/components/action/prevent-default.mjs +3 -3
- package/esm2022/components/column-resize/column-resize-notifier.mjs +3 -3
- package/esm2022/components/column-resize/column-resize.directive.mjs +3 -3
- package/esm2022/components/column-resize/event-dispatcher.mjs +3 -3
- package/esm2022/components/column-resize/overlay-handle.component.mjs +3 -3
- package/esm2022/components/column-resize/resizing.store.mjs +3 -3
- package/esm2022/components/contextmenu/contextmenu.component.mjs +3 -3
- package/esm2022/components/conversion-hint/conversion-hint.component.mjs +3 -3
- package/esm2022/components/element/element.component.mjs +3 -3
- package/esm2022/components/inline-toolbar/inline-toolbar.component.mjs +3 -3
- package/esm2022/components/listbox/listbox.mjs +9 -9
- package/esm2022/components/plugin-menu/plugin-menu.component.mjs +3 -3
- package/esm2022/components/table-select/table-select.component.mjs +3 -3
- package/esm2022/components/template/template.component.mjs +3 -3
- package/esm2022/components/text/text.component.mjs +10 -11
- package/esm2022/components/toolbar/toolbar.component.mjs +3 -3
- package/esm2022/components/toolbar-dropdown/toolbar-dropdown.component.mjs +3 -3
- package/esm2022/components/toolbar-group/toolbar-group.component.mjs +3 -3
- package/esm2022/components/toolbar-item/toolbar-item.component.mjs +3 -3
- package/esm2022/core/toolbar-item/base-toolbar-item.mjs +6 -6
- package/esm2022/core/with-theia.mjs +1 -1
- package/esm2022/editor.component.mjs +13 -28
- package/esm2022/editor.module.mjs +4 -4
- package/esm2022/interfaces/editor.mjs +1 -1
- package/esm2022/interfaces/plugins/index.mjs +2 -2
- package/esm2022/interfaces/view-base.mjs +3 -3
- package/esm2022/pipes.mjs +9 -9
- package/esm2022/plugins/blockquote/blockquote.component.mjs +3 -3
- package/esm2022/plugins/code/code.component.mjs +16 -11
- package/esm2022/plugins/code/code.plugin.mjs +7 -6
- package/esm2022/plugins/color/toolbar-item.component.mjs +3 -3
- package/esm2022/plugins/common/insert-data-by-invalid-type.mjs +6 -6
- package/esm2022/plugins/deserialize/deserialize-html.plugin.mjs +20 -18
- package/esm2022/plugins/deserialize/deserialize-md.plugin.mjs +10 -10
- package/esm2022/plugins/hr/hr.component.mjs +3 -3
- package/esm2022/plugins/image/image.component.mjs +5 -6
- package/esm2022/plugins/image/image.plugin.mjs +5 -4
- package/esm2022/plugins/index.mjs +2 -2
- package/esm2022/plugins/inline-code/inline-code.component.mjs +3 -3
- package/esm2022/plugins/link/edit/link-edit.component.mjs +3 -3
- package/esm2022/plugins/link/hover/link-hover.component.mjs +3 -3
- package/esm2022/plugins/link/link.component.mjs +6 -6
- package/esm2022/plugins/link/link.plugin.mjs +28 -13
- package/esm2022/plugins/list/components/bulleted-list.component.mjs +3 -3
- package/esm2022/plugins/list/components/list-item.component.mjs +3 -3
- package/esm2022/plugins/list/components/numbered-list.component.mjs +3 -3
- package/esm2022/plugins/list/list.plugin.mjs +17 -27
- package/esm2022/plugins/mention/suggestion.component.mjs +3 -3
- package/esm2022/plugins/public-api.mjs +2 -1
- package/esm2022/plugins/quick-insert/components/quick-insert.component.mjs +3 -3
- package/esm2022/plugins/quick-insert/index.mjs +4 -0
- package/esm2022/plugins/table/components/insert-mark/insert-mark.component.mjs +3 -3
- package/esm2022/plugins/table/components/row/row.component.mjs +3 -3
- package/esm2022/plugins/table/components/table.component.mjs +3 -3
- package/esm2022/plugins/table/components/td/td.component.mjs +3 -3
- package/esm2022/plugins/table/components/toolbar/table-options.component.mjs +3 -3
- package/esm2022/plugins/table/components/toolbar/table-toolbar.component.mjs +4 -4
- package/esm2022/plugins/table/table.pipe.mjs +9 -9
- package/esm2022/plugins/table/table.plugin.mjs +48 -54
- package/esm2022/plugins/table/table.service.mjs +3 -3
- package/esm2022/plugins/table/table.store.mjs +3 -3
- package/esm2022/plugins/table/toolbar-item.component.mjs +3 -3
- package/esm2022/plugins/todo-item/todo-item.component.mjs +3 -3
- package/esm2022/plugins/vertical-align/toolbar-item.component.mjs +3 -3
- package/esm2022/services/context.service.mjs +3 -3
- package/esm2022/services/table-contextmenu.service.mjs +3 -3
- package/esm2022/services/toolbar.service.mjs +3 -3
- package/esm2022/test/basic/basic.component.mjs +3 -3
- package/esm2022/test/faker/tethys-icon-faker.mjs +3 -3
- package/esm2022/utils/copy-node.mjs +29 -34
- package/esm2022/utils/fragment.mjs +11 -11
- package/fesm2022/worktile-theia.mjs +509 -526
- package/fesm2022/worktile-theia.mjs.map +1 -1
- package/interfaces/editor.d.ts +7 -9
- package/interfaces/plugins/index.d.ts +1 -1
- package/package.json +2 -1
- package/plugins/public-api.d.ts +1 -0
- package/plugins/quick-insert/index.d.ts +3 -0
- package/plugins/table/components/table.component.d.ts +1 -1
- package/utils/copy-node.d.ts +4 -3
- package/utils/fragment.d.ts +1 -1
|
@@ -10,7 +10,7 @@ import { cloneDeep, map, assign, defaults, groupBy, uniq, isEqual } from 'lodash
|
|
|
10
10
|
export { assign, cloneDeep, debounce, defaults, groupBy, isEqual, map, uniq } from 'lodash';
|
|
11
11
|
import { Editor, Element, Span, Range, Path, Node, Point, Text, Transforms, Operation, createEditor } from 'slate';
|
|
12
12
|
import * as i4 from 'slate-angular';
|
|
13
|
-
import { NODE_TO_PARENT, NODE_TO_INDEX, AngularEditor, hotkeys,
|
|
13
|
+
import { NODE_TO_PARENT, NODE_TO_INDEX, getClipboardData, AngularEditor, hotkeys, getPlainText as getPlainText$1, createClipboardData, setClipboardData, BaseElementComponent, IS_SAFARI, ELEMENT_TO_COMPONENT, BaseTextComponent, SlateModule, hasBlockCard, isCardLeft, FAKE_RIGHT_BLOCK_CARD_OFFSET, SlateChildrenOutlet, EDITOR_TO_ELEMENT, defaultScrollSelectionIntoView, getDataTransferClipboard, withAngular } from 'slate-angular';
|
|
14
14
|
import { HistoryEditor, withHistory } from 'slate-history';
|
|
15
15
|
import { TheiaConverter } from '@atinc/selene';
|
|
16
16
|
import { isObject, isArray, isString, isUndefined } from 'ngx-tethys/util';
|
|
@@ -46,6 +46,7 @@ import { ThySwitch } from 'ngx-tethys/switch';
|
|
|
46
46
|
import * as i1$1 from 'ngx-tethys/notify';
|
|
47
47
|
import { ThyProgress } from 'ngx-tethys/progress';
|
|
48
48
|
import { ThyUploadStatus } from 'ngx-tethys/upload';
|
|
49
|
+
import getUrls from 'get-urls';
|
|
49
50
|
import { ThyButton } from 'ngx-tethys/button';
|
|
50
51
|
import { ThyFormDirective, ThyFormGroup, ThyFormSubmitDirective, ThyFormGroupFooter } from 'ngx-tethys/form';
|
|
51
52
|
import { PortalInjector, ComponentPortal } from '@angular/cdk/portal';
|
|
@@ -1288,19 +1289,18 @@ const getEndBlock = (editor, fragment) => {
|
|
|
1288
1289
|
}
|
|
1289
1290
|
return fragment;
|
|
1290
1291
|
};
|
|
1291
|
-
const extractFragment = (data, deleteKey = ELEMENT_UNIQUE_ID) => {
|
|
1292
|
-
const
|
|
1293
|
-
|
|
1294
|
-
|
|
1295
|
-
|
|
1296
|
-
|
|
1297
|
-
nodes = [nodes];
|
|
1292
|
+
const extractFragment = async (data, deleteKey = ELEMENT_UNIQUE_ID) => {
|
|
1293
|
+
const clipboardData = await getClipboardData(data);
|
|
1294
|
+
let elements = clipboardData?.elements;
|
|
1295
|
+
if (elements) {
|
|
1296
|
+
if (!Array.isArray(elements)) {
|
|
1297
|
+
elements = [elements];
|
|
1298
1298
|
}
|
|
1299
1299
|
// delete key to avoid duplicate keys
|
|
1300
1300
|
if (deleteKey) {
|
|
1301
|
-
deleteElementKey(
|
|
1301
|
+
deleteElementKey(elements, deleteKey);
|
|
1302
1302
|
}
|
|
1303
|
-
return
|
|
1303
|
+
return elements;
|
|
1304
1304
|
}
|
|
1305
1305
|
return null;
|
|
1306
1306
|
};
|
|
@@ -1715,37 +1715,31 @@ const isDirectionKeydown = (event) => {
|
|
|
1715
1715
|
return isMoveUp || isMoveDown || isMoveBackward || isMoveForward;
|
|
1716
1716
|
};
|
|
1717
1717
|
|
|
1718
|
-
|
|
1719
|
-
|
|
1720
|
-
|
|
1721
|
-
|
|
1722
|
-
|
|
1723
|
-
|
|
1724
|
-
|
|
1725
|
-
|
|
1726
|
-
|
|
1727
|
-
|
|
1728
|
-
|
|
1729
|
-
const
|
|
1730
|
-
|
|
1731
|
-
|
|
1732
|
-
|
|
1733
|
-
|
|
1734
|
-
|
|
1735
|
-
|
|
1736
|
-
|
|
1737
|
-
|
|
1738
|
-
|
|
1739
|
-
|
|
1740
|
-
|
|
1741
|
-
|
|
1742
|
-
|
|
1743
|
-
const selection = window.getSelection();
|
|
1744
|
-
const currentElement = AngularEditor.toDOMNode(editor, element);
|
|
1745
|
-
const range = document.createRange();
|
|
1746
|
-
selection.removeAllRanges();
|
|
1747
|
-
range.selectNode(currentElement);
|
|
1748
|
-
selection.addRange(range);
|
|
1718
|
+
const setClipboardDataByDom = async (e, fragment, data) => {
|
|
1719
|
+
const nodes = Array.isArray(fragment) ? fragment : [fragment];
|
|
1720
|
+
const htmlString = TheiaConverter.convertToHtml(nodes);
|
|
1721
|
+
const domRange = AngularEditor.toDOMRange(e, e.selection);
|
|
1722
|
+
const contents = domRange.cloneContents();
|
|
1723
|
+
const div = document.createElement('div');
|
|
1724
|
+
div.appendChild(contents);
|
|
1725
|
+
div.setAttribute('hidden', 'true');
|
|
1726
|
+
div.innerHTML = htmlString;
|
|
1727
|
+
document.body.appendChild(div);
|
|
1728
|
+
const attach = div.childNodes[0];
|
|
1729
|
+
const plainText = getPlainText$1(div);
|
|
1730
|
+
const clipboardData = createClipboardData(htmlString, nodes, plainText, []);
|
|
1731
|
+
await setClipboardData(clipboardData, div, attach, data);
|
|
1732
|
+
document.body.removeChild(div);
|
|
1733
|
+
};
|
|
1734
|
+
function copyNode(e, element, thyNotifyService) {
|
|
1735
|
+
const fragment = cloneDeep(element);
|
|
1736
|
+
return setClipboardDataByDom(e, fragment)
|
|
1737
|
+
.then(() => {
|
|
1738
|
+
thyNotifyService.success('复制成功');
|
|
1739
|
+
})
|
|
1740
|
+
.catch(() => {
|
|
1741
|
+
thyNotifyService.error('复制失败');
|
|
1742
|
+
});
|
|
1749
1743
|
}
|
|
1750
1744
|
|
|
1751
1745
|
function idCreator(length = 5) {
|
|
@@ -1797,6 +1791,25 @@ const THE_MODE_PROVIDER = {
|
|
|
1797
1791
|
|
|
1798
1792
|
const THE_UPLOAD_SERVICE_TOKEN = new InjectionToken('THE_UPLOAD_SERVICE_TOKEN');
|
|
1799
1793
|
|
|
1794
|
+
const ThePluginMenu = {
|
|
1795
|
+
isMenuGroup(value) {
|
|
1796
|
+
if (value instanceof Object && !value.key) {
|
|
1797
|
+
return true;
|
|
1798
|
+
}
|
|
1799
|
+
else {
|
|
1800
|
+
return false;
|
|
1801
|
+
}
|
|
1802
|
+
},
|
|
1803
|
+
isMenuItem(value) {
|
|
1804
|
+
if (value?.key) {
|
|
1805
|
+
return true;
|
|
1806
|
+
}
|
|
1807
|
+
else {
|
|
1808
|
+
return false;
|
|
1809
|
+
}
|
|
1810
|
+
}
|
|
1811
|
+
};
|
|
1812
|
+
|
|
1800
1813
|
var PluginKeys;
|
|
1801
1814
|
(function (PluginKeys) {
|
|
1802
1815
|
PluginKeys["list"] = "list";
|
|
@@ -1839,25 +1852,6 @@ var PluginKeys;
|
|
|
1839
1852
|
PluginKeys["internalCommon"] = "internalCommon";
|
|
1840
1853
|
})(PluginKeys || (PluginKeys = {}));
|
|
1841
1854
|
|
|
1842
|
-
const ThePluginMenu = {
|
|
1843
|
-
isMenuGroup(value) {
|
|
1844
|
-
if (value instanceof Object && !value.key) {
|
|
1845
|
-
return true;
|
|
1846
|
-
}
|
|
1847
|
-
else {
|
|
1848
|
-
return false;
|
|
1849
|
-
}
|
|
1850
|
-
},
|
|
1851
|
-
isMenuItem(value) {
|
|
1852
|
-
if (value?.key) {
|
|
1853
|
-
return true;
|
|
1854
|
-
}
|
|
1855
|
-
else {
|
|
1856
|
-
return false;
|
|
1857
|
-
}
|
|
1858
|
-
}
|
|
1859
|
-
};
|
|
1860
|
-
|
|
1861
1855
|
const THE_PRESET_CONFIG_TOKEN = new InjectionToken('the-preset');
|
|
1862
1856
|
|
|
1863
1857
|
const inValidTypes = [
|
|
@@ -1918,10 +1912,10 @@ class TheBaseElement extends BaseElementComponent {
|
|
|
1918
1912
|
const blockClass = this.editor.isInline(this.element) ? 'slate-inline-block' : 'slate-block';
|
|
1919
1913
|
this.nativeElement.classList.add(`slate-element-${this.element.type}`, blockClass);
|
|
1920
1914
|
}
|
|
1921
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
1922
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.
|
|
1915
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheBaseElement, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
1916
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: TheBaseElement, selector: "TheBaseElement", usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
|
|
1923
1917
|
}
|
|
1924
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
1918
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheBaseElement, decorators: [{
|
|
1925
1919
|
type: Component,
|
|
1926
1920
|
args: [{
|
|
1927
1921
|
selector: 'TheBaseElement',
|
|
@@ -2435,10 +2429,10 @@ class TheBaseToolbarItem {
|
|
|
2435
2429
|
this.active = false;
|
|
2436
2430
|
}
|
|
2437
2431
|
}
|
|
2438
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
2439
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.
|
|
2432
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheBaseToolbarItem, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
2433
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.4", type: TheBaseToolbarItem, inputs: { toolbarItem: "toolbarItem", editor: "editor", itemMousedownHandle: "itemMousedownHandle" }, host: { properties: { "class.the-toolbar-item": "this.class", "class.disabled": "this.disabledState", "class.active": "this.activeState" } }, ngImport: i0 }); }
|
|
2440
2434
|
}
|
|
2441
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
2435
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheBaseToolbarItem, decorators: [{
|
|
2442
2436
|
type: Directive
|
|
2443
2437
|
}], propDecorators: { toolbarItem: [{
|
|
2444
2438
|
type: Input
|
|
@@ -2476,10 +2470,10 @@ class TheBaseToolbarDropdown extends TheBaseToolbarItem {
|
|
|
2476
2470
|
this.activeMenuItem = activeItem ? activeItem : this.defaultDropdownItem;
|
|
2477
2471
|
}
|
|
2478
2472
|
}
|
|
2479
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
2480
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.
|
|
2473
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheBaseToolbarDropdown, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
2474
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.4", type: TheBaseToolbarDropdown, inputs: { menus: "menus", mode: "mode", dropdownItemKey: "dropdownItemKey" }, usesInheritance: true, ngImport: i0 }); }
|
|
2481
2475
|
}
|
|
2482
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
2476
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheBaseToolbarDropdown, decorators: [{
|
|
2483
2477
|
type: Directive
|
|
2484
2478
|
}], propDecorators: { menus: [{
|
|
2485
2479
|
type: Input
|
|
@@ -2777,10 +2771,10 @@ class TheToolbarDropdown extends TheBaseToolbarDropdown {
|
|
|
2777
2771
|
this.dropdownPopoverRef?.close();
|
|
2778
2772
|
}
|
|
2779
2773
|
}
|
|
2780
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
2781
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.
|
|
2774
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheToolbarDropdown, deps: [{ token: i0.ElementRef }, { token: i1.ThyPopover }, { token: i0.ViewContainerRef }, { token: i2.Overlay }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2775
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: TheToolbarDropdown, isStandalone: true, selector: "the-toolbar-dropdown", host: { properties: { "class": "this.className" } }, viewQueries: [{ propertyName: "iconModeTemplate", first: true, predicate: ["iconModeTemplate"], descendants: true, static: true }, { propertyName: "textModeTemplate", first: true, predicate: ["textModeTemplate"], descendants: true, static: true }, { propertyName: "dropdownTemplate", first: true, predicate: ["dropdownTemplate"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<a\n *ngIf=\"mode === dropdownMode.icon\"\n href=\"javascript:;\"\n class=\"icon-mode\"\n thyAction\n [thyActionIcon]=\"activeIcon\"\n [thyActionActive]=\"activeDropdown\"\n (mousedown)=\"preventDefault($event)\"\n (click)=\"toggleDropdown($event)\"\n>\n <thy-icon *ngIf=\"!toolbarItem.isHideDropdownActionIcon\" class=\"font-size-sm text-desc ml-1\" thyIconName=\"caret-down\"></thy-icon>\n</a>\n<a\n *ngIf=\"mode !== dropdownMode.icon\"\n href=\"javascript:;\"\n class=\"text-mode\"\n thyAction\n (mousedown)=\"preventDefault($event)\"\n (click)=\"toggleDropdown($event)\"\n>\n <span class=\"show-text\">{{ activeMenuItem?.name }}</span>\n <thy-icon class=\"font-size-sm text-desc ml-1\" thyIconName=\"caret-down\"></thy-icon>\n</a>\n\n<ng-template #dropdownTemplate>\n <div class=\"thy-dropdown-menu\">\n <ng-container *ngFor=\"let menu of menus\">\n <a\n *ngIf=\"menu.key !== 'split'\"\n class=\"d-flex justify-content-between text-secondary\"\n href=\"javascript:;\"\n thyDropdownMenuItem\n [ngStyle]=\"menu?.styles\"\n [thyDropdownMenuItemActive]=\"activeKeys.includes(menu.key)\"\n (mousedown)=\"preventDefault($event)\"\n (click)=\"itemMousedown($event, menu)\"\n >\n <div class=\"d-flex align-items-center\">\n <thy-icon\n class=\"text-secondary\"\n *ngIf=\"menu?.icon && mode === dropdownMode.icon\"\n thyDropdownMenuItemIcon\n [thyIconName]=\"menu.icon\"\n ></thy-icon>\n <span class=\"text-body\" *ngIf=\"menu?.name\" thyDropdownMenuItemName>{{ menu.name }}</span>\n </div>\n <div class=\"menu-item-right font-size-sm text-muted\" *ngIf=\"menu?.shortcutKey\">{{ menu.shortcutKey }}</div>\n </a>\n <thy-dropdown-menu-divider *ngIf=\"menu.key === 'split'\"></thy-dropdown-menu-divider>\n </ng-container>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "component", type: ThyAction, selector: "thy-action, [thyAction]", inputs: ["thyType", "thyIcon", "thyActionIcon", "thyActive", "thyActionActive", "thyTheme", "thyHoverIcon", "thyDisabled"] }, { kind: "directive", type: ThyDropdownMenuItemDirective, selector: "[thyDropdownMenuItem]", inputs: ["thyType", "thyDisabled"] }, { kind: "component", type: ThyDropdownMenuDivider, selector: "thy-dropdown-menu-divider" }, { kind: "directive", type: ThyDropdownMenuItemNameDirective, selector: "[thyDropdownMenuItemName]" }, { kind: "directive", type: ThyDropdownMenuItemIconDirective, selector: "[thyDropdownMenuItemIcon]" }, { kind: "directive", type: ThyDropdownMenuItemActiveDirective, selector: "[thyDropdownMenuItemActive]", inputs: ["thyDropdownMenuItemActive"] }] }); }
|
|
2782
2776
|
}
|
|
2783
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
2777
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheToolbarDropdown, decorators: [{
|
|
2784
2778
|
type: Component,
|
|
2785
2779
|
args: [{ selector: 'the-toolbar-dropdown', standalone: true, imports: [
|
|
2786
2780
|
NgIf,
|
|
@@ -2831,8 +2825,8 @@ class TheToolbarItem extends TheBaseToolbarItem {
|
|
|
2831
2825
|
}
|
|
2832
2826
|
this.toolbarItem?.execute(this.editor);
|
|
2833
2827
|
}
|
|
2834
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
2835
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.
|
|
2828
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheToolbarItem, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2829
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: TheToolbarItem, isStandalone: true, selector: "the-toolbar-item", host: { listeners: { "mousedown": "toggleDropdown($event)" }, properties: { "class": "this.className" } }, usesInheritance: true, ngImport: i0, template: `
|
|
2836
2830
|
<a
|
|
2837
2831
|
href="javascript:;"
|
|
2838
2832
|
thyAction
|
|
@@ -2847,7 +2841,7 @@ class TheToolbarItem extends TheBaseToolbarItem {
|
|
|
2847
2841
|
<ng-template #tooltip let-data> {{ data?.name }} {{ data?.shortcutKey }} </ng-template>
|
|
2848
2842
|
`, isInline: true, dependencies: [{ kind: "component", type: ThyAction, selector: "thy-action, [thyAction]", inputs: ["thyType", "thyIcon", "thyActionIcon", "thyActive", "thyActionActive", "thyTheme", "thyHoverIcon", "thyDisabled"] }, { kind: "directive", type: ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }] }); }
|
|
2849
2843
|
}
|
|
2850
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
2844
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheToolbarItem, decorators: [{
|
|
2851
2845
|
type: Component,
|
|
2852
2846
|
args: [{
|
|
2853
2847
|
selector: 'the-toolbar-item',
|
|
@@ -3099,10 +3093,10 @@ class TheToolbarComponent {
|
|
|
3099
3093
|
}
|
|
3100
3094
|
return TheToolbarItem;
|
|
3101
3095
|
}
|
|
3102
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
3103
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.
|
|
3096
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheToolbarComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: TheToolbarGroupToken }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3097
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: TheToolbarComponent, isStandalone: true, selector: "the-toolbar", inputs: { editor: "editor", toolbarItems: "toolbarItems", align: "align", containerClass: "containerClass", isMore: "isMore", afterTemplate: "afterTemplate" }, host: { properties: { "style.justifyContent": "this.justifyContent" }, classAttribute: "the-toolbar-container d-flex align-items-center" }, viewQueries: [{ propertyName: "toolbarContainer", first: true, predicate: ["toolbarContainer"], descendants: true, read: ViewContainerRef, static: true }], usesOnChanges: true, ngImport: i0, template: "<ng-container #toolbarContainer></ng-container>\n<ng-content></ng-content>\n<ng-template *ngIf=\"afterTemplate\" [ngTemplateOutlet]=\"afterTemplate\"></ng-template>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
|
|
3104
3098
|
}
|
|
3105
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
3099
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheToolbarComponent, decorators: [{
|
|
3106
3100
|
type: Component,
|
|
3107
3101
|
args: [{ selector: 'the-toolbar', host: {
|
|
3108
3102
|
class: 'the-toolbar-container d-flex align-items-center'
|
|
@@ -3219,10 +3213,10 @@ class TheToolbarGroup {
|
|
|
3219
3213
|
this.groupPopoverRef.close();
|
|
3220
3214
|
}
|
|
3221
3215
|
}
|
|
3222
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
3223
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.
|
|
3216
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheToolbarGroup, deps: [{ token: i0.ElementRef }, { token: i1.ThyPopover }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3217
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: TheToolbarGroup, isStandalone: true, selector: "the-toolbar-group", inputs: { menus: "menus", item: "item" }, host: { listeners: { "mousedown": "mousedownHandler($event)", "document:mouseup": "documentMouseupHandle($event)", "click": "clickHandle($event)" }, properties: { "class": "this.className" } }, viewQueries: [{ propertyName: "groupTemplate", first: true, predicate: ["groupTemplate"], descendants: true, read: TemplateRef, static: true }], ngImport: i0, template: "<a\n href=\"javascript:;\"\n thyAction\n [thyActionIcon]=\"item.icon\"\n [thyActionActive]=\"active\"\n [thyTooltip]=\"item?.name\"\n thyTooltipPlacement=\"top\"\n></a>\n\n<ng-template #groupTemplate>\n <the-toolbar class=\"group\" [editor]=\"editor\" [toolbarItems]=\"menus\" [isMore]=\"false\"></the-toolbar>\n</ng-template>\n", dependencies: [{ kind: "component", type: ThyAction, selector: "thy-action, [thyAction]", inputs: ["thyType", "thyIcon", "thyActionIcon", "thyActive", "thyActionActive", "thyTheme", "thyHoverIcon", "thyDisabled"] }, { kind: "directive", type: ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }, { kind: "component", type: TheToolbarComponent, selector: "the-toolbar", inputs: ["editor", "toolbarItems", "align", "containerClass", "isMore", "afterTemplate"] }] }); }
|
|
3224
3218
|
}
|
|
3225
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
3219
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheToolbarGroup, decorators: [{
|
|
3226
3220
|
type: Component,
|
|
3227
3221
|
args: [{ selector: 'the-toolbar-group', standalone: true, imports: [ThyAction, ThyTooltipDirective, TheToolbarComponent], template: "<a\n href=\"javascript:;\"\n thyAction\n [thyActionIcon]=\"item.icon\"\n [thyActionActive]=\"active\"\n [thyTooltip]=\"item?.name\"\n thyTooltipPlacement=\"top\"\n></a>\n\n<ng-template #groupTemplate>\n <the-toolbar class=\"group\" [editor]=\"editor\" [toolbarItems]=\"menus\" [isMore]=\"false\"></the-toolbar>\n</ng-template>\n" }]
|
|
3228
3222
|
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.ThyPopover }, { type: i0.ViewContainerRef }], propDecorators: { className: [{
|
|
@@ -3250,10 +3244,10 @@ class TheDefaultElement extends TheBaseElement {
|
|
|
3250
3244
|
get indent() {
|
|
3251
3245
|
return this.element?.indent;
|
|
3252
3246
|
}
|
|
3253
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
3254
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.
|
|
3247
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheDefaultElement, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
3248
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: TheDefaultElement, isStandalone: true, selector: "[theDefaultElement]", host: { properties: { "attr.the-indent": "this.indent" } }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
3255
3249
|
}
|
|
3256
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
3250
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheDefaultElement, decorators: [{
|
|
3257
3251
|
type: Component,
|
|
3258
3252
|
args: [{
|
|
3259
3253
|
selector: '[theDefaultElement]',
|
|
@@ -3307,15 +3301,15 @@ class TheListboxOptionDirective {
|
|
|
3307
3301
|
getActive() {
|
|
3308
3302
|
return this._active;
|
|
3309
3303
|
}
|
|
3310
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
3311
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.
|
|
3304
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheListboxOptionDirective, deps: [{ token: THE_LISTBOX_PARENT_OPTION_TOKEN, optional: true, skipSelf: true }, { token: THE_LISTBOX_PARENT_GROUP_TOKEN }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
3305
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.4", type: TheListboxOptionDirective, isStandalone: true, selector: "[theListboxOption]", inputs: { theOptionValue: "theOptionValue", theOptionDisabled: "theOptionDisabled" }, host: { properties: { "class": "this.className" } }, providers: [
|
|
3312
3306
|
{
|
|
3313
3307
|
provide: THE_LISTBOX_PARENT_OPTION_TOKEN,
|
|
3314
3308
|
useExisting: TheListboxOptionDirective
|
|
3315
3309
|
}
|
|
3316
3310
|
], queries: [{ propertyName: "_options", predicate: i0.forwardRef(() => TheListboxOptionDirective), descendants: true }], exportAs: ["theListboxOption"], ngImport: i0 }); }
|
|
3317
3311
|
}
|
|
3318
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
3312
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheListboxOptionDirective, decorators: [{
|
|
3319
3313
|
type: Directive,
|
|
3320
3314
|
args: [{
|
|
3321
3315
|
selector: '[theListboxOption]',
|
|
@@ -3391,15 +3385,15 @@ class TheListboxGroupDirective {
|
|
|
3391
3385
|
getLast() {
|
|
3392
3386
|
return this.options[this.options.length - 1];
|
|
3393
3387
|
}
|
|
3394
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
3395
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.
|
|
3388
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheListboxGroupDirective, deps: [{ token: THE_LISTBOX_PARENT_OPTION_TOKEN, optional: true, skipSelf: true }, { token: THE_LISTBOX_TOKEN }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
3389
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.4", type: TheListboxGroupDirective, isStandalone: true, selector: "[theListboxGroup]", inputs: { horizontalColumn: "horizontalColumn" }, host: { properties: { "class": "this.className" } }, providers: [
|
|
3396
3390
|
{
|
|
3397
3391
|
provide: THE_LISTBOX_PARENT_GROUP_TOKEN,
|
|
3398
3392
|
useExisting: TheListboxGroupDirective
|
|
3399
3393
|
}
|
|
3400
3394
|
], queries: [{ propertyName: "_options", predicate: TheListboxOptionDirective, descendants: true }], exportAs: ["theListboxGroup"], ngImport: i0 }); }
|
|
3401
3395
|
}
|
|
3402
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
3396
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheListboxGroupDirective, decorators: [{
|
|
3403
3397
|
type: Directive,
|
|
3404
3398
|
args: [{
|
|
3405
3399
|
selector: '[theListboxGroup]',
|
|
@@ -3603,15 +3597,15 @@ class TheListboxDirective {
|
|
|
3603
3597
|
this._optionChangesSubscription.unsubscribe();
|
|
3604
3598
|
this._keyboardSubscription.unsubscribe();
|
|
3605
3599
|
}
|
|
3606
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
3607
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.
|
|
3600
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheListboxDirective, deps: [{ token: i0.NgZone }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
3601
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.4", type: TheListboxDirective, isStandalone: true, selector: "[theListBox]", inputs: { keyboardContainer: "keyboardContainer", autoActiveFirstItem: "autoActiveFirstItem" }, outputs: { theListboxChange: "theListboxChange" }, host: { properties: { "class": "this.className" } }, providers: [
|
|
3608
3602
|
{
|
|
3609
3603
|
provide: THE_LISTBOX_TOKEN,
|
|
3610
3604
|
useExisting: TheListboxDirective
|
|
3611
3605
|
}
|
|
3612
3606
|
], queries: [{ propertyName: "_groups", predicate: TheListboxGroupDirective, descendants: true }, { propertyName: "_options", predicate: TheListboxOptionDirective, descendants: true }], exportAs: ["theListBox"], ngImport: i0 }); }
|
|
3613
3607
|
}
|
|
3614
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
3608
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheListboxDirective, decorators: [{
|
|
3615
3609
|
type: Directive,
|
|
3616
3610
|
args: [{
|
|
3617
3611
|
selector: '[theListBox]',
|
|
@@ -3645,10 +3639,10 @@ class ThePreventDefaultDirective {
|
|
|
3645
3639
|
mousedown(event) {
|
|
3646
3640
|
event.preventDefault();
|
|
3647
3641
|
}
|
|
3648
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
3649
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.
|
|
3642
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ThePreventDefaultDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
3643
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.4", type: ThePreventDefaultDirective, isStandalone: true, selector: "[thePreventDefault]", host: { listeners: { "mousedown": "mousedown($event)" } }, exportAs: ["thePreventDefault"], ngImport: i0 }); }
|
|
3650
3644
|
}
|
|
3651
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
3645
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ThePreventDefaultDirective, decorators: [{
|
|
3652
3646
|
type: Directive,
|
|
3653
3647
|
args: [{
|
|
3654
3648
|
selector: '[thePreventDefault]',
|
|
@@ -3671,10 +3665,10 @@ class ElementStylePipe {
|
|
|
3671
3665
|
}
|
|
3672
3666
|
return style;
|
|
3673
3667
|
}
|
|
3674
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
3675
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.
|
|
3668
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ElementStylePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
3669
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.4", ngImport: i0, type: ElementStylePipe, isStandalone: true, name: "elementStyle" }); }
|
|
3676
3670
|
}
|
|
3677
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
3671
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ElementStylePipe, decorators: [{
|
|
3678
3672
|
type: Pipe,
|
|
3679
3673
|
args: [{
|
|
3680
3674
|
name: 'elementStyle',
|
|
@@ -3690,10 +3684,10 @@ class ElementClassPipe {
|
|
|
3690
3684
|
}
|
|
3691
3685
|
return classStr;
|
|
3692
3686
|
}
|
|
3693
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
3694
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.
|
|
3687
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ElementClassPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
3688
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.4", ngImport: i0, type: ElementClassPipe, isStandalone: true, name: "elementClass" }); }
|
|
3695
3689
|
}
|
|
3696
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
3690
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ElementClassPipe, decorators: [{
|
|
3697
3691
|
type: Pipe,
|
|
3698
3692
|
args: [{
|
|
3699
3693
|
name: 'elementClass',
|
|
@@ -3707,10 +3701,10 @@ class PluginMenuPipe {
|
|
|
3707
3701
|
}
|
|
3708
3702
|
return icon;
|
|
3709
3703
|
}
|
|
3710
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
3711
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.
|
|
3704
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: PluginMenuPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
3705
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.4", ngImport: i0, type: PluginMenuPipe, isStandalone: true, name: "getMenuIcon" }); }
|
|
3712
3706
|
}
|
|
3713
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
3707
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: PluginMenuPipe, decorators: [{
|
|
3714
3708
|
type: Pipe,
|
|
3715
3709
|
args: [{
|
|
3716
3710
|
name: 'getMenuIcon',
|
|
@@ -5904,10 +5898,10 @@ class TheContextService {
|
|
|
5904
5898
|
this.destroy$.next();
|
|
5905
5899
|
this.destroy$.complete();
|
|
5906
5900
|
}
|
|
5907
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
5908
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.
|
|
5901
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheContextService, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
5902
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheContextService }); }
|
|
5909
5903
|
}
|
|
5910
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
5904
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheContextService, decorators: [{
|
|
5911
5905
|
type: Injectable
|
|
5912
5906
|
}], ctorParameters: () => [{ type: i0.NgZone }] });
|
|
5913
5907
|
|
|
@@ -6585,10 +6579,10 @@ class TheBaseSuggestion {
|
|
|
6585
6579
|
handleMousedown(event) {
|
|
6586
6580
|
event.preventDefault();
|
|
6587
6581
|
}
|
|
6588
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
6589
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.
|
|
6582
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheBaseSuggestion, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
6583
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.4", type: TheBaseSuggestion, inputs: { editor: "editor", type: "type", keywords: "keywords" }, host: { listeners: { "mousedown": "handleMousedown($event)" } }, ngImport: i0 }); }
|
|
6590
6584
|
}
|
|
6591
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
6585
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheBaseSuggestion, decorators: [{
|
|
6592
6586
|
type: Directive
|
|
6593
6587
|
}], propDecorators: { editor: [{
|
|
6594
6588
|
type: Input
|
|
@@ -6745,10 +6739,10 @@ class TheVerticalToolbarItem extends TheBaseToolbarDropdown {
|
|
|
6745
6739
|
this.dropdownPopoverRef.close();
|
|
6746
6740
|
}
|
|
6747
6741
|
}
|
|
6748
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
6749
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.
|
|
6742
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheVerticalToolbarItem, deps: [{ token: i0.ElementRef }, { token: i1.ThyPopover }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
6743
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: TheVerticalToolbarItem, isStandalone: true, selector: "the-toolbar-vertical-align-item", host: { listeners: { "document: mousedown": "handleDocumentMouseDown($event)" }, classAttribute: "the-toolbar-dropdown-container verticalAlign" }, viewQueries: [{ propertyName: "template", first: true, predicate: ["VerticalAlignItems"], descendants: true, read: TemplateRef, static: true }], usesInheritance: true, ngImport: i0, template: "<a\n href=\"javascript:;\"\n class=\"icon-mode link-with-down\"\n thyAction\n [thyActionIcon]=\"activeMenuItem?.icon\"\n [thyActionActive]=\"isOpened\"\n [thyTooltip]=\"toolbarItem?.name\"\n thyTooltipPlacement=\"top\"\n (mousedown)=\"execute($event)\"\n>\n <thy-icon class=\"font-size-sm text-desc ml-1\" thyIconName=\"caret-down\"></thy-icon>\n</a>\n\n<ng-template #VerticalAlignItems>\n <div class=\"thy-dropdown-menu\">\n <ng-container *ngFor=\"let menu of toolbarItem?.includes\">\n <a\n href=\"javascript:;\"\n thyDropdownMenuItem\n [thyDropdownMenuItemActive]=\"menu.key === activeMenuItem?.key\"\n (mousedown)=\"itemMousedown($event, menu)\"\n >\n <thy-icon *ngIf=\"menu.icon\" thyDropdownMenuItemIcon [thyIconName]=\"menu?.icon\"></thy-icon>\n <span thyDropdownMenuItemName>{{ menu.name }}</span>\n </a>\n </ng-container>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "component", type: ThyAction, selector: "thy-action, [thyAction]", inputs: ["thyType", "thyIcon", "thyActionIcon", "thyActive", "thyActionActive", "thyTheme", "thyHoverIcon", "thyDisabled"] }, { kind: "directive", type: ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }, { kind: "directive", type: ThyDropdownMenuItemDirective, selector: "[thyDropdownMenuItem]", inputs: ["thyType", "thyDisabled"] }, { kind: "directive", type: ThyDropdownMenuItemIconDirective, selector: "[thyDropdownMenuItemIcon]" }, { kind: "directive", type: ThyDropdownMenuItemNameDirective, selector: "[thyDropdownMenuItemName]" }, { kind: "directive", type: ThyDropdownMenuItemActiveDirective, selector: "[thyDropdownMenuItemActive]", inputs: ["thyDropdownMenuItemActive"] }] }); }
|
|
6750
6744
|
}
|
|
6751
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
6745
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheVerticalToolbarItem, decorators: [{
|
|
6752
6746
|
type: Component,
|
|
6753
6747
|
args: [{ selector: 'the-toolbar-vertical-align-item', host: {
|
|
6754
6748
|
class: 'the-toolbar-dropdown-container verticalAlign'
|
|
@@ -6867,6 +6861,123 @@ const InlineCodeEditor = {
|
|
|
6867
6861
|
}
|
|
6868
6862
|
};
|
|
6869
6863
|
|
|
6864
|
+
class TheQuickInsert {
|
|
6865
|
+
handleMousedownNativeElement(event) {
|
|
6866
|
+
event.preventDefault();
|
|
6867
|
+
event.stopPropagation();
|
|
6868
|
+
}
|
|
6869
|
+
constructor(renderer, elementRef, cdr) {
|
|
6870
|
+
this.renderer = renderer;
|
|
6871
|
+
this.elementRef = elementRef;
|
|
6872
|
+
this.cdr = cdr;
|
|
6873
|
+
this.className = 'the-quick-insert';
|
|
6874
|
+
this.isVisible = false;
|
|
6875
|
+
this.defaultIconName = 'plus-circle-thin';
|
|
6876
|
+
this.iconNameFill = 'plus-circle-thin-fill';
|
|
6877
|
+
this.displayIconName = this.defaultIconName;
|
|
6878
|
+
}
|
|
6879
|
+
ngOnInit() {
|
|
6880
|
+
const { onChange } = this.editor;
|
|
6881
|
+
this.editor.onChange = () => {
|
|
6882
|
+
onChange();
|
|
6883
|
+
if (this.editor && this.editor.options && !this.editor.options.readonly) {
|
|
6884
|
+
// wait isOpenedMenu is updated
|
|
6885
|
+
setTimeout(() => {
|
|
6886
|
+
this.updateIconDisplay();
|
|
6887
|
+
}, 0);
|
|
6888
|
+
}
|
|
6889
|
+
};
|
|
6890
|
+
this.updateIconDisplay();
|
|
6891
|
+
}
|
|
6892
|
+
ngOnChanges(changes) {
|
|
6893
|
+
if (changes.isVisible && !changes.isVisible.firstChange) {
|
|
6894
|
+
this.updateIconDisplay();
|
|
6895
|
+
}
|
|
6896
|
+
}
|
|
6897
|
+
updateIconDisplay() {
|
|
6898
|
+
const { editor } = this;
|
|
6899
|
+
if (this.isVisible &&
|
|
6900
|
+
!QuickInsertEditor.isOpenedMenu(editor) &&
|
|
6901
|
+
isCleanEmptyParagraph(editor) &&
|
|
6902
|
+
!this.hasExcludeAttribute() &&
|
|
6903
|
+
!this.isRichMediaScope()) {
|
|
6904
|
+
const block = Node.ancestor(editor, [editor?.selection?.anchor.path[0]]);
|
|
6905
|
+
const rootNode = AngularEditor.toDOMNode(editor, block);
|
|
6906
|
+
this.updatePosition(rootNode.offsetLeft, rootNode.offsetTop);
|
|
6907
|
+
return;
|
|
6908
|
+
}
|
|
6909
|
+
this.addHiddenClass();
|
|
6910
|
+
}
|
|
6911
|
+
addHiddenClass() {
|
|
6912
|
+
this.elementRef.nativeElement.classList.add('d-none');
|
|
6913
|
+
}
|
|
6914
|
+
removeHiddenClass() {
|
|
6915
|
+
this.elementRef.nativeElement.classList.remove('d-none');
|
|
6916
|
+
}
|
|
6917
|
+
isRichMediaScope() {
|
|
6918
|
+
const { editor } = this;
|
|
6919
|
+
if (editor?.selection) {
|
|
6920
|
+
const block = Node.ancestor(editor, [editor?.selection?.anchor.path[0]]);
|
|
6921
|
+
const rootElement = AngularEditor.toDOMNode(editor, block);
|
|
6922
|
+
const leafElement = rootElement.querySelector('[data-slate-leaf="true"]');
|
|
6923
|
+
const rootElementRect = rootElement.getBoundingClientRect();
|
|
6924
|
+
const leafElementRect = leafElement.getBoundingClientRect();
|
|
6925
|
+
return leafElementRect?.x !== rootElementRect?.x;
|
|
6926
|
+
}
|
|
6927
|
+
return false;
|
|
6928
|
+
}
|
|
6929
|
+
hasExcludeAttribute() {
|
|
6930
|
+
const marks = getSelectionMarks(this.editor);
|
|
6931
|
+
const fontSizeMark = marks[MarkTypes.fontSize];
|
|
6932
|
+
return fontSizeMark;
|
|
6933
|
+
}
|
|
6934
|
+
updatePosition(left, top) {
|
|
6935
|
+
this.renderer.setStyle(this.elementRef.nativeElement, 'top', `${top}px`);
|
|
6936
|
+
this.renderer.setStyle(this.elementRef.nativeElement, 'left', `${left}px`);
|
|
6937
|
+
this.removeHiddenClass();
|
|
6938
|
+
}
|
|
6939
|
+
mouseEnter(event) {
|
|
6940
|
+
this.displayIconName = this.iconNameFill;
|
|
6941
|
+
this.cdr.markForCheck();
|
|
6942
|
+
}
|
|
6943
|
+
mouseLeave(event) {
|
|
6944
|
+
this.displayIconName = this.defaultIconName;
|
|
6945
|
+
this.cdr.markForCheck();
|
|
6946
|
+
}
|
|
6947
|
+
handleClick(event) {
|
|
6948
|
+
event.stopPropagation();
|
|
6949
|
+
event.preventDefault();
|
|
6950
|
+
// avoid popover is closed immediately
|
|
6951
|
+
setTimeout(() => {
|
|
6952
|
+
QuickInsertEditor.openMenu(this.editor)
|
|
6953
|
+
.afterClosed()
|
|
6954
|
+
.subscribe(() => {
|
|
6955
|
+
this.updateIconDisplay();
|
|
6956
|
+
});
|
|
6957
|
+
this.updateIconDisplay();
|
|
6958
|
+
}, 100);
|
|
6959
|
+
}
|
|
6960
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheQuickInsert, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
6961
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: TheQuickInsert, isStandalone: true, selector: "[theQuickInsert]", inputs: { editor: "editor", isVisible: "isVisible" }, host: { listeners: { "mousedown": "handleMousedownNativeElement($event)" }, properties: { "class": "this.className" } }, viewQueries: [{ propertyName: "iconElement", first: true, predicate: ["iconElement"], descendants: true, read: ElementRef }], usesOnChanges: true, ngImport: i0, template: "<thy-icon\n #iconElement\n [thyIconName]=\"displayIconName\"\n class=\"quick-insert-icon text-desc font-size-xlg\"\n (mouseenter)=\"mouseEnter($event)\"\n (mouseleave)=\"mouseLeave($event)\"\n (mousedown)=\"handleClick($event)\"\n></thy-icon>\n", dependencies: [{ kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }] }); }
|
|
6962
|
+
}
|
|
6963
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheQuickInsert, decorators: [{
|
|
6964
|
+
type: Component,
|
|
6965
|
+
args: [{ selector: '[theQuickInsert]', standalone: true, imports: [ThyIcon], template: "<thy-icon\n #iconElement\n [thyIconName]=\"displayIconName\"\n class=\"quick-insert-icon text-desc font-size-xlg\"\n (mouseenter)=\"mouseEnter($event)\"\n (mouseleave)=\"mouseLeave($event)\"\n (mousedown)=\"handleClick($event)\"\n></thy-icon>\n" }]
|
|
6966
|
+
}], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }], propDecorators: { className: [{
|
|
6967
|
+
type: HostBinding,
|
|
6968
|
+
args: ['class']
|
|
6969
|
+
}], editor: [{
|
|
6970
|
+
type: Input
|
|
6971
|
+
}], isVisible: [{
|
|
6972
|
+
type: Input
|
|
6973
|
+
}], iconElement: [{
|
|
6974
|
+
type: ViewChild,
|
|
6975
|
+
args: ['iconElement', { read: ElementRef, static: false }]
|
|
6976
|
+
}], handleMousedownNativeElement: [{
|
|
6977
|
+
type: HostListener,
|
|
6978
|
+
args: ['mousedown', ['$event']]
|
|
6979
|
+
}] } });
|
|
6980
|
+
|
|
6870
6981
|
class TheTableSelect {
|
|
6871
6982
|
constructor(popoverRef) {
|
|
6872
6983
|
this.popoverRef = popoverRef;
|
|
@@ -6895,10 +7006,10 @@ class TheTableSelect {
|
|
|
6895
7006
|
this.maxRowIndex = -1;
|
|
6896
7007
|
}
|
|
6897
7008
|
}
|
|
6898
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
6899
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.
|
|
7009
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheTableSelect, deps: [{ token: i1.ThyPopoverRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
7010
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: TheTableSelect, isStandalone: true, selector: "table-select", inputs: { optionsParam: "optionsParam", editor: "editor", beforeInsert: "beforeInsert" }, ngImport: i0, template: "<div class=\"table-selector-container\">\n <div *ngFor=\"let item of tableData; let rowIndex = index\" class=\"selector-row\" (mousedown)=\"executeTable($event)\">\n <span\n *ngFor=\"let item of tableData; let colIndex = index\"\n [ngClass]=\"{ 'active-cell': rowIndex <= maxRowIndex && colIndex <= maxColIndex, 'selector-cell': true }\"\n (mouseenter)=\"onSelectCells(rowIndex, colIndex)\"\n >\n </span>\n </div>\n <span class=\"selector-text\">{{ maxRowIndex + 1 }} x {{ maxColIndex + 1 }}</span>\n</div>\n", dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
|
|
6900
7011
|
}
|
|
6901
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
7012
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheTableSelect, decorators: [{
|
|
6902
7013
|
type: Component,
|
|
6903
7014
|
args: [{ selector: 'table-select', standalone: true, imports: [NgFor, NgClass], template: "<div class=\"table-selector-container\">\n <div *ngFor=\"let item of tableData; let rowIndex = index\" class=\"selector-row\" (mousedown)=\"executeTable($event)\">\n <span\n *ngFor=\"let item of tableData; let colIndex = index\"\n [ngClass]=\"{ 'active-cell': rowIndex <= maxRowIndex && colIndex <= maxColIndex, 'selector-cell': true }\"\n (mouseenter)=\"onSelectCells(rowIndex, colIndex)\"\n >\n </span>\n </div>\n <span class=\"selector-text\">{{ maxRowIndex + 1 }} x {{ maxColIndex + 1 }}</span>\n</div>\n" }]
|
|
6904
7015
|
}], ctorParameters: () => [{ type: i1.ThyPopoverRef }], propDecorators: { optionsParam: [{
|
|
@@ -7076,10 +7187,10 @@ class ThePluginMenuComponent {
|
|
|
7076
7187
|
trackByFn(index, item) {
|
|
7077
7188
|
return item?.key ?? index;
|
|
7078
7189
|
}
|
|
7079
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
7080
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: ThePluginMenuComponent, isStandalone: true, selector: "the-plugin-menu", inputs: { editor: "editor", theDisplaySearch: "theDisplaySearch", thePluginMenu: "thePluginMenu", sceneKey: "sceneKey", subPanelClass: "subPanelClass", autoActiveFirstItem: "autoActiveFirstItem" }, host: { properties: { "class": "this.containerClassName" } }, viewQueries: [{ propertyName: "dropdownTriggers", predicate: ["dropdownTriggers"], descendants: true, read: ThyDropdownDirective }], ngImport: i0, template: "<div *ngIf=\"theDisplaySearch\" class=\"menu-search px-5 pt-5 pb-2\">\n <thy-input-search [(ngModel)]=\"keyWords\" placeholder=\"\u641C\u7D22\" thyIconPosition=\"after\" (ngModelChange)=\"updateKeywords(keyWords)\">\n </thy-input-search>\n</div>\n\n<div\n *ngIf=\"groupMenu.length > 0; else empty\"\n theListBox\n [keyboardContainer]=\"keyboardContainer\"\n [autoActiveFirstItem]=\"listBoxAutoActiveFirstItem\"\n (theListboxChange)=\"theListboxChange($event)\"\n class=\"thy-dropdown-menu the-plugin-menu-scroll-container pb-2 pt-0\"\n>\n <ng-container *ngIf=\"iconMenu?.length > 0\">\n <div theListboxGroup [horizontalColumn]=\"6\" class=\"icon-menu d-flex pl-5 py-1\">\n <ng-container *ngFor=\"let item of iconMenu; trackBy: trackByFn\">\n <a\n *ngIf=\"item.type === ThePluginMenuItemType.icon\"\n href=\"javascript:;\"\n class=\"mt-2\"\n thyAction\n theListboxOption\n [theOptionValue]=\"item\"\n [thyActionIcon]=\"item.icon\"\n [thyTooltip]=\"item?.name\"\n [thyDisabled]=\"item.disabled\"\n [theOptionDisabled]=\"item.disabled\"\n thePreventDefault\n (click)=\"handleItemSelection(item)\"\n ></a>\n </ng-container>\n </div>\n <thy-divider class=\"my-2\"></thy-divider>\n </ng-container>\n\n <div theListboxGroup>\n <ng-container *ngFor=\"let item of groupMenu; trackBy: trackByFn\">\n <ng-container *ngIf=\"item.isMenuItem && !(item.children?.length > 0) && item.key !== 'table'\">\n <div\n thyDropdownMenuItem\n theListboxOption\n [theOptionValue]=\"item\"\n class=\"py-0\"\n thePreventDefault\n [thyDisabled]=\"item.disabled\"\n [theOptionDisabled]=\"item.disabled\"\n (click)=\"handleItemSelection(item)\"\n >\n <div *ngIf=\"item.menuIcon\" class=\"menu-icon mr-2\">\n <thy-icon [thyIconName]=\"item.menuIcon | getMenuIcon: sceneKey\"></thy-icon>\n </div>\n <div class=\"menu-content d-flex align-items-center\">\n <div class=\"menu-item-title w-100\">\n {{ item.name }}\n </div>\n </div>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"item.isMenuItem && item.children?.length > 0\" #hasExpanded>\n <div\n #dropdownTriggers\n [thyDropdown]=\"expand\"\n thyTrigger=\"hover\"\n thyDropdownMenuItem\n [thyDisabled]=\"item.disabled\"\n theListboxOption\n [theOptionValue]=\"item\"\n [theOptionDisabled]=\"item.disabled\"\n [thyPopoverOptions]=\"expandPopoverOptions\"\n class=\"py-0\"\n thePreventDefault\n [thyPanelClass]=\"subPanelClass\"\n (click)=\"handleItemSelection(item)\"\n >\n <div *ngIf=\"item.menuIcon\" class=\"menu-icon mr-2\">\n <thy-icon [thyIconName]=\"item.menuIcon | getMenuIcon: sceneKey\"></thy-icon>\n </div>\n <div class=\"menu-content d-flex align-items-center\">\n <div class=\"menu-item-title w-100\">\n {{ item.name }}\n </div>\n </div>\n <div *ngIf=\"item.children?.length > 0\">\n <thy-icon class=\"text-muted\" thyIconName=\"angle-right\"></thy-icon>\n </div>\n <thy-dropdown-menu #expand>\n <div class=\"the-plugin-menu-container expand-menu\" theListboxGroup>\n <ng-container *ngFor=\"let child of item.children\">\n <div\n *ngIf=\"child.type === ThePluginMenuItemType.group\"\n thyDropdownMenuItem\n theListboxOption\n class=\"py-0\"\n thePreventDefault\n [theOptionDisabled]=\"item.disabled\"\n [thyDisabled]=\"child.disabled\"\n (click)=\"handleItemSelection(child)\"\n [theOptionValue]=\"child\"\n >\n <div *ngIf=\"child.menuIcon\" class=\"menu-icon mr-2\">\n <thy-icon [thyIconName]=\"child.menuIcon | getMenuIcon: sceneKey\"></thy-icon>\n </div>\n <div class=\"menu-content d-flex align-items-center\">\n <div class=\"menu-item-title w-100\">\n {{ child.name }}\n </div>\n </div>\n </div>\n <thy-divider *ngIf=\"child === 'divider'\" class=\"my-2\"></thy-divider>\n </ng-container>\n </div>\n </thy-dropdown-menu>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"item.isMenuItem && item.key === 'table'\">\n <div\n #dropdownTriggers\n [thyPopover]=\"tableSelect\"\n thyPlacement=\"rightTop\"\n thyTrigger=\"hover\"\n thyDropdownMenuItem\n theListboxOption\n [thyConfig]=\"tableSelectPopoverConfig\"\n [theOptionValue]=\"item\"\n [theOptionDisabled]=\"item.disabled\"\n [thyDisabled]=\"item.disabled\"\n class=\"py-0\"\n thePreventDefault\n (click)=\"handleItemSelection(item)\"\n >\n <div class=\"menu-icon mr-2\">\n <thy-icon [thyIconName]=\"item.menuIcon | getMenuIcon: sceneKey\"></thy-icon>\n </div>\n <div class=\"menu-content d-flex align-items-center\">\n <div class=\"menu-item-title w-100\">\n {{ item.name }}\n </div>\n </div>\n <div>\n <thy-icon class=\"text-muted\" thyIconName=\"angle-right\"></thy-icon>\n </div>\n\n <ng-template #tableSelect>\n <table-select\n class=\"plugin-menu-table the-table-selector-panel\"\n [editor]=\"editor\"\n [beforeInsert]=\"removeKeywords\"\n ></table-select>\n </ng-template>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"!item.isMenuItem\" #menuGroup>\n <thy-dropdown-menu-group class=\"font-size-sm\" [thyTitle]=\"item.groupName\"></thy-dropdown-menu-group>\n </ng-container>\n </ng-container>\n </div>\n</div>\n\n<ng-template #empty>\n <div class=\"empty d-flex align-items-center justify-content-center\">\n <thy-empty [thyMessage]=\"thyMessage\"></thy-empty>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ThyEmptyModule }, { kind: "component", type: i3.ThyEmpty, selector: "thy-empty", inputs: ["thyMessage", "thyTranslationKey", "thyTranslationValues", "thyEntityName", "thyEntityNameTranslateKey", "thyIconName", "thySize", "thyMarginTop", "thyTopAuto", "thyContainer", "thyImageUrl", "thyImageLoading", "thyImageFetchPriority", "thyDescription"] }, { kind: "component", type: TheTableSelect, selector: "table-select", inputs: ["optionsParam", "editor", "beforeInsert"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "component", type: ThyAction, selector: "thy-action, [thyAction]", inputs: ["thyType", "thyIcon", "thyActionIcon", "thyActive", "thyActionActive", "thyTheme", "thyHoverIcon", "thyDisabled"] }, { kind: "component", type: ThyDivider, selector: "thy-divider", inputs: ["thyVertical", "thyStyle", "thyColor", "thyText", "thyTextDirection", "thyDeeper"] }, { kind: "component", type: ThyInputSearch, selector: "thy-input-search", inputs: ["name", "placeholder", "thyTheme", "thySearchFocus", "thyIconPosition", "thySize"], outputs: ["clear", "thyClear"] }, { kind: "component", type: ThyDropdownMenuComponent, selector: "thy-dropdown-menu", inputs: ["thyWidth", "thyImmediateRender"] }, { kind: "component", type: ThyDropdownMenuGroup, selector: "thy-dropdown-menu-group", inputs: ["thyTitle"] }, { kind: "pipe", type: PluginMenuPipe, name: "getMenuIcon" }, { kind: "directive", type: ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }, { kind: "directive", type: ThyPopoverDirective, selector: "[thyPopover]", inputs: ["thyPopover", "thyTrigger", "thyPlacement", "thyOffset", "thyConfig", "thyShowDelay", "thyHideDelay", "thyAutoAdaptive", "thyDisabled"] }, { kind: "directive", type: TheListboxDirective, selector: "[theListBox]", inputs: ["keyboardContainer", "autoActiveFirstItem"], outputs: ["theListboxChange"], exportAs: ["theListBox"] }, { kind: "directive", type: ThyDropdownDirective, selector: "[thyDropdown]", inputs: ["thyDropdownMenu", "thyDropdown", "thyTrigger", "thyShowDelay", "thyHideDelay", "thyActiveClass", "thyPopoverOptions", "thyPlacement", "thyMenuInsideClosable", "thyPanelClass"], outputs: ["thyActiveChange"] }, { kind: "directive", type: TheListboxGroupDirective, selector: "[theListboxGroup]", inputs: ["horizontalColumn"], exportAs: ["theListboxGroup"] }, { kind: "directive", type: TheListboxOptionDirective, selector: "[theListboxOption]", inputs: ["theOptionValue", "theOptionDisabled"], exportAs: ["theListboxOption"] }, { kind: "directive", type: ThePreventDefaultDirective, selector: "[thePreventDefault]", exportAs: ["thePreventDefault"] }, { kind: "directive", type: ThyDropdownMenuItemDirective, selector: "[thyDropdownMenuItem]", inputs: ["thyType", "thyDisabled"] }] }); }
|
|
7190
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ThePluginMenuComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i1.ThyPopoverRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
7191
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: ThePluginMenuComponent, isStandalone: true, selector: "the-plugin-menu", inputs: { editor: "editor", theDisplaySearch: "theDisplaySearch", thePluginMenu: "thePluginMenu", sceneKey: "sceneKey", subPanelClass: "subPanelClass", autoActiveFirstItem: "autoActiveFirstItem" }, host: { properties: { "class": "this.containerClassName" } }, viewQueries: [{ propertyName: "dropdownTriggers", predicate: ["dropdownTriggers"], descendants: true, read: ThyDropdownDirective }], ngImport: i0, template: "<div *ngIf=\"theDisplaySearch\" class=\"menu-search px-5 pt-5 pb-2\">\n <thy-input-search [(ngModel)]=\"keyWords\" placeholder=\"\u641C\u7D22\" thyIconPosition=\"after\" (ngModelChange)=\"updateKeywords(keyWords)\">\n </thy-input-search>\n</div>\n\n<div\n *ngIf=\"groupMenu.length > 0; else empty\"\n theListBox\n [keyboardContainer]=\"keyboardContainer\"\n [autoActiveFirstItem]=\"listBoxAutoActiveFirstItem\"\n (theListboxChange)=\"theListboxChange($event)\"\n class=\"thy-dropdown-menu the-plugin-menu-scroll-container pb-2 pt-0\"\n>\n <ng-container *ngIf=\"iconMenu?.length > 0\">\n <div theListboxGroup [horizontalColumn]=\"6\" class=\"icon-menu d-flex pl-5 py-1\">\n <ng-container *ngFor=\"let item of iconMenu; trackBy: trackByFn\">\n <a\n *ngIf=\"item.type === ThePluginMenuItemType.icon\"\n href=\"javascript:;\"\n class=\"mt-2\"\n thyAction\n theListboxOption\n [theOptionValue]=\"item\"\n [thyActionIcon]=\"item.icon\"\n [thyTooltip]=\"item?.name\"\n [thyDisabled]=\"item.disabled\"\n [theOptionDisabled]=\"item.disabled\"\n thePreventDefault\n (click)=\"handleItemSelection(item)\"\n ></a>\n </ng-container>\n </div>\n <thy-divider class=\"my-2\"></thy-divider>\n </ng-container>\n\n <div theListboxGroup>\n <ng-container *ngFor=\"let item of groupMenu; trackBy: trackByFn\">\n <ng-container *ngIf=\"item.isMenuItem && !(item.children?.length > 0) && item.key !== 'table'\">\n <div\n thyDropdownMenuItem\n theListboxOption\n [theOptionValue]=\"item\"\n class=\"py-0\"\n thePreventDefault\n [thyDisabled]=\"item.disabled\"\n [theOptionDisabled]=\"item.disabled\"\n (click)=\"handleItemSelection(item)\"\n >\n <div *ngIf=\"item.menuIcon\" class=\"menu-icon mr-2\">\n <thy-icon [thyIconName]=\"item.menuIcon | getMenuIcon: sceneKey\"></thy-icon>\n </div>\n <div class=\"menu-content d-flex align-items-center\">\n <div class=\"menu-item-title w-100\">\n {{ item.name }}\n </div>\n </div>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"item.isMenuItem && item.children?.length > 0\" #hasExpanded>\n <div\n #dropdownTriggers\n [thyDropdown]=\"expand\"\n thyTrigger=\"hover\"\n thyDropdownMenuItem\n [thyDisabled]=\"item.disabled\"\n theListboxOption\n [theOptionValue]=\"item\"\n [theOptionDisabled]=\"item.disabled\"\n [thyPopoverOptions]=\"expandPopoverOptions\"\n class=\"py-0\"\n thePreventDefault\n [thyPanelClass]=\"subPanelClass\"\n (click)=\"handleItemSelection(item)\"\n >\n <div *ngIf=\"item.menuIcon\" class=\"menu-icon mr-2\">\n <thy-icon [thyIconName]=\"item.menuIcon | getMenuIcon: sceneKey\"></thy-icon>\n </div>\n <div class=\"menu-content d-flex align-items-center\">\n <div class=\"menu-item-title w-100\">\n {{ item.name }}\n </div>\n </div>\n <div *ngIf=\"item.children?.length > 0\">\n <thy-icon class=\"text-muted\" thyIconName=\"angle-right\"></thy-icon>\n </div>\n <thy-dropdown-menu #expand>\n <div class=\"the-plugin-menu-container expand-menu\" theListboxGroup>\n <ng-container *ngFor=\"let child of item.children\">\n <div\n *ngIf=\"child.type === ThePluginMenuItemType.group\"\n thyDropdownMenuItem\n theListboxOption\n class=\"py-0\"\n thePreventDefault\n [theOptionDisabled]=\"item.disabled\"\n [thyDisabled]=\"child.disabled\"\n (click)=\"handleItemSelection(child)\"\n [theOptionValue]=\"child\"\n >\n <div *ngIf=\"child.menuIcon\" class=\"menu-icon mr-2\">\n <thy-icon [thyIconName]=\"child.menuIcon | getMenuIcon: sceneKey\"></thy-icon>\n </div>\n <div class=\"menu-content d-flex align-items-center\">\n <div class=\"menu-item-title w-100\">\n {{ child.name }}\n </div>\n </div>\n </div>\n <thy-divider *ngIf=\"child === 'divider'\" class=\"my-2\"></thy-divider>\n </ng-container>\n </div>\n </thy-dropdown-menu>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"item.isMenuItem && item.key === 'table'\">\n <div\n #dropdownTriggers\n [thyPopover]=\"tableSelect\"\n thyPlacement=\"rightTop\"\n thyTrigger=\"hover\"\n thyDropdownMenuItem\n theListboxOption\n [thyConfig]=\"tableSelectPopoverConfig\"\n [theOptionValue]=\"item\"\n [theOptionDisabled]=\"item.disabled\"\n [thyDisabled]=\"item.disabled\"\n class=\"py-0\"\n thePreventDefault\n (click)=\"handleItemSelection(item)\"\n >\n <div class=\"menu-icon mr-2\">\n <thy-icon [thyIconName]=\"item.menuIcon | getMenuIcon: sceneKey\"></thy-icon>\n </div>\n <div class=\"menu-content d-flex align-items-center\">\n <div class=\"menu-item-title w-100\">\n {{ item.name }}\n </div>\n </div>\n <div>\n <thy-icon class=\"text-muted\" thyIconName=\"angle-right\"></thy-icon>\n </div>\n\n <ng-template #tableSelect>\n <table-select\n class=\"plugin-menu-table the-table-selector-panel\"\n [editor]=\"editor\"\n [beforeInsert]=\"removeKeywords\"\n ></table-select>\n </ng-template>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"!item.isMenuItem\" #menuGroup>\n <thy-dropdown-menu-group class=\"font-size-sm\" [thyTitle]=\"item.groupName\"></thy-dropdown-menu-group>\n </ng-container>\n </ng-container>\n </div>\n</div>\n\n<ng-template #empty>\n <div class=\"empty d-flex align-items-center justify-content-center\">\n <thy-empty [thyMessage]=\"thyMessage\"></thy-empty>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ThyEmptyModule }, { kind: "component", type: i3.ThyEmpty, selector: "thy-empty", inputs: ["thyMessage", "thyTranslationKey", "thyTranslationValues", "thyEntityName", "thyEntityNameTranslateKey", "thyIconName", "thySize", "thyMarginTop", "thyTopAuto", "thyContainer", "thyImageUrl", "thyImageLoading", "thyImageFetchPriority", "thyDescription"] }, { kind: "component", type: TheTableSelect, selector: "table-select", inputs: ["optionsParam", "editor", "beforeInsert"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "component", type: ThyAction, selector: "thy-action, [thyAction]", inputs: ["thyType", "thyIcon", "thyActionIcon", "thyActive", "thyActionActive", "thyTheme", "thyHoverIcon", "thyDisabled"] }, { kind: "component", type: ThyDivider, selector: "thy-divider", inputs: ["thyVertical", "thyStyle", "thyColor", "thyText", "thyTextDirection", "thyDeeper"] }, { kind: "component", type: ThyInputSearch, selector: "thy-input-search", inputs: ["name", "placeholder", "thyTheme", "thySearchFocus", "thyIconPosition", "thySize"], outputs: ["clear", "thyClear"] }, { kind: "component", type: ThyDropdownMenuComponent, selector: "thy-dropdown-menu", inputs: ["thyWidth", "thyImmediateRender"] }, { kind: "component", type: ThyDropdownMenuGroup, selector: "thy-dropdown-menu-group", inputs: ["thyTitle"] }, { kind: "pipe", type: PluginMenuPipe, name: "getMenuIcon" }, { kind: "directive", type: ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }, { kind: "directive", type: ThyPopoverDirective, selector: "[thyPopover]", inputs: ["thyPopover", "thyTrigger", "thyPlacement", "thyOffset", "thyConfig", "thyShowDelay", "thyHideDelay", "thyAutoAdaptive", "thyDisabled"] }, { kind: "directive", type: TheListboxDirective, selector: "[theListBox]", inputs: ["keyboardContainer", "autoActiveFirstItem"], outputs: ["theListboxChange"], exportAs: ["theListBox"] }, { kind: "directive", type: ThyDropdownDirective, selector: "[thyDropdown]", inputs: ["thyDropdownMenu", "thyDropdown", "thyTrigger", "thyShowDelay", "thyHideDelay", "thyActiveClass", "thyPopoverOptions", "thyPlacement", "thyMenuInsideClosable", "thyPanelClass"], outputs: ["thyActiveChange"] }, { kind: "directive", type: TheListboxGroupDirective, selector: "[theListboxGroup]", inputs: ["horizontalColumn"], exportAs: ["theListboxGroup"] }, { kind: "directive", type: TheListboxOptionDirective, selector: "[theListboxOption]", inputs: ["theOptionValue", "theOptionDisabled"], exportAs: ["theListboxOption"] }, { kind: "directive", type: ThePreventDefaultDirective, selector: "[thePreventDefault]", exportAs: ["thePreventDefault"] }, { kind: "directive", type: ThyDropdownMenuItemDirective, selector: "[thyDropdownMenuItem]", inputs: ["thyType", "thyDisabled"] }] }); }
|
|
7081
7192
|
}
|
|
7082
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
7193
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ThePluginMenuComponent, decorators: [{
|
|
7083
7194
|
type: Component,
|
|
7084
7195
|
args: [{ selector: 'the-plugin-menu', standalone: true, imports: [
|
|
7085
7196
|
NgIf,
|
|
@@ -7144,10 +7255,10 @@ class ColumnResizeNotifierSource {
|
|
|
7144
7255
|
/** Triggers a resize action. */
|
|
7145
7256
|
this.triggerResize = new Subject();
|
|
7146
7257
|
}
|
|
7147
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
7148
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.
|
|
7258
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ColumnResizeNotifierSource, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
7259
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ColumnResizeNotifierSource }); }
|
|
7149
7260
|
}
|
|
7150
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
7261
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ColumnResizeNotifierSource, decorators: [{
|
|
7151
7262
|
type: Injectable
|
|
7152
7263
|
}] });
|
|
7153
7264
|
|
|
@@ -7196,10 +7307,10 @@ class TableCellEventDispatcher {
|
|
|
7196
7307
|
complete: () => observer.complete()
|
|
7197
7308
|
}));
|
|
7198
7309
|
}
|
|
7199
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
7200
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.
|
|
7310
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TableCellEventDispatcher, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
7311
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TableCellEventDispatcher }); }
|
|
7201
7312
|
}
|
|
7202
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
7313
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TableCellEventDispatcher, decorators: [{
|
|
7203
7314
|
type: Injectable
|
|
7204
7315
|
}], ctorParameters: () => [{ type: i0.NgZone }] });
|
|
7205
7316
|
|
|
@@ -7230,10 +7341,10 @@ class TheTemplate {
|
|
|
7230
7341
|
return null;
|
|
7231
7342
|
};
|
|
7232
7343
|
}
|
|
7233
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
7234
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.
|
|
7344
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheTemplate, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
7345
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: TheTemplate, isStandalone: true, selector: "the-template,[theTemplate]", viewQueries: [{ propertyName: "paragraphTemplate", first: true, predicate: ["paragraph"], descendants: true, read: TemplateRef, static: true }, { propertyName: "headingOneTemplate", first: true, predicate: ["headingOne"], descendants: true, read: TemplateRef, static: true }, { propertyName: "headingTwoTemplate", first: true, predicate: ["headingTwo"], descendants: true, read: TemplateRef, static: true }, { propertyName: "headingThreeTemplate", first: true, predicate: ["headingThree"], descendants: true, read: TemplateRef, static: true }, { propertyName: "headingFourTemplate", first: true, predicate: ["headingFour"], descendants: true, read: TemplateRef, static: true }, { propertyName: "headingFiveTemplate", first: true, predicate: ["headingFive"], descendants: true, read: TemplateRef, static: true }, { propertyName: "headingSixTemplate", first: true, predicate: ["headingSix"], descendants: true, read: TemplateRef, static: true }], ngImport: i0, template: "<ng-template #paragraph let-context=\"context\" let-viewContext=\"viewContext\">\n <div theDefaultElement [context]=\"context\" [viewContext]=\"viewContext\" [ngStyle]=\"context.element | elementStyle\"></div>\n</ng-template>\n<ng-template #headingOne let-context=\"context\" let-viewContext=\"viewContext\">\n <h1\n theDefaultElement\n [context]=\"context\"\n [viewContext]=\"viewContext\"\n [attr.id]=\"context.element.key\"\n [ngStyle]=\"context.element | elementStyle\"\n ></h1>\n</ng-template>\n<ng-template #headingTwo let-context=\"context\" let-viewContext=\"viewContext\">\n <h2\n theDefaultElement\n [context]=\"context\"\n [viewContext]=\"viewContext\"\n [attr.id]=\"context.element.key\"\n [ngStyle]=\"context.element | elementStyle\"\n ></h2>\n</ng-template>\n<ng-template #headingThree let-context=\"context\" let-viewContext=\"viewContext\">\n <h3\n theDefaultElement\n [context]=\"context\"\n [viewContext]=\"viewContext\"\n [attr.id]=\"context.element.key\"\n [ngStyle]=\"context.element | elementStyle\"\n ></h3>\n</ng-template>\n<ng-template #headingFour let-context=\"context\" let-viewContext=\"viewContext\">\n <h4\n theDefaultElement\n [context]=\"context\"\n [viewContext]=\"viewContext\"\n [attr.id]=\"context.element.key\"\n [ngStyle]=\"context.element | elementStyle\"\n ></h4>\n</ng-template>\n<ng-template #headingFive let-context=\"context\" let-viewContext=\"viewContext\">\n <h5\n theDefaultElement\n [context]=\"context\"\n [viewContext]=\"viewContext\"\n [attr.id]=\"context.element.key\"\n [ngStyle]=\"context.element | elementStyle\"\n ></h5>\n</ng-template>\n<ng-template #headingSix let-context=\"context\" let-viewContext=\"viewContext\">\n <h6\n theDefaultElement\n [context]=\"context\"\n [viewContext]=\"viewContext\"\n [attr.id]=\"context.element.key\"\n [ngStyle]=\"context.element | elementStyle\"\n ></h6>\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "pipe", type: ElementStylePipe, name: "elementStyle" }, { kind: "component", type: TheDefaultElement, selector: "[theDefaultElement]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
7235
7346
|
}
|
|
7236
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
7347
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheTemplate, decorators: [{
|
|
7237
7348
|
type: Component,
|
|
7238
7349
|
args: [{ selector: 'the-template,[theTemplate]', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgStyle, ElementStylePipe, TheDefaultElement], template: "<ng-template #paragraph let-context=\"context\" let-viewContext=\"viewContext\">\n <div theDefaultElement [context]=\"context\" [viewContext]=\"viewContext\" [ngStyle]=\"context.element | elementStyle\"></div>\n</ng-template>\n<ng-template #headingOne let-context=\"context\" let-viewContext=\"viewContext\">\n <h1\n theDefaultElement\n [context]=\"context\"\n [viewContext]=\"viewContext\"\n [attr.id]=\"context.element.key\"\n [ngStyle]=\"context.element | elementStyle\"\n ></h1>\n</ng-template>\n<ng-template #headingTwo let-context=\"context\" let-viewContext=\"viewContext\">\n <h2\n theDefaultElement\n [context]=\"context\"\n [viewContext]=\"viewContext\"\n [attr.id]=\"context.element.key\"\n [ngStyle]=\"context.element | elementStyle\"\n ></h2>\n</ng-template>\n<ng-template #headingThree let-context=\"context\" let-viewContext=\"viewContext\">\n <h3\n theDefaultElement\n [context]=\"context\"\n [viewContext]=\"viewContext\"\n [attr.id]=\"context.element.key\"\n [ngStyle]=\"context.element | elementStyle\"\n ></h3>\n</ng-template>\n<ng-template #headingFour let-context=\"context\" let-viewContext=\"viewContext\">\n <h4\n theDefaultElement\n [context]=\"context\"\n [viewContext]=\"viewContext\"\n [attr.id]=\"context.element.key\"\n [ngStyle]=\"context.element | elementStyle\"\n ></h4>\n</ng-template>\n<ng-template #headingFive let-context=\"context\" let-viewContext=\"viewContext\">\n <h5\n theDefaultElement\n [context]=\"context\"\n [viewContext]=\"viewContext\"\n [attr.id]=\"context.element.key\"\n [ngStyle]=\"context.element | elementStyle\"\n ></h5>\n</ng-template>\n<ng-template #headingSix let-context=\"context\" let-viewContext=\"viewContext\">\n <h6\n theDefaultElement\n [context]=\"context\"\n [viewContext]=\"viewContext\"\n [attr.id]=\"context.element.key\"\n [ngStyle]=\"context.element | elementStyle\"\n ></h6>\n</ng-template>\n" }]
|
|
7239
7350
|
}], propDecorators: { paragraphTemplate: [{
|
|
@@ -7267,6 +7378,10 @@ class TheText extends BaseTextComponent {
|
|
|
7267
7378
|
this.excludes = ['color', 'font-size', 'background-color', 'text'];
|
|
7268
7379
|
this.attributes = [];
|
|
7269
7380
|
}
|
|
7381
|
+
onContextChange() {
|
|
7382
|
+
super.onContextChange();
|
|
7383
|
+
this.applyTextMark();
|
|
7384
|
+
}
|
|
7270
7385
|
applyTextMark() {
|
|
7271
7386
|
this.attributes.forEach(attr => {
|
|
7272
7387
|
this.renderer2.removeAttribute(this.elementRef.nativeElement, attr);
|
|
@@ -7294,14 +7409,10 @@ class TheText extends BaseTextComponent {
|
|
|
7294
7409
|
this.renderer2.removeStyle(this.elementRef.nativeElement, 'background-color');
|
|
7295
7410
|
}
|
|
7296
7411
|
}
|
|
7297
|
-
|
|
7298
|
-
|
|
7299
|
-
this.applyTextMark();
|
|
7300
|
-
}
|
|
7301
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: TheText, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
7302
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: TheText, isStandalone: true, selector: "span[theText]", host: { attributes: { "data-slate-node": "text" } }, usesInheritance: true, ngImport: i0, template: ``, isInline: true }); }
|
|
7412
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheText, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
7413
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: TheText, isStandalone: true, selector: "span[theText]", host: { attributes: { "data-slate-node": "text" } }, usesInheritance: true, ngImport: i0, template: ``, isInline: true }); }
|
|
7303
7414
|
}
|
|
7304
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
7415
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheText, decorators: [{
|
|
7305
7416
|
type: Component,
|
|
7306
7417
|
args: [{
|
|
7307
7418
|
selector: 'span[theText]',
|
|
@@ -7309,8 +7420,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImpor
|
|
|
7309
7420
|
host: {
|
|
7310
7421
|
'data-slate-node': 'text'
|
|
7311
7422
|
},
|
|
7312
|
-
standalone: true
|
|
7313
|
-
imports: [SlateLeaves]
|
|
7423
|
+
standalone: true
|
|
7314
7424
|
}]
|
|
7315
7425
|
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }] });
|
|
7316
7426
|
|
|
@@ -7400,8 +7510,8 @@ class TheInlineToolbar {
|
|
|
7400
7510
|
this.destroy$.next();
|
|
7401
7511
|
this.destroy$.complete();
|
|
7402
7512
|
}
|
|
7403
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
7404
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.
|
|
7513
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheInlineToolbar, deps: [{ token: i0.ElementRef }, { token: i2.ScrollDispatcher }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: TheContextService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
7514
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: TheInlineToolbar, isStandalone: true, selector: "the-inline-toolbar", inputs: { editor: "editor", toolbarItems: "toolbarItems" }, host: { properties: { "class.hide": "toolbarItems.length === 0" } }, viewQueries: [{ propertyName: "inlineToolbar", first: true, predicate: ["inlineToolbar"], descendants: true }], ngImport: i0, template: `<the-toolbar
|
|
7405
7515
|
#inlineToolbar
|
|
7406
7516
|
class="the-inline-toolbar"
|
|
7407
7517
|
[editor]="editor"
|
|
@@ -7409,7 +7519,7 @@ class TheInlineToolbar {
|
|
|
7409
7519
|
[isMore]="false"
|
|
7410
7520
|
></the-toolbar> `, isInline: true, dependencies: [{ kind: "component", type: TheToolbarComponent, selector: "the-toolbar", inputs: ["editor", "toolbarItems", "align", "containerClass", "isMore", "afterTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
7411
7521
|
}
|
|
7412
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
7522
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheInlineToolbar, decorators: [{
|
|
7413
7523
|
type: Component,
|
|
7414
7524
|
args: [{
|
|
7415
7525
|
selector: 'the-inline-toolbar',
|
|
@@ -7443,20 +7553,20 @@ const closeConversionHint = (editor) => {
|
|
|
7443
7553
|
}
|
|
7444
7554
|
};
|
|
7445
7555
|
const withDeserializeMd = (editor) => {
|
|
7446
|
-
const {
|
|
7556
|
+
const { insertFragmentData, onKeydown } = editor;
|
|
7447
7557
|
editor.onKeydown = (event) => {
|
|
7448
7558
|
closeConversionHint(editor);
|
|
7449
7559
|
onKeydown(event);
|
|
7450
7560
|
};
|
|
7451
|
-
editor.
|
|
7561
|
+
editor.insertFragmentData = async (data) => {
|
|
7452
7562
|
const popover = editor.injector.get(ThyPopover);
|
|
7453
7563
|
const viewContainerRef = editor.injector.get(ViewContainerRef);
|
|
7454
7564
|
const cdr = editor.injector.get(ChangeDetectorRef);
|
|
7455
|
-
const plainFragment = data.getData('text/plain');
|
|
7456
|
-
const slateFragment = data.getData(`application/${CLIPBOARD_FORMAT_KEY}`);
|
|
7457
7565
|
const oldRange = editor.selection;
|
|
7566
|
+
const clipboardData = await getClipboardData(data);
|
|
7567
|
+
const plainFragment = clipboardData?.text;
|
|
7458
7568
|
closeConversionHint(editor);
|
|
7459
|
-
if (plainFragment && isMarkdownSyntax(plainFragment) && !
|
|
7569
|
+
if (plainFragment && isMarkdownSyntax(plainFragment) && !clipboardData?.elements) {
|
|
7460
7570
|
setTimeout(() => {
|
|
7461
7571
|
const overlay = editor.injector.get(Overlay);
|
|
7462
7572
|
const bodyElement = document.body;
|
|
@@ -7493,7 +7603,7 @@ const withDeserializeMd = (editor) => {
|
|
|
7493
7603
|
Transforms.insertFragment(editor, fragment);
|
|
7494
7604
|
AngularEditor.focus(editor);
|
|
7495
7605
|
});
|
|
7496
|
-
return;
|
|
7606
|
+
return true;
|
|
7497
7607
|
}
|
|
7498
7608
|
else {
|
|
7499
7609
|
closeConversionHint(editor);
|
|
@@ -7519,7 +7629,7 @@ const withDeserializeMd = (editor) => {
|
|
|
7519
7629
|
cdr.markForCheck();
|
|
7520
7630
|
});
|
|
7521
7631
|
}
|
|
7522
|
-
|
|
7632
|
+
return insertFragmentData(data);
|
|
7523
7633
|
};
|
|
7524
7634
|
return editor;
|
|
7525
7635
|
};
|
|
@@ -7595,10 +7705,10 @@ class TheConversionHint {
|
|
|
7595
7705
|
clearCloseTimer() {
|
|
7596
7706
|
clearInterval(this.closeTimer);
|
|
7597
7707
|
}
|
|
7598
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
7599
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.
|
|
7708
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheConversionHint, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
7709
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: TheConversionHint, isStandalone: true, selector: "the-conversion-hint", inputs: { editor: "editor", conversion: "conversion" }, host: { listeners: { "mouseenter": "mouseenter()", "mouseleave": "mouseleave()" }, classAttribute: "the-conversion-hint" }, ngImport: i0, template: "<ng-container>\n <thy-alert thyType=\"primary-weak\" thyIcon=\"info-circle-fill\" thyCloseable=\"true\" thyMessage=\"\u68C0\u6D4B\u5230\u7C98\u8D34\u5185\u5BB9\u7B26\u5408Markdown\u8BED\u6CD5\">\n <ng-template #operation>\n <a href=\"javascript:;\" thyAlertActionItem (click)=\"conversion()\"> \u7ACB\u5373\u8F6C\u6362 </a>\n </ng-template>\n </thy-alert>\n</ng-container>\n", dependencies: [{ kind: "component", type: ThyAlert, selector: "thy-alert", inputs: ["thyType", "thyTheme", "thyMessage", "thyIcon", "thyCloseable"] }, { kind: "directive", type: ThyAlertActionItemDirective, selector: "[thyAlertActionItem]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
7600
7710
|
}
|
|
7601
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
7711
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheConversionHint, decorators: [{
|
|
7602
7712
|
type: Component,
|
|
7603
7713
|
args: [{ selector: 'the-conversion-hint', host: {
|
|
7604
7714
|
class: 'the-conversion-hint'
|
|
@@ -7662,10 +7772,10 @@ class TheContextMenu {
|
|
|
7662
7772
|
item.backgroundColor = color;
|
|
7663
7773
|
item.activeHandle(undefined, item);
|
|
7664
7774
|
}
|
|
7665
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
7666
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.
|
|
7775
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheContextMenu, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.ThyPopoverRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
7776
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: TheContextMenu, isStandalone: true, selector: "the-contextmenu", inputs: { menuEntities: "menuEntities", actionHandle: "actionHandle", activeHandle: "activeHandle", deactivateHandle: "deactivateHandle" }, host: { listeners: { "document: mousedown": "handleDocumentMouseDown($event)", "mousedown": "handleMouseDown($event)" }, properties: { "class.the-overlay-menu-wrap": "this.wrap" } }, ngImport: i0, template: "<div class=\"thy-dropdown-menu\">\n <ng-container *ngFor=\"let menuItem of menuEntities\">\n <ng-container *ngIf=\"menuItem.visibility && !menuItem?.isInputNumber && menuItem.key !== 'background-color'\">\n <ng-template [ngTemplateOutlet]=\"defaultMenuTemplate\" [ngTemplateOutletContext]=\"{ $implicit: menuItem }\"></ng-template>\n </ng-container>\n <ng-container *ngIf=\"menuItem.visibility && menuItem.key === 'background-color'\">\n <ng-template [ngTemplateOutlet]=\"backgroundColorTemplate\" [ngTemplateOutletContext]=\"{ $implicit: menuItem }\"></ng-template>\n </ng-container>\n <ng-container *ngIf=\"menuItem.visibility && menuItem?.isInputNumber\">\n <ng-template [ngTemplateOutlet]=\"inputNumberMenuTemplate\" [ngTemplateOutletContext]=\"{ $implicit: menuItem }\"></ng-template>\n </ng-container>\n <thy-dropdown-menu-divider *ngIf=\"menuItem.divider && menuItem.visibility\"></thy-dropdown-menu-divider>\n </ng-container>\n</div>\n\n<ng-template #defaultMenuTemplate let-item>\n <a\n href=\"javascript:;\"\n thyDropdownMenuItem\n (mousedown)=\"itemMousedown($event, item)\"\n (mouseenter)=\"itemMouseenter($event, item)\"\n (mouseleave)=\"itemMouseleave($event, item)\"\n >\n <span thyDropdownMenuItemIcon>\n <thy-icon [thyIconName]=\"item.icon\"></thy-icon>\n </span>\n <span thyDropdownMenuItemName>{{ item.name }}</span>\n <span *ngIf=\"item.extendIcon\" thyDropdownMenuItemExtendIcon>\n <thy-icon thyIconName=\"{{ item.extendIcon }}\"></thy-icon>\n </span>\n </a>\n</ng-template>\n\n<ng-template #backgroundColorTemplate let-item>\n <a\n href=\"javascript:;\"\n thyDropdownMenuItem\n thyColorPicker\n thyTrigger=\"hover\"\n thyPlacement=\"rightTop\"\n [(ngModel)]=\"item.backgroundColor\"\n (ngModelChange)=\"changeColor($event, item)\"\n [thyHasBackdrop]=\"false\"\n >\n <span thyDropdownMenuItemIcon>\n <thy-icon [thyIconName]=\"item.icon\" thyIconType=\"twotone\" [thyTwotoneColor]=\"item.backgroundColor\"></thy-icon>\n </span>\n <span thyDropdownMenuItemName>{{ item.name }}</span>\n <span *ngIf=\"item.extendIcon\" thyDropdownMenuItemExtendIcon>\n <thy-icon thyIconName=\"{{ item.extendIcon }}\"></thy-icon>\n </span>\n </a>\n</ng-template>\n\n<ng-template #inputNumberMenuTemplate let-item>\n <a href=\"javascript:;\" class=\"the-input-number-menu\" thyDropdownMenuItem (click)=\"itemMousedown($event, item)\">\n <span thyDropdownMenuItemIcon>\n <thy-icon [thyIconName]=\"item.icon\"></thy-icon>\n </span>\n <span thyDropdownMenuItemName class=\"d-flex align-items-center\">\n {{ item.name }}\n <thy-input-number\n #inputNumber\n class=\"mx-2\"\n thySize=\"sm\"\n [(ngModel)]=\"item.count\"\n [thyStep]=\"1\"\n [thyMin]=\"1\"\n (click)=\"inputNumberFocus($event)\"\n (thyEnter)=\"itemEnterHandle($event, item)\"\n thyStopPropagation\n ></thy-input-number>\n {{ item.nameSuffix }}\n </span>\n </a>\n</ng-template>\n", dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "component", type: ThyInputNumber, selector: "thy-input-number", inputs: ["thyAutoFocus", "thyPlaceholder", "thyDisabled", "thyMax", "thyMin", "thyStep", "thyStepDelay", "thySize", "thyPrecision", "thySuffix"], outputs: ["thyBlur", "thyFocus"] }, { kind: "component", type: ThyDropdownMenuDivider, selector: "thy-dropdown-menu-divider" }, { kind: "directive", type: ThyEnterDirective, selector: "[thyEnter]", outputs: ["thyEnter"] }, { kind: "directive", type: ThyColorPickerDirective, selector: "[thyColorPicker]", inputs: ["thyOffset", "thyHasBackdrop", "thyDefaultColor", "thyTransparentColorSelectable", "thyPresetColors", "thyPlacement", "thyTrigger", "thyShowDelay", "thyHideDelay", "thyDisabled"], outputs: ["thyPanelOpen", "thyPanelClose"] }, { kind: "directive", type: ThyStopPropagationDirective, selector: "[thyStopPropagation]", inputs: ["thyStopPropagation"] }, { kind: "directive", type: ThyDropdownMenuItemDirective, selector: "[thyDropdownMenuItem]", inputs: ["thyType", "thyDisabled"] }, { kind: "directive", type: ThyDropdownMenuItemIconDirective, selector: "[thyDropdownMenuItemIcon]" }, { kind: "directive", type: ThyDropdownMenuItemNameDirective, selector: "[thyDropdownMenuItemName]" }, { kind: "directive", type: ThyDropdownMenuItemExtendIconDirective, selector: "[thyDropdownMenuItemExtendIcon]" }] }); }
|
|
7667
7777
|
}
|
|
7668
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
7778
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheContextMenu, decorators: [{
|
|
7669
7779
|
type: Component,
|
|
7670
7780
|
args: [{ selector: 'the-contextmenu', standalone: true, imports: [
|
|
7671
7781
|
FormsModule,
|
|
@@ -7847,10 +7957,10 @@ class TheColumnResizeOverlayHandle {
|
|
|
7847
7957
|
this.resizeNotifier.resizeStarted.next(sizeMessage);
|
|
7848
7958
|
});
|
|
7849
7959
|
}
|
|
7850
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
7851
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.
|
|
7960
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheColumnResizeOverlayHandle, deps: [{ token: i0.ElementRef }, { token: i0.ViewContainerRef }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: ResizeRef }, { token: TableCellEventDispatcher }, { token: DOCUMENT }, { token: ColumnResizeNotifierSource }, { token: i0.DestroyRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
7961
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: TheColumnResizeOverlayHandle, isStandalone: true, selector: "ng-component", host: { classAttribute: "the-table-resize-overlay-thumb" }, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
7852
7962
|
}
|
|
7853
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
7963
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheColumnResizeOverlayHandle, decorators: [{
|
|
7854
7964
|
type: Component,
|
|
7855
7965
|
args: [{
|
|
7856
7966
|
host: { class: 'the-table-resize-overlay-thumb' },
|
|
@@ -7944,10 +8054,10 @@ class ColumnResizingStore {
|
|
|
7944
8054
|
popCol() {
|
|
7945
8055
|
this.resizeCols.pop();
|
|
7946
8056
|
}
|
|
7947
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
7948
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.
|
|
8057
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ColumnResizingStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
8058
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ColumnResizingStore }); }
|
|
7949
8059
|
}
|
|
7950
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
8060
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ColumnResizingStore, decorators: [{
|
|
7951
8061
|
type: Injectable
|
|
7952
8062
|
}], ctorParameters: () => [] });
|
|
7953
8063
|
|
|
@@ -8054,10 +8164,10 @@ class TheColumnResizeDirective {
|
|
|
8054
8164
|
this.destroyed.next();
|
|
8055
8165
|
this.destroyed.complete();
|
|
8056
8166
|
}
|
|
8057
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
8058
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.
|
|
8167
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheColumnResizeDirective, deps: [{ token: i0.ElementRef }, { token: i0.ViewContainerRef }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: TableCellEventDispatcher }, { token: ColumnResizeNotifierSource }, { token: THE_TABLE_COMPONENT_TOKEN }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
8168
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.4", type: TheColumnResizeDirective, isStandalone: true, selector: "div[theColumnResize]", ngImport: i0 }); }
|
|
8059
8169
|
}
|
|
8060
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
8170
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheColumnResizeDirective, decorators: [{
|
|
8061
8171
|
type: Directive,
|
|
8062
8172
|
args: [{
|
|
8063
8173
|
selector: 'div[theColumnResize]',
|
|
@@ -8480,10 +8590,10 @@ class TheBlockquote extends TheBaseElement {
|
|
|
8480
8590
|
this.elementRef = elementRef;
|
|
8481
8591
|
this.cdr = cdr;
|
|
8482
8592
|
}
|
|
8483
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
8484
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.
|
|
8593
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheBlockquote, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
8594
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: TheBlockquote, isStandalone: true, selector: "blockquote[theBlockquote]", usesInheritance: true, ngImport: i0, template: ``, isInline: true }); }
|
|
8485
8595
|
}
|
|
8486
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
8596
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheBlockquote, decorators: [{
|
|
8487
8597
|
type: Component,
|
|
8488
8598
|
args: [{
|
|
8489
8599
|
selector: 'blockquote[theBlockquote]',
|
|
@@ -8639,12 +8749,17 @@ class TheCode extends TheBaseElement {
|
|
|
8639
8749
|
fromEvent(this.nativeElement, 'mousedown')
|
|
8640
8750
|
.pipe(takeUntil(this.destroy$))
|
|
8641
8751
|
.subscribe(event => {
|
|
8642
|
-
event.
|
|
8643
|
-
|
|
8644
|
-
|
|
8645
|
-
|
|
8646
|
-
|
|
8647
|
-
|
|
8752
|
+
if (event.target.className.includes('thy-resizable-handle')) {
|
|
8753
|
+
this.isHightLight = true;
|
|
8754
|
+
}
|
|
8755
|
+
else {
|
|
8756
|
+
event.stopPropagation();
|
|
8757
|
+
event.preventDefault();
|
|
8758
|
+
const isBlockOperation = this.isCollapsedAndNonReadonly &&
|
|
8759
|
+
this.nativeElement.querySelector('.the-code-block-operation')?.contains(event.target);
|
|
8760
|
+
const isCodemirror = this.nativeElement.querySelector('.ng-codemirror')?.contains(event.target);
|
|
8761
|
+
this.isHightLight = !isCodemirror && !isBlockOperation;
|
|
8762
|
+
}
|
|
8648
8763
|
});
|
|
8649
8764
|
});
|
|
8650
8765
|
}
|
|
@@ -8723,7 +8838,7 @@ class TheCode extends TheBaseElement {
|
|
|
8723
8838
|
}
|
|
8724
8839
|
onCopy(event) {
|
|
8725
8840
|
event.preventDefault();
|
|
8726
|
-
copyNode(this.editor, this.element, this.thyNotifyService
|
|
8841
|
+
copyNode(this.editor, this.element, this.thyNotifyService);
|
|
8727
8842
|
}
|
|
8728
8843
|
focusChange(codeMirrorFocused) {
|
|
8729
8844
|
if (codeMirrorFocused) {
|
|
@@ -8768,10 +8883,10 @@ class TheCode extends TheBaseElement {
|
|
|
8768
8883
|
this.destroy$.next();
|
|
8769
8884
|
this.destroy$.complete();
|
|
8770
8885
|
}
|
|
8771
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
8772
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.
|
|
8886
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheCode, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1$1.ThyNotifyService }, { token: TheContextService }, { token: i0.NgZone }, { token: i1.ThyPopover }, { token: i2.Overlay }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
8887
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: TheCode, isStandalone: true, selector: "div[theCode]", host: { classAttribute: "the-code-container" }, viewQueries: [{ propertyName: "toolbar", first: true, predicate: ["toolbar"], descendants: true, read: TemplateRef, static: true }, { propertyName: "codemirror", first: true, predicate: ["codemirror"], descendants: true, read: CodeMirrorComponent }, { propertyName: "toolbarDropdown", first: true, predicate: TheToolbarDropdown, descendants: true, read: TheToolbarDropdown }], usesInheritance: true, ngImport: i0, template: "<!-- \u53EA\u8BFB\u6A21\u5F0F\u4E0BCodeMirror-sizer\u9AD8\u5EA6\u6BD4\u7F16\u8F91\u6A21\u5F0F\u4E0B\u591A2px\uFF0C\u8BBE\u7F6EthyMinHeight\u4E3A46px\u9632\u6B62\u62D6\u62FD\u5230\u6700\u5C0F\u9AD8\u5EA6\u65F6\u53EA\u8BFB\u6A21\u5F0F\u4E0B\u51FA\u73B0\u6EDA\u52A8\u6761 -->\n<div\n thyResizable\n [thyMinHeight]=\"46\"\n [thyBounds]=\"resizeBounds\"\n [style.height.px]=\"resizeHeight\"\n (thyResize)=\"onResize($event)\"\n (thyResizeEnd)=\"onEndResize()\"\n class=\"resize-code-container\"\n [ngClass]=\"{ focus: isCollapsedAndNonReadonly, readonly: options.readOnly, active: isHightLight && isCollapsedAndNonReadonly }\"\n>\n <ng-codemirror\n *ngIf=\"startRenderCodemirror\"\n #codemirror\n contenteditable=\"false\"\n class=\"ng-codemirror-wrapper\"\n [ngStyle]=\"{ maxHeight: maxHeight > 0 ? maxHeight + 'px' : 'auto' }\"\n [options]=\"options\"\n [ngModel]=\"code\"\n [delayRefreshTime]=\"300\"\n (ngModelChange)=\"codeChange($event)\"\n (focusChange)=\"focusChange($event)\"\n [autoMaxHeight]=\"maxHeight\"\n >\n </ng-codemirror>\n <thy-resize-handle thyDirection=\"bottom\" class=\"code-resize-icon\" *ngIf=\"isCollapsedAndNonReadonly\"></thy-resize-handle>\n</div>\n\n<ng-template #toolbar>\n <thy-actions thySize=\"xxs\" thePreventDefault>\n <the-toolbar-dropdown\n [menus]=\"menus\"\n [toolbarItem]=\"activeLanguage\"\n [dropdownItemKey]=\"activeLanguage?.key\"\n [itemMousedownHandle]=\"onChangeLanguage\"\n >\n </the-toolbar-dropdown>\n <span class=\"auto-wrap d-flex align-items-center px-2 text-secondary\">\n <span>\u81EA\u52A8\u6362\u884C</span>\n <thy-switch\n class=\"auto-wrap-btn d-flex ml-1\"\n [(ngModel)]=\"options.lineWrapping\"\n (ngModelChange)=\"onChangeWrap($event)\"\n thySize=\"sm\"\n ></thy-switch>\n </span>\n <a href=\"javascript:;\" thyAction thyActionIcon=\"copy\" thyTooltip=\"\u590D\u5236\" thyTooltipPlacement=\"top\" (click)=\"onCopy($event)\"></a>\n <thy-divider class=\"mr-2 ml-1 align-self-center\" [thyVertical]=\"true\" thyColor=\"light\"></thy-divider>\n <a\n href=\"javascript:;\"\n thyAction\n thyType=\"danger\"\n thyActionIcon=\"trash\"\n thyTooltip=\"\u5220\u9664\"\n thyTooltipPlacement=\"top\"\n (click)=\"onDelete($event)\"\n ></a>\n </thy-actions>\n</ng-template>\n", dependencies: [{ kind: "directive", type: ThyResizableDirective, selector: "[thyResizable]", inputs: ["thyBounds", "thyMaxHeight", "thyMaxWidth", "thyMinHeight", "thyMinWidth", "thyGridColumnCount", "thyMaxColumn", "thyMinColumn", "thyLockAspectRatio", "thyPreview", "thyDisabled"], outputs: ["thyResize", "thyResizeStart", "thyResizeEnd"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: SlateModule }, { kind: "ngmodule", type: CodemirrorModule }, { kind: "component", type: i6.CodeMirrorComponent, selector: "ng-codemirror, [ngCodeMirror]", inputs: ["autoMaxHeight", "options", "delayRefreshTime"], outputs: ["focusChange"] }, { kind: "component", type: ThySwitch, selector: "thy-switch", inputs: ["thyType", "thySize", "thyDisabled", "thyLoading"], outputs: ["thyChange"] }, { kind: "component", type: ThyAction, selector: "thy-action, [thyAction]", inputs: ["thyType", "thyIcon", "thyActionIcon", "thyActive", "thyActionActive", "thyTheme", "thyHoverIcon", "thyDisabled"] }, { kind: "component", type: ThyDivider, selector: "thy-divider", inputs: ["thyVertical", "thyStyle", "thyColor", "thyText", "thyTextDirection", "thyDeeper"] }, { kind: "component", type: ThyActions, selector: "thy-actions", inputs: ["thySize"] }, { kind: "directive", type: ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }, { kind: "component", type: ThyResizeHandle, selector: "thy-resize-handle, [thy-resize-handle]", inputs: ["thyDirection", "thyLine"], outputs: ["thyMouseDown"], exportAs: ["thyResizeHandle"] }, { kind: "component", type: TheToolbarDropdown, selector: "the-toolbar-dropdown" }, { kind: "directive", type: ThePreventDefaultDirective, selector: "[thePreventDefault]", exportAs: ["thePreventDefault"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
8773
8888
|
}
|
|
8774
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
8889
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheCode, decorators: [{
|
|
8775
8890
|
type: Component,
|
|
8776
8891
|
args: [{ selector: 'div[theCode]', changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
8777
8892
|
class: 'the-code-container'
|
|
@@ -8822,15 +8937,15 @@ const withCode = (editor) => {
|
|
|
8822
8937
|
}
|
|
8823
8938
|
return renderElement(element);
|
|
8824
8939
|
};
|
|
8825
|
-
editor.setFragmentData =
|
|
8826
|
-
setFragmentData(unit);
|
|
8940
|
+
editor.setFragmentData = (data, originEvent) => {
|
|
8827
8941
|
const { selection } = editor;
|
|
8828
8942
|
const [start] = Editor.edges(editor, selection);
|
|
8829
8943
|
if (isNodeTypeIn(editor, [ElementKinds.code], { at: start })) {
|
|
8830
8944
|
const [codeNode] = getAboveByType(editor, ElementKinds.code);
|
|
8831
|
-
|
|
8832
|
-
return
|
|
8945
|
+
setClipboardDataByDom(editor, codeNode, data);
|
|
8946
|
+
return;
|
|
8833
8947
|
}
|
|
8948
|
+
setFragmentData(data, originEvent);
|
|
8834
8949
|
};
|
|
8835
8950
|
return editor;
|
|
8836
8951
|
};
|
|
@@ -8931,10 +9046,10 @@ class TheColorToolbarItem extends TheBaseToolbarItem {
|
|
|
8931
9046
|
AngularEditor.focus(this.editor);
|
|
8932
9047
|
});
|
|
8933
9048
|
}
|
|
8934
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
8935
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.
|
|
9049
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheColorToolbarItem, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
9050
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: TheColorToolbarItem, isStandalone: true, selector: "the-color-toolbar-item", host: { classAttribute: "the-color-toolbar-item" }, usesInheritance: true, ngImport: i0, template: "<thy-actions\n class=\"d-flex p-0\"\n thySize=\"zero\"\n thyTooltipPlacement=\"top\"\n [thyTooltip]=\"toolbarItem.name\"\n [ngClass]=\"{ 'thy-default-picker-active': pickerActive }\"\n>\n <a href=\"javascript:;\" class=\"color\" thyAction (mousedown)=\"selectColor($event)\">\n <thy-icon\n thyIconType=\"twotone\"\n [thyIconName]=\"toolbarItem.icon\"\n [thyTwotoneColor]=\"toolbarItem.key === 'color' ? lastTextColor : lastBackgroundColor\"\n (mousedown)=\"selectColor($event)\"\n ></thy-icon>\n </a>\n <a\n class=\"pl-0 pr-0 caret-down\"\n href=\"javascript:;\"\n thyAction\n thyColorPicker\n thyPlacement=\"bottomLeft\"\n [(ngModel)]=\"selectedColor\"\n (thyPanelOpen)=\"pickerActive = true\"\n (thyPanelOpen)=\"colorPanelOpen($event)\"\n (thyPanelClose)=\"colorPanelClose()\"\n (ngModelChange)=\"changeColor($event)\"\n (mousedown)=\"preventDefault($event)\"\n >\n <thy-icon class=\"link-down-icon font-size-sm text-desc\" thyIconName=\"caret-down\"></thy-icon>\n </a>\n</thy-actions>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: ThyAction, selector: "thy-action, [thyAction]", inputs: ["thyType", "thyIcon", "thyActionIcon", "thyActive", "thyActionActive", "thyTheme", "thyHoverIcon", "thyDisabled"] }, { kind: "component", type: ThyActions, selector: "thy-actions", inputs: ["thySize"] }, { kind: "directive", type: ThyColorPickerDirective, selector: "[thyColorPicker]", inputs: ["thyOffset", "thyHasBackdrop", "thyDefaultColor", "thyTransparentColorSelectable", "thyPresetColors", "thyPlacement", "thyTrigger", "thyShowDelay", "thyHideDelay", "thyDisabled"], outputs: ["thyPanelOpen", "thyPanelClose"] }, { kind: "directive", type: ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }] }); }
|
|
8936
9051
|
}
|
|
8937
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
9052
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheColorToolbarItem, decorators: [{
|
|
8938
9053
|
type: Component,
|
|
8939
9054
|
args: [{ selector: 'the-color-toolbar-item', host: {
|
|
8940
9055
|
class: 'the-color-toolbar-item'
|
|
@@ -8968,25 +9083,6 @@ const createColorPlugin = createPluginFactory({
|
|
|
8968
9083
|
}
|
|
8969
9084
|
});
|
|
8970
9085
|
|
|
8971
|
-
const withInsertDataByInvalidType = (editor) => {
|
|
8972
|
-
const { insertData } = editor;
|
|
8973
|
-
editor.insertData = (data) => {
|
|
8974
|
-
const fragment = extractFragment(data);
|
|
8975
|
-
if (fragment) {
|
|
8976
|
-
const isContinue = insertDataByInvalidType(editor, fragment);
|
|
8977
|
-
if (!isContinue) {
|
|
8978
|
-
return;
|
|
8979
|
-
}
|
|
8980
|
-
}
|
|
8981
|
-
insertData(data);
|
|
8982
|
-
};
|
|
8983
|
-
return editor;
|
|
8984
|
-
};
|
|
8985
|
-
const createInsertDataByInvalidTypePlugin = createPluginFactory({
|
|
8986
|
-
key: PluginKeys.insertDataByInvalidType,
|
|
8987
|
-
withOverrides: withInsertDataByInvalidType
|
|
8988
|
-
});
|
|
8989
|
-
|
|
8990
9086
|
const withBlockCard = (editor) => {
|
|
8991
9087
|
const { insertBreak, deleteBackward, onKeydown, deleteForward, insertData, insertText, mousedown } = editor;
|
|
8992
9088
|
editor.insertBreak = () => {
|
|
@@ -9400,6 +9496,25 @@ const createTheHistoryPlugin = createPluginFactory({
|
|
|
9400
9496
|
withOverrides: withTheHistory
|
|
9401
9497
|
});
|
|
9402
9498
|
|
|
9499
|
+
const withInsertDataByInvalidType = (editor) => {
|
|
9500
|
+
const { insertFragmentData } = editor;
|
|
9501
|
+
editor.insertFragmentData = async (data) => {
|
|
9502
|
+
const fragment = await extractFragment(data);
|
|
9503
|
+
if (fragment) {
|
|
9504
|
+
const isContinue = insertDataByInvalidType(editor, fragment);
|
|
9505
|
+
if (!isContinue) {
|
|
9506
|
+
return true;
|
|
9507
|
+
}
|
|
9508
|
+
}
|
|
9509
|
+
return insertFragmentData(data);
|
|
9510
|
+
};
|
|
9511
|
+
return editor;
|
|
9512
|
+
};
|
|
9513
|
+
const createInsertDataByInvalidTypePlugin = createPluginFactory({
|
|
9514
|
+
key: PluginKeys.insertDataByInvalidType,
|
|
9515
|
+
withOverrides: withInsertDataByInvalidType
|
|
9516
|
+
});
|
|
9517
|
+
|
|
9403
9518
|
const isInline = (editor, path) => {
|
|
9404
9519
|
const [inlineNode] = Editor.nodes(editor, {
|
|
9405
9520
|
at: path ? path : editor.selection?.anchor.path,
|
|
@@ -9643,23 +9758,24 @@ const createResetTypePlugin = createPluginFactory({
|
|
|
9643
9758
|
});
|
|
9644
9759
|
|
|
9645
9760
|
const withDeserializeHTML = (editor) => {
|
|
9646
|
-
const {
|
|
9647
|
-
editor.
|
|
9648
|
-
const
|
|
9649
|
-
|
|
9650
|
-
|
|
9651
|
-
const htmlDom = new DOMParser().parseFromString(html, 'text/html');
|
|
9761
|
+
const { insertFragmentData } = editor;
|
|
9762
|
+
editor.insertFragmentData = async (data) => {
|
|
9763
|
+
const clipboardData = await getClipboardData(data);
|
|
9764
|
+
if (!clipboardData?.elements && clipboardData?.html) {
|
|
9765
|
+
const htmlDom = new DOMParser().parseFromString(clipboardData?.html, 'text/html');
|
|
9652
9766
|
const fragment = TheiaConverter.convertToTheia(Array.from(htmlDom.body.children));
|
|
9767
|
+
// 识别粘贴的 HTML 只有纯链接, 跳至 link
|
|
9768
|
+
if (fragment.length === 1 && fragment.every(block => isUrl(block?.children?.[0]?.['text']))) {
|
|
9769
|
+
return insertFragmentData(data);
|
|
9770
|
+
}
|
|
9653
9771
|
// 无法识别HTML内容时后退一下:识别纯文本
|
|
9654
9772
|
if (fragment.every(block => block.type === ElementKinds.paragraph && isLogicEmptyParagraphElement(editor, block))) {
|
|
9655
|
-
|
|
9656
|
-
return;
|
|
9773
|
+
return insertFragmentData(data);
|
|
9657
9774
|
}
|
|
9658
9775
|
// 识出纯图片并且粘贴板中存在文件则不进行处理, hook 直接右键复制图片的场景,流转到上传图片流程
|
|
9659
9776
|
// 后续需要做识别html图片后自动上传处理
|
|
9660
9777
|
if (fragment.length === 1 && fragment[0].type === ElementKinds.image && data.files.length > 0) {
|
|
9661
|
-
|
|
9662
|
-
return;
|
|
9778
|
+
return insertFragmentData(data);
|
|
9663
9779
|
}
|
|
9664
9780
|
// 过滤 text 节点的 color/background-color 属性
|
|
9665
9781
|
fragment.forEach(node => filterTextFormat(node));
|
|
@@ -9678,12 +9794,12 @@ const withDeserializeHTML = (editor) => {
|
|
|
9678
9794
|
});
|
|
9679
9795
|
const isContinue = insertDataByInvalidType(editor, fragment);
|
|
9680
9796
|
if (!isContinue) {
|
|
9681
|
-
return;
|
|
9797
|
+
return true;
|
|
9682
9798
|
}
|
|
9683
9799
|
Transforms.insertFragment(editor, fragment);
|
|
9684
|
-
return;
|
|
9800
|
+
return true;
|
|
9685
9801
|
}
|
|
9686
|
-
|
|
9802
|
+
return insertFragmentData(data);
|
|
9687
9803
|
};
|
|
9688
9804
|
return editor;
|
|
9689
9805
|
};
|
|
@@ -9926,15 +10042,15 @@ class TheHr extends TheBaseElement {
|
|
|
9926
10042
|
}
|
|
9927
10043
|
});
|
|
9928
10044
|
}
|
|
9929
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
9930
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.
|
|
10045
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheHr, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
10046
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: TheHr, isStandalone: true, selector: "the-hr, [theHr]", usesInheritance: true, ngImport: i0, template: `
|
|
9931
10047
|
<div class="the-hr" contenteditable="false" [ngClass]="{ active: isCollapsedAndNonReadonly }">
|
|
9932
10048
|
<hr class="the-hr" />
|
|
9933
10049
|
<slate-children-outlet></slate-children-outlet>
|
|
9934
10050
|
</div>
|
|
9935
10051
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: SlateChildrenOutlet, selector: "slate-children-outlet" }] }); }
|
|
9936
10052
|
}
|
|
9937
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
10053
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheHr, decorators: [{
|
|
9938
10054
|
type: Component,
|
|
9939
10055
|
args: [{
|
|
9940
10056
|
selector: 'the-hr, [theHr]',
|
|
@@ -10400,17 +10516,16 @@ class TheImage extends TheBaseElement {
|
|
|
10400
10516
|
});
|
|
10401
10517
|
}
|
|
10402
10518
|
}
|
|
10403
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
10404
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.
|
|
10519
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheImage, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1$2.ThyImageGroup }, { token: THE_UPLOAD_SERVICE_TOKEN }, { token: TheContextService }, { token: i1.ThyPopover }, { token: i2.Overlay }, { token: i0.DestroyRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
10520
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: TheImage, isStandalone: true, selector: "the-image, [theImage]", providers: [ThyImageService], viewQueries: [{ propertyName: "imageContent", first: true, predicate: ["imageContent"], descendants: true }, { propertyName: "img", first: true, predicate: ["img"], descendants: true }, { propertyName: "layoutToolbar", first: true, predicate: ["layoutToolbar"], descendants: true, static: true }, { propertyName: "imageDirective", first: true, predicate: ThyImageDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"the-image-container\" contenteditable=\"false\" [style.textAlign]=\"imageEntry.align\">\n <div\n #imageContent\n *ngIf=\"imageEntry.thumbUrl; else imageLoading\"\n class=\"image-content\"\n contenteditable=\"false\"\n [class.cursor-pointer]=\"!selection\"\n >\n <img\n #img\n thyImage\n class=\"main-image\"\n [class.image-collapsed]=\"selection && !uploading\"\n [ngStyle]=\"{ 'width.px': imageBindingWidth }\"\n [alt]=\"imageEntry.name\"\n [thySrc]=\"imageEntry.thumbUrl\"\n [thyPreviewSrc]=\"imageEntry.thumbUrl\"\n [thyOriginSrc]=\"imageEntry.originUrl\"\n [thyDisablePreview]=\"disablePreview\"\n [thyImageMeta]=\"{ name: imageEntry.name, size: imageEntry.size }\"\n (load)=\"imageLoaded($event)\"\n (mousedown)=\"preventDefault($event)\"\n (error)=\"imageError($event)\"\n (click)=\"imageClick($event)\"\n />\n <div *ngIf=\"isCollapsedAndNonReadonly\" class=\"image-profile\" [class.outline]=\"selection\">\n <ng-container *ngIf=\"!loadImageError\">\n <span (mousedown)=\"startDrag($event, '-xl')\" class=\"image-pointer left top\"></span>\n <span (mousedown)=\"startDrag($event, 'xl')\" class=\"image-pointer right top\"></span>\n <span (mousedown)=\"startDrag($event, 'xl')\" class=\"image-pointer right bottom\"></span>\n <span (mousedown)=\"startDrag($event, '-xl')\" class=\"image-pointer left bottom\"></span>\n </ng-container>\n </div>\n <ng-template [ngTemplateOutlet]=\"imageUploading\"></ng-template>\n <div *ngIf=\"!uploading\" class=\"layer\" [class.readonly]=\"readonly\"></div>\n </div>\n</div>\n\n<ng-template #imageLoading>\n <div *ngIf=\"!imageEntry.thumbUrl\" class=\"image-loading cursor-pointer\" contenteditable=\"false\">\n <thy-icon thyIconName=\"image\"></thy-icon>\n </div>\n <ng-template [ngTemplateOutlet]=\"imageUploading\"></ng-template>\n</ng-template>\n\n<ng-template #layoutToolbar>\n <thy-actions thySize=\"xxs\">\n <ng-container *ngFor=\"let item of layoutOptions\">\n <a\n *ngIf=\"item.key !== 'split'\"\n href=\"javascript:;\"\n thyAction\n [thyType]=\"item.key === 'remove' ? 'danger' : 'primary'\"\n [thyActionIcon]=\"item.icon\"\n [thyActionActive]=\"layoutActive(item.key)\"\n [thyTooltip]=\"item.name\"\n thyTooltipPlacement=\"top\"\n (mousedown)=\"item?.handle($event, item.key)\"\n ></a>\n <thy-divider *ngIf=\"item.key === 'split'\" class=\"mr-2 ml-1 align-self-center\" [thyVertical]=\"true\" thyColor=\"light\"></thy-divider>\n </ng-container>\n </thy-actions>\n</ng-template>\n\n<ng-template #imageUploading>\n <div *ngIf=\"uploading\" class=\"uploading\">\n <div class=\"uploading-percentage\">\n <thy-progress thyType=\"primary\" [thyValue]=\"percentage\" thySize=\"sm\"></thy-progress>\n <thy-icon (click)=\"cancelUpload($event)\" thyIconName=\"close-circle-bold-fill\" thyIconLegging=\"true\"> </thy-icon>\n </div>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "directive", type: ThyImageDirective, selector: "img[thyImage]", inputs: ["thySrc", "thyPreviewSrc", "thyOriginSrc", "thyImageMeta", "thyDisablePreview", "thyResolveSize"], exportAs: ["thyImage"] }, { kind: "component", type: ThyAction, selector: "thy-action, [thyAction]", inputs: ["thyType", "thyIcon", "thyActionIcon", "thyActive", "thyActionActive", "thyTheme", "thyHoverIcon", "thyDisabled"] }, { kind: "component", type: ThyDivider, selector: "thy-divider", inputs: ["thyVertical", "thyStyle", "thyColor", "thyText", "thyTextDirection", "thyDeeper"] }, { kind: "component", type: ThyActions, selector: "thy-actions", inputs: ["thySize"] }, { kind: "directive", type: ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }, { kind: "component", type: ThyProgress, selector: "thy-progress", inputs: ["thyType", "thySize", "thyValue", "thyMax", "thyTips", "thyShape", "thyGapDegree", "thyGapPosition", "thyStrokeWidth"] }] }); }
|
|
10405
10521
|
}
|
|
10406
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
10522
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheImage, decorators: [{
|
|
10407
10523
|
type: Component,
|
|
10408
10524
|
args: [{ selector: 'the-image, [theImage]', standalone: true, imports: [
|
|
10409
10525
|
NgIf,
|
|
10410
10526
|
NgFor,
|
|
10411
10527
|
NgStyle,
|
|
10412
10528
|
NgTemplateOutlet,
|
|
10413
|
-
SlateChildren,
|
|
10414
10529
|
ThyIcon,
|
|
10415
10530
|
ThyImageDirective,
|
|
10416
10531
|
ThyAction,
|
|
@@ -10441,8 +10556,9 @@ const withImage = (editor) => {
|
|
|
10441
10556
|
editor.isVoid = (element) => {
|
|
10442
10557
|
return element.type === ElementKinds.image || isVoid(element);
|
|
10443
10558
|
};
|
|
10444
|
-
editor.insertData = (data) => {
|
|
10445
|
-
|
|
10559
|
+
editor.insertData = async (data) => {
|
|
10560
|
+
const clipboardData = await getClipboardData(data);
|
|
10561
|
+
if (clipboardData?.files?.length) {
|
|
10446
10562
|
const imageFiles = [];
|
|
10447
10563
|
const imageTypes = getPluginOptions(editor, PluginKeys.image)?.imageTypes;
|
|
10448
10564
|
for (const file of data.files) {
|
|
@@ -10646,12 +10762,12 @@ class TheInlineCode extends TheBaseElement {
|
|
|
10646
10762
|
// https://bugs.chromium.org/p/chromium/issues/detail?id=1249405
|
|
10647
10763
|
this.inlineChromiumBugfix = String.fromCodePoint(160);
|
|
10648
10764
|
}
|
|
10649
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
10650
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.
|
|
10765
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheInlineCode, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
10766
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: TheInlineCode, isStandalone: true, selector: "span[theInlineCode]", usesInheritance: true, ngImport: i0, template: `<span contenteditable="false" class="the-break-char">{{ inlineChromiumBugfix }}</span>
|
|
10651
10767
|
<slate-children-outlet></slate-children-outlet>
|
|
10652
10768
|
<span contenteditable="false" class="the-break-char">{{ inlineChromiumBugfix }}</span>`, isInline: true, dependencies: [{ kind: "component", type: SlateChildrenOutlet, selector: "slate-children-outlet" }] }); }
|
|
10653
10769
|
}
|
|
10654
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
10770
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheInlineCode, decorators: [{
|
|
10655
10771
|
type: Component,
|
|
10656
10772
|
args: [{
|
|
10657
10773
|
selector: 'span[theInlineCode]',
|
|
@@ -10777,10 +10893,10 @@ class TheLinkEdit {
|
|
|
10777
10893
|
form.validator.setElementErrorMessage(`link`, '请输入正确的链接');
|
|
10778
10894
|
}
|
|
10779
10895
|
}
|
|
10780
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
10781
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.
|
|
10896
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheLinkEdit, deps: [{ token: i1.ThyPopoverRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
10897
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: TheLinkEdit, isStandalone: true, selector: "the-link-edit", inputs: { tag: "tag", node: "node", link: "link", text: "text", originSelection: "originSelection" }, host: { listeners: { "document: mousedown": "handleDocumentMouseDown($event)" }, properties: { "class": "this.className" } }, ngImport: i0, template: "<form thyForm #linkForm=\"thyForm\" [thyFormValidatorConfig]=\"validatorConfig\" name=\"linkForm\">\n <thy-form-group thyLabelText=\"\u6587\u672C\">\n <input thyInput placeholder=\"\u8BF7\u8F93\u5165\u6587\u672C\" required name=\"text\" [(ngModel)]=\"text\" thyAutofocus type=\"text\" />\n </thy-form-group>\n <thy-form-group thyLabelText=\"\u94FE\u63A5\">\n <input name=\"link\" thyInput placeholder=\"\u8BF7\u8F93\u5165\u94FE\u63A5\" required type=\"text\" #linkControl=\"ngModel\" [(ngModel)]=\"link\" />\n </thy-form-group>\n <thy-form-group-footer>\n <div class=\"btn-pair\">\n <button thyButton=\"link-secondary\" thySize=\"sm\" (click)=\"closePopover()\">\u53D6\u6D88</button>\n <button thyButton=\"primary-square\" thySize=\"sm\" (thyFormSubmit)=\"applyLink(linkForm)\">\u5E94\u7528</button>\n </div>\n </thy-form-group-footer>\n</form>\n", dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2$1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: ThyFormDirective, selector: "[thyForm],[thy-form]", inputs: ["thyLayout", "thyEnterKeyMode", "thyFormValidatorConfig"], exportAs: ["thyForm"] }, { kind: "directive", type: ThyInputDirective, selector: "input[thyInput], select[thyInput], textarea[thyInput]", inputs: ["thySize"], exportAs: ["thyInput"] }, { kind: "component", type: ThyButton, selector: "thy-button,[thy-button],[thyButton]", inputs: ["thyButton", "thyType", "thyLoading", "thyLoadingText", "thySize", "thyIcon", "thyBlock"] }, { kind: "directive", type: ThyAutofocusDirective, selector: "input[thyAutofocus],textarea[thyAutofocus]", inputs: ["thyAutofocus", "thyAutoSelect"] }, { kind: "component", type: ThyFormGroup, selector: "thy-form-group", inputs: ["thyLabelText", "thyLabelTextTranslateKey", "thyLabelRequired", "thyLabelPaddingTopClear", "thyFeedbackIcon", "thyTipsMode", "thyTips", "thyTipsTranslateKey", "thyRowFill"] }, { kind: "directive", type: ThyFormSubmitDirective, selector: "[thyFormSubmit],[thy-form-submit]", outputs: ["thyFormSubmit"] }, { kind: "component", type: ThyFormGroupFooter, selector: "thy-form-group-footer", inputs: ["thyAlign"] }] }); }
|
|
10782
10898
|
}
|
|
10783
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
10899
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheLinkEdit, decorators: [{
|
|
10784
10900
|
type: Component,
|
|
10785
10901
|
args: [{ selector: 'the-link-edit', standalone: true, imports: [
|
|
10786
10902
|
FormsModule,
|
|
@@ -10826,10 +10942,10 @@ class TheLinkHover {
|
|
|
10826
10942
|
this.deleteHandle();
|
|
10827
10943
|
event.stopPropagation();
|
|
10828
10944
|
}
|
|
10829
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
10830
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.
|
|
10945
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheLinkHover, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
10946
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: TheLinkHover, isStandalone: true, selector: "the-link-hover", inputs: { link: "link", dom: "dom", editHandle: "editHandle", deleteHandle: "deleteHandle" }, ngImport: i0, template: "<div class=\"link-hover-card px-1\">\n <a readonly href=\"{{ link }}\" target=\"_blank\" rel=\"{{ aTagRelAttr }}\" class=\"hover-control-plaintext text-truncate mx-2\">\n {{ link }}\n </a>\n <thy-divider class=\"mx-2\" [thyVertical]=\"true\" thyColor=\"light\"></thy-divider>\n <a href=\"javascript:;\" thyAction thyActionIcon=\"edit\" thePreventDefault (click)=\"editLink($event)\"></a>\n <thy-divider class=\"mx-2\" [thyVertical]=\"true\" thyColor=\"light\"></thy-divider>\n <a href=\"javascript:;\" thyAction thyActionIcon=\"unlink-insert\" thePreventDefault (click)=\"removeLink($event)\"></a>\n</div>\n", dependencies: [{ kind: "component", type: ThyDivider, selector: "thy-divider", inputs: ["thyVertical", "thyStyle", "thyColor", "thyText", "thyTextDirection", "thyDeeper"] }, { kind: "component", type: ThyAction, selector: "thy-action, [thyAction]", inputs: ["thyType", "thyIcon", "thyActionIcon", "thyActive", "thyActionActive", "thyTheme", "thyHoverIcon", "thyDisabled"] }, { kind: "directive", type: ThePreventDefaultDirective, selector: "[thePreventDefault]", exportAs: ["thePreventDefault"] }] }); }
|
|
10831
10947
|
}
|
|
10832
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
10948
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheLinkHover, decorators: [{
|
|
10833
10949
|
type: Component,
|
|
10834
10950
|
args: [{ selector: 'the-link-hover', standalone: true, imports: [ThyDivider, ThyAction, ThePreventDefaultDirective], template: "<div class=\"link-hover-card px-1\">\n <a readonly href=\"{{ link }}\" target=\"_blank\" rel=\"{{ aTagRelAttr }}\" class=\"hover-control-plaintext text-truncate mx-2\">\n {{ link }}\n </a>\n <thy-divider class=\"mx-2\" [thyVertical]=\"true\" thyColor=\"light\"></thy-divider>\n <a href=\"javascript:;\" thyAction thyActionIcon=\"edit\" thePreventDefault (click)=\"editLink($event)\"></a>\n <thy-divider class=\"mx-2\" [thyVertical]=\"true\" thyColor=\"light\"></thy-divider>\n <a href=\"javascript:;\" thyAction thyActionIcon=\"unlink-insert\" thePreventDefault (click)=\"removeLink($event)\"></a>\n</div>\n" }]
|
|
10835
10951
|
}], ctorParameters: () => [], propDecorators: { link: [{
|
|
@@ -10958,10 +11074,10 @@ class TheBaseLink extends TheBaseElement {
|
|
|
10958
11074
|
super.ngOnDestroy();
|
|
10959
11075
|
this.close(LinkCloseTypes.destroy);
|
|
10960
11076
|
}
|
|
10961
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
10962
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.
|
|
11077
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheBaseLink, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.ThyPopover }, { token: i2.Overlay }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
11078
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: TheBaseLink, selector: "ng-component", host: { listeners: { "click": "mousedownHandle($event)" } }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
|
|
10963
11079
|
}
|
|
10964
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
11080
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheBaseLink, decorators: [{
|
|
10965
11081
|
type: Component,
|
|
10966
11082
|
args: [{
|
|
10967
11083
|
template: ''
|
|
@@ -10980,12 +11096,12 @@ class TheLink extends TheBaseLink {
|
|
|
10980
11096
|
// https://bugs.chromium.org/p/chromium/issues/detail?id=1249405
|
|
10981
11097
|
this.inlineChromiumBugfix = String.fromCodePoint(160);
|
|
10982
11098
|
}
|
|
10983
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
10984
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.
|
|
11099
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheLink, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
11100
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: TheLink, isStandalone: true, selector: "a[theLink]", host: { attributes: { "target": "_blank" }, properties: { "attr.href": "element.url" } }, viewQueries: [{ propertyName: "outletParent", first: true, predicate: ["outletParent"], descendants: true, read: ElementRef, static: true }], usesInheritance: true, ngImport: i0, template: ` <span contenteditable="false" class="the-break-char">{{ inlineChromiumBugfix }}</span>
|
|
10985
11101
|
<span #outletParent></span>
|
|
10986
11102
|
<span contenteditable="false" class="the-break-char">{{ inlineChromiumBugfix }}</span>`, isInline: true }); }
|
|
10987
11103
|
}
|
|
10988
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
11104
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheLink, decorators: [{
|
|
10989
11105
|
type: Component,
|
|
10990
11106
|
args: [{
|
|
10991
11107
|
selector: 'a[theLink]',
|
|
@@ -11004,7 +11120,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImpor
|
|
|
11004
11120
|
}] } });
|
|
11005
11121
|
|
|
11006
11122
|
const withLink = (editor) => {
|
|
11007
|
-
const {
|
|
11123
|
+
const { insertText, isInline, insertFragmentData, renderElement } = editor;
|
|
11008
11124
|
editor.isInline = (element) => {
|
|
11009
11125
|
return element.type === ElementKinds.link ? true : isInline(element);
|
|
11010
11126
|
};
|
|
@@ -11017,16 +11133,28 @@ const withLink = (editor) => {
|
|
|
11017
11133
|
insertText(text);
|
|
11018
11134
|
}
|
|
11019
11135
|
};
|
|
11020
|
-
editor.
|
|
11021
|
-
const
|
|
11022
|
-
const
|
|
11023
|
-
if (text && isUrl(text)
|
|
11024
|
-
|
|
11025
|
-
|
|
11026
|
-
|
|
11027
|
-
|
|
11028
|
-
|
|
11136
|
+
editor.insertFragmentData = async (data) => {
|
|
11137
|
+
const clipboardData = await getClipboardData(data);
|
|
11138
|
+
const text = clipboardData?.text;
|
|
11139
|
+
if (!clipboardData?.elements && text && isUrl(text)) {
|
|
11140
|
+
const urls = Array.from(getUrls(text, { stripWWW: false }));
|
|
11141
|
+
if (urls.length) {
|
|
11142
|
+
let str = cloneDeep(text);
|
|
11143
|
+
urls.forEach((url, index) => {
|
|
11144
|
+
const parts = str.split(url);
|
|
11145
|
+
const beforeUrl = parts[0];
|
|
11146
|
+
insertText(beforeUrl);
|
|
11147
|
+
LinkEditor.wrapLink(editor, url, url);
|
|
11148
|
+
Transforms.move(editor, { distance: 1, unit: 'offset' });
|
|
11149
|
+
str = parts[1];
|
|
11150
|
+
if (index === urls.length - 1) {
|
|
11151
|
+
insertText(str);
|
|
11152
|
+
}
|
|
11153
|
+
});
|
|
11154
|
+
return true;
|
|
11155
|
+
}
|
|
11029
11156
|
}
|
|
11157
|
+
return insertFragmentData(data);
|
|
11030
11158
|
};
|
|
11031
11159
|
editor.renderElement = (element) => {
|
|
11032
11160
|
if (element.type === ElementKinds.link) {
|
|
@@ -11084,10 +11212,10 @@ class TheBulletedList extends TheBaseElement {
|
|
|
11084
11212
|
ngOnDestroy() {
|
|
11085
11213
|
super.ngOnDestroy();
|
|
11086
11214
|
}
|
|
11087
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
11088
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.
|
|
11215
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheBulletedList, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
11216
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: TheBulletedList, isStandalone: true, selector: "ul[theUl]", host: { properties: { "attr.the-level": "this.level" } }, usesInheritance: true, ngImport: i0, template: ``, isInline: true }); }
|
|
11089
11217
|
}
|
|
11090
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
11218
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheBulletedList, decorators: [{
|
|
11091
11219
|
type: Component,
|
|
11092
11220
|
args: [{
|
|
11093
11221
|
selector: 'ul[theUl]',
|
|
@@ -11174,10 +11302,10 @@ class TheListItem extends TheBaseElement {
|
|
|
11174
11302
|
this.elementRef.nativeElement.removeAttribute(multiDigit);
|
|
11175
11303
|
}
|
|
11176
11304
|
}
|
|
11177
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
11178
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.
|
|
11305
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheListItem, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
11306
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: TheListItem, isStandalone: true, selector: "li[theLi]", usesInheritance: true, ngImport: i0, template: ``, isInline: true }); }
|
|
11179
11307
|
}
|
|
11180
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
11308
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheListItem, decorators: [{
|
|
11181
11309
|
type: Component,
|
|
11182
11310
|
args: [{
|
|
11183
11311
|
selector: 'li[theLi]',
|
|
@@ -11204,10 +11332,10 @@ class TheNumberedList extends TheBaseElement {
|
|
|
11204
11332
|
ngOnDestroy() {
|
|
11205
11333
|
super.ngOnDestroy();
|
|
11206
11334
|
}
|
|
11207
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
11208
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.
|
|
11335
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheNumberedList, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
11336
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: TheNumberedList, isStandalone: true, selector: "ol[theOl]", host: { properties: { "attr.start": "this.start", "attr.the-level": "this.level" } }, usesInheritance: true, ngImport: i0, template: ``, isInline: true }); }
|
|
11209
11337
|
}
|
|
11210
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
11338
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheNumberedList, decorators: [{
|
|
11211
11339
|
type: Component,
|
|
11212
11340
|
args: [{
|
|
11213
11341
|
selector: 'ol[theOl]',
|
|
@@ -11795,7 +11923,7 @@ const unwrapList = (editor) => {
|
|
|
11795
11923
|
};
|
|
11796
11924
|
|
|
11797
11925
|
const withList = (editor) => {
|
|
11798
|
-
const { insertBreak, deleteBackward, onKeydown, insertData, setFragmentData, renderElement } = editor;
|
|
11926
|
+
const { insertBreak, deleteBackward, onKeydown, insertData, insertFragmentData, setFragmentData, renderElement } = editor;
|
|
11799
11927
|
const validLiChildrenTypes = getPluginOptions(editor, PluginKeys.list)?.validLiChildrenTypes ?? [];
|
|
11800
11928
|
const resetBlockTypesListRule = {
|
|
11801
11929
|
types: [ElementKinds.listItem],
|
|
@@ -11872,7 +12000,7 @@ const withList = (editor) => {
|
|
|
11872
12000
|
}
|
|
11873
12001
|
insertBreak();
|
|
11874
12002
|
};
|
|
11875
|
-
editor.setFragmentData =
|
|
12003
|
+
editor.setFragmentData = (data, originEvent) => {
|
|
11876
12004
|
const { selection } = editor;
|
|
11877
12005
|
const [start] = Editor.edges(editor, selection);
|
|
11878
12006
|
if (isInList(editor, start)) {
|
|
@@ -11892,22 +12020,13 @@ const withList = (editor) => {
|
|
|
11892
12020
|
fragmentNodes = children[0].children;
|
|
11893
12021
|
}
|
|
11894
12022
|
const fragment = fragmentNodes.concat(fragmentData.slice(1));
|
|
11895
|
-
|
|
11896
|
-
|
|
11897
|
-
|
|
11898
|
-
|
|
11899
|
-
unit.setData(`application/${CLIPBOARD_FORMAT_KEY}`, encoded);
|
|
11900
|
-
const div = document.createElement('div');
|
|
11901
|
-
div.appendChild(contents);
|
|
11902
|
-
div.setAttribute('hidden', 'true');
|
|
11903
|
-
document.body.appendChild(div);
|
|
11904
|
-
unit.setData('text/html', div.innerHTML);
|
|
11905
|
-
unit.setData('text/plain', getPlainText$1(div));
|
|
11906
|
-
document.body.removeChild(div);
|
|
11907
|
-
return;
|
|
12023
|
+
if (fragment) {
|
|
12024
|
+
setClipboardDataByDom(editor, fragment, data);
|
|
12025
|
+
return;
|
|
12026
|
+
}
|
|
11908
12027
|
}
|
|
11909
12028
|
}
|
|
11910
|
-
setFragmentData(
|
|
12029
|
+
setFragmentData(data, originEvent);
|
|
11911
12030
|
};
|
|
11912
12031
|
editor.deleteBackward = unit => {
|
|
11913
12032
|
const res = getListItemEntry(editor, {});
|
|
@@ -11971,13 +12090,12 @@ const withList = (editor) => {
|
|
|
11971
12090
|
}
|
|
11972
12091
|
deleteBackward(unit);
|
|
11973
12092
|
};
|
|
11974
|
-
editor.
|
|
11975
|
-
const
|
|
11976
|
-
const fragment = extractFragment(data);
|
|
11977
|
-
const aboveEntry = Editor.above(editor, {
|
|
11978
|
-
match: n => Element.isElement(n) && Editor.isBlock(editor, n) && n.type === ElementKinds.listItem
|
|
11979
|
-
});
|
|
12093
|
+
editor.insertFragmentData = async (data) => {
|
|
12094
|
+
const fragment = await extractFragment(data);
|
|
11980
12095
|
if (fragment) {
|
|
12096
|
+
const aboveEntry = Editor.above(editor, {
|
|
12097
|
+
match: n => Element.isElement(n) && Editor.isBlock(editor, n) && n.type === ElementKinds.listItem
|
|
12098
|
+
});
|
|
11981
12099
|
const res = getListItemEntry(editor, {});
|
|
11982
12100
|
if (fragment.length === 1 &&
|
|
11983
12101
|
isList(fragment[0]) &&
|
|
@@ -11985,10 +12103,10 @@ const withList = (editor) => {
|
|
|
11985
12103
|
!isSingleListItem(fragment[0]) &&
|
|
11986
12104
|
hasStableListItem(res.listItem[0])) {
|
|
11987
12105
|
insertListData(editor, { fromList: fragment[0], toListItemEntry: aboveEntry });
|
|
11988
|
-
return;
|
|
12106
|
+
return true;
|
|
11989
12107
|
}
|
|
11990
12108
|
}
|
|
11991
|
-
|
|
12109
|
+
return insertFragmentData(data);
|
|
11992
12110
|
};
|
|
11993
12111
|
editor.onKeydown = (event) => {
|
|
11994
12112
|
const isContinue = !onKeyDownList(event, editor);
|
|
@@ -12601,14 +12719,14 @@ class TheTableRow extends TheBaseElement {
|
|
|
12601
12719
|
}
|
|
12602
12720
|
}
|
|
12603
12721
|
}
|
|
12604
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
12605
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.
|
|
12722
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheTableRow, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
12723
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: TheTableRow, isStandalone: true, selector: "tr[theTableRow]", host: { properties: { "style.height": "this.height" } }, viewQueries: [{ propertyName: "numberedColumnRef", first: true, predicate: ["numberedColumn"], descendants: true }], usesInheritance: true, ngImport: i0, template: `
|
|
12606
12724
|
<td #numberedColumn *ngIf="readonly && numberedColumn" class="the-table-number-column align-middle" thePreventDefault>
|
|
12607
12725
|
{{ rowNumber }}
|
|
12608
12726
|
</td>
|
|
12609
12727
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: ThePreventDefaultDirective, selector: "[thePreventDefault]", exportAs: ["thePreventDefault"] }] }); }
|
|
12610
12728
|
}
|
|
12611
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
12729
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheTableRow, decorators: [{
|
|
12612
12730
|
type: Component,
|
|
12613
12731
|
args: [{
|
|
12614
12732
|
selector: 'tr[theTableRow]',
|
|
@@ -13174,10 +13292,10 @@ class TableStore {
|
|
|
13174
13292
|
this.setAreaSelectionCells(nextCell);
|
|
13175
13293
|
}
|
|
13176
13294
|
}
|
|
13177
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
13178
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.
|
|
13295
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TableStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
13296
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TableStore }); }
|
|
13179
13297
|
}
|
|
13180
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
13298
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TableStore, decorators: [{
|
|
13181
13299
|
type: Injectable
|
|
13182
13300
|
}], ctorParameters: () => [] });
|
|
13183
13301
|
|
|
@@ -13445,10 +13563,10 @@ class TheTableContextMenuService {
|
|
|
13445
13563
|
return this.menuRef.afterClosed();
|
|
13446
13564
|
}
|
|
13447
13565
|
}
|
|
13448
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
13449
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.
|
|
13566
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheTableContextMenuService, deps: [{ token: TableStore }, { token: i1.ThyPopover }, { token: i0.NgZone }, { token: TheContextService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
13567
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheTableContextMenuService }); }
|
|
13450
13568
|
}
|
|
13451
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
13569
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheTableContextMenuService, decorators: [{
|
|
13452
13570
|
type: Injectable
|
|
13453
13571
|
}], ctorParameters: () => [{ type: TableStore }, { type: i1.ThyPopover }, { type: i0.NgZone }, { type: TheContextService }] });
|
|
13454
13572
|
|
|
@@ -13470,10 +13588,10 @@ class TableFreezeColumnPipe {
|
|
|
13470
13588
|
}
|
|
13471
13589
|
return headerColumnWidth + buffer < tableWrapperWidth;
|
|
13472
13590
|
}
|
|
13473
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
13474
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.
|
|
13591
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TableFreezeColumnPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
13592
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.4", ngImport: i0, type: TableFreezeColumnPipe, isStandalone: true, name: "freezeColumn" }); }
|
|
13475
13593
|
}
|
|
13476
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
13594
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TableFreezeColumnPipe, decorators: [{
|
|
13477
13595
|
type: Pipe,
|
|
13478
13596
|
args: [{
|
|
13479
13597
|
name: 'freezeColumn',
|
|
@@ -13492,10 +13610,10 @@ class TableFreezeRowPipe {
|
|
|
13492
13610
|
const mergeRows = table.children[0]?.children.filter(item => item.rowspan && item.rowspan !== 1);
|
|
13493
13611
|
return !mergeRows.length;
|
|
13494
13612
|
}
|
|
13495
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
13496
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.
|
|
13613
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TableFreezeRowPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
13614
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.4", ngImport: i0, type: TableFreezeRowPipe, isStandalone: true, name: "freezeRow" }); }
|
|
13497
13615
|
}
|
|
13498
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
13616
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TableFreezeRowPipe, decorators: [{
|
|
13499
13617
|
type: Pipe,
|
|
13500
13618
|
args: [{
|
|
13501
13619
|
name: 'freezeRow',
|
|
@@ -13506,10 +13624,10 @@ class TableHasHeaderRowPipe {
|
|
|
13506
13624
|
transform(table) {
|
|
13507
13625
|
return hasHeaderRow(table);
|
|
13508
13626
|
}
|
|
13509
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
13510
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.
|
|
13627
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TableHasHeaderRowPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
13628
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.4", ngImport: i0, type: TableHasHeaderRowPipe, isStandalone: true, name: "hasHeaderRow" }); }
|
|
13511
13629
|
}
|
|
13512
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
13630
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TableHasHeaderRowPipe, decorators: [{
|
|
13513
13631
|
type: Pipe,
|
|
13514
13632
|
args: [{ name: 'hasHeaderRow', standalone: true }]
|
|
13515
13633
|
}] });
|
|
@@ -13562,8 +13680,8 @@ class TheTableOptions {
|
|
|
13562
13680
|
Transforms.setNodes(this.editor, { header: null }, { at: rowPath });
|
|
13563
13681
|
}
|
|
13564
13682
|
}
|
|
13565
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
13566
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.
|
|
13683
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheTableOptions, deps: [{ token: i1.ThyPopoverRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
13684
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: TheTableOptions, isStandalone: true, selector: "the-table-options", inputs: { editor: "editor" }, host: { classAttribute: "the-table-options" }, ngImport: i0, template: `
|
|
13567
13685
|
<div class="thy-dropdown-menu table-drop-menu">
|
|
13568
13686
|
<ng-container *ngFor="let option of tableDropdownList">
|
|
13569
13687
|
<a thyDropdownMenuItem href="javascript:;" (mousedown)="setTableOptions($event, option)">
|
|
@@ -13576,7 +13694,7 @@ class TheTableOptions {
|
|
|
13576
13694
|
</div>
|
|
13577
13695
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "directive", type: ThyDropdownMenuItemDirective, selector: "[thyDropdownMenuItem]", inputs: ["thyType", "thyDisabled"] }, { kind: "directive", type: ThyDropdownMenuItemNameDirective, selector: "[thyDropdownMenuItemName]" }, { kind: "directive", type: ThyDropdownMenuItemIconDirective, selector: "[thyDropdownMenuItemIcon]" }] }); }
|
|
13578
13696
|
}
|
|
13579
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
13697
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheTableOptions, decorators: [{
|
|
13580
13698
|
type: Component,
|
|
13581
13699
|
args: [{
|
|
13582
13700
|
selector: 'the-table-options',
|
|
@@ -13744,10 +13862,10 @@ class TheTableToolbar {
|
|
|
13744
13862
|
viewContainerRef: this.viewContainerRef
|
|
13745
13863
|
});
|
|
13746
13864
|
}
|
|
13747
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
13748
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.
|
|
13865
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheTableToolbar, deps: [{ token: i1.ThyPopover }, { token: i1.ThyPopoverRef }, { token: i1$1.ThyNotifyService }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
13866
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: TheTableToolbar, isStandalone: true, selector: "the-table-toolbar", inputs: { tableStore: "tableStore", tableElement: "tableElement" }, ngImport: i0, template: "<thy-actions thySize=\"xxs\" (mousedown)=\"preventDefault($event)\">\n <ng-container *ngFor=\"let item of cellMenuList\">\n <a\n *ngIf=\"item.visibility\"\n href=\"javascript:;\"\n thyAction\n [thyActionIcon]=\"item.icon\"\n [thyTooltip]=\"item.name\"\n (click)=\"item.actionHandle()\"\n ></a>\n </ng-container>\n <thy-divider *ngIf=\"hasDivider\" class=\"mr-2 ml-1 align-self-center\" [thyVertical]=\"true\" thyColor=\"light\"> </thy-divider>\n <a\n href=\"javascript:;\"\n thyAction\n thyTooltip=\"\u5355\u5143\u683C\u80CC\u666F\"\n thyColorPicker\n [(ngModel)]=\"selectedColor\"\n (ngModelChange)=\"changeColor($event)\"\n (click)=\"openColorPanel($event)\"\n thyPlacement=\"bottomLeft\"\n [thyHasBackdrop]=\"false\"\n >\n <thy-icon thyIconName=\"background-tt\" thyIconType=\"twotone\" [thyTwotoneColor]=\"selectedColor\"></thy-icon>\n </a>\n <a\n href=\"javascript:;\"\n *ngIf=\"tableStore.isSelectedTable && !isColumnEqual\"\n thyAction\n thyTooltip=\"\u5217\u7B49\u5BBD\"\n (click)=\"setEquallyColumnHandle($event)\"\n >\n <thy-icon thyIconName=\"table-column-equal-width\"></thy-icon>\n </a>\n <a\n href=\"javascript:;\"\n *ngIf=\"tableStore.isSelectedTable && tableOptions?.showFullscreen\"\n thyAction\n thyTooltip=\"\u5168\u5C4F\"\n (click)=\"setFullscreen($event)\"\n >\n <thy-icon thyIconName=\"arrows-alt\"></thy-icon>\n </a>\n <a\n *ngIf=\"tableStore.isSelectedTable && !tableStore?.isFullscreen\"\n class=\"fullscreen-hidden\"\n href=\"javascript:;\"\n thyAction\n thyActionIcon=\"copy\"\n thyTooltip=\"\u590D\u5236\"\n (click)=\"onCopy($event)\"\n ></a>\n <ng-container *ngIf=\"tableStore.isSelectedTable\">\n <thy-divider class=\"mr-2 ml-1 align-self-center\" [thyVertical]=\"true\" thyColor=\"light\"></thy-divider>\n <a href=\"javascript:;\" class=\"link-with-down\" thyAction (mousedown)=\"preventDefault($event)\" (click)=\"openTableOptionMenu($event)\">\n <span>\u8868\u683C\u9009\u9879</span>\n <thy-icon class=\"font-size-sm text-desc ml-1\" thyIconName=\"caret-down\"></thy-icon>\n </a>\n </ng-container>\n <ng-container *ngIf=\"tableStore?.isFullscreen ? deleteIcon && !tableStore.isSelectedTable : deleteIcon\">\n <thy-divider class=\"mr-2 ml-1 align-self-center\" [thyVertical]=\"true\" thyColor=\"light\"></thy-divider>\n <a\n href=\"javascript:;\"\n thyAction\n thyType=\"danger\"\n [thyActionIcon]=\"deleteIcon\"\n [thyTooltip]=\"iconName\"\n (click)=\"onDelete($event)\"\n (mouseenter)=\"onEnterDelete($event)\"\n (mouseleave)=\"onLeaveDelete($event)\"\n ></a>\n </ng-container>\n</thy-actions>\n", dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "component", type: ThyAction, selector: "thy-action, [thyAction]", inputs: ["thyType", "thyIcon", "thyActionIcon", "thyActive", "thyActionActive", "thyTheme", "thyHoverIcon", "thyDisabled"] }, { kind: "component", type: ThyActions, selector: "thy-actions", inputs: ["thySize"] }, { kind: "directive", type: ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }, { kind: "component", type: ThyDivider, selector: "thy-divider", inputs: ["thyVertical", "thyStyle", "thyColor", "thyText", "thyTextDirection", "thyDeeper"] }, { kind: "directive", type: ThyColorPickerDirective, selector: "[thyColorPicker]", inputs: ["thyOffset", "thyHasBackdrop", "thyDefaultColor", "thyTransparentColorSelectable", "thyPresetColors", "thyPlacement", "thyTrigger", "thyShowDelay", "thyHideDelay", "thyDisabled"], outputs: ["thyPanelOpen", "thyPanelClose"] }] }); }
|
|
13749
13867
|
}
|
|
13750
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
13868
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheTableToolbar, decorators: [{
|
|
13751
13869
|
type: Component,
|
|
13752
13870
|
args: [{ selector: 'the-table-toolbar', standalone: true, imports: [NgFor, NgIf, FormsModule, ThyIcon, ThyAction, ThyActions, ThyTooltipDirective, ThyDivider, ThyColorPickerDirective], template: "<thy-actions thySize=\"xxs\" (mousedown)=\"preventDefault($event)\">\n <ng-container *ngFor=\"let item of cellMenuList\">\n <a\n *ngIf=\"item.visibility\"\n href=\"javascript:;\"\n thyAction\n [thyActionIcon]=\"item.icon\"\n [thyTooltip]=\"item.name\"\n (click)=\"item.actionHandle()\"\n ></a>\n </ng-container>\n <thy-divider *ngIf=\"hasDivider\" class=\"mr-2 ml-1 align-self-center\" [thyVertical]=\"true\" thyColor=\"light\"> </thy-divider>\n <a\n href=\"javascript:;\"\n thyAction\n thyTooltip=\"\u5355\u5143\u683C\u80CC\u666F\"\n thyColorPicker\n [(ngModel)]=\"selectedColor\"\n (ngModelChange)=\"changeColor($event)\"\n (click)=\"openColorPanel($event)\"\n thyPlacement=\"bottomLeft\"\n [thyHasBackdrop]=\"false\"\n >\n <thy-icon thyIconName=\"background-tt\" thyIconType=\"twotone\" [thyTwotoneColor]=\"selectedColor\"></thy-icon>\n </a>\n <a\n href=\"javascript:;\"\n *ngIf=\"tableStore.isSelectedTable && !isColumnEqual\"\n thyAction\n thyTooltip=\"\u5217\u7B49\u5BBD\"\n (click)=\"setEquallyColumnHandle($event)\"\n >\n <thy-icon thyIconName=\"table-column-equal-width\"></thy-icon>\n </a>\n <a\n href=\"javascript:;\"\n *ngIf=\"tableStore.isSelectedTable && tableOptions?.showFullscreen\"\n thyAction\n thyTooltip=\"\u5168\u5C4F\"\n (click)=\"setFullscreen($event)\"\n >\n <thy-icon thyIconName=\"arrows-alt\"></thy-icon>\n </a>\n <a\n *ngIf=\"tableStore.isSelectedTable && !tableStore?.isFullscreen\"\n class=\"fullscreen-hidden\"\n href=\"javascript:;\"\n thyAction\n thyActionIcon=\"copy\"\n thyTooltip=\"\u590D\u5236\"\n (click)=\"onCopy($event)\"\n ></a>\n <ng-container *ngIf=\"tableStore.isSelectedTable\">\n <thy-divider class=\"mr-2 ml-1 align-self-center\" [thyVertical]=\"true\" thyColor=\"light\"></thy-divider>\n <a href=\"javascript:;\" class=\"link-with-down\" thyAction (mousedown)=\"preventDefault($event)\" (click)=\"openTableOptionMenu($event)\">\n <span>\u8868\u683C\u9009\u9879</span>\n <thy-icon class=\"font-size-sm text-desc ml-1\" thyIconName=\"caret-down\"></thy-icon>\n </a>\n </ng-container>\n <ng-container *ngIf=\"tableStore?.isFullscreen ? deleteIcon && !tableStore.isSelectedTable : deleteIcon\">\n <thy-divider class=\"mr-2 ml-1 align-self-center\" [thyVertical]=\"true\" thyColor=\"light\"></thy-divider>\n <a\n href=\"javascript:;\"\n thyAction\n thyType=\"danger\"\n [thyActionIcon]=\"deleteIcon\"\n [thyTooltip]=\"iconName\"\n (click)=\"onDelete($event)\"\n (mouseenter)=\"onEnterDelete($event)\"\n (mouseleave)=\"onLeaveDelete($event)\"\n ></a>\n </ng-container>\n</thy-actions>\n" }]
|
|
13753
13871
|
}], ctorParameters: () => [{ type: i1.ThyPopover }, { type: i1.ThyPopoverRef }, { type: i1$1.ThyNotifyService }, { type: i0.ViewContainerRef }], propDecorators: { tableStore: [{
|
|
@@ -13863,10 +13981,10 @@ class TableService {
|
|
|
13863
13981
|
e.preventDefault();
|
|
13864
13982
|
}
|
|
13865
13983
|
}
|
|
13866
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
13867
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.
|
|
13984
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TableService, deps: [{ token: i1.ThyPopover }, { token: i2.Overlay }, { token: TableStore }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
13985
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TableService }); }
|
|
13868
13986
|
}
|
|
13869
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
13987
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TableService, decorators: [{
|
|
13870
13988
|
type: Injectable
|
|
13871
13989
|
}], ctorParameters: () => [{ type: i1.ThyPopover }, { type: i2.Overlay }, { type: TableStore }, { type: i0.NgZone }] });
|
|
13872
13990
|
|
|
@@ -14112,10 +14230,10 @@ class TheInsertMark {
|
|
|
14112
14230
|
}
|
|
14113
14231
|
return this.type === 'column' && this.at === tablePosition.getWidth();
|
|
14114
14232
|
}
|
|
14115
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
14116
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.
|
|
14233
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheInsertMark, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
14234
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: TheInsertMark, isStandalone: true, selector: "the-table-insert-mark", inputs: { type: "type", at: "at", tableStore: "tableStore", parentElement: "parentElement" }, host: { classAttribute: "the-table-insert-mark" }, viewQueries: [{ propertyName: "insertWrapper", first: true, predicate: ["insertWrapper"], descendants: true }], ngImport: i0, template: "<div\n #insertWrapper\n [thyTooltip]=\"!disabled && tooltipContent\"\n class=\"the-table-controls-insert-wrapper\"\n [ngClass]=\"{ disabled: disabled }\"\n contenteditable=\"false\"\n (pointerdown)=\"preventDefault($event)\"\n (pointerup)=\"insert($event)\"\n (click)=\"preventDefault($event)\"\n (mouseup)=\"preventDefault($event)\"\n (mouseenter)=\"onMouseEnter($event)\"\n (mouseleave)=\"onMouseLeave($event)\"\n>\n <div\n class=\"the-table-controls-insert-line\"\n *ngIf=\"dotWrapperHovered\"\n [ngStyle]=\"insertLineStyle\"\n ></div>\n</div>\n", dependencies: [{ kind: "directive", type: ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] }); }
|
|
14117
14235
|
}
|
|
14118
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
14236
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheInsertMark, decorators: [{
|
|
14119
14237
|
type: Component,
|
|
14120
14238
|
args: [{ selector: 'the-table-insert-mark', host: {
|
|
14121
14239
|
class: 'the-table-insert-mark'
|
|
@@ -14913,8 +15031,8 @@ class TheTable extends TheBaseElement {
|
|
|
14913
15031
|
this.destroy$.next();
|
|
14914
15032
|
this.destroy$.complete();
|
|
14915
15033
|
}
|
|
14916
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
14917
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.
|
|
15034
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheTable, deps: [{ token: i0.ElementRef }, { token: TableCellEventDispatcher }, { token: ColumnResizeNotifierSource }, { token: TableStore }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: TableService }, { token: TheTableContextMenuService }, { token: TableFreezeColumnPipe }, { token: TableFreezeRowPipe }, { token: i0.Renderer2 }, { token: TheContextService }, { token: THE_MODE_TOKEN }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
15035
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: TheTable, isStandalone: true, selector: "ng-component", host: { properties: { "class.the-table-with-controls": "isInTable || tableStore.isRightClicking || tableStore.isFocusedInput", "class.the-table-with-sticky-column": "isFreezeColumn", "class.the-numbered-table": "element?.options?.numberedColumn", "class.the-table-selection-hide": "tableStore.isCellSelecting || tableStore.isRightClicking || tableStore.isFocusedInput" } }, providers: [
|
|
14918
15036
|
TableStore,
|
|
14919
15037
|
TableService,
|
|
14920
15038
|
TheTableContextMenuService,
|
|
@@ -14928,7 +15046,7 @@ class TheTable extends TheBaseElement {
|
|
|
14928
15046
|
}
|
|
14929
15047
|
], viewQueries: [{ propertyName: "tableWrapper", first: true, predicate: ["tableWrapper"], descendants: true, read: ElementRef, static: true }, { propertyName: "theTableElement", first: true, predicate: ["theTable"], descendants: true, read: ElementRef, static: true }, { propertyName: "tbodyElement", first: true, predicate: ["tbody"], descendants: true, read: ElementRef, static: true }, { propertyName: "tableRowControlsWrapper", first: true, predicate: ["tableRowControlsWrapper"], descendants: true, read: ElementRef }, { propertyName: "columnControlsWrapper", first: true, predicate: ["columnControlsWrapper"], descendants: true, read: ElementRef }, { propertyName: "cornerControl", first: true, predicate: ["cornerControl"], descendants: true, read: ElementRef }, { propertyName: "rowControlsInner", first: true, predicate: ["rowControlsInner"], descendants: true, read: ElementRef }, { propertyName: "headerRowLeftShadow", first: true, predicate: ["headerRowLeftShadow"], descendants: true, read: ElementRef }, { propertyName: "headerRowRightShadow", first: true, predicate: ["headerRowRightShadow"], descendants: true, read: ElementRef }, { propertyName: "colgroup", first: true, predicate: ["colgroup"], descendants: true, read: ElementRef }, { propertyName: "rowControlsButtonWrapper", predicate: ["rowControlsButtonWrapper"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: "<div class=\"the-table-container\" theColumnResize>\n <div #tableRowControlsWrapper class=\"the-table-row-controls-wrapper\">\n <div\n class=\"the-table-corner-controls\"\n #cornerControl\n contenteditable=\"false\"\n [ngClass]=\"{\n visible: !readonly && (isInTable || tableStore.isRightClicking || tableStore.isFocusedInput),\n 'control-active': isSelectedAllCell,\n dangerous: tableStore.isSelectedTable && tableStore.dangerousCells.length > 0\n }\"\n >\n <div class=\"the-table-corner-button\" (pointerdown)=\"onSelectTable($event)\"></div>\n <div class=\"the-table-corner-controls-insert-row-marker\" *ngIf=\"!(element | hasHeaderRow) && !isMobileMode\">\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\" *ngIf=\"!element?.options?.headerColumn && !isMobileMode\">\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\" #rowControlsInner>\n <div\n class=\"the-table-row-control-button-wrap\"\n #rowControlsButtonWrapper\n contenteditable=\"false\"\n *ngFor=\"let control of rowControls; let i = index; trackBy: trackByFnRowControls\"\n [ngClass]=\"{\n 'control-active': tableStore.selectedRowsIndex.includes(control.rowIndex),\n dangerous: tableStore.dangerousRowsIndex.includes(control.rowIndex) && tableStore.dangerousCells.length > 0\n }\"\n >\n <ng-container\n *ngIf=\"!readonly && (isInTable || tableStore.isRightClicking || tableStore.isFocusedInput) && !element?.options?.numberedColumn\"\n >\n <button\n (pointerdown)=\"onRowMousedown($event, control.rowIndex)\"\n type=\"button\"\n contenteditable=\"false\"\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 (pointerdown)=\"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\">\n {{ (element | hasHeaderRow) && i === 0 ? '' : (element | hasHeaderRow) ? i : i + 1 }}\n </p>\n </div>\n </ng-container>\n <the-table-insert-mark *ngIf=\"!isMobileMode\" type=\"row\" [at]=\"control.rowIndex + 1\" [tableStore]=\"tableStore\">\n </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>\n <colgroup #colgroup>\n <!--\u63A7\u5236\u5E8F\u53F7\u5217\u5BBD\u5EA6-->\n <col *ngIf=\"readonly && element?.options?.numberedColumn\" class=\"the-table-number-col\" />\n <col *ngFor=\"let col of columns\" [ngStyle]=\"{ width: col.width + 'px' }\" />\n </colgroup>\n <thead>\n <tr class=\"the-table-col-controls-wrapper the-sticky-row\" #columnControlsWrapper>\n <th *ngIf=\"readonly && element?.options?.numberedColumn\" class=\"the-table-number-col\"></th>\n <th\n #colControl\n class=\"the-table-col-control\"\n contenteditable=\"false\"\n *ngFor=\"let control of colControls; let i = index; trackBy: trackByFnColControls\"\n [ngClass]=\"{\n 'control-active': tableStore.selectedColumnsIndex.includes(i),\n dangerous: tableStore.dangerousColumnsIndex.includes(i) && tableStore.dangerousCells.length > 0,\n 'the-sticky-cell': i === 0 && isFreezeColumn\n }\"\n (pointerdown)=\"onColMousedown($event, i)\"\n >\n <the-table-insert-mark\n *ngIf=\"(isInTable || tableStore.isRightClicking || tableStore.isFocusedInput) && !isMobileMode\"\n type=\"column\"\n [at]=\"i + 1\"\n [tableStore]=\"tableStore\"\n [parentElement]=\"colControl\"\n >\n </the-table-insert-mark>\n </th>\n </tr>\n </thead>\n <tbody #tbody></tbody>\n <div\n *ngIf=\"!element?.options?.headerColumn\"\n #headerRowLeftShadow\n class=\"header-row-shadow header-row-left-shadow\"\n contenteditable=\"false\"\n ></div>\n <div class=\"header-row-shadow header-row-right-shadow\" #headerRowRightShadow contenteditable=\"false\"></div>\n </table>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: TheInsertMark, selector: "the-table-insert-mark", inputs: ["type", "at", "tableStore", "parentElement"] }, { kind: "directive", type: TheColumnResizeDirective, selector: "div[theColumnResize]" }, { kind: "pipe", type: TableHasHeaderRowPipe, name: "hasHeaderRow" }] }); }
|
|
14930
15048
|
}
|
|
14931
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
15049
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheTable, decorators: [{
|
|
14932
15050
|
type: Component,
|
|
14933
15051
|
args: [{ providers: [
|
|
14934
15052
|
TableStore,
|
|
@@ -15552,10 +15670,10 @@ class TheTd extends TheBaseElement {
|
|
|
15552
15670
|
this.destroy$.next();
|
|
15553
15671
|
this.destroy$.complete();
|
|
15554
15672
|
}
|
|
15555
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
15556
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.
|
|
15673
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheTd, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: i0.NgZone }, { token: i0.Injector }, { token: i2.Overlay }, { token: ColumnResizingStore }, { token: i2.ScrollDispatcher }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
15674
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: TheTd, isStandalone: true, selector: "td[theTd]", host: { properties: { "style.backgroundColor": "this.backgroundColor", "attr.colspan": "this.colspan", "attr.rowspan": "this.rowspan", "style.display": "this.display" } }, providers: [ColumnResizingStore], viewQueries: [{ propertyName: "cellInner", first: true, predicate: ["cellInner"], descendants: true, read: ElementRef, static: true }], usesInheritance: true, ngImport: i0, template: "<div #cellInner></div>\n" }); }
|
|
15557
15675
|
}
|
|
15558
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
15676
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheTd, decorators: [{
|
|
15559
15677
|
type: Component,
|
|
15560
15678
|
args: [{ selector: 'td[theTd]', standalone: true, providers: [ColumnResizingStore], template: "<div #cellInner></div>\n" }]
|
|
15561
15679
|
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i0.Renderer2 }, { type: i0.NgZone }, { type: i0.Injector }, { type: i2.Overlay }, { type: ColumnResizingStore }, { type: i2.ScrollDispatcher }], propDecorators: { cellInner: [{
|
|
@@ -15617,8 +15735,8 @@ class TheTableToolbarItem extends TheBaseToolbarItem {
|
|
|
15617
15735
|
});
|
|
15618
15736
|
return this.tableSelectRef;
|
|
15619
15737
|
}
|
|
15620
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
15621
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.
|
|
15738
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheTableToolbarItem, deps: [{ token: i1.ThyPopover }, { token: i2.Overlay }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
15739
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: TheTableToolbarItem, isStandalone: true, selector: "the-table-toolbar-item", host: { classAttribute: "the-toolbar-dropdown-container" }, usesInheritance: true, ngImport: i0, template: `
|
|
15622
15740
|
<a
|
|
15623
15741
|
href="javascript:;"
|
|
15624
15742
|
class="link-with-down"
|
|
@@ -15634,7 +15752,7 @@ class TheTableToolbarItem extends TheBaseToolbarItem {
|
|
|
15634
15752
|
</a>
|
|
15635
15753
|
`, isInline: true, dependencies: [{ kind: "component", type: ThyAction, selector: "thy-action, [thyAction]", inputs: ["thyType", "thyIcon", "thyActionIcon", "thyActive", "thyActionActive", "thyTheme", "thyHoverIcon", "thyDisabled"] }, { kind: "directive", type: ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }] }); }
|
|
15636
15754
|
}
|
|
15637
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
15755
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheTableToolbarItem, decorators: [{
|
|
15638
15756
|
type: Component,
|
|
15639
15757
|
args: [{
|
|
15640
15758
|
selector: 'the-table-toolbar-item',
|
|
@@ -15737,7 +15855,7 @@ const normalizeTable = (table) => {
|
|
|
15737
15855
|
};
|
|
15738
15856
|
|
|
15739
15857
|
const withTable = (editor) => {
|
|
15740
|
-
const { deleteBackward, deleteForward, onKeydown, setFragmentData,
|
|
15858
|
+
const { deleteBackward, deleteForward, onKeydown, setFragmentData, insertFragmentData, normalizeNode, isBlockCard, renderElement, deleteCutData, isContainer, onChange, onClick, mousedown } = editor;
|
|
15741
15859
|
editor.deleteBackward = unit => {
|
|
15742
15860
|
const opts = new TableOptions();
|
|
15743
15861
|
if (!isSelectionInTable(opts, editor)) {
|
|
@@ -15939,62 +16057,54 @@ const withTable = (editor) => {
|
|
|
15939
16057
|
onKeydown(event);
|
|
15940
16058
|
return;
|
|
15941
16059
|
};
|
|
15942
|
-
editor.setFragmentData =
|
|
16060
|
+
editor.setFragmentData = (data, originEvent) => {
|
|
15943
16061
|
const opts = new TableOptions();
|
|
15944
|
-
if (
|
|
15945
|
-
|
|
15946
|
-
|
|
15947
|
-
|
|
15948
|
-
|
|
15949
|
-
|
|
15950
|
-
|
|
15951
|
-
|
|
15952
|
-
|
|
15953
|
-
|
|
15954
|
-
|
|
15955
|
-
...tablePosition.table,
|
|
15956
|
-
children: rows
|
|
15957
|
-
};
|
|
15958
|
-
}
|
|
15959
|
-
else if (selectedCellPositions.length > 0) {
|
|
15960
|
-
const tempRows = {};
|
|
15961
|
-
for (const cell of selectedCellPositions) {
|
|
15962
|
-
const { row, col } = cell;
|
|
15963
|
-
const cellPath = [...tablePosition.tableEntry[1], row, col];
|
|
15964
|
-
const cellNode = Node.get(editor, cellPath);
|
|
15965
|
-
if (!tempRows[row]) {
|
|
15966
|
-
tempRows[row] = [];
|
|
15967
|
-
}
|
|
15968
|
-
tempRows[row].push(cellNode);
|
|
16062
|
+
if (isSelectionInTable(opts, editor)) {
|
|
16063
|
+
const tablePosition = createTablePosition(editor);
|
|
16064
|
+
const tableComponent = ELEMENT_TO_COMPONENT.get(tablePosition.table);
|
|
16065
|
+
const selectedCellPositions = tableComponent.tableStore.getSelectedCellPositions();
|
|
16066
|
+
let tableFragment = null;
|
|
16067
|
+
if (tableComponent.tableStore.selectedRowsIndex.length > 0) {
|
|
16068
|
+
const rows = tablePosition.table.children.slice(tableComponent.tableStore.selectedRowsIndex[0], tableComponent.tableStore.selectedRowsIndex[tableComponent.tableStore.selectedRowsIndex.length - 1] + 1);
|
|
16069
|
+
tableFragment = {
|
|
16070
|
+
...tablePosition.table,
|
|
16071
|
+
children: rows
|
|
16072
|
+
};
|
|
15969
16073
|
}
|
|
15970
|
-
|
|
15971
|
-
|
|
15972
|
-
|
|
15973
|
-
|
|
16074
|
+
else if (selectedCellPositions.length > 0) {
|
|
16075
|
+
const tempRows = {};
|
|
16076
|
+
for (const cell of selectedCellPositions) {
|
|
16077
|
+
const { row, col } = cell;
|
|
16078
|
+
const cellPath = [...tablePosition.tableEntry[1], row, col];
|
|
16079
|
+
const cellNode = Node.get(editor, cellPath);
|
|
16080
|
+
if (!tempRows[row]) {
|
|
16081
|
+
tempRows[row] = [];
|
|
16082
|
+
}
|
|
16083
|
+
tempRows[row].push(cellNode);
|
|
16084
|
+
}
|
|
16085
|
+
const rows = Object.values(tempRows).map((item) => {
|
|
16086
|
+
return {
|
|
16087
|
+
type: ElementKinds.tableRow,
|
|
16088
|
+
children: item
|
|
16089
|
+
};
|
|
16090
|
+
});
|
|
16091
|
+
tableFragment = {
|
|
16092
|
+
type: ElementKinds.table,
|
|
16093
|
+
children: rows
|
|
15974
16094
|
};
|
|
15975
|
-
}
|
|
15976
|
-
tableFragment
|
|
15977
|
-
|
|
15978
|
-
|
|
15979
|
-
|
|
15980
|
-
|
|
15981
|
-
if (tableFragment) {
|
|
15982
|
-
tableFragment = normalizeTable(cloneDeep(tableFragment));
|
|
15983
|
-
const plainText = Node.string(tableFragment);
|
|
15984
|
-
tableFragment = [tableFragment];
|
|
15985
|
-
const stringObj = JSON.stringify(tableFragment);
|
|
15986
|
-
const encoded = window.btoa(encodeURIComponent(stringObj));
|
|
15987
|
-
unit.setData(`application/${CLIPBOARD_FORMAT_KEY}`, encoded);
|
|
15988
|
-
unit.setData('text/plain', plainText);
|
|
15989
|
-
return;
|
|
16095
|
+
}
|
|
16096
|
+
if (tableFragment) {
|
|
16097
|
+
tableFragment = normalizeTable(cloneDeep(tableFragment));
|
|
16098
|
+
setClipboardDataByDom(editor, tableFragment, data);
|
|
16099
|
+
return;
|
|
16100
|
+
}
|
|
15990
16101
|
}
|
|
15991
|
-
setFragmentData(
|
|
16102
|
+
setFragmentData(data, originEvent);
|
|
15992
16103
|
};
|
|
15993
|
-
editor.
|
|
15994
|
-
const fragment = extractFragment(data);
|
|
16104
|
+
editor.insertFragmentData = async (data) => {
|
|
16105
|
+
const fragment = await extractFragment(data);
|
|
15995
16106
|
if (fragment) {
|
|
15996
16107
|
const opts = new TableOptions();
|
|
15997
|
-
const { selection } = editor;
|
|
15998
16108
|
if (isSelectionInTable(opts, editor) &&
|
|
15999
16109
|
fragment.length === 1 &&
|
|
16000
16110
|
Element.isElement(fragment[0]) &&
|
|
@@ -16064,8 +16174,10 @@ const withTable = (editor) => {
|
|
|
16064
16174
|
});
|
|
16065
16175
|
});
|
|
16066
16176
|
}
|
|
16177
|
+
Transforms.insertFragment(editor, fragment);
|
|
16178
|
+
return true;
|
|
16067
16179
|
}
|
|
16068
|
-
|
|
16180
|
+
return insertFragmentData(data);
|
|
16069
16181
|
};
|
|
16070
16182
|
editor.normalizeNode = ([node, path]) => {
|
|
16071
16183
|
if (Element.isElement(node) && node.type === ElementKinds.table) {
|
|
@@ -16289,15 +16401,15 @@ class TheTodoItem extends TheBaseElement {
|
|
|
16289
16401
|
}
|
|
16290
16402
|
setNode(this.editor, { checked }, this.element);
|
|
16291
16403
|
}
|
|
16292
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
16293
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.
|
|
16404
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheTodoItem, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
16405
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: TheTodoItem, isStandalone: true, selector: "div[theTodoItem]", host: { properties: { "class.the-check-item": "this.checkItemClass", "class.the-todo-item-selectable": "this.checkItemSelectable", "attr.the-level": "this.level" } }, viewQueries: [{ propertyName: "childrenOutlet", first: true, predicate: ["childrenOutlet"], descendants: true, read: ElementRef, static: true }], usesInheritance: true, ngImport: i0, template: `
|
|
16294
16406
|
<span contenteditable="false" class="todo-item-status">
|
|
16295
16407
|
<input #checkbox type="checkbox" [checked]="element.checked" (click)="onCheck(checkbox.checked)" />
|
|
16296
16408
|
</span>
|
|
16297
16409
|
<span #childrenOutlet></span>
|
|
16298
16410
|
`, isInline: true }); }
|
|
16299
16411
|
}
|
|
16300
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
16412
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheTodoItem, decorators: [{
|
|
16301
16413
|
type: Component,
|
|
16302
16414
|
args: [{
|
|
16303
16415
|
selector: 'div[theTodoItem]',
|
|
@@ -16447,123 +16559,6 @@ const internalPlugins = () => [
|
|
|
16447
16559
|
createMentionPlugin()
|
|
16448
16560
|
];
|
|
16449
16561
|
|
|
16450
|
-
class TheQuickInsert {
|
|
16451
|
-
handleMousedownNativeElement(event) {
|
|
16452
|
-
event.preventDefault();
|
|
16453
|
-
event.stopPropagation();
|
|
16454
|
-
}
|
|
16455
|
-
constructor(renderer, elementRef, cdr) {
|
|
16456
|
-
this.renderer = renderer;
|
|
16457
|
-
this.elementRef = elementRef;
|
|
16458
|
-
this.cdr = cdr;
|
|
16459
|
-
this.className = 'the-quick-insert';
|
|
16460
|
-
this.isVisible = false;
|
|
16461
|
-
this.defaultIconName = 'plus-circle-thin';
|
|
16462
|
-
this.iconNameFill = 'plus-circle-thin-fill';
|
|
16463
|
-
this.displayIconName = this.defaultIconName;
|
|
16464
|
-
}
|
|
16465
|
-
ngOnInit() {
|
|
16466
|
-
const { onChange } = this.editor;
|
|
16467
|
-
this.editor.onChange = () => {
|
|
16468
|
-
onChange();
|
|
16469
|
-
if (this.editor && this.editor.options && !this.editor.options.readonly) {
|
|
16470
|
-
// wait isOpenedMenu is updated
|
|
16471
|
-
setTimeout(() => {
|
|
16472
|
-
this.updateIconDisplay();
|
|
16473
|
-
}, 0);
|
|
16474
|
-
}
|
|
16475
|
-
};
|
|
16476
|
-
this.updateIconDisplay();
|
|
16477
|
-
}
|
|
16478
|
-
ngOnChanges(changes) {
|
|
16479
|
-
if (changes.isVisible && !changes.isVisible.firstChange) {
|
|
16480
|
-
this.updateIconDisplay();
|
|
16481
|
-
}
|
|
16482
|
-
}
|
|
16483
|
-
updateIconDisplay() {
|
|
16484
|
-
const { editor } = this;
|
|
16485
|
-
if (this.isVisible &&
|
|
16486
|
-
!QuickInsertEditor.isOpenedMenu(editor) &&
|
|
16487
|
-
isCleanEmptyParagraph(editor) &&
|
|
16488
|
-
!this.hasExcludeAttribute() &&
|
|
16489
|
-
!this.isRichMediaScope()) {
|
|
16490
|
-
const block = Node.ancestor(editor, [editor?.selection?.anchor.path[0]]);
|
|
16491
|
-
const rootNode = AngularEditor.toDOMNode(editor, block);
|
|
16492
|
-
this.updatePosition(rootNode.offsetLeft, rootNode.offsetTop);
|
|
16493
|
-
return;
|
|
16494
|
-
}
|
|
16495
|
-
this.addHiddenClass();
|
|
16496
|
-
}
|
|
16497
|
-
addHiddenClass() {
|
|
16498
|
-
this.elementRef.nativeElement.classList.add('d-none');
|
|
16499
|
-
}
|
|
16500
|
-
removeHiddenClass() {
|
|
16501
|
-
this.elementRef.nativeElement.classList.remove('d-none');
|
|
16502
|
-
}
|
|
16503
|
-
isRichMediaScope() {
|
|
16504
|
-
const { editor } = this;
|
|
16505
|
-
if (editor?.selection) {
|
|
16506
|
-
const block = Node.ancestor(editor, [editor?.selection?.anchor.path[0]]);
|
|
16507
|
-
const rootElement = AngularEditor.toDOMNode(editor, block);
|
|
16508
|
-
const leafElement = rootElement.querySelector('[data-slate-leaf="true"]');
|
|
16509
|
-
const rootElementRect = rootElement.getBoundingClientRect();
|
|
16510
|
-
const leafElementRect = leafElement.getBoundingClientRect();
|
|
16511
|
-
return leafElementRect?.x !== rootElementRect?.x;
|
|
16512
|
-
}
|
|
16513
|
-
return false;
|
|
16514
|
-
}
|
|
16515
|
-
hasExcludeAttribute() {
|
|
16516
|
-
const marks = getSelectionMarks(this.editor);
|
|
16517
|
-
const fontSizeMark = marks[MarkTypes.fontSize];
|
|
16518
|
-
return fontSizeMark;
|
|
16519
|
-
}
|
|
16520
|
-
updatePosition(left, top) {
|
|
16521
|
-
this.renderer.setStyle(this.elementRef.nativeElement, 'top', `${top}px`);
|
|
16522
|
-
this.renderer.setStyle(this.elementRef.nativeElement, 'left', `${left}px`);
|
|
16523
|
-
this.removeHiddenClass();
|
|
16524
|
-
}
|
|
16525
|
-
mouseEnter(event) {
|
|
16526
|
-
this.displayIconName = this.iconNameFill;
|
|
16527
|
-
this.cdr.markForCheck();
|
|
16528
|
-
}
|
|
16529
|
-
mouseLeave(event) {
|
|
16530
|
-
this.displayIconName = this.defaultIconName;
|
|
16531
|
-
this.cdr.markForCheck();
|
|
16532
|
-
}
|
|
16533
|
-
handleClick(event) {
|
|
16534
|
-
event.stopPropagation();
|
|
16535
|
-
event.preventDefault();
|
|
16536
|
-
// avoid popover is closed immediately
|
|
16537
|
-
setTimeout(() => {
|
|
16538
|
-
QuickInsertEditor.openMenu(this.editor)
|
|
16539
|
-
.afterClosed()
|
|
16540
|
-
.subscribe(() => {
|
|
16541
|
-
this.updateIconDisplay();
|
|
16542
|
-
});
|
|
16543
|
-
this.updateIconDisplay();
|
|
16544
|
-
}, 100);
|
|
16545
|
-
}
|
|
16546
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: TheQuickInsert, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
16547
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: TheQuickInsert, isStandalone: true, selector: "[theQuickInsert]", inputs: { editor: "editor", isVisible: "isVisible" }, host: { listeners: { "mousedown": "handleMousedownNativeElement($event)" }, properties: { "class": "this.className" } }, viewQueries: [{ propertyName: "iconElement", first: true, predicate: ["iconElement"], descendants: true, read: ElementRef }], usesOnChanges: true, ngImport: i0, template: "<thy-icon\n #iconElement\n [thyIconName]=\"displayIconName\"\n class=\"quick-insert-icon text-desc font-size-xlg\"\n (mouseenter)=\"mouseEnter($event)\"\n (mouseleave)=\"mouseLeave($event)\"\n (mousedown)=\"handleClick($event)\"\n></thy-icon>\n", dependencies: [{ kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }] }); }
|
|
16548
|
-
}
|
|
16549
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: TheQuickInsert, decorators: [{
|
|
16550
|
-
type: Component,
|
|
16551
|
-
args: [{ selector: '[theQuickInsert]', standalone: true, imports: [ThyIcon], template: "<thy-icon\n #iconElement\n [thyIconName]=\"displayIconName\"\n class=\"quick-insert-icon text-desc font-size-xlg\"\n (mouseenter)=\"mouseEnter($event)\"\n (mouseleave)=\"mouseLeave($event)\"\n (mousedown)=\"handleClick($event)\"\n></thy-icon>\n" }]
|
|
16552
|
-
}], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }], propDecorators: { className: [{
|
|
16553
|
-
type: HostBinding,
|
|
16554
|
-
args: ['class']
|
|
16555
|
-
}], editor: [{
|
|
16556
|
-
type: Input
|
|
16557
|
-
}], isVisible: [{
|
|
16558
|
-
type: Input
|
|
16559
|
-
}], iconElement: [{
|
|
16560
|
-
type: ViewChild,
|
|
16561
|
-
args: ['iconElement', { read: ElementRef, static: false }]
|
|
16562
|
-
}], handleMousedownNativeElement: [{
|
|
16563
|
-
type: HostListener,
|
|
16564
|
-
args: ['mousedown', ['$event']]
|
|
16565
|
-
}] } });
|
|
16566
|
-
|
|
16567
16562
|
const HOTKEYS = {
|
|
16568
16563
|
'mod+b': MarkTypes.bold,
|
|
16569
16564
|
'mod+i': MarkTypes.italic,
|
|
@@ -16672,22 +16667,22 @@ class TheEditorComponent {
|
|
|
16672
16667
|
});
|
|
16673
16668
|
};
|
|
16674
16669
|
this.onSlaPaste = (event) => {
|
|
16670
|
+
const clipboardData = getDataTransferClipboard(event.clipboardData);
|
|
16675
16671
|
this.theOnDOMEvent.emit({
|
|
16676
|
-
data:
|
|
16677
|
-
...this.getTextAndJSON(event.clipboardData)
|
|
16678
|
-
},
|
|
16672
|
+
data: clipboardData,
|
|
16679
16673
|
nativeEvent: event
|
|
16680
16674
|
});
|
|
16681
16675
|
};
|
|
16682
|
-
this.onSlaBeforeInput = (event) => {
|
|
16676
|
+
this.onSlaBeforeInput = async (event) => {
|
|
16683
16677
|
let data = {
|
|
16684
16678
|
inputType: event.inputType,
|
|
16685
16679
|
text: (event.data || event.dataTransfer)
|
|
16686
16680
|
};
|
|
16687
16681
|
if (event.inputType === 'insertFromPaste') {
|
|
16682
|
+
const clipboardData = getDataTransferClipboard(event.dataTransfer);
|
|
16688
16683
|
data = {
|
|
16689
16684
|
...data,
|
|
16690
|
-
...
|
|
16685
|
+
...clipboardData
|
|
16691
16686
|
};
|
|
16692
16687
|
}
|
|
16693
16688
|
this.theOnDOMEvent.emit({
|
|
@@ -16980,20 +16975,8 @@ class TheEditorComponent {
|
|
|
16980
16975
|
event.preventDefault();
|
|
16981
16976
|
return;
|
|
16982
16977
|
}
|
|
16983
|
-
|
|
16984
|
-
|
|
16985
|
-
let json = [];
|
|
16986
|
-
if (fragment) {
|
|
16987
|
-
json = JSON.parse(decodeURIComponent(window.atob(fragment)));
|
|
16988
|
-
}
|
|
16989
|
-
const text = data.getData('text/plain');
|
|
16990
|
-
return {
|
|
16991
|
-
json,
|
|
16992
|
-
text
|
|
16993
|
-
};
|
|
16994
|
-
}
|
|
16995
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: TheEditorComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.DestroyRef }, { token: i0.ElementRef }, { token: i0.Injector }, { token: i0.NgZone }, { token: i0.ViewContainerRef }, { token: TheContextService }, { token: i2$2.ThyIconRegistry }, { token: THE_PRESET_CONFIG_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
16996
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: TheEditorComponent, isStandalone: true, selector: "the-editor, theEditor", inputs: { theOptions: "theOptions", thePlugins: "thePlugins", theGlobalToolbar: "theGlobalToolbar", theDecorate: "theDecorate", theOnError: "theOnError" }, outputs: { theOnSave: "theOnSave", theOnDOMEvent: "theOnDOMEvent", theEditorCreated: "theEditorCreated", theUploadingStatus: "theUploadingStatus" }, host: { properties: { "class.the-editor-readonly": "editor.options?.readonly", "class.the-mobile-editor": "isMobileMode" }, classAttribute: "the-editor" }, providers: [
|
|
16978
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheEditorComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.DestroyRef }, { token: i0.ElementRef }, { token: i0.Injector }, { token: i0.NgZone }, { token: i0.ViewContainerRef }, { token: TheContextService }, { token: i2$2.ThyIconRegistry }, { token: THE_PRESET_CONFIG_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
16979
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: TheEditorComponent, isStandalone: true, selector: "the-editor, theEditor", inputs: { theOptions: "theOptions", thePlugins: "thePlugins", theGlobalToolbar: "theGlobalToolbar", theDecorate: "theDecorate", theOnError: "theOnError" }, outputs: { theOnSave: "theOnSave", theOnDOMEvent: "theOnDOMEvent", theEditorCreated: "theEditorCreated", theUploadingStatus: "theUploadingStatus" }, host: { properties: { "class.the-editor-readonly": "editor.options?.readonly", "class.the-mobile-editor": "isMobileMode" }, classAttribute: "the-editor" }, providers: [
|
|
16997
16980
|
TheContextService,
|
|
16998
16981
|
{
|
|
16999
16982
|
provide: TheToolbarGroupToken,
|
|
@@ -17006,7 +16989,7 @@ class TheEditorComponent {
|
|
|
17006
16989
|
}
|
|
17007
16990
|
], viewQueries: [{ propertyName: "templateInstance", first: true, predicate: ["templateInstance"], descendants: true, static: true }, { propertyName: "theEditableContainer", first: true, predicate: ["theEditableContainer"], descendants: true, read: ElementRef, static: true }, { propertyName: "globalToolbarInstance", first: true, predicate: ["globalToolbar"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<the-toolbar\n *ngIf=\"!options?.readonly && !theGlobalToolbar && !isMobileMode\"\n [ngClass]=\"{\n 'the-toolbar-disabled': options?.disabled\n }\"\n #globalToolbar\n [editor]=\"editor\"\n [toolbarItems]=\"toolbarEntity.global\"\n [containerClass]=\"globalToolbarClass\"\n [align]=\"options?.toolbar?.align\"\n></the-toolbar>\n\n<div\n #theEditableContainer\n class=\"the-editable-container\"\n thyImageGroup\n [ngClass]=\"{\n 'the-editor-disabled': options?.disabled,\n 'max-height': maxHeight\n }\"\n [ngStyle]=\"{ 'max-height': maxHeight }\"\n>\n <slate-editable\n class=\"the-editor-typo\"\n [editor]=\"editor\"\n [ngModel]=\"editorValue\"\n [renderElement]=\"renderElement\"\n [renderText]=\"renderText\"\n [renderLeaf]=\"renderLeaf\"\n [isStrictDecorate]=\"false\"\n [decorate]=\"decorate\"\n [placeholder]=\"options?.placeholder\"\n [placeholderDecorate]=\"options?.placeholderDecorate ? options?.placeholderDecorate : null\"\n [readonly]=\"options?.readonly || options?.disabled\"\n [keydown]=\"onKeyDown\"\n [click]=\"onClick\"\n [paste]=\"onSlaPaste\"\n [blur]=\"onSlaBlur\"\n [focus]=\"onSlaFocus\"\n [copy]=\"onSlaCopy\"\n [cut]=\"onSlaCut\"\n [beforeInput]=\"onSlaBeforeInput\"\n [compositionStart]=\"onSlaCompositionStart\"\n [compositionEnd]=\"onSlaCompositionEnd\"\n [dragStart]=\"onSlaDragStart\"\n [dragOver]=\"onSlaDragOver\"\n [drop]=\"onDrop\"\n [scrollSelectionIntoView]=\"scrollSelectionIntoView\"\n (ngModelChange)=\"valueChange($event)\"\n (mousedown)=\"mousedown($event)\"\n ></slate-editable>\n\n <ng-container *ngIf=\"!isMobileMode\">\n <the-inline-toolbar\n *ngIf=\"!options?.readonly && options?.inlineToolbarVisible\"\n [editor]=\"editor\"\n [toolbarItems]=\"toolbarEntity.inline\"\n ></the-inline-toolbar>\n <div *ngIf=\"!options?.readonly\" theQuickInsert [editor]=\"editor\" [isVisible]=\"visibleQuickInsertPlus\"></div>\n </ng-container>\n\n <the-template #templateInstance></the-template>\n</div>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: SlateModule }, { kind: "component", type: i4.SlateEditable, selector: "slate-editable", inputs: ["editor", "renderElement", "renderLeaf", "renderText", "decorate", "placeholderDecorate", "scrollSelectionIntoView", "isStrictDecorate", "trackBy", "readonly", "placeholder", "beforeInput", "blur", "click", "compositionEnd", "compositionUpdate", "compositionStart", "copy", "cut", "dragOver", "dragStart", "dragEnd", "drop", "focus", "keydown", "paste", "spellCheck", "autoCorrect", "autoCapitalize"] }, { kind: "component", type: TheTemplate, selector: "the-template,[theTemplate]" }, { kind: "component", type: TheQuickInsert, selector: "[theQuickInsert]", inputs: ["editor", "isVisible"] }, { kind: "component", type: TheInlineToolbar, selector: "the-inline-toolbar", inputs: ["editor", "toolbarItems"] }, { kind: "component", type: TheToolbarComponent, selector: "the-toolbar", inputs: ["editor", "toolbarItems", "align", "containerClass", "isMore", "afterTemplate"] }, { kind: "component", type: ThyImageGroup, selector: "thy-image-group, [thyImageGroup]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
17008
16991
|
}
|
|
17009
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
16992
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheEditorComponent, decorators: [{
|
|
17010
16993
|
type: Component,
|
|
17011
16994
|
args: [{ selector: 'the-editor, theEditor', host: {
|
|
17012
16995
|
class: 'the-editor',
|
|
@@ -17070,11 +17053,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImpor
|
|
|
17070
17053
|
}] } });
|
|
17071
17054
|
|
|
17072
17055
|
class TheEditorModule {
|
|
17073
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
17074
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.
|
|
17075
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.
|
|
17056
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheEditorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
17057
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.4", ngImport: i0, type: TheEditorModule, imports: [TheEditorComponent], exports: [TheEditorComponent] }); }
|
|
17058
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheEditorModule, providers: [THE_MODE_PROVIDER], imports: [TheEditorComponent] }); }
|
|
17076
17059
|
}
|
|
17077
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
17060
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheEditorModule, decorators: [{
|
|
17078
17061
|
type: NgModule,
|
|
17079
17062
|
args: [{
|
|
17080
17063
|
imports: [TheEditorComponent],
|
|
@@ -17120,10 +17103,10 @@ class TheToolbarService {
|
|
|
17120
17103
|
return item;
|
|
17121
17104
|
});
|
|
17122
17105
|
}
|
|
17123
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
17124
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.
|
|
17106
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheToolbarService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
17107
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheToolbarService }); }
|
|
17125
17108
|
}
|
|
17126
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
17109
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheToolbarService, decorators: [{
|
|
17127
17110
|
type: Injectable
|
|
17128
17111
|
}] });
|
|
17129
17112
|
|
|
@@ -17140,10 +17123,10 @@ class theTethysIconRegistryFaker extends ThyIconRegistry {
|
|
|
17140
17123
|
splitIconName(iconName) {
|
|
17141
17124
|
return ['', ''];
|
|
17142
17125
|
}
|
|
17143
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
17144
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.
|
|
17126
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: theTethysIconRegistryFaker, deps: [{ token: i1$3.DomSanitizer }, { token: i2$3.HttpClient }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
17127
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: theTethysIconRegistryFaker, providedIn: 'root' }); }
|
|
17145
17128
|
}
|
|
17146
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
17129
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: theTethysIconRegistryFaker, decorators: [{
|
|
17147
17130
|
type: Injectable,
|
|
17148
17131
|
args: [{ providedIn: 'root' }]
|
|
17149
17132
|
}], ctorParameters: () => [{ type: i1$3.DomSanitizer }, { type: i2$3.HttpClient }, { type: undefined, decorators: [{
|
|
@@ -17168,8 +17151,8 @@ class BasicTest {
|
|
|
17168
17151
|
editorCreate(editor) {
|
|
17169
17152
|
this.editor = editor;
|
|
17170
17153
|
}
|
|
17171
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
17172
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.
|
|
17154
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: BasicTest, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
17155
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: BasicTest, isStandalone: true, selector: "basic-editor-component", providers: [
|
|
17173
17156
|
THY_TOOLTIP_DEFAULT_CONFIG_PROVIDER,
|
|
17174
17157
|
{
|
|
17175
17158
|
provide: ThyIconRegistry,
|
|
@@ -17177,7 +17160,7 @@ class BasicTest {
|
|
|
17177
17160
|
}
|
|
17178
17161
|
], viewQueries: [{ propertyName: "editorComponent", first: true, predicate: TheEditorComponent, descendants: true, static: true }], ngImport: i0, template: `<the-editor [(ngModel)]="value" [thePlugins]="plugins" (theEditorCreated)="editorCreate($event)"></the-editor>`, isInline: true, dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ThyPopoverModule }, { kind: "ngmodule", type: ThyTooltipModule }, { kind: "ngmodule", type: TheEditorModule }, { kind: "component", type: TheEditorComponent, selector: "the-editor, theEditor", inputs: ["theOptions", "thePlugins", "theGlobalToolbar", "theDecorate", "theOnError"], outputs: ["theOnSave", "theOnDOMEvent", "theEditorCreated", "theUploadingStatus"] }] }); }
|
|
17179
17162
|
}
|
|
17180
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
17163
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: BasicTest, decorators: [{
|
|
17181
17164
|
type: Component,
|
|
17182
17165
|
args: [{
|
|
17183
17166
|
selector: 'basic-editor-component',
|
|
@@ -17341,5 +17324,5 @@ const withTestPlugin = (plugins, initValue) => {
|
|
|
17341
17324
|
* Generated bundle index. Do not edit.
|
|
17342
17325
|
*/
|
|
17343
17326
|
|
|
17344
|
-
export { ALIGN_BLOCK_TYPES, A_TAG_REL_ATTR, AlignEditor, Alignment, BLOCK_DELETE_BACKWARD_TYPES, BasicTest, BlockquoteEditor, CLIPBOARD_FORMAT_KEY, CODEMIRROR_PADDING_TOP, CODE_MODES, CONTAINER_BLOCKS, CONTROL_KEY, CodeEditor, ColorEditor, ColumnResizeNotifierSource, ColumnResizingStore, DEFAULT_LANGUAGE, DEFAULT_SCROLL_CONTAINER, DISABLED_OPERATE_TYPES, DataTransferFaker, DefaultElementOptions, DefaultGlobalToolbarDefinition, DefaultInlineToolbarDefinition, DefaultPluginMenu, DropdownMode, ELEMENT_UNIQUE_ID, EditorPresetConfigFactoryMock, ElementKinds, ErrorCodes, FontSizeTypes, FontSizes, HEADING_TYPES, HeadingEditor, HoveredCellInfo, HrEditor, IS_MAC, ImageEditor, IndentEditor, Indents, InlineCodeEditor, LINK_DEFAULT_TEXT, LIST_BLOCK_TYPES, LayoutTypes, LinkEditor, ListEditor, MarkEditor, MarkProps, MarkTypes, MentionEditor, PICTURE_ACCEPTED_UPLOAD_MIME, PICTURE_ACCEPTED_UPLOAD_SIZE, PluginKeys, PluginMenuIcons, PluginMenuSvgs, Position, QuickInsertEditor, ResizeRef, SLA_TABLE_CELL_SELECTOR, SLA_TABLE_SELECTOR, STANDARD_HEADING_TYPES, ScrollDirection, SpecialBackgroundColor, TAB_SPACE, THE_EDITOR_BG_COLOR, THE_EDITOR_COLOR, THE_EDITOR_CONVERSION_HINT_REF, THE_EDITOR_ORIGIN_ANCHOR, THE_EDITOR_POPOVER_REF, THE_EDITOR_PREVIOUS_SELECTION, THE_EDITOR_UUID, THE_LISTBOX_PARENT_GROUP_TOKEN, THE_LISTBOX_PARENT_OPTION_TOKEN, THE_LISTBOX_TOKEN, THE_MODE_PROVIDER, THE_MODE_TOKEN, THE_PLUGIN_MENU_REF, THE_PRESET_CONFIG_TOKEN, THE_UPLOAD_SERVICE_TOKEN, TableCellEventDispatcher, TableEditor, TableHeaderBackgroundColor, TablePosition, TheBaseElement, TheBaseSuggestion, TheBaseToolbarDropdown, TheBaseToolbarItem, TheColumnResizeDirective, TheColumnResizeOverlayHandle, TheContextMenu, TheContextService, TheConversionHint, TheDataMode, TheDefaultElement, TheEditor, TheEditorComponent, TheEditorModule, TheImage, TheInlineToolbar, TheListboxDirective, TheListboxGroupDirective, TheListboxOptionDirective, TheMode, TheModeConfig, ThePluginMenu, ThePluginMenuComponent, ThePluginMenuItemType, ThePreventDefaultDirective, index$1 as TheQueries, TheTableSelect, TheTemplate, TheText, TheToolbarComponent, TheToolbarDropdown, TheToolbarGroup, TheToolbarGroupToken, TheToolbarItem, TheToolbarService, index as TheTransforms, TodoItemEditor, ToolbarActionTypes, ToolbarAlignment, ToolbarItemType, ToolbarMoreGroup, VOID_BLOCK_TYPES, VerticalAlignEditor, VerticalAlignment, ZERO_WIDTH_CHAR, autoFocus, base64toBlob, bottomLeftPosition, buildPluginMenu, buildPluginMenuItemMap, buildQuickInsertMenus, calcPrintColumnWidth, calcSpanForColumn, calcSpanForRow, calculateHeaderRowHeight, calculateRowControls, coercePixelsFromCssValue, combinePlugins, copyNode,
|
|
17327
|
+
export { ALIGN_BLOCK_TYPES, A_TAG_REL_ATTR, AlignEditor, Alignment, BLOCK_DELETE_BACKWARD_TYPES, BasicTest, BlockquoteEditor, CLIPBOARD_FORMAT_KEY, CODEMIRROR_PADDING_TOP, CODE_MODES, CONTAINER_BLOCKS, CONTROL_KEY, CodeEditor, ColorEditor, ColumnResizeNotifierSource, ColumnResizingStore, DEFAULT_LANGUAGE, DEFAULT_SCROLL_CONTAINER, DISABLED_OPERATE_TYPES, DataTransferFaker, DefaultElementOptions, DefaultGlobalToolbarDefinition, DefaultInlineToolbarDefinition, DefaultPluginMenu, DropdownMode, ELEMENT_UNIQUE_ID, EditorPresetConfigFactoryMock, ElementKinds, ErrorCodes, FontSizeTypes, FontSizes, HEADING_TYPES, HeadingEditor, HoveredCellInfo, HrEditor, IS_MAC, ImageEditor, IndentEditor, Indents, InlineCodeEditor, LINK_DEFAULT_TEXT, LIST_BLOCK_TYPES, LayoutTypes, LinkEditor, ListEditor, MarkEditor, MarkProps, MarkTypes, MentionEditor, PICTURE_ACCEPTED_UPLOAD_MIME, PICTURE_ACCEPTED_UPLOAD_SIZE, PluginKeys, PluginMenuIcons, PluginMenuSvgs, Position, QuickInsertEditor, ResizeRef, SLA_TABLE_CELL_SELECTOR, SLA_TABLE_SELECTOR, STANDARD_HEADING_TYPES, ScrollDirection, SpecialBackgroundColor, TAB_SPACE, THE_EDITOR_BG_COLOR, THE_EDITOR_COLOR, THE_EDITOR_CONVERSION_HINT_REF, THE_EDITOR_ORIGIN_ANCHOR, THE_EDITOR_POPOVER_REF, THE_EDITOR_PREVIOUS_SELECTION, THE_EDITOR_UUID, THE_LISTBOX_PARENT_GROUP_TOKEN, THE_LISTBOX_PARENT_OPTION_TOKEN, THE_LISTBOX_TOKEN, THE_MODE_PROVIDER, THE_MODE_TOKEN, THE_PLUGIN_MENU_REF, THE_PRESET_CONFIG_TOKEN, THE_UPLOAD_SERVICE_TOKEN, TableCellEventDispatcher, TableEditor, TableHeaderBackgroundColor, TablePosition, TheBaseElement, TheBaseSuggestion, TheBaseToolbarDropdown, TheBaseToolbarItem, TheColumnResizeDirective, TheColumnResizeOverlayHandle, TheContextMenu, TheContextService, TheConversionHint, TheDataMode, TheDefaultElement, TheEditor, TheEditorComponent, TheEditorModule, TheImage, TheInlineToolbar, TheListboxDirective, TheListboxGroupDirective, TheListboxOptionDirective, TheMode, TheModeConfig, ThePluginMenu, ThePluginMenuComponent, ThePluginMenuItemType, ThePreventDefaultDirective, index$1 as TheQueries, TheQuickInsert, TheTableSelect, TheTemplate, TheText, TheToolbarComponent, TheToolbarDropdown, TheToolbarGroup, TheToolbarGroupToken, TheToolbarItem, TheToolbarService, index as TheTransforms, TodoItemEditor, ToolbarActionTypes, ToolbarAlignment, ToolbarItemType, ToolbarMoreGroup, VOID_BLOCK_TYPES, VerticalAlignEditor, VerticalAlignment, ZERO_WIDTH_CHAR, autoFocus, base64toBlob, bottomLeftPosition, buildPluginMenu, buildPluginMenuItemMap, buildQuickInsertMenus, calcPrintColumnWidth, calcSpanForColumn, calcSpanForRow, calculateHeaderRowHeight, calculateRowControls, coercePixelsFromCssValue, combinePlugins, copyNode, createCell, createEmptyContent, createEmptyParagraph, createMentionPlugin, createPluginFactory, createRow, createTable, createTablePosition, createTest1Plugin, createTestPlugin, createToolbar, createVerticalAlignPlugin, customPluginMock, customPluginMockKey, dataDeserialize, dataSerializing, deleteElementKey, errorImageUrlMock, extractFragment, filterTextFormat, fixBlockWithoutParagraph, fixBlockWithoutText, flattenDeepPlugins, getCellPositionsFromRange, getColsTotalWidth, getColumnsWidth, getDirtyElements, getEditorScrollContainer, getEditorUUID, getElementClassByPrefix, getElementHeight, getElementWidth, getEndBlock, getGridColumns, getMode, getNextCell, getOriginCell, getPlugin, getPluginOptions, getPlugins, getRowsTotalHeight, getSelectCellNode, getSelectedCellPositions, getStartBlock, getTableByCell, getTableByRow, getToolbarClass, hasHeaderRow, headingOptions, htmlToTheia, idCreator, inValidTypes, initializeDefaultMenuIcons, insertDataByInvalidType, internalPlugins, isCleanEmptyParagraph, isColorIndicator, isColorInput, isColorPanel, isDirectionKeydown, isInside, isMobileMode, isPrintMode, isPureEmptyParagraph, isRangeInTable, isRectangularInTableCells, isSelectedAllCell, isSelectionInTable, isVirtualKey, matchOptions, mergeArray, mergeDeepPlugins, mergeElementOptions, mergeOptions, nestedStructureByKey, normalizeValue, originOptions, plainToTheia, pluginKey, pluginKey1, pluginsByKey, reSelection, recursionNodes, refocus, scrollIntoView, setClipboardDataByDom, setEditorUUID, theTethysIconRegistryFaker, topLeftPosition, uniqueCellPosition, updatePopoverPosition, useElementStyle, withMention, withTestPlugin, withTheia };
|
|
17345
17328
|
//# sourceMappingURL=worktile-theia.mjs.map
|