@worktile/theia 18.0.14 → 18.0.16
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/toolbar-dropdown/toolbar-dropdown.component.d.ts +1 -2
- package/components/toolbar-item/toolbar-item.component.d.ts +1 -2
- package/constants/plugin-menu.d.ts +3 -1
- package/core/toolbar-item/base-toolbar-item.d.ts +3 -3
- package/editor.component.d.ts +1 -0
- package/esm2022/components/conversion-hint/conversion-hint.component.mjs +4 -4
- package/esm2022/components/plugin-menu/plugin-menu.component.mjs +7 -7
- package/esm2022/components/toolbar-dropdown/toolbar-dropdown.component.mjs +7 -8
- package/esm2022/components/toolbar-group/toolbar-group.component.mjs +3 -3
- package/esm2022/components/toolbar-item/toolbar-item.component.mjs +7 -8
- package/esm2022/constants/plugin-menu.mjs +15 -13
- package/esm2022/core/toolbar-item/base-toolbar-item.mjs +11 -11
- package/esm2022/editor.component.mjs +7 -5
- package/esm2022/i18n/i18n.mjs +1 -1
- package/esm2022/i18n/i18n.service.mjs +3 -6
- package/esm2022/i18n/locales/de-de.mjs +4 -2
- package/esm2022/i18n/locales/en-us.mjs +4 -2
- package/esm2022/i18n/locales/ja-jp.mjs +4 -2
- package/esm2022/i18n/locales/ru-ru.mjs +4 -2
- package/esm2022/i18n/locales/zh-hans.mjs +4 -2
- package/esm2022/i18n/locales/zh-hant.mjs +4 -2
- package/esm2022/interfaces/plugins/plugin-menu.mjs +1 -1
- package/esm2022/interfaces/toolbar.mjs +1 -1
- package/esm2022/plugins/align/align.plugin.mjs +7 -11
- package/esm2022/plugins/blockquote/blockquote.plugin.mjs +7 -10
- package/esm2022/plugins/code/code.component.mjs +3 -3
- package/esm2022/plugins/code/code.plugin.mjs +7 -10
- package/esm2022/plugins/color/color.plugin.mjs +5 -7
- package/esm2022/plugins/color/toolbar-item.component.mjs +8 -9
- package/esm2022/plugins/common/common.plugin.mjs +4 -5
- package/esm2022/plugins/font-size/font-size.editor.mjs +4 -4
- package/esm2022/plugins/heading/heading.plugin.mjs +21 -35
- package/esm2022/plugins/hr/hr.plugin.mjs +7 -10
- package/esm2022/plugins/image/image.component.mjs +4 -4
- package/esm2022/plugins/image/image.plugin.mjs +7 -10
- package/esm2022/plugins/indent/indent.plugin.mjs +5 -7
- package/esm2022/plugins/index.mjs +20 -20
- package/esm2022/plugins/inline-code/inline-code.plugin.mjs +4 -5
- package/esm2022/plugins/link/edit/link-edit.component.mjs +4 -4
- package/esm2022/plugins/link/link.plugin.mjs +7 -10
- package/esm2022/plugins/list/list.plugin.mjs +11 -17
- package/esm2022/plugins/mark/mark.plugin.mjs +7 -11
- package/esm2022/plugins/paint-format/paint-format.editor.mjs +7 -11
- package/esm2022/plugins/table/components/toolbar/table-options.component.mjs +4 -4
- package/esm2022/plugins/table/components/toolbar/table-toolbar.component.mjs +4 -4
- package/esm2022/plugins/table/table.editor.mjs +2 -2
- package/esm2022/plugins/table/table.plugin.mjs +7 -10
- package/esm2022/plugins/table/toolbar-item.component.mjs +7 -8
- package/esm2022/plugins/todo-item/todo-item.plugin.mjs +7 -10
- package/esm2022/plugins/vertical-align/toolbar-item.component.mjs +13 -8
- package/esm2022/plugins/vertical-align/vertical-align.editor.mjs +12 -12
- package/esm2022/services/table-contextmenu.service.mjs +4 -4
- package/esm2022/test/basic/basic.component.mjs +10 -8
- package/fesm2022/worktile-theia.mjs +237 -277
- package/fesm2022/worktile-theia.mjs.map +1 -1
- package/i18n/i18n.d.ts +2 -0
- package/i18n/i18n.service.d.ts +1 -2
- package/i18n/locales/de-de.d.ts +2 -0
- package/i18n/locales/en-us.d.ts +2 -0
- package/i18n/locales/ja-jp.d.ts +2 -0
- package/i18n/locales/ru-ru.d.ts +2 -0
- package/i18n/locales/zh-hans.d.ts +2 -0
- package/i18n/locales/zh-hant.d.ts +2 -0
- package/interfaces/plugins/plugin-menu.d.ts +0 -3
- package/interfaces/toolbar.d.ts +0 -1
- package/package.json +1 -1
- package/plugins/align/align.plugin.d.ts +3 -1
- package/plugins/blockquote/blockquote.plugin.d.ts +3 -1
- package/plugins/code/code.plugin.d.ts +3 -1
- package/plugins/color/color.plugin.d.ts +3 -1
- package/plugins/color/toolbar-item.component.d.ts +1 -2
- package/plugins/common/common.plugin.d.ts +3 -1
- package/plugins/font-size/font-size.editor.d.ts +3 -1
- package/plugins/heading/heading.plugin.d.ts +3 -1
- package/plugins/hr/hr.plugin.d.ts +3 -1
- package/plugins/image/image.plugin.d.ts +3 -1
- package/plugins/indent/indent.plugin.d.ts +3 -1
- package/plugins/index.d.ts +3 -1
- package/plugins/inline-code/inline-code.plugin.d.ts +3 -1
- package/plugins/link/link.plugin.d.ts +3 -1
- package/plugins/list/list.plugin.d.ts +3 -1
- package/plugins/mark/mark.plugin.d.ts +3 -1
- package/plugins/paint-format/paint-format.editor.d.ts +3 -1
- package/plugins/table/table.plugin.d.ts +3 -1
- package/plugins/table/toolbar-item.component.d.ts +1 -2
- package/plugins/todo-item/todo-item.plugin.d.ts +3 -1
- package/plugins/vertical-align/toolbar-item.component.d.ts +4 -4
- package/plugins/vertical-align/vertical-align.editor.d.ts +3 -1
- package/test/basic/basic.component.d.ts +4 -0
|
@@ -341,18 +341,20 @@ const ToolbarMoreGroup = {
|
|
|
341
341
|
icon: 'more'
|
|
342
342
|
};
|
|
343
343
|
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
344
|
+
function getTheDefaultPluginMenu(locale) {
|
|
345
|
+
return [
|
|
346
|
+
...STANDARD_HEADING_TYPES,
|
|
347
|
+
ElementKinds.numberedList,
|
|
348
|
+
ElementKinds.bulletedList,
|
|
349
|
+
ElementKinds.link,
|
|
350
|
+
{ groupName: locale().base },
|
|
351
|
+
ElementKinds.image,
|
|
352
|
+
ElementKinds.table,
|
|
353
|
+
ElementKinds.blockquote,
|
|
354
|
+
ElementKinds.hr,
|
|
355
|
+
ElementKinds.code
|
|
356
|
+
];
|
|
357
|
+
}
|
|
356
358
|
var ThePluginMenuItemType;
|
|
357
359
|
(function (ThePluginMenuItemType) {
|
|
358
360
|
ThePluginMenuItemType["icon"] = "iconMenu";
|
|
@@ -2460,12 +2462,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
2460
2462
|
providedIn: 'root'
|
|
2461
2463
|
}]
|
|
2462
2464
|
}] });
|
|
2463
|
-
function
|
|
2464
|
-
return inject(TheI18nService).getLocale();
|
|
2465
|
-
}
|
|
2466
|
-
function injectTranslations() {
|
|
2465
|
+
function injectTranslations(theI18nService) {
|
|
2467
2466
|
return computed(() => {
|
|
2468
|
-
const locale =
|
|
2467
|
+
const locale = theI18nService.getLocale();
|
|
2469
2468
|
return locale().translations;
|
|
2470
2469
|
});
|
|
2471
2470
|
}
|
|
@@ -2565,7 +2564,9 @@ var zhHansLocale = {
|
|
|
2565
2564
|
paintFormat: '格式刷',
|
|
2566
2565
|
cleanFormat: '清除格式',
|
|
2567
2566
|
checkItem: '待办事项',
|
|
2568
|
-
checkItemDesc: '插入待办事项'
|
|
2567
|
+
checkItemDesc: '插入待办事项',
|
|
2568
|
+
more: '更多',
|
|
2569
|
+
fontSize: '字号'
|
|
2569
2570
|
}
|
|
2570
2571
|
};
|
|
2571
2572
|
|
|
@@ -2664,7 +2665,9 @@ var zhHantLocale = {
|
|
|
2664
2665
|
paintFormat: '格式刷',
|
|
2665
2666
|
cleanFormat: '清除格式',
|
|
2666
2667
|
checkItem: '待辦事項',
|
|
2667
|
-
checkItemDesc: '插入待辦事項'
|
|
2668
|
+
checkItemDesc: '插入待辦事項',
|
|
2669
|
+
more: '更多',
|
|
2670
|
+
fontSize: '字號'
|
|
2668
2671
|
}
|
|
2669
2672
|
};
|
|
2670
2673
|
|
|
@@ -2763,7 +2766,9 @@ var enUsLocale = {
|
|
|
2763
2766
|
paintFormat: 'Format Painter',
|
|
2764
2767
|
cleanFormat: 'Clear Format',
|
|
2765
2768
|
checkItem: 'Todo Item',
|
|
2766
|
-
checkItemDesc: 'Insert todo item'
|
|
2769
|
+
checkItemDesc: 'Insert todo item',
|
|
2770
|
+
more: 'More',
|
|
2771
|
+
fontSize: 'Font Size'
|
|
2767
2772
|
}
|
|
2768
2773
|
};
|
|
2769
2774
|
|
|
@@ -2862,7 +2867,9 @@ var jaJpLocale = {
|
|
|
2862
2867
|
paintFormat: '書式のコピー',
|
|
2863
2868
|
cleanFormat: '書式をクリア',
|
|
2864
2869
|
checkItem: 'タスク',
|
|
2865
|
-
checkItemDesc: 'タスクを挿入'
|
|
2870
|
+
checkItemDesc: 'タスクを挿入',
|
|
2871
|
+
more: 'もっと見る',
|
|
2872
|
+
fontSize: 'フォントサイズ'
|
|
2866
2873
|
}
|
|
2867
2874
|
};
|
|
2868
2875
|
|
|
@@ -2961,7 +2968,9 @@ var deDeLocale = {
|
|
|
2961
2968
|
paintFormat: 'Format übertragen',
|
|
2962
2969
|
cleanFormat: 'Format löschen',
|
|
2963
2970
|
checkItem: 'Aufgabe',
|
|
2964
|
-
checkItemDesc: 'Aufgabe einfügen'
|
|
2971
|
+
checkItemDesc: 'Aufgabe einfügen',
|
|
2972
|
+
more: 'Mehr',
|
|
2973
|
+
fontSize: 'Schriftgröße'
|
|
2965
2974
|
}
|
|
2966
2975
|
};
|
|
2967
2976
|
|
|
@@ -3060,7 +3069,9 @@ var ruRuLocale = {
|
|
|
3060
3069
|
paintFormat: 'Формат по образцу',
|
|
3061
3070
|
cleanFormat: 'Очистить формат',
|
|
3062
3071
|
checkItem: 'Задача',
|
|
3063
|
-
checkItemDesc: 'Вставить задачу'
|
|
3072
|
+
checkItemDesc: 'Вставить задачу',
|
|
3073
|
+
more: 'Еще',
|
|
3074
|
+
fontSize: 'Размер шрифта'
|
|
3064
3075
|
}
|
|
3065
3076
|
};
|
|
3066
3077
|
|
|
@@ -3077,9 +3088,9 @@ class TheBaseToolbarItem {
|
|
|
3077
3088
|
get activeState() {
|
|
3078
3089
|
return this.active;
|
|
3079
3090
|
}
|
|
3080
|
-
constructor(
|
|
3091
|
+
constructor() {
|
|
3081
3092
|
this.class = true;
|
|
3082
|
-
this.locale =
|
|
3093
|
+
this.locale = injectTranslations(inject(TheI18nService));
|
|
3083
3094
|
}
|
|
3084
3095
|
execute(event) {
|
|
3085
3096
|
event.preventDefault();
|
|
@@ -3100,12 +3111,12 @@ class TheBaseToolbarItem {
|
|
|
3100
3111
|
this.active = false;
|
|
3101
3112
|
}
|
|
3102
3113
|
}
|
|
3103
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TheBaseToolbarItem, deps: [
|
|
3114
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TheBaseToolbarItem, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
3104
3115
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", 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 }); }
|
|
3105
3116
|
}
|
|
3106
3117
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TheBaseToolbarItem, decorators: [{
|
|
3107
3118
|
type: Directive
|
|
3108
|
-
}], ctorParameters: () => [
|
|
3119
|
+
}], ctorParameters: () => [], propDecorators: { toolbarItem: [{
|
|
3109
3120
|
type: Input
|
|
3110
3121
|
}], editor: [{
|
|
3111
3122
|
type: Input
|
|
@@ -3126,8 +3137,8 @@ class TheBaseToolbarDropdown extends TheBaseToolbarItem {
|
|
|
3126
3137
|
const activeItem = this.dropdownItemKey && this.menus.find(item => item.key === this.dropdownItemKey);
|
|
3127
3138
|
return activeItem ? activeItem : this.menus[0];
|
|
3128
3139
|
}
|
|
3129
|
-
constructor(
|
|
3130
|
-
super(
|
|
3140
|
+
constructor() {
|
|
3141
|
+
super();
|
|
3131
3142
|
this.mode = DropdownMode.text;
|
|
3132
3143
|
}
|
|
3133
3144
|
selectionChange(editor) {
|
|
@@ -3141,12 +3152,12 @@ class TheBaseToolbarDropdown extends TheBaseToolbarItem {
|
|
|
3141
3152
|
this.activeMenuItem = activeItem ? activeItem : this.defaultDropdownItem;
|
|
3142
3153
|
}
|
|
3143
3154
|
}
|
|
3144
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TheBaseToolbarDropdown, deps: [
|
|
3155
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TheBaseToolbarDropdown, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
3145
3156
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: TheBaseToolbarDropdown, inputs: { menus: "menus", mode: "mode", dropdownItemKey: "dropdownItemKey" }, usesInheritance: true, ngImport: i0 }); }
|
|
3146
3157
|
}
|
|
3147
3158
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TheBaseToolbarDropdown, decorators: [{
|
|
3148
3159
|
type: Directive
|
|
3149
|
-
}], ctorParameters: () => [
|
|
3160
|
+
}], ctorParameters: () => [], propDecorators: { menus: [{
|
|
3150
3161
|
type: Input
|
|
3151
3162
|
}], mode: [{
|
|
3152
3163
|
type: Input
|
|
@@ -3360,8 +3371,8 @@ class TheToolbarDropdown extends TheBaseToolbarDropdown {
|
|
|
3360
3371
|
get activeDropdown() {
|
|
3361
3372
|
return this.toolbarItem.dropdownFixedIcon && !!this.activeKeys.length;
|
|
3362
3373
|
}
|
|
3363
|
-
constructor(elementRef, thyPopover, viewContainerRef, overlay
|
|
3364
|
-
super(
|
|
3374
|
+
constructor(elementRef, thyPopover, viewContainerRef, overlay) {
|
|
3375
|
+
super();
|
|
3365
3376
|
this.elementRef = elementRef;
|
|
3366
3377
|
this.thyPopover = thyPopover;
|
|
3367
3378
|
this.viewContainerRef = viewContainerRef;
|
|
@@ -3442,8 +3453,8 @@ class TheToolbarDropdown extends TheBaseToolbarDropdown {
|
|
|
3442
3453
|
this.dropdownPopoverRef?.close();
|
|
3443
3454
|
}
|
|
3444
3455
|
}
|
|
3445
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TheToolbarDropdown, deps: [{ token: i0.ElementRef }, { token: i1.ThyPopover }, { token: i0.ViewContainerRef }, { token: i2.Overlay }
|
|
3446
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", 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\">{{
|
|
3456
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TheToolbarDropdown, deps: [{ token: i0.ElementRef }, { token: i1.ThyPopover }, { token: i0.ViewContainerRef }, { token: i2.Overlay }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3457
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", 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"] }] }); }
|
|
3447
3458
|
}
|
|
3448
3459
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TheToolbarDropdown, decorators: [{
|
|
3449
3460
|
type: Component,
|
|
@@ -3458,8 +3469,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
3458
3469
|
ThyDropdownMenuItemNameDirective,
|
|
3459
3470
|
ThyDropdownMenuItemIconDirective,
|
|
3460
3471
|
ThyDropdownMenuItemActiveDirective
|
|
3461
|
-
], 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\">{{
|
|
3462
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.ThyPopover }, { type: i0.ViewContainerRef }, { type: i2.Overlay }
|
|
3472
|
+
], 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" }]
|
|
3473
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.ThyPopover }, { type: i0.ViewContainerRef }, { type: i2.Overlay }], propDecorators: { className: [{
|
|
3463
3474
|
type: HostBinding,
|
|
3464
3475
|
args: ['class']
|
|
3465
3476
|
}], iconModeTemplate: [{
|
|
@@ -3477,8 +3488,8 @@ class TheToolbarItem extends TheBaseToolbarItem {
|
|
|
3477
3488
|
toggleDropdown(event) {
|
|
3478
3489
|
super.execute(event);
|
|
3479
3490
|
}
|
|
3480
|
-
constructor(
|
|
3481
|
-
super(
|
|
3491
|
+
constructor() {
|
|
3492
|
+
super();
|
|
3482
3493
|
this.className = 'the-toolbar-item';
|
|
3483
3494
|
}
|
|
3484
3495
|
ngOnInit() { }
|
|
@@ -3496,7 +3507,7 @@ class TheToolbarItem extends TheBaseToolbarItem {
|
|
|
3496
3507
|
}
|
|
3497
3508
|
this.toolbarItem?.execute(this.editor);
|
|
3498
3509
|
}
|
|
3499
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TheToolbarItem, deps: [
|
|
3510
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TheToolbarItem, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3500
3511
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TheToolbarItem, isStandalone: true, selector: "the-toolbar-item", host: { listeners: { "mousedown": "toggleDropdown($event)" }, properties: { "class": "this.className" } }, usesInheritance: true, ngImport: i0, template: `
|
|
3501
3512
|
<a
|
|
3502
3513
|
href="javascript:;"
|
|
@@ -3505,7 +3516,7 @@ class TheToolbarItem extends TheBaseToolbarItem {
|
|
|
3505
3516
|
[thyActionActive]="active"
|
|
3506
3517
|
[thyTooltip]="tooltip"
|
|
3507
3518
|
[thyTooltipTemplateContext]="{
|
|
3508
|
-
name:
|
|
3519
|
+
name: toolbarItem.name,
|
|
3509
3520
|
shortcutKey: toolbarItem.shortcutKey
|
|
3510
3521
|
}"
|
|
3511
3522
|
thyTooltipPlacement="top"
|
|
@@ -3527,7 +3538,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
3527
3538
|
[thyActionActive]="active"
|
|
3528
3539
|
[thyTooltip]="tooltip"
|
|
3529
3540
|
[thyTooltipTemplateContext]="{
|
|
3530
|
-
name:
|
|
3541
|
+
name: toolbarItem.name,
|
|
3531
3542
|
shortcutKey: toolbarItem.shortcutKey
|
|
3532
3543
|
}"
|
|
3533
3544
|
thyTooltipPlacement="top"
|
|
@@ -3539,7 +3550,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
3539
3550
|
standalone: true,
|
|
3540
3551
|
imports: [ThyAction, ThyTooltipDirective]
|
|
3541
3552
|
}]
|
|
3542
|
-
}], ctorParameters: () => [
|
|
3553
|
+
}], ctorParameters: () => [], propDecorators: { className: [{
|
|
3543
3554
|
type: HostBinding,
|
|
3544
3555
|
args: ['class']
|
|
3545
3556
|
}], toggleDropdown: [{
|
|
@@ -3893,11 +3904,11 @@ class TheToolbarGroup {
|
|
|
3893
3904
|
}
|
|
3894
3905
|
}
|
|
3895
3906
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TheToolbarGroup, deps: [{ token: i0.ElementRef }, { token: i1.ThyPopover }, { token: i0.ViewContainerRef }, { token: TheI18nService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3896
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", 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]=\"
|
|
3907
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", 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"] }] }); }
|
|
3897
3908
|
}
|
|
3898
3909
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TheToolbarGroup, decorators: [{
|
|
3899
3910
|
type: Component,
|
|
3900
|
-
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]=\"
|
|
3911
|
+
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" }]
|
|
3901
3912
|
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.ThyPopover }, { type: i0.ViewContainerRef }, { type: TheI18nService }], propDecorators: { className: [{
|
|
3902
3913
|
type: HostBinding,
|
|
3903
3914
|
args: ['class']
|
|
@@ -6109,7 +6120,7 @@ const TableEditor = {
|
|
|
6109
6120
|
},
|
|
6110
6121
|
getSelectedCells(editor, location) {
|
|
6111
6122
|
const tableNode = getAboveByType(editor, ElementKinds.table, {
|
|
6112
|
-
at: location || editor.selection
|
|
6123
|
+
at: location || editor.selection?.anchor
|
|
6113
6124
|
});
|
|
6114
6125
|
if (tableNode) {
|
|
6115
6126
|
const tableComponent = ELEMENT_TO_COMPONENT.get(tableNode[0]);
|
|
@@ -7400,12 +7411,18 @@ class TheVerticalToolbarItem extends TheBaseToolbarDropdown {
|
|
|
7400
7411
|
this.close();
|
|
7401
7412
|
}
|
|
7402
7413
|
}
|
|
7403
|
-
constructor(elementRef, thyPopover, viewContainerRef
|
|
7404
|
-
super(
|
|
7414
|
+
constructor(elementRef, thyPopover, viewContainerRef) {
|
|
7415
|
+
super();
|
|
7405
7416
|
this.elementRef = elementRef;
|
|
7406
7417
|
this.thyPopover = thyPopover;
|
|
7407
7418
|
this.viewContainerRef = viewContainerRef;
|
|
7408
7419
|
}
|
|
7420
|
+
ngOnInit() {
|
|
7421
|
+
if (!this.activeMenuItem) {
|
|
7422
|
+
this.activeMenuItem = this.defaultDropdownItem;
|
|
7423
|
+
}
|
|
7424
|
+
this.disabled = this.toolbarItem?.disable ? this.toolbarItem?.disable(this.editor) : false;
|
|
7425
|
+
}
|
|
7409
7426
|
menusActive(editor) {
|
|
7410
7427
|
return this.menus.find(i => {
|
|
7411
7428
|
if (this.editor?.selection && i?.active) {
|
|
@@ -7445,8 +7462,8 @@ class TheVerticalToolbarItem extends TheBaseToolbarDropdown {
|
|
|
7445
7462
|
this.dropdownPopoverRef.close();
|
|
7446
7463
|
}
|
|
7447
7464
|
}
|
|
7448
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TheVerticalToolbarItem, deps: [{ token: i0.ElementRef }, { token: i1.ThyPopover }, { token: i0.ViewContainerRef }
|
|
7449
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", 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]=\"
|
|
7465
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TheVerticalToolbarItem, deps: [{ token: i0.ElementRef }, { token: i1.ThyPopover }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
7466
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", 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"] }] }); }
|
|
7450
7467
|
}
|
|
7451
7468
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TheVerticalToolbarItem, decorators: [{
|
|
7452
7469
|
type: Component,
|
|
@@ -7462,8 +7479,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
7462
7479
|
ThyDropdownMenuItemIconDirective,
|
|
7463
7480
|
ThyDropdownMenuItemNameDirective,
|
|
7464
7481
|
ThyDropdownMenuItemActiveDirective
|
|
7465
|
-
], template: "<a\n href=\"javascript:;\"\n class=\"icon-mode link-with-down\"\n thyAction\n [thyActionIcon]=\"activeMenuItem?.icon\"\n [thyActionActive]=\"isOpened\"\n [thyTooltip]=\"
|
|
7466
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.ThyPopover }, { type: i0.ViewContainerRef }
|
|
7482
|
+
], 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" }]
|
|
7483
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.ThyPopover }, { type: i0.ViewContainerRef }], propDecorators: { template: [{
|
|
7467
7484
|
type: ViewChild,
|
|
7468
7485
|
args: ['VerticalAlignItems', { read: TemplateRef, static: true }]
|
|
7469
7486
|
}], handleDocumentMouseDown: [{
|
|
@@ -7485,45 +7502,45 @@ const VerticalAlignEditor = {
|
|
|
7485
7502
|
}
|
|
7486
7503
|
}
|
|
7487
7504
|
};
|
|
7488
|
-
const createVerticalAlignPlugin = createPluginFactory({
|
|
7505
|
+
const createVerticalAlignPlugin = (locale) => createPluginFactory({
|
|
7489
7506
|
key: PluginKeys.verticalAlign,
|
|
7490
7507
|
toolbarItems: [
|
|
7491
7508
|
{
|
|
7492
7509
|
key: ToolbarActionTypes.verticalAlign,
|
|
7493
|
-
name:
|
|
7494
|
-
translateKey: 'verticalAlign',
|
|
7510
|
+
name: locale().verticalAlign,
|
|
7495
7511
|
type: ToolbarItemType.dropdown,
|
|
7496
7512
|
dropdownMode: DropdownMode.icon,
|
|
7497
7513
|
iconComponent: TheVerticalToolbarItem,
|
|
7498
|
-
includes: [
|
|
7514
|
+
includes: [
|
|
7515
|
+
ToolbarActionTypes.verticalAlignTop,
|
|
7516
|
+
ToolbarActionTypes.verticalAlignMiddle,
|
|
7517
|
+
ToolbarActionTypes.verticalAlignBottom
|
|
7518
|
+
],
|
|
7499
7519
|
disable: editor => !TableEditor.isActive(editor)
|
|
7500
7520
|
},
|
|
7501
7521
|
{
|
|
7502
7522
|
key: ToolbarActionTypes.verticalAlignTop,
|
|
7503
7523
|
icon: 'align-top',
|
|
7504
|
-
name:
|
|
7505
|
-
translateKey: 'verticalAlignTop',
|
|
7524
|
+
name: locale().verticalAlignTop,
|
|
7506
7525
|
execute: editor => VerticalAlignEditor.setVerticalAlign(editor, VerticalAlignment.top),
|
|
7507
7526
|
active: editor => VerticalAlignEditor.isVerticalActive(editor, VerticalAlignment.top)
|
|
7508
7527
|
},
|
|
7509
7528
|
{
|
|
7510
7529
|
key: ToolbarActionTypes.verticalAlignMiddle,
|
|
7511
7530
|
icon: 'align-middle',
|
|
7512
|
-
name:
|
|
7513
|
-
translateKey: 'verticalAlignMiddle',
|
|
7531
|
+
name: locale().verticalAlignMiddle,
|
|
7514
7532
|
execute: editor => VerticalAlignEditor.setVerticalAlign(editor, VerticalAlignment.middle),
|
|
7515
7533
|
active: editor => VerticalAlignEditor.isVerticalActive(editor, VerticalAlignment.middle)
|
|
7516
7534
|
},
|
|
7517
7535
|
{
|
|
7518
7536
|
key: ToolbarActionTypes.verticalAlignBottom,
|
|
7519
7537
|
icon: 'align-bottom',
|
|
7520
|
-
name:
|
|
7521
|
-
translateKey: 'verticalAlignBottom',
|
|
7538
|
+
name: locale().verticalAlignBottom,
|
|
7522
7539
|
execute: editor => VerticalAlignEditor.setVerticalAlign(editor, VerticalAlignment.bottom),
|
|
7523
7540
|
active: editor => VerticalAlignEditor.isVerticalActive(editor, VerticalAlignment.bottom)
|
|
7524
7541
|
}
|
|
7525
7542
|
]
|
|
7526
|
-
});
|
|
7543
|
+
})();
|
|
7527
7544
|
|
|
7528
7545
|
const InlineCodeEditor = {
|
|
7529
7546
|
toggleInlineCode(editor, text) {
|
|
@@ -7735,7 +7752,7 @@ class ThePluginMenuComponent {
|
|
|
7735
7752
|
this.theDisplaySearch = false;
|
|
7736
7753
|
this.autoActiveFirstItem = true;
|
|
7737
7754
|
this.containerClassName = `the-plugin-menu-container`;
|
|
7738
|
-
this.locale = injectTranslations();
|
|
7755
|
+
this.locale = injectTranslations(inject(TheI18nService));
|
|
7739
7756
|
this.listBox = viewChild(TheListboxDirective);
|
|
7740
7757
|
this.listBoxAutoActiveFirstItem = true;
|
|
7741
7758
|
this.groupMenu = [];
|
|
@@ -7806,7 +7823,7 @@ class ThePluginMenuComponent {
|
|
|
7806
7823
|
}
|
|
7807
7824
|
}
|
|
7808
7825
|
initializePluginMenu() {
|
|
7809
|
-
const currentMenu = this.thePluginMenu ||
|
|
7826
|
+
const currentMenu = this.thePluginMenu || getTheDefaultPluginMenu(this.locale);
|
|
7810
7827
|
const menuItemsMap = buildPluginMenuItemMap(this.editor);
|
|
7811
7828
|
this._pluginMenu = buildPluginMenu(menuItemsMap, currentMenu);
|
|
7812
7829
|
}
|
|
@@ -7929,7 +7946,7 @@ class ThePluginMenuComponent {
|
|
|
7929
7946
|
return item?.key ?? index;
|
|
7930
7947
|
}
|
|
7931
7948
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThePluginMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
7932
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", 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: "listBox", first: true, predicate: TheListboxDirective, descendants: true, isSignal: true }, { propertyName: "dropdownTriggers", predicate: ["dropdownTriggers"], descendants: true, read: ThyDropdownDirective }], ngImport: i0, template: "@if (theDisplaySearch) {\n <div class=\"menu-search px-5 pt-5 pb-2\">\n <thy-input-search\n [placeholder]=\"locale().search\"\n thyIconPosition=\"after\"\n [(ngModel)]=\"keyWords\"\n (ngModelChange)=\"updateKeywords(keyWords)\"\n >\n </thy-input-search>\n </div>\n}\n\n@if (groupMenu.length > 0) {\n <div\n class=\"thy-dropdown-menu the-plugin-menu-scroll-container pb-2 pt-0\"\n theListBox\n [keyboardContainer]=\"keyboardContainer\"\n [autoActiveFirstItem]=\"listBoxAutoActiveFirstItem\"\n (theListboxChange)=\"listBoxChange($event)\"\n >\n <ng-container *ngIf=\"iconMenu?.length > 0\">\n <div theListboxGroup [horizontalColumn]=\"6\" class=\"icon-menu d-flex pl-5 py-1\">\n @for (item of iconMenu; track trackByFn) {\n @if (item.type === ThePluginMenuItemType.icon) {\n <a\n href=\"javascript:;\"\n class=\"mt-2\"\n thyAction\n theListboxOption\n thePreventDefault\n [theOptionValue]=\"item\"\n [thyActionIcon]=\"item.icon\"\n [thyTooltip]=\"locale()[item.translateKey] ?? item?.name\"\n [thyDisabled]=\"item.disabled\"\n [theOptionDisabled]=\"item.disabled\"\n (mouseenter)=\"listBoxOptionMouseenter($event, item)\"\n (mouseleave)=\"listBoxOptionMouseleave($event, item)\"\n (click)=\"handleItemSelection(item)\"\n ></a>\n }\n }\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 class=\"py-0\"\n thyDropdownMenuItem\n theListboxOption\n thePreventDefault\n [theOptionValue]=\"item\"\n [thyDisabled]=\"item.disabled\"\n [theOptionDisabled]=\"item.disabled\"\n (mouseenter)=\"listBoxOptionMouseenter($event, item)\"\n (mouseleave)=\"listBoxOptionMouseleave($event, item)\"\n (click)=\"handleItemSelection(item)\"\n >\n @if (item?.menuIcon) {\n <div class=\"menu-icon mr-2\">\n <thy-icon [thyIconName]=\"item.menuIcon | getMenuIcon: sceneKey\"></thy-icon>\n </div>\n }\n <div class=\"menu-content d-flex align-items-center\">\n <div class=\"menu-item-title w-100\">\n {{ locale()[item.translateKey] ?? 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 class=\"py-0\"\n thyTrigger=\"hover\"\n thyDropdownMenuItem\n theListboxOption\n thePreventDefault\n [theOptionValue]=\"item\"\n [thyDisabled]=\"item.disabled\"\n [theOptionDisabled]=\"item.disabled\"\n [thyDropdown]=\"expand\"\n [thyPopoverOptions]=\"expandPopoverOptions\"\n [thyPanelClass]=\"subPanelClass\"\n (click)=\"handleItemSelection(item)\"\n >\n @if (item?.menuIcon) {\n <div class=\"menu-icon mr-2\">\n <thy-icon [thyIconName]=\"item.menuIcon | getMenuIcon: sceneKey\"></thy-icon>\n </div>\n }\n <div class=\"menu-content d-flex align-items-center\">\n <div class=\"menu-item-title w-100\">\n {{ locale()[item.translateKey] ?? item.name }}\n </div>\n </div>\n @if (item.children?.length > 0) {\n <div>\n <thy-icon class=\"text-muted\" thyIconName=\"angle-right\"></thy-icon>\n </div>\n }\n <thy-dropdown-menu #expand>\n <div class=\"the-plugin-menu-container expand-menu\" theListboxGroup>\n @for (child of item.children; track trackByFn) {\n @if (child.type === ThePluginMenuItemType.group) {\n <div\n class=\"py-0\"\n thyDropdownMenuItem\n theListboxOption\n thePreventDefault\n [theOptionDisabled]=\"item.disabled\"\n [thyDisabled]=\"child.disabled\"\n [theOptionValue]=\"child\"\n (mouseenter)=\"listBoxOptionMouseenter($event, child)\"\n (mouseleave)=\"listBoxOptionMouseleave($event, child)\"\n (click)=\"handleItemSelection(child)\"\n >\n @if (child?.menuIcon) {\n <div class=\"menu-icon mr-2\">\n <thy-icon [thyIconName]=\"child.menuIcon | getMenuIcon: sceneKey\"></thy-icon>\n </div>\n }\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 } @else if (child === 'divider') {\n <thy-divider class=\"my-2\"></thy-divider>\n }\n }\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 class=\"py-0\"\n thyPlacement=\"rightTop\"\n thyTrigger=\"hover\"\n thyDropdownMenuItem\n theListboxOption\n thePreventDefault\n [theOptionValue]=\"item\"\n [theOptionDisabled]=\"item.disabled\"\n [thyDisabled]=\"item.disabled\"\n [thyPopover]=\"tableSelect\"\n [thyConfig]=\"tableSelectPopoverConfig\"\n (mouseenter)=\"listBoxOptionMouseenter($event, item)\"\n (mouseleave)=\"listBoxOptionMouseleave($event, item)\"\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 {{ locale()[item.translateKey] ?? 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]=\"removeBlock\"\n ></table-select>\n </ng-template>\n </div>\n </ng-container>\n\n @if (!item.isMenuItem) {\n <thy-dropdown-menu-group\n class=\"font-size-sm\"\n [thyTitle]=\"locale()[item.translateKey] ?? item.groupName\"\n ></thy-dropdown-menu-group>\n }\n </ng-container>\n </div>\n </div>\n} @else {\n <div class=\"empty d-flex align-items-center justify-content-center\">\n <thy-empty [thyMessage]=\"thyMessage\"></thy-empty>\n </div>\n}\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: i2$2.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"] }] }); }
|
|
7949
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", 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: "listBox", first: true, predicate: TheListboxDirective, descendants: true, isSignal: true }, { propertyName: "dropdownTriggers", predicate: ["dropdownTriggers"], descendants: true, read: ThyDropdownDirective }], ngImport: i0, template: "@if (theDisplaySearch) {\n <div class=\"menu-search px-5 pt-5 pb-2\">\n <thy-input-search\n [placeholder]=\"locale().search\"\n thyIconPosition=\"after\"\n [(ngModel)]=\"keyWords\"\n (ngModelChange)=\"updateKeywords(keyWords)\"\n >\n </thy-input-search>\n </div>\n}\n\n@if (groupMenu.length > 0) {\n <div\n class=\"thy-dropdown-menu the-plugin-menu-scroll-container pb-2 pt-0\"\n theListBox\n [keyboardContainer]=\"keyboardContainer\"\n [autoActiveFirstItem]=\"listBoxAutoActiveFirstItem\"\n (theListboxChange)=\"listBoxChange($event)\"\n >\n <ng-container *ngIf=\"iconMenu?.length > 0\">\n <div theListboxGroup [horizontalColumn]=\"6\" class=\"icon-menu d-flex pl-5 py-1\">\n @for (item of iconMenu; track trackByFn) {\n @if (item.type === ThePluginMenuItemType.icon) {\n <a\n href=\"javascript:;\"\n class=\"mt-2\"\n thyAction\n theListboxOption\n thePreventDefault\n [theOptionValue]=\"item\"\n [thyActionIcon]=\"item.icon\"\n [thyTooltip]=\"item?.name\"\n [thyDisabled]=\"item.disabled\"\n [theOptionDisabled]=\"item.disabled\"\n (mouseenter)=\"listBoxOptionMouseenter($event, item)\"\n (mouseleave)=\"listBoxOptionMouseleave($event, item)\"\n (click)=\"handleItemSelection(item)\"\n ></a>\n }\n }\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 class=\"py-0\"\n thyDropdownMenuItem\n theListboxOption\n thePreventDefault\n [theOptionValue]=\"item\"\n [thyDisabled]=\"item.disabled\"\n [theOptionDisabled]=\"item.disabled\"\n (mouseenter)=\"listBoxOptionMouseenter($event, item)\"\n (mouseleave)=\"listBoxOptionMouseleave($event, item)\"\n (click)=\"handleItemSelection(item)\"\n >\n @if (item?.menuIcon) {\n <div class=\"menu-icon mr-2\">\n <thy-icon [thyIconName]=\"item.menuIcon | getMenuIcon: sceneKey\"></thy-icon>\n </div>\n }\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 class=\"py-0\"\n thyTrigger=\"hover\"\n thyDropdownMenuItem\n theListboxOption\n thePreventDefault\n [theOptionValue]=\"item\"\n [thyDisabled]=\"item.disabled\"\n [theOptionDisabled]=\"item.disabled\"\n [thyDropdown]=\"expand\"\n [thyPopoverOptions]=\"expandPopoverOptions\"\n [thyPanelClass]=\"subPanelClass\"\n (click)=\"handleItemSelection(item)\"\n >\n @if (item?.menuIcon) {\n <div class=\"menu-icon mr-2\">\n <thy-icon [thyIconName]=\"item.menuIcon | getMenuIcon: sceneKey\"></thy-icon>\n </div>\n }\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 @if (item.children?.length > 0) {\n <div>\n <thy-icon class=\"text-muted\" thyIconName=\"angle-right\"></thy-icon>\n </div>\n }\n <thy-dropdown-menu #expand>\n <div class=\"the-plugin-menu-container expand-menu\" theListboxGroup>\n @for (child of item.children; track trackByFn) {\n @if (child.type === ThePluginMenuItemType.group) {\n <div\n class=\"py-0\"\n thyDropdownMenuItem\n theListboxOption\n thePreventDefault\n [theOptionDisabled]=\"item.disabled\"\n [thyDisabled]=\"child.disabled\"\n [theOptionValue]=\"child\"\n (mouseenter)=\"listBoxOptionMouseenter($event, child)\"\n (mouseleave)=\"listBoxOptionMouseleave($event, child)\"\n (click)=\"handleItemSelection(child)\"\n >\n @if (child?.menuIcon) {\n <div class=\"menu-icon mr-2\">\n <thy-icon [thyIconName]=\"child.menuIcon | getMenuIcon: sceneKey\"></thy-icon>\n </div>\n }\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 } @else if (child === 'divider') {\n <thy-divider class=\"my-2\"></thy-divider>\n }\n }\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 class=\"py-0\"\n thyPlacement=\"rightTop\"\n thyTrigger=\"hover\"\n thyDropdownMenuItem\n theListboxOption\n thePreventDefault\n [theOptionValue]=\"item\"\n [theOptionDisabled]=\"item.disabled\"\n [thyDisabled]=\"item.disabled\"\n [thyPopover]=\"tableSelect\"\n [thyConfig]=\"tableSelectPopoverConfig\"\n (mouseenter)=\"listBoxOptionMouseenter($event, item)\"\n (mouseleave)=\"listBoxOptionMouseleave($event, item)\"\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]=\"removeBlock\"\n ></table-select>\n </ng-template>\n </div>\n </ng-container>\n\n @if (!item.isMenuItem) {\n <thy-dropdown-menu-group class=\"font-size-sm\" [thyTitle]=\"item.groupName\"></thy-dropdown-menu-group>\n }\n </ng-container>\n </div>\n </div>\n} @else {\n <div class=\"empty d-flex align-items-center justify-content-center\">\n <thy-empty [thyMessage]=\"thyMessage\"></thy-empty>\n </div>\n}\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: i2$2.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"] }] }); }
|
|
7933
7950
|
}
|
|
7934
7951
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ThePluginMenuComponent, decorators: [{
|
|
7935
7952
|
type: Component,
|
|
@@ -7954,7 +7971,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
7954
7971
|
TheListboxOptionDirective,
|
|
7955
7972
|
ThePreventDefaultDirective,
|
|
7956
7973
|
ThyDropdownMenuItemDirective
|
|
7957
|
-
], template: "@if (theDisplaySearch) {\n <div class=\"menu-search px-5 pt-5 pb-2\">\n <thy-input-search\n [placeholder]=\"locale().search\"\n thyIconPosition=\"after\"\n [(ngModel)]=\"keyWords\"\n (ngModelChange)=\"updateKeywords(keyWords)\"\n >\n </thy-input-search>\n </div>\n}\n\n@if (groupMenu.length > 0) {\n <div\n class=\"thy-dropdown-menu the-plugin-menu-scroll-container pb-2 pt-0\"\n theListBox\n [keyboardContainer]=\"keyboardContainer\"\n [autoActiveFirstItem]=\"listBoxAutoActiveFirstItem\"\n (theListboxChange)=\"listBoxChange($event)\"\n >\n <ng-container *ngIf=\"iconMenu?.length > 0\">\n <div theListboxGroup [horizontalColumn]=\"6\" class=\"icon-menu d-flex pl-5 py-1\">\n @for (item of iconMenu; track trackByFn) {\n @if (item.type === ThePluginMenuItemType.icon) {\n <a\n href=\"javascript:;\"\n class=\"mt-2\"\n thyAction\n theListboxOption\n thePreventDefault\n [theOptionValue]=\"item\"\n [thyActionIcon]=\"item.icon\"\n [thyTooltip]=\"
|
|
7974
|
+
], template: "@if (theDisplaySearch) {\n <div class=\"menu-search px-5 pt-5 pb-2\">\n <thy-input-search\n [placeholder]=\"locale().search\"\n thyIconPosition=\"after\"\n [(ngModel)]=\"keyWords\"\n (ngModelChange)=\"updateKeywords(keyWords)\"\n >\n </thy-input-search>\n </div>\n}\n\n@if (groupMenu.length > 0) {\n <div\n class=\"thy-dropdown-menu the-plugin-menu-scroll-container pb-2 pt-0\"\n theListBox\n [keyboardContainer]=\"keyboardContainer\"\n [autoActiveFirstItem]=\"listBoxAutoActiveFirstItem\"\n (theListboxChange)=\"listBoxChange($event)\"\n >\n <ng-container *ngIf=\"iconMenu?.length > 0\">\n <div theListboxGroup [horizontalColumn]=\"6\" class=\"icon-menu d-flex pl-5 py-1\">\n @for (item of iconMenu; track trackByFn) {\n @if (item.type === ThePluginMenuItemType.icon) {\n <a\n href=\"javascript:;\"\n class=\"mt-2\"\n thyAction\n theListboxOption\n thePreventDefault\n [theOptionValue]=\"item\"\n [thyActionIcon]=\"item.icon\"\n [thyTooltip]=\"item?.name\"\n [thyDisabled]=\"item.disabled\"\n [theOptionDisabled]=\"item.disabled\"\n (mouseenter)=\"listBoxOptionMouseenter($event, item)\"\n (mouseleave)=\"listBoxOptionMouseleave($event, item)\"\n (click)=\"handleItemSelection(item)\"\n ></a>\n }\n }\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 class=\"py-0\"\n thyDropdownMenuItem\n theListboxOption\n thePreventDefault\n [theOptionValue]=\"item\"\n [thyDisabled]=\"item.disabled\"\n [theOptionDisabled]=\"item.disabled\"\n (mouseenter)=\"listBoxOptionMouseenter($event, item)\"\n (mouseleave)=\"listBoxOptionMouseleave($event, item)\"\n (click)=\"handleItemSelection(item)\"\n >\n @if (item?.menuIcon) {\n <div class=\"menu-icon mr-2\">\n <thy-icon [thyIconName]=\"item.menuIcon | getMenuIcon: sceneKey\"></thy-icon>\n </div>\n }\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 class=\"py-0\"\n thyTrigger=\"hover\"\n thyDropdownMenuItem\n theListboxOption\n thePreventDefault\n [theOptionValue]=\"item\"\n [thyDisabled]=\"item.disabled\"\n [theOptionDisabled]=\"item.disabled\"\n [thyDropdown]=\"expand\"\n [thyPopoverOptions]=\"expandPopoverOptions\"\n [thyPanelClass]=\"subPanelClass\"\n (click)=\"handleItemSelection(item)\"\n >\n @if (item?.menuIcon) {\n <div class=\"menu-icon mr-2\">\n <thy-icon [thyIconName]=\"item.menuIcon | getMenuIcon: sceneKey\"></thy-icon>\n </div>\n }\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 @if (item.children?.length > 0) {\n <div>\n <thy-icon class=\"text-muted\" thyIconName=\"angle-right\"></thy-icon>\n </div>\n }\n <thy-dropdown-menu #expand>\n <div class=\"the-plugin-menu-container expand-menu\" theListboxGroup>\n @for (child of item.children; track trackByFn) {\n @if (child.type === ThePluginMenuItemType.group) {\n <div\n class=\"py-0\"\n thyDropdownMenuItem\n theListboxOption\n thePreventDefault\n [theOptionDisabled]=\"item.disabled\"\n [thyDisabled]=\"child.disabled\"\n [theOptionValue]=\"child\"\n (mouseenter)=\"listBoxOptionMouseenter($event, child)\"\n (mouseleave)=\"listBoxOptionMouseleave($event, child)\"\n (click)=\"handleItemSelection(child)\"\n >\n @if (child?.menuIcon) {\n <div class=\"menu-icon mr-2\">\n <thy-icon [thyIconName]=\"child.menuIcon | getMenuIcon: sceneKey\"></thy-icon>\n </div>\n }\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 } @else if (child === 'divider') {\n <thy-divider class=\"my-2\"></thy-divider>\n }\n }\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 class=\"py-0\"\n thyPlacement=\"rightTop\"\n thyTrigger=\"hover\"\n thyDropdownMenuItem\n theListboxOption\n thePreventDefault\n [theOptionValue]=\"item\"\n [theOptionDisabled]=\"item.disabled\"\n [thyDisabled]=\"item.disabled\"\n [thyPopover]=\"tableSelect\"\n [thyConfig]=\"tableSelectPopoverConfig\"\n (mouseenter)=\"listBoxOptionMouseenter($event, item)\"\n (mouseleave)=\"listBoxOptionMouseleave($event, item)\"\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]=\"removeBlock\"\n ></table-select>\n </ng-template>\n </div>\n </ng-container>\n\n @if (!item.isMenuItem) {\n <thy-dropdown-menu-group class=\"font-size-sm\" [thyTitle]=\"item.groupName\"></thy-dropdown-menu-group>\n }\n </ng-container>\n </div>\n </div>\n} @else {\n <div class=\"empty d-flex align-items-center justify-content-center\">\n <thy-empty [thyMessage]=\"thyMessage\"></thy-empty>\n </div>\n}\n" }]
|
|
7958
7975
|
}], propDecorators: { editor: [{
|
|
7959
7976
|
type: Input
|
|
7960
7977
|
}], theDisplaySearch: [{
|
|
@@ -8417,7 +8434,7 @@ const isMarkdownSyntax = content => {
|
|
|
8417
8434
|
|
|
8418
8435
|
class TheConversionHint {
|
|
8419
8436
|
constructor() {
|
|
8420
|
-
this.locale = injectTranslations();
|
|
8437
|
+
this.locale = injectTranslations(inject(TheI18nService));
|
|
8421
8438
|
this.duration = 10000;
|
|
8422
8439
|
this.pauseOnHover = true;
|
|
8423
8440
|
}
|
|
@@ -8937,7 +8954,7 @@ const withAlign = (editor) => {
|
|
|
8937
8954
|
};
|
|
8938
8955
|
return editor;
|
|
8939
8956
|
};
|
|
8940
|
-
const createAlignPlugin = createPluginFactory({
|
|
8957
|
+
const createAlignPlugin = (locale) => createPluginFactory({
|
|
8941
8958
|
key: PluginKeys.align,
|
|
8942
8959
|
withOverrides: withAlign,
|
|
8943
8960
|
toolbarItems: [
|
|
@@ -8947,31 +8964,27 @@ const createAlignPlugin = createPluginFactory({
|
|
|
8947
8964
|
dropdownMode: DropdownMode.icon,
|
|
8948
8965
|
dropdownItemKey: ToolbarActionTypes.alignLeft,
|
|
8949
8966
|
includes: [ToolbarActionTypes.alignLeft, ToolbarActionTypes.alignCenter, ToolbarActionTypes.alignRight],
|
|
8950
|
-
name:
|
|
8951
|
-
translateKey: 'alignment',
|
|
8967
|
+
name: locale().alignment,
|
|
8952
8968
|
disable: editor => AlignEditor.isDisabled(editor)
|
|
8953
8969
|
},
|
|
8954
8970
|
{
|
|
8955
8971
|
key: ToolbarActionTypes.alignLeft,
|
|
8956
8972
|
icon: 'align-left',
|
|
8957
|
-
name:
|
|
8958
|
-
translateKey: 'alignLeft',
|
|
8973
|
+
name: locale().alignLeft,
|
|
8959
8974
|
execute: editor => AlignEditor.setAlign(editor, Alignment.left),
|
|
8960
8975
|
active: editor => AlignEditor.isActive(editor, Alignment.left)
|
|
8961
8976
|
},
|
|
8962
8977
|
{
|
|
8963
8978
|
key: ToolbarActionTypes.alignCenter,
|
|
8964
8979
|
icon: 'align-center',
|
|
8965
|
-
name:
|
|
8966
|
-
translateKey: 'alignCenter',
|
|
8980
|
+
name: locale().alignCenter,
|
|
8967
8981
|
execute: editor => AlignEditor.setAlign(editor, Alignment.center),
|
|
8968
8982
|
active: editor => AlignEditor.isActive(editor, Alignment.center)
|
|
8969
8983
|
},
|
|
8970
8984
|
{
|
|
8971
8985
|
key: ToolbarActionTypes.alignRight,
|
|
8972
8986
|
icon: 'align-right',
|
|
8973
|
-
name:
|
|
8974
|
-
translateKey: 'alignRight',
|
|
8987
|
+
name: locale().alignRight,
|
|
8975
8988
|
execute: editor => AlignEditor.setAlign(editor, Alignment.right),
|
|
8976
8989
|
active: editor => AlignEditor.isActive(editor, Alignment.right)
|
|
8977
8990
|
}
|
|
@@ -8979,7 +8992,7 @@ const createAlignPlugin = createPluginFactory({
|
|
|
8979
8992
|
options: {
|
|
8980
8993
|
disabledOperateTypes: [...DISABLED_OPERATE_TYPES]
|
|
8981
8994
|
}
|
|
8982
|
-
});
|
|
8995
|
+
})();
|
|
8983
8996
|
|
|
8984
8997
|
const defaultAutoFormatRules = [
|
|
8985
8998
|
{
|
|
@@ -9387,15 +9400,14 @@ const withBlockquote = (editor) => {
|
|
|
9387
9400
|
};
|
|
9388
9401
|
return editor;
|
|
9389
9402
|
};
|
|
9390
|
-
const createBlockquotePlugin = createPluginFactory({
|
|
9403
|
+
const createBlockquotePlugin = (locale) => createPluginFactory({
|
|
9391
9404
|
key: PluginKeys.blockquote,
|
|
9392
9405
|
withOverrides: withBlockquote,
|
|
9393
9406
|
toolbarItems: [
|
|
9394
9407
|
{
|
|
9395
9408
|
key: ElementKinds.blockquote,
|
|
9396
9409
|
icon: 'blockquote',
|
|
9397
|
-
name:
|
|
9398
|
-
translateKey: 'blockquote',
|
|
9410
|
+
name: locale().blockquote,
|
|
9399
9411
|
active: editor => isBlockActive(editor, ElementKinds.blockquote),
|
|
9400
9412
|
execute: editor => BlockquoteEditor.toggleBlockquote(editor)
|
|
9401
9413
|
}
|
|
@@ -9404,13 +9416,11 @@ const createBlockquotePlugin = createPluginFactory({
|
|
|
9404
9416
|
{
|
|
9405
9417
|
key: ElementKinds.blockquote,
|
|
9406
9418
|
type: ThePluginMenuItemType.group,
|
|
9407
|
-
keywords:
|
|
9419
|
+
keywords: `yy,yinyong,quote,${locale().blockquote}`,
|
|
9408
9420
|
active: editor => isBlockActive(editor, ElementKinds.blockquote),
|
|
9409
9421
|
execute: editor => BlockquoteEditor.toggleBlockquote(editor),
|
|
9410
|
-
name:
|
|
9411
|
-
|
|
9412
|
-
description: '支持引用内容',
|
|
9413
|
-
descriptionTranslateKey: 'blockquoteDesc',
|
|
9422
|
+
name: locale().blockquote,
|
|
9423
|
+
description: locale().blockquoteDesc,
|
|
9414
9424
|
menuIcon: PluginMenuIcons.blockquote,
|
|
9415
9425
|
displayKey: '/yy'
|
|
9416
9426
|
}
|
|
@@ -9418,12 +9428,12 @@ const createBlockquotePlugin = createPluginFactory({
|
|
|
9418
9428
|
options: {
|
|
9419
9429
|
allowParentTypes: [ElementKinds.tableCell]
|
|
9420
9430
|
}
|
|
9421
|
-
});
|
|
9431
|
+
})();
|
|
9422
9432
|
|
|
9423
9433
|
class TheCode extends TheBaseElement {
|
|
9424
9434
|
constructor() {
|
|
9425
9435
|
super(...arguments);
|
|
9426
|
-
this.locale = injectTranslations();
|
|
9436
|
+
this.locale = injectTranslations(inject(TheI18nService));
|
|
9427
9437
|
this.startRenderCodemirror = false;
|
|
9428
9438
|
this.dropdownMode = DropdownMode;
|
|
9429
9439
|
this.maxHeight = 0;
|
|
@@ -9675,15 +9685,14 @@ const withCode = (editor) => {
|
|
|
9675
9685
|
};
|
|
9676
9686
|
return editor;
|
|
9677
9687
|
};
|
|
9678
|
-
const createCodePlugin = createPluginFactory({
|
|
9688
|
+
const createCodePlugin = (locale) => createPluginFactory({
|
|
9679
9689
|
key: PluginKeys.code,
|
|
9680
9690
|
withOverrides: withCode,
|
|
9681
9691
|
toolbarItems: [
|
|
9682
9692
|
{
|
|
9683
9693
|
key: ElementKinds.code,
|
|
9684
9694
|
icon: 'code-syntax',
|
|
9685
|
-
name:
|
|
9686
|
-
translateKey: 'code',
|
|
9695
|
+
name: locale().code,
|
|
9687
9696
|
active: editor => isBlockActive(editor, ElementKinds.code),
|
|
9688
9697
|
execute: editor => CodeEditor.insertCode(editor)
|
|
9689
9698
|
}
|
|
@@ -9692,13 +9701,11 @@ const createCodePlugin = createPluginFactory({
|
|
|
9692
9701
|
{
|
|
9693
9702
|
key: ElementKinds.code,
|
|
9694
9703
|
type: ThePluginMenuItemType.group,
|
|
9695
|
-
keywords:
|
|
9704
|
+
keywords: `dmk,daimakuai,code,${locale().code}`,
|
|
9696
9705
|
active: editor => isBlockActive(editor, ElementKinds.code),
|
|
9697
9706
|
execute: editor => CodeEditor.insertCode(editor),
|
|
9698
|
-
name:
|
|
9699
|
-
|
|
9700
|
-
description: '支持插入语法高亮的代码',
|
|
9701
|
-
descriptionTranslateKey: 'codeDesc',
|
|
9707
|
+
name: locale().code,
|
|
9708
|
+
description: locale().codeDesc,
|
|
9702
9709
|
menuIcon: PluginMenuIcons.code,
|
|
9703
9710
|
displayKey: '/dmk'
|
|
9704
9711
|
}
|
|
@@ -9706,7 +9713,7 @@ const createCodePlugin = createPluginFactory({
|
|
|
9706
9713
|
options: {
|
|
9707
9714
|
allowParentTypes: [ElementKinds.tableCell]
|
|
9708
9715
|
}
|
|
9709
|
-
});
|
|
9716
|
+
})();
|
|
9710
9717
|
|
|
9711
9718
|
class TheColorToolbarItem extends TheBaseToolbarItem {
|
|
9712
9719
|
get lastTextColor() {
|
|
@@ -9715,8 +9722,8 @@ class TheColorToolbarItem extends TheBaseToolbarItem {
|
|
|
9715
9722
|
get lastBackgroundColor() {
|
|
9716
9723
|
return THE_EDITOR_BG_COLOR.get(this.editor) ?? '#FFDA00';
|
|
9717
9724
|
}
|
|
9718
|
-
constructor(
|
|
9719
|
-
super(
|
|
9725
|
+
constructor() {
|
|
9726
|
+
super();
|
|
9720
9727
|
this.pickerActive = false;
|
|
9721
9728
|
}
|
|
9722
9729
|
ngOnInit() {
|
|
@@ -9780,24 +9787,23 @@ class TheColorToolbarItem extends TheBaseToolbarItem {
|
|
|
9780
9787
|
});
|
|
9781
9788
|
});
|
|
9782
9789
|
}
|
|
9783
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TheColorToolbarItem, deps: [
|
|
9784
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", 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]=\"
|
|
9790
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TheColorToolbarItem, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
9791
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", 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"] }] }); }
|
|
9785
9792
|
}
|
|
9786
9793
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TheColorToolbarItem, decorators: [{
|
|
9787
9794
|
type: Component,
|
|
9788
9795
|
args: [{ selector: 'the-color-toolbar-item', host: {
|
|
9789
9796
|
class: 'the-color-toolbar-item'
|
|
9790
|
-
}, standalone: true, imports: [NgClass, FormsModule, ThyAction, ThyActions, ThyColorPickerDirective, ThyTooltipDirective, ThyIcon], template: "<thy-actions\n class=\"d-flex p-0\"\n thySize=\"zero\"\n thyTooltipPlacement=\"top\"\n [thyTooltip]=\"
|
|
9791
|
-
}], ctorParameters: () => [
|
|
9797
|
+
}, standalone: true, imports: [NgClass, FormsModule, ThyAction, ThyActions, ThyColorPickerDirective, ThyTooltipDirective, ThyIcon], 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" }]
|
|
9798
|
+
}], ctorParameters: () => [] });
|
|
9792
9799
|
|
|
9793
|
-
const createColorPlugin = createPluginFactory({
|
|
9800
|
+
const createColorPlugin = (locale) => createPluginFactory({
|
|
9794
9801
|
key: PluginKeys.color,
|
|
9795
9802
|
toolbarItems: [
|
|
9796
9803
|
{
|
|
9797
9804
|
key: MarkTypes.color,
|
|
9798
9805
|
icon: 'color-tt',
|
|
9799
|
-
name:
|
|
9800
|
-
translateKey: 'fontColor',
|
|
9806
|
+
name: locale().fontColor,
|
|
9801
9807
|
type: ToolbarItemType.dropdown,
|
|
9802
9808
|
dropdownMode: DropdownMode.icon,
|
|
9803
9809
|
iconComponent: TheColorToolbarItem,
|
|
@@ -9806,8 +9812,7 @@ const createColorPlugin = createPluginFactory({
|
|
|
9806
9812
|
{
|
|
9807
9813
|
key: MarkTypes.backgroundColor,
|
|
9808
9814
|
icon: 'background-tt',
|
|
9809
|
-
name:
|
|
9810
|
-
translateKey: 'backgroundColor',
|
|
9815
|
+
name: locale().backgroundColor,
|
|
9811
9816
|
type: ToolbarItemType.dropdown,
|
|
9812
9817
|
dropdownMode: DropdownMode.icon,
|
|
9813
9818
|
iconComponent: TheColorToolbarItem,
|
|
@@ -9817,7 +9822,7 @@ const createColorPlugin = createPluginFactory({
|
|
|
9817
9822
|
options: {
|
|
9818
9823
|
disabledOperateTypes: [ElementKinds.image, ...DISABLED_OPERATE_TYPES]
|
|
9819
9824
|
}
|
|
9820
|
-
});
|
|
9825
|
+
})();
|
|
9821
9826
|
|
|
9822
9827
|
const withBlockCard = (editor) => {
|
|
9823
9828
|
const { insertBreak, deleteBackward, onKeydown, deleteForward, insertData, insertText, mousedown } = editor;
|
|
@@ -10165,14 +10170,13 @@ const withInternalCommon = (editor) => {
|
|
|
10165
10170
|
};
|
|
10166
10171
|
return editor;
|
|
10167
10172
|
};
|
|
10168
|
-
const createCommonPlugin = createPluginFactory({
|
|
10173
|
+
const createCommonPlugin = (locale) => createPluginFactory({
|
|
10169
10174
|
key: PluginKeys.internalCommon,
|
|
10170
10175
|
withOverrides: withInternalCommon,
|
|
10171
10176
|
toolbarItems: [
|
|
10172
10177
|
{
|
|
10173
10178
|
key: ToolbarActionTypes.group,
|
|
10174
|
-
name:
|
|
10175
|
-
translateKey: 'more',
|
|
10179
|
+
name: locale().more,
|
|
10176
10180
|
icon: 'more',
|
|
10177
10181
|
type: ToolbarItemType.dropdown,
|
|
10178
10182
|
dropdownMode: DropdownMode.icon,
|
|
@@ -10182,7 +10186,7 @@ const createCommonPlugin = createPluginFactory({
|
|
|
10182
10186
|
includes: [MarkTypes.underline, MarkTypes.strike, ElementKinds.inlineCode]
|
|
10183
10187
|
}
|
|
10184
10188
|
]
|
|
10185
|
-
});
|
|
10189
|
+
})();
|
|
10186
10190
|
|
|
10187
10191
|
const withGetFragment = (editor) => {
|
|
10188
10192
|
const { getFragment } = editor;
|
|
@@ -10618,12 +10622,12 @@ const sizeOptions = () => {
|
|
|
10618
10622
|
};
|
|
10619
10623
|
});
|
|
10620
10624
|
};
|
|
10621
|
-
const createFontSizePlugin = createPluginFactory({
|
|
10625
|
+
const createFontSizePlugin = (locale) => createPluginFactory({
|
|
10622
10626
|
key: PluginKeys.fontSize,
|
|
10623
10627
|
toolbarItems: [
|
|
10624
10628
|
{
|
|
10625
10629
|
key: MarkTypes.fontSize,
|
|
10626
|
-
name:
|
|
10630
|
+
name: locale().fontSize,
|
|
10627
10631
|
type: ToolbarItemType.dropdown,
|
|
10628
10632
|
dropdownItemKey: FontSizes.fontSize14,
|
|
10629
10633
|
includes: FontSizeTypes
|
|
@@ -10633,7 +10637,7 @@ const createFontSizePlugin = createPluginFactory({
|
|
|
10633
10637
|
options: {
|
|
10634
10638
|
disabledOperateTypes: [...HEADING_TYPES, ElementKinds.image, ...DISABLED_OPERATE_TYPES]
|
|
10635
10639
|
}
|
|
10636
|
-
});
|
|
10640
|
+
})();
|
|
10637
10641
|
|
|
10638
10642
|
const withHeading = (editor) => {
|
|
10639
10643
|
const { insertBreak } = editor;
|
|
@@ -10659,15 +10663,14 @@ const withHeading = (editor) => {
|
|
|
10659
10663
|
return editor;
|
|
10660
10664
|
};
|
|
10661
10665
|
const headingListPlugins = HeadingEditor.headingPlugins();
|
|
10662
|
-
const createHeadingPlugin = createPluginFactory({
|
|
10666
|
+
const createHeadingPlugin = (locale) => createPluginFactory({
|
|
10663
10667
|
key: PluginKeys.heading,
|
|
10664
10668
|
withOverrides: withHeading,
|
|
10665
10669
|
plugins: headingListPlugins,
|
|
10666
10670
|
toolbarItems: [
|
|
10667
10671
|
{
|
|
10668
10672
|
key: ElementKinds.headingList,
|
|
10669
|
-
name:
|
|
10670
|
-
translateKey: 'headingList',
|
|
10673
|
+
name: locale().headingList,
|
|
10671
10674
|
type: ToolbarItemType.dropdown,
|
|
10672
10675
|
dropdownMode: DropdownMode.text,
|
|
10673
10676
|
dropdownItemKey: ElementKinds.paragraph,
|
|
@@ -10675,16 +10678,14 @@ const createHeadingPlugin = createPluginFactory({
|
|
|
10675
10678
|
},
|
|
10676
10679
|
{
|
|
10677
10680
|
key: ElementKinds.paragraph,
|
|
10678
|
-
name:
|
|
10679
|
-
translateKey: 'paragraph',
|
|
10681
|
+
name: locale().paragraph,
|
|
10680
10682
|
styles: { height: '40px' },
|
|
10681
10683
|
execute: editor => Transforms.setNodes(editor, { type: ElementKinds.paragraph }),
|
|
10682
10684
|
active: editor => isParagraph(editor)
|
|
10683
10685
|
},
|
|
10684
10686
|
{
|
|
10685
10687
|
key: ElementKinds.heading_1,
|
|
10686
|
-
name:
|
|
10687
|
-
translateKey: 'heading1',
|
|
10688
|
+
name: locale().heading1,
|
|
10688
10689
|
icon: 'header-1',
|
|
10689
10690
|
styles: { height: '40px', fontSize: '28px' },
|
|
10690
10691
|
execute: editor => HeadingEditor.setHeading(editor, ElementKinds.heading_1),
|
|
@@ -10693,8 +10694,7 @@ const createHeadingPlugin = createPluginFactory({
|
|
|
10693
10694
|
{
|
|
10694
10695
|
key: ElementKinds.heading_2,
|
|
10695
10696
|
icon: 'header-2',
|
|
10696
|
-
name:
|
|
10697
|
-
translateKey: 'heading2',
|
|
10697
|
+
name: locale().heading2,
|
|
10698
10698
|
styles: { height: '38px', fontSize: '24px' },
|
|
10699
10699
|
execute: editor => HeadingEditor.setHeading(editor, ElementKinds.heading_2),
|
|
10700
10700
|
active: editor => HeadingEditor.isHeadingActive(editor, ElementKinds.heading_2)
|
|
@@ -10702,8 +10702,7 @@ const createHeadingPlugin = createPluginFactory({
|
|
|
10702
10702
|
{
|
|
10703
10703
|
key: ElementKinds.heading_3,
|
|
10704
10704
|
icon: 'header-3',
|
|
10705
|
-
name:
|
|
10706
|
-
translateKey: 'heading3',
|
|
10705
|
+
name: locale().heading3,
|
|
10707
10706
|
styles: { height: '34px', fontSize: '20px' },
|
|
10708
10707
|
execute: editor => HeadingEditor.setHeading(editor, ElementKinds.heading_3),
|
|
10709
10708
|
active: editor => HeadingEditor.isHeadingActive(editor, ElementKinds.heading_3)
|
|
@@ -10711,8 +10710,7 @@ const createHeadingPlugin = createPluginFactory({
|
|
|
10711
10710
|
{
|
|
10712
10711
|
key: ElementKinds.heading_4,
|
|
10713
10712
|
icon: 'header-4',
|
|
10714
|
-
name:
|
|
10715
|
-
translateKey: 'heading4',
|
|
10713
|
+
name: locale().heading4,
|
|
10716
10714
|
styles: { height: '30px', fontSize: '16px' },
|
|
10717
10715
|
execute: editor => HeadingEditor.setHeading(editor, ElementKinds.heading_4),
|
|
10718
10716
|
active: editor => HeadingEditor.isHeadingActive(editor, ElementKinds.heading_4)
|
|
@@ -10724,60 +10722,52 @@ const createHeadingPlugin = createPluginFactory({
|
|
|
10724
10722
|
type: ThePluginMenuItemType.icon,
|
|
10725
10723
|
execute: editor => HeadingEditor.setHeading(editor, ElementKinds.heading_1),
|
|
10726
10724
|
active: editor => HeadingEditor.isHeadingActive(editor, ElementKinds.heading_1),
|
|
10727
|
-
name:
|
|
10728
|
-
translateKey: 'heading1',
|
|
10725
|
+
name: locale().heading1,
|
|
10729
10726
|
displayKey: '/h1',
|
|
10730
|
-
description:
|
|
10731
|
-
descriptionTranslateKey: 'heading1Desc',
|
|
10727
|
+
description: locale().heading1Desc,
|
|
10732
10728
|
icon: 'header-1',
|
|
10733
10729
|
menuIcon: PluginMenuIcons.heading_1,
|
|
10734
|
-
keywords:
|
|
10730
|
+
keywords: `h,H,bt,heading1,h1,${locale().heading1}`
|
|
10735
10731
|
},
|
|
10736
10732
|
{
|
|
10737
10733
|
key: ElementKinds.heading_2,
|
|
10738
10734
|
type: ThePluginMenuItemType.icon,
|
|
10739
10735
|
execute: editor => HeadingEditor.setHeading(editor, ElementKinds.heading_2),
|
|
10740
10736
|
active: editor => HeadingEditor.isHeadingActive(editor, ElementKinds.heading_2),
|
|
10741
|
-
name:
|
|
10742
|
-
translateKey: 'heading2',
|
|
10737
|
+
name: locale().heading2,
|
|
10743
10738
|
icon: 'header-2',
|
|
10744
|
-
description:
|
|
10745
|
-
descriptionTranslateKey: 'heading2Desc',
|
|
10739
|
+
description: locale().heading2Desc,
|
|
10746
10740
|
displayKey: '/h2',
|
|
10747
10741
|
menuIcon: PluginMenuIcons.heading_2,
|
|
10748
|
-
keywords:
|
|
10742
|
+
keywords: `h,H,bt,heading2,h2,${locale().heading2}`
|
|
10749
10743
|
},
|
|
10750
10744
|
{
|
|
10751
10745
|
key: ElementKinds.heading_3,
|
|
10752
10746
|
type: ThePluginMenuItemType.icon,
|
|
10753
10747
|
execute: editor => HeadingEditor.setHeading(editor, ElementKinds.heading_3),
|
|
10754
10748
|
active: editor => HeadingEditor.isHeadingActive(editor, ElementKinds.heading_3),
|
|
10755
|
-
name:
|
|
10756
|
-
translateKey: 'heading3',
|
|
10749
|
+
name: locale().heading3,
|
|
10757
10750
|
icon: 'header-3',
|
|
10758
|
-
description:
|
|
10759
|
-
descriptionTranslateKey: 'heading3Desc',
|
|
10751
|
+
description: locale().heading3Desc,
|
|
10760
10752
|
displayKey: '/h3',
|
|
10761
10753
|
menuIcon: PluginMenuIcons.heading_3,
|
|
10762
|
-
keywords:
|
|
10754
|
+
keywords: `h,H,bt,heading3,h3,${locale().heading3}`
|
|
10763
10755
|
},
|
|
10764
10756
|
{
|
|
10765
10757
|
key: ElementKinds.heading_4,
|
|
10766
10758
|
type: ThePluginMenuItemType.icon,
|
|
10767
10759
|
execute: editor => HeadingEditor.setHeading(editor, ElementKinds.heading_4),
|
|
10768
10760
|
active: editor => HeadingEditor.isHeadingActive(editor, ElementKinds.heading_4),
|
|
10769
|
-
name:
|
|
10770
|
-
translateKey: 'heading4',
|
|
10761
|
+
name: locale().heading4,
|
|
10771
10762
|
icon: 'header-4',
|
|
10772
|
-
description:
|
|
10773
|
-
descriptionTranslateKey: 'heading4Desc',
|
|
10763
|
+
description: locale().heading4Desc,
|
|
10774
10764
|
displayKey: '/h4',
|
|
10775
10765
|
menuIcon: PluginMenuIcons.heading_4,
|
|
10776
|
-
keywords:
|
|
10766
|
+
keywords: `h,H,bt,heading4,BT,h4,${locale().heading4}`
|
|
10777
10767
|
}
|
|
10778
10768
|
],
|
|
10779
10769
|
options: headingOptions
|
|
10780
|
-
});
|
|
10770
|
+
})();
|
|
10781
10771
|
|
|
10782
10772
|
class TheHr extends TheBaseElement {
|
|
10783
10773
|
ngAfterViewInit() {
|
|
@@ -10830,15 +10820,14 @@ const withHr = (editor) => {
|
|
|
10830
10820
|
};
|
|
10831
10821
|
return editor;
|
|
10832
10822
|
};
|
|
10833
|
-
const createHrPlugin = createPluginFactory({
|
|
10823
|
+
const createHrPlugin = (locale) => createPluginFactory({
|
|
10834
10824
|
key: PluginKeys.hr,
|
|
10835
10825
|
withOverrides: withHr,
|
|
10836
10826
|
toolbarItems: [
|
|
10837
10827
|
{
|
|
10838
10828
|
key: ElementKinds.hr,
|
|
10839
10829
|
icon: 'horizontal-line',
|
|
10840
|
-
name:
|
|
10841
|
-
translateKey: 'divider',
|
|
10830
|
+
name: locale().divider,
|
|
10842
10831
|
active: editor => isBlockActive(editor, ElementKinds.hr),
|
|
10843
10832
|
execute: editor => HrEditor.insertHr(editor)
|
|
10844
10833
|
}
|
|
@@ -10846,22 +10835,20 @@ const createHrPlugin = createPluginFactory({
|
|
|
10846
10835
|
menuItems: [
|
|
10847
10836
|
{
|
|
10848
10837
|
key: ElementKinds.hr,
|
|
10849
|
-
keywords:
|
|
10838
|
+
keywords: `fengexian,fgx,divider,line,${locale().divider}`,
|
|
10850
10839
|
type: ThePluginMenuItemType.group,
|
|
10851
10840
|
active: editor => isBlockActive(editor, ElementKinds.hr),
|
|
10852
10841
|
execute: editor => HrEditor.insertHr(editor),
|
|
10853
|
-
name:
|
|
10854
|
-
translateKey: 'divider',
|
|
10842
|
+
name: locale().divider,
|
|
10855
10843
|
menuIcon: PluginMenuIcons.hr,
|
|
10856
|
-
description:
|
|
10857
|
-
descriptionTranslateKey: 'dividerDesc',
|
|
10844
|
+
description: locale().dividerDesc,
|
|
10858
10845
|
displayKey: '/fgx'
|
|
10859
10846
|
}
|
|
10860
10847
|
],
|
|
10861
10848
|
options: {
|
|
10862
10849
|
allowParentTypes: [ElementKinds.tableCell]
|
|
10863
10850
|
}
|
|
10864
|
-
});
|
|
10851
|
+
})();
|
|
10865
10852
|
|
|
10866
10853
|
class TheImage extends TheBaseElement {
|
|
10867
10854
|
get isOpen() {
|
|
@@ -10882,7 +10869,7 @@ class TheImage extends TheBaseElement {
|
|
|
10882
10869
|
this.thyPopover = thyPopover;
|
|
10883
10870
|
this.overlay = overlay;
|
|
10884
10871
|
this.destroyRef = destroyRef;
|
|
10885
|
-
this.locale = injectTranslations();
|
|
10872
|
+
this.locale = injectTranslations(inject(TheI18nService));
|
|
10886
10873
|
this.naturalWidth = 0;
|
|
10887
10874
|
this.naturalHeight = 0;
|
|
10888
10875
|
this.imageEntry = {};
|
|
@@ -11362,15 +11349,14 @@ const withImage = (editor) => {
|
|
|
11362
11349
|
};
|
|
11363
11350
|
return editor;
|
|
11364
11351
|
};
|
|
11365
|
-
const createImagePlugin = createPluginFactory({
|
|
11352
|
+
const createImagePlugin = (locale) => createPluginFactory({
|
|
11366
11353
|
key: PluginKeys.image,
|
|
11367
11354
|
withOverrides: withImage,
|
|
11368
11355
|
toolbarItems: [
|
|
11369
11356
|
{
|
|
11370
11357
|
key: ElementKinds.image,
|
|
11371
11358
|
icon: 'image',
|
|
11372
|
-
name:
|
|
11373
|
-
translateKey: 'image',
|
|
11359
|
+
name: locale().image,
|
|
11374
11360
|
execute: editor => ImageEditor.openUpload(editor),
|
|
11375
11361
|
active: editor => ImageEditor.isActive(editor)
|
|
11376
11362
|
}
|
|
@@ -11378,14 +11364,12 @@ const createImagePlugin = createPluginFactory({
|
|
|
11378
11364
|
menuItems: [
|
|
11379
11365
|
{
|
|
11380
11366
|
key: ElementKinds.image,
|
|
11381
|
-
keywords:
|
|
11367
|
+
keywords: `tp,tupian,image,photo,picture,${locale().image}`,
|
|
11382
11368
|
execute: editor => ImageEditor.openUpload(editor),
|
|
11383
11369
|
active: editor => ImageEditor.isActive(editor),
|
|
11384
|
-
name:
|
|
11385
|
-
translateKey: 'image',
|
|
11370
|
+
name: locale().image,
|
|
11386
11371
|
menuIcon: PluginMenuIcons.image,
|
|
11387
|
-
description:
|
|
11388
|
-
descriptionTranslateKey: 'imageDesc',
|
|
11372
|
+
description: locale().imageDesc,
|
|
11389
11373
|
type: ThePluginMenuItemType.group,
|
|
11390
11374
|
displayKey: '/tp'
|
|
11391
11375
|
}
|
|
@@ -11394,7 +11378,7 @@ const createImagePlugin = createPluginFactory({
|
|
|
11394
11378
|
allowParentTypes: [ElementKinds.listItem, ElementKinds.tableCell, ElementKinds.blockquote],
|
|
11395
11379
|
imageTypes: ['image/png', 'image/jpeg', 'image/gif', 'image/bmp', 'image/svg+xml']
|
|
11396
11380
|
}
|
|
11397
|
-
});
|
|
11381
|
+
})();
|
|
11398
11382
|
|
|
11399
11383
|
const onKeydownTextIndent = (editor, event, kinds, textIndentDisabled) => {
|
|
11400
11384
|
const { selection } = editor;
|
|
@@ -11460,7 +11444,7 @@ const withIndent = (editor) => {
|
|
|
11460
11444
|
};
|
|
11461
11445
|
return editor;
|
|
11462
11446
|
};
|
|
11463
|
-
const createIndentPlugin = createPluginFactory({
|
|
11447
|
+
const createIndentPlugin = (locale) => createPluginFactory({
|
|
11464
11448
|
key: PluginKeys.indent,
|
|
11465
11449
|
withOverrides: withIndent,
|
|
11466
11450
|
toolbarItems: [
|
|
@@ -11475,16 +11459,14 @@ const createIndentPlugin = createPluginFactory({
|
|
|
11475
11459
|
},
|
|
11476
11460
|
{
|
|
11477
11461
|
key: Indents.indentRight,
|
|
11478
|
-
name:
|
|
11479
|
-
translateKey: 'increaseIndent',
|
|
11462
|
+
name: locale().increaseIndent,
|
|
11480
11463
|
icon: 'float-left',
|
|
11481
11464
|
shortcutKey: 'Tab',
|
|
11482
11465
|
execute: editor => IndentEditor.setIndent(editor)
|
|
11483
11466
|
},
|
|
11484
11467
|
{
|
|
11485
11468
|
key: Indents.indentLeft,
|
|
11486
|
-
name:
|
|
11487
|
-
translateKey: 'decreaseIndent',
|
|
11469
|
+
name: locale().decreaseIndent,
|
|
11488
11470
|
icon: 'float-right',
|
|
11489
11471
|
shortcutKey: 'Shift+Tab',
|
|
11490
11472
|
execute: editor => IndentEditor.cancelIndent(editor)
|
|
@@ -11502,7 +11484,7 @@ const createIndentPlugin = createPluginFactory({
|
|
|
11502
11484
|
disableIndentTypes: [ElementKinds.bulletedList, ElementKinds.numberedList, ElementKinds.checkItem],
|
|
11503
11485
|
disabledOperateTypes: [ElementKinds.image, ...DISABLED_OPERATE_TYPES]
|
|
11504
11486
|
}
|
|
11505
|
-
});
|
|
11487
|
+
})();
|
|
11506
11488
|
|
|
11507
11489
|
/**
|
|
11508
11490
|
* Remove nodes with empty text.
|
|
@@ -11584,15 +11566,14 @@ const withInlineCode = (editor) => {
|
|
|
11584
11566
|
editor = withRemoveEmptyNodes({ type: ElementKinds.inlineCode })(editor);
|
|
11585
11567
|
return editor;
|
|
11586
11568
|
};
|
|
11587
|
-
const createInlineCodePlugin = createPluginFactory({
|
|
11569
|
+
const createInlineCodePlugin = (locale) => createPluginFactory({
|
|
11588
11570
|
key: PluginKeys.inlineCode,
|
|
11589
11571
|
withOverrides: withInlineCode,
|
|
11590
11572
|
toolbarItems: [
|
|
11591
11573
|
{
|
|
11592
11574
|
key: ElementKinds.inlineCode,
|
|
11593
11575
|
icon: 'code',
|
|
11594
|
-
name:
|
|
11595
|
-
translateKey: 'inlineCode',
|
|
11576
|
+
name: locale().inlineCode,
|
|
11596
11577
|
shortcutKey: `${CONTROL_KEY}+E`,
|
|
11597
11578
|
execute: editor => InlineCodeEditor.toggleInlineCode(editor),
|
|
11598
11579
|
active: editor => InlineCodeEditor.isInlineCodeActive(editor)
|
|
@@ -11602,7 +11583,7 @@ const createInlineCodePlugin = createPluginFactory({
|
|
|
11602
11583
|
isInline: true,
|
|
11603
11584
|
disabledOperateTypes: [ElementKinds.image, ...DISABLED_OPERATE_TYPES]
|
|
11604
11585
|
}
|
|
11605
|
-
});
|
|
11586
|
+
})();
|
|
11606
11587
|
|
|
11607
11588
|
class TheLinkEdit {
|
|
11608
11589
|
handleDocumentMouseDown(event) {
|
|
@@ -11615,7 +11596,7 @@ class TheLinkEdit {
|
|
|
11615
11596
|
this.className = 'the-link-edit-container';
|
|
11616
11597
|
this.link = '';
|
|
11617
11598
|
this.text = '';
|
|
11618
|
-
this.locale = injectTranslations();
|
|
11599
|
+
this.locale = injectTranslations(inject(TheI18nService));
|
|
11619
11600
|
this.validatorConfig = {
|
|
11620
11601
|
validationMessages: {
|
|
11621
11602
|
link: {
|
|
@@ -11930,15 +11911,14 @@ const withLink = (editor) => {
|
|
|
11930
11911
|
editor = withRemoveEmptyNodes({ type: ElementKinds.link })(editor);
|
|
11931
11912
|
return editor;
|
|
11932
11913
|
};
|
|
11933
|
-
const createLinkPlugin = createPluginFactory({
|
|
11914
|
+
const createLinkPlugin = (locale) => createPluginFactory({
|
|
11934
11915
|
key: PluginKeys.link,
|
|
11935
11916
|
withOverrides: withLink,
|
|
11936
11917
|
toolbarItems: [
|
|
11937
11918
|
{
|
|
11938
11919
|
key: ElementKinds.link,
|
|
11939
11920
|
icon: 'link-insert',
|
|
11940
|
-
name:
|
|
11941
|
-
translateKey: 'link',
|
|
11921
|
+
name: locale().link,
|
|
11942
11922
|
execute: editor => LinkEditor.insertLink(editor),
|
|
11943
11923
|
active: editor => LinkEditor.isActive(editor)
|
|
11944
11924
|
}
|
|
@@ -11946,14 +11926,12 @@ const createLinkPlugin = createPluginFactory({
|
|
|
11946
11926
|
menuItems: [
|
|
11947
11927
|
{
|
|
11948
11928
|
key: ElementKinds.link,
|
|
11949
|
-
keywords:
|
|
11950
|
-
description:
|
|
11951
|
-
descriptionTranslateKey: 'linkDesc',
|
|
11929
|
+
keywords: `lj,lianjie,link,${locale().link}`,
|
|
11930
|
+
description: locale().linkDesc,
|
|
11952
11931
|
execute: editor => LinkEditor.insertLink(editor),
|
|
11953
11932
|
active: editor => LinkEditor.isActive(editor),
|
|
11954
11933
|
type: ThePluginMenuItemType.icon,
|
|
11955
|
-
name:
|
|
11956
|
-
translateKey: 'link',
|
|
11934
|
+
name: locale().link,
|
|
11957
11935
|
displayKey: '/lj',
|
|
11958
11936
|
icon: 'link-insert',
|
|
11959
11937
|
menuIcon: PluginMenuIcons.link
|
|
@@ -11963,7 +11941,7 @@ const createLinkPlugin = createPluginFactory({
|
|
|
11963
11941
|
isInline: true,
|
|
11964
11942
|
disabledOperateTypes: [ElementKinds.image, ...DISABLED_OPERATE_TYPES]
|
|
11965
11943
|
}
|
|
11966
|
-
});
|
|
11944
|
+
})();
|
|
11967
11945
|
|
|
11968
11946
|
class TheBulletedList extends TheBaseElement {
|
|
11969
11947
|
get level() {
|
|
@@ -12889,7 +12867,7 @@ const listOptions = {
|
|
|
12889
12867
|
validLiChildrenTypes: [ElementKinds.image],
|
|
12890
12868
|
allowParentTypes: [ElementKinds.listItem, ElementKinds.tableCell, ElementKinds.blockquote]
|
|
12891
12869
|
};
|
|
12892
|
-
const createListPlugin = createPluginFactory({
|
|
12870
|
+
const createListPlugin = (locale) => createPluginFactory({
|
|
12893
12871
|
key: PluginKeys.list,
|
|
12894
12872
|
withOverrides: withList,
|
|
12895
12873
|
plugins: [
|
|
@@ -12910,16 +12888,14 @@ const createListPlugin = createPluginFactory({
|
|
|
12910
12888
|
{
|
|
12911
12889
|
key: ElementKinds.numberedList,
|
|
12912
12890
|
icon: 'list-ordered',
|
|
12913
|
-
name:
|
|
12914
|
-
translateKey: 'orderedList',
|
|
12891
|
+
name: locale().orderedList,
|
|
12915
12892
|
execute: editor => ListEditor.toggleList(editor, ElementKinds.numberedList),
|
|
12916
12893
|
active: editor => ListEditor.isActive(editor, ElementKinds.numberedList)
|
|
12917
12894
|
},
|
|
12918
12895
|
{
|
|
12919
12896
|
key: ElementKinds.bulletedList,
|
|
12920
12897
|
icon: 'list-bullet',
|
|
12921
|
-
name:
|
|
12922
|
-
translateKey: 'unorderedList',
|
|
12898
|
+
name: locale().unorderedList,
|
|
12923
12899
|
execute: editor => ListEditor.toggleList(editor, ElementKinds.bulletedList),
|
|
12924
12900
|
active: editor => ListEditor.isActive(editor, ElementKinds.bulletedList)
|
|
12925
12901
|
}
|
|
@@ -12927,35 +12903,31 @@ const createListPlugin = createPluginFactory({
|
|
|
12927
12903
|
menuItems: [
|
|
12928
12904
|
{
|
|
12929
12905
|
key: ElementKinds.numberedList,
|
|
12930
|
-
keywords:
|
|
12906
|
+
keywords: `yxlb,youxuliebiao,numbered list,numberedlist,${locale().orderedList}`,
|
|
12931
12907
|
execute: editor => ListEditor.toggleList(editor, ElementKinds.numberedList),
|
|
12932
12908
|
active: editor => ListEditor.isActive(editor, ElementKinds.numberedList),
|
|
12933
12909
|
type: ThePluginMenuItemType.icon,
|
|
12934
|
-
name:
|
|
12935
|
-
|
|
12936
|
-
description: '插入有序列表',
|
|
12937
|
-
descriptionTranslateKey: 'orderedListDesc',
|
|
12910
|
+
name: locale().orderedList,
|
|
12911
|
+
description: locale().orderedListDesc,
|
|
12938
12912
|
displayKey: '/yxlb',
|
|
12939
12913
|
icon: 'list-ordered',
|
|
12940
12914
|
menuIcon: PluginMenuIcons.numberedList
|
|
12941
12915
|
},
|
|
12942
12916
|
{
|
|
12943
12917
|
key: ElementKinds.bulletedList,
|
|
12944
|
-
keywords:
|
|
12918
|
+
keywords: `wxlb,wuxuliebiao,bulletedlist,bulleted list,${locale().unorderedList}`,
|
|
12945
12919
|
execute: editor => ListEditor.toggleList(editor, ElementKinds.bulletedList),
|
|
12946
12920
|
active: editor => ListEditor.isActive(editor, ElementKinds.bulletedList),
|
|
12947
12921
|
type: ThePluginMenuItemType.icon,
|
|
12948
|
-
name:
|
|
12949
|
-
|
|
12950
|
-
description: '插入无序列表',
|
|
12951
|
-
descriptionTranslateKey: 'unorderedListDesc',
|
|
12922
|
+
name: locale().unorderedList,
|
|
12923
|
+
description: locale().unorderedListDesc,
|
|
12952
12924
|
displayKey: '/wxlb',
|
|
12953
12925
|
icon: 'list-bullet',
|
|
12954
12926
|
menuIcon: PluginMenuIcons.bulletedList
|
|
12955
12927
|
}
|
|
12956
12928
|
],
|
|
12957
12929
|
options: listOptions
|
|
12958
|
-
});
|
|
12930
|
+
})();
|
|
12959
12931
|
|
|
12960
12932
|
const withMark = (editor) => {
|
|
12961
12933
|
const e = editor;
|
|
@@ -13015,15 +12987,14 @@ const withMark = (editor) => {
|
|
|
13015
12987
|
};
|
|
13016
12988
|
return e;
|
|
13017
12989
|
};
|
|
13018
|
-
const createMarkPlugin = createPluginFactory({
|
|
12990
|
+
const createMarkPlugin = (locale) => createPluginFactory({
|
|
13019
12991
|
key: PluginKeys.mark,
|
|
13020
12992
|
withOverrides: withMark,
|
|
13021
12993
|
toolbarItems: [
|
|
13022
12994
|
{
|
|
13023
12995
|
key: MarkTypes.bold,
|
|
13024
12996
|
icon: 'bold',
|
|
13025
|
-
name:
|
|
13026
|
-
translateKey: 'bold',
|
|
12997
|
+
name: locale().bold,
|
|
13027
12998
|
shortcutKey: `${CONTROL_KEY}+B`,
|
|
13028
12999
|
execute: editor => MarkEditor.toggleMark(editor, MarkTypes.bold),
|
|
13029
13000
|
active: editor => MarkEditor.isMarkActive(editor, MarkTypes.bold)
|
|
@@ -13031,8 +13002,7 @@ const createMarkPlugin = createPluginFactory({
|
|
|
13031
13002
|
{
|
|
13032
13003
|
key: MarkTypes.italic,
|
|
13033
13004
|
icon: 'italic',
|
|
13034
|
-
name:
|
|
13035
|
-
translateKey: 'italic',
|
|
13005
|
+
name: locale().italic,
|
|
13036
13006
|
shortcutKey: `${CONTROL_KEY}+I`,
|
|
13037
13007
|
execute: editor => MarkEditor.toggleMark(editor, MarkTypes.italic),
|
|
13038
13008
|
active: editor => MarkEditor.isMarkActive(editor, MarkTypes.italic)
|
|
@@ -13040,16 +13010,14 @@ const createMarkPlugin = createPluginFactory({
|
|
|
13040
13010
|
{
|
|
13041
13011
|
key: MarkTypes.strike,
|
|
13042
13012
|
icon: 'strike',
|
|
13043
|
-
name:
|
|
13044
|
-
translateKey: 'strike',
|
|
13013
|
+
name: locale().strike,
|
|
13045
13014
|
execute: editor => MarkEditor.toggleMark(editor, MarkTypes.strike),
|
|
13046
13015
|
active: editor => MarkEditor.isMarkActive(editor, MarkTypes.strike)
|
|
13047
13016
|
},
|
|
13048
13017
|
{
|
|
13049
13018
|
key: MarkTypes.underline,
|
|
13050
13019
|
icon: 'underline',
|
|
13051
|
-
name:
|
|
13052
|
-
translateKey: 'underline',
|
|
13020
|
+
name: locale().underline,
|
|
13053
13021
|
shortcutKey: `${CONTROL_KEY}+U`,
|
|
13054
13022
|
execute: editor => MarkEditor.toggleMark(editor, MarkTypes.underline),
|
|
13055
13023
|
active: editor => MarkEditor.isMarkActive(editor, MarkTypes.underline)
|
|
@@ -13058,7 +13026,7 @@ const createMarkPlugin = createPluginFactory({
|
|
|
13058
13026
|
options: {
|
|
13059
13027
|
disabledOperateTypes: [ElementKinds.image, ...DISABLED_OPERATE_TYPES]
|
|
13060
13028
|
}
|
|
13061
|
-
});
|
|
13029
|
+
})();
|
|
13062
13030
|
|
|
13063
13031
|
const withNodeID = (e) => {
|
|
13064
13032
|
const editor = e;
|
|
@@ -13240,38 +13208,34 @@ const PaintFormatEditor = {
|
|
|
13240
13208
|
editor.onChange();
|
|
13241
13209
|
}
|
|
13242
13210
|
};
|
|
13243
|
-
const createPaintFormatPlugin = createPluginFactory({
|
|
13211
|
+
const createPaintFormatPlugin = (locale) => createPluginFactory({
|
|
13244
13212
|
key: PluginKeys.paintFormat,
|
|
13245
13213
|
toolbarItems: [
|
|
13246
13214
|
{
|
|
13247
13215
|
key: ToolbarActionTypes.undo,
|
|
13248
13216
|
icon: 'undo',
|
|
13249
|
-
name:
|
|
13250
|
-
translateKey: 'undo',
|
|
13217
|
+
name: locale().undo,
|
|
13251
13218
|
shortcutKey: `${CONTROL_KEY}+Z`,
|
|
13252
13219
|
execute: (editor) => editor.undo()
|
|
13253
13220
|
},
|
|
13254
13221
|
{
|
|
13255
13222
|
key: ToolbarActionTypes.redo,
|
|
13256
13223
|
icon: 'redo',
|
|
13257
|
-
name:
|
|
13258
|
-
translateKey: 'redo',
|
|
13224
|
+
name: locale().redo,
|
|
13259
13225
|
shortcutKey: `${CONTROL_KEY}+Shift+Z`,
|
|
13260
13226
|
execute: (editor) => editor.redo()
|
|
13261
13227
|
},
|
|
13262
13228
|
{
|
|
13263
13229
|
key: ToolbarActionTypes.paintformat,
|
|
13264
13230
|
icon: 'paintformat',
|
|
13265
|
-
name:
|
|
13266
|
-
translateKey: 'paintFormat',
|
|
13231
|
+
name: locale().paintFormat,
|
|
13267
13232
|
execute: PaintFormatEditor.enableFormatBrush,
|
|
13268
13233
|
active: PaintFormatEditor.isActive
|
|
13269
13234
|
},
|
|
13270
13235
|
{
|
|
13271
13236
|
key: ToolbarActionTypes.clean,
|
|
13272
13237
|
icon: 'clean',
|
|
13273
|
-
name:
|
|
13274
|
-
translateKey: 'cleanFormat',
|
|
13238
|
+
name: locale().cleanFormat,
|
|
13275
13239
|
execute: (editor) => {
|
|
13276
13240
|
const { selection } = editor;
|
|
13277
13241
|
if (!selection) {
|
|
@@ -13296,7 +13260,7 @@ const createPaintFormatPlugin = createPluginFactory({
|
|
|
13296
13260
|
}
|
|
13297
13261
|
}
|
|
13298
13262
|
]
|
|
13299
|
-
});
|
|
13263
|
+
})();
|
|
13300
13264
|
|
|
13301
13265
|
const withQuickInsert = (editor) => {
|
|
13302
13266
|
const { onKeydown, onChange, insertText, insertBreak, deleteBackward } = editor;
|
|
@@ -14083,7 +14047,7 @@ class TheTableContextMenuService {
|
|
|
14083
14047
|
this.thyPopover = thyPopover;
|
|
14084
14048
|
this.ngZone = ngZone;
|
|
14085
14049
|
this.theContextService = theContextService;
|
|
14086
|
-
this.locale = injectTranslations();
|
|
14050
|
+
this.locale = injectTranslations(inject(TheI18nService));
|
|
14087
14051
|
this.menuEntities = [
|
|
14088
14052
|
{
|
|
14089
14053
|
key: 'background-color',
|
|
@@ -14404,7 +14368,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
14404
14368
|
class TheTableOptions {
|
|
14405
14369
|
constructor(popoverRef) {
|
|
14406
14370
|
this.popoverRef = popoverRef;
|
|
14407
|
-
this.locale = injectTranslations();
|
|
14371
|
+
this.locale = injectTranslations(inject(TheI18nService));
|
|
14408
14372
|
this.tableDropdownList = [
|
|
14409
14373
|
{
|
|
14410
14374
|
name: this.locale().titleRow,
|
|
@@ -14511,7 +14475,7 @@ class TheTableToolbar {
|
|
|
14511
14475
|
this.popoverRef = popoverRef;
|
|
14512
14476
|
this.thyNotifyService = thyNotifyService;
|
|
14513
14477
|
this.viewContainerRef = viewContainerRef;
|
|
14514
|
-
this.locale = injectTranslations();
|
|
14478
|
+
this.locale = injectTranslations(inject(TheI18nService));
|
|
14515
14479
|
this.cellMenuList = [
|
|
14516
14480
|
{
|
|
14517
14481
|
key: 'merge-cells',
|
|
@@ -16468,8 +16432,8 @@ class TheTableToolbarItem extends TheBaseToolbarItem {
|
|
|
16468
16432
|
get isOpenTableSelect() {
|
|
16469
16433
|
return this.tableSelectRef && this.tableSelectRef.componentInstance;
|
|
16470
16434
|
}
|
|
16471
|
-
constructor(thyPopover, overlay
|
|
16472
|
-
super(
|
|
16435
|
+
constructor(thyPopover, overlay) {
|
|
16436
|
+
super();
|
|
16473
16437
|
this.thyPopover = thyPopover;
|
|
16474
16438
|
this.overlay = overlay;
|
|
16475
16439
|
}
|
|
@@ -16506,7 +16470,7 @@ class TheTableToolbarItem extends TheBaseToolbarItem {
|
|
|
16506
16470
|
});
|
|
16507
16471
|
return this.tableSelectRef;
|
|
16508
16472
|
}
|
|
16509
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TheTableToolbarItem, deps: [{ token: i1.ThyPopover }, { token: i2.Overlay }
|
|
16473
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TheTableToolbarItem, deps: [{ token: i1.ThyPopover }, { token: i2.Overlay }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
16510
16474
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TheTableToolbarItem, isStandalone: true, selector: "the-table-toolbar-item", host: { classAttribute: "the-toolbar-dropdown-container" }, usesInheritance: true, ngImport: i0, template: `
|
|
16511
16475
|
<a
|
|
16512
16476
|
href="javascript:;"
|
|
@@ -16514,7 +16478,7 @@ class TheTableToolbarItem extends TheBaseToolbarItem {
|
|
|
16514
16478
|
thyAction
|
|
16515
16479
|
[thyActionIcon]="toolbarItem.icon"
|
|
16516
16480
|
[thyActionActive]="active"
|
|
16517
|
-
[thyTooltip]="
|
|
16481
|
+
[thyTooltip]="toolbarItem?.name"
|
|
16518
16482
|
thyTooltipPlacement="top"
|
|
16519
16483
|
(mousedown)="preventDefault($event)"
|
|
16520
16484
|
(click)="execute($event)"
|
|
@@ -16534,7 +16498,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
16534
16498
|
thyAction
|
|
16535
16499
|
[thyActionIcon]="toolbarItem.icon"
|
|
16536
16500
|
[thyActionActive]="active"
|
|
16537
|
-
[thyTooltip]="
|
|
16501
|
+
[thyTooltip]="toolbarItem?.name"
|
|
16538
16502
|
thyTooltipPlacement="top"
|
|
16539
16503
|
(mousedown)="preventDefault($event)"
|
|
16540
16504
|
(click)="execute($event)"
|
|
@@ -16548,7 +16512,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
16548
16512
|
standalone: true,
|
|
16549
16513
|
imports: [ThyAction, ThyTooltipDirective, ThyIcon]
|
|
16550
16514
|
}]
|
|
16551
|
-
}], ctorParameters: () => [{ type: i1.ThyPopover }, { type: i2.Overlay }
|
|
16515
|
+
}], ctorParameters: () => [{ type: i1.ThyPopover }, { type: i2.Overlay }] });
|
|
16552
16516
|
|
|
16553
16517
|
/**
|
|
16554
16518
|
* Clear the content of the given node
|
|
@@ -17108,7 +17072,7 @@ const withTable = (editor) => {
|
|
|
17108
17072
|
};
|
|
17109
17073
|
return editor;
|
|
17110
17074
|
};
|
|
17111
|
-
const createTablePlugin = createPluginFactory({
|
|
17075
|
+
const createTablePlugin = (locale) => createPluginFactory({
|
|
17112
17076
|
key: PluginKeys.table,
|
|
17113
17077
|
withOverrides: withTable,
|
|
17114
17078
|
nestedStructureByKey: {
|
|
@@ -17119,8 +17083,7 @@ const createTablePlugin = createPluginFactory({
|
|
|
17119
17083
|
{
|
|
17120
17084
|
key: ElementKinds.table,
|
|
17121
17085
|
icon: 'table-border-all',
|
|
17122
|
-
name:
|
|
17123
|
-
translateKey: 'table',
|
|
17086
|
+
name: locale().table,
|
|
17124
17087
|
type: ToolbarItemType.dropdown,
|
|
17125
17088
|
dropdownMode: DropdownMode.icon,
|
|
17126
17089
|
iconComponent: TheTableToolbarItem,
|
|
@@ -17131,15 +17094,13 @@ const createTablePlugin = createPluginFactory({
|
|
|
17131
17094
|
menuItems: [
|
|
17132
17095
|
{
|
|
17133
17096
|
key: ElementKinds.table,
|
|
17134
|
-
keywords:
|
|
17097
|
+
keywords: `biaoge,bg,table,${locale().table}`,
|
|
17135
17098
|
execute: editor => TableEditor.insertTable(editor),
|
|
17136
17099
|
active: editor => TableEditor.isActive(editor),
|
|
17137
|
-
name:
|
|
17138
|
-
translateKey: 'table',
|
|
17100
|
+
name: locale().table,
|
|
17139
17101
|
type: ThePluginMenuItemType.group,
|
|
17140
17102
|
menuIcon: PluginMenuIcons.table,
|
|
17141
|
-
description:
|
|
17142
|
-
descriptionTranslateKey: 'tableDesc',
|
|
17103
|
+
description: locale().tableDesc,
|
|
17143
17104
|
displayKey: '/bg'
|
|
17144
17105
|
}
|
|
17145
17106
|
],
|
|
@@ -17151,7 +17112,7 @@ const createTablePlugin = createPluginFactory({
|
|
|
17151
17112
|
event.preventDefault();
|
|
17152
17113
|
}
|
|
17153
17114
|
}
|
|
17154
|
-
});
|
|
17115
|
+
})();
|
|
17155
17116
|
|
|
17156
17117
|
class TheTodoItem extends TheBaseElement {
|
|
17157
17118
|
constructor() {
|
|
@@ -17267,15 +17228,14 @@ const withTodoItem = (editor) => {
|
|
|
17267
17228
|
};
|
|
17268
17229
|
return editor;
|
|
17269
17230
|
};
|
|
17270
|
-
const createTodoItemPlugin = createPluginFactory({
|
|
17231
|
+
const createTodoItemPlugin = (locale) => createPluginFactory({
|
|
17271
17232
|
key: PluginKeys.checkItem,
|
|
17272
17233
|
withOverrides: withTodoItem,
|
|
17273
17234
|
toolbarItems: [
|
|
17274
17235
|
{
|
|
17275
17236
|
key: ElementKinds.checkItem,
|
|
17276
17237
|
icon: 'list-check',
|
|
17277
|
-
name:
|
|
17278
|
-
translateKey: 'checkItem',
|
|
17238
|
+
name: locale().checkItem,
|
|
17279
17239
|
execute: editor => TodoItemEditor.insertTodoItem(editor),
|
|
17280
17240
|
active: editor => TodoItemEditor.isActive(editor)
|
|
17281
17241
|
}
|
|
@@ -17283,14 +17243,12 @@ const createTodoItemPlugin = createPluginFactory({
|
|
|
17283
17243
|
menuItems: [
|
|
17284
17244
|
{
|
|
17285
17245
|
key: ElementKinds.checkItem,
|
|
17286
|
-
keywords:
|
|
17287
|
-
description:
|
|
17288
|
-
descriptionTranslateKey: 'checkItemDesc',
|
|
17246
|
+
keywords: `dbsx,daibanshixiang,to do list,todolist,${locale().checkItem}`,
|
|
17247
|
+
description: locale().checkItemDesc,
|
|
17289
17248
|
execute: editor => TodoItemEditor.insertTodoItem(editor),
|
|
17290
17249
|
active: editor => TodoItemEditor.isActive(editor),
|
|
17291
17250
|
type: ThePluginMenuItemType.icon,
|
|
17292
|
-
name:
|
|
17293
|
-
translateKey: 'checkItem',
|
|
17251
|
+
name: locale().checkItem,
|
|
17294
17252
|
displayKey: '/dbsx',
|
|
17295
17253
|
icon: 'list-check',
|
|
17296
17254
|
menuIcon: PluginMenuIcons.checkItem
|
|
@@ -17300,43 +17258,43 @@ const createTodoItemPlugin = createPluginFactory({
|
|
|
17300
17258
|
allowParentTypes: [ElementKinds.tableCell, ElementKinds.blockquote],
|
|
17301
17259
|
editableWithReadonly: false
|
|
17302
17260
|
}
|
|
17303
|
-
});
|
|
17261
|
+
})();
|
|
17304
17262
|
|
|
17305
|
-
const internalPlugins = () => [
|
|
17263
|
+
const internalPlugins = (locale) => [
|
|
17306
17264
|
createTheHistoryPlugin(),
|
|
17307
|
-
createCommonPlugin(),
|
|
17265
|
+
createCommonPlugin(locale),
|
|
17308
17266
|
createInsertDataByInvalidTypePlugin(),
|
|
17309
17267
|
createRemoveEmptyPlugin(),
|
|
17310
17268
|
createRemoveVoidPlugin(),
|
|
17311
17269
|
createBlockCardPlugin(), // should in the front of list、resettype、todo、deserialize-html
|
|
17312
17270
|
createResetTypePlugin(),
|
|
17313
|
-
createIndentPlugin(), // should in the front of list
|
|
17314
|
-
createListPlugin(),
|
|
17315
|
-
createLinkPlugin(),
|
|
17316
|
-
createTablePlugin(),
|
|
17317
|
-
createTodoItemPlugin(),
|
|
17318
|
-
createHrPlugin(),
|
|
17319
|
-
createAlignPlugin(),
|
|
17320
|
-
createCodePlugin(),
|
|
17321
|
-
createHeadingPlugin(),
|
|
17322
|
-
createVerticalAlignPlugin(),
|
|
17323
|
-
createMarkPlugin(),
|
|
17324
|
-
createFontSizePlugin(),
|
|
17325
|
-
createColorPlugin(),
|
|
17271
|
+
createIndentPlugin(locale), // should in the front of list
|
|
17272
|
+
createListPlugin(locale),
|
|
17273
|
+
createLinkPlugin(locale),
|
|
17274
|
+
createTablePlugin(locale),
|
|
17275
|
+
createTodoItemPlugin(locale),
|
|
17276
|
+
createHrPlugin(locale),
|
|
17277
|
+
createAlignPlugin(locale),
|
|
17278
|
+
createCodePlugin(locale),
|
|
17279
|
+
createHeadingPlugin(locale),
|
|
17280
|
+
createVerticalAlignPlugin(locale),
|
|
17281
|
+
createMarkPlugin(locale),
|
|
17282
|
+
createFontSizePlugin(locale),
|
|
17283
|
+
createColorPlugin(locale),
|
|
17326
17284
|
createSoftBreakPlugin(),
|
|
17327
|
-
createBlockquotePlugin(),
|
|
17285
|
+
createBlockquotePlugin(locale),
|
|
17328
17286
|
createNodeIDPlugin(),
|
|
17329
17287
|
createAutoFormatPlugin(),
|
|
17330
|
-
createPaintFormatPlugin(),
|
|
17288
|
+
createPaintFormatPlugin(locale),
|
|
17331
17289
|
createTrailingNodePlugin(),
|
|
17332
17290
|
createMoveSelectionPlugin(),
|
|
17333
17291
|
createInsertParagraphNodesPlugin(),
|
|
17334
17292
|
createGetFragmentPlugin(),
|
|
17335
|
-
createImagePlugin(), // must be before withDeserializeHTML
|
|
17293
|
+
createImagePlugin(locale), // must be before withDeserializeHTML
|
|
17336
17294
|
createDeserializeHTMLPlugin(),
|
|
17337
17295
|
createDeserializeMdPlugin(),
|
|
17338
17296
|
createQuickInsertPlugin(), // must be before plugins that include onkeydown events
|
|
17339
|
-
createInlineCodePlugin(),
|
|
17297
|
+
createInlineCodePlugin(locale),
|
|
17340
17298
|
createMentionPlugin()
|
|
17341
17299
|
];
|
|
17342
17300
|
|
|
@@ -17394,6 +17352,7 @@ class TheEditorComponent {
|
|
|
17394
17352
|
this.elementToHtml = new WeakMap();
|
|
17395
17353
|
this.onChangeCallback = () => { };
|
|
17396
17354
|
this.onTouchedCallback = () => { };
|
|
17355
|
+
this.locale = injectTranslations(inject(TheI18nService));
|
|
17397
17356
|
this.isFirstWriteValue = true;
|
|
17398
17357
|
this.scrollSelectionIntoView = (e, domRange) => {
|
|
17399
17358
|
const { neededScrollIntoView } = e.options;
|
|
@@ -17560,7 +17519,7 @@ class TheEditorComponent {
|
|
|
17560
17519
|
autoNormalize: theOptions?.autoNormalize ?? presetAutoNormalize ?? false,
|
|
17561
17520
|
mode: theOptions?.mode ?? presetMode ?? TheDataMode.html,
|
|
17562
17521
|
inlineToolbarVisible: theOptions?.inlineToolbarVisible ?? presetInlineToolbarVisible,
|
|
17563
|
-
menu: theOptions?.menu ?? presetMenu ??
|
|
17522
|
+
menu: theOptions?.menu ?? presetMenu ?? getTheDefaultPluginMenu(this.locale),
|
|
17564
17523
|
toolbar: {
|
|
17565
17524
|
align: theOptions?.toolbar?.align ?? presetToolbarAlign,
|
|
17566
17525
|
global: optionsGlobalToolbar ?? presetGlobalToolbar ?? DefaultGlobalToolbarDefinition,
|
|
@@ -17579,7 +17538,7 @@ class TheEditorComponent {
|
|
|
17579
17538
|
});
|
|
17580
17539
|
}
|
|
17581
17540
|
getPlugins() {
|
|
17582
|
-
const defaultPlugins = internalPlugins();
|
|
17541
|
+
const defaultPlugins = internalPlugins(this.locale);
|
|
17583
17542
|
const presetPlugins = this.presetConfig?.plugins ?? [];
|
|
17584
17543
|
const applyPresetPlugins = presetPlugins.filter(presetPlugin => !this.thePlugins.some(plugin => presetPlugin.key === plugin.key));
|
|
17585
17544
|
return [...defaultPlugins, ...applyPresetPlugins, ...this.thePlugins];
|
|
@@ -17902,7 +17861,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
17902
17861
|
}] });
|
|
17903
17862
|
|
|
17904
17863
|
class BasicTest {
|
|
17905
|
-
constructor() {
|
|
17864
|
+
constructor(i18n) {
|
|
17906
17865
|
this.value = [
|
|
17907
17866
|
{
|
|
17908
17867
|
type: ElementKinds.paragraph,
|
|
@@ -17914,11 +17873,12 @@ class BasicTest {
|
|
|
17914
17873
|
}
|
|
17915
17874
|
];
|
|
17916
17875
|
this.plugins = [];
|
|
17876
|
+
this.locale = signal(i18n.getLocale()().translations);
|
|
17917
17877
|
}
|
|
17918
17878
|
editorCreate(editor) {
|
|
17919
17879
|
this.editor = editor;
|
|
17920
17880
|
}
|
|
17921
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BasicTest, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
17881
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BasicTest, deps: [{ token: TheI18nService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
17922
17882
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: BasicTest, isStandalone: true, selector: "basic-editor-component", providers: [
|
|
17923
17883
|
THY_TOOLTIP_DEFAULT_CONFIG_PROVIDER,
|
|
17924
17884
|
{
|
|
@@ -17942,7 +17902,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
17942
17902
|
}
|
|
17943
17903
|
]
|
|
17944
17904
|
}]
|
|
17945
|
-
}], propDecorators: { editorComponent: [{
|
|
17905
|
+
}], ctorParameters: () => [{ type: TheI18nService }], propDecorators: { editorComponent: [{
|
|
17946
17906
|
type: ViewChild,
|
|
17947
17907
|
args: [TheEditorComponent, { static: true }]
|
|
17948
17908
|
}] } });
|
|
@@ -18091,5 +18051,5 @@ const withTestPlugin = (plugins, initValue) => {
|
|
|
18091
18051
|
* Generated bundle index. Do not edit.
|
|
18092
18052
|
*/
|
|
18093
18053
|
|
|
18094
|
-
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,
|
|
18054
|
+
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, 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, QUICK_INSERT_HOTKEY, 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_I18N_DE_DE, THE_I18N_EN_US, THE_I18N_JA_JP, THE_I18N_LOCALE_ID, THE_I18N_RU_RU, THE_I18N_ZH_HANS, THE_I18N_ZH_HANT, THE_IMAGE_SERVICE_TOKEN, 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, TableCellEventDispatcher, TableEditor, TableHeaderBackgroundColor, TablePosition, TheBaseElement, TheBaseSuggestion, TheBaseToolbarDropdown, TheBaseToolbarItem, TheColumnResizeDirective, TheColumnResizeOverlayHandle, TheContextMenu, TheContextService, TheConversionHint, TheDataMode, TheDefaultElement, TheEditor, TheEditorComponent, TheEditorModule, TheI18nService, TheImage, TheInlineToolbar, TheListboxDirective, TheListboxGroupDirective, TheListboxOptionDirective, TheLocaleType, 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, deDeLocale, deleteElementKey, enUsLocale, 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, getTheDefaultPluginMenu, getToolbarClass, hasHeaderRow, headingOptions, htmlToTheia, idCreator, inValidTypes, initializeDefaultMenuIcons, injectTranslations, insertDataByInvalidType, internalPlugins, isCleanEmptyParagraph, isColorIndicator, isColorInput, isColorPanel, isDirectionKeydown, isInside, isMobileMode, isPrintMode, isPureEmptyParagraph, isRangeInTable, isRectangularInTableCells, isSelectedAllCell, isSelectionInTable, isVirtualKey, jaJpLocale, matchOptions, mergeArray, mergeDeepPlugins, mergeElementOptions, mergeOptions, nestedStructureByKey, normalizeValue, originOptions, plainToTheia, pluginKey, pluginKey1, pluginsByKey, reSelection, recursionNodes, refocus, ruRuLocale, scrollIntoView, setClipboardDataByDom, setEditorUUID, theTethysIconRegistryFaker, topLeftPosition, uniqueCellPosition, updatePopoverPosition, useElementStyle, withMention, withTestPlugin, withTheia, zhHansLocale, zhHantLocale };
|
|
18095
18055
|
//# sourceMappingURL=worktile-theia.mjs.map
|