qms-angular 1.0.71 → 1.0.75
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/qms-angular.umd.js +960 -583
- package/bundles/qms-angular.umd.js.map +1 -1
- package/esm2015/lib/components/button/button.js +1 -1
- package/esm2015/lib/components/comment/comment.js +2 -2
- package/esm2015/lib/components/qms-navigation-drawer/qms-navigation-drawer.component.js +7 -6
- package/esm2015/lib/components/qms-navigation-drawer/qms-navigation-drawer.module.js +4 -4
- package/esm2015/lib/components/qms-paginator/qms-paginator.component.js +3 -3
- package/esm2015/lib/components/qms-stepper/qms-stepper.component.js +1 -1
- package/esm2015/lib/components/range-slider/directives/range-slider-lockup.directive.js +20 -0
- package/esm2015/lib/components/range-slider/directives/range-slider.directive.js +34 -0
- package/esm2015/lib/components/range-slider/index.js +2 -0
- package/esm2015/lib/components/range-slider/public-api.js +4 -0
- package/esm2015/lib/components/range-slider/range-slider.module.js +22 -0
- package/esm2015/lib/components/related/popup/related-popup.component.js +1 -1
- package/esm2015/lib/components/select-include-children/select-include-children.component.js +112 -45
- package/esm2015/lib/components/select-one/select-one.component.js +50 -3
- package/esm2015/lib/components/select-process-document/select-process-document.component.js +64 -143
- package/esm2015/lib/components/side-sheet/directives/drawer-content.directive.js +20 -0
- package/esm2015/lib/components/side-sheet/directives/drawer-header-action.directive.js +20 -0
- package/esm2015/lib/components/side-sheet/directives/drawer-header.directive.js +20 -0
- package/esm2015/lib/components/side-sheet/directives/drawer.directive.js +20 -0
- package/esm2015/lib/components/side-sheet/index.js +2 -0
- package/esm2015/lib/components/side-sheet/public-api.js +6 -0
- package/esm2015/lib/components/side-sheet/side-sheet.module.js +28 -0
- package/esm2015/lib/components/tree/tree.component.js +15 -19
- package/esm2015/lib/components/treeNew/tree.component.js +6 -3
- package/esm2015/lib/directives/table/table-row.directive.js +50 -0
- package/esm2015/lib/directives/table/table.directive.js +18 -61
- package/esm2015/lib/model/en.js +19 -2
- package/esm2015/lib/model/no.js +19 -2
- package/esm2015/lib/qms-angular.module.js +5 -24
- package/esm2015/lib/qms-ckeditor-components/common/classes/qmsUploadAdapter.js +89 -0
- package/esm2015/lib/qms-ckeditor-components/common/constants/ckeditorEvent.constant.js +3 -1
- package/esm2015/lib/qms-ckeditor-components/common/models/qms-ckeditor-data.model.js +1 -1
- package/esm2015/lib/qms-ckeditor-components/common/models/qms-ckeditor-video-tree.model.js +4 -0
- package/esm2015/lib/qms-ckeditor-components/common/models/wproofreader-config.model.js +6 -0
- package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-about/qms-ckeditor-about.component.js +38 -0
- package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-bpmn/qms-ckeditor-bpmn.component.js +22 -3
- package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-fullscreen/qms-ckeditor-fullscreen.component.js +1 -46
- package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-imagemap/qms-ckeditor-imagemap.component.js +9 -8
- package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-link/qms-ckeditor-link.component.js +4 -1
- package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-tooltip/qms-ckeditor-tooltip.component.js +3 -4
- package/esm2015/lib/qms-ckeditor-components/qms-ckeditor.component.js +178 -28
- package/esm2015/lib/qms-ckeditor-components/qms-ckeditor.module.js +7 -3
- package/esm2015/lib/qms-ckeditor-components/services/qms-ckeditor-tree.service.js +4 -1
- package/esm2015/lib/qms-ckeditor-components/services/qms-ckeditor-upload.service.js +20 -0
- package/esm2015/public-api.js +6 -7
- package/esm2015/qms-angular.js +6 -4
- package/fesm2015/qms-angular.js +862 -524
- package/fesm2015/qms-angular.js.map +1 -1
- package/lib/components/button/button.d.ts +1 -1
- package/lib/components/qms-navigation-drawer/qms-navigation-drawer.component.d.ts +1 -1
- package/lib/{directives/range-slider → components/range-slider/directives}/range-slider-lockup.directive.d.ts +0 -0
- package/lib/{directives/range-slider → components/range-slider/directives}/range-slider.directive.d.ts +0 -0
- package/lib/components/range-slider/index.d.ts +1 -0
- package/lib/components/range-slider/public-api.d.ts +3 -0
- package/lib/components/range-slider/range-slider.module.d.ts +2 -0
- package/lib/components/select-include-children/select-include-children.component.d.ts +2 -1
- package/lib/components/select-one/select-one.component.d.ts +4 -0
- package/lib/components/select-process-document/select-process-document.component.d.ts +3 -0
- package/lib/{directives/side-sheet → components/side-sheet/directives}/drawer-content.directive.d.ts +0 -0
- package/lib/{directives/side-sheet → components/side-sheet/directives}/drawer-header-action.directive.d.ts +0 -0
- package/lib/{directives/side-sheet → components/side-sheet/directives}/drawer-header.directive.d.ts +0 -0
- package/lib/{directives/side-sheet → components/side-sheet/directives}/drawer.directive.d.ts +0 -0
- package/lib/components/side-sheet/index.d.ts +1 -0
- package/lib/components/side-sheet/public-api.d.ts +5 -0
- package/lib/components/side-sheet/side-sheet.module.d.ts +2 -0
- package/lib/directives/table/table-row.directive.d.ts +13 -0
- package/lib/directives/table/table.directive.d.ts +2 -11
- package/lib/model/en.d.ts +17 -0
- package/lib/model/no.d.ts +17 -0
- package/lib/qms-ckeditor-components/common/classes/qmsUploadAdapter.d.ts +18 -0
- package/lib/qms-ckeditor-components/common/constants/ckeditorEvent.constant.d.ts +2 -0
- package/lib/qms-ckeditor-components/common/models/qms-ckeditor-data.model.d.ts +5 -0
- package/lib/qms-ckeditor-components/common/models/qms-ckeditor-video-tree.model.d.ts +5 -0
- package/lib/qms-ckeditor-components/common/models/wproofreader-config.model.d.ts +25 -0
- package/lib/qms-ckeditor-components/components/qms-ckeditor-about/qms-ckeditor-about.component.d.ts +15 -0
- package/lib/qms-ckeditor-components/components/qms-ckeditor-bpmn/qms-ckeditor-bpmn.component.d.ts +4 -1
- package/lib/qms-ckeditor-components/components/qms-ckeditor-imagemap/qms-ckeditor-imagemap.component.d.ts +2 -1
- package/lib/qms-ckeditor-components/qms-ckeditor.component.d.ts +17 -5
- package/lib/qms-ckeditor-components/services/qms-ckeditor-tree.service.d.ts +2 -0
- package/lib/qms-ckeditor-components/services/qms-ckeditor-upload.service.d.ts +5 -0
- package/lib.theme.scss +1 -0
- package/package.json +1 -1
- package/public-api.d.ts +3 -6
- package/qms-angular.d.ts +5 -3
- package/qms-angular.metadata.json +1 -1
- package/src/assets/images/ckeditor5.svg +1 -0
- package/src/assets/qms-ckeditor-plugin/build/ckeditor.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/ckeditor.js.map +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/az.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/cs.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/da.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/de-ch.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/de.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/en-au.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/es.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/et.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/fa.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/fr.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/gl.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/he.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/hi.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/hr.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/hu.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/id.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/it.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/ja.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/ko.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/ku.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/lv.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/nl.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/no.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/pl.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/pt-br.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/ru.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/sk.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/sl.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/sr-latn.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/sr.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/th.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/tk.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/tr.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/uk.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/vi.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/zh-cn.js +1 -1
- package/src/assets/qms-ckeditor-plugin/build/translations/zh.js +1 -1
- package/src/assets/qms-ckeditor-plugin/package-lock.json +23 -0
- package/src/assets/qms-ckeditor-plugin/package.json +2 -0
- package/src/assets/qms-ckeditor-plugin/src/ckeditor.js +18 -4
- package/src/assets/qms-ckeditor-plugin/src/plugins/aboutckeditor/aboutckeditor.js +28 -0
- package/src/assets/qms-ckeditor-plugin/src/plugins/bpmn/bpmndialogcommand.js +74 -0
- package/src/assets/qms-ckeditor-plugin/src/plugins/bpmn/qmsCKEditorBpmnPlugin.js +5 -68
- package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-source-editing/lang/contexts.json +3 -0
- package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-source-editing/lang/translations/de.po +21 -0
- package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-source-editing/lang/translations/en.po +21 -0
- package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-source-editing/lang/translations/gl.po +21 -0
- package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-source-editing/lang/translations/hu.po +21 -0
- package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-source-editing/lang/translations/it.po +21 -0
- package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-source-editing/lang/translations/ru.po +21 -0
- package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-source-editing/lang/translations/zh.po +21 -0
- package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-source-editing/src/index.js +10 -0
- package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-source-editing/src/sourceediting.js +386 -0
- package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-source-editing/src/utils/formathtml.js +142 -0
- package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-source-editing/theme/icons/source-editing.svg +1 -0
- package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-source-editing/theme/sourceediting.css +48 -0
- package/src/assets/qms-ckeditor-plugin/src/plugins/common/qmsCKEditorConstant.js +4 -0
- package/src/assets/qms-ckeditor-plugin/src/plugins/common/qmsCKEditorService.js +21 -0
- package/src/assets/qms-ckeditor-plugin/src/plugins/fullscreen/qmsCKEditorFullscreenPlugin.js +22 -15
- package/src/assets/qms-ckeditor-plugin/src/plugins/imagemap/imagemapcommand.js +1 -0
- package/src/assets/qms-ckeditor-plugin/src/plugins/imagemap/utils.js +1 -1
- package/src/assets/qms-ckeditor-plugin/src/plugins/link/linkcommand.js +131 -176
- package/src/assets/qms-ckeditor-plugin/src/plugins/link/linkdialogcommand.js +88 -0
- package/src/assets/qms-ckeditor-plugin/src/plugins/link/linkediting.js +2 -0
- package/src/assets/qms-ckeditor-plugin/src/plugins/link/linkui.js +41 -32
- package/src/assets/qms-ckeditor-plugin/src/plugins/tableofcontents/tableofcontents.js +14 -0
- package/src/assets/qms-ckeditor-plugin/src/plugins/tableofcontents/tableofcontentscommand.js +87 -0
- package/src/assets/qms-ckeditor-plugin/src/plugins/tableofcontents/tableofcontentsediting.js +59 -0
- package/src/assets/qms-ckeditor-plugin/src/plugins/tableofcontents/tableofcontentsui.js +35 -0
- package/src/assets/qms-ckeditor-plugin/src/plugins/tableofcontents/utils.js +62 -0
- package/src/assets/qms-ckeditor-plugin/src/plugins/template/loadtemplatedialogcommand.js +14 -0
- package/src/assets/qms-ckeditor-plugin/src/plugins/template/qmsCKEditorLoadTemplatePlugin.js +10 -12
- package/src/assets/qms-ckeditor-plugin/src/plugins/template/qmsCKEdtiorTemplatePlugin.js +10 -7
- package/src/assets/qms-ckeditor-plugin/src/plugins/template/templatedialogcommand.js +9 -0
- package/src/assets/qms-ckeditor-plugin/src/plugins/timestamp/timestamp.js +15 -18
- package/src/assets/qms-ckeditor-plugin/src/plugins/timestamp/timestampcommand.js +17 -0
- package/src/assets/qms-ckeditor-plugin/src/plugins/tooltip/removetooltipcommand.js +42 -26
- package/src/assets/qms-ckeditor-plugin/src/plugins/tooltip/tooltip.js +3 -3
- package/src/assets/qms-ckeditor-plugin/src/plugins/tooltip/tooltipcommand.js +75 -0
- package/src/assets/qms-ckeditor-plugin/src/plugins/tooltip/tooltipdialogcommand.js +68 -0
- package/src/assets/qms-ckeditor-plugin/src/plugins/tooltip/tooltipediting.js +206 -131
- package/src/assets/qms-ckeditor-plugin/src/plugins/tooltip/tooltipui.js +424 -136
- package/src/assets/qms-ckeditor-plugin/src/plugins/tooltip/ui/actionsview.js +67 -12
- package/src/assets/qms-ckeditor-plugin/src/plugins/tooltip/utils.js +17 -55
- package/src/assets/qms-ckeditor-plugin/src/plugins/video/autovideo.js +1 -5
- package/src/assets/qms-ckeditor-plugin/src/plugins/video/video/videoediting.js +5 -2
- package/src/assets/qms-ckeditor-plugin/src/plugins/video/videoupload/browsevideodialogcommand.js +25 -0
- package/src/assets/qms-ckeditor-plugin/src/plugins/video/videoupload/uploadvideocommand.js +3 -16
- package/src/assets/qms-ckeditor-plugin/src/plugins/video/videoupload/videouploadediting.js +4 -0
- package/src/assets/qms-ckeditor-plugin/src/plugins/video/videoupload/videouploadui.js +12 -23
- package/src/assets/qms-ckeditor-plugin/src/themes/icons/fullscreen_exit.svg +1 -0
- package/src/assets/qms-ckeditor-plugin/src/themes/icons/information.svg +1 -50
- package/src/assets/qms-ckeditor-plugin/src/themes/icons/table-excel.svg +44 -0
- package/src/assets/qms-ckeditor-plugin/src/themes/icons/timestamp.svg +1 -1
- package/src/assets/qms-ckeditor-plugin/src/themes/icons/tooltip.svg +1 -0
- package/src/assets/qms-ckeditor-plugin/src/themes/styles/heading.css +54 -0
- package/src/assets/qms-ckeditor-plugin/src/themes/styles/tooltip.css +11 -53
- package/src/lib/components/qms-navigation-drawer/qms-navigation-drawer.component.scss +37 -20
- package/src/lib/components/qms-paginator/qms-paginator.component.scss +15 -0
- package/src/lib/components/qms-stepper/qms-stepper.component.scss +2 -1
- package/src/lib/components/select-process-document/select-process-document.component.scss +2 -2
- package/src/lib/qms-ckeditor-components/components/qms-ckeditor-about/qms-ckeditor-about.component.scss +16 -0
- package/src/lib/qms-ckeditor-components/components/qms-ckeditor-imagemap/qms-ckeditor-imagemap.component.scss +25 -23
- package/src/lib/qms-ckeditor-components/qms-ckeditor.component.scss +24 -0
- package/src/themes/core/_range-slider.scss +61 -42
- package/src/themes/core/_side-sheet.scss +2 -2
- package/src/themes/core/_table.scss +176 -37
- package/esm2015/lib/directives/range-slider/range-slider-lockup.directive.js +0 -20
- package/esm2015/lib/directives/range-slider/range-slider.directive.js +0 -36
- package/esm2015/lib/directives/side-sheet/drawer-content.directive.js +0 -20
- package/esm2015/lib/directives/side-sheet/drawer-header-action.directive.js +0 -20
- package/esm2015/lib/directives/side-sheet/drawer-header.directive.js +0 -20
- package/esm2015/lib/directives/side-sheet/drawer.directive.js +0 -20
- package/esm2015/lib/qms-ckeditor-components/common/classes/uploadAdapter.js +0 -26
- package/lib/qms-ckeditor-components/common/classes/uploadAdapter.d.ts +0 -5
- package/src/assets/qms-ckeditor-plugin/src/plugins/tooltip/inserttooltipcommand.js +0 -88
@@ -1,31 +1,47 @@
|
|
1
|
-
|
2
|
-
import { findAttributeRange } from 'ckeditor5/src/typing';
|
3
|
-
import { TOOLTIP_ATTRIBUTE } from './utils';
|
1
|
+
|
4
2
|
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
3
|
+
import { Command } from '@ckeditor/ckeditor5-core';
|
4
|
+
import { findAttributeRange } from '@ckeditor/ckeditor5-typing';
|
5
|
+
import { first } from '@ckeditor/ckeditor5-utils';
|
6
|
+
import { isImageAllowed } from './utils';
|
7
|
+
import { TOOLTIP_COMMANDS, HTML_ATTRIBUTE, HTML_CLASS, TOOLTIP_ATTRIBUTE, TOOLTIP_CUSTOM_PROPERTY } from './utils';
|
10
8
|
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
9
|
+
export default class RemoveTooltipCommand extends Command {
|
10
|
+
|
11
|
+
refresh() {
|
12
|
+
const model = this.editor.model;
|
13
|
+
const doc = model.document;
|
14
|
+
const selectedElement = first(doc.selection.getSelectedBlocks());
|
15
15
|
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
16
|
+
// A check for the `LinkImage` plugin. If the selection contains an image element, get values from the element.
|
17
|
+
// Currently the selection reads attributes from text nodes only. See #7429 and #7465.
|
18
|
+
if (isImageAllowed(selectedElement, model.schema)) {
|
19
|
+
this.isEnabled = model.schema.checkAttribute(selectedElement, TOOLTIP_ATTRIBUTE);
|
20
|
+
} else {
|
21
|
+
this.isEnabled = model.schema.checkAttributeInSelection(doc.selection, TOOLTIP_ATTRIBUTE);
|
22
|
+
}
|
23
|
+
}
|
24
|
+
|
25
|
+
execute() {
|
26
|
+
const editor = this.editor;
|
27
|
+
const model = editor.model;
|
28
|
+
const selection = model.document.selection;
|
29
|
+
|
30
|
+
model.change(writer => {
|
31
|
+
// Get ranges to unlink.
|
32
|
+
const rangesToUnlink = selection.isCollapsed ?
|
33
|
+
[findAttributeRange(
|
34
|
+
selection.getFirstPosition(),
|
35
|
+
TOOLTIP_ATTRIBUTE,
|
36
|
+
selection.getAttribute(TOOLTIP_ATTRIBUTE),
|
37
|
+
model
|
38
|
+
)] :
|
39
|
+
model.schema.getValidRanges(selection.getRanges(), TOOLTIP_ATTRIBUTE);
|
25
40
|
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
41
|
+
// Remove `qmsTooltip` attribute from specified ranges.
|
42
|
+
for (const range of rangesToUnlink) {
|
43
|
+
writer.removeAttribute(TOOLTIP_ATTRIBUTE, range);
|
44
|
+
}
|
45
|
+
});
|
46
|
+
}
|
31
47
|
}
|
@@ -1,14 +1,14 @@
|
|
1
|
-
|
2
1
|
import { Plugin } from '@ckeditor/ckeditor5-core';
|
3
2
|
import TooltipEditing from './tooltipediting';
|
4
3
|
import TooltipUI from './tooltipui';
|
5
4
|
|
6
5
|
export default class Tooltip extends Plugin {
|
6
|
+
|
7
7
|
static get requires() {
|
8
|
-
return [TooltipEditing, TooltipUI];
|
8
|
+
return [ TooltipEditing, TooltipUI ];
|
9
9
|
}
|
10
10
|
|
11
11
|
static get pluginName() {
|
12
12
|
return 'Tooltip';
|
13
13
|
}
|
14
|
-
}
|
14
|
+
}
|
@@ -0,0 +1,75 @@
|
|
1
|
+
import { Command } from '@ckeditor/ckeditor5-core';
|
2
|
+
import { findAttributeRange } from '@ckeditor/ckeditor5-typing';
|
3
|
+
import { toMap, first } from '@ckeditor/ckeditor5-utils';
|
4
|
+
import { isImageAllowed, TOOLTIP_ATTRIBUTE } from './utils';
|
5
|
+
|
6
|
+
export default class TooltipCommand extends Command {
|
7
|
+
|
8
|
+
refresh() {
|
9
|
+
const model = this.editor.model;
|
10
|
+
const doc = model.document;
|
11
|
+
const selectedElement = first(doc.selection.getSelectedBlocks());
|
12
|
+
|
13
|
+
// A check for the `LinkImage` plugin. If the selection contains an element, get values from the element.
|
14
|
+
// Currently the selection reads attributes from text nodes only. See #7429 and #7465.
|
15
|
+
if (isImageAllowed(selectedElement, model.schema)) {
|
16
|
+
this.isEnabled = model.schema.checkAttribute(selectedElement, TOOLTIP_ATTRIBUTE);
|
17
|
+
} else {
|
18
|
+
this.isEnabled = model.schema.checkAttributeInSelection(doc.selection, TOOLTIP_ATTRIBUTE);
|
19
|
+
}
|
20
|
+
}
|
21
|
+
|
22
|
+
execute(options) {
|
23
|
+
const model = this.editor.model;
|
24
|
+
const selection = model.document.selection;
|
25
|
+
model.change(writer => {
|
26
|
+
// If selection is collapsed then update selected link or insert new one at the place of caret.
|
27
|
+
if (selection.isCollapsed) {
|
28
|
+
const position = selection.getFirstPosition();
|
29
|
+
|
30
|
+
// When selection is inside text with `qmsTooltip` attribute.
|
31
|
+
if (selection.hasAttribute(TOOLTIP_ATTRIBUTE)) {
|
32
|
+
// Then update `qmsTooltip` value.
|
33
|
+
const linkRange = findAttributeRange(position, TOOLTIP_ATTRIBUTE, selection.getAttribute(TOOLTIP_ATTRIBUTE), model);
|
34
|
+
|
35
|
+
const attributes = toMap(selection.getAttributes());
|
36
|
+
|
37
|
+
attributes.set(TOOLTIP_ATTRIBUTE, options.content);
|
38
|
+
|
39
|
+
const { end: positionAfter } = model.insertContent(writer.createText(options.text, attributes), linkRange);
|
40
|
+
|
41
|
+
// Put the selection at the end of the inserted link.
|
42
|
+
// Using end of range returned from insertContent in case nodes with the same attributes got merged.
|
43
|
+
writer.setSelection(positionAfter);
|
44
|
+
}
|
45
|
+
else if (options.text !== '') {
|
46
|
+
const attributes = toMap(selection.getAttributes());
|
47
|
+
|
48
|
+
attributes.set(TOOLTIP_ATTRIBUTE, options.content);
|
49
|
+
|
50
|
+
const { end: positionAfter } = model.insertContent(writer.createText(options.text, attributes), position);
|
51
|
+
|
52
|
+
// Put the selection at the end of the inserted link.
|
53
|
+
// Using end of range returned from insertContent in case nodes with the same attributes got merged.
|
54
|
+
writer.setSelection(positionAfter);
|
55
|
+
}
|
56
|
+
} else {
|
57
|
+
const attributes = toMap(selection.getAttributes());
|
58
|
+
|
59
|
+
attributes.set(TOOLTIP_ATTRIBUTE, options.content);
|
60
|
+
|
61
|
+
const { end: positionAfter } = model.insertContent(writer.createText(options.text, attributes), selection);
|
62
|
+
|
63
|
+
writer.setSelection(positionAfter);
|
64
|
+
}
|
65
|
+
// Remove the `qmsTooltip` attribute and all link decorators from the selection.
|
66
|
+
// It stops adding a new content into the link element.
|
67
|
+
[TOOLTIP_ATTRIBUTE].forEach(item => {
|
68
|
+
writer.removeSelectionAttribute(item);
|
69
|
+
});
|
70
|
+
console.log('this.editor.getData()' + new Date().toISOString());
|
71
|
+
console.log(this.editor.getData());
|
72
|
+
});
|
73
|
+
}
|
74
|
+
}
|
75
|
+
|
@@ -0,0 +1,68 @@
|
|
1
|
+
import { Command } from '@ckeditor/ckeditor5-core';
|
2
|
+
import { findAttributeRange } from '@ckeditor/ckeditor5-typing';
|
3
|
+
import { first } from '@ckeditor/ckeditor5-utils';
|
4
|
+
import * as QMSCKEditorConstant from '../common/qmsCKEditorConstant';
|
5
|
+
import * as QMSCKEditorService from '../common/qmsCKEditorService';
|
6
|
+
import { isImageAllowed, TOOLTIP_COMMANDS, TOOLTIP_ATTRIBUTE } from './utils';
|
7
|
+
|
8
|
+
export default class TooltipDialogCommand extends Command {
|
9
|
+
|
10
|
+
refresh() {
|
11
|
+
const model = this.editor.model;
|
12
|
+
const doc = model.document;
|
13
|
+
const selectedElement = first(doc.selection.getSelectedBlocks());
|
14
|
+
// A check for the `LinkImage` plugin. If the selection contains an element, get values from the element.
|
15
|
+
// Currently the selection reads attributes from text nodes only. See #7429 and #7465.
|
16
|
+
if (isImageAllowed(selectedElement, model.schema)) {
|
17
|
+
this.value = selectedElement.getAttribute(TOOLTIP_ATTRIBUTE);
|
18
|
+
this.isEnabled = model.schema.checkAttribute(selectedElement, TOOLTIP_ATTRIBUTE);
|
19
|
+
} else {
|
20
|
+
this.value = doc.selection.getAttribute(TOOLTIP_ATTRIBUTE);
|
21
|
+
this.isEnabled = model.schema.checkAttributeInSelection(doc.selection, TOOLTIP_ATTRIBUTE);
|
22
|
+
}
|
23
|
+
}
|
24
|
+
|
25
|
+
execute() {
|
26
|
+
const editor = this.editor;
|
27
|
+
const model = editor.model;
|
28
|
+
const selection = model.document.selection;
|
29
|
+
const tooltip = { text: '', content: '' };
|
30
|
+
if(selection.isCollapsed){
|
31
|
+
if(selection.hasAttribute(TOOLTIP_ATTRIBUTE)){
|
32
|
+
const linkRange = findAttributeRange(selection.getFirstPosition(), TOOLTIP_ATTRIBUTE, selection.getAttribute(TOOLTIP_ATTRIBUTE), model);
|
33
|
+
for (const node of linkRange.getItems()) {
|
34
|
+
if ((node.is('text') || node.is('textProxy')) && node.hasAttribute(TOOLTIP_ATTRIBUTE)) {
|
35
|
+
tooltip.text = node.data;
|
36
|
+
tooltip.content = node.getAttribute(TOOLTIP_ATTRIBUTE);
|
37
|
+
break;
|
38
|
+
}
|
39
|
+
}
|
40
|
+
}
|
41
|
+
}
|
42
|
+
else
|
43
|
+
{
|
44
|
+
const ranges = selection.getFirstRange();
|
45
|
+
if(ranges)
|
46
|
+
{
|
47
|
+
for (const item of ranges.getItems()) {
|
48
|
+
if (item.data) {
|
49
|
+
tooltip.text = tooltip.text + item.data;
|
50
|
+
}
|
51
|
+
}
|
52
|
+
}
|
53
|
+
}
|
54
|
+
|
55
|
+
QMSCKEditorService.tooltipNotify(tooltip);
|
56
|
+
window[QMSCKEditorConstant.QMSCK_TOOLTIP_IS_PROCESSING] = false;
|
57
|
+
|
58
|
+
window.addEventListener(QMSCKEditorConstant.QMSCK_TOOLTIP_PLUGIN_RESP, function (evt) {
|
59
|
+
if (window[QMSCKEditorConstant.QMSCK_TOOLTIP_IS_PROCESSING]) {
|
60
|
+
return;
|
61
|
+
}
|
62
|
+
const options = evt.detail;
|
63
|
+
editor.commands.get(TOOLTIP_COMMANDS.TOOLTIP).execute(options);
|
64
|
+
window[QMSCKEditorConstant.QMSCK_TOOLTIP_IS_PROCESSING] = true;
|
65
|
+
}, { once: true });
|
66
|
+
}
|
67
|
+
}
|
68
|
+
|