@globalpayments/vega 2.35.0 → 2.36.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/{app-globals-fb3693cc.js → app-globals-13d4a0be.js} +3 -4
- package/dist/cjs/{list-block-91116257.js → content-state-2336e368.js} +130 -4
- package/dist/cjs/{element-appender-slimmer-700b7004.js → element-appender-slimmer-77f9c4a0.js} +11 -3
- package/dist/cjs/{form-field-controller-slimmer-dbb321ad.js → form-field-controller-slimmer-8d4d2723.js} +11 -3
- package/dist/cjs/{image-annotation-action-d3e1699c.js → image-annotation-action-4135ca69.js} +12 -12
- package/dist/cjs/index.cjs.js +5 -6
- package/dist/cjs/loader.cjs.js +5 -6
- package/dist/cjs/{node-annotation.abstract-e5d3a859.js → node-annotation.abstract-c3c07af5.js} +1 -1
- package/dist/cjs/{sub-state-notify-slimmer-c2e08e06.js → sub-state-notify-slimmer-994eb848.js} +1 -1
- package/dist/cjs/{sub-state-observer-slimmer-b97e46b5.js → sub-state-observer-slimmer-080a4bea.js} +1 -1
- package/dist/cjs/vega-button-group_2.cjs.entry.js +3 -3
- package/dist/cjs/vega-calendar_3.cjs.entry.js +3 -3
- package/dist/cjs/vega-checkbox_2.cjs.entry.js +2 -2
- package/dist/cjs/vega-color-picker.cjs.entry.js +2 -2
- package/dist/cjs/vega-combo-box.cjs.entry.js +2 -2
- package/dist/cjs/vega-date-picker_2.cjs.entry.js +497 -116
- package/dist/cjs/vega-dropdown_5.cjs.entry.js +68 -19
- package/dist/cjs/vega-env-manager-23b8b23c.js +2 -2
- package/dist/cjs/vega-file-uploader.cjs.entry.js +120 -40
- package/dist/cjs/vega-font.cjs.entry.js +8 -1
- package/dist/cjs/vega-form.cjs.entry.js +2 -2
- package/dist/cjs/vega-image-uploader.cjs.entry.js +2 -2
- package/dist/cjs/vega-input-credit-card.cjs.entry.js +2 -2
- package/dist/cjs/vega-input-numeric.cjs.entry.js +3 -3
- package/dist/cjs/vega-input-phone-number.cjs.entry.js +2 -2
- package/dist/cjs/vega-input-range.cjs.entry.js +2 -2
- package/dist/cjs/vega-input-select.cjs.entry.js +2 -2
- package/dist/cjs/vega-input.cjs.entry.js +3 -3
- package/dist/cjs/{vega-internal-event-id-85b68849.js → vega-internal-event-id-b12071ea.js} +2 -0
- package/dist/cjs/vega-left-nav_5.cjs.entry.js +3 -3
- package/dist/cjs/vega-pagination.cjs.entry.js +3 -3
- package/dist/cjs/vega-popover_2.cjs.entry.js +2 -2
- package/dist/cjs/vega-radio_2.cjs.entry.js +2 -2
- package/dist/cjs/vega-rich-text-content.cjs.entry.js +35 -13
- package/dist/cjs/vega-rich-text-editor_4.cjs.entry.js +135 -119
- package/dist/cjs/vega-selection-chip_2.cjs.entry.js +4 -4
- package/dist/cjs/vega-selection-tile_2.cjs.entry.js +4 -4
- package/dist/cjs/vega-sidenav_3.cjs.entry.js +3 -3
- package/dist/cjs/vega-signature-capture.cjs.entry.js +2 -2
- package/dist/cjs/vega-stepper.cjs.entry.js +2 -2
- package/dist/cjs/vega-table_8.cjs.entry.js +3 -3
- package/dist/cjs/vega-textarea.cjs.entry.js +2 -2
- package/dist/cjs/vega-time-picker_2.cjs.entry.js +3 -3
- package/dist/cjs/vega-toggle-switch.cjs.entry.js +2 -2
- package/dist/cjs/vega-tooltip_2.cjs.entry.js +1 -1
- package/dist/cjs/vega.cjs.js +5 -6
- package/dist/collection/components/vega-date-picker/assets/icons.js +3 -0
- package/dist/collection/components/vega-date-picker/slimmers/controllers/vega-date-picker-calendar-controller.js +23 -1
- package/dist/collection/components/vega-date-picker/slimmers/renderers/vega-date-picker-calendar-month-year-dropdown-renderer.js +316 -0
- package/dist/collection/components/vega-date-picker/slimmers/renderers/vega-date-picker-calendar-renderer.js +23 -2
- package/dist/collection/components/vega-date-picker/slimmers/renderers/vega-date-picker-renderer.js +16 -4
- package/dist/collection/components/vega-date-picker/vega-date-picker-calendar/vega-date-picker-calendar.css +24 -0
- package/dist/collection/components/vega-date-picker/vega-date-picker.js +39 -0
- package/dist/collection/components/vega-dropdown/slimmers/controllers/vega-dropdown-appender-controller.js +56 -14
- package/dist/collection/components/vega-dropdown/vega-dropdown.js +37 -0
- package/dist/collection/components/vega-file-uploader/slimmers/controllers/vega-file-uploader-file-limit-controller.js +35 -0
- package/dist/collection/components/vega-file-uploader/slimmers/renderers/vega-file-uploader-container-renderer.js +36 -7
- package/dist/collection/components/vega-file-uploader/vega-file-uploader.js +41 -0
- package/dist/collection/components/vega-font/slimmers/renderers/vega-font-renderer.js +8 -1
- package/dist/collection/components/vega-input-select/vega-input-select.js +1 -1
- package/dist/collection/components/vega-pagination/internal/vega-pagination-page-size-selector.js +2 -2
- package/dist/collection/components/vega-pagination/vega-pagination.js +24 -1
- package/dist/collection/components/vega-rich-text-content/slimmers/renderers/vega-rich-text-content-renderer.js +19 -1
- package/dist/collection/components/vega-rich-text-content/vega-rich-text-content.js +11 -4
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/value-controller.js +15 -1
- package/dist/collection/components/vega-rich-text-editor/vega-rich-text-editor.js +4 -2
- package/dist/collection/helpers/event-manager/event-id/vega-internal-event-id.js +1 -0
- package/dist/collection/helpers/slimmers/field-error-controller-silmmer.js +8 -2
- package/dist/collection/helpers/slimmers/position-calculation/position-calculation-controller.js +1 -1
- package/dist/collection/helpers/ui/element-appender.js +10 -2
- package/dist/collection/helpers/validator/form-field-controller.js +2 -0
- package/dist/collection/helpers/validator/rules/rich-text-editor-required-rule.js +4 -3
- package/dist/collection/helpers/validator/test/rules/rich-text-editor-required-rule.test.js +43 -0
- package/dist/esm/{app-globals-5b154b6d.js → app-globals-9ded4406.js} +2 -3
- package/dist/esm/{list-block-ba82c846.js → content-state-42a06d75.js} +130 -3
- package/dist/esm/{element-appender-slimmer-d71e3109.js → element-appender-slimmer-f3eceb79.js} +11 -3
- package/dist/esm/{form-field-controller-slimmer-add614f1.js → form-field-controller-slimmer-6ef5641b.js} +11 -3
- package/dist/esm/{image-annotation-action-a8e00f28.js → image-annotation-action-8a12e0bd.js} +2 -2
- package/dist/esm/index.js +3 -4
- package/dist/esm/loader.js +5 -6
- package/dist/esm/{node-annotation.abstract-d7d52bce.js → node-annotation.abstract-af11b11b.js} +1 -1
- package/dist/esm/{sub-state-notify-slimmer-48bad548.js → sub-state-notify-slimmer-7d5a295a.js} +1 -1
- package/dist/esm/{sub-state-observer-slimmer-403cc4e7.js → sub-state-observer-slimmer-901c7953.js} +1 -1
- package/dist/esm/vega-button-group_2.entry.js +3 -3
- package/dist/esm/vega-calendar_3.entry.js +3 -3
- package/dist/esm/vega-checkbox_2.entry.js +2 -2
- package/dist/esm/vega-color-picker.entry.js +2 -2
- package/dist/esm/vega-combo-box.entry.js +2 -2
- package/dist/esm/vega-date-picker_2.entry.js +498 -117
- package/dist/esm/vega-dropdown_5.entry.js +68 -19
- package/dist/esm/vega-env-manager-8f8dc473.js +2 -2
- package/dist/esm/vega-file-uploader.entry.js +120 -40
- package/dist/esm/vega-font.entry.js +8 -1
- package/dist/esm/vega-form.entry.js +2 -2
- package/dist/esm/vega-image-uploader.entry.js +2 -2
- package/dist/esm/vega-input-credit-card.entry.js +2 -2
- package/dist/esm/vega-input-numeric.entry.js +3 -3
- package/dist/esm/vega-input-phone-number.entry.js +2 -2
- package/dist/esm/vega-input-range.entry.js +2 -2
- package/dist/esm/vega-input-select.entry.js +2 -2
- package/dist/esm/vega-input.entry.js +3 -3
- package/dist/esm/{vega-internal-event-id-4af5c6e9.js → vega-internal-event-id-458939b6.js} +2 -1
- package/dist/esm/vega-left-nav_5.entry.js +3 -3
- package/dist/esm/vega-pagination.entry.js +3 -3
- package/dist/esm/vega-popover_2.entry.js +2 -2
- package/dist/esm/vega-radio_2.entry.js +2 -2
- package/dist/esm/vega-rich-text-content.entry.js +28 -6
- package/dist/esm/vega-rich-text-editor_4.entry.js +28 -12
- package/dist/esm/vega-selection-chip_2.entry.js +4 -4
- package/dist/esm/vega-selection-tile_2.entry.js +4 -4
- package/dist/esm/vega-sidenav_3.entry.js +3 -3
- package/dist/esm/vega-signature-capture.entry.js +2 -2
- package/dist/esm/vega-stepper.entry.js +2 -2
- package/dist/esm/vega-table_8.entry.js +3 -3
- package/dist/esm/vega-textarea.entry.js +2 -2
- package/dist/esm/vega-time-picker_2.entry.js +3 -3
- package/dist/esm/vega-toggle-switch.entry.js +2 -2
- package/dist/esm/vega-tooltip_2.entry.js +1 -1
- package/dist/esm/vega.js +5 -6
- package/dist/types/components/vega-date-picker/assets/icons.d.ts +1 -1
- package/dist/types/components/vega-date-picker/slimmers/controllers/vega-date-picker-calendar-controller.d.ts +4 -18
- package/dist/types/components/vega-date-picker/slimmers/renderers/vega-date-picker-calendar-month-year-dropdown-renderer.d.ts +85 -0
- package/dist/types/components/vega-date-picker/slimmers/renderers/vega-date-picker-calendar-renderer.d.ts +6 -0
- package/dist/types/components/vega-date-picker/slimmers/renderers/vega-date-picker-renderer.d.ts +2 -0
- package/dist/types/components/vega-date-picker/vega-date-picker.d.ts +12 -2
- package/dist/types/components/vega-dropdown/slimmers/controllers/vega-dropdown-appender-controller.d.ts +20 -0
- package/dist/types/components/vega-dropdown/vega-dropdown.d.ts +10 -0
- package/dist/types/components/vega-file-uploader/slimmers/controllers/vega-file-uploader-file-limit-controller.d.ts +18 -0
- package/dist/types/components/vega-file-uploader/slimmers/renderers/vega-file-uploader-container-renderer.d.ts +15 -0
- package/dist/types/components/vega-file-uploader/vega-file-uploader.d.ts +12 -0
- package/dist/types/components/vega-input-select/types.d.ts +1 -0
- package/dist/types/components/vega-pagination/internal/vega-pagination-page-size-selector.d.ts +2 -0
- package/dist/types/components/vega-pagination/types.d.ts +6 -0
- package/dist/types/components/vega-pagination/vega-pagination.d.ts +9 -1
- package/dist/types/components/vega-rich-text-content/slimmers/renderers/vega-rich-text-content-renderer.d.ts +3 -0
- package/dist/types/components/vega-rich-text-content/vega-rich-text-content.d.ts +4 -1
- package/dist/types/components/vega-rich-text-editor/slimmers/controllers/value-controller.d.ts +4 -0
- package/dist/types/components/vega-rich-text-editor/vega-rich-text-editor.d.ts +3 -1
- package/dist/types/components.d.ts +49 -5
- package/dist/types/helpers/event-manager/event-id/vega-internal-event-id.d.ts +1 -0
- package/dist/types/helpers/slimmers/field-error-controller-silmmer.d.ts +7 -2
- package/dist/types/helpers/ui/element-appender.d.ts +4 -0
- package/dist/types/helpers/validator/rules/rich-text-editor-required-rule.d.ts +1 -1
- package/dist/types/types/components.type.d.ts +1 -1
- package/dist/vega/index.esm.js +1 -1
- package/dist/vega/p-032ed643.entry.js +13 -0
- package/dist/vega/{p-f48711fa.entry.js → p-13ce8d87.entry.js} +1 -1
- package/dist/vega/{p-f84fd31c.js → p-26af2a8b.js} +1 -1
- package/dist/vega/{p-dcdac4d0.entry.js → p-2ff936da.entry.js} +1 -1
- package/dist/vega/{p-8fc170d9.entry.js → p-317c72e4.entry.js} +1 -1
- package/dist/vega/{p-4f0b56fc.js → p-349dd552.js} +1 -1
- package/dist/vega/p-36ad5ee1.entry.js +1 -0
- package/dist/vega/p-42465abc.entry.js +1 -0
- package/dist/vega/{p-7ecbf764.entry.js → p-43b6aced.entry.js} +1 -1
- package/dist/vega/{p-c6f544fe.entry.js → p-441c9c90.entry.js} +1 -1
- package/dist/vega/{p-926596cc.js → p-446c691b.js} +1 -1
- package/dist/vega/{p-1a64716b.entry.js → p-4d307520.entry.js} +1 -1
- package/dist/vega/p-524ff1a3.entry.js +1 -0
- package/dist/vega/p-558450ba.entry.js +1 -0
- package/dist/vega/{p-c02f650e.entry.js → p-589530e4.entry.js} +1 -1
- package/dist/vega/{p-71eeb279.entry.js → p-5ae1a322.entry.js} +1 -1
- package/dist/vega/p-5f377954.js +1 -1
- package/dist/vega/{p-fc6ea557.entry.js → p-61cffe6a.entry.js} +1 -1
- package/dist/vega/{p-5760619c.entry.js → p-6bf28253.entry.js} +1 -1
- package/dist/vega/{p-b6f09c98.entry.js → p-6df81ec2.entry.js} +1 -1
- package/dist/vega/p-75bca1c6.js +1 -0
- package/dist/vega/{p-4873be94.entry.js → p-7b72dc7a.entry.js} +1 -1
- package/dist/vega/{p-b9a09a76.js → p-83d87df5.js} +1 -1
- package/dist/vega/{p-c56965fc.entry.js → p-8a77ff64.entry.js} +1 -1
- package/dist/vega/{p-e480babd.entry.js → p-906991ec.entry.js} +1 -1
- package/dist/vega/{p-f6b89936.entry.js → p-96389073.entry.js} +1 -1
- package/dist/vega/{p-f31bb1fd.js → p-983c7d9b.js} +1 -1
- package/dist/vega/{p-91aa058f.entry.js → p-9ec7d6c4.entry.js} +1 -1
- package/dist/vega/{p-f2cc36ae.entry.js → p-a213b305.entry.js} +1 -1
- package/dist/vega/{p-e093b2c5.entry.js → p-a956561e.entry.js} +1 -1
- package/dist/vega/{p-625771d7.entry.js → p-b0c6cc78.entry.js} +1 -1
- package/dist/vega/{p-b57792b7.js → p-b1524c6c.js} +1 -1
- package/dist/vega/{p-2bbcb1ca.entry.js → p-bd2cdf10.entry.js} +1 -1
- package/dist/vega/p-c06e55d6.js +1 -0
- package/dist/vega/{p-eaf6c3d8.entry.js → p-cea7506a.entry.js} +1 -1
- package/dist/vega/p-cff45d92.entry.js +1 -0
- package/dist/vega/p-d3d4bf51.entry.js +1 -0
- package/dist/vega/{p-0be711b6.entry.js → p-df4142dd.entry.js} +1 -1
- package/dist/vega/p-df9dbe2d.entry.js +1 -0
- package/dist/vega/p-ebb30774.entry.js +1 -0
- package/dist/vega/{p-e04d4ba3.entry.js → p-eed64b78.entry.js} +1 -1
- package/dist/vega/{p-193d2c51.entry.js → p-f7fdf737.entry.js} +1 -1
- package/dist/vega/p-fe9644a0.js +1 -0
- package/dist/vega/vega.esm.js +1 -1
- package/package.json +1 -1
- package/dist/cjs/content-state-3e4467a3.js +0 -134
- package/dist/esm/content-state-f39c4bbf.js +0 -132
- package/dist/vega/p-0634f06b.entry.js +0 -1
- package/dist/vega/p-0ee10fd7.js +0 -1
- package/dist/vega/p-21d59593.entry.js +0 -1
- package/dist/vega/p-42df8a42.js +0 -1
- package/dist/vega/p-5dd923e0.entry.js +0 -1
- package/dist/vega/p-6d23c08b.entry.js +0 -1
- package/dist/vega/p-7258cb9c.entry.js +0 -1
- package/dist/vega/p-85365f8b.js +0 -1
- package/dist/vega/p-b0e824df.entry.js +0 -13
- package/dist/vega/p-c016c3b2.entry.js +0 -1
- package/dist/vega/p-c88acd87.entry.js +0 -1
- package/dist/vega/p-f357cf46.js +0 -1
- package/dist/vega/p-ff50c204.entry.js +0 -1
|
@@ -219,6 +219,16 @@ export class VegaDropdown {
|
|
|
219
219
|
* @vegaVersion 2.3.0
|
|
220
220
|
*/
|
|
221
221
|
this.isLazyLoading = false;
|
|
222
|
+
/**
|
|
223
|
+
* Determines whether the dropdown position is calculated relative to the screen.
|
|
224
|
+
*
|
|
225
|
+
* @VegaWarning When enabled (set to true), it overrides the positionRelativeTo and matchContainerHeight properties, rendering them ineffective.
|
|
226
|
+
*
|
|
227
|
+
* @VegaWarning Currently, when set to true, position calculation may be inaccurate if the dropdown is placed inside a scrollable container within a shadowRoot (e.g., inside a vega-modal with scrollable content).
|
|
228
|
+
*
|
|
229
|
+
* @vegaVersion 2.36.0
|
|
230
|
+
*/
|
|
231
|
+
this.isScreenPosition = false;
|
|
222
232
|
}
|
|
223
233
|
watchIsDropdownShow() {
|
|
224
234
|
methodPlaceholder();
|
|
@@ -837,6 +847,33 @@ export class VegaDropdown {
|
|
|
837
847
|
},
|
|
838
848
|
"attribute": "search-trigger-by",
|
|
839
849
|
"reflect": false
|
|
850
|
+
},
|
|
851
|
+
"isScreenPosition": {
|
|
852
|
+
"type": "boolean",
|
|
853
|
+
"mutable": false,
|
|
854
|
+
"complexType": {
|
|
855
|
+
"original": "boolean",
|
|
856
|
+
"resolved": "boolean",
|
|
857
|
+
"references": {}
|
|
858
|
+
},
|
|
859
|
+
"required": false,
|
|
860
|
+
"optional": false,
|
|
861
|
+
"docs": {
|
|
862
|
+
"tags": [{
|
|
863
|
+
"name": "VegaWarning",
|
|
864
|
+
"text": "When enabled (set to true), it overrides the positionRelativeTo and matchContainerHeight properties, rendering them ineffective."
|
|
865
|
+
}, {
|
|
866
|
+
"name": "VegaWarning",
|
|
867
|
+
"text": "Currently, when set to true, position calculation may be inaccurate if the dropdown is placed inside a scrollable container within a shadowRoot (e.g., inside a vega-modal with scrollable content)."
|
|
868
|
+
}, {
|
|
869
|
+
"name": "vegaVersion",
|
|
870
|
+
"text": "2.36.0"
|
|
871
|
+
}],
|
|
872
|
+
"text": "Determines whether the dropdown position is calculated relative to the screen."
|
|
873
|
+
},
|
|
874
|
+
"attribute": "is-screen-position",
|
|
875
|
+
"reflect": false,
|
|
876
|
+
"defaultValue": "false"
|
|
840
877
|
}
|
|
841
878
|
}; }
|
|
842
879
|
static get states() { return {
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { MapToComponentField, MapToComponentMethod, VegaSlimmer } from 'vega-slimmer/core';
|
|
8
|
+
/**
|
|
9
|
+
* Controller class for managing the file upload limit in the Vega file uploader component.
|
|
10
|
+
*/
|
|
11
|
+
export class VegaFileUploaderFileLimitController extends VegaSlimmer {
|
|
12
|
+
/**
|
|
13
|
+
* Determines if the file uploader is in single mode.
|
|
14
|
+
*
|
|
15
|
+
* @returns {boolean} `true` if the maximum file count is 1, otherwise `false`.
|
|
16
|
+
*/
|
|
17
|
+
isSingleMode() {
|
|
18
|
+
return Number(this.maxCount) === 1;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Checks if the `maxCount` property is valid. If `maxCount` is less than 1 and not `null`, it will be set to `null`.
|
|
22
|
+
*/
|
|
23
|
+
checkMaxCount() {
|
|
24
|
+
if (this.maxCount !== null && this.maxCount < 1) {
|
|
25
|
+
this.maxCount = null;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
__decorate([
|
|
30
|
+
MapToComponentField({ writable: true })
|
|
31
|
+
], VegaFileUploaderFileLimitController.prototype, "maxCount", void 0);
|
|
32
|
+
__decorate([
|
|
33
|
+
MapToComponentMethod('componentDidLoad'),
|
|
34
|
+
MapToComponentMethod('watchMaxCount')
|
|
35
|
+
], VegaFileUploaderFileLimitController.prototype, "checkMaxCount", null);
|
|
@@ -23,7 +23,7 @@ export class VegaFileUploaderContainerRenderer extends VegaSlimmer {
|
|
|
23
23
|
*/
|
|
24
24
|
this.handleDropAreaClick = (e) => {
|
|
25
25
|
e.stopPropagation();
|
|
26
|
-
if (!this.
|
|
26
|
+
if (!this.shouldDisableUploadButton()) {
|
|
27
27
|
this.triggerFileInputClick();
|
|
28
28
|
}
|
|
29
29
|
};
|
|
@@ -41,7 +41,7 @@ export class VegaFileUploaderContainerRenderer extends VegaSlimmer {
|
|
|
41
41
|
this.inputChangeHandler = (e) => {
|
|
42
42
|
e.stopPropagation();
|
|
43
43
|
const files = this.getVegaFilesFromFileList(e.target.files);
|
|
44
|
-
this.selectFileChangeEventEmitHandler(files);
|
|
44
|
+
this.selectFileChangeEventEmitHandler(this.filterExceedLimitFiles(files));
|
|
45
45
|
this.inputElementRef.value = '';
|
|
46
46
|
};
|
|
47
47
|
/**
|
|
@@ -52,9 +52,9 @@ export class VegaFileUploaderContainerRenderer extends VegaSlimmer {
|
|
|
52
52
|
this.dropHandler = (e) => {
|
|
53
53
|
var _a;
|
|
54
54
|
e.preventDefault();
|
|
55
|
-
if (!this.
|
|
55
|
+
if (!this.shouldDisableUploadButton()) {
|
|
56
56
|
const files = this.getVegaFilesFromFileList(this.dropFileFilterController.process((_a = e.dataTransfer) === null || _a === void 0 ? void 0 : _a.files));
|
|
57
|
-
this.selectFileChangeEventEmitHandler(files);
|
|
57
|
+
this.selectFileChangeEventEmitHandler(this.filterExceedLimitFiles(files));
|
|
58
58
|
}
|
|
59
59
|
};
|
|
60
60
|
}
|
|
@@ -72,7 +72,7 @@ export class VegaFileUploaderContainerRenderer extends VegaSlimmer {
|
|
|
72
72
|
*/
|
|
73
73
|
render() {
|
|
74
74
|
return (h("div", { class: "vega-file-uploader-container", ref: (ref) => (this.uploaderContainerRef = ref) },
|
|
75
|
-
h("input", { onChange: this.inputChangeHandler, type: "file", multiple:
|
|
75
|
+
h("input", { onChange: this.inputChangeHandler, type: "file", multiple: !this.fileLimitController.isSingleMode(), accept: this.accept, style: { display: 'none' }, ref: (node) => (this.inputElementRef = node) }),
|
|
76
76
|
this.variant === 'uploadButton' ? this.renderUploadButton() : this.renderUploadDropArea()));
|
|
77
77
|
}
|
|
78
78
|
/**
|
|
@@ -81,7 +81,7 @@ export class VegaFileUploaderContainerRenderer extends VegaSlimmer {
|
|
|
81
81
|
* @returns {HTMLElement} html element
|
|
82
82
|
*/
|
|
83
83
|
renderUploadButton() {
|
|
84
|
-
return (h("vega-button", { label: "Upload Document", icon: VegaInternalIconManager.getIconKey('arrow-up-from-line'), variant: "secondary", size: "small", disabled: this.
|
|
84
|
+
return (h("vega-button", { label: "Upload Document", icon: VegaInternalIconManager.getIconKey('arrow-up-from-line'), variant: "secondary", size: "small", disabled: this.shouldDisableUploadButton(), ref: (button) => {
|
|
85
85
|
DomNodeSubjectObserverFactory.addUniqueObserverToNode(button, VegaClick, this.triggerFileInputClick);
|
|
86
86
|
} }));
|
|
87
87
|
}
|
|
@@ -93,7 +93,7 @@ export class VegaFileUploaderContainerRenderer extends VegaSlimmer {
|
|
|
93
93
|
renderUploadDropArea() {
|
|
94
94
|
return (h("vega-box", { class: {
|
|
95
95
|
'vega-file-upload-area': true,
|
|
96
|
-
'disabled': this.
|
|
96
|
+
'disabled': this.shouldDisableUploadButton(),
|
|
97
97
|
}, padding: "size-24", border: "border-input-field", borderStyle: "dashed", backgroundColor: "bg-tertiary", corners: "rounded-8", tabIndex: 0, onDrop: this.dropHandler, onDragEnter: this.preventDefaultBehavior, onDragOver: this.preventDefaultBehavior, onClick: this.handleDropAreaClick, onKeyDown: createEnterKeyHandlerToTriggerClick() },
|
|
98
98
|
h("vega-flex", { gap: "size-8", alignItems: "center", justifyContent: "center" },
|
|
99
99
|
h("vega-icon", { color: "text-link", icon: VegaInternalIconManager.getIconKey('arrow-up-from-line') }),
|
|
@@ -141,6 +141,29 @@ export class VegaFileUploaderContainerRenderer extends VegaSlimmer {
|
|
|
141
141
|
}
|
|
142
142
|
return result;
|
|
143
143
|
}
|
|
144
|
+
/**
|
|
145
|
+
* Determines if the upload button should be disabled based on the component's state.
|
|
146
|
+
*
|
|
147
|
+
* @returns {boolean} True if the upload button should be disabled, otherwise false.
|
|
148
|
+
*/
|
|
149
|
+
shouldDisableUploadButton() {
|
|
150
|
+
return this.disabled || !!(this.value && this.maxCount && this.value.length >= this.maxCount);
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Filters the selected files to ensure the total number of files does not exceed the maximum count.
|
|
154
|
+
*
|
|
155
|
+
* @param {VegaFileUploaderFile[]} selectedFiles - The files selected by the user.
|
|
156
|
+
* @returns {VegaFileUploaderFile[]} The filtered list of files that do not exceed the maximum count.
|
|
157
|
+
*/
|
|
158
|
+
filterExceedLimitFiles(selectedFiles) {
|
|
159
|
+
const maxCount = Number(this.maxCount);
|
|
160
|
+
if (!isNaN(maxCount) && maxCount && selectedFiles.length) {
|
|
161
|
+
const existFileCount = this.value ? this.value.length : 0;
|
|
162
|
+
const availableFileCount = Math.max(0, maxCount - existFileCount);
|
|
163
|
+
return selectedFiles.slice(0, availableFileCount);
|
|
164
|
+
}
|
|
165
|
+
return selectedFiles;
|
|
166
|
+
}
|
|
144
167
|
}
|
|
145
168
|
(() => {
|
|
146
169
|
VegaInternalIconManager.register({ 'arrow-up-from-line': arrowUpFromLine });
|
|
@@ -169,3 +192,9 @@ __decorate([
|
|
|
169
192
|
__decorate([
|
|
170
193
|
MapToComponentField()
|
|
171
194
|
], VegaFileUploaderContainerRenderer.prototype, "translationSlimmer", void 0);
|
|
195
|
+
__decorate([
|
|
196
|
+
MapToComponentField()
|
|
197
|
+
], VegaFileUploaderContainerRenderer.prototype, "fileLimitController", void 0);
|
|
198
|
+
__decorate([
|
|
199
|
+
MapToComponentField()
|
|
200
|
+
], VegaFileUploaderContainerRenderer.prototype, "maxCount", void 0);
|
|
@@ -19,6 +19,7 @@ import { FormFieldControllerSlimmer } from '../../helpers/slimmers/form-field-co
|
|
|
19
19
|
import { ObjectArrayRequiredRule } from '../../helpers/validator/rules/object-array-required-rule';
|
|
20
20
|
import { VegaFileUploaderDropFileFilterController } from './slimmers/controllers/vega-file-uploader-drop-file-filter-controller';
|
|
21
21
|
import { TranslationSlimmer } from '../../helpers/slimmers/translation';
|
|
22
|
+
import { VegaFileUploaderFileLimitController } from './slimmers/controllers/vega-file-uploader-file-limit-controller';
|
|
22
23
|
/**
|
|
23
24
|
* @vegaVersion 2.25.0
|
|
24
25
|
*/
|
|
@@ -46,6 +47,7 @@ export class VegaFileUploader {
|
|
|
46
47
|
this.vegaFileUploaderFileStatusRenderer = new VegaFileUploaderFileStatusRenderer();
|
|
47
48
|
this.vegaFileUploaderValueController = new VegaFileUploaderValueController();
|
|
48
49
|
this.dropFileFilterController = new VegaFileUploaderDropFileFilterController();
|
|
50
|
+
this.fileLimitController = new VegaFileUploaderFileLimitController();
|
|
49
51
|
this.changeEventEmitter = createEventEmitSlimmer(VegaFileUploader, VegaChange);
|
|
50
52
|
this.selectFileChangeEventEmitter = createEventEmitSlimmer(VegaFileUploader, VegaSelectFileChange);
|
|
51
53
|
this.removeEventEmitter = createEventEmitSlimmer(VegaFileUploader, VegaRemove);
|
|
@@ -89,6 +91,12 @@ export class VegaFileUploader {
|
|
|
89
91
|
* @vegaVersion 2.25.0
|
|
90
92
|
*/
|
|
91
93
|
this.disabled = false;
|
|
94
|
+
/**
|
|
95
|
+
* Specifies the maximum number of files that can be uploaded using the File Uploader. The value must be a positive integer.
|
|
96
|
+
*
|
|
97
|
+
* @vegaVersion 2.36.0
|
|
98
|
+
*/
|
|
99
|
+
this.maxCount = null;
|
|
92
100
|
/**
|
|
93
101
|
* Specifies whether uploading a file is mandatory.
|
|
94
102
|
*
|
|
@@ -124,6 +132,12 @@ export class VegaFileUploader {
|
|
|
124
132
|
watchValue(newValue) {
|
|
125
133
|
methodPlaceholder(newValue);
|
|
126
134
|
}
|
|
135
|
+
/**
|
|
136
|
+
* Watches the maxCount change.
|
|
137
|
+
*/
|
|
138
|
+
watchMaxCount() {
|
|
139
|
+
methodPlaceholder();
|
|
140
|
+
}
|
|
127
141
|
watchValidationRules() {
|
|
128
142
|
methodPlaceholder();
|
|
129
143
|
}
|
|
@@ -252,6 +266,27 @@ export class VegaFileUploader {
|
|
|
252
266
|
"reflect": false,
|
|
253
267
|
"defaultValue": "false"
|
|
254
268
|
},
|
|
269
|
+
"maxCount": {
|
|
270
|
+
"type": "number",
|
|
271
|
+
"mutable": false,
|
|
272
|
+
"complexType": {
|
|
273
|
+
"original": "number | null",
|
|
274
|
+
"resolved": "number",
|
|
275
|
+
"references": {}
|
|
276
|
+
},
|
|
277
|
+
"required": false,
|
|
278
|
+
"optional": false,
|
|
279
|
+
"docs": {
|
|
280
|
+
"tags": [{
|
|
281
|
+
"name": "vegaVersion",
|
|
282
|
+
"text": "2.36.0"
|
|
283
|
+
}],
|
|
284
|
+
"text": "Specifies the maximum number of files that can be uploaded using the File Uploader. The value must be a positive integer."
|
|
285
|
+
},
|
|
286
|
+
"attribute": "max-count",
|
|
287
|
+
"reflect": false,
|
|
288
|
+
"defaultValue": "null"
|
|
289
|
+
},
|
|
255
290
|
"required": {
|
|
256
291
|
"type": "boolean",
|
|
257
292
|
"mutable": false,
|
|
@@ -613,6 +648,9 @@ export class VegaFileUploader {
|
|
|
613
648
|
static get watchers() { return [{
|
|
614
649
|
"propName": "value",
|
|
615
650
|
"methodName": "watchValue"
|
|
651
|
+
}, {
|
|
652
|
+
"propName": "maxCount",
|
|
653
|
+
"methodName": "watchMaxCount"
|
|
616
654
|
}, {
|
|
617
655
|
"propName": "validationRules",
|
|
618
656
|
"methodName": "watchValidationRules"
|
|
@@ -648,6 +686,9 @@ __decorate([
|
|
|
648
686
|
__decorate([
|
|
649
687
|
InjectVegaSlimmer()
|
|
650
688
|
], VegaFileUploader.prototype, "dropFileFilterController", void 0);
|
|
689
|
+
__decorate([
|
|
690
|
+
InjectVegaSlimmer()
|
|
691
|
+
], VegaFileUploader.prototype, "fileLimitController", void 0);
|
|
651
692
|
__decorate([
|
|
652
693
|
InjectVegaSlimmer()
|
|
653
694
|
], VegaFileUploader.prototype, "changeEventEmitter", void 0);
|
|
@@ -10,7 +10,14 @@ import { MapToComponentField, VegaSlimmer } from 'vega-slimmer/core';
|
|
|
10
10
|
export class VegaFontRenderer extends VegaSlimmer {
|
|
11
11
|
render(hostClasses) {
|
|
12
12
|
const tagName = this.asController.getTagNameFromPropAs();
|
|
13
|
-
|
|
13
|
+
if (tagName) {
|
|
14
|
+
const Tag = tagName;
|
|
15
|
+
return (h(Tag, { class: hostClasses },
|
|
16
|
+
h("slot", null)));
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
return h("slot", null);
|
|
20
|
+
}
|
|
14
21
|
}
|
|
15
22
|
}
|
|
16
23
|
__decorate([
|
|
@@ -516,7 +516,7 @@ export class VegaInputSelect {
|
|
|
516
516
|
"mutable": false,
|
|
517
517
|
"complexType": {
|
|
518
518
|
"original": "VegaDropdownPropsForSelect",
|
|
519
|
-
"resolved": "{ caseSensitive?: boolean; matchContainerHeight?: boolean; matchTargetWidth?: boolean; maxHeight?: number; positionRelativeTo?: string; searchTriggerBy?: VegaDropdownSearchTriggerByType; searchable?: boolean; size?: ResponsiveType<SizeType>; useDefaultFilter?: boolean; }",
|
|
519
|
+
"resolved": "{ caseSensitive?: boolean; isScreenPosition?: boolean; matchContainerHeight?: boolean; matchTargetWidth?: boolean; maxHeight?: number; positionRelativeTo?: string; searchTriggerBy?: VegaDropdownSearchTriggerByType; searchable?: boolean; size?: ResponsiveType<SizeType>; useDefaultFilter?: boolean; }",
|
|
520
520
|
"references": {
|
|
521
521
|
"VegaDropdownPropsForSelect": {
|
|
522
522
|
"location": "import",
|
package/dist/collection/components/vega-pagination/internal/vega-pagination-page-size-selector.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { h } from '@stencil/core';
|
|
2
2
|
import { DomNodeSubjectObserverFactory } from '../../../helpers/change-manager/subject/dom-node-subject/dom-node-subject-observer-factory';
|
|
3
3
|
import { VegaChange } from '../../../helpers/event-manager/event-id/vega-event-id';
|
|
4
|
-
export const VegaPaginationPageSizeSelector = ({ pageSize, pageSizeSelectorOptions, onChange, translationSlimmer, }) => {
|
|
4
|
+
export const VegaPaginationPageSizeSelector = ({ pageSize, pageSizeSelectorOptions, dropdownProps, onChange, translationSlimmer, }) => {
|
|
5
5
|
const mergedPageSizeOptions = pageSizeSelectorOptions.sort((a, b) => a - b);
|
|
6
6
|
const handleChange = (input) => {
|
|
7
7
|
// Because input-select use single mode, so the detail is always a string type
|
|
@@ -14,7 +14,7 @@ export const VegaPaginationPageSizeSelector = ({ pageSize, pageSizeSelectorOptio
|
|
|
14
14
|
h("vega-input-select", { size: "small", source: mergedPageSizeOptions.map((option) => ({
|
|
15
15
|
id: option.toString(),
|
|
16
16
|
displayName: option.toString(),
|
|
17
|
-
})), value: pageSize.toString(), placeholder: "Page Size", vegaDropdownProps: { matchTargetWidth: false, searchable: false },
|
|
17
|
+
})), value: pageSize.toString(), placeholder: "Page Size", vegaDropdownProps: Object.assign({ matchTargetWidth: false, searchable: false }, dropdownProps),
|
|
18
18
|
/* eslint-disable-next-line react/jsx-no-bind */
|
|
19
19
|
ref: (ref) => {
|
|
20
20
|
DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, VegaChange, handleChange);
|
|
@@ -91,7 +91,7 @@ export class VegaPagination {
|
|
|
91
91
|
const pageSizeSelectorOptions = this.pageSizeSelectorOptions.includes(this.pageSize)
|
|
92
92
|
? this.pageSizeSelectorOptions
|
|
93
93
|
: [...this.pageSizeSelectorOptions, this.pageSize];
|
|
94
|
-
return (h(VegaPaginationPageSizeSelector, { pageSize: this.pageSize, pageSizeSelectorOptions: pageSizeSelectorOptions, onChange: this.onPageSizeSelectorChange, translationSlimmer: this.translationSlimmer }));
|
|
94
|
+
return (h(VegaPaginationPageSizeSelector, { pageSize: this.pageSize, pageSizeSelectorOptions: pageSizeSelectorOptions, dropdownProps: this.dropdownProps, onChange: this.onPageSizeSelectorChange, translationSlimmer: this.translationSlimmer }));
|
|
95
95
|
}
|
|
96
96
|
case 'pageSelector':
|
|
97
97
|
return (h(VegaPaginationPageSelector, { current: this.current, total: this.total, onChange: this.onPageSelectorChange, pageCount: this.pageCount }));
|
|
@@ -285,6 +285,29 @@ export class VegaPagination {
|
|
|
285
285
|
"text": "Specifies the options available for the page size selector\n in the pagination component."
|
|
286
286
|
},
|
|
287
287
|
"defaultValue": "[10, 20, 50, 100]"
|
|
288
|
+
},
|
|
289
|
+
"dropdownProps": {
|
|
290
|
+
"type": "unknown",
|
|
291
|
+
"mutable": false,
|
|
292
|
+
"complexType": {
|
|
293
|
+
"original": "DropdownPropsForPagination",
|
|
294
|
+
"resolved": "{ isScreenPosition?: boolean; }",
|
|
295
|
+
"references": {
|
|
296
|
+
"DropdownPropsForPagination": {
|
|
297
|
+
"location": "import",
|
|
298
|
+
"path": "./types"
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
},
|
|
302
|
+
"required": false,
|
|
303
|
+
"optional": false,
|
|
304
|
+
"docs": {
|
|
305
|
+
"tags": [{
|
|
306
|
+
"name": "vegaVersion",
|
|
307
|
+
"text": "2.36.0"
|
|
308
|
+
}],
|
|
309
|
+
"text": "Specifies the properties of the vega-dropdown component\n used to configure the dropdown for the\n page size selector in pagination."
|
|
310
|
+
}
|
|
288
311
|
}
|
|
289
312
|
}; }
|
|
290
313
|
static get states() { return {
|
|
@@ -4,13 +4,14 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
4
4
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
|
-
import { MapToComponentField, VegaSlimmer } from 'vega-slimmer/core';
|
|
7
|
+
import { MapToComponentField, MapToComponentMethod, VegaSlimmer } from 'vega-slimmer/core';
|
|
8
8
|
import { h, Host } from '@stencil/core';
|
|
9
9
|
import { VegaDarkModeStyleController } from '../../../../helpers/theme/controllers/dark-mode-style-controller';
|
|
10
10
|
import { TextColorToolbarButtonSlimmer } from '../../../vega-rich-text-editor/slimmers/renderers/tools/text-color-toolbar-button-slimmer';
|
|
11
11
|
import RTETextBlockRenderer from '../../../vega-rich-text-editor/dto/renderers/blocks/text-block-renderer';
|
|
12
12
|
import RTEImageBlockRenderer from '../../../vega-rich-text-editor/dto/renderers/blocks/image-block-renderer';
|
|
13
13
|
import RTEListBlockRenderer from '../../../vega-rich-text-editor/dto/renderers/blocks/list-block-renderer';
|
|
14
|
+
import { VegaRTEContent } from '../../../vega-rich-text-editor/dto/content-state';
|
|
14
15
|
export class VegaRichTextContentRenderer extends VegaSlimmer {
|
|
15
16
|
constructor() {
|
|
16
17
|
super();
|
|
@@ -21,6 +22,12 @@ export class VegaRichTextContentRenderer extends VegaSlimmer {
|
|
|
21
22
|
];
|
|
22
23
|
VegaDarkModeStyleController.registerCustomDarkModeColor(TextColorToolbarButtonSlimmer.formatDarkModeColor());
|
|
23
24
|
}
|
|
25
|
+
componentWillLoad() {
|
|
26
|
+
this.setRTEContent();
|
|
27
|
+
}
|
|
28
|
+
watchValueUpdate() {
|
|
29
|
+
this.setRTEContent();
|
|
30
|
+
}
|
|
24
31
|
/**
|
|
25
32
|
* Get the rich text content element
|
|
26
33
|
*
|
|
@@ -32,6 +39,11 @@ export class VegaRichTextContentRenderer extends VegaSlimmer {
|
|
|
32
39
|
render() {
|
|
33
40
|
return h(Host, null, this.renderRichTextContent());
|
|
34
41
|
}
|
|
42
|
+
setRTEContent() {
|
|
43
|
+
if (this.content && !(this.content instanceof VegaRTEContent)) {
|
|
44
|
+
this.content = VegaRTEContent.fromJSON(this.content);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
35
47
|
renderRichTextContent() {
|
|
36
48
|
const showPlaceholder = this.shouldShowPlaceholder();
|
|
37
49
|
return (h("div", { ref: (el) => (this.richTextContentRef = el), class: { 'showPlaceholder': showPlaceholder, 'rich-text-content': true }, "data-placeholder": this.placeholder, contenteditable: this.contentEditable }, this.renderContent()));
|
|
@@ -74,3 +86,9 @@ __decorate([
|
|
|
74
86
|
__decorate([
|
|
75
87
|
MapToComponentField({ writable: true })
|
|
76
88
|
], VegaRichTextContentRenderer.prototype, "content", void 0);
|
|
89
|
+
__decorate([
|
|
90
|
+
MapToComponentMethod('componentWillLoad')
|
|
91
|
+
], VegaRichTextContentRenderer.prototype, "componentWillLoad", null);
|
|
92
|
+
__decorate([
|
|
93
|
+
MapToComponentMethod('watchValueUpdate')
|
|
94
|
+
], VegaRichTextContentRenderer.prototype, "watchValueUpdate", null);
|
|
@@ -4,8 +4,8 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
4
4
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
|
-
import { Component, Element, Method, Prop, State } from '@stencil/core';
|
|
8
|
-
import { InjectVegaGlobalSlimmer, InjectVegaSlimmer } from 'vega-slimmer/core';
|
|
7
|
+
import { Component, Element, Method, Prop, State, Watch } from '@stencil/core';
|
|
8
|
+
import { InjectVegaGlobalSlimmer, InjectVegaSlimmer, methodPlaceholder, } from 'vega-slimmer/core';
|
|
9
9
|
import { sanitizeVegaComponent } from '../../utils/component';
|
|
10
10
|
import { VegaComponentUsageRuntimeMetricsSlimmer } from '../../helpers/slimmers/component-usage-runtime-metrics';
|
|
11
11
|
import { VegaRichTextContentRenderer } from './slimmers/renderers/vega-rich-text-content-renderer';
|
|
@@ -28,6 +28,9 @@ export class VegaRichTextContent {
|
|
|
28
28
|
*/
|
|
29
29
|
this.contentEditable = false;
|
|
30
30
|
}
|
|
31
|
+
watchValueUpdate() {
|
|
32
|
+
methodPlaceholder();
|
|
33
|
+
}
|
|
31
34
|
/**
|
|
32
35
|
* Invoke this method to focus on rich text content editable div
|
|
33
36
|
*
|
|
@@ -54,7 +57,7 @@ export class VegaRichTextContent {
|
|
|
54
57
|
static get properties() { return {
|
|
55
58
|
"content": {
|
|
56
59
|
"type": "unknown",
|
|
57
|
-
"mutable":
|
|
60
|
+
"mutable": true,
|
|
58
61
|
"complexType": {
|
|
59
62
|
"original": "VegaRTEContent",
|
|
60
63
|
"resolved": "VegaRTEContent",
|
|
@@ -72,7 +75,7 @@ export class VegaRichTextContent {
|
|
|
72
75
|
"name": "vegaVersion",
|
|
73
76
|
"text": "2.34.0"
|
|
74
77
|
}],
|
|
75
|
-
"text": "Specifies the text or formatted information displayed by the rich text content."
|
|
78
|
+
"text": "Specifies the text or formatted information displayed by the rich text content, which can be either VegaRTEContent or VegaRTEContentBlock.\nIt is recommended to use the VegaRTEContent type.\nOnly in exceptional cases should the original data in the VegaRTEContentBlock type be used."
|
|
76
79
|
}
|
|
77
80
|
}
|
|
78
81
|
}; }
|
|
@@ -109,6 +112,10 @@ export class VegaRichTextContent {
|
|
|
109
112
|
}
|
|
110
113
|
}; }
|
|
111
114
|
static get elementRef() { return "host"; }
|
|
115
|
+
static get watchers() { return [{
|
|
116
|
+
"propName": "content",
|
|
117
|
+
"methodName": "watchValueUpdate"
|
|
118
|
+
}]; }
|
|
112
119
|
}
|
|
113
120
|
__decorate([
|
|
114
121
|
InjectVegaGlobalSlimmer()
|
package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/value-controller.js
CHANGED
|
@@ -34,11 +34,22 @@ export class ValueController extends VegaSlimmer {
|
|
|
34
34
|
disconnectedCallback() {
|
|
35
35
|
ChangeManager.unregister(domNodeSubjectFactory.getSubject(this.host, VegaInternalRichTextEditorFlushChanges), this.flushChangeObserver);
|
|
36
36
|
}
|
|
37
|
+
/**
|
|
38
|
+
* Component lifecycle - [componentWillLoad]{@link VegaRichTextEditor.componentWillLoad}
|
|
39
|
+
*/
|
|
40
|
+
componentWillLoad() {
|
|
41
|
+
if (this.value && !(this.value instanceof VegaRTEContent)) {
|
|
42
|
+
this.value = VegaRTEContent.fromJSON(this.value);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
37
45
|
/**
|
|
38
46
|
* Watches the value of the editor and updates the internal value.
|
|
39
47
|
*/
|
|
40
48
|
watchValueUpdate() {
|
|
41
|
-
if (
|
|
49
|
+
if (this.value && !(this.value instanceof VegaRTEContent)) {
|
|
50
|
+
this.value = VegaRTEContent.fromJSON(this.value);
|
|
51
|
+
}
|
|
52
|
+
else if (!this.value || this.value.blocks.length === 0) {
|
|
42
53
|
this.value = VegaRTEContent.createEmptyContent();
|
|
43
54
|
}
|
|
44
55
|
else {
|
|
@@ -86,6 +97,9 @@ __decorate([
|
|
|
86
97
|
__decorate([
|
|
87
98
|
MapToComponentMethod('disconnectedCallback')
|
|
88
99
|
], ValueController.prototype, "disconnectedCallback", null);
|
|
100
|
+
__decorate([
|
|
101
|
+
MapToComponentMethod('componentWillLoad')
|
|
102
|
+
], ValueController.prototype, "componentWillLoad", null);
|
|
89
103
|
__decorate([
|
|
90
104
|
MapToComponentMethod('watchValueUpdate')
|
|
91
105
|
], ValueController.prototype, "watchValueUpdate", null);
|
|
@@ -137,7 +137,9 @@ export class VegaRichTextEditor {
|
|
|
137
137
|
*/
|
|
138
138
|
this.rows = 4;
|
|
139
139
|
/**
|
|
140
|
-
* Specifies the value of the rich text editor
|
|
140
|
+
* Specifies the value of the rich text editor, which can be either VegaRTEContent or VegaRTEContentBlock.
|
|
141
|
+
* It is recommended to use the VegaRTEContent type.
|
|
142
|
+
* Only in exceptional cases should the original data in the VegaRTEContentBlock type be used.
|
|
141
143
|
*
|
|
142
144
|
* @vegaVersion 2.34.0
|
|
143
145
|
*/
|
|
@@ -355,7 +357,7 @@ export class VegaRichTextEditor {
|
|
|
355
357
|
"name": "vegaVersion",
|
|
356
358
|
"text": "2.34.0"
|
|
357
359
|
}],
|
|
358
|
-
"text": "Specifies the value of the rich text editor"
|
|
360
|
+
"text": "Specifies the value of the rich text editor, which can be either VegaRTEContent or VegaRTEContentBlock.\nIt is recommended to use the VegaRTEContent type.\nOnly in exceptional cases should the original data in the VegaRTEContentBlock type be used."
|
|
359
361
|
},
|
|
360
362
|
"defaultValue": "VegaRTEContent.createEmptyContent()"
|
|
361
363
|
},
|
|
@@ -33,6 +33,7 @@ export const VegaDropdownRenderItemInternalOverridden = new VegaInternalEventID(
|
|
|
33
33
|
export const VegaDropdownSearchInternalOverridden = new VegaInternalEventID('VegaDropdownSearchInternalOverridden');
|
|
34
34
|
export const VegaInternalSidenavLinkClick = new VegaInternalEventID('sidenavLinkClick');
|
|
35
35
|
export const VegaInternalLeftNavGroupExpand = new VegaInternalEventID('leftNavGroupExpand');
|
|
36
|
+
export const VegaInternalDropdownUpdateTarget = new VegaInternalEventID('dropdownUpdateTarget');
|
|
36
37
|
export const VegaInternalRichTextEditorFlushChanges = new VegaInternalEventID('richTextEditorFlushChanges');
|
|
37
38
|
export const VegaInternalRichTextEditorSelectionRangeChange = new VegaInternalEventID('richTextEditorSelectionRangeChange');
|
|
38
39
|
export const VegaInternalRichTextImageClick = new VegaInternalEventID('richTextImageClick');
|
|
@@ -9,13 +9,19 @@ import { Observer } from '../change-manager/observer/observer';
|
|
|
9
9
|
import changeManager from '../change-manager/change-manager';
|
|
10
10
|
import { FIELD_ERROR_MESSAGE_CHANGE } from '../change-manager/subject/static-subject/static-subject-title';
|
|
11
11
|
import { FieldErrorUIControllerSlimmer } from './field-error-ui-controller-slimmer';
|
|
12
|
-
/**
|
|
12
|
+
/**
|
|
13
|
+
* The current class is used to manually control the form element error message.
|
|
14
|
+
* The component `vega-field-error` is used to control the error messages for form fields. to implement the error message display, we needs to know the form field error message container, field element, and other necessary options,
|
|
15
|
+
* the `form-field-controller-slimmer` has the required options and will inject to the all form fields, so we create current slimmer class and inject to the `form-field-controller-slimmer` to get all options.
|
|
16
|
+
* When the property `message` of the vega-field-error component changed, the target form field will receive the special subject and update the error message.
|
|
17
|
+
*/
|
|
13
18
|
export class FieldErrorControllerSlimmer extends VegaSlimmer {
|
|
14
19
|
constructor() {
|
|
15
20
|
super(...arguments);
|
|
21
|
+
// The host element field error UI controller.
|
|
16
22
|
this.fieldErrorUIController = new FieldErrorUIControllerSlimmer();
|
|
17
23
|
/**
|
|
18
|
-
*
|
|
24
|
+
* This method called mean that the current form field element nest in a vega-field-error component and the parent component property `message` changed, we need to show or hide the error message.
|
|
19
25
|
*
|
|
20
26
|
* @param {FieldErrorEventPayload} payload payload param
|
|
21
27
|
*/
|
package/dist/collection/helpers/slimmers/position-calculation/position-calculation-controller.js
CHANGED
|
@@ -94,7 +94,7 @@ export class PositionCalculationController extends VegaSlimmer {
|
|
|
94
94
|
* @returns {void}
|
|
95
95
|
*/
|
|
96
96
|
adjustHeight() {
|
|
97
|
-
if (this.showConfig.matchContainerHeight) {
|
|
97
|
+
if (this.showConfig.matchContainerHeight && !this.showConfig.isScreenPosition) {
|
|
98
98
|
const { height: targetHeight } = this.showConfig.target.getBoundingClientRect();
|
|
99
99
|
let maxHeight = this.container.scrollHeight - this.showConfig.target.offsetTop - targetHeight;
|
|
100
100
|
if (this.showConfig.maxHeight) {
|
|
@@ -208,6 +208,16 @@ export class ElementAppender {
|
|
|
208
208
|
prepareShow() {
|
|
209
209
|
// Add relative position to the container while the container is static,
|
|
210
210
|
// https://developer.mozilla.org/en-US/docs/Web/CSS/position#types_of_positioning
|
|
211
|
+
if (!this.showConfig.isScreenPosition) {
|
|
212
|
+
this.initVisibleAppendElement();
|
|
213
|
+
}
|
|
214
|
+
this.showConfig.appendableElement.style.boxSizing = 'border-box';
|
|
215
|
+
this.positionCalculationController.setCalculationStrategy();
|
|
216
|
+
}
|
|
217
|
+
/**
|
|
218
|
+
* init visible append element.
|
|
219
|
+
*/
|
|
220
|
+
initVisibleAppendElement() {
|
|
211
221
|
const containerStyle = window.getComputedStyle(this.container);
|
|
212
222
|
const originContainerPosition = containerStyle.position;
|
|
213
223
|
if (!ElementAppender.containerMap.has(this.container)) {
|
|
@@ -219,8 +229,6 @@ export class ElementAppender {
|
|
|
219
229
|
if (originContainerPosition === 'static') {
|
|
220
230
|
this.container.style.position = 'relative';
|
|
221
231
|
}
|
|
222
|
-
this.showConfig.appendableElement.style.boxSizing = 'border-box';
|
|
223
|
-
this.positionCalculationController.setCalculationStrategy();
|
|
224
232
|
}
|
|
225
233
|
/**
|
|
226
234
|
* A function that takes no parameters and returns nothing. It sets the position of the appendable element.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { VegaRTEContent } from '../../../components/vega-rich-text-editor/dto/content-state';
|
|
2
2
|
/**
|
|
3
|
-
* A rule that checks if input range is empty or not
|
|
3
|
+
* A rule that checks if the input range is empty or not
|
|
4
4
|
*
|
|
5
5
|
* @implements {FormFieldValidationRule<string[]>}
|
|
6
6
|
*/
|
|
@@ -12,11 +12,12 @@ export class RichTextEditorRequiredRule {
|
|
|
12
12
|
* @returns {EvaluateResultTranslation} An object with two properties: isValid and message.
|
|
13
13
|
*/
|
|
14
14
|
evaluate(input) {
|
|
15
|
-
var _a;
|
|
15
|
+
var _a, _b;
|
|
16
16
|
if (!this.isAcceptedInputType(input)) {
|
|
17
17
|
throw new Error(`Invalid value ${input} for rich text editor`);
|
|
18
18
|
}
|
|
19
|
-
const isValid = ((_a = input === null || input === void 0 ? void 0 : input.blocks) === null || _a === void 0 ? void 0 : _a.length) >
|
|
19
|
+
const isValid = ((_a = input === null || input === void 0 ? void 0 : input.blocks) === null || _a === void 0 ? void 0 : _a.length) > 1 || // isValid: true when the length is greater than 1 to keep the same behavior as vega-textarea
|
|
20
|
+
(((_b = input === null || input === void 0 ? void 0 : input.blocks) === null || _b === void 0 ? void 0 : _b.length) === 1 && input.blocks.some((block) => block.isNotEmpty()));
|
|
20
21
|
return {
|
|
21
22
|
isValid,
|
|
22
23
|
message: isValid ? '' : 'This field is required',
|