@skyux/text-editor 5.0.1 → 5.5.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -1
- package/bundles/skyux-text-editor.umd.js +370 -223
- package/documentation.json +316 -302
- package/esm2015/index.js +15 -0
- package/esm2015/index.js.map +1 -0
- package/esm2015/lib/modules/rich-text-display/rich-text-display.component.js +39 -0
- package/esm2015/lib/modules/rich-text-display/rich-text-display.component.js.map +1 -0
- package/esm2015/lib/modules/rich-text-display/rich-text-display.module.js +18 -0
- package/esm2015/lib/modules/rich-text-display/rich-text-display.module.js.map +1 -0
- package/esm2015/lib/modules/shared/forms-utility.js +10 -0
- package/esm2015/lib/modules/shared/forms-utility.js.map +1 -0
- package/esm2015/lib/modules/shared/sky-text-editor-resources.module.js +106 -0
- package/esm2015/lib/modules/shared/sky-text-editor-resources.module.js.map +1 -0
- package/esm2015/lib/modules/text-editor/defaults/font-list-defaults.js +42 -0
- package/esm2015/lib/modules/text-editor/defaults/font-list-defaults.js.map +1 -0
- package/esm2015/lib/modules/text-editor/defaults/font-size-list-defaults.js +7 -0
- package/esm2015/lib/modules/text-editor/defaults/font-size-list-defaults.js.map +1 -0
- package/esm2015/lib/modules/text-editor/defaults/menu-defaults.js +5 -0
- package/esm2015/lib/modules/text-editor/defaults/menu-defaults.js.map +1 -0
- package/esm2015/lib/modules/text-editor/defaults/style-state-defaults.js +15 -0
- package/esm2015/lib/modules/text-editor/defaults/style-state-defaults.js.map +1 -0
- package/esm2015/lib/modules/text-editor/defaults/toolbar-action-defaults.js +12 -0
- package/esm2015/lib/modules/text-editor/defaults/toolbar-action-defaults.js.map +1 -0
- package/esm2015/lib/modules/text-editor/menubar/text-editor-menubar.component.js +196 -0
- package/esm2015/lib/modules/text-editor/menubar/text-editor-menubar.component.js.map +1 -0
- package/esm2015/lib/modules/text-editor/services/text-editor-adapter.service.js +473 -0
- package/esm2015/lib/modules/text-editor/services/text-editor-adapter.service.js.map +1 -0
- package/esm2015/lib/modules/text-editor/services/text-editor-selection.service.js +80 -0
- package/esm2015/lib/modules/text-editor/services/text-editor-selection.service.js.map +1 -0
- package/esm2015/lib/modules/text-editor/services/text-editor.service.js +61 -0
- package/esm2015/lib/modules/text-editor/services/text-editor.service.js.map +1 -0
- package/esm2015/lib/modules/text-editor/services/text-sanitization.service.js +38 -0
- package/esm2015/lib/modules/text-editor/services/text-sanitization.service.js.map +1 -0
- package/esm2015/lib/modules/text-editor/text-editor.component.js +322 -0
- package/esm2015/lib/modules/text-editor/text-editor.component.js.map +1 -0
- package/esm2015/lib/modules/text-editor/text-editor.module.js +99 -0
- package/esm2015/lib/modules/text-editor/text-editor.module.js.map +1 -0
- package/esm2015/lib/modules/text-editor/toolbar/text-editor-toolbar.component.js +175 -0
- package/esm2015/lib/modules/text-editor/toolbar/text-editor-toolbar.component.js.map +1 -0
- package/esm2015/lib/modules/text-editor/types/editor-command.js +2 -0
- package/esm2015/lib/modules/text-editor/types/editor-command.js.map +1 -0
- package/esm2015/lib/modules/text-editor/types/editor-setting.js +2 -0
- package/esm2015/lib/modules/text-editor/types/editor-setting.js.map +1 -0
- package/esm2015/lib/modules/text-editor/types/font-state.js +2 -0
- package/esm2015/lib/modules/text-editor/types/font-state.js.map +1 -0
- package/esm2015/lib/modules/text-editor/types/menu-type.js +2 -0
- package/esm2015/lib/modules/text-editor/types/menu-type.js.map +1 -0
- package/esm2015/lib/modules/text-editor/types/style-state.js +2 -0
- package/esm2015/lib/modules/text-editor/types/style-state.js.map +1 -0
- package/esm2015/lib/modules/text-editor/types/text-editor-merge-field.js +2 -0
- package/esm2015/lib/modules/text-editor/types/text-editor-merge-field.js.map +1 -0
- package/esm2015/lib/modules/text-editor/types/toolbar-action-type.js +2 -0
- package/esm2015/lib/modules/text-editor/types/toolbar-action-type.js.map +1 -0
- package/esm2015/lib/modules/text-editor/url-modal/text-editor-url-modal-context.js +6 -0
- package/esm2015/lib/modules/text-editor/url-modal/text-editor-url-modal-context.js.map +1 -0
- package/esm2015/lib/modules/text-editor/url-modal/text-editor-url-modal-result.js +2 -0
- package/esm2015/lib/modules/text-editor/url-modal/text-editor-url-modal-result.js.map +1 -0
- package/esm2015/lib/modules/text-editor/url-modal/text-editor-url-modal.component.js +121 -0
- package/esm2015/lib/modules/text-editor/url-modal/text-editor-url-modal.component.js.map +1 -0
- package/esm2015/lib/modules/text-editor/url-modal/text-editor-url-target.js +9 -0
- package/esm2015/lib/modules/text-editor/url-modal/text-editor-url-target.js.map +1 -0
- package/esm2015/skyux-text-editor.js +2 -2
- package/esm2015/skyux-text-editor.js.map +1 -0
- package/fesm2015/skyux-text-editor.js +411 -265
- package/fesm2015/skyux-text-editor.js.map +1 -1
- package/index.d.ts +12 -0
- package/{modules → lib/modules}/rich-text-display/rich-text-display.component.d.ts +0 -0
- package/{modules → lib/modules}/rich-text-display/rich-text-display.module.d.ts +0 -0
- package/{modules → lib/modules}/shared/forms-utility.d.ts +0 -0
- package/{modules → lib/modules}/shared/sky-text-editor-resources.module.d.ts +0 -0
- package/{modules → lib/modules}/text-editor/defaults/font-list-defaults.d.ts +0 -0
- package/{modules → lib/modules}/text-editor/defaults/font-size-list-defaults.d.ts +0 -0
- package/{modules → lib/modules}/text-editor/defaults/menu-defaults.d.ts +0 -0
- package/{modules → lib/modules}/text-editor/defaults/style-state-defaults.d.ts +0 -0
- package/{modules → lib/modules}/text-editor/defaults/toolbar-action-defaults.d.ts +0 -0
- package/{modules → lib/modules}/text-editor/menubar/text-editor-menubar.component.d.ts +0 -0
- package/{modules → lib/modules}/text-editor/services/text-editor-adapter.service.d.ts +0 -0
- package/{modules → lib/modules}/text-editor/services/text-editor-selection.service.d.ts +0 -0
- package/{modules → lib/modules}/text-editor/services/text-editor.service.d.ts +8 -0
- package/{modules → lib/modules}/text-editor/services/text-sanitization.service.d.ts +0 -0
- package/{modules → lib/modules}/text-editor/text-editor.component.d.ts +24 -10
- package/{modules → lib/modules}/text-editor/text-editor.module.d.ts +0 -0
- package/{modules → lib/modules}/text-editor/toolbar/text-editor-toolbar.component.d.ts +0 -0
- package/{modules → lib/modules}/text-editor/types/editor-command.d.ts +0 -0
- package/{modules → lib/modules}/text-editor/types/editor-setting.d.ts +6 -2
- package/{modules → lib/modules}/text-editor/types/font-state.d.ts +0 -0
- package/{modules → lib/modules}/text-editor/types/menu-type.d.ts +0 -0
- package/{modules → lib/modules}/text-editor/types/style-state.d.ts +0 -0
- package/{modules → lib/modules}/text-editor/types/text-editor-merge-field.d.ts +0 -0
- package/{modules → lib/modules}/text-editor/types/toolbar-action-type.d.ts +0 -0
- package/{modules → lib/modules}/text-editor/url-modal/text-editor-url-modal-context.d.ts +0 -0
- package/{modules → lib/modules}/text-editor/url-modal/text-editor-url-modal-result.d.ts +0 -0
- package/{modules → lib/modules}/text-editor/url-modal/text-editor-url-modal.component.d.ts +0 -0
- package/{modules → lib/modules}/text-editor/url-modal/text-editor-url-target.d.ts +0 -0
- package/package.json +13 -13
- package/skyux-text-editor.d.ts +1 -1
- package/LICENSE +0 -21
- package/bundles/skyux-text-editor.umd.js.map +0 -1
- package/esm2015/modules/rich-text-display/rich-text-display.component.js +0 -37
- package/esm2015/modules/rich-text-display/rich-text-display.module.js +0 -26
- package/esm2015/modules/shared/forms-utility.js +0 -10
- package/esm2015/modules/shared/sky-text-editor-resources.module.js +0 -41
- package/esm2015/modules/text-editor/defaults/font-list-defaults.js +0 -42
- package/esm2015/modules/text-editor/defaults/font-size-list-defaults.js +0 -5
- package/esm2015/modules/text-editor/defaults/menu-defaults.js +0 -8
- package/esm2015/modules/text-editor/defaults/style-state-defaults.js +0 -15
- package/esm2015/modules/text-editor/defaults/toolbar-action-defaults.js +0 -12
- package/esm2015/modules/text-editor/menubar/text-editor-menubar.component.js +0 -189
- package/esm2015/modules/text-editor/services/text-editor-adapter.service.js +0 -451
- package/esm2015/modules/text-editor/services/text-editor-selection.service.js +0 -76
- package/esm2015/modules/text-editor/services/text-editor.service.js +0 -49
- package/esm2015/modules/text-editor/services/text-sanitization.service.js +0 -38
- package/esm2015/modules/text-editor/text-editor.component.js +0 -282
- package/esm2015/modules/text-editor/text-editor.module.js +0 -101
- package/esm2015/modules/text-editor/toolbar/text-editor-toolbar.component.js +0 -163
- package/esm2015/modules/text-editor/types/editor-command.js +0 -2
- package/esm2015/modules/text-editor/types/editor-setting.js +0 -2
- package/esm2015/modules/text-editor/types/font-state.js +0 -2
- package/esm2015/modules/text-editor/types/menu-type.js +0 -2
- package/esm2015/modules/text-editor/types/style-state.js +0 -2
- package/esm2015/modules/text-editor/types/text-editor-merge-field.js +0 -2
- package/esm2015/modules/text-editor/types/toolbar-action-type.js +0 -2
- package/esm2015/modules/text-editor/url-modal/text-editor-url-modal-context.js +0 -6
- package/esm2015/modules/text-editor/url-modal/text-editor-url-modal-result.js +0 -2
- package/esm2015/modules/text-editor/url-modal/text-editor-url-modal.component.js +0 -112
- package/esm2015/modules/text-editor/url-modal/text-editor-url-target.js +0 -9
- package/esm2015/public-api.js +0 -15
- package/public-api.d.ts +0 -12
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/common'), require('@angular/core'), require('@angular/platform-browser'), require('dompurify'), require('@angular/forms'), require('@skyux/colorpicker'), require('@skyux/core'), require('@skyux/forms'), require('@skyux/modals'), require('@skyux/i18n'), require('@skyux/indicators'), require('@skyux/layout'), require('@skyux/popovers'), require('@skyux/tabs'), require('@skyux/theme'), require('rxjs'), require('rxjs/operators'), require('@skyux/validation')) :
|
|
3
3
|
typeof define === 'function' && define.amd ? define('@skyux/text-editor', ['exports', '@angular/common', '@angular/core', '@angular/platform-browser', 'dompurify', '@angular/forms', '@skyux/colorpicker', '@skyux/core', '@skyux/forms', '@skyux/modals', '@skyux/i18n', '@skyux/indicators', '@skyux/layout', '@skyux/popovers', '@skyux/tabs', '@skyux/theme', 'rxjs', 'rxjs/operators', '@skyux/validation'], factory) :
|
|
4
4
|
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.skyux = global.skyux || {}, global.skyux["text-editor"] = {}), global.ng.common, global.ng.core, global.ng.platformBrowser, global.createDOMPurify, global.ng.forms, global.i6$1, global.i3, global.i4$1, global.i1$1, global.i2, global.i7, global.i3$1, global.i4, global.i3$2, global.i6, global.rxjs, global.rxjs.operators, global.validation));
|
|
5
|
-
})(this, (function (exports,
|
|
5
|
+
})(this, (function (exports, i5, i0, i1, createDOMPurify, i5$1, i6$1, i3, i4$1, i1$1, i2, i7, i3$1, i4, i3$2, i6, rxjs, operators, validation) { 'use strict';
|
|
6
6
|
|
|
7
7
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
8
8
|
|
|
@@ -24,11 +24,11 @@
|
|
|
24
24
|
return Object.freeze(n);
|
|
25
25
|
}
|
|
26
26
|
|
|
27
|
-
var
|
|
27
|
+
var i5__namespace = /*#__PURE__*/_interopNamespace(i5);
|
|
28
28
|
var i0__namespace = /*#__PURE__*/_interopNamespace(i0);
|
|
29
29
|
var i1__namespace = /*#__PURE__*/_interopNamespace(i1);
|
|
30
30
|
var createDOMPurify__default = /*#__PURE__*/_interopDefaultLegacy(createDOMPurify);
|
|
31
|
-
var i5__namespace = /*#__PURE__*/_interopNamespace(i5);
|
|
31
|
+
var i5__namespace$1 = /*#__PURE__*/_interopNamespace(i5$1);
|
|
32
32
|
var i6__namespace$1 = /*#__PURE__*/_interopNamespace(i6$1);
|
|
33
33
|
var i3__namespace = /*#__PURE__*/_interopNamespace(i3);
|
|
34
34
|
var i4__namespace$1 = /*#__PURE__*/_interopNamespace(i4$1);
|
|
@@ -67,12 +67,12 @@
|
|
|
67
67
|
};
|
|
68
68
|
return SkyTextSanitizationService;
|
|
69
69
|
}());
|
|
70
|
-
SkyTextSanitizationService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
71
|
-
SkyTextSanitizationService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.
|
|
72
|
-
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
70
|
+
SkyTextSanitizationService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyTextSanitizationService, deps: [], target: i0__namespace.ɵɵFactoryTarget.Injectable });
|
|
71
|
+
SkyTextSanitizationService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyTextSanitizationService, providedIn: 'root' });
|
|
72
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyTextSanitizationService, decorators: [{
|
|
73
73
|
type: i0.Injectable,
|
|
74
74
|
args: [{
|
|
75
|
-
providedIn: 'root'
|
|
75
|
+
providedIn: 'root',
|
|
76
76
|
}]
|
|
77
77
|
}] });
|
|
78
78
|
|
|
@@ -102,13 +102,13 @@
|
|
|
102
102
|
});
|
|
103
103
|
return SkyRichTextDisplayComponent;
|
|
104
104
|
}());
|
|
105
|
-
SkyRichTextDisplayComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
106
|
-
SkyRichTextDisplayComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.
|
|
107
|
-
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
105
|
+
SkyRichTextDisplayComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyRichTextDisplayComponent, deps: [{ token: i1__namespace.DomSanitizer }, { token: SkyTextSanitizationService }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
106
|
+
SkyRichTextDisplayComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: SkyRichTextDisplayComponent, selector: "sky-rich-text-display", inputs: { richText: "richText" }, ngImport: i0__namespace, template: "<span class=\"sky-rich-text-display-text\" [innerHTML]=\"sanitizedText\"> </span>\n" });
|
|
107
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyRichTextDisplayComponent, decorators: [{
|
|
108
108
|
type: i0.Component,
|
|
109
109
|
args: [{
|
|
110
110
|
selector: 'sky-rich-text-display',
|
|
111
|
-
|
|
111
|
+
template: "<span class=\"sky-rich-text-display-text\" [innerHTML]=\"sanitizedText\"> </span>\n",
|
|
112
112
|
}]
|
|
113
113
|
}], ctorParameters: function () { return [{ type: i1__namespace.DomSanitizer }, { type: SkyTextSanitizationService }]; }, propDecorators: { richText: [{
|
|
114
114
|
type: i0.Input
|
|
@@ -119,23 +119,15 @@
|
|
|
119
119
|
}
|
|
120
120
|
return SkyRichTextDisplayModule;
|
|
121
121
|
}());
|
|
122
|
-
SkyRichTextDisplayModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
123
|
-
SkyRichTextDisplayModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.
|
|
124
|
-
SkyRichTextDisplayModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.
|
|
125
|
-
|
|
126
|
-
]] });
|
|
127
|
-
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0__namespace, type: SkyRichTextDisplayModule, decorators: [{
|
|
122
|
+
SkyRichTextDisplayModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyRichTextDisplayModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
|
|
123
|
+
SkyRichTextDisplayModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyRichTextDisplayModule, declarations: [SkyRichTextDisplayComponent], imports: [i5.CommonModule], exports: [SkyRichTextDisplayComponent] });
|
|
124
|
+
SkyRichTextDisplayModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyRichTextDisplayModule, imports: [[i5.CommonModule]] });
|
|
125
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyRichTextDisplayModule, decorators: [{
|
|
128
126
|
type: i0.NgModule,
|
|
129
127
|
args: [{
|
|
130
|
-
imports: [
|
|
131
|
-
|
|
132
|
-
],
|
|
133
|
-
exports: [
|
|
134
|
-
SkyRichTextDisplayComponent
|
|
135
|
-
],
|
|
136
|
-
declarations: [
|
|
137
|
-
SkyRichTextDisplayComponent
|
|
138
|
-
]
|
|
128
|
+
imports: [i5.CommonModule],
|
|
129
|
+
exports: [SkyRichTextDisplayComponent],
|
|
130
|
+
declarations: [SkyRichTextDisplayComponent],
|
|
139
131
|
}]
|
|
140
132
|
}] });
|
|
141
133
|
|
|
@@ -146,7 +138,68 @@
|
|
|
146
138
|
* To update this file, simply rerun the command.
|
|
147
139
|
*/
|
|
148
140
|
var RESOURCES = {
|
|
149
|
-
'EN-US': {
|
|
141
|
+
'EN-US': {
|
|
142
|
+
skyux_text_editor_format_menu_action_bold_label: { message: 'Bold' },
|
|
143
|
+
skyux_text_editor_format_menu_action_bold_key_shortcut: {
|
|
144
|
+
message: 'Ctrl+B',
|
|
145
|
+
},
|
|
146
|
+
skyux_text_editor_format_menu_action_italic_label: { message: 'Italic' },
|
|
147
|
+
skyux_text_editor_format_menu_action_italic_key_shortcut: {
|
|
148
|
+
message: 'Ctrl+I',
|
|
149
|
+
},
|
|
150
|
+
skyux_text_editor_format_menu_action_underline_label: {
|
|
151
|
+
message: 'Underline',
|
|
152
|
+
},
|
|
153
|
+
skyux_text_editor_format_menu_action_underline_key_shortcut: {
|
|
154
|
+
message: 'Ctrl+U',
|
|
155
|
+
},
|
|
156
|
+
skyux_text_editor_format_menu_action_strikethrough_label: {
|
|
157
|
+
message: 'Strikethrough',
|
|
158
|
+
},
|
|
159
|
+
skyux_text_editor_format_menu_action_clear_formatting_label: {
|
|
160
|
+
message: 'Clear formatting',
|
|
161
|
+
},
|
|
162
|
+
skyux_text_editor_edit_menu_action_undo_label: { message: 'Undo' },
|
|
163
|
+
skyux_text_editor_edit_menu_action_undo_key_shortcut: { message: 'Ctrl+Z' },
|
|
164
|
+
skyux_text_editor_edit_menu_action_redo_label: { message: 'Redo' },
|
|
165
|
+
skyux_text_editor_edit_menu_action_redo_key_shortcut: { message: 'Ctrl+Y' },
|
|
166
|
+
skyux_text_editor_edit_menu_action_cut_label: { message: 'Cut' },
|
|
167
|
+
skyux_text_editor_edit_menu_action_cut_key_shortcut: { message: 'Ctrl+X' },
|
|
168
|
+
skyux_text_editor_edit_menu_action_copy_label: { message: 'Copy' },
|
|
169
|
+
skyux_text_editor_edit_menu_action_copy_key_shortcut: { message: 'Ctrl+C' },
|
|
170
|
+
skyux_text_editor_edit_menu_action_paste_label: { message: 'Paste' },
|
|
171
|
+
skyux_text_editor_edit_menu_action_paste_key_shortcut: {
|
|
172
|
+
message: 'Ctrl+V',
|
|
173
|
+
},
|
|
174
|
+
skyux_text_editor_edit_menu_action_select_all_label: {
|
|
175
|
+
message: 'Select all',
|
|
176
|
+
},
|
|
177
|
+
skyux_text_editor_edit_menu_action_select_all_key_shortcut: {
|
|
178
|
+
message: 'Ctrl+A',
|
|
179
|
+
},
|
|
180
|
+
skyux_text_editor_menubar_dropdown_button_edit_label: { message: 'Edit' },
|
|
181
|
+
skyux_text_editor_menubar_dropdown_button_format_label: {
|
|
182
|
+
message: 'Format',
|
|
183
|
+
},
|
|
184
|
+
skyux_text_editor_menubar_dropdown_button_insert_label: {
|
|
185
|
+
message: 'Insert merge field',
|
|
186
|
+
},
|
|
187
|
+
skyux_text_editor_url_modal_header_label: { message: 'Create link' },
|
|
188
|
+
skyux_text_editor_url_modal_url_label: {
|
|
189
|
+
message: 'Enter a URL to link to:',
|
|
190
|
+
},
|
|
191
|
+
skyux_text_editor_url_modal_open_label: {
|
|
192
|
+
message: 'Where should it open?',
|
|
193
|
+
},
|
|
194
|
+
skyux_text_editor_url_modal_current_option_label: {
|
|
195
|
+
message: 'Current window',
|
|
196
|
+
},
|
|
197
|
+
skyux_text_editor_url_modal_new_option_label: { message: 'New window' },
|
|
198
|
+
skyux_text_editor_url_modal_email_label: { message: 'Email address' },
|
|
199
|
+
skyux_text_editor_url_modal_subject_label: { message: 'Subject line' },
|
|
200
|
+
skyux_text_editor_url_modal_save_button_label: { message: 'Save' },
|
|
201
|
+
skyux_text_editor_url_modal_cancel_button_label: { message: 'Cancel' },
|
|
202
|
+
},
|
|
150
203
|
};
|
|
151
204
|
var SkyTextEditorResourcesProvider = /** @class */ (function () {
|
|
152
205
|
function SkyTextEditorResourcesProvider() {
|
|
@@ -164,22 +217,26 @@
|
|
|
164
217
|
}
|
|
165
218
|
return SkyTextEditorResourcesModule;
|
|
166
219
|
}());
|
|
167
|
-
SkyTextEditorResourcesModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
168
|
-
SkyTextEditorResourcesModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.
|
|
169
|
-
SkyTextEditorResourcesModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.
|
|
220
|
+
SkyTextEditorResourcesModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyTextEditorResourcesModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
|
|
221
|
+
SkyTextEditorResourcesModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyTextEditorResourcesModule, exports: [i2.SkyI18nModule] });
|
|
222
|
+
SkyTextEditorResourcesModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyTextEditorResourcesModule, providers: [
|
|
223
|
+
{
|
|
170
224
|
provide: i2.SKY_LIB_RESOURCES_PROVIDERS,
|
|
171
225
|
useClass: SkyTextEditorResourcesProvider,
|
|
172
|
-
multi: true
|
|
173
|
-
}
|
|
174
|
-
|
|
226
|
+
multi: true,
|
|
227
|
+
},
|
|
228
|
+
], imports: [i2.SkyI18nModule] });
|
|
229
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyTextEditorResourcesModule, decorators: [{
|
|
175
230
|
type: i0.NgModule,
|
|
176
231
|
args: [{
|
|
177
232
|
exports: [i2.SkyI18nModule],
|
|
178
|
-
providers: [
|
|
233
|
+
providers: [
|
|
234
|
+
{
|
|
179
235
|
provide: i2.SKY_LIB_RESOURCES_PROVIDERS,
|
|
180
236
|
useClass: SkyTextEditorResourcesProvider,
|
|
181
|
-
multi: true
|
|
182
|
-
}
|
|
237
|
+
multi: true,
|
|
238
|
+
},
|
|
239
|
+
],
|
|
183
240
|
}]
|
|
184
241
|
}] });
|
|
185
242
|
|
|
@@ -520,40 +577,40 @@
|
|
|
520
577
|
var FONT_LIST_DEFAULTS = [
|
|
521
578
|
{
|
|
522
579
|
name: 'Blackbaud Sans',
|
|
523
|
-
value: '"Blackbaud Sans", Arial, sans-serif'
|
|
580
|
+
value: '"Blackbaud Sans", Arial, sans-serif',
|
|
524
581
|
},
|
|
525
582
|
{
|
|
526
583
|
name: 'Arial',
|
|
527
|
-
value: 'Arial'
|
|
584
|
+
value: 'Arial',
|
|
528
585
|
},
|
|
529
586
|
{
|
|
530
587
|
name: 'Arial Black',
|
|
531
|
-
value: '"Arial Black"'
|
|
588
|
+
value: '"Arial Black"',
|
|
532
589
|
},
|
|
533
590
|
{
|
|
534
591
|
name: 'Courier New',
|
|
535
|
-
value: '"Courier New"'
|
|
592
|
+
value: '"Courier New"',
|
|
536
593
|
},
|
|
537
594
|
{
|
|
538
595
|
name: 'Georgia',
|
|
539
|
-
value: 'Georgia, serif'
|
|
596
|
+
value: 'Georgia, serif',
|
|
540
597
|
},
|
|
541
598
|
{
|
|
542
599
|
name: 'Tahoma',
|
|
543
|
-
value: 'Tahoma, Geneva, sans-serif'
|
|
600
|
+
value: 'Tahoma, Geneva, sans-serif',
|
|
544
601
|
},
|
|
545
602
|
{
|
|
546
603
|
name: 'Times New Roman',
|
|
547
|
-
value: '"Times New Roman"'
|
|
604
|
+
value: '"Times New Roman"',
|
|
548
605
|
},
|
|
549
606
|
{
|
|
550
607
|
name: 'Trebuchet MS',
|
|
551
|
-
value: '"Trebuchet MS", sans-serif'
|
|
608
|
+
value: '"Trebuchet MS", sans-serif',
|
|
552
609
|
},
|
|
553
610
|
{
|
|
554
611
|
name: 'Verdana',
|
|
555
|
-
value: 'Verdana, Geneva, sans-serif'
|
|
556
|
-
}
|
|
612
|
+
value: 'Verdana, Geneva, sans-serif',
|
|
613
|
+
},
|
|
557
614
|
];
|
|
558
615
|
|
|
559
616
|
/**
|
|
@@ -567,7 +624,7 @@
|
|
|
567
624
|
boldState: false,
|
|
568
625
|
italicState: false,
|
|
569
626
|
underlineState: false,
|
|
570
|
-
linkState: false
|
|
627
|
+
linkState: false,
|
|
571
628
|
};
|
|
572
629
|
|
|
573
630
|
/**
|
|
@@ -586,10 +643,12 @@
|
|
|
586
643
|
function SkyTextEditorSelectionService() {
|
|
587
644
|
}
|
|
588
645
|
SkyTextEditorSelectionService.prototype.isElementSelected = function (documentEl, element) {
|
|
589
|
-
var selectedNode = this.getCurrentSelection(documentEl)
|
|
646
|
+
var selectedNode = this.getCurrentSelection(documentEl)
|
|
647
|
+
.anchorNode;
|
|
590
648
|
/* istanbul ignore next */
|
|
591
|
-
return selectedNode &&
|
|
592
|
-
(element.contains(selectedNode) ||
|
|
649
|
+
return (selectedNode &&
|
|
650
|
+
(element.contains(selectedNode) ||
|
|
651
|
+
(selectedNode.parentNode && element.contains(selectedNode.parentNode))));
|
|
593
652
|
};
|
|
594
653
|
SkyTextEditorSelectionService.prototype.getCurrentSelection = function (documentEl) {
|
|
595
654
|
return documentEl.getSelection();
|
|
@@ -602,7 +661,8 @@
|
|
|
602
661
|
selection.getRangeAt &&
|
|
603
662
|
selection.getRangeAt(0).commonAncestorContainer) {
|
|
604
663
|
selectedEl = selection.getRangeAt(0).commonAncestorContainer;
|
|
605
|
-
selectedEl =
|
|
664
|
+
selectedEl =
|
|
665
|
+
selectedEl.nodeType !== 1 ? selectedEl.parentElement : selectedEl;
|
|
606
666
|
}
|
|
607
667
|
else if (selection && selection.type !== 'Control') {
|
|
608
668
|
selectedEl = selection.createRange().parentElement();
|
|
@@ -621,7 +681,8 @@
|
|
|
621
681
|
return sel.getRangeAt(0);
|
|
622
682
|
}
|
|
623
683
|
}
|
|
624
|
-
else if (documentEl.getSelection() &&
|
|
684
|
+
else if (documentEl.getSelection() &&
|
|
685
|
+
documentEl.getSelection().getRangeAt) {
|
|
625
686
|
return documentEl.getSelection().getRangeAt(0);
|
|
626
687
|
}
|
|
627
688
|
};
|
|
@@ -647,12 +708,12 @@
|
|
|
647
708
|
};
|
|
648
709
|
return SkyTextEditorSelectionService;
|
|
649
710
|
}());
|
|
650
|
-
SkyTextEditorSelectionService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
651
|
-
SkyTextEditorSelectionService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.
|
|
652
|
-
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
711
|
+
SkyTextEditorSelectionService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyTextEditorSelectionService, deps: [], target: i0__namespace.ɵɵFactoryTarget.Injectable });
|
|
712
|
+
SkyTextEditorSelectionService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyTextEditorSelectionService, providedIn: 'root' });
|
|
713
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyTextEditorSelectionService, decorators: [{
|
|
653
714
|
type: i0.Injectable,
|
|
654
715
|
args: [{
|
|
655
|
-
providedIn: 'root'
|
|
716
|
+
providedIn: 'root',
|
|
656
717
|
}]
|
|
657
718
|
}] });
|
|
658
719
|
|
|
@@ -666,6 +727,12 @@
|
|
|
666
727
|
*/
|
|
667
728
|
this.editors = {};
|
|
668
729
|
}
|
|
730
|
+
/**
|
|
731
|
+
* Returns the blur observable from the editor with the corresponding id.
|
|
732
|
+
*/
|
|
733
|
+
SkyTextEditorService.prototype.blurListener = function (id) {
|
|
734
|
+
return this.editors[id].blurObservable;
|
|
735
|
+
};
|
|
669
736
|
/**
|
|
670
737
|
* Returns the click observable from the editor with the corresponding id.
|
|
671
738
|
*/
|
|
@@ -678,6 +745,12 @@
|
|
|
678
745
|
SkyTextEditorService.prototype.commandChangeListener = function (id) {
|
|
679
746
|
return this.editors[id].commandChangeObservable;
|
|
680
747
|
};
|
|
748
|
+
/**
|
|
749
|
+
* Returns the input change observable from the editor with the corresponding id.
|
|
750
|
+
*/
|
|
751
|
+
SkyTextEditorService.prototype.inputListener = function (id) {
|
|
752
|
+
return this.editors[id].inputObservable;
|
|
753
|
+
};
|
|
681
754
|
/**
|
|
682
755
|
* Removes editor from the `editors` index by id.
|
|
683
756
|
*/
|
|
@@ -695,12 +768,12 @@
|
|
|
695
768
|
};
|
|
696
769
|
return SkyTextEditorService;
|
|
697
770
|
}());
|
|
698
|
-
SkyTextEditorService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
699
|
-
SkyTextEditorService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.
|
|
700
|
-
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
771
|
+
SkyTextEditorService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyTextEditorService, deps: [], target: i0__namespace.ɵɵFactoryTarget.Injectable });
|
|
772
|
+
SkyTextEditorService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyTextEditorService, providedIn: 'root' });
|
|
773
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyTextEditorService, decorators: [{
|
|
701
774
|
type: i0.Injectable,
|
|
702
775
|
args: [{
|
|
703
|
-
providedIn: 'root'
|
|
776
|
+
providedIn: 'root',
|
|
704
777
|
}]
|
|
705
778
|
}] });
|
|
706
779
|
|
|
@@ -814,7 +887,7 @@
|
|
|
814
887
|
boldState: documentEl.queryCommandState('Bold'),
|
|
815
888
|
italicState: documentEl.queryCommandState('Italic'),
|
|
816
889
|
underlineState: documentEl.queryCommandState('Underline'),
|
|
817
|
-
linkState: this.hasLink(id)
|
|
890
|
+
linkState: this.hasLink(id),
|
|
818
891
|
};
|
|
819
892
|
}
|
|
820
893
|
/* istanbul ignore next */
|
|
@@ -841,7 +914,9 @@
|
|
|
841
914
|
var windowEl = this.getContentWindowEl(id);
|
|
842
915
|
var iframeDocumentEl = this.getIframeDocumentEl(id);
|
|
843
916
|
var currentSelection = this.selectionService.getCurrentSelectionRange(iframeDocumentEl, windowEl);
|
|
844
|
-
var cursorIsNotActiveAndHasReset = currentSelection &&
|
|
917
|
+
var cursorIsNotActiveAndHasReset = currentSelection &&
|
|
918
|
+
currentSelection.startOffset === 0 &&
|
|
919
|
+
currentSelection.endOffset === 0;
|
|
845
920
|
if (!this.editorSelected(id) || cursorIsNotActiveAndHasReset) {
|
|
846
921
|
// focus the end of the editor
|
|
847
922
|
var documentEl = this.windowService.nativeWindow.document;
|
|
@@ -877,8 +952,10 @@
|
|
|
877
952
|
var anchorEl = this.getSelectedAnchorTag(editorId);
|
|
878
953
|
if (anchorEl && anchorEl.href) {
|
|
879
954
|
link = {
|
|
880
|
-
target: anchorEl.getAttribute('target') === '_blank'
|
|
881
|
-
|
|
955
|
+
target: anchorEl.getAttribute('target') === '_blank'
|
|
956
|
+
? UrlTarget.NewWindow
|
|
957
|
+
: UrlTarget.None,
|
|
958
|
+
url: anchorEl.href,
|
|
882
959
|
};
|
|
883
960
|
}
|
|
884
961
|
return link;
|
|
@@ -906,7 +983,7 @@
|
|
|
906
983
|
for (var fontElements_1 = __values(fontElements), fontElements_1_1 = fontElements_1.next(); !fontElements_1_1.done; fontElements_1_1 = fontElements_1.next()) {
|
|
907
984
|
var element = fontElements_1_1.value;
|
|
908
985
|
element.removeAttribute('size');
|
|
909
|
-
element.style.fontSize =
|
|
986
|
+
element.style.fontSize = fontSize + 'px';
|
|
910
987
|
}
|
|
911
988
|
}
|
|
912
989
|
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
@@ -922,9 +999,9 @@
|
|
|
922
999
|
};
|
|
923
1000
|
SkyTextEditorAdapterService.prototype.removeObservers = function (setting) {
|
|
924
1001
|
/* istanbul ignore next */
|
|
925
|
-
var documentEl = setting.iframeElementRef.contentWindow
|
|
926
|
-
setting.iframeElementRef.contentWindow.document
|
|
927
|
-
setting.iframeElementRef.contentDocument;
|
|
1002
|
+
var documentEl = setting.iframeElementRef.contentWindow
|
|
1003
|
+
? setting.iframeElementRef.contentWindow.document
|
|
1004
|
+
: setting.iframeElementRef.contentDocument;
|
|
928
1005
|
setting.selectionChangeObservable.complete();
|
|
929
1006
|
setting.clickObservable.complete();
|
|
930
1007
|
setting.commandChangeObservable.complete();
|
|
@@ -956,13 +1033,14 @@
|
|
|
956
1033
|
}
|
|
957
1034
|
var tempRange = document.createRange();
|
|
958
1035
|
tempRange.selectNodeContents(element);
|
|
959
|
-
return (selectedRange.compareBoundaryPoints(Range.START_TO_START, tempRange) !== -1
|
|
960
|
-
|
|
961
|
-
(selectedRange.compareBoundaryPoints(Range.END_TO_START, tempRange) !== -1
|
|
962
|
-
|
|
1036
|
+
return ((selectedRange.compareBoundaryPoints(Range.START_TO_START, tempRange) !== -1 &&
|
|
1037
|
+
selectedRange.compareBoundaryPoints(Range.START_TO_END, tempRange) !== 1) ||
|
|
1038
|
+
(selectedRange.compareBoundaryPoints(Range.END_TO_START, tempRange) !== -1 &&
|
|
1039
|
+
selectedRange.compareBoundaryPoints(Range.END_TO_END, tempRange) !==
|
|
1040
|
+
1));
|
|
963
1041
|
}
|
|
964
1042
|
// Normal non-IE
|
|
965
|
-
return !!element && !!element.href && selectedRange.intersectsNode(element);
|
|
1043
|
+
return (!!element && !!element.href && selectedRange.intersectsNode(element));
|
|
966
1044
|
});
|
|
967
1045
|
};
|
|
968
1046
|
SkyTextEditorAdapterService.prototype.getIframeDocumentEl = function (id) {
|
|
@@ -999,9 +1077,9 @@
|
|
|
999
1077
|
};
|
|
1000
1078
|
SkyTextEditorAdapterService.prototype.createObservers = function (id, element) {
|
|
1001
1079
|
/* istanbul ignore next */
|
|
1002
|
-
var documentEl = element.contentWindow
|
|
1003
|
-
element.contentWindow.document
|
|
1004
|
-
element.contentDocument;
|
|
1080
|
+
var documentEl = element.contentWindow
|
|
1081
|
+
? element.contentWindow.document
|
|
1082
|
+
: element.contentDocument;
|
|
1005
1083
|
// Firefox bug where we need to open/close to cancel load so it doesn't overwrite attrs
|
|
1006
1084
|
documentEl.open();
|
|
1007
1085
|
documentEl.close();
|
|
@@ -1010,18 +1088,27 @@
|
|
|
1010
1088
|
var clickObservable = new rxjs.Subject();
|
|
1011
1089
|
var clickListener = function () { return clickObservable.next(); };
|
|
1012
1090
|
var pasteListener = this.getPasteOverride(id);
|
|
1091
|
+
var blurObservable = new rxjs.Subject();
|
|
1092
|
+
var blurListener = function () { return blurObservable.next(); };
|
|
1093
|
+
var inputObservable = new rxjs.Subject();
|
|
1094
|
+
var inputListener = function () { return inputObservable.next(); };
|
|
1013
1095
|
documentEl.addEventListener('selectionchange', selectionListener);
|
|
1014
|
-
documentEl.addEventListener('input',
|
|
1096
|
+
documentEl.addEventListener('input', inputListener);
|
|
1015
1097
|
documentEl.addEventListener('mousedown', clickListener);
|
|
1016
1098
|
documentEl.body.addEventListener('paste', pasteListener);
|
|
1099
|
+
documentEl.body.addEventListener('blur', blurListener);
|
|
1017
1100
|
return {
|
|
1101
|
+
blurObservable: blurObservable,
|
|
1102
|
+
clickObservable: clickObservable,
|
|
1103
|
+
commandChangeObservable: new rxjs.Subject(),
|
|
1018
1104
|
iframeElementRef: element,
|
|
1019
|
-
|
|
1105
|
+
inputObservable: inputObservable,
|
|
1106
|
+
selectionChangeObservable: selectionObservable,
|
|
1107
|
+
blurListener: blurListener,
|
|
1020
1108
|
clickListener: clickListener,
|
|
1109
|
+
inputListener: inputListener,
|
|
1021
1110
|
pasteListener: pasteListener,
|
|
1022
|
-
|
|
1023
|
-
clickObservable: clickObservable,
|
|
1024
|
-
commandChangeObservable: new rxjs.Subject()
|
|
1111
|
+
selectionListener: selectionListener,
|
|
1025
1112
|
};
|
|
1026
1113
|
};
|
|
1027
1114
|
/* istanbul ignore next */
|
|
@@ -1043,11 +1130,15 @@
|
|
|
1043
1130
|
if (typeof commandValue === 'number') {
|
|
1044
1131
|
/* istanbul ignore next */
|
|
1045
1132
|
// tslint:disable-next-line: no-bitwise
|
|
1046
|
-
return 'rgb(' +
|
|
1133
|
+
return ('rgb(' +
|
|
1134
|
+
(commandValue & 0xff) +
|
|
1135
|
+
', ' +
|
|
1047
1136
|
// tslint:disable-next-line: no-bitwise
|
|
1048
|
-
((commandValue &
|
|
1137
|
+
((commandValue & 0xff00) >> 8) +
|
|
1138
|
+
', ' +
|
|
1049
1139
|
// tslint:disable-next-line: no-bitwise
|
|
1050
|
-
((commandValue &
|
|
1140
|
+
((commandValue & 0xff0000) >> 16) +
|
|
1141
|
+
')');
|
|
1051
1142
|
}
|
|
1052
1143
|
// Firefox uses 'Transparent' instead of a color value
|
|
1053
1144
|
/* istanbul ignore next */
|
|
@@ -1122,8 +1213,8 @@
|
|
|
1122
1213
|
}
|
|
1123
1214
|
var removableElements = orphanElements.filter(function (element) {
|
|
1124
1215
|
var tagName = element.tagName.toUpperCase();
|
|
1125
|
-
return (tagName === 'FONT' || tagName === 'SPAN') &&
|
|
1126
|
-
(element.attributes.length === 0 || !element.hasChildNodes);
|
|
1216
|
+
return ((tagName === 'FONT' || tagName === 'SPAN') &&
|
|
1217
|
+
(element.attributes.length === 0 || !element.hasChildNodes));
|
|
1127
1218
|
});
|
|
1128
1219
|
try {
|
|
1129
1220
|
for (var removableElements_1 = __values(removableElements), removableElements_1_1 = removableElements_1.next(); !removableElements_1_1.done; removableElements_1_1 = removableElements_1.next()) {
|
|
@@ -1148,7 +1239,8 @@
|
|
|
1148
1239
|
};
|
|
1149
1240
|
// Certain values are encoded in html and need to be decoded
|
|
1150
1241
|
SkyTextEditorAdapterService.prototype.replaceHtmlCodes = function (str) {
|
|
1151
|
-
return str
|
|
1242
|
+
return str
|
|
1243
|
+
.replace(/ /, String.fromCharCode(160))
|
|
1152
1244
|
.replace(/</g, '<')
|
|
1153
1245
|
.replace(/>/g, '>')
|
|
1154
1246
|
.replace(/&/g, '&');
|
|
@@ -1166,12 +1258,12 @@
|
|
|
1166
1258
|
};
|
|
1167
1259
|
return SkyTextEditorAdapterService;
|
|
1168
1260
|
}());
|
|
1169
|
-
SkyTextEditorAdapterService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
1170
|
-
SkyTextEditorAdapterService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.
|
|
1171
|
-
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
1261
|
+
SkyTextEditorAdapterService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyTextEditorAdapterService, deps: [{ token: SkyTextEditorSelectionService }, { token: SkyTextEditorService }, { token: i3__namespace.SkyAppWindowRef }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
|
|
1262
|
+
SkyTextEditorAdapterService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyTextEditorAdapterService, providedIn: 'root' });
|
|
1263
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyTextEditorAdapterService, decorators: [{
|
|
1172
1264
|
type: i0.Injectable,
|
|
1173
1265
|
args: [{
|
|
1174
|
-
providedIn: 'root'
|
|
1266
|
+
providedIn: 'root',
|
|
1175
1267
|
}]
|
|
1176
1268
|
}], ctorParameters: function () { return [{ type: SkyTextEditorSelectionService }, { type: SkyTextEditorService }, { type: i3__namespace.SkyAppWindowRef }]; } });
|
|
1177
1269
|
|
|
@@ -1208,8 +1300,7 @@
|
|
|
1208
1300
|
});
|
|
1209
1301
|
SkyTextEditorMenubarComponent.prototype.ngOnInit = function () {
|
|
1210
1302
|
var _this = this;
|
|
1211
|
-
this.editorFocusStream
|
|
1212
|
-
.pipe(operators.takeUntil(this.ngUnsubscribe)).subscribe(function () {
|
|
1303
|
+
this.editorFocusStream.pipe(operators.takeUntil(this.ngUnsubscribe)).subscribe(function () {
|
|
1213
1304
|
_this.closeDropdowns();
|
|
1214
1305
|
});
|
|
1215
1306
|
rxjs.forkJoin([
|
|
@@ -1234,7 +1325,7 @@
|
|
|
1234
1325
|
this.resources.getString('skyux_text_editor_edit_menu_action_paste_label'),
|
|
1235
1326
|
this.resources.getString('skyux_text_editor_edit_menu_action_paste_key_shortcut'),
|
|
1236
1327
|
this.resources.getString('skyux_text_editor_edit_menu_action_select_all_label'),
|
|
1237
|
-
this.resources.getString('skyux_text_editor_edit_menu_action_select_all_key_shortcut')
|
|
1328
|
+
this.resources.getString('skyux_text_editor_edit_menu_action_select_all_key_shortcut'),
|
|
1238
1329
|
])
|
|
1239
1330
|
.pipe(operators.take(1))
|
|
1240
1331
|
.subscribe(function (resources) {
|
|
@@ -1242,67 +1333,67 @@
|
|
|
1242
1333
|
{
|
|
1243
1334
|
function: function () { return _this.execCommand('bold'); },
|
|
1244
1335
|
label: resources[0],
|
|
1245
|
-
keyShortcut: resources[1]
|
|
1336
|
+
keyShortcut: resources[1],
|
|
1246
1337
|
},
|
|
1247
1338
|
{
|
|
1248
1339
|
function: function () { return _this.execCommand('italic'); },
|
|
1249
1340
|
label: resources[2],
|
|
1250
|
-
keyShortcut: resources[3]
|
|
1341
|
+
keyShortcut: resources[3],
|
|
1251
1342
|
},
|
|
1252
1343
|
{
|
|
1253
1344
|
function: function () { return _this.execCommand('underline'); },
|
|
1254
1345
|
label: resources[4],
|
|
1255
|
-
keyShortcut: resources[5]
|
|
1346
|
+
keyShortcut: resources[5],
|
|
1256
1347
|
},
|
|
1257
1348
|
{
|
|
1258
1349
|
function: function () { return _this.execCommand('strikethrough'); },
|
|
1259
|
-
label: resources[6]
|
|
1350
|
+
label: resources[6],
|
|
1260
1351
|
},
|
|
1261
1352
|
{
|
|
1262
|
-
isDivider: true
|
|
1353
|
+
isDivider: true,
|
|
1263
1354
|
},
|
|
1264
1355
|
{
|
|
1265
1356
|
function: function () { return _this.clearFormat(); },
|
|
1266
|
-
label: resources[7]
|
|
1267
|
-
}
|
|
1357
|
+
label: resources[7],
|
|
1358
|
+
},
|
|
1268
1359
|
];
|
|
1269
1360
|
_this.editItems = [
|
|
1270
1361
|
{
|
|
1271
1362
|
function: function () { return _this.execCommand('undo'); },
|
|
1272
1363
|
label: resources[8],
|
|
1273
|
-
keyShortcut: resources[9]
|
|
1364
|
+
keyShortcut: resources[9],
|
|
1274
1365
|
},
|
|
1275
1366
|
{
|
|
1276
1367
|
function: function () { return _this.execCommand('redo'); },
|
|
1277
1368
|
label: resources[10],
|
|
1278
|
-
keyShortcut: resources[11]
|
|
1369
|
+
keyShortcut: resources[11],
|
|
1279
1370
|
},
|
|
1280
1371
|
{
|
|
1281
|
-
isDivider: true
|
|
1372
|
+
isDivider: true,
|
|
1282
1373
|
},
|
|
1283
1374
|
{
|
|
1284
1375
|
function: function () { return _this.execCommand('cut'); },
|
|
1285
1376
|
label: resources[12],
|
|
1286
|
-
keyShortcut: resources[13]
|
|
1377
|
+
keyShortcut: resources[13],
|
|
1287
1378
|
},
|
|
1288
1379
|
{
|
|
1289
1380
|
function: function () { return _this.execCommand('copy'); },
|
|
1290
1381
|
label: resources[14],
|
|
1291
|
-
keyShortcut: resources[15]
|
|
1382
|
+
keyShortcut: resources[15],
|
|
1292
1383
|
},
|
|
1293
1384
|
{
|
|
1294
1385
|
function: function () { return _this.execCommand('paste'); },
|
|
1295
1386
|
label: resources[16],
|
|
1296
|
-
keyShortcut: resources[17]
|
|
1387
|
+
keyShortcut: resources[17],
|
|
1297
1388
|
},
|
|
1298
1389
|
{
|
|
1299
|
-
isDivider: true
|
|
1390
|
+
isDivider: true,
|
|
1300
1391
|
},
|
|
1301
1392
|
{
|
|
1302
1393
|
function: function () { return _this.execCommand('selectAll'); },
|
|
1303
1394
|
label: resources[18],
|
|
1304
|
-
keyShortcut: resources[19]
|
|
1305
|
-
}
|
|
1395
|
+
keyShortcut: resources[19],
|
|
1396
|
+
},
|
|
1306
1397
|
];
|
|
1307
1398
|
});
|
|
1308
1399
|
};
|
|
@@ -1314,13 +1405,18 @@
|
|
|
1314
1405
|
if (value === void 0) { value = ''; }
|
|
1315
1406
|
this.adapterService.execCommand(this.editorId, {
|
|
1316
1407
|
command: command,
|
|
1317
|
-
value: value
|
|
1408
|
+
value: value,
|
|
1318
1409
|
});
|
|
1319
1410
|
};
|
|
1320
1411
|
SkyTextEditorMenubarComponent.prototype.insertMergeField = function (field) {
|
|
1321
|
-
this.execCommand('insertHTML', '<img style="display: inline; cursor: grab;" data-fieldid="' +
|
|
1322
|
-
|
|
1323
|
-
'"
|
|
1412
|
+
this.execCommand('insertHTML', '<img style="display: inline; cursor: grab;" data-fieldid="' +
|
|
1413
|
+
field.id +
|
|
1414
|
+
'" data-fielddisplay="' +
|
|
1415
|
+
field.name +
|
|
1416
|
+
'" src="' +
|
|
1417
|
+
(field.previewImageUrl ||
|
|
1418
|
+
this.adapterService.getMergeFieldDataURI(field.name)) +
|
|
1419
|
+
'">');
|
|
1324
1420
|
};
|
|
1325
1421
|
SkyTextEditorMenubarComponent.prototype.closeDropdowns = function () {
|
|
1326
1422
|
this.editDropdownStream.next({ type: i4.SkyDropdownMessageType.Close });
|
|
@@ -1330,22 +1426,23 @@
|
|
|
1330
1426
|
SkyTextEditorMenubarComponent.prototype.clearFormat = function () {
|
|
1331
1427
|
var currentSelection = this.adapterService.getCurrentSelection(this.editorId);
|
|
1332
1428
|
/* istanbul ignore else */
|
|
1333
|
-
if (currentSelection.rangeCount > 0 &&
|
|
1429
|
+
if (currentSelection.rangeCount > 0 &&
|
|
1430
|
+
currentSelection.getRangeAt(0).toString().length <= 0) {
|
|
1334
1431
|
this.execCommand('selectAll');
|
|
1335
1432
|
}
|
|
1336
1433
|
this.execCommand('removeFormat');
|
|
1337
1434
|
};
|
|
1338
1435
|
return SkyTextEditorMenubarComponent;
|
|
1339
1436
|
}());
|
|
1340
|
-
SkyTextEditorMenubarComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
1341
|
-
SkyTextEditorMenubarComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.
|
|
1342
|
-
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
1437
|
+
SkyTextEditorMenubarComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyTextEditorMenubarComponent, deps: [{ token: SkyTextEditorAdapterService }, { token: i0__namespace.ChangeDetectorRef }, { token: i2__namespace.SkyLibResourcesService }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
1438
|
+
SkyTextEditorMenubarComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: SkyTextEditorMenubarComponent, selector: "sky-text-editor-menubar", inputs: { editorFocusStream: "editorFocusStream", editorId: "editorId", menus: "menus", mergeFields: "mergeFields", disabled: "disabled" }, ngImport: i0__namespace, template: "<sky-toolbar-item\n *ngFor=\"let menu of menus\"\n class=\"sky-text-editor-menu\"\n [ngClass]=\"'sky-text-editor-menu-' + menu\"\n>\n <ng-container [ngSwitch]=\"menu\">\n <ng-container *ngSwitchCase=\"'edit'\">\n <sky-dropdown\n label=\"Edit menu\"\n [disabled]=\"disabled\"\n [messageStream]=\"editDropdownStream\"\n >\n <sky-dropdown-button>\n {{\n 'skyux_text_editor_menubar_dropdown_button_edit_label'\n | skyLibResources\n }}\n </sky-dropdown-button>\n <sky-dropdown-menu>\n <sky-dropdown-item *ngFor=\"let editItem of editItems\">\n <button\n *ngIf=\"!editItem.isDivider\"\n type=\"button\"\n (click)=\"editItem.function()\"\n >\n {{ editItem.label }}\n <div\n *ngIf=\"editItem.keyShortcut\"\n class=\"sky-text-editor-menu-key-shortcut\"\n [skyThemeClass]=\"{\n 'sky-font-deemphasized': 'modern',\n 'sky-deemphasized': 'default'\n }\"\n >\n {{ editItem.keyShortcut }}\n </div>\n </button>\n <div\n *ngIf=\"editItem.isDivider\"\n class=\"sky-text-editor-dropdown-item-divider\"\n role=\"divider\"\n ></div>\n </sky-dropdown-item>\n </sky-dropdown-menu>\n </sky-dropdown>\n </ng-container>\n <ng-container *ngSwitchCase=\"'format'\">\n <sky-dropdown\n label=\"Format menu\"\n [disabled]=\"disabled\"\n [messageStream]=\"formatDropdownStream\"\n >\n <sky-dropdown-button>\n {{\n 'skyux_text_editor_menubar_dropdown_button_format_label'\n | skyLibResources\n }}\n </sky-dropdown-button>\n <sky-dropdown-menu>\n <sky-dropdown-item *ngFor=\"let formatItem of formatItems\">\n <button\n *ngIf=\"!formatItem.isDivider\"\n type=\"button\"\n (click)=\"formatItem.function()\"\n >\n {{ formatItem.label }}\n <div\n *ngIf=\"formatItem.keyShortcut\"\n class=\"sky-text-editor-menu-key-shortcut\"\n [skyThemeClass]=\"{\n 'sky-font-deemphasized': 'modern',\n 'sky-deemphasized': 'default'\n }\"\n >\n {{ formatItem.keyShortcut }}\n </div>\n </button>\n <div\n *ngIf=\"formatItem.isDivider\"\n class=\"sky-text-editor-dropdown-item-divider\"\n role=\"divider\"\n ></div>\n </sky-dropdown-item>\n </sky-dropdown-menu>\n </sky-dropdown>\n </ng-container>\n <ng-container *ngSwitchCase=\"'merge-field'\">\n <sky-dropdown\n *ngIf=\"mergeFields && mergeFields.length > 0\"\n label=\"Insert merge field\"\n [disabled]=\"disabled\"\n [messageStream]=\"mergeFieldDropdownStream\"\n >\n <sky-dropdown-button>\n {{\n 'skyux_text_editor_menubar_dropdown_button_insert_label'\n | skyLibResources\n }}\n </sky-dropdown-button>\n <sky-dropdown-menu>\n <sky-dropdown-item *ngFor=\"let mergeField of mergeFields\">\n <button type=\"button\" (click)=\"insertMergeField(mergeField)\">\n {{ mergeField.name }}\n </button>\n </sky-dropdown-item>\n </sky-dropdown-menu>\n </sky-dropdown>\n </ng-container>\n </ng-container>\n</sky-toolbar-item>\n", styles: [".sky-text-editor-dropdown-item-divider{border:0;padding:0;height:1px;margin:9px 1px;overflow:hidden;background:transparent;border-bottom:1px solid rgba(0,0,0,.1);cursor:default;filter:none}.sky-text-editor-menu-key-shortcut{float:right;margin-left:15px}\n"], components: [{ type: i3__namespace$1.λ39, selector: "sky-toolbar-item" }, { type: i4__namespace.λ3, selector: "sky-dropdown", inputs: ["buttonStyle", "buttonType", "disabled", "dismissOnBlur", "label", "horizontalAlignment", "messageStream", "title", "trigger"] }, { type: i4__namespace.λ2, selector: "sky-dropdown-button" }, { type: i4__namespace.λ4, selector: "sky-dropdown-menu", inputs: ["ariaLabelledBy", "ariaRole", "useNativeFocus"], outputs: ["menuChanges"] }, { type: i4__namespace.λ1, selector: "sky-dropdown-item", inputs: ["ariaRole"] }], directives: [{ type: i5__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i5__namespace.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i5__namespace.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i5__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6__namespace.λ2, selector: "[skyThemeClass]", inputs: ["class", "skyThemeClass"] }], pipes: { "skyLibResources": i2__namespace.SkyLibResourcesPipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
|
|
1439
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyTextEditorMenubarComponent, decorators: [{
|
|
1343
1440
|
type: i0.Component,
|
|
1344
1441
|
args: [{
|
|
1345
1442
|
selector: 'sky-text-editor-menubar',
|
|
1346
|
-
|
|
1347
|
-
|
|
1348
|
-
changeDetection: i0.ChangeDetectionStrategy.OnPush
|
|
1443
|
+
template: "<sky-toolbar-item\n *ngFor=\"let menu of menus\"\n class=\"sky-text-editor-menu\"\n [ngClass]=\"'sky-text-editor-menu-' + menu\"\n>\n <ng-container [ngSwitch]=\"menu\">\n <ng-container *ngSwitchCase=\"'edit'\">\n <sky-dropdown\n label=\"Edit menu\"\n [disabled]=\"disabled\"\n [messageStream]=\"editDropdownStream\"\n >\n <sky-dropdown-button>\n {{\n 'skyux_text_editor_menubar_dropdown_button_edit_label'\n | skyLibResources\n }}\n </sky-dropdown-button>\n <sky-dropdown-menu>\n <sky-dropdown-item *ngFor=\"let editItem of editItems\">\n <button\n *ngIf=\"!editItem.isDivider\"\n type=\"button\"\n (click)=\"editItem.function()\"\n >\n {{ editItem.label }}\n <div\n *ngIf=\"editItem.keyShortcut\"\n class=\"sky-text-editor-menu-key-shortcut\"\n [skyThemeClass]=\"{\n 'sky-font-deemphasized': 'modern',\n 'sky-deemphasized': 'default'\n }\"\n >\n {{ editItem.keyShortcut }}\n </div>\n </button>\n <div\n *ngIf=\"editItem.isDivider\"\n class=\"sky-text-editor-dropdown-item-divider\"\n role=\"divider\"\n ></div>\n </sky-dropdown-item>\n </sky-dropdown-menu>\n </sky-dropdown>\n </ng-container>\n <ng-container *ngSwitchCase=\"'format'\">\n <sky-dropdown\n label=\"Format menu\"\n [disabled]=\"disabled\"\n [messageStream]=\"formatDropdownStream\"\n >\n <sky-dropdown-button>\n {{\n 'skyux_text_editor_menubar_dropdown_button_format_label'\n | skyLibResources\n }}\n </sky-dropdown-button>\n <sky-dropdown-menu>\n <sky-dropdown-item *ngFor=\"let formatItem of formatItems\">\n <button\n *ngIf=\"!formatItem.isDivider\"\n type=\"button\"\n (click)=\"formatItem.function()\"\n >\n {{ formatItem.label }}\n <div\n *ngIf=\"formatItem.keyShortcut\"\n class=\"sky-text-editor-menu-key-shortcut\"\n [skyThemeClass]=\"{\n 'sky-font-deemphasized': 'modern',\n 'sky-deemphasized': 'default'\n }\"\n >\n {{ formatItem.keyShortcut }}\n </div>\n </button>\n <div\n *ngIf=\"formatItem.isDivider\"\n class=\"sky-text-editor-dropdown-item-divider\"\n role=\"divider\"\n ></div>\n </sky-dropdown-item>\n </sky-dropdown-menu>\n </sky-dropdown>\n </ng-container>\n <ng-container *ngSwitchCase=\"'merge-field'\">\n <sky-dropdown\n *ngIf=\"mergeFields && mergeFields.length > 0\"\n label=\"Insert merge field\"\n [disabled]=\"disabled\"\n [messageStream]=\"mergeFieldDropdownStream\"\n >\n <sky-dropdown-button>\n {{\n 'skyux_text_editor_menubar_dropdown_button_insert_label'\n | skyLibResources\n }}\n </sky-dropdown-button>\n <sky-dropdown-menu>\n <sky-dropdown-item *ngFor=\"let mergeField of mergeFields\">\n <button type=\"button\" (click)=\"insertMergeField(mergeField)\">\n {{ mergeField.name }}\n </button>\n </sky-dropdown-item>\n </sky-dropdown-menu>\n </sky-dropdown>\n </ng-container>\n </ng-container>\n</sky-toolbar-item>\n",
|
|
1444
|
+
styles: [".sky-text-editor-dropdown-item-divider{border:0;padding:0;height:1px;margin:9px 1px;overflow:hidden;background:transparent;border-bottom:1px solid rgba(0,0,0,.1);cursor:default;filter:none}.sky-text-editor-menu-key-shortcut{float:right;margin-left:15px}\n"],
|
|
1445
|
+
changeDetection: i0.ChangeDetectionStrategy.OnPush,
|
|
1349
1446
|
}]
|
|
1350
1447
|
}], ctorParameters: function () { return [{ type: SkyTextEditorAdapterService }, { type: i0__namespace.ChangeDetectorRef }, { type: i2__namespace.SkyLibResourcesService }]; }, propDecorators: { editorFocusStream: [{
|
|
1351
1448
|
type: i0.Input
|
|
@@ -1387,7 +1484,10 @@
|
|
|
1387
1484
|
if (modalContext.urlResult.url.startsWith(emailKey)) {
|
|
1388
1485
|
this.emailAddress = modalContext.urlResult.url.replace(emailKey, '');
|
|
1389
1486
|
var queryStringIndex = this.emailAddress.indexOf(queryStringParamKey);
|
|
1390
|
-
queryStringIndex =
|
|
1487
|
+
queryStringIndex =
|
|
1488
|
+
queryStringIndex > -1
|
|
1489
|
+
? queryStringIndex
|
|
1490
|
+
: this.emailAddress.indexOf(queryStringParamKey.toLowerCase());
|
|
1391
1491
|
/* istanbul ignore else */
|
|
1392
1492
|
if (queryStringIndex > -1) {
|
|
1393
1493
|
this.subject = decodeURI(this.emailAddress).slice(queryStringIndex + queryStringParamKey.length);
|
|
@@ -1397,8 +1497,8 @@
|
|
|
1397
1497
|
this.activeTab = 1;
|
|
1398
1498
|
}
|
|
1399
1499
|
else {
|
|
1400
|
-
this.url = modalContext.urlResult.url,
|
|
1401
|
-
this.target = modalContext.urlResult.target;
|
|
1500
|
+
(this.url = modalContext.urlResult.url),
|
|
1501
|
+
(this.target = modalContext.urlResult.target);
|
|
1402
1502
|
// set active tab to web page
|
|
1403
1503
|
this.activeTab = 0;
|
|
1404
1504
|
}
|
|
@@ -1446,13 +1546,15 @@
|
|
|
1446
1546
|
if (this.activeTab === 0) {
|
|
1447
1547
|
this.modalInstance.save({
|
|
1448
1548
|
url: this.url,
|
|
1449
|
-
target: this.target
|
|
1549
|
+
target: this.target
|
|
1550
|
+
? parseInt(this.target, undefined)
|
|
1551
|
+
: UrlTarget.None,
|
|
1450
1552
|
});
|
|
1451
1553
|
}
|
|
1452
1554
|
else {
|
|
1453
1555
|
this.modalInstance.save({
|
|
1454
1556
|
url: this.getEmailUrl(),
|
|
1455
|
-
target: UrlTarget.None
|
|
1557
|
+
target: UrlTarget.None,
|
|
1456
1558
|
});
|
|
1457
1559
|
}
|
|
1458
1560
|
}
|
|
@@ -1461,7 +1563,9 @@
|
|
|
1461
1563
|
this.modalInstance.cancel();
|
|
1462
1564
|
};
|
|
1463
1565
|
SkyTextEditorUrlModalComponent.prototype.getEmailUrl = function () {
|
|
1464
|
-
return emailKey +
|
|
1566
|
+
return (emailKey +
|
|
1567
|
+
this.emailAddress +
|
|
1568
|
+
(this.subject ? '?Subject=' + encodeURI(this.subject) : ''));
|
|
1465
1569
|
};
|
|
1466
1570
|
SkyTextEditorUrlModalComponent.prototype.isValid = function () {
|
|
1467
1571
|
if (this.activeTab === 0) {
|
|
@@ -1471,14 +1575,14 @@
|
|
|
1471
1575
|
};
|
|
1472
1576
|
return SkyTextEditorUrlModalComponent;
|
|
1473
1577
|
}());
|
|
1474
|
-
SkyTextEditorUrlModalComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
1475
|
-
SkyTextEditorUrlModalComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.
|
|
1476
|
-
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
1578
|
+
SkyTextEditorUrlModalComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyTextEditorUrlModalComponent, deps: [{ token: i1__namespace$1.SkyModalInstance }, { token: SkyUrlModalContext }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
1579
|
+
SkyTextEditorUrlModalComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: SkyTextEditorUrlModalComponent, selector: "sky-text-editor-url-modal", ngImport: i0__namespace, template: "<sky-modal>\n <sky-modal-header>\n {{ 'skyux_text_editor_url_modal_header_label' | skyLibResources }}\n </sky-modal-header>\n <sky-modal-content>\n <sky-tabset\n data-sky-id=\"test-tabset\"\n [active]=\"activeTab\"\n (activeChange)=\"activeTabChanged($event)\"\n >\n <sky-tab tabHeading=\"Web page\">\n <div class=\"sky-form-group sky-text-editor-url-modal-first-field\">\n <sky-input-box>\n <label\n class=\"sky-control-label sky-control-label-required\"\n [for]=\"urlInput.id\"\n >\n {{ 'skyux_text_editor_url_modal_url_label' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n type=\"text\"\n [(ngModel)]=\"url\"\n skyId\n #urlInput=\"skyId\"\n />\n </sky-input-box>\n </div>\n <sky-input-box class=\"sky-form-group\">\n <label class=\"sky-control-label\" [for]=\"targetInput.id\">\n {{ 'skyux_text_editor_url_modal_open_label' | skyLibResources }}\n </label>\n <select\n class=\"sky-form-control\"\n [(ngModel)]=\"target\"\n skyId\n #targetInput=\"skyId\"\n >\n <option value=\"0\">\n {{\n 'skyux_text_editor_url_modal_current_option_label'\n | skyLibResources\n }}\n </option>\n <option value=\"1\">\n {{\n 'skyux_text_editor_url_modal_new_option_label' | skyLibResources\n }}\n </option>\n </select>\n </sky-input-box>\n </sky-tab>\n <sky-tab tabHeading=\"Email address\">\n <div class=\"sky-form-group first-field\">\n <sky-input-box>\n <label\n class=\"sky-control-label sky-control-label-required\"\n [for]=\"emailAddressInput.id\"\n >\n {{ 'skyux_text_editor_url_modal_email_label' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n type=\"text\"\n [(ngModel)]=\"emailAddress\"\n skyId\n #emailAddressInput=\"skyId\"\n />\n </sky-input-box>\n </div>\n <sky-input-box class=\"sky-form-group\">\n <label class=\"sky-control-label\" [for]=\"subjectInput.id\">\n {{ 'skyux_text_editor_url_modal_subject_label' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n type=\"text\"\n [(ngModel)]=\"subject\"\n skyId\n #subjectInput=\"skyId\"\n />\n </sky-input-box>\n </sky-tab>\n </sky-tabset>\n </sky-modal-content>\n <sky-modal-footer>\n <button\n type=\"submit\"\n class=\"sky-btn sky-btn-primary\"\n [disabled]=\"!valid\"\n (click)=\"save()\"\n >\n {{ 'skyux_text_editor_url_modal_save_button_label' | skyLibResources }}\n </button>\n <button type=\"button\" class=\"sky-btn sky-btn-link\" (click)=\"cancel()\">\n {{ 'skyux_text_editor_url_modal_cancel_button_label' | skyLibResources }}\n </button>\n </sky-modal-footer>\n</sky-modal>\n", styles: [".sky-text-editor-url-modal-first-field{margin-top:15px}\n"], components: [{ type: i1__namespace$1.λ5, selector: "sky-modal", inputs: ["ariaRole", "tiledBody"] }, { type: i1__namespace$1.λ4, selector: "sky-modal-header" }, { type: i1__namespace$1.λ2, selector: "sky-modal-content" }, { type: i3__namespace$2.λ2, selector: "sky-tabset", inputs: ["active", "ariaLabel", "ariaLabelledBy", "permalinkId", "tabStyle"], outputs: ["activeChange", "newTab", "openTab", "tabIndexesChange"] }, { type: i3__namespace$2.λ1, selector: "sky-tab", inputs: ["active", "disabled", "permalinkValue", "tabHeaderCount", "tabHeading", "tabIndex"], outputs: ["close"] }, { type: i4__namespace$1.λ10, selector: "sky-input-box", inputs: ["hasErrors", "disabled"] }, { type: i1__namespace$1.λ3, selector: "sky-modal-footer" }], directives: [{ type: i5__namespace$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i3__namespace.λ2, selector: "[skyId]", exportAs: ["skyId"] }, { type: i5__namespace$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5__namespace$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i5__namespace$1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { type: i5__namespace$1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i5__namespace$1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }], pipes: { "skyLibResources": i2__namespace.SkyLibResourcesPipe } });
|
|
1580
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyTextEditorUrlModalComponent, decorators: [{
|
|
1477
1581
|
type: i0.Component,
|
|
1478
1582
|
args: [{
|
|
1479
1583
|
selector: 'sky-text-editor-url-modal',
|
|
1480
|
-
|
|
1481
|
-
|
|
1584
|
+
template: "<sky-modal>\n <sky-modal-header>\n {{ 'skyux_text_editor_url_modal_header_label' | skyLibResources }}\n </sky-modal-header>\n <sky-modal-content>\n <sky-tabset\n data-sky-id=\"test-tabset\"\n [active]=\"activeTab\"\n (activeChange)=\"activeTabChanged($event)\"\n >\n <sky-tab tabHeading=\"Web page\">\n <div class=\"sky-form-group sky-text-editor-url-modal-first-field\">\n <sky-input-box>\n <label\n class=\"sky-control-label sky-control-label-required\"\n [for]=\"urlInput.id\"\n >\n {{ 'skyux_text_editor_url_modal_url_label' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n type=\"text\"\n [(ngModel)]=\"url\"\n skyId\n #urlInput=\"skyId\"\n />\n </sky-input-box>\n </div>\n <sky-input-box class=\"sky-form-group\">\n <label class=\"sky-control-label\" [for]=\"targetInput.id\">\n {{ 'skyux_text_editor_url_modal_open_label' | skyLibResources }}\n </label>\n <select\n class=\"sky-form-control\"\n [(ngModel)]=\"target\"\n skyId\n #targetInput=\"skyId\"\n >\n <option value=\"0\">\n {{\n 'skyux_text_editor_url_modal_current_option_label'\n | skyLibResources\n }}\n </option>\n <option value=\"1\">\n {{\n 'skyux_text_editor_url_modal_new_option_label' | skyLibResources\n }}\n </option>\n </select>\n </sky-input-box>\n </sky-tab>\n <sky-tab tabHeading=\"Email address\">\n <div class=\"sky-form-group first-field\">\n <sky-input-box>\n <label\n class=\"sky-control-label sky-control-label-required\"\n [for]=\"emailAddressInput.id\"\n >\n {{ 'skyux_text_editor_url_modal_email_label' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n type=\"text\"\n [(ngModel)]=\"emailAddress\"\n skyId\n #emailAddressInput=\"skyId\"\n />\n </sky-input-box>\n </div>\n <sky-input-box class=\"sky-form-group\">\n <label class=\"sky-control-label\" [for]=\"subjectInput.id\">\n {{ 'skyux_text_editor_url_modal_subject_label' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n type=\"text\"\n [(ngModel)]=\"subject\"\n skyId\n #subjectInput=\"skyId\"\n />\n </sky-input-box>\n </sky-tab>\n </sky-tabset>\n </sky-modal-content>\n <sky-modal-footer>\n <button\n type=\"submit\"\n class=\"sky-btn sky-btn-primary\"\n [disabled]=\"!valid\"\n (click)=\"save()\"\n >\n {{ 'skyux_text_editor_url_modal_save_button_label' | skyLibResources }}\n </button>\n <button type=\"button\" class=\"sky-btn sky-btn-link\" (click)=\"cancel()\">\n {{ 'skyux_text_editor_url_modal_cancel_button_label' | skyLibResources }}\n </button>\n </sky-modal-footer>\n</sky-modal>\n",
|
|
1585
|
+
styles: [".sky-text-editor-url-modal-first-field{margin-top:15px}\n"],
|
|
1482
1586
|
}]
|
|
1483
1587
|
}], ctorParameters: function () { return [{ type: i1__namespace$1.SkyModalInstance }, { type: SkyUrlModalContext }]; } });
|
|
1484
1588
|
|
|
@@ -1505,7 +1609,7 @@
|
|
|
1505
1609
|
set: function (value) {
|
|
1506
1610
|
this._styleState = value;
|
|
1507
1611
|
if (value.font !== this.styleStateFontName) {
|
|
1508
|
-
if (value.font === '
|
|
1612
|
+
if (value.font === '"Blackbaud Sans", Arial, sans-serif') {
|
|
1509
1613
|
this.styleStateFontName = this.getFontName('Blackbaud Sans');
|
|
1510
1614
|
}
|
|
1511
1615
|
else {
|
|
@@ -1542,7 +1646,7 @@
|
|
|
1542
1646
|
if (value === void 0) { value = ''; }
|
|
1543
1647
|
this.adapterService.execCommand(this.editorId, {
|
|
1544
1648
|
command: command,
|
|
1545
|
-
value: value
|
|
1649
|
+
value: value,
|
|
1546
1650
|
});
|
|
1547
1651
|
this.styleState = Object.assign(Object.assign({}, this.styleState), this.adapterService.getStyleState(this.editorId));
|
|
1548
1652
|
};
|
|
@@ -1557,10 +1661,12 @@
|
|
|
1557
1661
|
var _this = this;
|
|
1558
1662
|
var priorSelection = this.adapterService.saveSelection(this.editorId);
|
|
1559
1663
|
var currentLink = this.adapterService.getLink(this.editorId);
|
|
1560
|
-
var inputModal = this.modalService.open(SkyTextEditorUrlModalComponent, [
|
|
1664
|
+
var inputModal = this.modalService.open(SkyTextEditorUrlModalComponent, [
|
|
1665
|
+
{
|
|
1561
1666
|
provide: SkyUrlModalContext,
|
|
1562
|
-
useValue: { urlResult: currentLink }
|
|
1563
|
-
}
|
|
1667
|
+
useValue: { urlResult: currentLink },
|
|
1668
|
+
},
|
|
1669
|
+
]);
|
|
1564
1670
|
inputModal.closed.subscribe(function (result) {
|
|
1565
1671
|
if (result.reason === 'save' && priorSelection) {
|
|
1566
1672
|
if (currentLink) {
|
|
@@ -1575,13 +1681,19 @@
|
|
|
1575
1681
|
else {
|
|
1576
1682
|
// New Window
|
|
1577
1683
|
var sText = _this.adapterService.getCurrentSelection(_this.editorId);
|
|
1578
|
-
_this.execCommand('insertHTML', '<a href="' +
|
|
1684
|
+
_this.execCommand('insertHTML', '<a href="' +
|
|
1685
|
+
result.data.url +
|
|
1686
|
+
'" rel="noopener noreferrer" target="_blank">' +
|
|
1687
|
+
sText +
|
|
1688
|
+
'</a>');
|
|
1579
1689
|
}
|
|
1580
1690
|
}
|
|
1581
1691
|
});
|
|
1582
1692
|
};
|
|
1583
1693
|
SkyTextEditorToolbarComponent.prototype.unlink = function () {
|
|
1584
|
-
var currentSelectionRange = this.adapterService
|
|
1694
|
+
var currentSelectionRange = this.adapterService
|
|
1695
|
+
.getCurrentSelection(this.editorId)
|
|
1696
|
+
.getRangeAt(0);
|
|
1585
1697
|
if (currentSelectionRange.toString().length <= 0) {
|
|
1586
1698
|
var anchorTag = this.adapterService.getSelectedAnchorTag(this.editorId);
|
|
1587
1699
|
this.adapterService.selectElement(this.editorId, anchorTag);
|
|
@@ -1597,7 +1709,9 @@
|
|
|
1597
1709
|
this.execCommand(isBackground ? 'backColor' : 'foreColor', color.hex);
|
|
1598
1710
|
};
|
|
1599
1711
|
SkyTextEditorToolbarComponent.prototype.closeDropdowns = function () {
|
|
1600
|
-
var message = {
|
|
1712
|
+
var message = {
|
|
1713
|
+
type: i6$1.SkyColorpickerMessageType.Close,
|
|
1714
|
+
};
|
|
1601
1715
|
this.colorpickerStream.next(message);
|
|
1602
1716
|
this.backColorpickerStream.next(message);
|
|
1603
1717
|
this.fontPickerStream.next({ type: i4.SkyDropdownMessageType.Close });
|
|
@@ -1612,15 +1726,15 @@
|
|
|
1612
1726
|
};
|
|
1613
1727
|
return SkyTextEditorToolbarComponent;
|
|
1614
1728
|
}());
|
|
1615
|
-
SkyTextEditorToolbarComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
1616
|
-
SkyTextEditorToolbarComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.12", type: SkyTextEditorToolbarComponent, selector: "sky-text-editor-toolbar", inputs: { editorFocusStream: "editorFocusStream", editorId: "editorId", fontList: "fontList", fontSizeList: "fontSizeList", toolbarActions: "toolbarActions", styleState: "styleState", disabled: "disabled" }, ngImport: i0__namespace, template: "\n <sky-toolbar-item *ngFor=\"let action of toolbarActions\"\n class=\"sky-text-editor-toolbar-action\"\n [ngClass]=\"'sky-text-editor-toolbar-action-' + action\"\n >\n <ng-container\n [ngSwitch]=\"action\"\n >\n <ng-container *ngSwitchCase=\"'font-family'\">\n <sky-dropdown\n class=\"sky-text-editor-font-picker\"\n [disabled]=\"disabled\"\n [label]=\"'Font: ' + styleStateFontName\"\n [messageStream]=\"fontPickerStream\"\n >\n <sky-dropdown-button\n [ngStyle]=\"{\n 'font-family': styleState.font\n }\"\n >\n {{ styleStateFontName }}\n </sky-dropdown-button>\n <sky-dropdown-menu>\n <sky-dropdown-item *ngFor=\"let fontModel of fontList\">\n <button\n type=\"button\"\n [ngStyle]=\"{\n 'font-family': fontModel.value\n }\"\n (click)=\"execCommand('fontname', fontModel.name)\"\n >\n {{ fontModel.name }}\n </button>\n </sky-dropdown-item>\n </sky-dropdown-menu>\n </sky-dropdown>\n </ng-container>\n <ng-container *ngSwitchCase=\"'font-size'\">\n <sky-dropdown\n class=\"sky-text-editor-font-size-picker\"\n [disabled]=\"disabled\"\n [label]=\"'Font size: ' + styleState.fontSize + 'px'\"\n [messageStream]=\"fontSizeStream\"\n >\n <sky-dropdown-button\n [ngStyle]=\"{\n 'font-family': styleState.fontSize\n }\"\n >\n {{ styleState.fontSize + 'px' }}\n </sky-dropdown-button>\n <sky-dropdown-menu>\n <sky-dropdown-item *ngFor=\"let size of fontSizeList\">\n <button\n type=\"button\"\n (click)=\"changeFontSize(size)\"\n >\n {{ size + 'px' }}\n </button>\n </sky-dropdown-item>\n </sky-dropdown-menu>\n </sky-dropdown>\n </ng-container>\n <ng-container *ngSwitchCase=\"'font-style'\">\n <div\n class=\"sky-switch-icon-group sky-text-editor-font-style-picker\"\n >\n <sky-checkbox\n icon=\"bold\"\n label=\"Bold\"\n title=\"Bold\"\n [disabled]=\"disabled\"\n [ngModel]=\"styleState.boldState\"\n (ngModelChange)=\"toggleFontStyle(styleState.boldState, $event, 'bold')\"\n >\n </sky-checkbox>\n <sky-checkbox\n icon=\"italic\"\n label=\"Italicized\"\n title=\"Italicized\"\n [disabled]=\"disabled\"\n [ngModel]=\"styleState.italicState\"\n (ngModelChange)=\"toggleFontStyle(styleState.italicState, $event, 'italic')\"\n >\n </sky-checkbox>\n <sky-checkbox\n icon=\"underline\"\n label=\"Underline\"\n title=\"Underline\"\n [disabled]=\"disabled\"\n [ngModel]=\"styleState.underlineState\"\n (ngModelChange)=\"toggleFontStyle(styleState.underlineState, $event, 'underline')\"\n >\n </sky-checkbox>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'color'\">\n <div class=\"sky-text-editor-colorpicker-group\">\n <div class=\"sky-text-editor-colorpicker-container\">\n <sky-colorpicker\n class=\"sky-text-editor-font-color-picker\"\n label=\"Font color\"\n [messageStream]=\"colorpickerStream\"\n [showResetButton]=\"false\"\n (selectedColorChanged)=\"onColorpickerColorChanged($event)\"\n #colorPicker\n >\n <input\n outputFormat=\"hex\"\n type=\"text\"\n [allowTransparency]=\"false\"\n [disabled]=\"disabled\"\n [ngModel]=\"styleState.fontColor\"\n [skyColorpickerInput]=\"colorPicker\"\n />\n </sky-colorpicker>\n </div>\n <div class=\"sky-text-editor-colorpicker-container\">\n <sky-colorpicker\n class=\"sky-text-editor-background-color-picker\"\n label=\"Background color\"\n [messageStream]=\"backColorpickerStream\"\n [showResetButton]=\"false\"\n (selectedColorChanged)=\"onColorpickerColorChanged($event, true)\"\n #backColorPicker\n >\n <input\n outputFormat=\"rgba\"\n type=\"text\"\n [allowTransparency]=\"true\"\n [disabled]=\"disabled\"\n [ngModel]=\"styleState.backColor\"\n [skyColorpickerInput]=\"backColorPicker\"\n />\n </sky-colorpicker>\n </div>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'list'\">\n <div\n class=\"sky-switch-icon-group\"\n >\n <button\n aria-label=\"Bulleted list\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Bulleted list\"\n [disabled]=\"disabled\"\n (click)=\"execCommand('insertUnorderedList')\"\n >\n <sky-icon *skyThemeIf=\"'default'\"\n icon=\"list-ul\"\n >\n </sky-icon>\n <sky-icon *skyThemeIf=\"'modern'\"\n icon=\"bullet-list-line\"\n iconType=\"skyux\"\n >\n </sky-icon>\n </button>\n <button\n aria-label=\"Numbered list\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Numbered list\"\n [disabled]=\"disabled\"\n (click)=\"execCommand('insertOrderedList')\"\n >\n <sky-icon *skyThemeIf=\"'default'\"\n icon=\"list-ol\"\n >\n </sky-icon>\n <sky-icon *skyThemeIf=\"'modern'\"\n icon=\"number-list-line\"\n iconType=\"skyux\"\n >\n </sky-icon>\n </button>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'alignment'\">\n <div\n class=\"sky-switch-icon-group\"\n >\n <button\n aria-label=\"Align left\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Align left\"\n [disabled]=\"disabled\"\n (click)=\"execCommand('justifyLeft')\"\n >\n <sky-icon *skyThemeIf=\"'default'\"\n icon=\"align-left\"\n >\n </sky-icon>\n <sky-icon *skyThemeIf=\"'modern'\"\n icon=\"align-left-text-line\"\n iconType=\"skyux\"\n >\n </sky-icon>\n </button>\n <button\n aria-label=\"Align center\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Align center\"\n [disabled]=\"disabled\"\n (click)=\"execCommand('justifyCenter')\"\n >\n <sky-icon *skyThemeIf=\"'default'\"\n icon=\"align-center\"\n >\n </sky-icon>\n <sky-icon *skyThemeIf=\"'modern'\"\n icon=\"center-text-line\"\n iconType=\"skyux\"\n >\n </sky-icon>\n </button>\n <button\n aria-label=\"Align right\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Align right\"\n [disabled]=\"disabled\"\n (click)=\"execCommand('justifyRight')\"\n >\n <sky-icon *skyThemeIf=\"'default'\"\n icon=\"align-right\"\n >\n </sky-icon>\n <sky-icon *skyThemeIf=\"'modern'\"\n icon=\"align-right-text-line\"\n iconType=\"skyux\"\n >\n </sky-icon>\n </button>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'indentation'\">\n <div\n class=\"sky-switch-icon-group\"\n >\n <button\n aria-label=\"Outdent\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Outdent\"\n [disabled]=\"disabled\"\n (click)=\"execCommand('outdent')\"\n >\n <sky-icon *skyThemeIf=\"'default'\"\n icon=\"outdent\"\n >\n </sky-icon>\n <sky-icon *skyThemeIf=\"'modern'\"\n icon=\"outdent-line\"\n iconType=\"skyux\"\n >\n </sky-icon>\n </button>\n <button\n aria-label=\"Indent\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Indent\"\n [disabled]=\"disabled\"\n (click)=\"execCommand('indent')\"\n >\n <sky-icon *skyThemeIf=\"'default'\"\n icon=\"indent\"\n >\n </sky-icon>\n <sky-icon *skyThemeIf=\"'modern'\"\n icon=\"indent-line\"\n iconType=\"skyux\"\n >\n </sky-icon>\n </button>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'undo-redo'\">\n <div\n class=\"sky-switch-icon-group\"\n >\n <button\n aria-label=\"Undo\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Undo\"\n [disabled]=\"disabled\"\n (click)=\"execCommand('undo')\"\n >\n <sky-icon *skyThemeIf=\"'default'\"\n icon=\"undo\"\n >\n </sky-icon>\n <sky-icon *skyThemeIf=\"'modern'\"\n icon=\"undo-line\"\n iconType=\"skyux\"\n >\n </sky-icon>\n </button>\n <button\n aria-label=\"Redo\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Redo\"\n [disabled]=\"disabled\"\n (click)=\"execCommand('redo')\"\n >\n <sky-icon *skyThemeIf=\"'default'\"\n icon=\"repeat\"\n >\n </sky-icon>\n <sky-icon *skyThemeIf=\"'modern'\"\n icon=\"redo-line\"\n iconType=\"skyux\"\n >\n </sky-icon>\n </button>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'link'\">\n <div\n class=\"sky-switch-icon-group\"\n >\n <button\n aria-label=\"Link\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Link\"\n [disabled]=\"disabled\"\n [ngClass]=\"{\n 'icon-btn-active': styleState.linkState\n }\"\n (click)=\"link()\"\n >\n <sky-icon *skyThemeIf=\"'default'\"\n icon=\"link\"\n >\n </sky-icon>\n <sky-icon *skyThemeIf=\"'modern'\"\n icon=\"link-line\"\n iconType=\"skyux\"\n >\n </sky-icon>\n </button>\n <button\n aria-label=\"Unlink\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Unlink\"\n [disabled]=\"!styleState.linkState || disabled\"\n (click)=\"unlink()\"\n >\n <sky-icon *skyThemeIf=\"'default'\"\n icon=\"unlink\"\n >\n </sky-icon>\n <sky-icon *skyThemeIf=\"'modern'\"\n icon=\"unlink-line\"\n iconType=\"skyux\"\n >\n </sky-icon>\n </button>\n </div>\n </ng-container>\n </ng-container>\n </sky-toolbar-item>\n", styles: [".sky-text-editor-toolbar-action .sky-toolbar-item{margin-right:15px}.sky-text-editor-toolbar-action .sky-text-editor-font-picker ::ng-deep .sky-dropdown-button-content-container{width:140px;height:20px;text-align:left}.sky-text-editor-toolbar-action .sky-text-editor-colorpicker-group{display:flex}.sky-text-editor-toolbar-action .sky-text-editor-colorpicker-group .sky-text-editor-colorpicker-container{position:relative;top:3px;margin:0 10px 0 0}.sky-text-editor-toolbar-action .sky-text-editor-colorpicker-group .sky-text-editor-colorpicker-container:last-child{margin-right:0}.sky-text-editor-toolbar-action .sky-switch-icon-group .sky-btn{margin-left:0;margin-right:0;border-radius:0;border-right:none}.sky-text-editor-toolbar-action .sky-switch-icon-group .sky-btn:first-of-type{border-top-left-radius:3px;border-bottom-left-radius:3px}.sky-text-editor-toolbar-action .sky-switch-icon-group .sky-btn:last-of-type{border-top-right-radius:3px;border-bottom-right-radius:3px;border-right:1px solid #cdcfd2}:host-context(.sky-theme-modern) .sky-text-editor-colorpicker-group .sky-text-editor-colorpicker-container{top:-2px;margin:0}:host-context(.sky-theme-modern) .sky-text-editor-colorpicker-group .sky-text-editor-colorpicker-container:last-child ::ng-deep sky-colorpicker .sky-colorpicker-button{margin-right:0}:host-context(.sky-theme-modern) .sky-switch-icon-group .sky-btn{margin:inherit;border-radius:6px}:host-context(.sky-theme-modern) .sky-switch-icon-group .sky-btn:first-of-type,:host-context(.sky-theme-modern) .sky-switch-icon-group .sky-btn:last-of-type{border-radius:6px}:host-context(.sky-theme-modern) .sky-text-editor-toolbar-action .sky-switch-icon-group .sky-btn:last-of-type{border:none}.sky-theme-modern .sky-text-editor-colorpicker-group .sky-text-editor-colorpicker-container{top:-2px;margin:0}.sky-theme-modern .sky-text-editor-colorpicker-group .sky-text-editor-colorpicker-container:last-child ::ng-deep sky-colorpicker .sky-colorpicker-button{margin-right:0}.sky-theme-modern .sky-switch-icon-group .sky-btn{margin:inherit;border-radius:6px}.sky-theme-modern .sky-switch-icon-group .sky-btn:first-of-type,.sky-theme-modern .sky-switch-icon-group .sky-btn:last-of-type{border-radius:6px}.sky-theme-modern .sky-text-editor-toolbar-action .sky-switch-icon-group .sky-btn:last-of-type{border:none}\n"], components: [{ type: i3__namespace$1.λ39, selector: "sky-toolbar-item" }, { type: i4__namespace.λ3, selector: "sky-dropdown", inputs: ["buttonStyle", "buttonType", "disabled", "dismissOnBlur", "label", "horizontalAlignment", "messageStream", "title", "trigger"] }, { type: i4__namespace.λ2, selector: "sky-dropdown-button" }, { type: i4__namespace.λ4, selector: "sky-dropdown-menu", inputs: ["ariaLabelledBy", "ariaRole", "useNativeFocus"], outputs: ["menuChanges"] }, { type: i4__namespace.λ1, selector: "sky-dropdown-item", inputs: ["ariaRole"] }, { type: i4__namespace$1.λ3, selector: "sky-checkbox", inputs: ["label", "labelledBy", "id", "disabled", "tabindex", "name", "icon", "checkboxType", "checked", "required"], outputs: ["change", "checkedChange", "disabledChange"] }, { type: i6__namespace$1.λ1, selector: "sky-colorpicker", inputs: ["pickerButtonIcon", "pickerButtonIconType", "label", "labelledBy", "messageStream", "showResetButton"], outputs: ["selectedColorChanged", "selectedColorApplied"] }, { type: i7__namespace.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }], directives: [{ type: i8__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i8__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i8__namespace.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i8__namespace.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i8__namespace.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i5__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5__namespace.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i5__namespace.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i6__namespace$1.λ2, selector: "[skyColorpickerInput]", inputs: ["skyColorpickerInput", "initialColor", "returnFormat", "outputFormat", "presetColors", "alphaChannel", "allowTransparency"] }, { type: i6__namespace.λ3, selector: "[skyThemeIf]", inputs: ["skyThemeIf"] }], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
|
|
1617
|
-
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
1729
|
+
SkyTextEditorToolbarComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyTextEditorToolbarComponent, deps: [{ token: SkyTextEditorAdapterService }, { token: i0__namespace.ChangeDetectorRef }, { token: i1__namespace$1.SkyModalService }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
1730
|
+
SkyTextEditorToolbarComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: SkyTextEditorToolbarComponent, selector: "sky-text-editor-toolbar", inputs: { editorFocusStream: "editorFocusStream", editorId: "editorId", fontList: "fontList", fontSizeList: "fontSizeList", toolbarActions: "toolbarActions", styleState: "styleState", disabled: "disabled" }, ngImport: i0__namespace, template: "<sky-toolbar-item\n *ngFor=\"let action of toolbarActions\"\n class=\"sky-text-editor-toolbar-action\"\n [ngClass]=\"'sky-text-editor-toolbar-action-' + action\"\n>\n <ng-container [ngSwitch]=\"action\">\n <ng-container *ngSwitchCase=\"'font-family'\">\n <sky-dropdown\n class=\"sky-text-editor-font-picker\"\n [disabled]=\"disabled\"\n [label]=\"'Font: ' + styleStateFontName\"\n [messageStream]=\"fontPickerStream\"\n >\n <sky-dropdown-button\n [ngStyle]=\"{\n 'font-family': styleState.font\n }\"\n >\n {{ styleStateFontName }}\n </sky-dropdown-button>\n <sky-dropdown-menu>\n <sky-dropdown-item *ngFor=\"let fontModel of fontList\">\n <button\n type=\"button\"\n [ngStyle]=\"{\n 'font-family': fontModel.value\n }\"\n (click)=\"execCommand('fontname', fontModel.name)\"\n >\n {{ fontModel.name }}\n </button>\n </sky-dropdown-item>\n </sky-dropdown-menu>\n </sky-dropdown>\n </ng-container>\n <ng-container *ngSwitchCase=\"'font-size'\">\n <sky-dropdown\n class=\"sky-text-editor-font-size-picker\"\n [disabled]=\"disabled\"\n [label]=\"'Font size: ' + styleState.fontSize + 'px'\"\n [messageStream]=\"fontSizeStream\"\n >\n <sky-dropdown-button\n [ngStyle]=\"{\n 'font-family': styleState.fontSize\n }\"\n >\n {{ styleState.fontSize + 'px' }}\n </sky-dropdown-button>\n <sky-dropdown-menu>\n <sky-dropdown-item *ngFor=\"let size of fontSizeList\">\n <button type=\"button\" (click)=\"changeFontSize(size)\">\n {{ size + 'px' }}\n </button>\n </sky-dropdown-item>\n </sky-dropdown-menu>\n </sky-dropdown>\n </ng-container>\n <ng-container *ngSwitchCase=\"'font-style'\">\n <div class=\"sky-switch-icon-group sky-text-editor-font-style-picker\">\n <sky-checkbox\n icon=\"bold\"\n label=\"Bold\"\n title=\"Bold\"\n [disabled]=\"disabled\"\n [ngModel]=\"styleState.boldState\"\n (ngModelChange)=\"\n toggleFontStyle(styleState.boldState, $event, 'bold')\n \"\n >\n </sky-checkbox>\n <sky-checkbox\n icon=\"italic\"\n label=\"Italicized\"\n title=\"Italicized\"\n [disabled]=\"disabled\"\n [ngModel]=\"styleState.italicState\"\n (ngModelChange)=\"\n toggleFontStyle(styleState.italicState, $event, 'italic')\n \"\n >\n </sky-checkbox>\n <sky-checkbox\n icon=\"underline\"\n label=\"Underline\"\n title=\"Underline\"\n [disabled]=\"disabled\"\n [ngModel]=\"styleState.underlineState\"\n (ngModelChange)=\"\n toggleFontStyle(styleState.underlineState, $event, 'underline')\n \"\n >\n </sky-checkbox>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'color'\">\n <div class=\"sky-text-editor-colorpicker-group\">\n <div class=\"sky-text-editor-colorpicker-container\">\n <sky-colorpicker\n class=\"sky-text-editor-font-color-picker\"\n label=\"Font color\"\n [messageStream]=\"colorpickerStream\"\n [showResetButton]=\"false\"\n (selectedColorChanged)=\"onColorpickerColorChanged($event)\"\n #colorPicker\n >\n <input\n outputFormat=\"hex\"\n type=\"text\"\n [allowTransparency]=\"false\"\n [disabled]=\"disabled\"\n [ngModel]=\"styleState.fontColor\"\n [skyColorpickerInput]=\"colorPicker\"\n />\n </sky-colorpicker>\n </div>\n <div class=\"sky-text-editor-colorpicker-container\">\n <sky-colorpicker\n class=\"sky-text-editor-background-color-picker\"\n label=\"Background color\"\n [messageStream]=\"backColorpickerStream\"\n [showResetButton]=\"false\"\n (selectedColorChanged)=\"onColorpickerColorChanged($event, true)\"\n #backColorPicker\n >\n <input\n outputFormat=\"rgba\"\n type=\"text\"\n [allowTransparency]=\"true\"\n [disabled]=\"disabled\"\n [ngModel]=\"styleState.backColor\"\n [skyColorpickerInput]=\"backColorPicker\"\n />\n </sky-colorpicker>\n </div>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'list'\">\n <div class=\"sky-switch-icon-group\">\n <button\n aria-label=\"Bulleted list\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Bulleted list\"\n [disabled]=\"disabled\"\n (click)=\"execCommand('insertUnorderedList')\"\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"list-ul\"> </sky-icon>\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"bullet-list-line\"\n iconType=\"skyux\"\n >\n </sky-icon>\n </button>\n <button\n aria-label=\"Numbered list\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Numbered list\"\n [disabled]=\"disabled\"\n (click)=\"execCommand('insertOrderedList')\"\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"list-ol\"> </sky-icon>\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"number-list-line\"\n iconType=\"skyux\"\n >\n </sky-icon>\n </button>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'alignment'\">\n <div class=\"sky-switch-icon-group\">\n <button\n aria-label=\"Align left\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Align left\"\n [disabled]=\"disabled\"\n (click)=\"execCommand('justifyLeft')\"\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"align-left\"> </sky-icon>\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"align-left-text-line\"\n iconType=\"skyux\"\n >\n </sky-icon>\n </button>\n <button\n aria-label=\"Align center\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Align center\"\n [disabled]=\"disabled\"\n (click)=\"execCommand('justifyCenter')\"\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"align-center\"> </sky-icon>\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"center-text-line\"\n iconType=\"skyux\"\n >\n </sky-icon>\n </button>\n <button\n aria-label=\"Align right\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Align right\"\n [disabled]=\"disabled\"\n (click)=\"execCommand('justifyRight')\"\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"align-right\"> </sky-icon>\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"align-right-text-line\"\n iconType=\"skyux\"\n >\n </sky-icon>\n </button>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'indentation'\">\n <div class=\"sky-switch-icon-group\">\n <button\n aria-label=\"Outdent\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Outdent\"\n [disabled]=\"disabled\"\n (click)=\"execCommand('outdent')\"\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"outdent\"> </sky-icon>\n <sky-icon *skyThemeIf=\"'modern'\" icon=\"outdent-line\" iconType=\"skyux\">\n </sky-icon>\n </button>\n <button\n aria-label=\"Indent\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Indent\"\n [disabled]=\"disabled\"\n (click)=\"execCommand('indent')\"\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"indent\"> </sky-icon>\n <sky-icon *skyThemeIf=\"'modern'\" icon=\"indent-line\" iconType=\"skyux\">\n </sky-icon>\n </button>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'undo-redo'\">\n <div class=\"sky-switch-icon-group\">\n <button\n aria-label=\"Undo\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Undo\"\n [disabled]=\"disabled\"\n (click)=\"execCommand('undo')\"\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"undo\"> </sky-icon>\n <sky-icon *skyThemeIf=\"'modern'\" icon=\"undo-line\" iconType=\"skyux\">\n </sky-icon>\n </button>\n <button\n aria-label=\"Redo\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Redo\"\n [disabled]=\"disabled\"\n (click)=\"execCommand('redo')\"\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"repeat\"> </sky-icon>\n <sky-icon *skyThemeIf=\"'modern'\" icon=\"redo-line\" iconType=\"skyux\">\n </sky-icon>\n </button>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'link'\">\n <div class=\"sky-switch-icon-group\">\n <button\n aria-label=\"Link\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Link\"\n [disabled]=\"disabled\"\n [ngClass]=\"{\n 'icon-btn-active': styleState.linkState\n }\"\n (click)=\"link()\"\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"link\"> </sky-icon>\n <sky-icon *skyThemeIf=\"'modern'\" icon=\"link-line\" iconType=\"skyux\">\n </sky-icon>\n </button>\n <button\n aria-label=\"Unlink\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Unlink\"\n [disabled]=\"!styleState.linkState || disabled\"\n (click)=\"unlink()\"\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"unlink\"> </sky-icon>\n <sky-icon *skyThemeIf=\"'modern'\" icon=\"unlink-line\" iconType=\"skyux\">\n </sky-icon>\n </button>\n </div>\n </ng-container>\n </ng-container>\n</sky-toolbar-item>\n", styles: [".sky-text-editor-toolbar-action .sky-toolbar-item{margin-right:15px}.sky-text-editor-toolbar-action .sky-text-editor-font-picker ::ng-deep .sky-dropdown-button-content-container{width:140px;height:20px;text-align:left}.sky-text-editor-toolbar-action .sky-text-editor-colorpicker-group{display:flex}.sky-text-editor-toolbar-action .sky-text-editor-colorpicker-group .sky-text-editor-colorpicker-container{position:relative;top:3px;margin:0 10px 0 0}.sky-text-editor-toolbar-action .sky-text-editor-colorpicker-group .sky-text-editor-colorpicker-container:last-child{margin-right:0}.sky-text-editor-toolbar-action .sky-switch-icon-group .sky-btn{margin-left:0;margin-right:0;border-radius:0;border-right:none}.sky-text-editor-toolbar-action .sky-switch-icon-group .sky-btn:first-of-type{border-top-left-radius:3px;border-bottom-left-radius:3px}.sky-text-editor-toolbar-action .sky-switch-icon-group .sky-btn:last-of-type{border-top-right-radius:3px;border-bottom-right-radius:3px;border-right:1px solid #cdcfd2}:host-context(.sky-theme-modern) .sky-text-editor-colorpicker-group .sky-text-editor-colorpicker-container{top:-2px;margin:0}:host-context(.sky-theme-modern) .sky-text-editor-colorpicker-group .sky-text-editor-colorpicker-container:last-child ::ng-deep sky-colorpicker .sky-colorpicker-button{margin-right:0}:host-context(.sky-theme-modern) .sky-switch-icon-group .sky-btn{margin:inherit;border-radius:6px}:host-context(.sky-theme-modern) .sky-switch-icon-group .sky-btn:first-of-type,:host-context(.sky-theme-modern) .sky-switch-icon-group .sky-btn:last-of-type{border-radius:6px}:host-context(.sky-theme-modern) .sky-text-editor-toolbar-action .sky-switch-icon-group .sky-btn:last-of-type{border:none}.sky-theme-modern .sky-text-editor-colorpicker-group .sky-text-editor-colorpicker-container{top:-2px;margin:0}.sky-theme-modern .sky-text-editor-colorpicker-group .sky-text-editor-colorpicker-container:last-child ::ng-deep sky-colorpicker .sky-colorpicker-button{margin-right:0}.sky-theme-modern .sky-switch-icon-group .sky-btn{margin:inherit;border-radius:6px}.sky-theme-modern .sky-switch-icon-group .sky-btn:first-of-type,.sky-theme-modern .sky-switch-icon-group .sky-btn:last-of-type{border-radius:6px}.sky-theme-modern .sky-text-editor-toolbar-action .sky-switch-icon-group .sky-btn:last-of-type{border:none}\n"], components: [{ type: i3__namespace$1.λ39, selector: "sky-toolbar-item" }, { type: i4__namespace.λ3, selector: "sky-dropdown", inputs: ["buttonStyle", "buttonType", "disabled", "dismissOnBlur", "label", "horizontalAlignment", "messageStream", "title", "trigger"] }, { type: i4__namespace.λ2, selector: "sky-dropdown-button" }, { type: i4__namespace.λ4, selector: "sky-dropdown-menu", inputs: ["ariaLabelledBy", "ariaRole", "useNativeFocus"], outputs: ["menuChanges"] }, { type: i4__namespace.λ1, selector: "sky-dropdown-item", inputs: ["ariaRole"] }, { type: i4__namespace$1.λ3, selector: "sky-checkbox", inputs: ["label", "labelledBy", "id", "disabled", "tabindex", "name", "icon", "checkboxType", "checked", "required"], outputs: ["change", "checkedChange", "disabledChange"] }, { type: i6__namespace$1.λ1, selector: "sky-colorpicker", inputs: ["pickerButtonIcon", "pickerButtonIconType", "label", "labelledBy", "messageStream", "showResetButton"], outputs: ["selectedColorChanged", "selectedColorApplied"] }, { type: i7__namespace.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }], directives: [{ type: i5__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i5__namespace.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i5__namespace.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i5__namespace.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i5__namespace$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5__namespace$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i5__namespace$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i6__namespace$1.λ2, selector: "[skyColorpickerInput]", inputs: ["skyColorpickerInput", "initialColor", "returnFormat", "outputFormat", "presetColors", "alphaChannel", "allowTransparency"] }, { type: i6__namespace.λ3, selector: "[skyThemeIf]", inputs: ["skyThemeIf"] }], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
|
|
1731
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyTextEditorToolbarComponent, decorators: [{
|
|
1618
1732
|
type: i0.Component,
|
|
1619
1733
|
args: [{
|
|
1620
1734
|
selector: 'sky-text-editor-toolbar',
|
|
1621
|
-
templateUrl: './text-editor-toolbar.component.html',
|
|
1622
|
-
|
|
1623
|
-
changeDetection: i0.ChangeDetectionStrategy.OnPush
|
|
1735
|
+
template: "<sky-toolbar-item\n *ngFor=\"let action of toolbarActions\"\n class=\"sky-text-editor-toolbar-action\"\n [ngClass]=\"'sky-text-editor-toolbar-action-' + action\"\n>\n <ng-container [ngSwitch]=\"action\">\n <ng-container *ngSwitchCase=\"'font-family'\">\n <sky-dropdown\n class=\"sky-text-editor-font-picker\"\n [disabled]=\"disabled\"\n [label]=\"'Font: ' + styleStateFontName\"\n [messageStream]=\"fontPickerStream\"\n >\n <sky-dropdown-button\n [ngStyle]=\"{\n 'font-family': styleState.font\n }\"\n >\n {{ styleStateFontName }}\n </sky-dropdown-button>\n <sky-dropdown-menu>\n <sky-dropdown-item *ngFor=\"let fontModel of fontList\">\n <button\n type=\"button\"\n [ngStyle]=\"{\n 'font-family': fontModel.value\n }\"\n (click)=\"execCommand('fontname', fontModel.name)\"\n >\n {{ fontModel.name }}\n </button>\n </sky-dropdown-item>\n </sky-dropdown-menu>\n </sky-dropdown>\n </ng-container>\n <ng-container *ngSwitchCase=\"'font-size'\">\n <sky-dropdown\n class=\"sky-text-editor-font-size-picker\"\n [disabled]=\"disabled\"\n [label]=\"'Font size: ' + styleState.fontSize + 'px'\"\n [messageStream]=\"fontSizeStream\"\n >\n <sky-dropdown-button\n [ngStyle]=\"{\n 'font-family': styleState.fontSize\n }\"\n >\n {{ styleState.fontSize + 'px' }}\n </sky-dropdown-button>\n <sky-dropdown-menu>\n <sky-dropdown-item *ngFor=\"let size of fontSizeList\">\n <button type=\"button\" (click)=\"changeFontSize(size)\">\n {{ size + 'px' }}\n </button>\n </sky-dropdown-item>\n </sky-dropdown-menu>\n </sky-dropdown>\n </ng-container>\n <ng-container *ngSwitchCase=\"'font-style'\">\n <div class=\"sky-switch-icon-group sky-text-editor-font-style-picker\">\n <sky-checkbox\n icon=\"bold\"\n label=\"Bold\"\n title=\"Bold\"\n [disabled]=\"disabled\"\n [ngModel]=\"styleState.boldState\"\n (ngModelChange)=\"\n toggleFontStyle(styleState.boldState, $event, 'bold')\n \"\n >\n </sky-checkbox>\n <sky-checkbox\n icon=\"italic\"\n label=\"Italicized\"\n title=\"Italicized\"\n [disabled]=\"disabled\"\n [ngModel]=\"styleState.italicState\"\n (ngModelChange)=\"\n toggleFontStyle(styleState.italicState, $event, 'italic')\n \"\n >\n </sky-checkbox>\n <sky-checkbox\n icon=\"underline\"\n label=\"Underline\"\n title=\"Underline\"\n [disabled]=\"disabled\"\n [ngModel]=\"styleState.underlineState\"\n (ngModelChange)=\"\n toggleFontStyle(styleState.underlineState, $event, 'underline')\n \"\n >\n </sky-checkbox>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'color'\">\n <div class=\"sky-text-editor-colorpicker-group\">\n <div class=\"sky-text-editor-colorpicker-container\">\n <sky-colorpicker\n class=\"sky-text-editor-font-color-picker\"\n label=\"Font color\"\n [messageStream]=\"colorpickerStream\"\n [showResetButton]=\"false\"\n (selectedColorChanged)=\"onColorpickerColorChanged($event)\"\n #colorPicker\n >\n <input\n outputFormat=\"hex\"\n type=\"text\"\n [allowTransparency]=\"false\"\n [disabled]=\"disabled\"\n [ngModel]=\"styleState.fontColor\"\n [skyColorpickerInput]=\"colorPicker\"\n />\n </sky-colorpicker>\n </div>\n <div class=\"sky-text-editor-colorpicker-container\">\n <sky-colorpicker\n class=\"sky-text-editor-background-color-picker\"\n label=\"Background color\"\n [messageStream]=\"backColorpickerStream\"\n [showResetButton]=\"false\"\n (selectedColorChanged)=\"onColorpickerColorChanged($event, true)\"\n #backColorPicker\n >\n <input\n outputFormat=\"rgba\"\n type=\"text\"\n [allowTransparency]=\"true\"\n [disabled]=\"disabled\"\n [ngModel]=\"styleState.backColor\"\n [skyColorpickerInput]=\"backColorPicker\"\n />\n </sky-colorpicker>\n </div>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'list'\">\n <div class=\"sky-switch-icon-group\">\n <button\n aria-label=\"Bulleted list\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Bulleted list\"\n [disabled]=\"disabled\"\n (click)=\"execCommand('insertUnorderedList')\"\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"list-ul\"> </sky-icon>\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"bullet-list-line\"\n iconType=\"skyux\"\n >\n </sky-icon>\n </button>\n <button\n aria-label=\"Numbered list\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Numbered list\"\n [disabled]=\"disabled\"\n (click)=\"execCommand('insertOrderedList')\"\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"list-ol\"> </sky-icon>\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"number-list-line\"\n iconType=\"skyux\"\n >\n </sky-icon>\n </button>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'alignment'\">\n <div class=\"sky-switch-icon-group\">\n <button\n aria-label=\"Align left\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Align left\"\n [disabled]=\"disabled\"\n (click)=\"execCommand('justifyLeft')\"\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"align-left\"> </sky-icon>\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"align-left-text-line\"\n iconType=\"skyux\"\n >\n </sky-icon>\n </button>\n <button\n aria-label=\"Align center\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Align center\"\n [disabled]=\"disabled\"\n (click)=\"execCommand('justifyCenter')\"\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"align-center\"> </sky-icon>\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"center-text-line\"\n iconType=\"skyux\"\n >\n </sky-icon>\n </button>\n <button\n aria-label=\"Align right\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Align right\"\n [disabled]=\"disabled\"\n (click)=\"execCommand('justifyRight')\"\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"align-right\"> </sky-icon>\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"align-right-text-line\"\n iconType=\"skyux\"\n >\n </sky-icon>\n </button>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'indentation'\">\n <div class=\"sky-switch-icon-group\">\n <button\n aria-label=\"Outdent\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Outdent\"\n [disabled]=\"disabled\"\n (click)=\"execCommand('outdent')\"\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"outdent\"> </sky-icon>\n <sky-icon *skyThemeIf=\"'modern'\" icon=\"outdent-line\" iconType=\"skyux\">\n </sky-icon>\n </button>\n <button\n aria-label=\"Indent\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Indent\"\n [disabled]=\"disabled\"\n (click)=\"execCommand('indent')\"\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"indent\"> </sky-icon>\n <sky-icon *skyThemeIf=\"'modern'\" icon=\"indent-line\" iconType=\"skyux\">\n </sky-icon>\n </button>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'undo-redo'\">\n <div class=\"sky-switch-icon-group\">\n <button\n aria-label=\"Undo\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Undo\"\n [disabled]=\"disabled\"\n (click)=\"execCommand('undo')\"\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"undo\"> </sky-icon>\n <sky-icon *skyThemeIf=\"'modern'\" icon=\"undo-line\" iconType=\"skyux\">\n </sky-icon>\n </button>\n <button\n aria-label=\"Redo\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Redo\"\n [disabled]=\"disabled\"\n (click)=\"execCommand('redo')\"\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"repeat\"> </sky-icon>\n <sky-icon *skyThemeIf=\"'modern'\" icon=\"redo-line\" iconType=\"skyux\">\n </sky-icon>\n </button>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'link'\">\n <div class=\"sky-switch-icon-group\">\n <button\n aria-label=\"Link\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Link\"\n [disabled]=\"disabled\"\n [ngClass]=\"{\n 'icon-btn-active': styleState.linkState\n }\"\n (click)=\"link()\"\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"link\"> </sky-icon>\n <sky-icon *skyThemeIf=\"'modern'\" icon=\"link-line\" iconType=\"skyux\">\n </sky-icon>\n </button>\n <button\n aria-label=\"Unlink\"\n class=\"sky-btn sky-btn-default sky-btn-icon\"\n title=\"Unlink\"\n [disabled]=\"!styleState.linkState || disabled\"\n (click)=\"unlink()\"\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"unlink\"> </sky-icon>\n <sky-icon *skyThemeIf=\"'modern'\" icon=\"unlink-line\" iconType=\"skyux\">\n </sky-icon>\n </button>\n </div>\n </ng-container>\n </ng-container>\n</sky-toolbar-item>\n",
|
|
1736
|
+
styles: [".sky-text-editor-toolbar-action .sky-toolbar-item{margin-right:15px}.sky-text-editor-toolbar-action .sky-text-editor-font-picker ::ng-deep .sky-dropdown-button-content-container{width:140px;height:20px;text-align:left}.sky-text-editor-toolbar-action .sky-text-editor-colorpicker-group{display:flex}.sky-text-editor-toolbar-action .sky-text-editor-colorpicker-group .sky-text-editor-colorpicker-container{position:relative;top:3px;margin:0 10px 0 0}.sky-text-editor-toolbar-action .sky-text-editor-colorpicker-group .sky-text-editor-colorpicker-container:last-child{margin-right:0}.sky-text-editor-toolbar-action .sky-switch-icon-group .sky-btn{margin-left:0;margin-right:0;border-radius:0;border-right:none}.sky-text-editor-toolbar-action .sky-switch-icon-group .sky-btn:first-of-type{border-top-left-radius:3px;border-bottom-left-radius:3px}.sky-text-editor-toolbar-action .sky-switch-icon-group .sky-btn:last-of-type{border-top-right-radius:3px;border-bottom-right-radius:3px;border-right:1px solid #cdcfd2}:host-context(.sky-theme-modern) .sky-text-editor-colorpicker-group .sky-text-editor-colorpicker-container{top:-2px;margin:0}:host-context(.sky-theme-modern) .sky-text-editor-colorpicker-group .sky-text-editor-colorpicker-container:last-child ::ng-deep sky-colorpicker .sky-colorpicker-button{margin-right:0}:host-context(.sky-theme-modern) .sky-switch-icon-group .sky-btn{margin:inherit;border-radius:6px}:host-context(.sky-theme-modern) .sky-switch-icon-group .sky-btn:first-of-type,:host-context(.sky-theme-modern) .sky-switch-icon-group .sky-btn:last-of-type{border-radius:6px}:host-context(.sky-theme-modern) .sky-text-editor-toolbar-action .sky-switch-icon-group .sky-btn:last-of-type{border:none}.sky-theme-modern .sky-text-editor-colorpicker-group .sky-text-editor-colorpicker-container{top:-2px;margin:0}.sky-theme-modern .sky-text-editor-colorpicker-group .sky-text-editor-colorpicker-container:last-child ::ng-deep sky-colorpicker .sky-colorpicker-button{margin-right:0}.sky-theme-modern .sky-switch-icon-group .sky-btn{margin:inherit;border-radius:6px}.sky-theme-modern .sky-switch-icon-group .sky-btn:first-of-type,.sky-theme-modern .sky-switch-icon-group .sky-btn:last-of-type{border-radius:6px}.sky-theme-modern .sky-text-editor-toolbar-action .sky-switch-icon-group .sky-btn:last-of-type{border:none}\n"],
|
|
1737
|
+
changeDetection: i0.ChangeDetectionStrategy.OnPush,
|
|
1624
1738
|
}]
|
|
1625
1739
|
}], ctorParameters: function () { return [{ type: SkyTextEditorAdapterService }, { type: i0__namespace.ChangeDetectorRef }, { type: i1__namespace$1.SkyModalService }]; }, propDecorators: { editorFocusStream: [{
|
|
1626
1740
|
type: i0.Input
|
|
@@ -1641,10 +1755,7 @@
|
|
|
1641
1755
|
/**
|
|
1642
1756
|
* @internal
|
|
1643
1757
|
*/
|
|
1644
|
-
var MENU_DEFAULTS = [
|
|
1645
|
-
'edit',
|
|
1646
|
-
'format'
|
|
1647
|
-
];
|
|
1758
|
+
var MENU_DEFAULTS = ['edit', 'format'];
|
|
1648
1759
|
|
|
1649
1760
|
/**
|
|
1650
1761
|
* @internal
|
|
@@ -1655,13 +1766,15 @@
|
|
|
1655
1766
|
'font-style',
|
|
1656
1767
|
'color',
|
|
1657
1768
|
'list',
|
|
1658
|
-
'link'
|
|
1769
|
+
'link',
|
|
1659
1770
|
];
|
|
1660
1771
|
|
|
1661
1772
|
/**
|
|
1662
1773
|
* @internal
|
|
1663
1774
|
*/
|
|
1664
|
-
var FONT_SIZE_LIST_DEFAULTS = [
|
|
1775
|
+
var FONT_SIZE_LIST_DEFAULTS = [
|
|
1776
|
+
6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 20, 22, 24, 26, 28, 36, 48,
|
|
1777
|
+
];
|
|
1665
1778
|
|
|
1666
1779
|
/**
|
|
1667
1780
|
* Auto-incrementing integer used to generate unique ids for radio components.
|
|
@@ -1671,23 +1784,23 @@
|
|
|
1671
1784
|
* The text editor component lets users format and manipulate text.
|
|
1672
1785
|
*/
|
|
1673
1786
|
var SkyTextEditorComponent = /** @class */ (function () {
|
|
1674
|
-
function SkyTextEditorComponent(changeDetector, coreAdapterService, adapterService, editorService, sanitizationService) {
|
|
1787
|
+
function SkyTextEditorComponent(changeDetector, coreAdapterService, adapterService, editorService, sanitizationService, ngControl, zone) {
|
|
1675
1788
|
this.changeDetector = changeDetector;
|
|
1676
1789
|
this.coreAdapterService = coreAdapterService;
|
|
1677
1790
|
this.adapterService = adapterService;
|
|
1678
1791
|
this.editorService = editorService;
|
|
1679
1792
|
this.sanitizationService = sanitizationService;
|
|
1793
|
+
this.ngControl = ngControl;
|
|
1794
|
+
this.zone = zone;
|
|
1680
1795
|
/**
|
|
1681
1796
|
* Indicates whether to put focus on the editor after it renders.
|
|
1682
1797
|
*/
|
|
1683
1798
|
this.autofocus = false;
|
|
1684
1799
|
this.editorFocusStream = new rxjs.Subject();
|
|
1685
|
-
// tslint:disable: max-line-length
|
|
1686
1800
|
/**
|
|
1687
1801
|
* Specifies the fonts to include in the font picker.
|
|
1688
1802
|
* @default [{name: 'Blackbaud Sans', value: '"Blackbaud Sans", Arial, sans-serif'}, {name: 'Arial', value: 'Arial'}, {name: 'Arial Black', value: '"Arial Black"'}, {name: 'Courier New', value: '"Courier New"'}, {name: 'Georgia', value: 'Georgia, serif'}, {name: 'Tahoma', value: 'Tahoma, Geneva, sans-serif'}, {name: 'Times New Roman', value: '"Times New Roman"'}, {name: 'Trebuchet MS', value: '"Trebuchet MS", sans-serif'}, {name: 'Verdana', value: 'Verdana, Geneva, sans-serif'}]
|
|
1689
1803
|
*/
|
|
1690
|
-
// tslint:enable: max-line-length
|
|
1691
1804
|
this.fontList = FONT_LIST_DEFAULTS;
|
|
1692
1805
|
/**
|
|
1693
1806
|
* Specifies the font sizes to include in the font size picker.
|
|
@@ -1708,12 +1821,10 @@
|
|
|
1708
1821
|
* Specifies the merge fields to include in the merge field menu.
|
|
1709
1822
|
*/
|
|
1710
1823
|
this.mergeFields = [];
|
|
1711
|
-
// tslint:disable: max-line-length
|
|
1712
1824
|
/**
|
|
1713
1825
|
* Specifies the actions to include in the toolbar and determines their order.
|
|
1714
1826
|
* @default [ 'font-family', 'font-size', 'font-style', 'color', 'list', 'link ]
|
|
1715
1827
|
*/
|
|
1716
|
-
// tslint:enable: max-line-length
|
|
1717
1828
|
this.toolbarActions = TOOLBAR_ACTION_DEFAULTS;
|
|
1718
1829
|
this.focusInitialized = false;
|
|
1719
1830
|
this.initialized = false;
|
|
@@ -1723,9 +1834,10 @@
|
|
|
1723
1834
|
this._placeholder = '';
|
|
1724
1835
|
this._value = '<p></p>';
|
|
1725
1836
|
/* istanbul ignore next */
|
|
1726
|
-
this.
|
|
1837
|
+
this._onTouched = function () { };
|
|
1727
1838
|
/* istanbul ignore next */
|
|
1728
|
-
this._onChange = function (
|
|
1839
|
+
this._onChange = function () { };
|
|
1840
|
+
this.ngControl.valueAccessor = this;
|
|
1729
1841
|
}
|
|
1730
1842
|
Object.defineProperty(SkyTextEditorComponent.prototype, "disabled", {
|
|
1731
1843
|
get: function () {
|
|
@@ -1745,7 +1857,7 @@
|
|
|
1745
1857
|
if (this.iframeRef) {
|
|
1746
1858
|
focusableChildren = this.coreAdapterService.getFocusableChildren(this.iframeRef.nativeElement.contentDocument.body, {
|
|
1747
1859
|
ignoreVisibility: true,
|
|
1748
|
-
ignoreTabIndex: true
|
|
1860
|
+
ignoreTabIndex: true,
|
|
1749
1861
|
});
|
|
1750
1862
|
}
|
|
1751
1863
|
if (this._disabled) {
|
|
@@ -1800,22 +1912,37 @@
|
|
|
1800
1912
|
get: function () {
|
|
1801
1913
|
return this._value;
|
|
1802
1914
|
},
|
|
1915
|
+
/**
|
|
1916
|
+
* The internal value of the control.
|
|
1917
|
+
*/
|
|
1803
1918
|
set: function (value) {
|
|
1804
|
-
//
|
|
1805
|
-
var
|
|
1806
|
-
if (!value ||
|
|
1807
|
-
|
|
1919
|
+
// Normalize value and set any empty state to an empty string.
|
|
1920
|
+
var normalizedValue = value;
|
|
1921
|
+
if (!value ||
|
|
1922
|
+
value.trim() === '<p></p>' ||
|
|
1923
|
+
value.trim() === '<br>' ||
|
|
1924
|
+
value.trim() === '<p><br></p>') {
|
|
1925
|
+
normalizedValue = '';
|
|
1808
1926
|
}
|
|
1809
|
-
|
|
1810
|
-
if (this._value !==
|
|
1811
|
-
this._value =
|
|
1927
|
+
normalizedValue = this.sanitizationService.sanitize(normalizedValue).trim();
|
|
1928
|
+
if (this._value !== normalizedValue) {
|
|
1929
|
+
this._value = normalizedValue;
|
|
1930
|
+
// Update angular form control if model has been normalized.
|
|
1931
|
+
/* istanbul ignore else */
|
|
1932
|
+
if (this.ngControl && this.ngControl.control) {
|
|
1933
|
+
/* istanbul ignore else */
|
|
1934
|
+
if (normalizedValue !== this.ngControl.control.value) {
|
|
1935
|
+
this.ngControl.control.setValue(normalizedValue, {
|
|
1936
|
+
emitModelToViewChange: false,
|
|
1937
|
+
});
|
|
1938
|
+
}
|
|
1939
|
+
}
|
|
1812
1940
|
// Autofocus isn't testable in Firefox and IE.
|
|
1813
1941
|
/* istanbul ignore next */
|
|
1814
1942
|
if (this.autofocus && !this.focusInitialized) {
|
|
1815
1943
|
this.adapterService.focusEditor(this.id);
|
|
1816
1944
|
this.focusInitialized = true;
|
|
1817
1945
|
}
|
|
1818
|
-
this.onChange();
|
|
1819
1946
|
}
|
|
1820
1947
|
},
|
|
1821
1948
|
enumerable: false,
|
|
@@ -1838,19 +1965,28 @@
|
|
|
1838
1965
|
this.initIframe();
|
|
1839
1966
|
}
|
|
1840
1967
|
};
|
|
1841
|
-
|
|
1842
|
-
|
|
1968
|
+
/**
|
|
1969
|
+
* Implemented as part of ControlValueAccessor.
|
|
1970
|
+
*/
|
|
1971
|
+
SkyTextEditorComponent.prototype.writeValue = function (value) {
|
|
1972
|
+
this.value = value;
|
|
1843
1973
|
// Update HTML if necessary.
|
|
1844
1974
|
var editorValue = this.adapterService.getEditorInnerHtml(this.id);
|
|
1845
1975
|
if (this.initialized && editorValue !== this._value) {
|
|
1846
1976
|
this.adapterService.setEditorInnerHtml(this.id, this._value);
|
|
1847
1977
|
}
|
|
1848
1978
|
};
|
|
1979
|
+
/**
|
|
1980
|
+
* Implemented as part of ControlValueAccessor.
|
|
1981
|
+
*/
|
|
1849
1982
|
SkyTextEditorComponent.prototype.registerOnChange = function (fn) {
|
|
1850
1983
|
this._onChange = fn;
|
|
1851
1984
|
};
|
|
1985
|
+
/**
|
|
1986
|
+
* Implemented as part of ControlValueAccessor.
|
|
1987
|
+
*/
|
|
1852
1988
|
SkyTextEditorComponent.prototype.registerOnTouched = function (fn) {
|
|
1853
|
-
this.
|
|
1989
|
+
this._onTouched = fn;
|
|
1854
1990
|
};
|
|
1855
1991
|
/**
|
|
1856
1992
|
* Implemented as part of ControlValueAccessor.
|
|
@@ -1858,31 +1994,51 @@
|
|
|
1858
1994
|
SkyTextEditorComponent.prototype.setDisabledState = function (isDisabled) {
|
|
1859
1995
|
this.disabled = isDisabled;
|
|
1860
1996
|
};
|
|
1861
|
-
SkyTextEditorComponent.prototype.
|
|
1862
|
-
this._onChange(this.value);
|
|
1863
|
-
};
|
|
1864
|
-
SkyTextEditorComponent.prototype.updateValueAndStyle = function () {
|
|
1865
|
-
this.value = this.adapterService.getEditorInnerHtml(this.id);
|
|
1997
|
+
SkyTextEditorComponent.prototype.updateStyle = function () {
|
|
1866
1998
|
this._initialStyleState = Object.assign(Object.assign({}, this._initialStyleState), this.adapterService.getStyleState(this.id));
|
|
1867
1999
|
};
|
|
1868
2000
|
SkyTextEditorComponent.prototype.initIframe = function () {
|
|
1869
2001
|
var _this = this;
|
|
1870
2002
|
this.adapterService.addEditor(this.id, this.iframeRef.nativeElement, this.initialStyleState, this.placeholder);
|
|
1871
|
-
this.editorService
|
|
2003
|
+
this.editorService
|
|
2004
|
+
.inputListener(this.id)
|
|
1872
2005
|
.pipe(operators.takeUntil(this.ngUnsubscribe))
|
|
1873
2006
|
.subscribe(function () {
|
|
1874
|
-
|
|
2007
|
+
// Angular doesn't run change detection for changes originating inside an iframe,
|
|
2008
|
+
// so we have to call the onChange() event inside NgZone to force change propigation to consuming components.
|
|
2009
|
+
_this.zone.run(function () {
|
|
2010
|
+
_this.ViewToModelUpdate();
|
|
2011
|
+
});
|
|
2012
|
+
});
|
|
2013
|
+
this.editorService
|
|
2014
|
+
.selectionChangeListener(this.id)
|
|
2015
|
+
.pipe(operators.takeUntil(this.ngUnsubscribe))
|
|
2016
|
+
.subscribe(function () {
|
|
2017
|
+
_this.updateStyle();
|
|
1875
2018
|
_this.editorFocusStream.next();
|
|
1876
2019
|
});
|
|
1877
|
-
this.editorService
|
|
2020
|
+
this.editorService
|
|
2021
|
+
.clickListener(this.id)
|
|
1878
2022
|
.pipe(operators.takeUntil(this.ngUnsubscribe))
|
|
1879
2023
|
.subscribe(function () {
|
|
1880
2024
|
_this.editorFocusStream.next();
|
|
1881
2025
|
});
|
|
1882
|
-
this.editorService
|
|
2026
|
+
this.editorService
|
|
2027
|
+
.blurListener(this.id)
|
|
2028
|
+
.pipe(operators.takeUntil(this.ngUnsubscribe))
|
|
2029
|
+
.subscribe(function () {
|
|
2030
|
+
// Angular doesn't run change detection for changes originating inside an iframe,
|
|
2031
|
+
// so we have to run markForCheck() inside the NgZone to force change propigation to consuming components.
|
|
2032
|
+
_this.zone.run(function () {
|
|
2033
|
+
_this._onTouched();
|
|
2034
|
+
});
|
|
2035
|
+
});
|
|
2036
|
+
this.editorService
|
|
2037
|
+
.commandChangeListener(this.id)
|
|
1883
2038
|
.pipe(operators.takeUntil(this.ngUnsubscribe))
|
|
1884
2039
|
.subscribe(function () {
|
|
1885
|
-
_this.
|
|
2040
|
+
_this.updateStyle();
|
|
2041
|
+
_this.ViewToModelUpdate();
|
|
1886
2042
|
});
|
|
1887
2043
|
this.adapterService.setEditorInnerHtml(this.id, this._value);
|
|
1888
2044
|
/* istanbul ignore next */
|
|
@@ -1891,35 +2047,28 @@
|
|
|
1891
2047
|
}
|
|
1892
2048
|
this.initialized = true;
|
|
1893
2049
|
};
|
|
2050
|
+
SkyTextEditorComponent.prototype.ViewToModelUpdate = function (emitChange) {
|
|
2051
|
+
if (emitChange === void 0) { emitChange = true; }
|
|
2052
|
+
this.value = this.adapterService.getEditorInnerHtml(this.id);
|
|
2053
|
+
/* istanbul ignore else */
|
|
2054
|
+
if (emitChange) {
|
|
2055
|
+
this._onChange(this._value);
|
|
2056
|
+
}
|
|
2057
|
+
};
|
|
1894
2058
|
return SkyTextEditorComponent;
|
|
1895
2059
|
}());
|
|
1896
|
-
SkyTextEditorComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
1897
|
-
SkyTextEditorComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.
|
|
1898
|
-
|
|
1899
|
-
provide: i5.NG_VALUE_ACCESSOR,
|
|
1900
|
-
// tslint:disable-next-line: no-forward-ref
|
|
1901
|
-
useExisting: i0.forwardRef(function () { return SkyTextEditorComponent; }),
|
|
1902
|
-
multi: true
|
|
1903
|
-
}
|
|
1904
|
-
], viewQueries: [{ propertyName: "iframeRef", first: true, predicate: ["iframe"], descendants: true }], ngImport: i0__namespace, template: "<div\n class=\"sky-text-editor\"\n>\n <sky-toolbar\n class=\"sky-text-editor-toolbar\"\n >\n <sky-toolbar-section\n aria-label=\"Text formatting\"\n class=\"menubar\"\n role=\"toolbar\"\n >\n <sky-text-editor-menubar\n [disabled]=\"disabled\"\n [editorFocusStream]=\"editorFocusStream\"\n [editorId]=\"id\"\n [menus]=\"menus\"\n [mergeFields]=\"mergeFields\"\n >\n </sky-text-editor-menubar>\n </sky-toolbar-section>\n <sky-toolbar-section\n aria-label=\"Text formatting\"\n class=\"toolbar\"\n role=\"toolbar\"\n >\n <sky-text-editor-toolbar\n [disabled]=\"disabled\"\n [editorFocusStream]=\"editorFocusStream\"\n [editorId]=\"id\"\n [fontList]=\"fontList\"\n [fontSizeList]=\"fontSizeList\"\n [toolbarActions]=\"toolbarActions\"\n [styleState]=\"initialStyleState\"\n >\n </sky-text-editor-toolbar>\n </sky-toolbar-section>\n </sky-toolbar>\n <iframe\n class=\"sky-text-editor-wrapper\"\n src=\"about:blank\"\n title=\"Text Editor\"\n [ngClass]=\"{\n 'sky-text-editor-wrapper-disabled': disabled\n }\"\n (load)=\"onIframeLoad()\"\n #iframe\n >\n </iframe>\n</div>\n", styles: [".sky-text-editor .sky-text-editor-wrapper{display:flex;flex-wrap:wrap;background-color:#fff;width:100%;height:300px;padding:1rem;font-size:1.2rem;border:1px solid #C0C0C0;overflow-y:auto;outline:none}.sky-text-editor .sky-text-editor-wrapper.sky-text-editor-wrapper-disabled{background-color:#ededee}.sky-text-editor .sky-text-editor-toolbar .sky-toolbar-section{padding:10px 10px 0}.sky-text-editor .sky-text-editor-toolbar .sky-toolbar-sectioned{border-left:1px solid #cdcfd2!important;border-right:1px solid #cdcfd2!important}.sky-text-editor .sky-text-editor-toolbar .sky-toolbar-item{margin:0 20px 10px 0}.sky-text-editor .sky-text-editor-toolbar .sky-dropdown-button{border:none}.sky-text-editor .sky-text-editor-toolbar sky-text-editor-menubar,.sky-text-editor .sky-text-editor-toolbar sky-text-editor-toolbar{display:flex;flex-wrap:wrap}.sky-theme-modern .sky-text-editor .sky-text-editor-wrapper{border:1px solid #d2d2d2}.sky-theme-modern .sky-text-editor .sky-text-editor-wrapper.sky-text-editor-wrapper-disabled{background-color:#ececed}.sky-theme-modern .sky-text-editor .sky-text-editor-toolbar .sky-toolbar{padding:10px 10px 0}.sky-theme-modern .sky-text-editor .sky-text-editor-toolbar .sky-toolbar-section{padding:10px!important}.sky-theme-modern .sky-text-editor .sky-text-editor-toolbar .sky-toolbar-sectioned{border-top:1px solid #d2d2d2!important;border-left:1px solid #d2d2d2!important;border-right:1px solid #d2d2d2!important}.sky-theme-modern .sky-text-editor .sky-text-editor-toolbar .sky-toolbar-item{margin:0 20px 0 0!important}\n"], components: [{ type: i3__namespace$1.λ37, selector: "sky-toolbar" }, { type: i3__namespace$1.λ38, selector: "sky-toolbar-section" }, { type: SkyTextEditorMenubarComponent, selector: "sky-text-editor-menubar", inputs: ["editorFocusStream", "editorId", "menus", "mergeFields", "disabled"] }, { type: SkyTextEditorToolbarComponent, selector: "sky-text-editor-toolbar", inputs: ["editorFocusStream", "editorId", "fontList", "fontSizeList", "toolbarActions", "styleState", "disabled"] }], directives: [{ type: i8__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush, encapsulation: i0__namespace.ViewEncapsulation.None });
|
|
1905
|
-
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0__namespace, type: SkyTextEditorComponent, decorators: [{
|
|
2060
|
+
SkyTextEditorComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyTextEditorComponent, deps: [{ token: i0__namespace.ChangeDetectorRef }, { token: i3__namespace.SkyCoreAdapterService }, { token: SkyTextEditorAdapterService }, { token: SkyTextEditorService }, { token: SkyTextSanitizationService }, { token: i5__namespace$1.NgControl }, { token: i0__namespace.NgZone }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
2061
|
+
SkyTextEditorComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: SkyTextEditorComponent, selector: "sky-text-editor", inputs: { autofocus: "autofocus", disabled: "disabled", fontList: "fontList", fontSizeList: "fontSizeList", id: "id", initialStyleState: "initialStyleState", menus: "menus", mergeFields: "mergeFields", placeholder: "placeholder", toolbarActions: "toolbarActions" }, viewQueries: [{ propertyName: "iframeRef", first: true, predicate: ["iframe"], descendants: true }], ngImport: i0__namespace, template: "<div class=\"sky-text-editor\">\n <sky-toolbar class=\"sky-text-editor-toolbar\">\n <sky-toolbar-section\n aria-label=\"Text formatting\"\n class=\"menubar\"\n role=\"toolbar\"\n >\n <sky-text-editor-menubar\n [disabled]=\"disabled\"\n [editorFocusStream]=\"editorFocusStream\"\n [editorId]=\"id\"\n [menus]=\"menus\"\n [mergeFields]=\"mergeFields\"\n >\n </sky-text-editor-menubar>\n </sky-toolbar-section>\n <sky-toolbar-section\n aria-label=\"Text formatting\"\n class=\"toolbar\"\n role=\"toolbar\"\n >\n <sky-text-editor-toolbar\n [disabled]=\"disabled\"\n [editorFocusStream]=\"editorFocusStream\"\n [editorId]=\"id\"\n [fontList]=\"fontList\"\n [fontSizeList]=\"fontSizeList\"\n [toolbarActions]=\"toolbarActions\"\n [styleState]=\"initialStyleState\"\n >\n </sky-text-editor-toolbar>\n </sky-toolbar-section>\n </sky-toolbar>\n <iframe\n class=\"sky-text-editor-wrapper\"\n src=\"about:blank\"\n title=\"Text Editor\"\n [ngClass]=\"{\n 'sky-text-editor-wrapper-disabled': disabled\n }\"\n (load)=\"onIframeLoad()\"\n #iframe\n >\n </iframe>\n</div>\n", styles: [".sky-text-editor .sky-text-editor-wrapper{display:flex;flex-wrap:wrap;background-color:#fff;width:100%;height:300px;padding:1rem;font-size:1.2rem;border:1px solid #c0c0c0;overflow-y:auto;outline:none}.sky-text-editor .sky-text-editor-wrapper.sky-text-editor-wrapper-disabled{background-color:#ededee}.sky-text-editor .sky-text-editor-toolbar .sky-toolbar-section{padding:10px 10px 0}.sky-text-editor .sky-text-editor-toolbar .sky-toolbar-sectioned{border-left:1px solid #cdcfd2!important;border-right:1px solid #cdcfd2!important}.sky-text-editor .sky-text-editor-toolbar .sky-toolbar-item{margin:0 20px 10px 0}.sky-text-editor .sky-text-editor-toolbar .sky-dropdown-button{border:none}.sky-text-editor .sky-text-editor-toolbar sky-text-editor-menubar,.sky-text-editor .sky-text-editor-toolbar sky-text-editor-toolbar{display:flex;flex-wrap:wrap}.sky-theme-modern .sky-text-editor .sky-text-editor-wrapper{border:1px solid #d2d2d2}.sky-theme-modern .sky-text-editor .sky-text-editor-wrapper.sky-text-editor-wrapper-disabled{background-color:#ececed}.sky-theme-modern .sky-text-editor .sky-text-editor-toolbar .sky-toolbar{padding:10px 10px 0}.sky-theme-modern .sky-text-editor .sky-text-editor-toolbar .sky-toolbar-section{padding:10px!important}.sky-theme-modern .sky-text-editor .sky-text-editor-toolbar .sky-toolbar-sectioned{border-top:1px solid #d2d2d2!important;border-left:1px solid #d2d2d2!important;border-right:1px solid #d2d2d2!important}.sky-theme-modern .sky-text-editor .sky-text-editor-toolbar .sky-toolbar-item{margin:0 20px 0 0!important}\n"], components: [{ type: i3__namespace$1.λ37, selector: "sky-toolbar" }, { type: i3__namespace$1.λ38, selector: "sky-toolbar-section" }, { type: SkyTextEditorMenubarComponent, selector: "sky-text-editor-menubar", inputs: ["editorFocusStream", "editorId", "menus", "mergeFields", "disabled"] }, { type: SkyTextEditorToolbarComponent, selector: "sky-text-editor-toolbar", inputs: ["editorFocusStream", "editorId", "fontList", "fontSizeList", "toolbarActions", "styleState", "disabled"] }], directives: [{ type: i5__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush, encapsulation: i0__namespace.ViewEncapsulation.None });
|
|
2062
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyTextEditorComponent, decorators: [{
|
|
1906
2063
|
type: i0.Component,
|
|
1907
2064
|
args: [{
|
|
1908
2065
|
selector: 'sky-text-editor',
|
|
1909
|
-
|
|
1910
|
-
|
|
1911
|
-
providers: [
|
|
1912
|
-
{
|
|
1913
|
-
provide: i5.NG_VALUE_ACCESSOR,
|
|
1914
|
-
// tslint:disable-next-line: no-forward-ref
|
|
1915
|
-
useExisting: i0.forwardRef(function () { return SkyTextEditorComponent; }),
|
|
1916
|
-
multi: true
|
|
1917
|
-
}
|
|
1918
|
-
],
|
|
2066
|
+
template: "<div class=\"sky-text-editor\">\n <sky-toolbar class=\"sky-text-editor-toolbar\">\n <sky-toolbar-section\n aria-label=\"Text formatting\"\n class=\"menubar\"\n role=\"toolbar\"\n >\n <sky-text-editor-menubar\n [disabled]=\"disabled\"\n [editorFocusStream]=\"editorFocusStream\"\n [editorId]=\"id\"\n [menus]=\"menus\"\n [mergeFields]=\"mergeFields\"\n >\n </sky-text-editor-menubar>\n </sky-toolbar-section>\n <sky-toolbar-section\n aria-label=\"Text formatting\"\n class=\"toolbar\"\n role=\"toolbar\"\n >\n <sky-text-editor-toolbar\n [disabled]=\"disabled\"\n [editorFocusStream]=\"editorFocusStream\"\n [editorId]=\"id\"\n [fontList]=\"fontList\"\n [fontSizeList]=\"fontSizeList\"\n [toolbarActions]=\"toolbarActions\"\n [styleState]=\"initialStyleState\"\n >\n </sky-text-editor-toolbar>\n </sky-toolbar-section>\n </sky-toolbar>\n <iframe\n class=\"sky-text-editor-wrapper\"\n src=\"about:blank\"\n title=\"Text Editor\"\n [ngClass]=\"{\n 'sky-text-editor-wrapper-disabled': disabled\n }\"\n (load)=\"onIframeLoad()\"\n #iframe\n >\n </iframe>\n</div>\n",
|
|
2067
|
+
styles: [".sky-text-editor .sky-text-editor-wrapper{display:flex;flex-wrap:wrap;background-color:#fff;width:100%;height:300px;padding:1rem;font-size:1.2rem;border:1px solid #c0c0c0;overflow-y:auto;outline:none}.sky-text-editor .sky-text-editor-wrapper.sky-text-editor-wrapper-disabled{background-color:#ededee}.sky-text-editor .sky-text-editor-toolbar .sky-toolbar-section{padding:10px 10px 0}.sky-text-editor .sky-text-editor-toolbar .sky-toolbar-sectioned{border-left:1px solid #cdcfd2!important;border-right:1px solid #cdcfd2!important}.sky-text-editor .sky-text-editor-toolbar .sky-toolbar-item{margin:0 20px 10px 0}.sky-text-editor .sky-text-editor-toolbar .sky-dropdown-button{border:none}.sky-text-editor .sky-text-editor-toolbar sky-text-editor-menubar,.sky-text-editor .sky-text-editor-toolbar sky-text-editor-toolbar{display:flex;flex-wrap:wrap}.sky-theme-modern .sky-text-editor .sky-text-editor-wrapper{border:1px solid #d2d2d2}.sky-theme-modern .sky-text-editor .sky-text-editor-wrapper.sky-text-editor-wrapper-disabled{background-color:#ececed}.sky-theme-modern .sky-text-editor .sky-text-editor-toolbar .sky-toolbar{padding:10px 10px 0}.sky-theme-modern .sky-text-editor .sky-text-editor-toolbar .sky-toolbar-section{padding:10px!important}.sky-theme-modern .sky-text-editor .sky-text-editor-toolbar .sky-toolbar-sectioned{border-top:1px solid #d2d2d2!important;border-left:1px solid #d2d2d2!important;border-right:1px solid #d2d2d2!important}.sky-theme-modern .sky-text-editor .sky-text-editor-toolbar .sky-toolbar-item{margin:0 20px 0 0!important}\n"],
|
|
1919
2068
|
changeDetection: i0.ChangeDetectionStrategy.OnPush,
|
|
1920
|
-
encapsulation: i0.ViewEncapsulation.None
|
|
2069
|
+
encapsulation: i0.ViewEncapsulation.None,
|
|
1921
2070
|
}]
|
|
1922
|
-
}], ctorParameters: function () { return [{ type: i0__namespace.ChangeDetectorRef }, { type: i3__namespace.SkyCoreAdapterService }, { type: SkyTextEditorAdapterService }, { type: SkyTextEditorService }, { type: SkyTextSanitizationService }]; }, propDecorators: { autofocus: [{
|
|
2071
|
+
}], ctorParameters: function () { return [{ type: i0__namespace.ChangeDetectorRef }, { type: i3__namespace.SkyCoreAdapterService }, { type: SkyTextEditorAdapterService }, { type: SkyTextEditorService }, { type: SkyTextSanitizationService }, { type: i5__namespace$1.NgControl }, { type: i0__namespace.NgZone }]; }, propDecorators: { autofocus: [{
|
|
1923
2072
|
type: i0.Input
|
|
1924
2073
|
}], disabled: [{
|
|
1925
2074
|
type: i0.Input
|
|
@@ -1949,13 +2098,13 @@
|
|
|
1949
2098
|
}
|
|
1950
2099
|
return SkyTextEditorModule;
|
|
1951
2100
|
}());
|
|
1952
|
-
SkyTextEditorModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
1953
|
-
SkyTextEditorModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.
|
|
2101
|
+
SkyTextEditorModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyTextEditorModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
|
|
2102
|
+
SkyTextEditorModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyTextEditorModule, declarations: [SkyTextEditorComponent,
|
|
1954
2103
|
SkyTextEditorUrlModalComponent,
|
|
1955
2104
|
SkyTextEditorToolbarComponent,
|
|
1956
|
-
SkyTextEditorMenubarComponent], imports: [
|
|
1957
|
-
i5.FormsModule,
|
|
1958
|
-
i5.ReactiveFormsModule,
|
|
2105
|
+
SkyTextEditorMenubarComponent], imports: [i5.CommonModule,
|
|
2106
|
+
i5$1.FormsModule,
|
|
2107
|
+
i5$1.ReactiveFormsModule,
|
|
1959
2108
|
i3.SkyCoreAdapterModule,
|
|
1960
2109
|
SkyTextEditorResourcesModule,
|
|
1961
2110
|
i2.SkyI18nModule,
|
|
@@ -1972,10 +2121,10 @@
|
|
|
1972
2121
|
SkyTextEditorUrlModalComponent,
|
|
1973
2122
|
SkyTextEditorToolbarComponent,
|
|
1974
2123
|
SkyTextEditorMenubarComponent] });
|
|
1975
|
-
SkyTextEditorModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.
|
|
1976
|
-
|
|
1977
|
-
i5.FormsModule,
|
|
1978
|
-
i5.ReactiveFormsModule,
|
|
2124
|
+
SkyTextEditorModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyTextEditorModule, imports: [[
|
|
2125
|
+
i5.CommonModule,
|
|
2126
|
+
i5$1.FormsModule,
|
|
2127
|
+
i5$1.ReactiveFormsModule,
|
|
1979
2128
|
i3.SkyCoreAdapterModule,
|
|
1980
2129
|
SkyTextEditorResourcesModule,
|
|
1981
2130
|
i2.SkyI18nModule,
|
|
@@ -1988,15 +2137,15 @@
|
|
|
1988
2137
|
i1$1.SkyModalModule,
|
|
1989
2138
|
i3$2.SkyTabsModule,
|
|
1990
2139
|
i6.SkyThemeModule,
|
|
1991
|
-
i3$1.SkyToolbarModule
|
|
2140
|
+
i3$1.SkyToolbarModule,
|
|
1992
2141
|
]] });
|
|
1993
|
-
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
2142
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: SkyTextEditorModule, decorators: [{
|
|
1994
2143
|
type: i0.NgModule,
|
|
1995
2144
|
args: [{
|
|
1996
2145
|
imports: [
|
|
1997
|
-
|
|
1998
|
-
i5.FormsModule,
|
|
1999
|
-
i5.ReactiveFormsModule,
|
|
2146
|
+
i5.CommonModule,
|
|
2147
|
+
i5$1.FormsModule,
|
|
2148
|
+
i5$1.ReactiveFormsModule,
|
|
2000
2149
|
i3.SkyCoreAdapterModule,
|
|
2001
2150
|
SkyTextEditorResourcesModule,
|
|
2002
2151
|
i2.SkyI18nModule,
|
|
@@ -2009,23 +2158,21 @@
|
|
|
2009
2158
|
i1$1.SkyModalModule,
|
|
2010
2159
|
i3$2.SkyTabsModule,
|
|
2011
2160
|
i6.SkyThemeModule,
|
|
2012
|
-
i3$1.SkyToolbarModule
|
|
2161
|
+
i3$1.SkyToolbarModule,
|
|
2013
2162
|
],
|
|
2014
2163
|
exports: [
|
|
2015
2164
|
SkyTextEditorComponent,
|
|
2016
2165
|
SkyTextEditorUrlModalComponent,
|
|
2017
2166
|
SkyTextEditorToolbarComponent,
|
|
2018
|
-
SkyTextEditorMenubarComponent
|
|
2167
|
+
SkyTextEditorMenubarComponent,
|
|
2019
2168
|
],
|
|
2020
2169
|
declarations: [
|
|
2021
2170
|
SkyTextEditorComponent,
|
|
2022
2171
|
SkyTextEditorUrlModalComponent,
|
|
2023
2172
|
SkyTextEditorToolbarComponent,
|
|
2024
|
-
SkyTextEditorMenubarComponent
|
|
2173
|
+
SkyTextEditorMenubarComponent,
|
|
2025
2174
|
],
|
|
2026
|
-
entryComponents: [
|
|
2027
|
-
SkyTextEditorUrlModalComponent
|
|
2028
|
-
]
|
|
2175
|
+
entryComponents: [SkyTextEditorUrlModalComponent],
|
|
2029
2176
|
}]
|
|
2030
2177
|
}] });
|
|
2031
2178
|
|