@mgdis/mg-components 6.4.0 → 6.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{index-a3269bfc.js → index-019dd5c0.js} +3 -3
- package/dist/cjs/{index-a3269bfc.js.map → index-019dd5c0.js.map} +1 -1
- package/dist/cjs/{index-911898e4.js → index-1a5a1081.js} +270 -241
- package/dist/cjs/index-1a5a1081.js.map +1 -0
- package/dist/cjs/{index.es-325100d7.js → index.es-903492c5.js} +43 -44
- package/dist/cjs/index.es-903492c5.js.map +1 -0
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/mg-action-more_36.cjs.entry.js +2418 -1996
- package/dist/cjs/mg-action-more_36.cjs.entry.js.map +1 -1
- package/dist/cjs/mg-alert.cjs.entry.js +8 -8
- package/dist/cjs/mg-components.cjs.js +3 -3
- package/dist/cjs/mg-components.cjs.js.map +1 -1
- package/dist/cjs/mg-input-rich-text-editor.cjs.entry.js +16790 -0
- package/dist/cjs/mg-input-rich-text-editor.cjs.entry.js.map +1 -0
- package/dist/cjs/mg-input.conf-5bbcea79.js +23 -0
- package/dist/cjs/mg-input.conf-5bbcea79.js.map +1 -0
- package/dist/cjs/mg-loader.cjs.entry.js +6 -6
- package/dist/cjs/mg-progress.cjs.entry.js +12 -12
- package/dist/collection/assets/icons/index.js +1 -1
- package/dist/collection/assets/icons/index.js.map +1 -1
- package/dist/collection/collection-manifest.json +2 -1
- package/dist/collection/components/atoms/mg-icon/mg-icon.js +1 -1
- package/dist/collection/components/atoms/mg-tooltip/mg-tooltip.conf.js +1 -0
- package/dist/collection/components/atoms/mg-tooltip/mg-tooltip.conf.js.map +1 -1
- package/dist/collection/components/atoms/mg-tooltip/mg-tooltip.js +68 -38
- package/dist/collection/components/atoms/mg-tooltip/mg-tooltip.js.map +1 -1
- package/dist/collection/components/molecules/inputs/mg-input/mg-input.js +1 -1
- package/dist/collection/components/molecules/inputs/mg-input/mg-input.js.map +1 -1
- package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.js +1 -1
- package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox.js.map +1 -1
- package/dist/collection/components/molecules/inputs/mg-input-date/mg-input-date.js +1 -1
- package/dist/collection/components/molecules/inputs/mg-input-date/mg-input-date.js.map +1 -1
- package/dist/collection/components/molecules/inputs/mg-input-numeric/mg-input-numeric.js +2 -2
- package/dist/collection/components/molecules/inputs/mg-input-numeric/mg-input-numeric.js.map +1 -1
- package/dist/collection/components/molecules/inputs/mg-input-password/mg-input-password.js +1 -1
- package/dist/collection/components/molecules/inputs/mg-input-password/mg-input-password.js.map +1 -1
- package/dist/collection/components/molecules/inputs/mg-input-radio/mg-input-radio.js +1 -1
- package/dist/collection/components/molecules/inputs/mg-input-radio/mg-input-radio.js.map +1 -1
- package/dist/collection/components/molecules/inputs/mg-input-rich-text-editor/editor/index.js +110 -0
- package/dist/collection/components/molecules/inputs/mg-input-rich-text-editor/editor/index.js.map +1 -0
- package/dist/collection/components/molecules/inputs/mg-input-rich-text-editor/mg-input-rich-text-editor.js +846 -0
- package/dist/collection/components/molecules/inputs/mg-input-rich-text-editor/mg-input-rich-text-editor.js.map +1 -0
- package/dist/collection/components/molecules/inputs/mg-input-select/mg-input-select.js +1 -1
- package/dist/collection/components/molecules/inputs/mg-input-select/mg-input-select.js.map +1 -1
- package/dist/collection/components/molecules/inputs/mg-input-text/mg-input-text.js +3 -5
- package/dist/collection/components/molecules/inputs/mg-input-text/mg-input-text.js.map +1 -1
- package/dist/collection/components/molecules/inputs/mg-input-textarea/mg-input-textarea.js +1 -1
- package/dist/collection/components/molecules/inputs/mg-input-textarea/mg-input-textarea.js.map +1 -1
- package/dist/collection/components/molecules/inputs/mg-input-toggle/mg-input-toggle.js +1 -1
- package/dist/collection/components/molecules/internals/mg-item-more/mg-item-more.js +4 -4
- package/dist/collection/components/molecules/internals/mg-item-more/mg-item-more.js.map +1 -1
- package/dist/collection/components/molecules/menu/mg-menu/mg-menu.conf.js +1 -1
- package/dist/collection/components/molecules/menu/mg-menu/mg-menu.conf.js.map +1 -1
- package/dist/collection/components/molecules/menu/mg-menu/mg-menu.js +16 -17
- package/dist/collection/components/molecules/menu/mg-menu/mg-menu.js.map +1 -1
- package/dist/collection/components/molecules/menu/mg-menu-item/mg-menu-item.js +19 -9
- package/dist/collection/components/molecules/menu/mg-menu-item/mg-menu-item.js.map +1 -1
- package/dist/collection/components/molecules/mg-action-more/mg-action-more.js +3 -3
- package/dist/collection/components/molecules/mg-action-more/mg-action-more.js.map +1 -1
- package/dist/collection/components/molecules/mg-alert/mg-alert.js +1 -1
- package/dist/collection/components/molecules/mg-details/mg-details.js +6 -1
- package/dist/collection/components/molecules/mg-details/mg-details.js.map +1 -1
- package/dist/collection/components/molecules/mg-form/mg-form.js +2 -2
- package/dist/collection/components/molecules/mg-form/mg-form.js.map +1 -1
- package/dist/collection/components/molecules/mg-illustrated-message/mg-illustrated-message.conf.js +5 -2
- package/dist/collection/components/molecules/mg-illustrated-message/mg-illustrated-message.conf.js.map +1 -1
- package/dist/collection/components/molecules/mg-illustrated-message/mg-illustrated-message.js +74 -17
- package/dist/collection/components/molecules/mg-illustrated-message/mg-illustrated-message.js.map +1 -1
- package/dist/collection/components/molecules/mg-loader/mg-loader.js +1 -1
- package/dist/collection/components/molecules/mg-message/mg-message.js +2 -2
- package/dist/collection/components/molecules/mg-modal/mg-modal.js +2 -2
- package/dist/collection/components/molecules/mg-pagination/mg-pagination.js +3 -3
- package/dist/collection/components/molecules/mg-panel/mg-panel.js +1 -1
- package/dist/collection/components/molecules/mg-popover/mg-popover-content/mg-popover-content.js +1 -1
- package/dist/collection/components/molecules/mg-popover/mg-popover.conf.js +2 -0
- package/dist/collection/components/molecules/mg-popover/mg-popover.conf.js.map +1 -0
- package/dist/collection/components/molecules/mg-popover/mg-popover.js +90 -46
- package/dist/collection/components/molecules/mg-popover/mg-popover.js.map +1 -1
- package/dist/collection/components/molecules/mg-progress/mg-progress.js +1 -1
- package/dist/collection/components/molecules/mg-skip-links/mg-skip-links.js +1 -1
- package/dist/collection/components/molecules/mg-tabs/mg-tabs.js +1 -1
- package/dist/collection/types/index.js.map +1 -1
- package/dist/collection/utils/behaviors.utils.js +4 -1
- package/dist/collection/utils/behaviors.utils.js.map +1 -1
- package/dist/collection/utils/floating-ui.utils.js +28 -0
- package/dist/collection/utils/floating-ui.utils.js.map +1 -0
- package/dist/components/floating-ui.utils.js +2094 -0
- package/dist/components/floating-ui.utils.js.map +1 -0
- package/dist/components/index.es.js +37 -38
- package/dist/components/index.es.js.map +1 -1
- package/dist/components/index2.js +2 -2
- package/dist/components/mg-action-more.js +8 -8
- package/dist/components/mg-action-more.js.map +1 -1
- package/dist/components/mg-alert.js +6 -6
- package/dist/components/mg-badge2.js +6 -6
- package/dist/components/mg-button2.js +6 -6
- package/dist/components/mg-card2.js +1 -1
- package/dist/components/mg-card2.js.map +1 -1
- package/dist/components/mg-character-left2.js +4 -4
- package/dist/components/mg-details.js +8 -3
- package/dist/components/mg-details.js.map +1 -1
- package/dist/components/mg-form.js +9 -9
- package/dist/components/mg-form.js.map +1 -1
- package/dist/components/mg-icon2.js +7 -7
- package/dist/components/mg-icon2.js.map +1 -1
- package/dist/components/mg-illustrated-message.js +69 -16
- package/dist/components/mg-illustrated-message.js.map +1 -1
- package/dist/components/mg-input-checkbox.js +11 -11
- package/dist/components/mg-input-checkbox.js.map +1 -1
- package/dist/components/mg-input-date.js +13 -13
- package/dist/components/mg-input-date.js.map +1 -1
- package/dist/components/mg-input-numeric.js +14 -14
- package/dist/components/mg-input-numeric.js.map +1 -1
- package/dist/components/mg-input-password.js +4 -4
- package/dist/components/mg-input-password.js.map +1 -1
- package/dist/components/mg-input-radio.js +8 -8
- package/dist/components/mg-input-radio.js.map +1 -1
- package/dist/components/mg-input-rich-text-editor.d.ts +11 -0
- package/dist/components/mg-input-rich-text-editor.js +16866 -0
- package/dist/components/mg-input-rich-text-editor.js.map +1 -0
- package/dist/components/mg-input-select2.js +8 -8
- package/dist/components/mg-input-select2.js.map +1 -1
- package/dist/components/mg-input-text2.js +11 -13
- package/dist/components/mg-input-text2.js.map +1 -1
- package/dist/components/mg-input-textarea.js +8 -8
- package/dist/components/mg-input-textarea.js.map +1 -1
- package/dist/components/mg-input-title2.js +4 -4
- package/dist/components/mg-input-toggle.js +7 -7
- package/dist/components/mg-input2.js +9 -9
- package/dist/components/mg-input2.js.map +1 -1
- package/dist/components/mg-item-more2.js +24 -22
- package/dist/components/mg-item-more2.js.map +1 -1
- package/dist/components/mg-loader.js +4 -4
- package/dist/components/mg-menu-item2.js +30 -20
- package/dist/components/mg-menu-item2.js.map +1 -1
- package/dist/components/mg-message2.js +7 -7
- package/dist/components/mg-message2.js.map +1 -1
- package/dist/components/mg-modal.js +11 -11
- package/dist/components/mg-modal.js.map +1 -1
- package/dist/components/mg-pagination2.js +9 -9
- package/dist/components/mg-panel.js +11 -11
- package/dist/components/mg-panel.js.map +1 -1
- package/dist/components/mg-popover-content2.js +4 -4
- package/dist/components/mg-popover-content2.js.map +1 -1
- package/dist/components/mg-popover2.js +89 -47
- package/dist/components/mg-popover2.js.map +1 -1
- package/dist/components/mg-progress.js +11 -11
- package/dist/components/mg-skip-links.js +3 -3
- package/dist/components/mg-tabs.js +13 -13
- package/dist/components/mg-tag.js +4 -4
- package/dist/components/mg-tooltip-content2.js +1 -1
- package/dist/components/mg-tooltip-content2.js.map +1 -1
- package/dist/components/mg-tooltip2.js +70 -41
- package/dist/components/mg-tooltip2.js.map +1 -1
- package/dist/esm/{index-1f32332a.js → index-5059254f.js} +270 -241
- package/dist/esm/index-5059254f.js.map +1 -0
- package/dist/esm/{index-9bd10f5d.js → index-6b7bdd63.js} +3 -3
- package/dist/esm/{index-9bd10f5d.js.map → index-6b7bdd63.js.map} +1 -1
- package/dist/esm/{index.es-a2587b72.js → index.es-b80b758c.js} +38 -39
- package/dist/esm/index.es-b80b758c.js.map +1 -0
- package/dist/esm/loader.js +3 -3
- package/dist/esm/mg-action-more_36.entry.js +2370 -1948
- package/dist/esm/mg-action-more_36.entry.js.map +1 -1
- package/dist/esm/mg-alert.entry.js +8 -8
- package/dist/esm/mg-components.js +4 -4
- package/dist/esm/mg-components.js.map +1 -1
- package/dist/esm/mg-input-rich-text-editor.entry.js +16786 -0
- package/dist/esm/mg-input-rich-text-editor.entry.js.map +1 -0
- package/dist/esm/mg-input.conf-712c7bb6.js +16 -0
- package/dist/esm/mg-input.conf-712c7bb6.js.map +1 -0
- package/dist/esm/mg-loader.entry.js +6 -6
- package/dist/esm/mg-progress.entry.js +12 -12
- package/dist/mg-components/mg-components.esm.js +1 -1
- package/dist/mg-components/mg-components.esm.js.map +1 -1
- package/dist/mg-components/{p-f48d964f.entry.js → p-0ae49cc4.entry.js} +2 -2
- package/dist/mg-components/p-17f0b7eb.entry.js +2 -0
- package/dist/mg-components/p-17f0b7eb.entry.js.map +1 -0
- package/dist/mg-components/p-1c126a81.entry.js +2 -0
- package/dist/mg-components/p-1c126a81.entry.js.map +1 -0
- package/dist/mg-components/p-2884f369.js +2 -0
- package/dist/mg-components/p-2884f369.js.map +1 -0
- package/dist/mg-components/{p-3b052ac0.entry.js → p-361cc090.entry.js} +2 -2
- package/dist/mg-components/p-3c6710be.js +2 -0
- package/dist/mg-components/p-3c6710be.js.map +1 -0
- package/dist/mg-components/{p-dc436f3c.js → p-4049bd40.js} +2 -2
- package/dist/mg-components/{p-0ead5317.entry.js → p-c4f37d1f.entry.js} +2 -2
- package/dist/mg-components/p-e39791fa.js +3 -0
- package/dist/mg-components/p-e39791fa.js.map +1 -0
- package/dist/types/assets/icons/index.d.ts +1 -0
- package/dist/types/components/atoms/mg-tooltip/mg-tooltip.conf.d.ts +6 -0
- package/dist/types/components/atoms/mg-tooltip/mg-tooltip.d.ts +7 -6
- package/dist/types/components/molecules/inputs/mg-input-rich-text-editor/editor/index.d.ts +21 -0
- package/dist/types/components/molecules/inputs/mg-input-rich-text-editor/mg-input-rich-text-editor.d.ts +202 -0
- package/dist/types/components/molecules/menu/mg-menu/mg-menu.conf.d.ts +2 -6
- package/dist/types/components/molecules/menu/mg-menu/mg-menu.d.ts +3 -2
- package/dist/types/components/molecules/menu/mg-menu-item/mg-menu-item.d.ts +14 -7
- package/dist/types/components/molecules/mg-details/mg-details.d.ts +4 -0
- package/dist/types/components/molecules/mg-illustrated-message/mg-illustrated-message.conf.d.ts +10 -3
- package/dist/types/components/molecules/mg-illustrated-message/mg-illustrated-message.d.ts +17 -3
- package/dist/types/components/molecules/mg-popover/mg-popover.conf.d.ts +6 -0
- package/dist/types/components/molecules/mg-popover/mg-popover.d.ts +13 -8
- package/dist/types/components.d.ts +225 -14
- package/dist/types/types/index.d.ts +4 -0
- package/dist/types/utils/floating-ui.utils.d.ts +19 -0
- package/ide/intellij/web-types.json +374 -17
- package/ide/vscode/css-custom-data.json +4 -0
- package/ide/vscode/html-custom-data.json +289 -4
- package/package.json +25 -24
- package/dist/cjs/index-911898e4.js.map +0 -1
- package/dist/cjs/index.es-325100d7.js.map +0 -1
- package/dist/components/popper.js +0 -1794
- package/dist/components/popper.js.map +0 -1
- package/dist/esm/index-1f32332a.js.map +0 -1
- package/dist/esm/index.es-a2587b72.js.map +0 -1
- package/dist/mg-components/p-35898742.js +0 -3
- package/dist/mg-components/p-35898742.js.map +0 -1
- package/dist/mg-components/p-6810a565.entry.js +0 -2
- package/dist/mg-components/p-6810a565.entry.js.map +0 -1
- package/dist/mg-components/p-b986c107.js +0 -2
- package/dist/mg-components/p-b986c107.js.map +0 -1
- /package/dist/mg-components/{p-f48d964f.entry.js.map → p-0ae49cc4.entry.js.map} +0 -0
- /package/dist/mg-components/{p-3b052ac0.entry.js.map → p-361cc090.entry.js.map} +0 -0
- /package/dist/mg-components/{p-dc436f3c.js.map → p-4049bd40.js.map} +0 -0
- /package/dist/mg-components/{p-0ead5317.entry.js.map → p-c4f37d1f.entry.js.map} +0 -0
|
@@ -0,0 +1,846 @@
|
|
|
1
|
+
import { h } from "@stencil/core";
|
|
2
|
+
import { ClassList, isValidString, toString } from "@mgdis/stencil-helpers";
|
|
3
|
+
import { classReadonly, classDisabled } from "../mg-input/mg-input.conf";
|
|
4
|
+
import { initLocales } from "../../../../locales";
|
|
5
|
+
import { defineEditor } from "./editor";
|
|
6
|
+
export class MgInputRichTextEditor {
|
|
7
|
+
constructor() {
|
|
8
|
+
// hasDisplayedError (triggered by blur event)
|
|
9
|
+
this.hasDisplayedError = false;
|
|
10
|
+
// Classes
|
|
11
|
+
this.classFocus = 'mg-u-is-focused';
|
|
12
|
+
/**
|
|
13
|
+
* Define the value of the editor
|
|
14
|
+
* Can be either HTML string or plain text
|
|
15
|
+
*/
|
|
16
|
+
this.value = '';
|
|
17
|
+
/**
|
|
18
|
+
* Define if label is visible
|
|
19
|
+
*/
|
|
20
|
+
this.labelHide = false;
|
|
21
|
+
/**
|
|
22
|
+
* Define the number of visible text lines for the control
|
|
23
|
+
*/
|
|
24
|
+
this.rows = 5;
|
|
25
|
+
/**
|
|
26
|
+
* Define if input is required
|
|
27
|
+
*/
|
|
28
|
+
this.required = false;
|
|
29
|
+
/**
|
|
30
|
+
* Define if the editor is readonly
|
|
31
|
+
*/
|
|
32
|
+
this.readonly = false;
|
|
33
|
+
/**
|
|
34
|
+
* Define if input is disabled
|
|
35
|
+
*/
|
|
36
|
+
this.disabled = false;
|
|
37
|
+
/**
|
|
38
|
+
* Define tooltip position
|
|
39
|
+
*/
|
|
40
|
+
this.tooltipPosition = 'input';
|
|
41
|
+
/**
|
|
42
|
+
* Component classes
|
|
43
|
+
*/
|
|
44
|
+
this.classCollection = new ClassList(['mg-c-input--rich-text-editor']);
|
|
45
|
+
/**
|
|
46
|
+
* Check if the field is empty taking into account the value format
|
|
47
|
+
* @returns truthy is value is invalid
|
|
48
|
+
*/
|
|
49
|
+
this.isEmpty = () => {
|
|
50
|
+
const textContent = this.getTextContent();
|
|
51
|
+
return !(isValidString(textContent) && textContent !== '\n');
|
|
52
|
+
};
|
|
53
|
+
/**
|
|
54
|
+
* Extract the text without HTML tags from value
|
|
55
|
+
* @returns text content
|
|
56
|
+
*/
|
|
57
|
+
this.getTextContent = () => this.value.replace(/<[^>]*>/g, '').trim();
|
|
58
|
+
/**
|
|
59
|
+
* Get pattern validity
|
|
60
|
+
* @returns is pattern valid
|
|
61
|
+
*/
|
|
62
|
+
this.getPatternValidity = () => this.pattern === undefined || new RegExp(`^${this.pattern}$`, 'u').test(this.getTextContent());
|
|
63
|
+
/**
|
|
64
|
+
* Check if input is valid
|
|
65
|
+
*/
|
|
66
|
+
this.checkValidity = () => {
|
|
67
|
+
this.setValidity(this.readonly || this.disabled || ((this.required ? !this.isEmpty() : true) && this.getPatternValidity()));
|
|
68
|
+
};
|
|
69
|
+
/**
|
|
70
|
+
* Set input error message
|
|
71
|
+
* @param errorMessage - errorMessage override
|
|
72
|
+
*/
|
|
73
|
+
this.setErrorMessage = (errorMessage) => {
|
|
74
|
+
this.errorMessage = undefined;
|
|
75
|
+
if (this.valid)
|
|
76
|
+
return;
|
|
77
|
+
else if (isValidString(errorMessage)) {
|
|
78
|
+
this.errorMessage = errorMessage;
|
|
79
|
+
}
|
|
80
|
+
else if (this.required && this.isEmpty()) {
|
|
81
|
+
this.errorMessage = this.messages.errors.required;
|
|
82
|
+
}
|
|
83
|
+
else if (!this.getPatternValidity()) {
|
|
84
|
+
this.errorMessage = this.patternErrorMessage;
|
|
85
|
+
}
|
|
86
|
+
};
|
|
87
|
+
/**
|
|
88
|
+
* Handle focus event
|
|
89
|
+
*/
|
|
90
|
+
this.handleFocus = () => {
|
|
91
|
+
this.classCollection.add(this.classFocus);
|
|
92
|
+
this.classCollection = new ClassList(this.classCollection.classes);
|
|
93
|
+
};
|
|
94
|
+
/**
|
|
95
|
+
* Handles the blur event on the editor
|
|
96
|
+
* Checks validity and displays error messages if necessary
|
|
97
|
+
*/
|
|
98
|
+
this.handleBlur = () => {
|
|
99
|
+
// Manage focus
|
|
100
|
+
this.classCollection.delete(this.classFocus);
|
|
101
|
+
this.classCollection = new ClassList(this.classCollection.classes);
|
|
102
|
+
if (!this.readonly) {
|
|
103
|
+
this.checkValidity();
|
|
104
|
+
this.setErrorMessage();
|
|
105
|
+
if (!this.valid) {
|
|
106
|
+
this.hasDisplayedError = true;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
};
|
|
110
|
+
/**
|
|
111
|
+
* Handle `text-change` event
|
|
112
|
+
*/
|
|
113
|
+
this.handleTextChange = () => {
|
|
114
|
+
// Get HTML content
|
|
115
|
+
const htmlContent = this.editor.getSemanticHTML();
|
|
116
|
+
this.value = htmlContent;
|
|
117
|
+
// Emit the HTML content for form compatibility
|
|
118
|
+
this.valueChange.emit(htmlContent);
|
|
119
|
+
// Check validity but do not display the error message if the error message is already displayed
|
|
120
|
+
this.checkValidity();
|
|
121
|
+
if (this.hasDisplayedError) {
|
|
122
|
+
this.setErrorMessage();
|
|
123
|
+
}
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
watchReadonly(newValue) {
|
|
127
|
+
if (newValue)
|
|
128
|
+
this.classCollection.add(classReadonly);
|
|
129
|
+
else
|
|
130
|
+
this.classCollection.delete(classReadonly);
|
|
131
|
+
}
|
|
132
|
+
watchDisabled(newValue) {
|
|
133
|
+
var _a, _b;
|
|
134
|
+
if (newValue) {
|
|
135
|
+
this.classCollection.add(classDisabled);
|
|
136
|
+
(_a = this.editor) === null || _a === void 0 ? void 0 : _a.disable();
|
|
137
|
+
}
|
|
138
|
+
else {
|
|
139
|
+
this.classCollection.delete(classDisabled);
|
|
140
|
+
(_b = this.editor) === null || _b === void 0 ? void 0 : _b.enable();
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
handleValidityChange() {
|
|
144
|
+
if (this.editor !== undefined && this.editor !== null) {
|
|
145
|
+
this.checkValidity();
|
|
146
|
+
if (this.hasDisplayedError) {
|
|
147
|
+
this.setErrorMessage();
|
|
148
|
+
this.hasDisplayedError = false;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
validatePattern(newValue) {
|
|
153
|
+
if (newValue !== undefined && !(isValidString(this.pattern) && isValidString(this.patternErrorMessage))) {
|
|
154
|
+
throw new Error(`<mg-input-rich-text-editor> props "pattern" and "patternErrorMessage" must be non-empty string and paired. Passed value: "pattern='${toString(this.pattern)}'" and "patternErrorMessage='${toString(this.patternErrorMessage)}'".`);
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Get editor content as HTML
|
|
159
|
+
* @returns HTML content of the editor
|
|
160
|
+
*/
|
|
161
|
+
async getHTML() {
|
|
162
|
+
return new Promise(resolve => {
|
|
163
|
+
requestAnimationFrame(() => {
|
|
164
|
+
resolve(this.editor.getSemanticHTML());
|
|
165
|
+
});
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Get editor content as plain text
|
|
170
|
+
* @returns Plain text content of the editor
|
|
171
|
+
*/
|
|
172
|
+
async getText() {
|
|
173
|
+
return new Promise(resolve => {
|
|
174
|
+
requestAnimationFrame(() => {
|
|
175
|
+
resolve(this.editor.getText());
|
|
176
|
+
});
|
|
177
|
+
});
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Display input error if it exists.
|
|
181
|
+
*/
|
|
182
|
+
async displayError() {
|
|
183
|
+
// Use `Promise` as requested for stencil method
|
|
184
|
+
// Use `requestAnimationFrame` to ensure:
|
|
185
|
+
// - DOM is fully updated before validation
|
|
186
|
+
// - Async operations are completed
|
|
187
|
+
// - No timing issues with Stencil's render cycle
|
|
188
|
+
// - Keep everything in sync both inside and outside the component
|
|
189
|
+
return new Promise(resolve => {
|
|
190
|
+
requestAnimationFrame(() => {
|
|
191
|
+
this.checkValidity();
|
|
192
|
+
this.setErrorMessage();
|
|
193
|
+
this.hasDisplayedError = this.invalid;
|
|
194
|
+
resolve();
|
|
195
|
+
});
|
|
196
|
+
});
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* Set an error and display a custom error message.
|
|
200
|
+
* This method can be used to set the component's error state from its context by passing a boolean value to the `valid` parameter.
|
|
201
|
+
* It must be paired with an error message to display for the given context.
|
|
202
|
+
* When used to set validity to `false`, you should use this method again to reset the validity to `true`.
|
|
203
|
+
* @param valid - value indicating the validity
|
|
204
|
+
* @param errorMessage - the error message to display
|
|
205
|
+
*/
|
|
206
|
+
async setError(valid, errorMessage) {
|
|
207
|
+
if (typeof valid !== 'boolean') {
|
|
208
|
+
throw new Error('<mg-input-rich-text-editor> method "setError()" param "valid" must be a boolean.');
|
|
209
|
+
}
|
|
210
|
+
else if (!isValidString(errorMessage)) {
|
|
211
|
+
throw new Error('<mg-input-rich-text-editor> method "setError()" param "errorMessage" must be a string.');
|
|
212
|
+
}
|
|
213
|
+
else {
|
|
214
|
+
this.setValidity(valid);
|
|
215
|
+
this.setErrorMessage(valid ? undefined : errorMessage);
|
|
216
|
+
this.hasDisplayedError = this.invalid;
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* Reset value, validity and error state
|
|
221
|
+
*/
|
|
222
|
+
async reset() {
|
|
223
|
+
if (!this.readonly) {
|
|
224
|
+
this.value = '';
|
|
225
|
+
this.editor.setText('');
|
|
226
|
+
this.checkValidity();
|
|
227
|
+
this.errorMessage = undefined;
|
|
228
|
+
this.hasDisplayedError = false;
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
/**
|
|
232
|
+
* Method to set validity values
|
|
233
|
+
* @param newValue - valid new value
|
|
234
|
+
*/
|
|
235
|
+
setValidity(newValue) {
|
|
236
|
+
const oldValidValue = this.valid;
|
|
237
|
+
this.valid = newValue;
|
|
238
|
+
this.invalid = !this.valid;
|
|
239
|
+
if (this.valid !== oldValidValue) {
|
|
240
|
+
this.inputValid.emit(this.valid);
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
/*************
|
|
244
|
+
* Lifecycle *
|
|
245
|
+
*************/
|
|
246
|
+
/**
|
|
247
|
+
* Check if component props are well configured on init
|
|
248
|
+
* @returns timeout
|
|
249
|
+
*/
|
|
250
|
+
componentWillLoad() {
|
|
251
|
+
// Get locales
|
|
252
|
+
this.messages = initLocales(this.element).messages;
|
|
253
|
+
this.element.style.setProperty('--mg-c-input-rich-text-editor-rows', this.rows.toString());
|
|
254
|
+
// Validate
|
|
255
|
+
this.validatePattern(this.pattern);
|
|
256
|
+
this.validatePattern(this.patternErrorMessage);
|
|
257
|
+
// Watch
|
|
258
|
+
this.watchReadonly(this.readonly);
|
|
259
|
+
this.watchDisabled(this.disabled);
|
|
260
|
+
// Check validity when component is ready
|
|
261
|
+
// return a promise to process action only in the FIRST render().
|
|
262
|
+
// https://stenciljs.com/docs/component-lifecycle#componentwillload
|
|
263
|
+
return setTimeout(() => {
|
|
264
|
+
this.checkValidity();
|
|
265
|
+
}, 0);
|
|
266
|
+
}
|
|
267
|
+
/**
|
|
268
|
+
* add listeners and render editor element
|
|
269
|
+
*/
|
|
270
|
+
componentDidLoad() {
|
|
271
|
+
if (this.readonly)
|
|
272
|
+
return;
|
|
273
|
+
this.editor = defineEditor(this.wrapperElement, {
|
|
274
|
+
theme: 'snow',
|
|
275
|
+
modules: this.modules,
|
|
276
|
+
readOnly: this.readonly || this.disabled,
|
|
277
|
+
placeholder: this.placeholder,
|
|
278
|
+
value: this.value,
|
|
279
|
+
handleTextChange: this.handleTextChange,
|
|
280
|
+
handleBlur: this.handleBlur,
|
|
281
|
+
handleFocus: this.handleFocus,
|
|
282
|
+
});
|
|
283
|
+
}
|
|
284
|
+
/**
|
|
285
|
+
* Render
|
|
286
|
+
* @returns HTML mg-input Element
|
|
287
|
+
*/
|
|
288
|
+
render() {
|
|
289
|
+
return (h("mg-input", { key: '4cc25a69bf7658bd1c487eb9cf22378f9cf0d473', identifier: this.identifier, class: this.classCollection.join(), label: this.label, labelOnTop: this.labelOnTop, labelHide: this.labelHide, required: this.required, tooltip: this.tooltip, tooltipPosition: this.tooltipPosition, helpText: this.helpText, errorMessage: this.hasDisplayedError ? this.errorMessage : undefined }, this.readonly ? (h("div", { class: "mg-c-input__readonly-value", innerHTML: this.value })) : (h("div", { ref: el => {
|
|
290
|
+
this.wrapperElement = el;
|
|
291
|
+
}, id: this.identifier, class: "mg-c-input__wrapper" }, h("div", null)))));
|
|
292
|
+
}
|
|
293
|
+
static get is() { return "mg-input-rich-text-editor"; }
|
|
294
|
+
static get encapsulation() { return "shadow"; }
|
|
295
|
+
static get originalStyleUrls() {
|
|
296
|
+
return {
|
|
297
|
+
"$": ["../../../../../node_modules/quill/dist/quill.snow.css", "../../../../../node_modules/@mgdis/styles/dist/components/mg-input-rich-text-editor.css"]
|
|
298
|
+
};
|
|
299
|
+
}
|
|
300
|
+
static get styleUrls() {
|
|
301
|
+
return {
|
|
302
|
+
"$": ["../../../../../node_modules/quill/dist/quill.snow.css", "../../../../../node_modules/@mgdis/styles/dist/components/mg-input-rich-text-editor.css"]
|
|
303
|
+
};
|
|
304
|
+
}
|
|
305
|
+
static get properties() {
|
|
306
|
+
return {
|
|
307
|
+
"identifier": {
|
|
308
|
+
"type": "string",
|
|
309
|
+
"mutable": false,
|
|
310
|
+
"complexType": {
|
|
311
|
+
"original": "string",
|
|
312
|
+
"resolved": "string",
|
|
313
|
+
"references": {}
|
|
314
|
+
},
|
|
315
|
+
"required": true,
|
|
316
|
+
"optional": false,
|
|
317
|
+
"docs": {
|
|
318
|
+
"tags": [],
|
|
319
|
+
"text": "Identifier is used for the element ID (id is a reserved prop in Stencil.js)"
|
|
320
|
+
},
|
|
321
|
+
"getter": false,
|
|
322
|
+
"setter": false,
|
|
323
|
+
"attribute": "identifier",
|
|
324
|
+
"reflect": false
|
|
325
|
+
},
|
|
326
|
+
"value": {
|
|
327
|
+
"type": "string",
|
|
328
|
+
"mutable": true,
|
|
329
|
+
"complexType": {
|
|
330
|
+
"original": "string",
|
|
331
|
+
"resolved": "string",
|
|
332
|
+
"references": {}
|
|
333
|
+
},
|
|
334
|
+
"required": false,
|
|
335
|
+
"optional": false,
|
|
336
|
+
"docs": {
|
|
337
|
+
"tags": [],
|
|
338
|
+
"text": "Define the value of the editor\nCan be either HTML string or plain text"
|
|
339
|
+
},
|
|
340
|
+
"getter": false,
|
|
341
|
+
"setter": false,
|
|
342
|
+
"attribute": "value",
|
|
343
|
+
"reflect": false,
|
|
344
|
+
"defaultValue": "''"
|
|
345
|
+
},
|
|
346
|
+
"label": {
|
|
347
|
+
"type": "string",
|
|
348
|
+
"mutable": false,
|
|
349
|
+
"complexType": {
|
|
350
|
+
"original": "string",
|
|
351
|
+
"resolved": "string",
|
|
352
|
+
"references": {}
|
|
353
|
+
},
|
|
354
|
+
"required": true,
|
|
355
|
+
"optional": false,
|
|
356
|
+
"docs": {
|
|
357
|
+
"tags": [],
|
|
358
|
+
"text": "Input label"
|
|
359
|
+
},
|
|
360
|
+
"getter": false,
|
|
361
|
+
"setter": false,
|
|
362
|
+
"attribute": "label",
|
|
363
|
+
"reflect": false
|
|
364
|
+
},
|
|
365
|
+
"labelOnTop": {
|
|
366
|
+
"type": "boolean",
|
|
367
|
+
"mutable": false,
|
|
368
|
+
"complexType": {
|
|
369
|
+
"original": "boolean",
|
|
370
|
+
"resolved": "boolean",
|
|
371
|
+
"references": {}
|
|
372
|
+
},
|
|
373
|
+
"required": false,
|
|
374
|
+
"optional": true,
|
|
375
|
+
"docs": {
|
|
376
|
+
"tags": [],
|
|
377
|
+
"text": "Define if label is displayed on top"
|
|
378
|
+
},
|
|
379
|
+
"getter": false,
|
|
380
|
+
"setter": false,
|
|
381
|
+
"attribute": "label-on-top",
|
|
382
|
+
"reflect": false
|
|
383
|
+
},
|
|
384
|
+
"labelHide": {
|
|
385
|
+
"type": "boolean",
|
|
386
|
+
"mutable": false,
|
|
387
|
+
"complexType": {
|
|
388
|
+
"original": "boolean",
|
|
389
|
+
"resolved": "boolean",
|
|
390
|
+
"references": {}
|
|
391
|
+
},
|
|
392
|
+
"required": false,
|
|
393
|
+
"optional": false,
|
|
394
|
+
"docs": {
|
|
395
|
+
"tags": [],
|
|
396
|
+
"text": "Define if label is visible"
|
|
397
|
+
},
|
|
398
|
+
"getter": false,
|
|
399
|
+
"setter": false,
|
|
400
|
+
"attribute": "label-hide",
|
|
401
|
+
"reflect": false,
|
|
402
|
+
"defaultValue": "false"
|
|
403
|
+
},
|
|
404
|
+
"placeholder": {
|
|
405
|
+
"type": "string",
|
|
406
|
+
"mutable": false,
|
|
407
|
+
"complexType": {
|
|
408
|
+
"original": "string",
|
|
409
|
+
"resolved": "string",
|
|
410
|
+
"references": {}
|
|
411
|
+
},
|
|
412
|
+
"required": false,
|
|
413
|
+
"optional": true,
|
|
414
|
+
"docs": {
|
|
415
|
+
"tags": [],
|
|
416
|
+
"text": "Input placeholder.\nIt should be a word or short phrase that demonstrates the expected type of data, not a replacement for labels or help text."
|
|
417
|
+
},
|
|
418
|
+
"getter": false,
|
|
419
|
+
"setter": false,
|
|
420
|
+
"attribute": "placeholder",
|
|
421
|
+
"reflect": false
|
|
422
|
+
},
|
|
423
|
+
"rows": {
|
|
424
|
+
"type": "number",
|
|
425
|
+
"mutable": false,
|
|
426
|
+
"complexType": {
|
|
427
|
+
"original": "number",
|
|
428
|
+
"resolved": "number",
|
|
429
|
+
"references": {}
|
|
430
|
+
},
|
|
431
|
+
"required": false,
|
|
432
|
+
"optional": false,
|
|
433
|
+
"docs": {
|
|
434
|
+
"tags": [],
|
|
435
|
+
"text": "Define the number of visible text lines for the control"
|
|
436
|
+
},
|
|
437
|
+
"getter": false,
|
|
438
|
+
"setter": false,
|
|
439
|
+
"attribute": "rows",
|
|
440
|
+
"reflect": false,
|
|
441
|
+
"defaultValue": "5"
|
|
442
|
+
},
|
|
443
|
+
"required": {
|
|
444
|
+
"type": "boolean",
|
|
445
|
+
"mutable": false,
|
|
446
|
+
"complexType": {
|
|
447
|
+
"original": "boolean",
|
|
448
|
+
"resolved": "boolean",
|
|
449
|
+
"references": {}
|
|
450
|
+
},
|
|
451
|
+
"required": false,
|
|
452
|
+
"optional": false,
|
|
453
|
+
"docs": {
|
|
454
|
+
"tags": [],
|
|
455
|
+
"text": "Define if input is required"
|
|
456
|
+
},
|
|
457
|
+
"getter": false,
|
|
458
|
+
"setter": false,
|
|
459
|
+
"attribute": "required",
|
|
460
|
+
"reflect": false,
|
|
461
|
+
"defaultValue": "false"
|
|
462
|
+
},
|
|
463
|
+
"readonly": {
|
|
464
|
+
"type": "boolean",
|
|
465
|
+
"mutable": false,
|
|
466
|
+
"complexType": {
|
|
467
|
+
"original": "boolean",
|
|
468
|
+
"resolved": "boolean",
|
|
469
|
+
"references": {}
|
|
470
|
+
},
|
|
471
|
+
"required": false,
|
|
472
|
+
"optional": false,
|
|
473
|
+
"docs": {
|
|
474
|
+
"tags": [],
|
|
475
|
+
"text": "Define if the editor is readonly"
|
|
476
|
+
},
|
|
477
|
+
"getter": false,
|
|
478
|
+
"setter": false,
|
|
479
|
+
"attribute": "readonly",
|
|
480
|
+
"reflect": false,
|
|
481
|
+
"defaultValue": "false"
|
|
482
|
+
},
|
|
483
|
+
"disabled": {
|
|
484
|
+
"type": "boolean",
|
|
485
|
+
"mutable": false,
|
|
486
|
+
"complexType": {
|
|
487
|
+
"original": "boolean",
|
|
488
|
+
"resolved": "boolean",
|
|
489
|
+
"references": {}
|
|
490
|
+
},
|
|
491
|
+
"required": false,
|
|
492
|
+
"optional": false,
|
|
493
|
+
"docs": {
|
|
494
|
+
"tags": [],
|
|
495
|
+
"text": "Define if input is disabled"
|
|
496
|
+
},
|
|
497
|
+
"getter": false,
|
|
498
|
+
"setter": false,
|
|
499
|
+
"attribute": "disabled",
|
|
500
|
+
"reflect": false,
|
|
501
|
+
"defaultValue": "false"
|
|
502
|
+
},
|
|
503
|
+
"pattern": {
|
|
504
|
+
"type": "string",
|
|
505
|
+
"mutable": false,
|
|
506
|
+
"complexType": {
|
|
507
|
+
"original": "string",
|
|
508
|
+
"resolved": "string",
|
|
509
|
+
"references": {}
|
|
510
|
+
},
|
|
511
|
+
"required": false,
|
|
512
|
+
"optional": true,
|
|
513
|
+
"docs": {
|
|
514
|
+
"tags": [],
|
|
515
|
+
"text": "Define input pattern to validate\nPlease refer to the Pattern section in the input documentation for detailed information on using regular expressions in components."
|
|
516
|
+
},
|
|
517
|
+
"getter": false,
|
|
518
|
+
"setter": false,
|
|
519
|
+
"attribute": "pattern",
|
|
520
|
+
"reflect": false
|
|
521
|
+
},
|
|
522
|
+
"patternErrorMessage": {
|
|
523
|
+
"type": "string",
|
|
524
|
+
"mutable": false,
|
|
525
|
+
"complexType": {
|
|
526
|
+
"original": "string",
|
|
527
|
+
"resolved": "string",
|
|
528
|
+
"references": {}
|
|
529
|
+
},
|
|
530
|
+
"required": false,
|
|
531
|
+
"optional": true,
|
|
532
|
+
"docs": {
|
|
533
|
+
"tags": [],
|
|
534
|
+
"text": "Define input pattern error message"
|
|
535
|
+
},
|
|
536
|
+
"getter": false,
|
|
537
|
+
"setter": false,
|
|
538
|
+
"attribute": "pattern-error-message",
|
|
539
|
+
"reflect": false
|
|
540
|
+
},
|
|
541
|
+
"tooltip": {
|
|
542
|
+
"type": "string",
|
|
543
|
+
"mutable": false,
|
|
544
|
+
"complexType": {
|
|
545
|
+
"original": "string",
|
|
546
|
+
"resolved": "string",
|
|
547
|
+
"references": {}
|
|
548
|
+
},
|
|
549
|
+
"required": false,
|
|
550
|
+
"optional": true,
|
|
551
|
+
"docs": {
|
|
552
|
+
"tags": [],
|
|
553
|
+
"text": "Add a tooltip message next to the input"
|
|
554
|
+
},
|
|
555
|
+
"getter": false,
|
|
556
|
+
"setter": false,
|
|
557
|
+
"attribute": "tooltip",
|
|
558
|
+
"reflect": false
|
|
559
|
+
},
|
|
560
|
+
"tooltipPosition": {
|
|
561
|
+
"type": "string",
|
|
562
|
+
"mutable": false,
|
|
563
|
+
"complexType": {
|
|
564
|
+
"original": "TooltipPosition",
|
|
565
|
+
"resolved": "\"input\" | \"label\"",
|
|
566
|
+
"references": {
|
|
567
|
+
"TooltipPosition": {
|
|
568
|
+
"location": "import",
|
|
569
|
+
"path": "../mg-input/mg-input.conf",
|
|
570
|
+
"id": "src/components/molecules/inputs/mg-input/mg-input.conf.ts::TooltipPosition"
|
|
571
|
+
}
|
|
572
|
+
}
|
|
573
|
+
},
|
|
574
|
+
"required": false,
|
|
575
|
+
"optional": false,
|
|
576
|
+
"docs": {
|
|
577
|
+
"tags": [],
|
|
578
|
+
"text": "Define tooltip position"
|
|
579
|
+
},
|
|
580
|
+
"getter": false,
|
|
581
|
+
"setter": false,
|
|
582
|
+
"attribute": "tooltip-position",
|
|
583
|
+
"reflect": false,
|
|
584
|
+
"defaultValue": "'input'"
|
|
585
|
+
},
|
|
586
|
+
"helpText": {
|
|
587
|
+
"type": "string",
|
|
588
|
+
"mutable": false,
|
|
589
|
+
"complexType": {
|
|
590
|
+
"original": "string",
|
|
591
|
+
"resolved": "string",
|
|
592
|
+
"references": {}
|
|
593
|
+
},
|
|
594
|
+
"required": false,
|
|
595
|
+
"optional": true,
|
|
596
|
+
"docs": {
|
|
597
|
+
"tags": [],
|
|
598
|
+
"text": "Add a help text under the input, usually expected data format and example"
|
|
599
|
+
},
|
|
600
|
+
"getter": false,
|
|
601
|
+
"setter": false,
|
|
602
|
+
"attribute": "help-text",
|
|
603
|
+
"reflect": false
|
|
604
|
+
},
|
|
605
|
+
"valid": {
|
|
606
|
+
"type": "boolean",
|
|
607
|
+
"mutable": true,
|
|
608
|
+
"complexType": {
|
|
609
|
+
"original": "boolean",
|
|
610
|
+
"resolved": "boolean",
|
|
611
|
+
"references": {}
|
|
612
|
+
},
|
|
613
|
+
"required": false,
|
|
614
|
+
"optional": false,
|
|
615
|
+
"docs": {
|
|
616
|
+
"tags": [],
|
|
617
|
+
"text": "Define input valid state"
|
|
618
|
+
},
|
|
619
|
+
"getter": false,
|
|
620
|
+
"setter": false,
|
|
621
|
+
"attribute": "valid",
|
|
622
|
+
"reflect": false
|
|
623
|
+
},
|
|
624
|
+
"invalid": {
|
|
625
|
+
"type": "boolean",
|
|
626
|
+
"mutable": true,
|
|
627
|
+
"complexType": {
|
|
628
|
+
"original": "boolean",
|
|
629
|
+
"resolved": "boolean",
|
|
630
|
+
"references": {}
|
|
631
|
+
},
|
|
632
|
+
"required": false,
|
|
633
|
+
"optional": false,
|
|
634
|
+
"docs": {
|
|
635
|
+
"tags": [],
|
|
636
|
+
"text": "Define input invalid state"
|
|
637
|
+
},
|
|
638
|
+
"getter": false,
|
|
639
|
+
"setter": false,
|
|
640
|
+
"attribute": "invalid",
|
|
641
|
+
"reflect": false
|
|
642
|
+
},
|
|
643
|
+
"modules": {
|
|
644
|
+
"type": "unknown",
|
|
645
|
+
"mutable": false,
|
|
646
|
+
"complexType": {
|
|
647
|
+
"original": "EditorOptionsType['modules']",
|
|
648
|
+
"resolved": "{ [x: string]: unknown; }",
|
|
649
|
+
"references": {
|
|
650
|
+
"EditorOptionsType": {
|
|
651
|
+
"location": "import",
|
|
652
|
+
"path": "./editor",
|
|
653
|
+
"id": "src/components/molecules/inputs/mg-input-rich-text-editor/editor/index.ts::EditorOptionsType"
|
|
654
|
+
}
|
|
655
|
+
}
|
|
656
|
+
},
|
|
657
|
+
"required": false,
|
|
658
|
+
"optional": true,
|
|
659
|
+
"docs": {
|
|
660
|
+
"tags": [],
|
|
661
|
+
"text": "Editor modules configuration"
|
|
662
|
+
},
|
|
663
|
+
"getter": false,
|
|
664
|
+
"setter": false
|
|
665
|
+
}
|
|
666
|
+
};
|
|
667
|
+
}
|
|
668
|
+
static get states() {
|
|
669
|
+
return {
|
|
670
|
+
"classCollection": {},
|
|
671
|
+
"errorMessage": {}
|
|
672
|
+
};
|
|
673
|
+
}
|
|
674
|
+
static get events() {
|
|
675
|
+
return [{
|
|
676
|
+
"method": "inputValid",
|
|
677
|
+
"name": "input-valid",
|
|
678
|
+
"bubbles": true,
|
|
679
|
+
"cancelable": true,
|
|
680
|
+
"composed": true,
|
|
681
|
+
"docs": {
|
|
682
|
+
"tags": [],
|
|
683
|
+
"text": "Emited event when checking validity"
|
|
684
|
+
},
|
|
685
|
+
"complexType": {
|
|
686
|
+
"original": "boolean",
|
|
687
|
+
"resolved": "boolean",
|
|
688
|
+
"references": {}
|
|
689
|
+
}
|
|
690
|
+
}, {
|
|
691
|
+
"method": "valueChange",
|
|
692
|
+
"name": "value-change",
|
|
693
|
+
"bubbles": true,
|
|
694
|
+
"cancelable": true,
|
|
695
|
+
"composed": true,
|
|
696
|
+
"docs": {
|
|
697
|
+
"tags": [],
|
|
698
|
+
"text": "Emited event when value change"
|
|
699
|
+
},
|
|
700
|
+
"complexType": {
|
|
701
|
+
"original": "string",
|
|
702
|
+
"resolved": "string",
|
|
703
|
+
"references": {}
|
|
704
|
+
}
|
|
705
|
+
}];
|
|
706
|
+
}
|
|
707
|
+
static get methods() {
|
|
708
|
+
return {
|
|
709
|
+
"getHTML": {
|
|
710
|
+
"complexType": {
|
|
711
|
+
"signature": "() => Promise<string>",
|
|
712
|
+
"parameters": [],
|
|
713
|
+
"references": {
|
|
714
|
+
"Promise": {
|
|
715
|
+
"location": "global",
|
|
716
|
+
"id": "global::Promise"
|
|
717
|
+
}
|
|
718
|
+
},
|
|
719
|
+
"return": "Promise<string>"
|
|
720
|
+
},
|
|
721
|
+
"docs": {
|
|
722
|
+
"text": "Get editor content as HTML",
|
|
723
|
+
"tags": [{
|
|
724
|
+
"name": "returns",
|
|
725
|
+
"text": "HTML content of the editor"
|
|
726
|
+
}]
|
|
727
|
+
}
|
|
728
|
+
},
|
|
729
|
+
"getText": {
|
|
730
|
+
"complexType": {
|
|
731
|
+
"signature": "() => Promise<string>",
|
|
732
|
+
"parameters": [],
|
|
733
|
+
"references": {
|
|
734
|
+
"Promise": {
|
|
735
|
+
"location": "global",
|
|
736
|
+
"id": "global::Promise"
|
|
737
|
+
}
|
|
738
|
+
},
|
|
739
|
+
"return": "Promise<string>"
|
|
740
|
+
},
|
|
741
|
+
"docs": {
|
|
742
|
+
"text": "Get editor content as plain text",
|
|
743
|
+
"tags": [{
|
|
744
|
+
"name": "returns",
|
|
745
|
+
"text": "Plain text content of the editor"
|
|
746
|
+
}]
|
|
747
|
+
}
|
|
748
|
+
},
|
|
749
|
+
"displayError": {
|
|
750
|
+
"complexType": {
|
|
751
|
+
"signature": "() => Promise<void>",
|
|
752
|
+
"parameters": [],
|
|
753
|
+
"references": {
|
|
754
|
+
"Promise": {
|
|
755
|
+
"location": "global",
|
|
756
|
+
"id": "global::Promise"
|
|
757
|
+
}
|
|
758
|
+
},
|
|
759
|
+
"return": "Promise<void>"
|
|
760
|
+
},
|
|
761
|
+
"docs": {
|
|
762
|
+
"text": "Display input error if it exists.",
|
|
763
|
+
"tags": []
|
|
764
|
+
}
|
|
765
|
+
},
|
|
766
|
+
"setError": {
|
|
767
|
+
"complexType": {
|
|
768
|
+
"signature": "(valid: MgInputRichTextEditor[\"valid\"], errorMessage: string) => Promise<void>",
|
|
769
|
+
"parameters": [{
|
|
770
|
+
"name": "valid",
|
|
771
|
+
"type": "boolean",
|
|
772
|
+
"docs": "- value indicating the validity"
|
|
773
|
+
}, {
|
|
774
|
+
"name": "errorMessage",
|
|
775
|
+
"type": "string",
|
|
776
|
+
"docs": "- the error message to display"
|
|
777
|
+
}],
|
|
778
|
+
"references": {
|
|
779
|
+
"Promise": {
|
|
780
|
+
"location": "global",
|
|
781
|
+
"id": "global::Promise"
|
|
782
|
+
},
|
|
783
|
+
"MgInputRichTextEditor": {
|
|
784
|
+
"location": "global",
|
|
785
|
+
"id": "global::MgInputRichTextEditor"
|
|
786
|
+
}
|
|
787
|
+
},
|
|
788
|
+
"return": "Promise<void>"
|
|
789
|
+
},
|
|
790
|
+
"docs": {
|
|
791
|
+
"text": "Set an error and display a custom error message.\nThis method can be used to set the component's error state from its context by passing a boolean value to the `valid` parameter.\nIt must be paired with an error message to display for the given context.\nWhen used to set validity to `false`, you should use this method again to reset the validity to `true`.",
|
|
792
|
+
"tags": [{
|
|
793
|
+
"name": "param",
|
|
794
|
+
"text": "valid - value indicating the validity"
|
|
795
|
+
}, {
|
|
796
|
+
"name": "param",
|
|
797
|
+
"text": "errorMessage - the error message to display"
|
|
798
|
+
}]
|
|
799
|
+
}
|
|
800
|
+
},
|
|
801
|
+
"reset": {
|
|
802
|
+
"complexType": {
|
|
803
|
+
"signature": "() => Promise<void>",
|
|
804
|
+
"parameters": [],
|
|
805
|
+
"references": {
|
|
806
|
+
"Promise": {
|
|
807
|
+
"location": "global",
|
|
808
|
+
"id": "global::Promise"
|
|
809
|
+
}
|
|
810
|
+
},
|
|
811
|
+
"return": "Promise<void>"
|
|
812
|
+
},
|
|
813
|
+
"docs": {
|
|
814
|
+
"text": "Reset value, validity and error state",
|
|
815
|
+
"tags": []
|
|
816
|
+
}
|
|
817
|
+
}
|
|
818
|
+
};
|
|
819
|
+
}
|
|
820
|
+
static get elementRef() { return "element"; }
|
|
821
|
+
static get watchers() {
|
|
822
|
+
return [{
|
|
823
|
+
"propName": "readonly",
|
|
824
|
+
"methodName": "watchReadonly"
|
|
825
|
+
}, {
|
|
826
|
+
"propName": "disabled",
|
|
827
|
+
"methodName": "watchDisabled"
|
|
828
|
+
}, {
|
|
829
|
+
"propName": "required",
|
|
830
|
+
"methodName": "handleValidityChange"
|
|
831
|
+
}, {
|
|
832
|
+
"propName": "readonly",
|
|
833
|
+
"methodName": "handleValidityChange"
|
|
834
|
+
}, {
|
|
835
|
+
"propName": "disabled",
|
|
836
|
+
"methodName": "handleValidityChange"
|
|
837
|
+
}, {
|
|
838
|
+
"propName": "pattern",
|
|
839
|
+
"methodName": "validatePattern"
|
|
840
|
+
}, {
|
|
841
|
+
"propName": "patternErrorMessage",
|
|
842
|
+
"methodName": "validatePattern"
|
|
843
|
+
}];
|
|
844
|
+
}
|
|
845
|
+
}
|
|
846
|
+
//# sourceMappingURL=mg-input-rich-text-editor.js.map
|