qms-angular 1.0.27 → 1.0.31

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 (139) hide show
  1. package/bundles/qms-angular.umd.js +888 -240
  2. package/bundles/qms-angular.umd.js.map +1 -1
  3. package/esm2015/lib/common/qms-icon.const.js +6 -0
  4. package/esm2015/lib/components/breadcrumb/breadcrumb-direction-icon.directive.js +20 -0
  5. package/esm2015/lib/components/breadcrumb/breadcrumb-item.directive.js +40 -0
  6. package/esm2015/lib/components/breadcrumb/breadcrumb.js +129 -0
  7. package/esm2015/lib/components/breadcrumb/breadcrumb.module.js +38 -0
  8. package/esm2015/lib/components/breadcrumb/enum/dropdown-node-width.enum.js +6 -0
  9. package/esm2015/lib/components/breadcrumb/model/breadcrumb-node.model.js +3 -0
  10. package/esm2015/lib/components/button/button-toggle.js +1 -1
  11. package/esm2015/lib/components/dialog/constant.js +4 -2
  12. package/esm2015/lib/components/dialog/dialog.js +4 -4
  13. package/esm2015/lib/components/related/common/data-type.enum.js +2 -2
  14. package/esm2015/lib/components/related/common/qms-icon.const.js +21 -1
  15. package/esm2015/lib/components/related/common/tree.function.js +10 -5
  16. package/esm2015/lib/components/related/list-other-related/list-related.component.js +10 -2
  17. package/esm2015/lib/components/related/model/popup-data.model.js +2 -1
  18. package/esm2015/lib/components/related/model/related-data.model.js +1 -1
  19. package/esm2015/lib/components/related/model/tree-config.model.js +1 -1
  20. package/esm2015/lib/components/related/model/tree-node.model.js +1 -1
  21. package/esm2015/lib/components/related/popup/related-popup.component.js +179 -12
  22. package/esm2015/lib/components/related/related.module.js +7 -5
  23. package/esm2015/lib/components/related/risk/analysis/analysis.component.js +1 -1
  24. package/esm2015/lib/components/related/service/related-global.service.js +5 -1
  25. package/esm2015/lib/components/related/tree/tree.component.js +37 -9
  26. package/esm2015/lib/components/table/table-action.js +2 -2
  27. package/esm2015/lib/directives/scrollbar/scrollbar.directive.js +8 -2
  28. package/esm2015/lib/directives/tooltip/tooltip-renderer.directive.js +4 -4
  29. package/esm2015/lib/model/en.js +7 -2
  30. package/esm2015/lib/model/no.js +7 -2
  31. package/esm2015/lib/qms-ckeditor-components/common/constants/ckeditorEvent.constant.js +3 -1
  32. package/esm2015/lib/qms-ckeditor-components/common/models/qms-ckeditor-data.model.js +1 -1
  33. package/esm2015/lib/qms-ckeditor-components/common/models/qms-ckeditor-input.model.js +2 -1
  34. package/esm2015/lib/qms-ckeditor-components/common/module/confirm/qms-ckeditor-confirm.component.js +1 -1
  35. package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-link/attachments/link-attachment.component.js +1 -1
  36. package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-link/qms-ckeditor-link.component.js +3 -3
  37. package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-load-template/qms-ckeditor-load-template.component.js +1 -1
  38. package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-relation/qmsckeditor-related.component.js +1 -1
  39. package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-template/qms-ckeditor-template.component.js +1 -1
  40. package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-tooltip/qms-ckeditor-tooltip.component.js +76 -0
  41. package/esm2015/lib/qms-ckeditor-components/models/qms-ckeditor-tooltip.model.js +7 -0
  42. package/esm2015/lib/qms-ckeditor-components/qms-ckeditor.component.js +51 -2
  43. package/esm2015/lib/qms-ckeditor-components/qms-ckeditor.module.js +4 -2
  44. package/esm2015/public-api.js +7 -1
  45. package/esm2015/qms-angular.js +3 -1
  46. package/fesm2015/qms-angular.js +910 -292
  47. package/fesm2015/qms-angular.js.map +1 -1
  48. package/lib/common/qms-icon.const.d.ts +1 -0
  49. package/lib/components/breadcrumb/breadcrumb-direction-icon.directive.d.ts +6 -0
  50. package/lib/components/breadcrumb/breadcrumb-item.directive.d.ts +12 -0
  51. package/lib/components/breadcrumb/breadcrumb.d.ts +32 -0
  52. package/lib/components/breadcrumb/breadcrumb.module.d.ts +2 -0
  53. package/lib/components/breadcrumb/enum/dropdown-node-width.enum.d.ts +4 -0
  54. package/lib/components/breadcrumb/model/breadcrumb-node.model.d.ts +13 -0
  55. package/lib/components/related/common/data-type.enum.d.ts +1 -1
  56. package/lib/components/related/common/qms-icon.const.d.ts +4 -0
  57. package/lib/components/related/list-other-related/list-related.component.d.ts +3 -0
  58. package/lib/components/related/model/popup-data.model.d.ts +1 -0
  59. package/lib/components/related/model/related-data.model.d.ts +4 -0
  60. package/lib/components/related/model/tree-config.model.d.ts +1 -0
  61. package/lib/components/related/model/tree-node.model.d.ts +1 -0
  62. package/lib/components/related/popup/related-popup.component.d.ts +18 -0
  63. package/lib/components/related/service/related-global.service.d.ts +2 -0
  64. package/lib/components/related/tree/tree.component.d.ts +7 -1
  65. package/lib/directives/scrollbar/scrollbar.directive.d.ts +1 -0
  66. package/lib/model/en.d.ts +6 -1
  67. package/lib/model/no.d.ts +6 -1
  68. package/lib/qms-ckeditor-components/common/constants/ckeditorEvent.constant.d.ts +2 -0
  69. package/lib/qms-ckeditor-components/common/models/qms-ckeditor-data.model.d.ts +1 -0
  70. package/lib/qms-ckeditor-components/common/models/qms-ckeditor-input.model.d.ts +1 -0
  71. package/lib/qms-ckeditor-components/components/qms-ckeditor-tooltip/qms-ckeditor-tooltip.component.d.ts +36 -0
  72. package/lib/qms-ckeditor-components/models/qms-ckeditor-tooltip.model.d.ts +6 -0
  73. package/lib/qms-ckeditor-components/qms-ckeditor.component.d.ts +6 -0
  74. package/package.json +1 -1
  75. package/public-api.d.ts +6 -0
  76. package/qms-angular.d.ts +2 -0
  77. package/qms-angular.metadata.json +1 -1
  78. package/src/assets/qms-ckeditor-plugin/build/ckeditor.js +2 -1
  79. package/src/assets/qms-ckeditor-plugin/build/ckeditor.js.map +1 -1
  80. package/src/assets/qms-ckeditor-plugin/package-lock.json +1224 -2042
  81. package/src/assets/qms-ckeditor-plugin/package.json +26 -19
  82. package/src/assets/qms-ckeditor-plugin/src/ckeditor.js +23 -1
  83. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-find-and-replace/src/findandreplace.js +132 -0
  84. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-find-and-replace/src/findandreplaceediting.js +315 -0
  85. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-find-and-replace/src/findandreplaceui.js +223 -0
  86. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-find-and-replace/src/findcommand.js +90 -0
  87. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-find-and-replace/src/findnextcommand.js +62 -0
  88. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-find-and-replace/src/findpreviouscommand.js +28 -0
  89. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-find-and-replace/src/index.js +10 -0
  90. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-find-and-replace/src/replaceallcommand.js +54 -0
  91. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-find-and-replace/src/replacecommand.js +66 -0
  92. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-find-and-replace/src/ui/checkboxview.js +212 -0
  93. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-find-and-replace/src/ui/findandreplaceformview.js +546 -0
  94. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-find-and-replace/src/utils.js +158 -0
  95. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-find-and-replace/theme/findandreplace.css +13 -0
  96. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-find-and-replace/theme/findandreplaceform.css +226 -0
  97. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-find-and-replace/theme/icons/find-replace.svg +1 -0
  98. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-special-characters/src/index.js +16 -0
  99. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-special-characters/src/specialcharacters.js +254 -0
  100. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-special-characters/src/specialcharactersarrows.js +60 -0
  101. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-special-characters/src/specialcharacterscurrency.js +78 -0
  102. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-special-characters/src/specialcharactersessentials.js +43 -0
  103. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-special-characters/src/specialcharacterslatin.js +170 -0
  104. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-special-characters/src/specialcharactersmathematical.js +86 -0
  105. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-special-characters/src/specialcharacterstext.js +69 -0
  106. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-special-characters/src/ui/charactergridview.js +116 -0
  107. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-special-characters/src/ui/characterinfoview.js +111 -0
  108. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-special-characters/src/ui/specialcharactersnavigationview.js +127 -0
  109. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-special-characters/theme/charactergrid.css +12 -0
  110. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-special-characters/theme/characterinfo.css +9 -0
  111. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-special-characters/theme/icons/specialcharacters.svg +1 -0
  112. package/src/assets/qms-ckeditor-plugin/src/plugins/ckeditor5-special-characters/theme/specialcharacters.css +10 -0
  113. package/src/assets/qms-ckeditor-plugin/src/plugins/common/qmsCKEditorConstant.js +4 -0
  114. package/src/assets/qms-ckeditor-plugin/src/plugins/common/qmsCKEditorService.js +10 -0
  115. package/src/assets/qms-ckeditor-plugin/src/plugins/common/qmsCKEditorUtil.js +63 -0
  116. package/src/assets/qms-ckeditor-plugin/src/plugins/timestamp/timestamp.js +34 -0
  117. package/src/assets/qms-ckeditor-plugin/src/plugins/tooltip/inserttooltipcommand.js +98 -0
  118. package/src/assets/qms-ckeditor-plugin/src/plugins/tooltip/removetooltipcommand.js +41 -0
  119. package/src/assets/qms-ckeditor-plugin/src/plugins/tooltip/tooltip.js +14 -0
  120. package/src/assets/qms-ckeditor-plugin/src/plugins/tooltip/tooltipediting.js +280 -0
  121. package/src/assets/qms-ckeditor-plugin/src/plugins/tooltip/tooltipui.js +203 -0
  122. package/src/assets/qms-ckeditor-plugin/src/plugins/tooltip/ui/actionsview.js +95 -0
  123. package/src/assets/qms-ckeditor-plugin/src/plugins/tooltip/utils.js +70 -0
  124. package/src/assets/qms-ckeditor-plugin/src/themes/icons/information.svg +50 -0
  125. package/src/assets/qms-ckeditor-plugin/src/themes/icons/timestamp.svg +1 -0
  126. package/src/assets/qms-ckeditor-plugin/src/themes/tyles/tooltip.css +74 -0
  127. package/src/lib/components/breadcrumb/breadcrumb.scss +100 -0
  128. package/src/lib/components/button/button-toggle.scss +25 -1
  129. package/src/lib/components/dialog/dialog.scss +9 -0
  130. package/src/lib/components/related/popup/related-popup.component.scss +46 -0
  131. package/src/lib/components/table/table.scss +5 -27
  132. package/src/lib/qms-ckeditor-components/components/qms-ckeditor-tooltip/qms-ckeditor-tooltip.component.scss +11 -0
  133. package/src/lib/qms-ckeditor-components/qms-ckeditor.component.scss +29 -1
  134. package/src/lib/qms-ckeditor-components/styles/_modules.scss +6 -0
  135. package/src/themes/core/_form.scss +4 -0
  136. package/src/themes/core/_input.scss +8 -0
  137. package/src/themes/core/_scrollbar.scss +9 -2
  138. package/src/themes/core/_styles.scss +5 -0
  139. package/src/themes/core/_tab.scss +272 -6
@@ -0,0 +1,203 @@
1
+
2
+ import Plugin from '@ckeditor/ckeditor5-core/src/plugin';
3
+ import informationIcon from '../../themes/icons/information.svg';
4
+ import * as QMSCKEditorConstant from '../common/qmsCKEditorConstant';
5
+ import * as QMSCKEditorService from '../common/qmsCKEditorService';
6
+ import ActionsView from './ui/actionsview';
7
+ import { ClickObserver } from '@ckeditor/ckeditor5-engine';
8
+ import { ButtonView, ContextualBalloon, clickOutsideHandler } from '@ckeditor/ckeditor5-ui';
9
+ import { TOOLTIP_ATTRIBUTE, findTooltipElementAncestor, getSelectionParent, INSERT_TOOLTIP_COMMAND, REMOVE_TOOLTIP_COMMAND} from './utils';
10
+
11
+ export default class TooltipUI extends Plugin {
12
+ static get requires() {
13
+ return [ContextualBalloon];
14
+ }
15
+
16
+ static get pluginName() {
17
+ return 'TooltipUI';
18
+ }
19
+
20
+ get _isVisible() {
21
+ return this._balloon.visibleView === this._actionView;
22
+ }
23
+
24
+ get _isInBalloon() {
25
+ return this._balloon.hasView(this._actionView);
26
+ }
27
+
28
+ init() {
29
+ const editor = this.editor;
30
+ const t = editor.t;
31
+ const view = editor.editing.view;
32
+
33
+ view.addObserver(ClickObserver);
34
+ this._createActionsView();
35
+
36
+ editor.ui.componentFactory.add('tooltip', locale => {
37
+ const buttonView = new ButtonView(locale);
38
+
39
+ buttonView.set({
40
+ label: t('Tooltip'),
41
+ icon: informationIcon,
42
+ withText: true,
43
+ tooltip: true
44
+ });
45
+
46
+ // Bind button to the command.
47
+ const insertTooltipCommand = editor.commands.get(INSERT_TOOLTIP_COMMAND);
48
+ buttonView.bind('isEnabled').to(insertTooltipCommand, 'isEnabled' );
49
+ buttonView.bind('isOn').to(insertTooltipCommand, 'value', value => !!value );
50
+
51
+ buttonView.on('execute', () => {
52
+ editor.execute(INSERT_TOOLTIP_COMMAND);
53
+ });
54
+
55
+ return buttonView;
56
+ });
57
+ }
58
+
59
+ destroy() {
60
+ super.destroy();
61
+ this._actionView.destroy();
62
+ }
63
+
64
+ _createActionsView() {
65
+ const editor = this.editor;
66
+ const view = editor.editing.view;
67
+ const viewDocument = view.document;
68
+ this._balloon = this.editor.plugins.get('ContextualBalloon');
69
+ this._actionView = new ActionsView(editor.locale);
70
+
71
+ const insertTooltipCommand = editor.commands.get(INSERT_TOOLTIP_COMMAND);
72
+ const removeTooltipCommand = editor.commands.get(REMOVE_TOOLTIP_COMMAND);
73
+
74
+ this._actionView.bind(TOOLTIP_ATTRIBUTE).to( insertTooltipCommand, 'value');
75
+ this._actionView.editButtonView.bind('isEnabled').to(insertTooltipCommand);
76
+ this._actionView.removeButtonView.bind('isEnabled').to(removeTooltipCommand);
77
+
78
+ this.listenTo(this._actionView, 'edit', () => {
79
+ const tooltip = { text: '', content: '' };
80
+ const selectedElement = this._getSelectedTooltipElement();
81
+ if(selectedElement){
82
+ tooltip.content = selectedElement.getAttribute(TOOLTIP_ATTRIBUTE);
83
+ if(selectedElement.childCount > 0){
84
+ tooltip.text = selectedElement.getChild(0).data;
85
+ }
86
+ }
87
+ QMSCKEditorService.tooltipNotify(tooltip);
88
+ window[QMSCKEditorConstant.QMSCK_TOOLTIP_IS_PROCESSING] = false;
89
+ this._hideActionsView(true);
90
+ });
91
+
92
+ this.listenTo(this._actionView, 'remove', () => {
93
+ editor.execute(REMOVE_TOOLTIP_COMMAND);
94
+ this._hideActionsView(true);
95
+ });
96
+
97
+ this._actionView.keystrokes.set('Esc', (data, cancel) => {
98
+ this._hideActionsView(true);
99
+ cancel();
100
+ });
101
+
102
+ this.listenTo(viewDocument, 'click', () => {
103
+ const selectedElement = this._getSelectedTooltipElement();
104
+ if (!!selectedElement) {
105
+ // Then show panel but keep focus inside editor editable.
106
+ this._showActionsView();
107
+ }
108
+ });
109
+
110
+ // Close on click outside of balloon panel element.
111
+ clickOutsideHandler({
112
+ emitter: this._actionView,
113
+ activator: () => this._isVisible,
114
+ contextElements: [ this._balloon.view.element ],
115
+ callback: () => this._hideActionsView()
116
+ });
117
+ }
118
+
119
+ _showActionsView() {
120
+ if (this._isVisible) {
121
+ return;
122
+ }
123
+ const editor = this.editor;
124
+ const viewDocument = editor.editing.view.document;
125
+ //const command = editor.commands.get('imageTextAlternative');
126
+ //const labeledInput = this._actionView.labeledInput;
127
+
128
+ if (!this._isInBalloon) {
129
+ this._balloon.add({
130
+ view: this._actionView,
131
+ position: this._getBalloonPositionData()
132
+ });
133
+ }
134
+
135
+ // Reposition the balloon or hide the form if an tooltip is no longer selected.
136
+ const prevSelectedElement = this._getSelectedTooltipElement();
137
+ const prevSelectionParent = getSelectionParent(viewDocument);
138
+
139
+ this.listenTo(editor.ui, 'update', () => {
140
+ const selectedElement = this._getSelectedTooltipElement();
141
+ const selectionParent = getSelectionParent(viewDocument);
142
+
143
+ if ((prevSelectedElement && !selectedElement) || (!prevSelectedElement && selectionParent !== prevSelectionParent)) {
144
+ this._hideActionsView(true);
145
+ }
146
+ else if (this._isVisible)
147
+ {
148
+ this._balloon.updatePosition(this._getBalloonPositionData());
149
+ }
150
+ });
151
+ }
152
+
153
+ _getBalloonPositionData() {
154
+ const editingView = this.editor.editing.view;
155
+ const selectedElement = this._getSelectedTooltipElement();
156
+ return {
157
+ target: editingView.domConverter.viewToDom(selectedElement)
158
+ };
159
+ }
160
+
161
+ _hideActionsView(focusEditable) {
162
+ if (!this._isInBalloon) {
163
+ return;
164
+ }
165
+
166
+ if (this._actionView.focusTracker.isFocused) {
167
+ this._actionView.removeButtonView.focus();
168
+ }
169
+ this.stopListening(this.editor.ui, 'update');
170
+ this._balloon.remove(this._actionView);
171
+
172
+ if (focusEditable) {
173
+ this.editor.editing.view.focus();
174
+ }
175
+ }
176
+
177
+ _getSelectedTooltipElement() {
178
+ const view = this.editor.editing.view;
179
+ const selection = view.document.selection;
180
+ if (selection.isCollapsed) {
181
+ return findTooltipElementAncestor(selection.getFirstPosition());
182
+ }
183
+ else {
184
+ // The range for fully selected link is usually anchored in adjacent text nodes.
185
+ // Trim it to get closer to the actual link element.
186
+ const range = selection.getFirstRange().getTrimmed();
187
+ const startTooltip = findTooltipElementAncestor(range.start);
188
+ const endTooltip = findTooltipElementAncestor(range.end);
189
+ if (!startTooltip || startTooltip != endTooltip) {
190
+ return null;
191
+ }
192
+
193
+ // Check if the link element is fully selected.
194
+ if (view.createRangeIn(startTooltip).getTrimmed().isEqual(range)) {
195
+ return startTooltip;
196
+ }
197
+ else {
198
+ return null;
199
+ }
200
+ }
201
+ }
202
+ }
203
+
@@ -0,0 +1,95 @@
1
+ import { ButtonView, View, ViewCollection, FocusCycler } from '@ckeditor/ckeditor5-ui';
2
+ import { FocusTracker, KeystrokeHandler } from '@ckeditor/ckeditor5-utils';
3
+ import { icons } from '@ckeditor/ckeditor5-core';
4
+ import '@ckeditor/ckeditor5-ui/theme/components/responsive-form/responsiveform.css';
5
+ import '../../../themes/tyles/linkactions.css';
6
+ import { TOOLTIP_ATTRIBUTE } from '../utils';
7
+ export default class ActionsView extends View {
8
+ constructor( locale ) {
9
+ super( locale );
10
+
11
+ const t = locale.t;
12
+
13
+ this.focusTracker = new FocusTracker();
14
+
15
+ this.keystrokes = new KeystrokeHandler();
16
+
17
+ this.removeButtonView = this._createButton(t('Remove tooltip'), icons.eraser, 'remove');
18
+
19
+ this.editButtonView = this._createButton(t('Edit tooltip'), icons.pencil, 'edit');
20
+
21
+ this.set(TOOLTIP_ATTRIBUTE);
22
+
23
+ this._focusables = new ViewCollection();
24
+
25
+ this._focusCycler = new FocusCycler( {
26
+ focusables: this._focusables,
27
+ focusTracker: this.focusTracker,
28
+ keystrokeHandler: this.keystrokes,
29
+ actions: {
30
+ // Navigate fields backwards using the Shift + Tab keystroke.
31
+ focusPrevious: 'shift + tab',
32
+ // Navigate fields forwards using the Tab key.
33
+ focusNext: 'tab'
34
+ }
35
+ } );
36
+
37
+ this.setTemplate( {
38
+ tag: 'div',
39
+
40
+ attributes: {
41
+ class: [
42
+ 'ck',
43
+ 'ck-link-actions',
44
+ 'ck-responsive-form'
45
+ ],
46
+ // https://github.com/ckeditor/ckeditor5-link/issues/90
47
+ tabindex: '-1'
48
+ },
49
+
50
+ children: [
51
+ this.editButtonView,
52
+ this.removeButtonView
53
+ ]
54
+ } );
55
+ }
56
+
57
+ render() {
58
+ super.render();
59
+
60
+ const childViews = [
61
+ this.editButtonView,
62
+ this.removeButtonView
63
+ ];
64
+
65
+ childViews.forEach( v => {
66
+ // Register the view as focusable.
67
+ this._focusables.add( v );
68
+
69
+ // Register the view in the focus tracker.
70
+ this.focusTracker.add( v.element );
71
+ } );
72
+
73
+ // Start listening for the keystrokes coming from #element.
74
+ this.keystrokes.listenTo( this.element );
75
+ }
76
+
77
+ focus() {
78
+ this._focusCycler.focusFirst();
79
+ }
80
+
81
+ _createButton( label, icon, eventName ) {
82
+ const button = new ButtonView( this.locale );
83
+
84
+ button.set( {
85
+ label,
86
+ icon,
87
+ tooltip: true
88
+ } );
89
+
90
+ button.delegate('execute').to(this, eventName);
91
+
92
+ return button;
93
+ }
94
+ }
95
+
@@ -0,0 +1,70 @@
1
+
2
+ export const TOOLTIP_CUSTOM_PROPERTY = 'tooltip';
3
+ export const TOOLTIP_ATTRIBUTE = 'data-tooltip';
4
+ export const INSERT_TOOLTIP_COMMAND = 'inserttooltip';
5
+ export const REMOVE_TOOLTIP_COMMAND = 'removetooltip';
6
+
7
+ export function isTooltipElement(node) {
8
+ return node.is('attributeElement') && !!node.getCustomProperty(TOOLTIP_CUSTOM_PROPERTY);
9
+ }
10
+
11
+ export function findTooltipElementAncestor(position) {
12
+ return position.getAncestors().find(ancestor => isTooltipElement(ancestor));
13
+ }
14
+
15
+ export function isTooltipAllowed(element, schema) {
16
+ if (!element) {
17
+ return false;
18
+ }
19
+ return element.is('element', 'span') && schema.checkAttribute('span', TOOLTIP_ATTRIBUTE);
20
+ }
21
+
22
+ export function getSelectionParent(viewDocument) {
23
+ return viewDocument.selection.focus.getAncestors()
24
+ .reverse()
25
+ .find(node => node.is('element'));
26
+ }
27
+
28
+ export function isTyping(editor) {
29
+ const input = editor.plugins.get('Input');
30
+ return input.isInput(editor.model.change(writer => writer.batch));
31
+ }
32
+
33
+
34
+ export function shouldCopyAttributes(model) {
35
+ const selection = model.document.selection;
36
+ const firstPosition = selection.getFirstPosition();
37
+ const lastPosition = selection.getLastPosition();
38
+ const nodeAtFirstPosition = firstPosition.nodeAfter;
39
+
40
+ // The text tooltip node does not exist...
41
+ if (!nodeAtFirstPosition) {
42
+ return false;
43
+ }
44
+
45
+ // ...or it isn't the text node...
46
+ if (!nodeAtFirstPosition.is('$text')) {
47
+ return false;
48
+ }
49
+
50
+ // ...or isn't the tooltip.
51
+ if (!nodeAtFirstPosition.hasAttribute(TOOLTIP_ATTRIBUTE)) {
52
+ return false;
53
+ }
54
+
55
+ // `textNode` = the position is inside the tooltip element.
56
+ // `nodeBefore` = the position is at the end of the tooltip element.
57
+ const nodeAtLastPosition = lastPosition.textNode || lastPosition.nodeBefore;
58
+
59
+ // If both references the same node selection contains a single text node.
60
+ if (nodeAtFirstPosition === nodeAtLastPosition) {
61
+ return true;
62
+ }
63
+
64
+ // If nodes are not equal, maybe the tooltip nodes has defined additional attributes inside.
65
+ // First, we need to find the entire tooltip range.
66
+ const tooltipRange = findAttributeRange(firstPosition, TOOLTIP_ATTRIBUTE, nodeAtFirstPosition.getAttribute(TOOLTIP_ATTRIBUTE), model);
67
+
68
+ // Then we can check whether selected range is inside the found tooltip range. If so, attributes should be preserved.
69
+ return tooltipRange.containsRange(model.createRange(firstPosition, lastPosition) , true);
70
+ }
@@ -0,0 +1,50 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
3
+ <svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
4
+ viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve">
5
+ <g>
6
+ <g>
7
+ <g>
8
+ <path d="M256,85.333c-23.531,0-42.667,19.135-42.667,42.667s19.135,42.667,42.667,42.667s42.667-19.135,42.667-42.667
9
+ S279.531,85.333,256,85.333z M256,149.333c-11.76,0-21.333-9.573-21.333-21.333s9.573-21.333,21.333-21.333
10
+ s21.333,9.573,21.333,21.333S267.76,149.333,256,149.333z"/>
11
+ <path d="M288,192h-85.333c-5.896,0-10.667,4.771-10.667,10.667v42.667c0,5.896,4.771,10.667,10.667,10.667h10.667v160
12
+ c0,5.896,4.771,10.667,10.667,10.667h64c5.896,0,10.667-4.771,10.667-10.667V202.667C298.667,196.771,293.896,192,288,192z
13
+ M277.333,405.333h-42.667v-160c0-5.896-4.771-10.667-10.667-10.667h-10.667v-21.333h64V405.333z"/>
14
+ <path d="M256,0C114.844,0,0,114.844,0,256s114.844,256,256,256s256-114.844,256-256S397.156,0,256,0z M256,490.667
15
+ C126.604,490.667,21.333,385.396,21.333,256S126.604,21.333,256,21.333S490.667,126.604,490.667,256S385.396,490.667,256,490.667
16
+ z"/>
17
+ </g>
18
+ </g>
19
+ </g>
20
+ <g>
21
+ </g>
22
+ <g>
23
+ </g>
24
+ <g>
25
+ </g>
26
+ <g>
27
+ </g>
28
+ <g>
29
+ </g>
30
+ <g>
31
+ </g>
32
+ <g>
33
+ </g>
34
+ <g>
35
+ </g>
36
+ <g>
37
+ </g>
38
+ <g>
39
+ </g>
40
+ <g>
41
+ </g>
42
+ <g>
43
+ </g>
44
+ <g>
45
+ </g>
46
+ <g>
47
+ </g>
48
+ <g>
49
+ </g>
50
+ </svg>
@@ -0,0 +1 @@
1
+ <?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" height="512" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M512 1005.714286C241.371429 1005.714286 18.285714 782.628571 18.285714 512 18.285714 241.371429 241.371429 18.285714 512 18.285714c270.628571 0 493.714286 223.085714 493.714286 493.714286C1005.714286 782.628571 782.628571 1005.714286 512 1005.714286zM512 76.8C270.628571 76.8 76.8 270.628571 76.8 512S270.628571 947.2 512 947.2c241.371429 0 435.2-193.828571 435.2-435.2S753.371429 76.8 512 76.8zM709.485714 669.257143c-3.657143 0-10.971429 0-14.628571-3.657143l-215.771429-120.685714L479.085714 256c0-14.628571 14.628571-29.257143 29.257143-29.257143s29.257143 14.628571 29.257143 29.257143L537.6 512l182.857143 102.4c14.628571 7.314286 18.285714 25.6 10.971429 40.228571C731.428571 661.942857 720.457143 669.257143 709.485714 669.257143z" /></svg>
@@ -0,0 +1,74 @@
1
+ .np-tooltip {
2
+ cursor: help !important;
3
+ font-style: italic;
4
+ position: relative;
5
+ display: inline-block;
6
+ border-bottom: 1px dotted black;
7
+ }
8
+
9
+ .np-tooltip .np-tooltip__content {
10
+ visibility: hidden;
11
+ font-size: .9em;
12
+ line-height: 1.5;
13
+ color: var(--ck-color-base-text);
14
+ padding: var(--ck-spacing-small) var(--ck-spacing-medium);
15
+ background: var(--ck-color-base-background);
16
+ border-radius: var(--ck-color-base-border);
17
+ position: absolute;
18
+ z-index: 1;
19
+ top: 150%;
20
+ }
21
+
22
+ .np-tooltip .np-tooltip__content::after {
23
+ content: "";
24
+ position: absolute;
25
+ bottom: 100%;
26
+ left: 50%;
27
+ transform: rotateX(180deg);
28
+ margin-left: -5px;
29
+ border-width: 5px;
30
+ border-style: solid;
31
+ border-color: var(--ck-color-base-background) transparent transparent transparent;
32
+ }
33
+
34
+ .np-tooltip:hover .np-tooltip__content {
35
+ visibility: visible;
36
+ }
37
+
38
+ /*fssssssssssssssssssssssssssssssssssssssssssss*/
39
+
40
+ .np-tooltip:before {
41
+ content: attr(data-tooltip);
42
+ min-width: 54px;
43
+ color: var(--ck-color-base-text);
44
+ padding: var(--ck-spacing-small) var(--ck-spacing-medium);
45
+ background: var(--ck-color-base-background);
46
+ border-radius: var(--ck-color-base-border);
47
+ position: absolute;
48
+ z-index: 1;
49
+ top: 100%;
50
+ visibility: hidden;
51
+ opacity: 0;
52
+ transition: opacity 0.3s;
53
+ }
54
+
55
+ .np-tooltip:after {
56
+ position: absolute;
57
+ content: "";
58
+ top: 60%;
59
+ left: 50%;
60
+ transform: rotateX(180deg);
61
+ margin-left: -5px;
62
+ border-width: 5px;
63
+ border-style: solid;
64
+ border-color: var(--ck-color-base-background) transparent transparent transparent;
65
+ visibility: hidden;
66
+ opacity: 0;
67
+ transition: opacity 0.3s;
68
+ }
69
+
70
+ .np-tooltip:hover:before,
71
+ .np-tooltip:hover:after{
72
+ visibility: visible;
73
+ opacity: 1;
74
+ }
@@ -0,0 +1,100 @@
1
+ @import "../../../themes/core/colors";
2
+
3
+ .breadcrumb-container{
4
+ display: flex;
5
+ font-family: Open Sans;
6
+ font-size: 14px;
7
+ font-weight: 600;
8
+ color: #323232;
9
+ .qms-breadcrumb-item, .qms-breadcrumb-direction-icon{
10
+ display: flex;
11
+ align-items: center;
12
+ padding: 3px 0 2px 0;
13
+ }
14
+
15
+ .qms-breadcrumb-direction-icon{
16
+ .mat-icon{
17
+ width: 18px;
18
+ height: 18px;
19
+ font-size: 18px;
20
+ margin-left: 0.5rem;
21
+ margin-right: 0.5rem;
22
+ }
23
+ }
24
+
25
+ .item-icon{
26
+ margin-right: 2px;
27
+ }
28
+ .qms-breadcrumb-item{
29
+ cursor: pointer;
30
+ .qms-btn-icon{
31
+ width: 1.5rem;
32
+ height: 1.5rem;
33
+ line-height: 1.5rem;
34
+ }
35
+ .qms-breadcrumb-item-text{
36
+ max-width: 240px;
37
+ text-overflow: ellipsis;
38
+ overflow: hidden;
39
+ white-space: nowrap;
40
+ }
41
+
42
+ .breadcrumb__dropdown-btn{
43
+ width: 2rem;
44
+ height: 2rem;
45
+ svg{
46
+ display: block;
47
+ }
48
+ }
49
+ }
50
+
51
+ .qms-breadcrumb-last-item{
52
+ color: black(0.6);
53
+ font-weight: 400;
54
+ cursor: not-allowed;
55
+ }
56
+ }
57
+
58
+ .qms-breadcrumb-table{
59
+ .breadcrumb-container{
60
+ .qms-breadcrumb-direction-icon{
61
+ .mat-icon{
62
+ width: 12px;
63
+ height: 12px;
64
+ font-size: 12px;
65
+ margin-left: 0.25rem;
66
+ margin-right: 0.25rem;
67
+ color: black(0.6);
68
+ }
69
+ }
70
+
71
+ .item-icon{
72
+ margin-right: 1px;
73
+ }
74
+
75
+ .qms-breadcrumb-item{
76
+ .qms-breadcrumb-item-text{
77
+ max-width: 200px;
78
+ text-overflow: ellipsis;
79
+ overflow: hidden;
80
+ white-space: nowrap;
81
+ font-size: 12px;
82
+ font-weight: 400;
83
+ color: black(0.6);
84
+ }
85
+ }
86
+ }
87
+ }
88
+
89
+ .qms-breadcrumb__multi-line{
90
+ .breadcrumb-container{
91
+ flex-wrap: wrap;
92
+ }
93
+ }
94
+
95
+
96
+ .qms-breadcrumb-menu{
97
+ .qms-dropdown-menu-item{
98
+ border: none;
99
+ }
100
+ }
@@ -11,7 +11,7 @@
11
11
  border-radius: 4px;
12
12
  border: solid 1px #e0e0e0;
13
13
 
14
- .qms-button-toggle {
14
+ .qms-button-toggle {
15
15
  font-family: "Open Sans";
16
16
  white-space: nowrap;
17
17
  position: relative;
@@ -29,6 +29,10 @@
29
29
  color: $primary;
30
30
  }
31
31
 
32
+ &:hover {
33
+ background-color: $primary-light-3-opacity;
34
+ }
35
+
32
36
  &.qms-button-toggle-checked {
33
37
  background-color: $primary-light-3-opacity;
34
38
  color: $primary;
@@ -69,6 +73,11 @@
69
73
  background-color: $primary-light-3-opacity;
70
74
  color: $primary;
71
75
 
76
+ &:hover {
77
+ background-color: $primary;
78
+ color: white;
79
+ }
80
+
72
81
  &.qms-button-toggle-checked {
73
82
  background-color: $primary;
74
83
  color: white;
@@ -113,6 +122,11 @@
113
122
  color: $primary-light-32-opacity;
114
123
  }
115
124
 
125
+ &:hover {
126
+ background-color: $primary-lighter;
127
+ color: $primary;
128
+ }
129
+
116
130
  &.qms-button-toggle-checked {
117
131
  background-color: $primary-lighter;
118
132
  color: $primary;
@@ -152,6 +166,16 @@
152
166
  }
153
167
  }
154
168
  }
169
+
170
+ &.qms-button-toggle-disabled {
171
+ cursor: default !important;
172
+ background: #e4e4e4 !important;
173
+ color: rgba(0,0,0,.38) !important;
174
+
175
+ .mat-icon {
176
+ color: rgba(0,0,0,.38) !important;
177
+ }
178
+ }
155
179
  }
156
180
 
157
181
  // &.qms-button-toggle-group-appearance-standard {
@@ -32,6 +32,14 @@
32
32
  color: #1954a9;
33
33
  }
34
34
  }
35
+
36
+ .qms-btn-icon.qms-light {
37
+ color: white;
38
+
39
+ &:hover {
40
+ color: white;
41
+ }
42
+ }
35
43
  }
36
44
 
37
45
  .dialog-container {
@@ -55,6 +63,7 @@
55
63
 
56
64
  .mat-dialog-content {
57
65
  font-size: 14px;
66
+ font-family: "Open Sans";
58
67
  }
59
68
 
60
69
  .action-btn {