@progress/kendo-angular-editor 2.4.2 → 2.5.0-dev.202111240844

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.
Files changed (60) hide show
  1. package/dist/cdn/js/kendo-angular-editor.js +2 -2
  2. package/dist/cdn/main.js +1 -1
  3. package/dist/es/common/error-messages.js +2 -1
  4. package/dist/es/common/styles.js +1 -1
  5. package/dist/es/config/command-icons.js +4 -2
  6. package/dist/es/config/commands.js +32 -31
  7. package/dist/es/editor-toolbar-state.js +20 -2
  8. package/dist/es/editor.component.js +7 -5
  9. package/dist/es/editor.module.js +7 -1
  10. package/dist/es/index.js +2 -0
  11. package/dist/es/localization/messages.js +8 -0
  12. package/dist/es/package-metadata.js +1 -1
  13. package/dist/es/tools/print/editor-print-button.directive.js +67 -0
  14. package/dist/es/tools/select-all/select-all-button.directive.js +48 -0
  15. package/dist/es/tools/shared/editor-command-base.js +10 -10
  16. package/dist/es/tools/tables/editor-insert-table-button.component.js +5 -8
  17. package/dist/es2015/common/commands.d.ts +5 -1
  18. package/dist/es2015/common/error-messages.js +2 -1
  19. package/dist/es2015/common/styles.d.ts +1 -1
  20. package/dist/es2015/common/styles.js +72 -0
  21. package/dist/es2015/config/command-icons.d.ts +2 -2
  22. package/dist/es2015/config/command-icons.js +4 -2
  23. package/dist/es2015/config/commands.js +31 -30
  24. package/dist/es2015/editor-toolbar-state.js +20 -2
  25. package/dist/es2015/editor.component.d.ts +5 -0
  26. package/dist/es2015/editor.component.js +10 -4
  27. package/dist/es2015/editor.module.js +7 -1
  28. package/dist/es2015/index.d.ts +2 -0
  29. package/dist/es2015/index.js +2 -0
  30. package/dist/es2015/index.metadata.json +1 -1
  31. package/dist/es2015/localization/messages.d.ts +8 -0
  32. package/dist/es2015/localization/messages.js +8 -0
  33. package/dist/es2015/package-metadata.js +1 -1
  34. package/dist/es2015/tools/print/editor-print-button.directive.d.ts +33 -0
  35. package/dist/es2015/tools/print/editor-print-button.directive.js +64 -0
  36. package/dist/es2015/tools/select-all/select-all-button.directive.d.ts +29 -0
  37. package/dist/es2015/tools/select-all/select-all-button.directive.js +46 -0
  38. package/dist/es2015/tools/shared/editor-command-base.d.ts +3 -3
  39. package/dist/es2015/tools/shared/editor-command-base.js +9 -9
  40. package/dist/es2015/tools/shared/editor-command-button.d.ts +3 -3
  41. package/dist/es2015/tools/tables/editor-insert-table-button.component.d.ts +2 -3
  42. package/dist/es2015/tools/tables/editor-insert-table-button.component.js +13 -8
  43. package/dist/fesm2015/index.js +263 -57
  44. package/dist/fesm5/index.js +188 -61
  45. package/dist/npm/common/error-messages.js +2 -1
  46. package/dist/npm/common/styles.js +1 -1
  47. package/dist/npm/config/command-icons.js +4 -2
  48. package/dist/npm/config/commands.js +33 -31
  49. package/dist/npm/editor-toolbar-state.js +20 -2
  50. package/dist/npm/editor.component.js +6 -4
  51. package/dist/npm/editor.module.js +7 -1
  52. package/dist/npm/index.js +4 -0
  53. package/dist/npm/localization/messages.js +8 -0
  54. package/dist/npm/package-metadata.js +1 -1
  55. package/dist/npm/tools/print/editor-print-button.directive.js +69 -0
  56. package/dist/npm/tools/select-all/select-all-button.directive.js +50 -0
  57. package/dist/npm/tools/shared/editor-command-base.js +10 -10
  58. package/dist/npm/tools/tables/editor-insert-table-button.component.js +5 -8
  59. package/dist/systemjs/kendo-angular-editor.js +1 -1
  60. package/package.json +1 -1
@@ -12,6 +12,7 @@ export var EditorErrorMessages = {
12
12
  setSchemaOnce: 'The Schema cannot be changed dynamically. See http://www.telerik.com/kendo-angular-ui/components/editor/schema/',
13
13
  pluginsCallbackType: ɵ0,
14
14
  setPluginsOnce: 'The plugins cannot be changed dynamically. See http://www.telerik.com/kendo-angular-ui/components/editor/plugins/',
15
- setPlaceHolderOnce: 'The placeholder cannot be changed dynamically. See http://www.telerik.com/kendo-angular-ui/components/editor/placeholder/'
15
+ setPlaceHolderOnce: 'The placeholder cannot be changed dynamically. See http://www.telerik.com/kendo-angular-ui/components/editor/placeholder/',
16
+ printTool: 'The Print tool and functionality are supported only in iframe mode. See https://www.telerik.com/kendo-angular-ui-develop/components/editor/api/EditorPrintButtonDirective/'
16
17
  };
17
18
  export { ɵ0 };
@@ -5,7 +5,7 @@
5
5
  /**
6
6
  * @hidden
7
7
  */
8
- export var defaultStyle = "\nhtml, body {\n margin: 0;\n height: 100%;\n padding: 0;\n}\n\nhtml {\n min-height: 100%;\n}\n\nbody {\n box-sizing: border-box;\n position: relative;\n padding: 8px;\n}\n\n.ProseMirror-selectednode {\n outline: 2px solid #8cf;\n}\n\ndiv.ProseMirror {\n position: relative;\n min-height: 100%;\n word-wrap: break-word;\n white-space: pre-wrap;\n white-space: break-spaces;\n -webkit-font-variant-ligatures: none;\n font-variant-ligatures: none;\n font-feature-settings: \"liga\" 0; /* the above doesn't seem to work in Edge */\n}\n\ndiv.ProseMirror:focus {\n outline: none;\n}\n\n.ProseMirror pre {\n white-space: pre-wrap;\n}\n\n.ProseMirror-hideselection *::selection { background: transparent; }\n.ProseMirror-hideselection *::-moz-selection { background: transparent; }\n.ProseMirror-hideselection { caret-color: transparent; }\n\n.ProseMirror li {\n position: relative;\n}\n\nli.ProseMirror-selectednode {\n outline: none;\n}\n\nli.ProseMirror-selectednode:after {\n content: \"\";\n position: absolute;\n left: -32px;\n right: -2px;\n top: -2px;\n bottom: -2px;\n border: 2px solid #8cf;\n pointer-events: none;\n}\n\n.ProseMirror-gapcursor {\n display: none;\n pointer-events: none;\n position: absolute;\n}\n\n.ProseMirror-gapcursor:after {\n content: \"\";\n display: block;\n position: absolute;\n top: -2px;\n width: 20px;\n border-top: 1px solid black;\n animation: ProseMirror-cursor-blink 1.1s steps(2, start) infinite;\n}\n\n@keyframes ProseMirror-cursor-blink {\n to {\n visibility: hidden;\n }\n}\n\n.ProseMirror-focused .ProseMirror-gapcursor {\n display: block;\n}\n\n.ProseMirror .k-placeholder::before {\n content: attr(data-placeholder);\n height: 0;\n color: #8a8a8a;\n float: left;\n opacity: 1;\n cursor: text;\n -webkit-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n";
8
+ export var defaultStyle = "\nhtml, body {\n margin: 0;\n height: 100%;\n padding: 0;\n}\n\nhtml {\n min-height: 100%;\n}\n\nbody {\n box-sizing: border-box;\n position: relative;\n padding: 8px;\n}\n\n.ProseMirror-selectednode {\n outline: 2px solid #8cf;\n}\n\ndiv.ProseMirror {\n position: relative;\n min-height: 100%;\n word-wrap: break-word;\n white-space: pre-wrap;\n white-space: break-spaces;\n -webkit-font-variant-ligatures: none;\n font-variant-ligatures: none;\n font-feature-settings: \"liga\" 0; /* the above doesn't seem to work in Edge */\n}\n\ndiv.ProseMirror:focus {\n outline: none;\n}\n\n.ProseMirror pre {\n white-space: pre-wrap;\n}\n\n.ProseMirror-hideselection *::selection { background: transparent; }\n.ProseMirror-hideselection *::-moz-selection { background: transparent; }\n.ProseMirror-hideselection { caret-color: transparent; }\n\n.ProseMirror li {\n position: relative;\n}\n\nli.ProseMirror-selectednode {\n outline: none;\n}\n\nli.ProseMirror-selectednode:after {\n content: \"\";\n position: absolute;\n left: -32px;\n right: -2px;\n top: -2px;\n bottom: -2px;\n border: 2px solid #8cf;\n pointer-events: none;\n}\n\n.ProseMirror-gapcursor {\n display: none;\n pointer-events: none;\n position: absolute;\n}\n\n.ProseMirror-gapcursor:after {\n content: \"\";\n display: block;\n position: absolute;\n top: -2px;\n width: 20px;\n border-top: 1px solid black;\n animation: ProseMirror-cursor-blink 1.1s steps(2, start) infinite;\n}\n\n@keyframes ProseMirror-cursor-blink {\n to {\n visibility: hidden;\n }\n}\n\n.ProseMirror-focused .ProseMirror-gapcursor {\n display: block;\n}\n\n.ProseMirror .k-placeholder::before {\n content: attr(data-placeholder);\n height: 0;\n color: #8a8a8a;\n float: left;\n opacity: 1;\n cursor: text;\n -webkit-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n/* image resizing */\n.k-editor-resize-handles-wrapper {\n position: absolute;\n visibility: hidden;\n}\n\n.k-editor-resize-handle {\n position: absolute;\n visibility: visible;\n background-color: #fff;\n border: 1px solid #000;\n z-index: 100;\n width: 5px;\n height: 5px;\n}\n\n.k-editor-resize-handle.northwest {\n top: 0;\n left: 0;\n transform: translate(-50%, -50%);\n cursor: nw-resize;\n}\n\n.k-editor-resize-handle.north {\n top: 0;\n left: 50%;\n transform: translate(-50%, -50%);\n cursor: n-resize;\n}\n\n.k-editor-resize-handle.northeast {\n top: 0;\n right: 0;\n transform: translate(50%, -50%);\n cursor: ne-resize;\n}\n\n.k-editor-resize-handle.southwest {\n left: 0;\n bottom: 0;\n transform: translate(-50%, 50%);\n cursor: sw-resize;\n}\n\n.k-editor-resize-handle.south {\n bottom: 0;\n left: 50%;\n transform: translate(-50%, 50%);\n cursor: s-resize;\n}\n\n.k-editor-resize-handle.southeast {\n right: 0;\n bottom: 0;\n transform: translate(50%, 50%);\n cursor: se-resize;\n}\n\n.k-editor-resize-handle.west {\n top: 50%;\n left: 0;\n transform: translate(-50%, -50%);\n cursor: w-resize;\n}\n\n.k-editor-resize-handle.east {\n top: 50%;\n right: 0;\n transform: translate(50%, -50%);\n cursor: e-resize;\n}\n";
9
9
  /**
10
10
  * @hidden
11
11
  */
@@ -10,9 +10,11 @@ export var commandIcons = {
10
10
  alignJustify: 'align-justify',
11
11
  alignLeft: 'align-left',
12
12
  alignRight: 'align-right',
13
+ backColor: 'background',
13
14
  bold: 'bold',
14
15
  cleanFormatting: 'clear-css',
15
16
  createLink: 'link-horizontal',
17
+ foreColor: 'foreground-color',
16
18
  indent: 'indent-increase',
17
19
  insertFile: 'file-add',
18
20
  insertImage: 'image',
@@ -20,7 +22,9 @@ export var commandIcons = {
20
22
  insertUnorderedList: 'list-unordered',
21
23
  italic: 'italic',
22
24
  outdent: 'indent-decrease',
25
+ print: 'print',
23
26
  redo: 'redo',
27
+ selectAll: 'select-all',
24
28
  strikethrough: 'strikethrough',
25
29
  subscript: 'sub-script',
26
30
  superscript: 'sup-script',
@@ -28,8 +32,6 @@ export var commandIcons = {
28
32
  undo: 'undo',
29
33
  unlink: 'unlink-horizontal',
30
34
  viewSource: 'html',
31
- foreColor: 'foreground-color',
32
- backColor: 'background',
33
35
  //table
34
36
  insertTable: 'table-insert',
35
37
  addColumnBefore: 'table-column-insert-left',
@@ -5,11 +5,11 @@
5
5
  import * as tslib_1 from "tslib";
6
6
  import { alignBlocks, alignLeftRules, alignCenterRules, alignRightRules, alignJustifyRules, alignRemoveRules, indent, outdent, setHtml, getHtml, insertImage, insertText, applyLink, removeLink, expandToWordWrap,
7
7
  //marks
8
- bold, italic, underline, strikethrough, subscript, superscript, link, toggleInlineFormat, applyInlineStyle, formatBlockElements, toggleOrderedList, toggleUnorderedList, isAligned, undo, redo, cleanFormatting } from '@progress/kendo-editor-common';
8
+ bold, italic, underline, strikethrough, subscript, superscript, link, toggleInlineFormat, applyInlineStyle, formatBlockElements, toggleOrderedList, toggleUnorderedList, isAligned, undo, redo, cleanFormatting, selectAll } from '@progress/kendo-editor-common';
9
9
  import { insertTable, deleteTable, addColumnBefore, addColumnAfter, addRowBefore, addRowAfter, deleteRow, deleteColumn, mergeCells, splitCell } from './table-commands';
10
10
  var alignRemove = function (state, dispatch) { return alignBlocks(alignRemoveRules)(state, dispatch); };
11
11
  var ɵ0 = alignRemove;
12
- var ɵ1 = function (applyToWord) { return expandToWordWrap(toggleInlineFormat, tslib_1.__assign({}, bold, { applyToWord: applyToWord })); }, ɵ2 = function (options) { return cleanFormatting(options); }, ɵ3 = function (attrs) { return expandToWordWrap(applyLink, { mark: 'link', attrs: attrs.value, applyToWord: attrs.applyToWord }); }, ɵ4 = function (attrs) { return expandToWordWrap(applyInlineStyle, { style: 'font-family', value: attrs.value, applyToWord: attrs.applyToWord }); }, ɵ5 = function (attrs) { return expandToWordWrap(applyInlineStyle, { style: 'font-size', value: attrs.value + 'px', applyToWord: attrs.applyToWord }); }, ɵ6 = function (attrs) { return expandToWordWrap(applyLink, { mark: 'link', attrs: attrs, applyToWord: attrs.applyToWord }); }, ɵ7 = function (text) { return insertText(text); }, ɵ8 = function (applyToWord) { return expandToWordWrap(toggleInlineFormat, tslib_1.__assign({}, italic, { applyToWord: applyToWord })); }, ɵ9 = function (applyToWord) { return expandToWordWrap(toggleInlineFormat, tslib_1.__assign({}, strikethrough, { applyToWord: applyToWord })); }, ɵ10 = function (applyToWord) { return expandToWordWrap(toggleInlineFormat, tslib_1.__assign({}, subscript, { applyToWord: applyToWord })); }, ɵ11 = function (applyToWord) { return expandToWordWrap(toggleInlineFormat, tslib_1.__assign({}, superscript, { applyToWord: applyToWord })); }, ɵ12 = function (applyToWord) { return expandToWordWrap(toggleInlineFormat, tslib_1.__assign({}, underline, { applyToWord: applyToWord })); }, ɵ13 = function () { return removeLink(link); }, ɵ14 = function (attrs) { return expandToWordWrap(applyInlineStyle, { style: 'color', value: attrs.value, applyToWord: attrs.applyToWord }); }, ɵ15 = function (attrs) { return expandToWordWrap(applyInlineStyle, { style: 'background-color', value: attrs.value, applyToWord: attrs.applyToWord }); };
12
+ var ɵ1 = function (applyToWord) { return expandToWordWrap(toggleInlineFormat, tslib_1.__assign({}, bold, { applyToWord: applyToWord })); }, ɵ2 = function (options) { return cleanFormatting(options); }, ɵ3 = function (attrs) { return expandToWordWrap(applyLink, { mark: 'link', attrs: attrs.value, applyToWord: attrs.applyToWord }); }, ɵ4 = function (attrs) { return expandToWordWrap(applyInlineStyle, { style: 'font-family', value: attrs.value, applyToWord: attrs.applyToWord }); }, ɵ5 = function (attrs) { return expandToWordWrap(applyInlineStyle, { style: 'font-size', value: attrs.value + 'px', applyToWord: attrs.applyToWord }); }, ɵ6 = function (attrs) { return expandToWordWrap(applyLink, { mark: 'link', attrs: attrs, applyToWord: attrs.applyToWord }); }, ɵ7 = function (text) { return insertText(text); }, ɵ8 = function (applyToWord) { return expandToWordWrap(toggleInlineFormat, tslib_1.__assign({}, italic, { applyToWord: applyToWord })); }, ɵ9 = function (applyToWord) { return expandToWordWrap(toggleInlineFormat, tslib_1.__assign({}, strikethrough, { applyToWord: applyToWord })); }, ɵ10 = function (applyToWord) { return expandToWordWrap(toggleInlineFormat, tslib_1.__assign({}, subscript, { applyToWord: applyToWord })); }, ɵ11 = function (applyToWord) { return expandToWordWrap(toggleInlineFormat, tslib_1.__assign({}, superscript, { applyToWord: applyToWord })); }, ɵ12 = function (applyToWord) { return expandToWordWrap(toggleInlineFormat, tslib_1.__assign({}, underline, { applyToWord: applyToWord })); }, ɵ13 = function () { return removeLink(link); }, ɵ14 = function (attrs) { return expandToWordWrap(applyInlineStyle, { style: 'color', value: attrs.value, applyToWord: attrs.applyToWord }); }, ɵ15 = function (attrs) { return expandToWordWrap(applyInlineStyle, { style: 'background-color', value: attrs.value, applyToWord: attrs.applyToWord }); }, ɵ16 = function () { return function (state, dispatch) { return selectAll(state, dispatch); }; };
13
13
  var inlineCommand = {
14
14
  bold: ɵ1,
15
15
  cleanFormatting: ɵ2,
@@ -25,45 +25,46 @@ var inlineCommand = {
25
25
  underline: ɵ12,
26
26
  unlink: ɵ13,
27
27
  foreColor: ɵ14,
28
- backColor: ɵ15
28
+ backColor: ɵ15,
29
+ selectAll: ɵ16
29
30
  };
30
- var ɵ16 = function () { return function (state, dispatch) { return isAligned(state, alignCenterRules) ? alignRemove(state, dispatch) : alignBlocks(alignCenterRules)(state, dispatch); }; }, ɵ17 = function () { return function (state, dispatch) { return isAligned(state, alignJustifyRules) ? alignRemove(state, dispatch) : alignBlocks(alignJustifyRules)(state, dispatch); }; }, ɵ18 = function () { return function (state, dispatch) { return isAligned(state, alignLeftRules) ? alignRemove(state, dispatch) : alignBlocks(alignLeftRules)(state, dispatch); }; }, ɵ19 = function () { return function (state, dispatch) { return isAligned(state, alignRightRules) ? alignRemove(state, dispatch) : alignBlocks(alignRightRules)(state, dispatch); }; }, ɵ20 = function (formatAttr) { return formatBlockElements(formatAttr.tag); }, ɵ21 = function () { return getHtml; }, ɵ22 = function () { return indent; }, ɵ23 = function (attrs) { return insertImage(attrs); }, ɵ24 = function () { return toggleOrderedList; }, ɵ25 = function () { return toggleUnorderedList; }, ɵ26 = function () { return outdent; }, ɵ27 = function () { return redo; }, ɵ28 = function (_a) {
31
+ var ɵ17 = function () { return function (state, dispatch) { return isAligned(state, alignCenterRules) ? alignRemove(state, dispatch) : alignBlocks(alignCenterRules)(state, dispatch); }; }, ɵ18 = function () { return function (state, dispatch) { return isAligned(state, alignJustifyRules) ? alignRemove(state, dispatch) : alignBlocks(alignJustifyRules)(state, dispatch); }; }, ɵ19 = function () { return function (state, dispatch) { return isAligned(state, alignLeftRules) ? alignRemove(state, dispatch) : alignBlocks(alignLeftRules)(state, dispatch); }; }, ɵ20 = function () { return function (state, dispatch) { return isAligned(state, alignRightRules) ? alignRemove(state, dispatch) : alignBlocks(alignRightRules)(state, dispatch); }; }, ɵ21 = function (formatAttr) { return formatBlockElements(formatAttr.tag); }, ɵ22 = function () { return getHtml; }, ɵ23 = function () { return indent; }, ɵ24 = function (attrs) { return insertImage(attrs); }, ɵ25 = function () { return toggleOrderedList; }, ɵ26 = function () { return toggleUnorderedList; }, ɵ27 = function () { return outdent; }, ɵ28 = function () { return redo; }, ɵ29 = function (_a) {
31
32
  var content = _a.content, parseOptions = _a.parseOptions;
32
33
  return setHtml(content, 'setHTML', parseOptions);
33
- }, ɵ29 = function () { return undo; };
34
+ }, ɵ30 = function () { return undo; };
34
35
  var blockCommand = {
35
- alignCenter: ɵ16,
36
- alignJustify: ɵ17,
37
- alignLeft: ɵ18,
38
- alignRight: ɵ19,
39
- format: ɵ20,
40
- getHTML: ɵ21,
41
- indent: ɵ22,
42
- insertImage: ɵ23,
36
+ alignCenter: ɵ17,
37
+ alignJustify: ɵ18,
38
+ alignLeft: ɵ19,
39
+ alignRight: ɵ20,
40
+ format: ɵ21,
41
+ getHTML: ɵ22,
42
+ indent: ɵ23,
43
+ insertImage: ɵ24,
43
44
  // think about changing the command name.
44
- insertOrderedList: ɵ24,
45
+ insertOrderedList: ɵ25,
45
46
  // think about changing the command name.
46
- insertUnorderedList: ɵ25,
47
- outdent: ɵ26,
48
- redo: ɵ27,
49
- setHTML: ɵ28,
50
- undo: ɵ29
47
+ insertUnorderedList: ɵ26,
48
+ outdent: ɵ27,
49
+ redo: ɵ28,
50
+ setHTML: ɵ29,
51
+ undo: ɵ30
51
52
  };
52
- var ɵ30 = function (attr) { return insertTable(attr); }, ɵ31 = function () { return addColumnBefore; }, ɵ32 = function () { return addColumnAfter; }, ɵ33 = function () { return addRowBefore; }, ɵ34 = function () { return addRowAfter; }, ɵ35 = function () { return deleteRow; }, ɵ36 = function () { return deleteColumn; }, ɵ37 = function () { return mergeCells; }, ɵ38 = function () { return splitCell; }, ɵ39 = function () { return deleteTable; };
53
+ var ɵ31 = function (attr) { return insertTable(attr); }, ɵ32 = function () { return addColumnBefore; }, ɵ33 = function () { return addColumnAfter; }, ɵ34 = function () { return addRowBefore; }, ɵ35 = function () { return addRowAfter; }, ɵ36 = function () { return deleteRow; }, ɵ37 = function () { return deleteColumn; }, ɵ38 = function () { return mergeCells; }, ɵ39 = function () { return splitCell; }, ɵ40 = function () { return deleteTable; };
53
54
  var tableCommand = {
54
- insertTable: ɵ30,
55
- addColumnBefore: ɵ31,
56
- addColumnAfter: ɵ32,
57
- addRowBefore: ɵ33,
58
- addRowAfter: ɵ34,
59
- deleteRow: ɵ35,
60
- deleteColumn: ɵ36,
61
- mergeCells: ɵ37,
62
- splitCell: ɵ38,
63
- deleteTable: ɵ39
55
+ insertTable: ɵ31,
56
+ addColumnBefore: ɵ32,
57
+ addColumnAfter: ɵ33,
58
+ addRowBefore: ɵ34,
59
+ addRowAfter: ɵ35,
60
+ deleteRow: ɵ36,
61
+ deleteColumn: ɵ37,
62
+ mergeCells: ɵ38,
63
+ splitCell: ɵ39,
64
+ deleteTable: ɵ40
64
65
  };
65
66
  /**
66
67
  * @hidden
67
68
  */
68
69
  export var editorCommands = Object.assign({}, inlineCommand, blockCommand, tableCommand);
69
- export { ɵ0, ɵ1, ɵ2, ɵ3, ɵ4, ɵ5, ɵ6, ɵ7, ɵ8, ɵ9, ɵ10, ɵ11, ɵ12, ɵ13, ɵ14, ɵ15, ɵ16, ɵ17, ɵ18, ɵ19, ɵ20, ɵ21, ɵ22, ɵ23, ɵ24, ɵ25, ɵ26, ɵ27, ɵ28, ɵ29, ɵ30, ɵ31, ɵ32, ɵ33, ɵ34, ɵ35, ɵ36, ɵ37, ɵ38, ɵ39 };
70
+ export { ɵ0, ɵ1, ɵ2, ɵ3, ɵ4, ɵ5, ɵ6, ɵ7, ɵ8, ɵ9, ɵ10, ɵ11, ɵ12, ɵ13, ɵ14, ɵ15, ɵ16, ɵ17, ɵ18, ɵ19, ɵ20, ɵ21, ɵ22, ɵ23, ɵ24, ɵ25, ɵ26, ɵ27, ɵ28, ɵ29, ɵ30, ɵ31, ɵ32, ɵ33, ɵ34, ɵ35, ɵ36, ɵ37, ɵ38, ɵ39, ɵ40 };
@@ -64,6 +64,10 @@ export var getToolbarState = function (state, options) { return ({
64
64
  selected: false,
65
65
  disabled: !redo(state)
66
66
  },
67
+ selectAll: {
68
+ selected: false,
69
+ disabled: false
70
+ },
67
71
  strikethrough: {
68
72
  selected: hasMark(state, strikethrough),
69
73
  disabled: false
@@ -113,6 +117,12 @@ export var getToolbarState = function (state, options) { return ({
113
117
  selected: false,
114
118
  disabled: false
115
119
  },
120
+ // print
121
+ print: {
122
+ selected: false,
123
+ disabled: false
124
+ },
125
+ // table
116
126
  insertTable: {
117
127
  selected: false,
118
128
  disabled: false
@@ -185,6 +195,8 @@ export var initialToolBarState = {
185
195
  //history
186
196
  redo: { selected: false, disabled: true },
187
197
  undo: { selected: false, disabled: true },
198
+ // print
199
+ print: { selected: false, disabled: false },
188
200
  //dialogs
189
201
  createLink: { selected: false, disabled: true },
190
202
  insertFile: { selected: false, disabled: true },
@@ -200,7 +212,9 @@ export var initialToolBarState = {
200
212
  deleteColumn: { selected: false, disabled: true },
201
213
  mergeCells: { selected: false, disabled: true },
202
214
  splitCell: { selected: false, disabled: true },
203
- deleteTable: { selected: false, disabled: true }
215
+ deleteTable: { selected: false, disabled: true },
216
+ // select all
217
+ selectAll: { selected: false, disabled: false }
204
218
  };
205
219
  /**
206
220
  * @hidden
@@ -233,6 +247,8 @@ export var disabledToolBarState = {
233
247
  //history
234
248
  redo: { selected: false, disabled: true },
235
249
  undo: { selected: false, disabled: true },
250
+ // print
251
+ print: { selected: false, disabled: true },
236
252
  //dialogs
237
253
  createLink: { selected: false, disabled: true },
238
254
  insertFile: { selected: false, disabled: true },
@@ -248,5 +264,7 @@ export var disabledToolBarState = {
248
264
  deleteColumn: { selected: false, disabled: true },
249
265
  mergeCells: { selected: false, disabled: true },
250
266
  splitCell: { selected: false, disabled: true },
251
- deleteTable: { selected: false, disabled: true }
267
+ deleteTable: { selected: false, disabled: true },
268
+ // select all
269
+ selectAll: { selected: false, disabled: true }
252
270
  };
@@ -10,7 +10,7 @@ import { map, filter, auditTime, take } from 'rxjs/operators';
10
10
  import { ToolBarComponent } from '@progress/kendo-angular-toolbar';
11
11
  import { DialogService } from '@progress/kendo-angular-dialog';
12
12
  import { isDocumentAvailable, KendoInput } from '@progress/kendo-angular-common';
13
- import { buildKeymap, buildListKeymap, hasSameMarkup, getHtml, pasteCleanup, sanitize, removeComments, sanitizeClassAttr, sanitizeStyleAttr, removeAttribute, placeholder, EditorView, EditorState, baseKeymap, keymap, history, parseContent, Plugin, PluginKey, TextSelection, Schema, gapCursor, getSelectionText } from '@progress/kendo-editor-common';
13
+ import { buildKeymap, buildListKeymap, hasSameMarkup, getHtml, pasteCleanup, sanitize, removeComments, sanitizeClassAttr, sanitizeStyleAttr, removeAttribute, placeholder, EditorView, EditorState, baseKeymap, keymap, history, parseContent, Plugin, PluginKey, TextSelection, Schema, gapCursor, getSelectionText, imageResizing } from '@progress/kendo-editor-common';
14
14
  import { validatePackage } from '@progress/kendo-licensing';
15
15
  import { packageMetadata } from './package-metadata';
16
16
  import { schema } from './config/schema';
@@ -64,6 +64,7 @@ var EditorComponent = /** @class */ (function () {
64
64
  /**
65
65
  * If set to `false`, the Editor will run in style non-encapsulated mode. This means
66
66
  * that the styles of the page will be persisted in the Editor and its content will be affected by them.
67
+ * @default true
67
68
  */
68
69
  this.iframe = true;
69
70
  /**
@@ -560,7 +561,6 @@ var EditorComponent = /** @class */ (function () {
560
561
  * Manually focus the Editor.
561
562
  */
562
563
  EditorComponent.prototype.focus = function () {
563
- // this.focusChangedProgrammatically = true;
564
564
  this.focusChangedProgrammatically = true;
565
565
  this._view.focus();
566
566
  this.focusChangedProgrammatically = false;
@@ -669,7 +669,8 @@ var EditorComponent = /** @class */ (function () {
669
669
  keymap(buildListKeymap(currentSchema)),
670
670
  keymap(buildKeymap(currentSchema, { applyToWord: this.applyToWord })),
671
671
  keymap(baseKeymap),
672
- gapCursor()
672
+ gapCursor(),
673
+ imageResizing()
673
674
  ];
674
675
  if (this.placeholder) {
675
676
  defaultPlugins.push(placeholder(this.placeholder));
@@ -731,8 +732,9 @@ var EditorComponent = /** @class */ (function () {
731
732
  if (_this.readonly) {
732
733
  contentAreaClasslist_1.add('k-state-focused');
733
734
  }
734
- if (!_this.focusChangedProgrammatically) {
735
+ if (!_this.focusChangedProgrammatically || _this.shouldEmitFocus) {
735
736
  _this.ngZone.run(function () { return _this.onFocus.emit(); });
737
+ _this.shouldEmitFocus = false;
736
738
  }
737
739
  }));
738
740
  this.subs.add(fromEvent(containerElement, 'focusout')
@@ -977,7 +979,7 @@ var EditorComponent = /** @class */ (function () {
977
979
  }
978
980
  ],
979
981
  /* tslint:disable:max-line-length */
980
- template: "\n <ng-container\n kendoEditorLocalizedMessages\n i18n-alignCenter=\"kendo.editor.alignCenter|The title of the tool that aligns text in the center.\"\n alignCenter=\"Center text\"\n i18n-alignJustify=\"kendo.editor.alignJustify|The title of the tool that justifies text both left and right.\"\n alignJustify=\"Justify\"\n i18n-alignLeft=\"kendo.editor.alignLeft|The title of the tool that aligns text on the left.\"\n alignLeft=\"Align text left\"\n i18n-alignRight=\"kendo.editor.alignRight|The title of the tool that aligns text on the right.\"\n alignRight=\"Align text right\"\n i18n-backColor=\"kendo.editor.backColor|The title of the tool that changes the text background color.\"\n backColor=\"Background color\"\n i18n-bold=\"kendo.editor.bold|The title of the tool that makes text bold.\"\n bold=\"Bold\"\n i18n-cleanFormatting=\"kendo.editor.cleanFormatting|The title of the Clean Formatting tool.\"\n cleanFormatting=\"Clean formatting\"\n i18n-createLink=\"kendo.editor.createLink|The title of the tool that creates hyperlinks.\"\n createLink=\"Insert link\"\n i18n-dialogApply=\"kendo.editor.dialogApply|The label of the **Apply** button in all editor dialogs.\"\n dialogApply=\"Apply\"\n i18n-dialogCancel=\"kendo.editor.dialogCancel|The label of the **Cancel** button in all editor dialogs.\"\n dialogCancel=\"Cancel\"\n i18n-dialogInsert=\"kendo.editor.dialogInsert|The label of the **Insert** button in all editor dialogs.\"\n dialogInsert=\"Insert\"\n i18n-dialogUpdate=\"kendo.editor.dialogUpdate|The label of the **Update** button in all editor dialogs.\"\n dialogUpdate=\"Update\"\n i18n-fileText=\"kendo.editor.fileText|The caption for the file text in the insertFile dialog.\"\n fileText=\"Text\"\n i18n-fileTitle=\"kendo.editor.fileTitle|The caption for the file Title in the insertFile dialog.\"\n fileTitle=\"Title\"\n i18n-fileWebAddress=\"kendo.editor.fileWebAddress|The caption for the file URL in the insertFile dialog.\"\n fileWebAddress=\"Web address\"\n i18n-fontFamily=\"kendo.editor.fontFamily|The title of the tool that changes the text font.\"\n fontFamily=\"Select font family\"\n i18n-fontSize=\"kendo.editor.fontSize|The title of the tool that changes the text size.\"\n fontSize=\"Select font size\"\n i18n-foreColor=\"kendo.editor.foreColor|The title of the tool that changes the text color.\"\n foreColor=\"Color\"\n i18n-format=\"kendo.editor.format|The title of the tool that lets users choose block formats.\"\n format=\"Format\"\n i18n-imageAltText=\"kendo.editor.imageAltText|The caption for the image alternate text in the insertImage dialog.\"\n imageAltText=\"Alternate text\"\n i18n-imageHeight=\"kendo.editor.imageHeight|The caption for the image height in the insertImage dialog.\"\n imageHeight=\"Height (px)\"\n i18n-imageWebAddress=\"kendo.editor.imageWebAddress|The caption for the image URL in the insertImage dialog.\"\n imageWebAddress=\"Web address\"\n i18n-imageWidth=\"kendo.editor.imageWidth|The caption for the image width in the insertImage dialog.\"\n imageWidth=\"Width (px)\"\n i18n-indent=\"kendo.editor.indent|The title of the tool that indents the content.\"\n indent=\"Indent\"\n i18n-insertFile=\"kendo.editor.insertFile|The title of the tool that inserts links to files.\"\n insertFile=\"Insert file\"\n i18n-insertImage=\"kendo.editor.insertImage|The title of the tool that inserts images.\"\n insertImage=\"Insert image\"\n i18n-insertOrderedList=\"kendo.editor.insertOrderedList|The title of the tool that inserts an ordered list.\"\n insertOrderedList=\"Insert ordered list\"\n i18n-insertUnorderedList=\"kendo.editor.insertUnorderedList|The title of the tool that inserts an unordered list.\"\n insertUnorderedList=\"Insert unordered list\"\n i18n-italic=\"kendo.editor.italic|The title of the tool that makes text italicized.\"\n italic=\"Italic\"\n i18n-linkOpenInNewWindow=\"kendo.editor.linkOpenInNewWindow|The caption for the checkbox for opening the link in a new window in the createLink dialog.\"\n linkOpenInNewWindow=\"Open link in new window\"\n i18n-linkText=\"kendo.editor.linkText|The caption for the link text in the createLink dialog.\"\n linkText=\"Text\"\n i18n-linkTitle=\"kendo.editor.linkTitle|The caption for the link title in the createLink dialog.\"\n linkTitle=\"Title\"\n i18n-linkWebAddress=\"kendo.editor.linkWebAddress|The caption for the URL in the createLink dialog.\"\n linkWebAddress=\"Web address\"\n i18n-outdent=\"kendo.editor.outdent|The title of the tool that outdents the content.\"\n outdent=\"Outdent\"\n i18n-redo=\"kendo.editor.redo|The title of the tool that undos the last action.\"\n redo=\"Redo\"\n i18n-strikethrough=\"kendo.editor.strikethrough|The title of the tool that strikes through text.\"\n strikethrough=\"Strikethrough\"\n i18n-subscript=\"kendo.editor.subscript|The title of the tool that makes text subscript.\"\n subscript=\"Subscript\"\n i18n-superscript=\"kendo.editor.superscript|The title of the tool that makes text superscript.\"\n superscript=\"Superscript\"\n i18n-underline=\"kendo.editor.underline|The title of the tool that underlines text.\"\n underline=\"Underline\"\n i18n-unlink=\"kendo.editor.unlink|The title of the tool that removes hyperlinks.\"\n unlink=\"Remove Link\"\n i18n-undo=\"kendo.editor.undo|The title of the tool that undos the last action.\"\n undo=\"Undo\"\n i18n-viewSource=\"kendo.editor.viewSource|The title of the tool that shows the editor value as HTML.\"\n viewSource=\"View source\"\n i18n-insertTable=\"kendo.editor.insertTable|The title of the tool that inserts table.\"\n insertTable=\"Insert Table\"\n i18n-addColumnBefore=\"kendo.editor.addColumnBefore|The title of the tool that adds new column before currently selected column.\"\n addColumnBefore=\"Add column before\"\n i18n-addColumnAfter=\"kendo.editor.addColumnAfter|The title of the tool that adds new column after currently selected column.\"\n addColumnAfter=\"Add column after\"\n i18n-addRowBefore=\"kendo.editor.addRowBefore|The title of the tool that adds new row before currently selected row.\"\n addRowBefore=\"Add row before\"\n i18n-addRowAfter=\"kendo.editor.addRowAfter|The title of the tool that adds new row after currently selected row.\"\n addRowAfter=\"Add row after\"\n i18n-deleteColumn=\"kendo.editor.deleteColumn|The title of the tool that deletes a table column.\"\n deleteColumn=\"Delete column\"\n i18n-deleteRow=\"kendo.editor.deleteRow|The title of the tool that deletes a table row.\"\n deleteRow=\"Delete row\"\n i18n-deleteTable=\"kendo.editor.deleteTable|The title of the tool that deletes a table.\"\n deleteTable=\"Delete table\"\n >\n </ng-container>\n\n <ng-content select=\"kendo-toolbar\"></ng-content>\n <kendo-toolbar [overflow]=\"true\" [tabindex]=\"readonly ? -1 : 0\" *ngIf=\"!userToolBarElement\" #defaultToolbar>\n <kendo-toolbar-buttongroup>\n <kendo-toolbar-button kendoEditorBoldButton></kendo-toolbar-button>\n <kendo-toolbar-button kendoEditorItalicButton></kendo-toolbar-button>\n <kendo-toolbar-button kendoEditorUnderlineButton></kendo-toolbar-button>\n </kendo-toolbar-buttongroup>\n <kendo-toolbar-dropdownlist kendoEditorFormat></kendo-toolbar-dropdownlist>\n <kendo-toolbar-buttongroup>\n <kendo-toolbar-button kendoEditorAlignLeftButton></kendo-toolbar-button>\n <kendo-toolbar-button kendoEditorAlignCenterButton></kendo-toolbar-button>\n <kendo-toolbar-button kendoEditorAlignRightButton></kendo-toolbar-button>\n <kendo-toolbar-button kendoEditorAlignJustifyButton></kendo-toolbar-button>\n </kendo-toolbar-buttongroup>\n <kendo-toolbar-buttongroup>\n <kendo-toolbar-button kendoEditorInsertUnorderedListButton></kendo-toolbar-button>\n <kendo-toolbar-button kendoEditorInsertOrderedListButton></kendo-toolbar-button>\n <kendo-toolbar-button kendoEditorIndentButton></kendo-toolbar-button>\n <kendo-toolbar-button kendoEditorOutdentButton></kendo-toolbar-button>\n </kendo-toolbar-buttongroup>\n <kendo-toolbar-buttongroup>\n <kendo-toolbar-button kendoEditorCreateLinkButton></kendo-toolbar-button>\n <kendo-toolbar-button kendoEditorUnlinkButton></kendo-toolbar-button>\n </kendo-toolbar-buttongroup>\n <kendo-toolbar-button kendoEditorInsertImageButton></kendo-toolbar-button>\n </kendo-toolbar>\n\n <div *ngIf=\"!iframe\" #content [attr.dir]=\"direction\" class=\"k-editor-content\"></div>\n\n <div class=\"k-editor-content\" *ngIf=\"iframe\">\n <iframe #content frameborder=\"0\" class=\"k-iframe\" (load)=\"iframeOnLoad()\"></iframe>\n </div>\n\n <ng-container #dialogsContainer></ng-container>\n ",
982
+ template: "\n <ng-container\n kendoEditorLocalizedMessages\n i18n-alignCenter=\"kendo.editor.alignCenter|The title of the tool that aligns text in the center.\"\n alignCenter=\"Center text\"\n i18n-alignJustify=\"kendo.editor.alignJustify|The title of the tool that justifies text both left and right.\"\n alignJustify=\"Justify\"\n i18n-alignLeft=\"kendo.editor.alignLeft|The title of the tool that aligns text on the left.\"\n alignLeft=\"Align text left\"\n i18n-alignRight=\"kendo.editor.alignRight|The title of the tool that aligns text on the right.\"\n alignRight=\"Align text right\"\n i18n-backColor=\"kendo.editor.backColor|The title of the tool that changes the text background color.\"\n backColor=\"Background color\"\n i18n-bold=\"kendo.editor.bold|The title of the tool that makes text bold.\"\n bold=\"Bold\"\n i18n-cleanFormatting=\"kendo.editor.cleanFormatting|The title of the Clean Formatting tool.\"\n cleanFormatting=\"Clean formatting\"\n i18n-createLink=\"kendo.editor.createLink|The title of the tool that creates hyperlinks.\"\n createLink=\"Insert link\"\n i18n-dialogApply=\"kendo.editor.dialogApply|The label of the **Apply** button in all editor dialogs.\"\n dialogApply=\"Apply\"\n i18n-dialogCancel=\"kendo.editor.dialogCancel|The label of the **Cancel** button in all editor dialogs.\"\n dialogCancel=\"Cancel\"\n i18n-dialogInsert=\"kendo.editor.dialogInsert|The label of the **Insert** button in all editor dialogs.\"\n dialogInsert=\"Insert\"\n i18n-dialogUpdate=\"kendo.editor.dialogUpdate|The label of the **Update** button in all editor dialogs.\"\n dialogUpdate=\"Update\"\n i18n-fileText=\"kendo.editor.fileText|The caption for the file text in the insertFile dialog.\"\n fileText=\"Text\"\n i18n-fileTitle=\"kendo.editor.fileTitle|The caption for the file Title in the insertFile dialog.\"\n fileTitle=\"Title\"\n i18n-fileWebAddress=\"kendo.editor.fileWebAddress|The caption for the file URL in the insertFile dialog.\"\n fileWebAddress=\"Web address\"\n i18n-fontFamily=\"kendo.editor.fontFamily|The title of the tool that changes the text font.\"\n fontFamily=\"Select font family\"\n i18n-fontSize=\"kendo.editor.fontSize|The title of the tool that changes the text size.\"\n fontSize=\"Select font size\"\n i18n-foreColor=\"kendo.editor.foreColor|The title of the tool that changes the text color.\"\n foreColor=\"Color\"\n i18n-format=\"kendo.editor.format|The title of the tool that lets users choose block formats.\"\n format=\"Format\"\n i18n-imageAltText=\"kendo.editor.imageAltText|The caption for the image alternate text in the insertImage dialog.\"\n imageAltText=\"Alternate text\"\n i18n-imageHeight=\"kendo.editor.imageHeight|The caption for the image height in the insertImage dialog.\"\n imageHeight=\"Height (px)\"\n i18n-imageWebAddress=\"kendo.editor.imageWebAddress|The caption for the image URL in the insertImage dialog.\"\n imageWebAddress=\"Web address\"\n i18n-imageWidth=\"kendo.editor.imageWidth|The caption for the image width in the insertImage dialog.\"\n imageWidth=\"Width (px)\"\n i18n-indent=\"kendo.editor.indent|The title of the tool that indents the content.\"\n indent=\"Indent\"\n i18n-insertFile=\"kendo.editor.insertFile|The title of the tool that inserts links to files.\"\n insertFile=\"Insert file\"\n i18n-insertImage=\"kendo.editor.insertImage|The title of the tool that inserts images.\"\n insertImage=\"Insert image\"\n i18n-insertOrderedList=\"kendo.editor.insertOrderedList|The title of the tool that inserts an ordered list.\"\n insertOrderedList=\"Insert ordered list\"\n i18n-insertUnorderedList=\"kendo.editor.insertUnorderedList|The title of the tool that inserts an unordered list.\"\n insertUnorderedList=\"Insert unordered list\"\n i18n-italic=\"kendo.editor.italic|The title of the tool that makes text italicized.\"\n italic=\"Italic\"\n i18n-linkOpenInNewWindow=\"kendo.editor.linkOpenInNewWindow|The caption for the checkbox for opening the link in a new window in the createLink dialog.\"\n linkOpenInNewWindow=\"Open link in new window\"\n i18n-linkText=\"kendo.editor.linkText|The caption for the link text in the createLink dialog.\"\n linkText=\"Text\"\n i18n-linkTitle=\"kendo.editor.linkTitle|The caption for the link title in the createLink dialog.\"\n linkTitle=\"Title\"\n i18n-linkWebAddress=\"kendo.editor.linkWebAddress|The caption for the URL in the createLink dialog.\"\n linkWebAddress=\"Web address\"\n i18n-outdent=\"kendo.editor.outdent|The title of the tool that outdents the content.\"\n outdent=\"Outdent\"\n i18n-print=\"kendo.editor.print|The title of the print tool.\"\n print=\"Print\"\n i18n-redo=\"kendo.editor.redo|The title of the tool that undos the last action.\"\n redo=\"Redo\"\n i18n-selectAll=\"kendo.editor.selectAll|The title of the tool that selects all content.\"\n selectAll=\"Select All\"\n i18n-strikethrough=\"kendo.editor.strikethrough|The title of the tool that strikes through text.\"\n strikethrough=\"Strikethrough\"\n i18n-subscript=\"kendo.editor.subscript|The title of the tool that makes text subscript.\"\n subscript=\"Subscript\"\n i18n-superscript=\"kendo.editor.superscript|The title of the tool that makes text superscript.\"\n superscript=\"Superscript\"\n i18n-underline=\"kendo.editor.underline|The title of the tool that underlines text.\"\n underline=\"Underline\"\n i18n-unlink=\"kendo.editor.unlink|The title of the tool that removes hyperlinks.\"\n unlink=\"Remove Link\"\n i18n-undo=\"kendo.editor.undo|The title of the tool that undos the last action.\"\n undo=\"Undo\"\n i18n-viewSource=\"kendo.editor.viewSource|The title of the tool that shows the editor value as HTML.\"\n viewSource=\"View source\"\n i18n-insertTable=\"kendo.editor.insertTable|The title of the tool that inserts table.\"\n insertTable=\"Insert Table\"\n i18n-addColumnBefore=\"kendo.editor.addColumnBefore|The title of the tool that adds new column before currently selected column.\"\n addColumnBefore=\"Add column before\"\n i18n-addColumnAfter=\"kendo.editor.addColumnAfter|The title of the tool that adds new column after currently selected column.\"\n addColumnAfter=\"Add column after\"\n i18n-addRowBefore=\"kendo.editor.addRowBefore|The title of the tool that adds new row before currently selected row.\"\n addRowBefore=\"Add row before\"\n i18n-addRowAfter=\"kendo.editor.addRowAfter|The title of the tool that adds new row after currently selected row.\"\n addRowAfter=\"Add row after\"\n i18n-deleteColumn=\"kendo.editor.deleteColumn|The title of the tool that deletes a table column.\"\n deleteColumn=\"Delete column\"\n i18n-deleteRow=\"kendo.editor.deleteRow|The title of the tool that deletes a table row.\"\n deleteRow=\"Delete row\"\n i18n-deleteTable=\"kendo.editor.deleteTable|The title of the tool that deletes a table.\"\n deleteTable=\"Delete table\"\n >\n </ng-container>\n\n <ng-content select=\"kendo-toolbar\"></ng-content>\n <kendo-toolbar [overflow]=\"true\" [tabindex]=\"readonly ? -1 : 0\" *ngIf=\"!userToolBarElement\" #defaultToolbar>\n <kendo-toolbar-buttongroup>\n <kendo-toolbar-button kendoEditorBoldButton></kendo-toolbar-button>\n <kendo-toolbar-button kendoEditorItalicButton></kendo-toolbar-button>\n <kendo-toolbar-button kendoEditorUnderlineButton></kendo-toolbar-button>\n </kendo-toolbar-buttongroup>\n <kendo-toolbar-dropdownlist kendoEditorFormat></kendo-toolbar-dropdownlist>\n <kendo-toolbar-buttongroup>\n <kendo-toolbar-button kendoEditorAlignLeftButton></kendo-toolbar-button>\n <kendo-toolbar-button kendoEditorAlignCenterButton></kendo-toolbar-button>\n <kendo-toolbar-button kendoEditorAlignRightButton></kendo-toolbar-button>\n <kendo-toolbar-button kendoEditorAlignJustifyButton></kendo-toolbar-button>\n </kendo-toolbar-buttongroup>\n <kendo-toolbar-buttongroup>\n <kendo-toolbar-button kendoEditorInsertUnorderedListButton></kendo-toolbar-button>\n <kendo-toolbar-button kendoEditorInsertOrderedListButton></kendo-toolbar-button>\n <kendo-toolbar-button kendoEditorIndentButton></kendo-toolbar-button>\n <kendo-toolbar-button kendoEditorOutdentButton></kendo-toolbar-button>\n </kendo-toolbar-buttongroup>\n <kendo-toolbar-buttongroup>\n <kendo-toolbar-button kendoEditorCreateLinkButton></kendo-toolbar-button>\n <kendo-toolbar-button kendoEditorUnlinkButton></kendo-toolbar-button>\n </kendo-toolbar-buttongroup>\n <kendo-toolbar-button kendoEditorInsertImageButton></kendo-toolbar-button>\n </kendo-toolbar>\n\n <div *ngIf=\"!iframe\" #content [attr.dir]=\"direction\" class=\"k-editor-content\"></div>\n\n <div class=\"k-editor-content\" *ngIf=\"iframe\">\n <iframe #content frameborder=\"0\" class=\"k-iframe\" (load)=\"iframeOnLoad()\"></iframe>\n </div>\n\n <ng-container #dialogsContainer></ng-container>\n ",
981
983
  styles: [
982
984
  "\n >>> .k-editor-content > .ProseMirror {\n height: 100%;\n width: 100%;\n box-sizing: border-box;\n outline: none;\n overflow: auto;\n }\n\n .k-iframe {\n width: 100%;\n height: 100%;\n display: block;\n }\n "
983
985
  ]
@@ -66,6 +66,8 @@ import { FontFamilyDropDownListComponent } from './tools/fontfamily/editor-fontf
66
66
  import { FontSizeDropDownListComponent } from './tools/fontsize/editor-fontsize-dropdownlist.component';
67
67
  import { FontSizeDialogComponent } from './dialogs/font-size-dialog.component';
68
68
  import { DropDownToolDirective } from './tools/shared/dropdown-tool.directive';
69
+ import { EditorPrintDirective } from './tools/print/editor-print-button.directive';
70
+ import { EditorSelectAllButtonDirective } from './tools/select-all/select-all-button.directive';
69
71
  var COMPONENT_DIRECTIVES = [
70
72
  //alignment
71
73
  EditorAlignLeftButtonDirective,
@@ -117,7 +119,11 @@ var COMPONENT_DIRECTIVES = [
117
119
  CustomMessagesComponent,
118
120
  LocalizedMessagesDirective,
119
121
  // dropdown tools
120
- DropDownToolDirective
122
+ DropDownToolDirective,
123
+ // print
124
+ EditorPrintDirective,
125
+ // select all
126
+ EditorSelectAllButtonDirective
121
127
  ];
122
128
  var TOOLBAR_TOOLS = [
123
129
  EditorFontSizeComponent,
package/dist/es/index.js CHANGED
@@ -42,6 +42,8 @@ export { EditorInsertFileButtonDirective } from './tools/link/editor-insert-file
42
42
  export { EditorUnlinkButtonDirective } from './tools/link/editor-unlink-button.directive';
43
43
  export { EditorInsertOrderedListButtonDirective } from './tools/list/editor-insert-ordered-list-button.directive';
44
44
  export { EditorInsertUnorderedListButtonDirective } from './tools/list/editor-insert-unordered-list-button.directive';
45
+ export { EditorPrintDirective } from './tools/print/editor-print-button.directive';
46
+ export { EditorSelectAllButtonDirective } from './tools/select-all/select-all-button.directive';
45
47
  export { DropDownToolDirective } from './tools/shared/dropdown-tool.directive';
46
48
  export { EditorCommandBase } from './tools/shared/editor-command-base';
47
49
  export { EditorCommandButton } from './tools/shared/editor-command-button';
@@ -89,10 +89,18 @@ var Messages = /** @class */ (function (_super) {
89
89
  Input(),
90
90
  tslib_1.__metadata("design:type", String)
91
91
  ], Messages.prototype, "outdent", void 0);
92
+ tslib_1.__decorate([
93
+ Input(),
94
+ tslib_1.__metadata("design:type", String)
95
+ ], Messages.prototype, "print", void 0);
92
96
  tslib_1.__decorate([
93
97
  Input(),
94
98
  tslib_1.__metadata("design:type", String)
95
99
  ], Messages.prototype, "redo", void 0);
100
+ tslib_1.__decorate([
101
+ Input(),
102
+ tslib_1.__metadata("design:type", String)
103
+ ], Messages.prototype, "selectAll", void 0);
96
104
  tslib_1.__decorate([
97
105
  Input(),
98
106
  tslib_1.__metadata("design:type", String)
@@ -9,7 +9,7 @@ export var packageMetadata = {
9
9
  name: '@progress/kendo-angular-editor',
10
10
  productName: 'Kendo UI for Angular',
11
11
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
12
- publishDate: 1635941024,
12
+ publishDate: 1637743184,
13
13
  version: '',
14
14
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning'
15
15
  };
@@ -0,0 +1,67 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ import * as tslib_1 from "tslib";
6
+ import { Directive, Host, isDevMode } from '@angular/core';
7
+ import { ToolBarButtonComponent } from '@progress/kendo-angular-toolbar';
8
+ import { EditorComponent } from '../../editor.component';
9
+ import { EditorCommandButton } from '../shared/editor-command-button';
10
+ import { EditorLocalizationService } from '../../localization/editor-localization.service';
11
+ import { EditorErrorMessages } from '../../common/error-messages';
12
+ /**
13
+ * A directive which configures an existing `ToolBarButtonComponent` as an Editor Print tool
14
+ * ([see example]({% slug toolbartools_editor %}#toc-built-in-tools)).
15
+ * The directive will predefine the `icon` and `click` event handlers of the button.
16
+ *
17
+ * > The Editor Print tool is supported in the default [`iframe`](https://www.telerik.com/kendo-angular-ui-develop/components/editor/api/EditorComponent/#toc-iframe) mode only.
18
+ *
19
+ * @example
20
+ * ```ts-no-run
21
+ * <kendo-toolbar-button kendoEditorPrintButton></kendo-toolbar-button>
22
+ * ```
23
+ *
24
+ * The following example demonstrates how to change the default icon that is applied by the directive.
25
+ *
26
+ * @example
27
+ * ```ts-no-run
28
+ * <kendo-toolbar-button kendoEditorPrintButton icon="blogger"></kendo-toolbar-button>
29
+ * ```
30
+ */
31
+ var EditorPrintDirective = /** @class */ (function (_super) {
32
+ tslib_1.__extends(EditorPrintDirective, _super);
33
+ function EditorPrintDirective(button, editor, localization) {
34
+ var _this = _super.call(this, 'print', button, editor, localization) || this;
35
+ _this.editor = editor;
36
+ return _this;
37
+ }
38
+ EditorPrintDirective.prototype.ngAfterViewInit = function () {
39
+ if (isDevMode) {
40
+ if (!this.editor.iframe) {
41
+ throw new Error(EditorErrorMessages.printTool);
42
+ }
43
+ }
44
+ };
45
+ EditorPrintDirective.prototype.clickHandler = function () {
46
+ if (this.editor.iframe) {
47
+ var view = this.editor.view;
48
+ var dom = view && view.dom;
49
+ var doc = dom && dom.ownerDocument;
50
+ var editorWindow = doc && doc.defaultView;
51
+ if (editorWindow) {
52
+ editorWindow.print();
53
+ }
54
+ }
55
+ };
56
+ EditorPrintDirective = tslib_1.__decorate([
57
+ Directive({
58
+ selector: 'kendo-toolbar-button[kendoEditorPrintButton]'
59
+ }),
60
+ tslib_1.__param(1, Host()),
61
+ tslib_1.__metadata("design:paramtypes", [ToolBarButtonComponent,
62
+ EditorComponent,
63
+ EditorLocalizationService])
64
+ ], EditorPrintDirective);
65
+ return EditorPrintDirective;
66
+ }(EditorCommandButton));
67
+ export { EditorPrintDirective };
@@ -0,0 +1,48 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ import * as tslib_1 from "tslib";
6
+ import { Directive, Host } from '@angular/core';
7
+ import { ToolBarButtonComponent } from '@progress/kendo-angular-toolbar';
8
+ import { EditorComponent } from '../../editor.component';
9
+ import { EditorCommandButton } from '../shared/editor-command-button';
10
+ import { EditorLocalizationService } from '../../localization/editor-localization.service';
11
+ /**
12
+ * A directive which configures an existing `ToolBarButtonComponent` as an Editor SelectAll tool
13
+ * ([see example]({% slug toolbartools_editor %}#toc-built-in-tools)).
14
+ * The directive will predefine the `icon` and `click` event handlers of the button.
15
+ *
16
+ * @example
17
+ * ```ts-no-run
18
+ * <kendo-toolbar-button kendoEditorSelectAllButton></kendo-toolbar-button>
19
+ * ```
20
+ *
21
+ * The following example demonstrates how to change the default icon that is applied by the directive.
22
+ *
23
+ * @example
24
+ * ```ts-no-run
25
+ * <kendo-toolbar-button kendoEditorSelectAllButton icon="blogger"></kendo-toolbar-button>
26
+ * ```
27
+ */
28
+ var EditorSelectAllButtonDirective = /** @class */ (function (_super) {
29
+ tslib_1.__extends(EditorSelectAllButtonDirective, _super);
30
+ function EditorSelectAllButtonDirective(button, editor, localization) {
31
+ return _super.call(this, 'selectAll', button, editor, localization) || this;
32
+ }
33
+ EditorSelectAllButtonDirective.prototype.clickHandler = function () {
34
+ this.editor.shouldEmitFocus = true;
35
+ _super.prototype.clickHandler.call(this);
36
+ };
37
+ EditorSelectAllButtonDirective = tslib_1.__decorate([
38
+ Directive({
39
+ selector: 'kendo-toolbar-button[kendoEditorSelectAllButton]'
40
+ }),
41
+ tslib_1.__param(1, Host()),
42
+ tslib_1.__metadata("design:paramtypes", [ToolBarButtonComponent,
43
+ EditorComponent,
44
+ EditorLocalizationService])
45
+ ], EditorSelectAllButtonDirective);
46
+ return EditorSelectAllButtonDirective;
47
+ }(EditorCommandButton));
48
+ export { EditorSelectAllButtonDirective };
@@ -8,28 +8,28 @@ import { commandIcons } from '../../config/command-icons';
8
8
  */
9
9
  var EditorCommandBase = /** @class */ (function () {
10
10
  function EditorCommandBase(command, button, editor, localization) {
11
+ var _this = this;
11
12
  this.command = command;
12
13
  this.button = button;
13
14
  this.editor = editor;
14
15
  this.localization = localization;
15
- }
16
- EditorCommandBase.prototype.ngOnInit = function () {
17
- var _this = this;
18
- this.subs = this.editor.stateChange.subscribe(this.onStateChange.bind(this));
19
- this.subs.add(this.button.click.subscribe((this.clickHandler.bind(this))));
20
- this.subs.add(this.button.pointerdown.subscribe((this.pointerdownHandler.bind(this))));
21
- Promise.resolve(null).then(function () {
16
+ setTimeout(function () {
22
17
  var text = _this.localization.get(_this.command);
23
18
  if (text) {
24
- _this.button.showText = "overflow";
25
- _this.button.showIcon = "both";
19
+ _this.button.showText = 'overflow';
20
+ _this.button.showIcon = 'both';
26
21
  _this.button.text = text;
27
22
  }
28
- if (!_this.button.icon) {
23
+ if (!_this.button.toolbarOptions.icon) {
29
24
  _this.button.icon = commandIcons[_this.command];
30
25
  }
31
26
  _this.button.title = text;
32
27
  });
28
+ }
29
+ EditorCommandBase.prototype.ngOnInit = function () {
30
+ this.subs = this.editor.stateChange.subscribe(this.onStateChange.bind(this));
31
+ this.subs.add(this.button.click.subscribe((this.clickHandler.bind(this))));
32
+ this.subs.add(this.button.pointerdown.subscribe((this.pointerdownHandler.bind(this))));
33
33
  };
34
34
  EditorCommandBase.prototype.ngOnDestroy = function () {
35
35
  if (this.subs) {
@@ -45,9 +45,6 @@ var EditorInsertTableButtonComponent = /** @class */ (function (_super) {
45
45
  return _this;
46
46
  }
47
47
  EditorInsertTableButtonComponent_1 = EditorInsertTableButtonComponent;
48
- EditorInsertTableButtonComponent.prototype.ngAfterViewInit = function () {
49
- this.getButton().tabIndex = -1;
50
- };
51
48
  EditorInsertTableButtonComponent.prototype.ngOnDestroy = function () {
52
49
  this.destroyPopup();
53
50
  if (this.subs) {
@@ -98,7 +95,7 @@ var EditorInsertTableButtonComponent = /** @class */ (function (_super) {
98
95
  * @hidden
99
96
  */
100
97
  EditorInsertTableButtonComponent.prototype.onBlur = function () {
101
- this.getButton().tabIndex = -1;
98
+ this.tabIndex = -1;
102
99
  this.buttonBlurred.emit();
103
100
  };
104
101
  /**
@@ -119,8 +116,8 @@ var EditorInsertTableButtonComponent = /** @class */ (function (_super) {
119
116
  * @hidden
120
117
  */
121
118
  EditorInsertTableButtonComponent.prototype.focus = function () {
119
+ this.tabIndex = 0;
122
120
  this.getButton().focus();
123
- this.getButton().tabIndex = 0;
124
121
  };
125
122
  /**
126
123
  * @hidden
@@ -129,7 +126,7 @@ var EditorInsertTableButtonComponent = /** @class */ (function (_super) {
129
126
  if (ev.keyCode === Keys.Space || ev.keyCode === Keys.Enter) {
130
127
  return true;
131
128
  }
132
- this.getButton().tabIndex = -1;
129
+ this.tabIndex = -1;
133
130
  return false;
134
131
  };
135
132
  /**
@@ -172,7 +169,7 @@ var EditorInsertTableButtonComponent = /** @class */ (function (_super) {
172
169
  tslib_1.__metadata("design:type", TemplateRef)
173
170
  ], EditorInsertTableButtonComponent.prototype, "toolbarTemplate", void 0);
174
171
  tslib_1.__decorate([
175
- ViewChild('popupTemplate', { static: true }),
172
+ ViewChild('popupTemplate', { static: false }),
176
173
  tslib_1.__metadata("design:type", TemplateRef)
177
174
  ], EditorInsertTableButtonComponent.prototype, "popupTemplate", void 0);
178
175
  tslib_1.__decorate([
@@ -192,7 +189,7 @@ var EditorInsertTableButtonComponent = /** @class */ (function (_super) {
192
189
  // tslint:disable-next-line:no-forward-ref
193
190
  providers: [{ provide: ToolBarToolComponent, useExisting: forwardRef(function () { return EditorInsertTableButtonComponent_1; }) }],
194
191
  selector: 'kendo-editor-insert-table-button',
195
- template: "\n <ng-template #toolbarTemplate>\n <button\n type=\"button\"\n kendoButton\n #element\n [attr.title]=\"title\"\n [icon]=\"'table-insert'\"\n [disabled]=\"disabled\"\n (click)=\"toggle()\"\n (blur)=\"onBlur()\"\n ></button>\n </ng-template>\n <ng-template #popupTemplate>\n <button kendoButton #overflowElement [attr.title]=\"title\" [icon]=\"'table-insert'\" [disabled]=\"disabled\" (click)=\"openDialog()\">\n {{ title }}\n </button>\n </ng-template>\n <ng-template #popupGridTemplate>\n <kendo-popup-table-grid (cellClick)=\"onCellClick($event)\" (tableWizardClick)=\"onTableWizardClick()\"></kendo-popup-table-grid>\n </ng-template>\n "
192
+ template: "\n <ng-template #toolbarTemplate>\n <button\n type=\"button\"\n kendoButton\n #element\n [attr.title]=\"title\"\n [attr.tabindex]=\"tabIndex\"\n [icon]=\"'table-insert'\"\n [disabled]=\"disabled\"\n (click)=\"toggle()\"\n (blur)=\"onBlur()\"\n ></button>\n </ng-template>\n <ng-template #popupTemplate>\n <button\n kendoButton\n #overflowElement\n [attr.title]=\"title\"\n [attr.tabindex]=\"tabIndex\"\n [icon]=\"'table-insert'\"\n [disabled]=\"disabled\"\n (click)=\"openDialog()\">\n {{ title }}\n </button>\n </ng-template>\n <ng-template #popupGridTemplate>\n <kendo-popup-table-grid (cellClick)=\"onCellClick($event)\" (tableWizardClick)=\"onTableWizardClick()\"></kendo-popup-table-grid>\n </ng-template>\n "
196
193
  }),
197
194
  tslib_1.__param(0, Host()),
198
195
  tslib_1.__metadata("design:paramtypes", [EditorComponent,
@@ -11,10 +11,14 @@ export declare type DispatchFn = (tr: Transaction) => void;
11
11
  * @hidden
12
12
  */
13
13
  export declare type Command = (state: EditorState, dispatch: DispatchFn, view?: EditorView) => boolean | void;
14
+ /**
15
+ * @hidden
16
+ */
17
+ export declare type EditorInternalCommand = 'print';
14
18
  /**
15
19
  * The list of the command names that are accepted by the `exec` method.
16
20
  */
17
- export declare type EditorCommand = 'bold' | 'italic' | 'underline' | 'strikethrough' | 'createLink' | 'unlink' | 'insertFile' | 'insertImage' | 'insertOrderedList' | 'insertUnorderedList' | 'insertText' | 'indent' | 'outdent' | 'alignLeft' | 'alignCenter' | 'alignRight' | 'alignJustify' | 'format' | 'fontFamily' | 'fontSize' | 'cleanFormat' | 'setHTML' | 'undo' | 'redo' | 'subscript' | 'superscript' | 'cleanFormatting' | 'foreColor' | 'backColor' | 'insertTable' | 'addColumnBefore' | 'addColumnAfter' | 'addRowBefore' | 'addRowAfter' | 'deleteRow' | 'deleteColumn' | 'mergeCells' | 'splitCell' | 'deleteTable';
21
+ export declare type EditorCommand = 'bold' | 'italic' | 'underline' | 'strikethrough' | 'createLink' | 'unlink' | 'insertFile' | 'insertImage' | 'insertOrderedList' | 'insertUnorderedList' | 'insertText' | 'indent' | 'outdent' | 'alignLeft' | 'alignCenter' | 'alignRight' | 'alignJustify' | 'format' | 'fontFamily' | 'fontSize' | 'cleanFormat' | 'setHTML' | 'undo' | 'redo' | 'subscript' | 'superscript' | 'cleanFormatting' | 'foreColor' | 'backColor' | 'insertTable' | 'addColumnBefore' | 'addColumnAfter' | 'addRowBefore' | 'addRowAfter' | 'deleteRow' | 'deleteColumn' | 'mergeCells' | 'splitCell' | 'deleteTable' | 'selectAll';
18
22
  /**
19
23
  * The list of the dialog names that are accepted by the `openDialog` method.
20
24
  */