@globalpayments/vega 2.18.1 → 2.19.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-45048ed9.js → app-globals-80e59c3d.js} +2 -2
- package/dist/cjs/{childNodesEventPreventSlimmer-caaafff9.js → childNodesEventPreventSlimmer-2c25bd69.js} +1 -1
- package/dist/cjs/{eventEmitSlimmer-9a4428ac.js → eventEmitSlimmer-a1a3cc64.js} +1 -1
- package/dist/cjs/{formFieldControllerSlimmer-8b54f14d.js → formFieldControllerSlimmer-6c701dd2.js} +83 -9
- package/dist/cjs/index-1299d729.js +6 -2
- package/dist/cjs/index.cjs.js +2 -2
- package/dist/cjs/{internalVegaEventManager-de87a0aa.js → internalVegaEventManager-a0291fcc.js} +1 -0
- package/dist/cjs/loader.cjs.js +4 -4
- package/dist/cjs/vega-accordion.cjs.entry.js +2 -2
- package/dist/cjs/vega-app-header-button.cjs.entry.js +3 -3
- package/dist/cjs/vega-banner.cjs.entry.js +2 -2
- package/dist/cjs/vega-breadcrumb.cjs.entry.js +3 -3
- package/dist/cjs/vega-button-circle.cjs.entry.js +3 -3
- package/dist/cjs/vega-button-group_2.cjs.entry.js +3 -3
- package/dist/cjs/vega-button-link.cjs.entry.js +3 -3
- package/dist/cjs/vega-button.cjs.entry.js +3 -3
- package/dist/cjs/{vega-calendar_2.cjs.entry.js → vega-calendar_3.cjs.entry.js} +419 -157
- package/dist/cjs/vega-carousel.cjs.entry.js +2 -2
- package/dist/cjs/vega-checkbox_2.cjs.entry.js +4 -4
- package/dist/cjs/vega-chip.cjs.entry.js +3 -3
- package/dist/cjs/vega-color-picker.cjs.entry.js +3 -3
- package/dist/cjs/vega-combo-box.cjs.entry.js +4 -4
- package/dist/cjs/vega-date-picker_2.cjs.entry.js +4 -4
- package/dist/cjs/vega-dialog_2.cjs.entry.js +3 -3
- package/dist/cjs/vega-dropdown_5.cjs.entry.js +4 -4
- package/dist/cjs/vega-field-label.cjs.entry.js +3 -3
- package/dist/cjs/vega-form.cjs.entry.js +4 -4
- package/dist/cjs/vega-image-uploader.cjs.entry.js +4 -4
- package/dist/cjs/vega-input-credit-card.cjs.entry.js +4 -4
- package/dist/cjs/vega-input-phone-number.cjs.entry.js +5 -5
- package/dist/cjs/vega-input-range.cjs.entry.js +5 -5
- package/dist/cjs/vega-input-select.cjs.entry.js +5 -5
- package/dist/cjs/vega-input.cjs.entry.js +4 -4
- package/dist/cjs/vega-item-toggle.cjs.entry.js +2 -2
- package/dist/cjs/vega-left-nav_5.cjs.entry.js +2 -2
- 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-progress-tracker.cjs.entry.js +8 -8
- package/dist/cjs/vega-radio_2.cjs.entry.js +4 -4
- package/dist/cjs/vega-segment-control.cjs.entry.js +2 -2
- package/dist/cjs/vega-selection-tile_2.cjs.entry.js +4 -4
- package/dist/cjs/vega-signature-capture.cjs.entry.js +511 -0
- package/dist/cjs/{vega-skeleton-loader-controller-c56eb5f8.js → vega-skeleton-loader-controller-0d48e278.js} +1 -1
- package/dist/cjs/vega-stepper.cjs.entry.js +5 -5
- package/dist/cjs/vega-tab-group_2.cjs.entry.js +3 -3
- package/dist/cjs/vega-table_8.cjs.entry.js +3 -3
- package/dist/cjs/vega-textarea.cjs.entry.js +10 -6
- package/dist/cjs/vega-time-picker_2.cjs.entry.js +5 -5
- package/dist/cjs/vega-toggle-switch.cjs.entry.js +2 -2
- package/dist/cjs/vega.cjs.js +4 -4
- package/dist/cjs/vegaEnvManager-26352c0a.js +2 -2
- package/dist/collection/collection-manifest.json +9 -1
- package/dist/collection/components/vega-box/vega-box.js +1 -1
- package/dist/collection/components/vega-calendar/slimmers/common/renderers/vega-calendar-event-item-renderer.js +6 -2
- package/dist/collection/components/vega-calendar/slimmers/day-view/renderers/full-day-event/vega-calendar-full-day-event-more-button-renderer.js +46 -0
- package/dist/collection/components/vega-calendar/slimmers/day-view/renderers/full-day-event/vega-calendar-full-day-event-renderer.js +36 -4
- package/dist/collection/components/vega-calendar/slimmers/month-view/renderers/vega-calendar-month-event-renderer.js +2 -0
- package/dist/collection/components/vega-calendar/utils/index.js +9 -0
- package/dist/collection/components/vega-calendar/vega-calendar-event/slimmers/controllers/vega-calendar-event-slot-controller.js +76 -0
- package/dist/collection/components/vega-calendar/vega-calendar-event/slimmers/renderers/vega-calendar-event-renderer.js +70 -18
- package/dist/collection/components/vega-calendar/vega-calendar-event/vega-calendar-event.css +35 -6
- package/dist/collection/components/vega-calendar/vega-calendar-event/vega-calendar-event.js +10 -2
- package/dist/collection/components/vega-calendar/vega-calendar-event-slot/vega-calendar-event-slot.css +10 -0
- package/dist/collection/components/vega-calendar/vega-calendar-event-slot/vega-calendar-event-slot.js +55 -0
- package/dist/collection/components/vega-calendar/vega-calendar.css +55 -0
- package/dist/collection/components/vega-calendar/vega-calendar.js +7 -0
- package/dist/collection/components/vega-dropdown/vega-dropdown-content-box/vega-dropdown-content-box.css +1 -2
- package/dist/collection/components/vega-input/vega-input.css +6 -3
- package/dist/collection/components/vega-input-phone-number/vega-input-phone-number.css +1 -1
- package/dist/collection/components/vega-input-range/vega-input-range.css +2 -2
- package/dist/collection/components/vega-input-select/vega-input-select.css +6 -5
- package/dist/collection/components/vega-progress-tracker/vega-progress-tracker.css +19 -8
- package/dist/collection/components/vega-progress-tracker/vega-progress-tracker.js +5 -5
- package/dist/collection/components/vega-signature-capture/assets/icons.js +5 -0
- package/dist/collection/components/vega-signature-capture/slimmers/renderers/vega-signature-capture-renderer.js +19 -0
- package/dist/collection/components/vega-signature-capture/slimmers/written-mode/controllers/written-mode-svg-controller.js +220 -0
- package/dist/collection/components/vega-signature-capture/slimmers/written-mode/renderers/written-mode-renderer.js +104 -0
- package/dist/collection/components/vega-signature-capture/vega-signature-capture.css +154 -0
- package/dist/collection/components/vega-signature-capture/vega-signature-capture.js +429 -0
- package/dist/collection/components/vega-stepper/vega-stepper.css +3 -1
- package/dist/collection/components/vega-textarea/vega-textarea.css +7 -0
- package/dist/collection/components/vega-textarea/vega-textarea.js +23 -1
- package/dist/collection/components/vega-time-picker/vega-time-picker.css +7 -4
- package/dist/collection/helpers/change-manager/subject/static-remote-invocation-subject/static-remote-invocation-call-registry.js +59 -0
- package/dist/collection/helpers/change-manager/subject/static-subject/staticSubjectTitle.js +1 -0
- package/dist/collection/helpers/change-manager/test/static-remote-invocation-subject.test.js +14 -0
- package/dist/collection/helpers/event-manager/eventID/componentEventIdMap.js +1 -0
- package/dist/collection/helpers/slimmers/fieldErrorUiControllerSlimmer.js +16 -9
- package/dist/collection/helpers/slimmers/fieldErrorUiControllerStrategies/siblingContainerErrorLabelContainerRetrievalStrategy.js +25 -0
- package/dist/collection/helpers/slimmers/fieldErrorUiControllerStrategies/siblingContainerNestedErrorContainerRetrievalStrategy.js +19 -0
- package/dist/collection/helpers/slimmers/fieldErrorUiControllerStrategies/siblingContainerSelfRetrievalStrategy.js +23 -0
- package/dist/collection/helpers/vega-telemetry-helper/test/vegaEnvManager.test.js +1 -1
- package/dist/collection/helpers/vega-telemetry-helper/vegaEnvManager.js +2 -2
- package/dist/collection/polyfill/test-polyfill/unit/methods.js +10 -4
- package/dist/collection/value-model-adapters/angularNgModelAccessorAdapter.js +1 -0
- package/dist/collection/value-model-adapters/vueComponentVModelAdaptor.js +1 -0
- package/dist/esm/{app-globals-59ad7d73.js → app-globals-b1e3dc8a.js} +2 -2
- package/dist/esm/{childNodesEventPreventSlimmer-dff60444.js → childNodesEventPreventSlimmer-2d3364c6.js} +1 -1
- package/dist/esm/{eventEmitSlimmer-faec6394.js → eventEmitSlimmer-3087be32.js} +1 -1
- package/dist/esm/{formFieldControllerSlimmer-ea050a17.js → formFieldControllerSlimmer-bd240f6a.js} +83 -9
- package/dist/esm/index-c3505689.js +6 -2
- package/dist/esm/index.js +2 -2
- package/dist/esm/{internalVegaEventManager-6f331cf5.js → internalVegaEventManager-7c0f128e.js} +1 -0
- package/dist/esm/loader.js +4 -4
- package/dist/esm/vega-accordion.entry.js +2 -2
- package/dist/esm/vega-app-header-button.entry.js +3 -3
- package/dist/esm/vega-banner.entry.js +2 -2
- package/dist/esm/vega-breadcrumb.entry.js +3 -3
- package/dist/esm/vega-button-circle.entry.js +3 -3
- package/dist/esm/vega-button-group_2.entry.js +3 -3
- package/dist/esm/vega-button-link.entry.js +3 -3
- package/dist/esm/vega-button.entry.js +3 -3
- package/dist/esm/{vega-calendar_2.entry.js → vega-calendar_3.entry.js} +419 -158
- package/dist/esm/vega-carousel.entry.js +2 -2
- package/dist/esm/vega-checkbox_2.entry.js +4 -4
- package/dist/esm/vega-chip.entry.js +3 -3
- package/dist/esm/vega-color-picker.entry.js +3 -3
- package/dist/esm/vega-combo-box.entry.js +4 -4
- package/dist/esm/vega-date-picker_2.entry.js +4 -4
- package/dist/esm/vega-dialog_2.entry.js +3 -3
- package/dist/esm/vega-dropdown_5.entry.js +4 -4
- package/dist/esm/vega-field-label.entry.js +3 -3
- package/dist/esm/vega-form.entry.js +4 -4
- package/dist/esm/vega-image-uploader.entry.js +4 -4
- package/dist/esm/vega-input-credit-card.entry.js +4 -4
- package/dist/esm/vega-input-phone-number.entry.js +5 -5
- package/dist/esm/vega-input-range.entry.js +5 -5
- package/dist/esm/vega-input-select.entry.js +5 -5
- package/dist/esm/vega-input.entry.js +4 -4
- package/dist/esm/vega-item-toggle.entry.js +2 -2
- package/dist/esm/vega-left-nav_5.entry.js +2 -2
- package/dist/esm/vega-pagination.entry.js +3 -3
- package/dist/esm/vega-popover_2.entry.js +2 -2
- package/dist/esm/vega-progress-tracker.entry.js +8 -8
- package/dist/esm/vega-radio_2.entry.js +4 -4
- package/dist/esm/vega-segment-control.entry.js +2 -2
- package/dist/esm/vega-selection-tile_2.entry.js +4 -4
- package/dist/esm/vega-signature-capture.entry.js +507 -0
- package/dist/esm/{vega-skeleton-loader-controller-aaee27b8.js → vega-skeleton-loader-controller-961112bb.js} +1 -1
- package/dist/esm/vega-stepper.entry.js +5 -5
- package/dist/esm/vega-tab-group_2.entry.js +3 -3
- package/dist/esm/vega-table_8.entry.js +3 -3
- package/dist/esm/vega-textarea.entry.js +10 -6
- package/dist/esm/vega-time-picker_2.entry.js +5 -5
- package/dist/esm/vega-toggle-switch.entry.js +2 -2
- package/dist/esm/vega.js +4 -4
- package/dist/esm/vegaEnvManager-e0c1fde1.js +2 -2
- package/dist/types/components/vega-box/interface.d.ts +7 -1
- package/dist/types/components/vega-calendar/slimmers/common/renderers/vega-calendar-event-item-renderer.d.ts +1 -0
- package/dist/types/components/vega-calendar/slimmers/day-view/renderers/full-day-event/vega-calendar-full-day-event-more-button-renderer.d.ts +23 -0
- package/dist/types/components/vega-calendar/slimmers/day-view/renderers/full-day-event/vega-calendar-full-day-event-renderer.d.ts +13 -1
- package/dist/types/components/vega-calendar/utils/index.d.ts +7 -0
- package/dist/types/components/vega-calendar/vega-calendar-event/slimmers/controllers/vega-calendar-event-slot-controller.d.ts +30 -0
- package/dist/types/components/vega-calendar/vega-calendar-event/slimmers/renderers/vega-calendar-event-renderer.d.ts +33 -0
- package/dist/types/components/vega-calendar/vega-calendar-event/vega-calendar-event.d.ts +4 -1
- package/dist/types/components/vega-calendar/vega-calendar-event-slot/vega-calendar-event-slot.d.ts +12 -0
- package/dist/types/components/vega-calendar/vega-calendar.d.ts +4 -1
- package/dist/types/components/vega-signature-capture/assets/icons.d.ts +4 -0
- package/dist/types/components/vega-signature-capture/slimmers/renderers/vega-signature-capture-renderer.d.ts +7 -0
- package/dist/types/components/vega-signature-capture/slimmers/written-mode/controllers/written-mode-svg-controller.d.ts +88 -0
- package/dist/types/components/vega-signature-capture/slimmers/written-mode/renderers/written-mode-renderer.d.ts +27 -0
- package/dist/types/components/vega-signature-capture/types.d.ts +5 -0
- package/dist/types/components/vega-signature-capture/vega-signature-capture.d.ts +95 -0
- package/dist/types/components/vega-textarea/vega-textarea.d.ts +4 -0
- package/dist/types/components.d.ts +148 -0
- package/dist/types/helpers/change-manager/subject/static-remote-invocation-subject/static-remote-invocation-call-registry.d.ts +39 -0
- package/dist/types/helpers/change-manager/subject/static-subject/staticSubjectTitle.d.ts +2 -1
- package/dist/types/helpers/change-manager/test/static-remote-invocation-subject.test.d.ts +1 -0
- package/dist/types/helpers/slimmers/fieldErrorUiControllerSlimmer.d.ts +1 -0
- package/dist/types/helpers/slimmers/fieldErrorUiControllerStrategies/fieldErrorUiControllerStrategy.d.ts +6 -0
- package/dist/types/helpers/slimmers/fieldErrorUiControllerStrategies/siblingContainerErrorLabelContainerRetrievalStrategy.d.ts +16 -0
- package/dist/types/helpers/slimmers/fieldErrorUiControllerStrategies/siblingContainerNestedErrorContainerRetrievalStrategy.d.ts +15 -0
- package/dist/types/helpers/slimmers/fieldErrorUiControllerStrategies/siblingContainerSelfRetrievalStrategy.d.ts +14 -0
- package/dist/types/types/components.type.d.ts +1 -0
- package/dist/types/types/general.d.ts +2 -1
- package/dist/vega/index.esm.js +1 -1
- package/dist/vega/{p-eee98614.entry.js → p-0f420f8f.entry.js} +1 -1
- package/dist/vega/{p-a4ca0aac.entry.js → p-1057d54f.entry.js} +1 -1
- package/dist/vega/{p-a61cb86e.entry.js → p-107e2518.entry.js} +1 -1
- package/dist/vega/{p-c9e013f4.js → p-11b085cb.js} +1 -1
- package/dist/vega/p-264c95ab.js +1 -0
- package/dist/vega/{p-cb171374.entry.js → p-28548bc4.entry.js} +1 -1
- package/dist/vega/{p-46b146eb.entry.js → p-2b72e5d5.entry.js} +1 -1
- package/dist/vega/{p-f1008a4a.entry.js → p-300844f7.entry.js} +1 -1
- package/dist/vega/{p-40a4822c.entry.js → p-303e9a65.entry.js} +1 -1
- package/dist/vega/{p-8759e22d.entry.js → p-3586684b.entry.js} +1 -1
- package/dist/vega/{p-3b62c5b4.entry.js → p-36948812.entry.js} +1 -1
- package/dist/vega/{p-3dbfb6ae.entry.js → p-39271c51.entry.js} +1 -1
- package/dist/vega/{p-37e8445b.entry.js → p-39648c77.entry.js} +1 -1
- package/dist/vega/{p-a0f03879.entry.js → p-3b193b57.entry.js} +1 -1
- package/dist/vega/p-42c8012d.entry.js +1 -0
- package/dist/vega/{p-3de104ba.entry.js → p-4317de99.entry.js} +1 -1
- package/dist/vega/{p-b572e8a8.entry.js → p-479f9784.entry.js} +1 -1
- package/dist/vega/{p-fd3cd3f5.entry.js → p-47a35856.entry.js} +1 -1
- package/dist/vega/{p-e45170ad.entry.js → p-5e44e5c3.entry.js} +1 -1
- package/dist/vega/{p-ebf89788.entry.js → p-617f84f2.entry.js} +1 -1
- package/dist/vega/p-73f6405d.entry.js +1 -0
- package/dist/vega/p-7acd23c3.js +1 -0
- package/dist/vega/{p-4161becc.entry.js → p-81ad9bea.entry.js} +1 -1
- package/dist/vega/{p-f6af6224.entry.js → p-8267b53c.entry.js} +1 -1
- package/dist/vega/{p-642f28dc.entry.js → p-92bae3f8.entry.js} +1 -1
- package/dist/vega/{p-b1b3857d.entry.js → p-93fb0ff0.entry.js} +1 -1
- package/dist/vega/{p-d76ae2b1.entry.js → p-9456d157.entry.js} +1 -1
- package/dist/vega/{p-5ca6fd55.entry.js → p-9e0c331b.entry.js} +1 -1
- package/dist/vega/{p-4f428039.js → p-9f7e71d8.js} +1 -1
- package/dist/vega/p-a05d40b0.entry.js +1 -0
- package/dist/vega/{p-31548eea.entry.js → p-a7b1a4bd.entry.js} +1 -1
- package/dist/vega/{p-4ed1798e.entry.js → p-ae24e059.entry.js} +1 -1
- package/dist/vega/{p-4c3690ce.entry.js → p-b1f01bda.entry.js} +1 -1
- package/dist/vega/{p-5098d161.entry.js → p-b4edefbe.entry.js} +1 -1
- package/dist/vega/{p-2e096c78.entry.js → p-b6968677.entry.js} +1 -1
- package/dist/vega/{p-3f661fad.entry.js → p-c566351a.entry.js} +1 -1
- package/dist/vega/{p-c450f692.js → p-c779ed1f.js} +1 -1
- package/dist/vega/{p-42d1b5df.entry.js → p-caa9f3db.entry.js} +1 -1
- package/dist/vega/{p-d4eb9277.entry.js → p-d1ed331e.entry.js} +1 -1
- package/dist/vega/{p-0a56c329.entry.js → p-da22f097.entry.js} +1 -1
- package/dist/vega/{p-7833c766.entry.js → p-dd8eb2ab.entry.js} +1 -1
- package/dist/vega/{p-fdd6772d.entry.js → p-e27b3235.entry.js} +1 -1
- package/dist/vega/{p-5ded9437.js → p-ead9867b.js} +1 -1
- package/dist/vega/p-f1ecbe90.js +1 -1
- package/dist/vega/p-f26a298a.entry.js +1 -0
- package/dist/vega/{p-7d94fadc.entry.js → p-fb8cb0af.entry.js} +1 -1
- package/dist/vega/{p-069b157d.entry.js → p-fd2712e1.entry.js} +1 -1
- package/dist/vega/vega.esm.js +1 -1
- package/package.json +1 -1
- package/dist/vega/p-477985af.entry.js +0 -1
- package/dist/vega/p-5141bcac.js +0 -1
- package/dist/vega/p-8530f9b5.entry.js +0 -1
- package/dist/vega/p-a5e6da15.js +0 -1
- package/dist/vega/p-eddca0ac.entry.js +0 -1
|
@@ -0,0 +1,429 @@
|
|
|
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 { Component, Element, Prop, Watch, Event, Method, State } from '@stencil/core';
|
|
8
|
+
import { InjectVegaGlobalSlimmer, InjectVegaSlimmer, methodPlaceholder, } from 'vega-slimmer/core';
|
|
9
|
+
import { VegaInternalIconManager } from '../../helpers/icon/internal-icon-manager';
|
|
10
|
+
import { VegaComponentUsageRuntimeMetricsSlimmer } from '../../helpers/slimmers/componentUsageRuntimeMetrics';
|
|
11
|
+
import { sanitizeVegaComponent } from '../../utils/component';
|
|
12
|
+
import { VegaSignatureCaptureRenderer } from './slimmers/renderers/vega-signature-capture-renderer';
|
|
13
|
+
import { WrittenModeRenderer } from './slimmers/written-mode/renderers/written-mode-renderer';
|
|
14
|
+
import { WrittenModeSvgController } from './slimmers/written-mode/controllers/written-mode-svg-controller';
|
|
15
|
+
import { createEventEmitSlimmer, } from '../../helpers/event-manager/slimmers/eventEmitSlimmer';
|
|
16
|
+
import { VegaChange } from '../../helpers/event-manager/eventID/vegaEventId';
|
|
17
|
+
import { FormFieldControllerSlimmer } from '../../helpers/slimmers/formFieldControllerSlimmer';
|
|
18
|
+
import { RequiredFieldRule } from '../../helpers/validator/rules/requiredFieldRule';
|
|
19
|
+
export class VegaSignatureCapture {
|
|
20
|
+
constructor() {
|
|
21
|
+
this.globalSlimmers = {};
|
|
22
|
+
this.vegaComponentUsageRuntimeMetricsSlimmer = new VegaComponentUsageRuntimeMetricsSlimmer();
|
|
23
|
+
this.vegaSignatureCaptureRenderer = new VegaSignatureCaptureRenderer();
|
|
24
|
+
this.writtenModeRenderer = new WrittenModeRenderer();
|
|
25
|
+
this.writtenModeSvgController = new WrittenModeSvgController();
|
|
26
|
+
this.changeEventEmitter = createEventEmitSlimmer(VegaSignatureCapture, VegaChange);
|
|
27
|
+
this.formFieldController = new FormFieldControllerSlimmer({
|
|
28
|
+
propertyRules: [
|
|
29
|
+
{
|
|
30
|
+
propertyName: 'required',
|
|
31
|
+
ruleFactory: (isRequired) => (isRequired ? new RequiredFieldRule() : null),
|
|
32
|
+
},
|
|
33
|
+
],
|
|
34
|
+
validationRulesName: 'validationRules',
|
|
35
|
+
defaultValue: null,
|
|
36
|
+
attributeGetter: (propertyName) => this[propertyName],
|
|
37
|
+
inputContainerGetter: () => this.writtenModeRenderer.getSignatureCaptureContainer(),
|
|
38
|
+
touchableAreaGetter: () => [this.writtenModeRenderer.getSignatureCaptureContainer()],
|
|
39
|
+
});
|
|
40
|
+
/**
|
|
41
|
+
* Specifies the state of the signature
|
|
42
|
+
*/
|
|
43
|
+
this.isDrawing = false;
|
|
44
|
+
/**
|
|
45
|
+
* Specifies the mode of the signature capture
|
|
46
|
+
*/
|
|
47
|
+
this.mode = 'written';
|
|
48
|
+
/**
|
|
49
|
+
* Specifies the label or title for the signature capture.
|
|
50
|
+
*
|
|
51
|
+
* It provides descriptive text that helps identify the
|
|
52
|
+
* purpose or content expected in the signature capture.
|
|
53
|
+
*/
|
|
54
|
+
this.label = '';
|
|
55
|
+
/**
|
|
56
|
+
* Determines whether the signature capture field is required.
|
|
57
|
+
*/
|
|
58
|
+
this.required = false;
|
|
59
|
+
/**
|
|
60
|
+
* Determines whether the clear button is displayed.
|
|
61
|
+
*/
|
|
62
|
+
this.showClearBtn = true;
|
|
63
|
+
/**
|
|
64
|
+
* Specifies a placeholder string that displays as a temporary hint
|
|
65
|
+
* or example inside the signature capture.
|
|
66
|
+
*
|
|
67
|
+
* It indicates the expected format or pattern of the signature capture.
|
|
68
|
+
*/
|
|
69
|
+
this.placeholder = 'Please sign here';
|
|
70
|
+
/**
|
|
71
|
+
* Specifies an icon or symbol that appears before the placeholder,
|
|
72
|
+
* providing visual context or enhancing the aesthetic appearance
|
|
73
|
+
* of the signature capture.
|
|
74
|
+
*/
|
|
75
|
+
this.placeholderIcon = VegaInternalIconManager.getIconKey('signature');
|
|
76
|
+
/**
|
|
77
|
+
* Specifies whether the signature capture is disabled.
|
|
78
|
+
*/
|
|
79
|
+
this.disabled = false;
|
|
80
|
+
/**
|
|
81
|
+
* Specifies the value of the signature capture
|
|
82
|
+
*/
|
|
83
|
+
// eslint-disable-next-line @stencil/strict-mutable
|
|
84
|
+
this.value = null;
|
|
85
|
+
/**
|
|
86
|
+
* Indicates whether the current value in the field is considered valid or
|
|
87
|
+
* invalid based on the defined validation rules.
|
|
88
|
+
*/
|
|
89
|
+
/* eslint-disable-next-line @stencil/strict-mutable */
|
|
90
|
+
this.isValid = null;
|
|
91
|
+
/**
|
|
92
|
+
* Determines whether the signature capture field should undergo automatic validation
|
|
93
|
+
* during the user's sign.
|
|
94
|
+
*/
|
|
95
|
+
this.autoValidation = true;
|
|
96
|
+
/**
|
|
97
|
+
* Defines custom validation rules for the signature capture field.
|
|
98
|
+
*/
|
|
99
|
+
this.validationRules = [];
|
|
100
|
+
}
|
|
101
|
+
watchValue(newValue, oldValue) {
|
|
102
|
+
methodPlaceholder(newValue, oldValue);
|
|
103
|
+
}
|
|
104
|
+
watchValidationRules() {
|
|
105
|
+
methodPlaceholder();
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Invoke this method to clear the signature
|
|
109
|
+
*/
|
|
110
|
+
async clear() {
|
|
111
|
+
methodPlaceholder();
|
|
112
|
+
}
|
|
113
|
+
render() {
|
|
114
|
+
return sanitizeVegaComponent(this.vegaSignatureCaptureRenderer.render(), this.host);
|
|
115
|
+
}
|
|
116
|
+
static get is() { return "vega-signature-capture"; }
|
|
117
|
+
static get encapsulation() { return "shadow"; }
|
|
118
|
+
static get originalStyleUrls() { return {
|
|
119
|
+
"$": ["vega-signature-capture.scss"]
|
|
120
|
+
}; }
|
|
121
|
+
static get styleUrls() { return {
|
|
122
|
+
"$": ["vega-signature-capture.css"]
|
|
123
|
+
}; }
|
|
124
|
+
static get properties() { return {
|
|
125
|
+
"mode": {
|
|
126
|
+
"type": "string",
|
|
127
|
+
"mutable": false,
|
|
128
|
+
"complexType": {
|
|
129
|
+
"original": "VegaSignatureCaptureMode",
|
|
130
|
+
"resolved": "\"written\"",
|
|
131
|
+
"references": {
|
|
132
|
+
"VegaSignatureCaptureMode": {
|
|
133
|
+
"location": "import",
|
|
134
|
+
"path": "./types"
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
},
|
|
138
|
+
"required": false,
|
|
139
|
+
"optional": false,
|
|
140
|
+
"docs": {
|
|
141
|
+
"tags": [],
|
|
142
|
+
"text": "Specifies the mode of the signature capture"
|
|
143
|
+
},
|
|
144
|
+
"attribute": "mode",
|
|
145
|
+
"reflect": false,
|
|
146
|
+
"defaultValue": "'written'"
|
|
147
|
+
},
|
|
148
|
+
"label": {
|
|
149
|
+
"type": "string",
|
|
150
|
+
"mutable": false,
|
|
151
|
+
"complexType": {
|
|
152
|
+
"original": "string",
|
|
153
|
+
"resolved": "string",
|
|
154
|
+
"references": {}
|
|
155
|
+
},
|
|
156
|
+
"required": false,
|
|
157
|
+
"optional": false,
|
|
158
|
+
"docs": {
|
|
159
|
+
"tags": [],
|
|
160
|
+
"text": "Specifies the label or title for the signature capture.\n\nIt provides descriptive text that helps identify the\n purpose or content expected in the signature capture."
|
|
161
|
+
},
|
|
162
|
+
"attribute": "label",
|
|
163
|
+
"reflect": false,
|
|
164
|
+
"defaultValue": "''"
|
|
165
|
+
},
|
|
166
|
+
"required": {
|
|
167
|
+
"type": "boolean",
|
|
168
|
+
"mutable": false,
|
|
169
|
+
"complexType": {
|
|
170
|
+
"original": "boolean",
|
|
171
|
+
"resolved": "boolean",
|
|
172
|
+
"references": {}
|
|
173
|
+
},
|
|
174
|
+
"required": false,
|
|
175
|
+
"optional": false,
|
|
176
|
+
"docs": {
|
|
177
|
+
"tags": [],
|
|
178
|
+
"text": "Determines whether the signature capture field is required."
|
|
179
|
+
},
|
|
180
|
+
"attribute": "required",
|
|
181
|
+
"reflect": true,
|
|
182
|
+
"defaultValue": "false"
|
|
183
|
+
},
|
|
184
|
+
"showClearBtn": {
|
|
185
|
+
"type": "boolean",
|
|
186
|
+
"mutable": false,
|
|
187
|
+
"complexType": {
|
|
188
|
+
"original": "boolean",
|
|
189
|
+
"resolved": "boolean",
|
|
190
|
+
"references": {}
|
|
191
|
+
},
|
|
192
|
+
"required": false,
|
|
193
|
+
"optional": false,
|
|
194
|
+
"docs": {
|
|
195
|
+
"tags": [],
|
|
196
|
+
"text": "Determines whether the clear button is displayed."
|
|
197
|
+
},
|
|
198
|
+
"attribute": "show-clear-btn",
|
|
199
|
+
"reflect": false,
|
|
200
|
+
"defaultValue": "true"
|
|
201
|
+
},
|
|
202
|
+
"placeholder": {
|
|
203
|
+
"type": "string",
|
|
204
|
+
"mutable": false,
|
|
205
|
+
"complexType": {
|
|
206
|
+
"original": "string",
|
|
207
|
+
"resolved": "string",
|
|
208
|
+
"references": {}
|
|
209
|
+
},
|
|
210
|
+
"required": false,
|
|
211
|
+
"optional": false,
|
|
212
|
+
"docs": {
|
|
213
|
+
"tags": [],
|
|
214
|
+
"text": "Specifies a placeholder string that displays as a temporary hint\n or example inside the signature capture.\n\nIt indicates the expected format or pattern of the signature capture."
|
|
215
|
+
},
|
|
216
|
+
"attribute": "placeholder",
|
|
217
|
+
"reflect": false,
|
|
218
|
+
"defaultValue": "'Please sign here'"
|
|
219
|
+
},
|
|
220
|
+
"placeholderIcon": {
|
|
221
|
+
"type": "string",
|
|
222
|
+
"mutable": false,
|
|
223
|
+
"complexType": {
|
|
224
|
+
"original": "string",
|
|
225
|
+
"resolved": "string",
|
|
226
|
+
"references": {}
|
|
227
|
+
},
|
|
228
|
+
"required": false,
|
|
229
|
+
"optional": false,
|
|
230
|
+
"docs": {
|
|
231
|
+
"tags": [],
|
|
232
|
+
"text": "Specifies an icon or symbol that appears before the placeholder,\n providing visual context or enhancing the aesthetic appearance\n of the signature capture."
|
|
233
|
+
},
|
|
234
|
+
"attribute": "placeholder-icon",
|
|
235
|
+
"reflect": false,
|
|
236
|
+
"defaultValue": "VegaInternalIconManager.getIconKey('signature')"
|
|
237
|
+
},
|
|
238
|
+
"disabled": {
|
|
239
|
+
"type": "boolean",
|
|
240
|
+
"mutable": false,
|
|
241
|
+
"complexType": {
|
|
242
|
+
"original": "boolean",
|
|
243
|
+
"resolved": "boolean",
|
|
244
|
+
"references": {}
|
|
245
|
+
},
|
|
246
|
+
"required": false,
|
|
247
|
+
"optional": false,
|
|
248
|
+
"docs": {
|
|
249
|
+
"tags": [],
|
|
250
|
+
"text": "Specifies whether the signature capture is disabled."
|
|
251
|
+
},
|
|
252
|
+
"attribute": "disabled",
|
|
253
|
+
"reflect": false,
|
|
254
|
+
"defaultValue": "false"
|
|
255
|
+
},
|
|
256
|
+
"value": {
|
|
257
|
+
"type": "unknown",
|
|
258
|
+
"mutable": true,
|
|
259
|
+
"complexType": {
|
|
260
|
+
"original": "VegaSignatureValue | null",
|
|
261
|
+
"resolved": "{ type: \"written\"; img: string; }",
|
|
262
|
+
"references": {
|
|
263
|
+
"VegaSignatureValue": {
|
|
264
|
+
"location": "import",
|
|
265
|
+
"path": "./types"
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
},
|
|
269
|
+
"required": false,
|
|
270
|
+
"optional": false,
|
|
271
|
+
"docs": {
|
|
272
|
+
"tags": [],
|
|
273
|
+
"text": "Specifies the value of the signature capture"
|
|
274
|
+
},
|
|
275
|
+
"defaultValue": "null"
|
|
276
|
+
},
|
|
277
|
+
"isValid": {
|
|
278
|
+
"type": "boolean",
|
|
279
|
+
"mutable": true,
|
|
280
|
+
"complexType": {
|
|
281
|
+
"original": "boolean | null",
|
|
282
|
+
"resolved": "boolean",
|
|
283
|
+
"references": {}
|
|
284
|
+
},
|
|
285
|
+
"required": false,
|
|
286
|
+
"optional": false,
|
|
287
|
+
"docs": {
|
|
288
|
+
"tags": [],
|
|
289
|
+
"text": "Indicates whether the current value in the field is considered valid or\n invalid based on the defined validation rules."
|
|
290
|
+
},
|
|
291
|
+
"attribute": "is-valid",
|
|
292
|
+
"reflect": true,
|
|
293
|
+
"defaultValue": "null"
|
|
294
|
+
},
|
|
295
|
+
"autoValidation": {
|
|
296
|
+
"type": "boolean",
|
|
297
|
+
"mutable": false,
|
|
298
|
+
"complexType": {
|
|
299
|
+
"original": "boolean",
|
|
300
|
+
"resolved": "boolean",
|
|
301
|
+
"references": {}
|
|
302
|
+
},
|
|
303
|
+
"required": false,
|
|
304
|
+
"optional": false,
|
|
305
|
+
"docs": {
|
|
306
|
+
"tags": [],
|
|
307
|
+
"text": "Determines whether the signature capture field should undergo automatic validation\n during the user's sign."
|
|
308
|
+
},
|
|
309
|
+
"attribute": "auto-validation",
|
|
310
|
+
"reflect": true,
|
|
311
|
+
"defaultValue": "true"
|
|
312
|
+
},
|
|
313
|
+
"validationRules": {
|
|
314
|
+
"type": "unknown",
|
|
315
|
+
"mutable": false,
|
|
316
|
+
"complexType": {
|
|
317
|
+
"original": "FormFieldValidationRule<unknown>[]",
|
|
318
|
+
"resolved": "FormFieldValidationRule<unknown>[]",
|
|
319
|
+
"references": {
|
|
320
|
+
"FormFieldValidationRule": {
|
|
321
|
+
"location": "import",
|
|
322
|
+
"path": "../../helpers/validator/rules/formFieldValidationRule"
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
},
|
|
326
|
+
"required": false,
|
|
327
|
+
"optional": false,
|
|
328
|
+
"docs": {
|
|
329
|
+
"tags": [],
|
|
330
|
+
"text": "Defines custom validation rules for the signature capture field."
|
|
331
|
+
},
|
|
332
|
+
"defaultValue": "[]"
|
|
333
|
+
}
|
|
334
|
+
}; }
|
|
335
|
+
static get states() { return {
|
|
336
|
+
"isDrawing": {}
|
|
337
|
+
}; }
|
|
338
|
+
static get events() { return [{
|
|
339
|
+
"method": "vegaChange",
|
|
340
|
+
"name": "vegaChange",
|
|
341
|
+
"bubbles": true,
|
|
342
|
+
"cancelable": true,
|
|
343
|
+
"composed": true,
|
|
344
|
+
"docs": {
|
|
345
|
+
"tags": [],
|
|
346
|
+
"text": "An event emitter notifying a value change."
|
|
347
|
+
},
|
|
348
|
+
"complexType": {
|
|
349
|
+
"original": "VegaSignatureValue",
|
|
350
|
+
"resolved": "{ type: \"written\"; img: string; }",
|
|
351
|
+
"references": {
|
|
352
|
+
"VegaSignatureValue": {
|
|
353
|
+
"location": "import",
|
|
354
|
+
"path": "./types"
|
|
355
|
+
}
|
|
356
|
+
}
|
|
357
|
+
}
|
|
358
|
+
}, {
|
|
359
|
+
"method": "change",
|
|
360
|
+
"name": "change",
|
|
361
|
+
"bubbles": true,
|
|
362
|
+
"cancelable": true,
|
|
363
|
+
"composed": true,
|
|
364
|
+
"docs": {
|
|
365
|
+
"tags": [{
|
|
366
|
+
"name": "eventSemantics",
|
|
367
|
+
"text": "namespace:native"
|
|
368
|
+
}],
|
|
369
|
+
"text": "An event emitter notifying a value change."
|
|
370
|
+
},
|
|
371
|
+
"complexType": {
|
|
372
|
+
"original": "VegaSignatureValue",
|
|
373
|
+
"resolved": "{ type: \"written\"; img: string; }",
|
|
374
|
+
"references": {
|
|
375
|
+
"VegaSignatureValue": {
|
|
376
|
+
"location": "import",
|
|
377
|
+
"path": "./types"
|
|
378
|
+
}
|
|
379
|
+
}
|
|
380
|
+
}
|
|
381
|
+
}]; }
|
|
382
|
+
static get methods() { return {
|
|
383
|
+
"clear": {
|
|
384
|
+
"complexType": {
|
|
385
|
+
"signature": "() => Promise<void>",
|
|
386
|
+
"parameters": [],
|
|
387
|
+
"references": {
|
|
388
|
+
"Promise": {
|
|
389
|
+
"location": "global"
|
|
390
|
+
}
|
|
391
|
+
},
|
|
392
|
+
"return": "Promise<void>"
|
|
393
|
+
},
|
|
394
|
+
"docs": {
|
|
395
|
+
"text": "Invoke this method to clear the signature",
|
|
396
|
+
"tags": []
|
|
397
|
+
}
|
|
398
|
+
}
|
|
399
|
+
}; }
|
|
400
|
+
static get elementRef() { return "host"; }
|
|
401
|
+
static get watchers() { return [{
|
|
402
|
+
"propName": "value",
|
|
403
|
+
"methodName": "watchValue"
|
|
404
|
+
}, {
|
|
405
|
+
"propName": "validationRules",
|
|
406
|
+
"methodName": "watchValidationRules"
|
|
407
|
+
}]; }
|
|
408
|
+
}
|
|
409
|
+
__decorate([
|
|
410
|
+
InjectVegaGlobalSlimmer()
|
|
411
|
+
], VegaSignatureCapture.prototype, "globalSlimmers", void 0);
|
|
412
|
+
__decorate([
|
|
413
|
+
InjectVegaSlimmer()
|
|
414
|
+
], VegaSignatureCapture.prototype, "vegaComponentUsageRuntimeMetricsSlimmer", void 0);
|
|
415
|
+
__decorate([
|
|
416
|
+
InjectVegaSlimmer()
|
|
417
|
+
], VegaSignatureCapture.prototype, "vegaSignatureCaptureRenderer", void 0);
|
|
418
|
+
__decorate([
|
|
419
|
+
InjectVegaSlimmer()
|
|
420
|
+
], VegaSignatureCapture.prototype, "writtenModeRenderer", void 0);
|
|
421
|
+
__decorate([
|
|
422
|
+
InjectVegaSlimmer()
|
|
423
|
+
], VegaSignatureCapture.prototype, "writtenModeSvgController", void 0);
|
|
424
|
+
__decorate([
|
|
425
|
+
InjectVegaSlimmer()
|
|
426
|
+
], VegaSignatureCapture.prototype, "changeEventEmitter", void 0);
|
|
427
|
+
__decorate([
|
|
428
|
+
InjectVegaSlimmer()
|
|
429
|
+
], VegaSignatureCapture.prototype, "formFieldController", void 0);
|
|
@@ -104,5 +104,7 @@
|
|
|
104
104
|
border: 1px solid rgba(var(--v-border-input-field-danger-hover, 255, 87, 114, 1));
|
|
105
105
|
}
|
|
106
106
|
:host .vega-stepper-container.error vega-input::part(input-container):focus-within {
|
|
107
|
-
|
|
107
|
+
outline: 2px solid rgba(var(--v-border-color-danger, 230, 50, 87, 1));
|
|
108
|
+
outline-offset: 2px;
|
|
109
|
+
border: 1px solid rgba(var(--v-border-color-input-field-danger-focus, 233, 71, 104, 1));
|
|
108
110
|
}
|
|
@@ -107,6 +107,13 @@
|
|
|
107
107
|
}
|
|
108
108
|
}
|
|
109
109
|
|
|
110
|
+
:host .vega-textarea-container.vega-textarea-not-resizable {
|
|
111
|
+
resize: none;
|
|
112
|
+
}
|
|
113
|
+
:host .vega-textarea-container.vega-textarea-not-resizable textarea {
|
|
114
|
+
resize: none;
|
|
115
|
+
}
|
|
116
|
+
|
|
110
117
|
:host vega-field-label {
|
|
111
118
|
margin-bottom: 8px;
|
|
112
119
|
}
|
|
@@ -107,12 +107,16 @@ export class VegaTextarea {
|
|
|
107
107
|
* that the user must enter in the text area.
|
|
108
108
|
*/
|
|
109
109
|
this.minLength = null;
|
|
110
|
+
/**
|
|
111
|
+
* Determines whether the text area is vertically resizable.
|
|
112
|
+
*/
|
|
113
|
+
this.resizable = true;
|
|
110
114
|
/**
|
|
111
115
|
* Specifies custom validation rules for the text area.
|
|
112
116
|
*/
|
|
113
117
|
this.validationRules = [];
|
|
114
118
|
this.renderTextareaContainer = () => {
|
|
115
|
-
return (h("div", { class:
|
|
119
|
+
return (h("div", { class: { 'vega-textarea-container': true, 'vega-textarea-not-resizable': !this.resizable }, ref: (e) => (this.inputContainerRef = e) },
|
|
116
120
|
h("textarea", { rows: 4, placeholder: this.placeholder, disabled: this.disabled, required: this.required, ref: this.setTextareaRef, maxLength: this.maxLength, minLength: this.minLength, value: this.value, onBlur: this.handleTextareaBlur, "aria-label": this.label || 'No label defined' }),
|
|
117
121
|
this.showCounter && this.renderCharacterCounter()));
|
|
118
122
|
};
|
|
@@ -398,6 +402,24 @@ export class VegaTextarea {
|
|
|
398
402
|
"reflect": true,
|
|
399
403
|
"defaultValue": "null"
|
|
400
404
|
},
|
|
405
|
+
"resizable": {
|
|
406
|
+
"type": "boolean",
|
|
407
|
+
"mutable": false,
|
|
408
|
+
"complexType": {
|
|
409
|
+
"original": "boolean",
|
|
410
|
+
"resolved": "boolean",
|
|
411
|
+
"references": {}
|
|
412
|
+
},
|
|
413
|
+
"required": false,
|
|
414
|
+
"optional": false,
|
|
415
|
+
"docs": {
|
|
416
|
+
"tags": [],
|
|
417
|
+
"text": "Determines whether the text area is vertically resizable."
|
|
418
|
+
},
|
|
419
|
+
"attribute": "resizable",
|
|
420
|
+
"reflect": false,
|
|
421
|
+
"defaultValue": "true"
|
|
422
|
+
},
|
|
401
423
|
"validationRules": {
|
|
402
424
|
"type": "unknown",
|
|
403
425
|
"mutable": false,
|
|
@@ -67,7 +67,7 @@ vega-input::part(field-error-message) {
|
|
|
67
67
|
}
|
|
68
68
|
|
|
69
69
|
.vega-time-picker-input-container.error vega-input::part(input-container):focus-within {
|
|
70
|
-
|
|
70
|
+
outline: none;
|
|
71
71
|
}
|
|
72
72
|
|
|
73
73
|
.vega-time-picker-input-container.error {
|
|
@@ -80,8 +80,9 @@ vega-input::part(field-error-message) {
|
|
|
80
80
|
}
|
|
81
81
|
|
|
82
82
|
.vega-time-picker-input-container.error:focus-within {
|
|
83
|
-
|
|
84
|
-
|
|
83
|
+
outline: 2px solid rgba(var(--v-border-color-danger, 230, 50, 87, 1));
|
|
84
|
+
outline-offset: 2px;
|
|
85
|
+
border: 1px solid rgba(var(--v-border-color-input-field-danger-focus, 233, 71, 104, 1));
|
|
85
86
|
}
|
|
86
87
|
|
|
87
88
|
.vega-hidden {
|
|
@@ -135,7 +136,9 @@ vega-input::part(field-error-message) {
|
|
|
135
136
|
|
|
136
137
|
.range-mode:not(.error) .time-picker-input-start vega-input::part(input-container):focus-within,
|
|
137
138
|
.range-mode:not(.error) .time-picker-input-end vega-input::part(input-container):focus-within {
|
|
138
|
-
|
|
139
|
+
outline: 2px solid rgba(var(--v-border-color-action, 19, 98, 226, 1));
|
|
140
|
+
outline-offset: 2px;
|
|
141
|
+
border: 1px solid rgba(var(--v-border-color-input-field-focus, 19, 98, 226, 1));
|
|
139
142
|
margin: -1px;
|
|
140
143
|
}
|
|
141
144
|
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { Observer } from '../../observer/observer';
|
|
2
|
+
import changeManager from '../../changeManager';
|
|
3
|
+
/**
|
|
4
|
+
* The `StaticRemoteInvocationCallRegistry` provides methods for performing remote invocation calls
|
|
5
|
+
* and registering remote invocation handlers.
|
|
6
|
+
*/
|
|
7
|
+
export class StaticRemoteInvocationCallRegistry {
|
|
8
|
+
/**
|
|
9
|
+
* This function performs a static remote invocation call and returning the result.
|
|
10
|
+
*
|
|
11
|
+
* @param {Subject} subject - A static subject.
|
|
12
|
+
* @param {unknown[]} args - The `args` parameter of specific method.
|
|
13
|
+
* @returns {unknown} The result of call `remoteInvocation`.
|
|
14
|
+
*/
|
|
15
|
+
staticRemoteInvocationCall(subject, ...args) {
|
|
16
|
+
let result = null;
|
|
17
|
+
changeManager.notify(subject, {
|
|
18
|
+
args,
|
|
19
|
+
resultCallback:
|
|
20
|
+
/* eslint-disable jsdoc/require-jsdoc */
|
|
21
|
+
(response) => {
|
|
22
|
+
result = response;
|
|
23
|
+
},
|
|
24
|
+
});
|
|
25
|
+
return result;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* The function registers a static remote invocation handler.
|
|
29
|
+
*
|
|
30
|
+
* @param {Subject} subject - A static subject.
|
|
31
|
+
* @param {Function}remoteInvocationHandler - The method that is ultimately called.
|
|
32
|
+
*/
|
|
33
|
+
staticRegisterRemoteInvocationCallHandler(subject, remoteInvocationHandler) {
|
|
34
|
+
const observer = new Observer(this.isAcceptableObserver.bind(this), (payload) => {
|
|
35
|
+
const result = remoteInvocationHandler(...payload.args);
|
|
36
|
+
payload.resultCallback(result);
|
|
37
|
+
});
|
|
38
|
+
changeManager.register(subject, observer);
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* The function un-registers a static remote invocation call handler.
|
|
42
|
+
*
|
|
43
|
+
* @param {Subject} subject - A static subject.
|
|
44
|
+
*/
|
|
45
|
+
unRegisterRemoteInvocationCallHandler(subject) {
|
|
46
|
+
changeManager.clearObserversBySubject(subject);
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* The function isAcceptableObserver checks if the input matches a specified type T.
|
|
50
|
+
*
|
|
51
|
+
* @param {unknown} _input - The `_input` parameter is of type `unknown`, which means it can hold any
|
|
52
|
+
* value.
|
|
53
|
+
* @returns {boolean} The `isAcceptableObserver` function is returning `true`.
|
|
54
|
+
*/
|
|
55
|
+
isAcceptableObserver(_input) {
|
|
56
|
+
return true;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
export default new StaticRemoteInvocationCallRegistry();
|
|
@@ -23,3 +23,4 @@ export const FORM_ELEMENT_VALIDATE = new StaticSubject('FORM_EMEMENT_VALIDATE');
|
|
|
23
23
|
export const FIELD_ERROR_STATE_CHANGE = new StaticSubject('FIELD_ERROR_STATE_CHANGE');
|
|
24
24
|
export const VEGA_VIRTUAL_SCROLL_TO_BOTTOM = new StaticSubject('VEGA_VIRTUAL_SCROLL_TO_BOTTOM');
|
|
25
25
|
export const SELECTION_TILE_VALUE_CHANGE = new StaticSubject('SELECTION_TILE_VALUE_CHANGE');
|
|
26
|
+
export const DROPDOWN_RENDER_ITEM_INTERNAL_OVERRIDEN = new StaticSubject('DROPDOWN_RENDER_ITEM_INTERNAL_OVERRIDEN');
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import changeManager from '../changeManager';
|
|
2
|
+
import RemoteInvocationCallRegistry from '../subject/static-remote-invocation-subject/static-remote-invocation-call-registry';
|
|
3
|
+
import { DROPDOWN_RENDER_ITEM_INTERNAL_OVERRIDEN } from '../subject/static-subject/staticSubjectTitle';
|
|
4
|
+
test('StaticRemoteInvocationCallRegistry', () => {
|
|
5
|
+
const length = changeManager['pubSubMap'].size;
|
|
6
|
+
const mockFun = jest.fn();
|
|
7
|
+
RemoteInvocationCallRegistry.staticRegisterRemoteInvocationCallHandler(DROPDOWN_RENDER_ITEM_INTERNAL_OVERRIDEN, mockFun);
|
|
8
|
+
expect(changeManager['pubSubMap'].size).toEqual(length + 1);
|
|
9
|
+
RemoteInvocationCallRegistry.staticRemoteInvocationCall(DROPDOWN_RENDER_ITEM_INTERNAL_OVERRIDEN, 'a', 'b');
|
|
10
|
+
expect(mockFun).toBeCalledTimes(1);
|
|
11
|
+
expect(mockFun).toBeCalledWith('a', 'b');
|
|
12
|
+
RemoteInvocationCallRegistry.unRegisterRemoteInvocationCallHandler(DROPDOWN_RENDER_ITEM_INTERNAL_OVERRIDEN);
|
|
13
|
+
expect(changeManager['pubSubMap'].size).toEqual(length);
|
|
14
|
+
});
|
|
@@ -43,6 +43,7 @@ const entries = [
|
|
|
43
43
|
['vega-segment-control', [VegaChange]],
|
|
44
44
|
['vega-selection-tile', [VegaChange]],
|
|
45
45
|
['vega-selection-tile-group', [VegaChange]],
|
|
46
|
+
['vega-signature-capture', [VegaChange]],
|
|
46
47
|
['vega-stepper', [VegaChange]],
|
|
47
48
|
['vega-tab-group', [VegaClick]],
|
|
48
49
|
['vega-table', [VegaChange, VegaSelectChange, VegaSelectAllChange, VegaRowClick]],
|
|
@@ -8,8 +8,19 @@ import { MapToComponentField as MapToClassField, VegaSlimmer } from 'vega-slimme
|
|
|
8
8
|
import ChangeManager from '../change-manager/changeManager';
|
|
9
9
|
import DomNodeSubjectFactory from '../change-manager/subject/dom-node-subject/domNodeSubjectFactory';
|
|
10
10
|
import { VegaInternalFieldErrorStateChange } from '../event-manager/eventID/vegaInternalEventId';
|
|
11
|
+
import { SiblingContainerNestedErrorContainerRetrievalStrategy } from './fieldErrorUiControllerStrategies/siblingContainerNestedErrorContainerRetrievalStrategy';
|
|
12
|
+
import { SiblingContainerSelfRetrievalStrategy } from './fieldErrorUiControllerStrategies/siblingContainerSelfRetrievalStrategy';
|
|
13
|
+
import { SiblingContainerErrorLabelContainerRetrievalStrategy } from './fieldErrorUiControllerStrategies/siblingContainerErrorLabelContainerRetrievalStrategy';
|
|
11
14
|
/** The `FieldErrorUIControllerSlimmer` class is responsible for displaying error messages and managing the invalid UI state of a form field. */
|
|
12
15
|
export class FieldErrorUIControllerSlimmer extends VegaSlimmer {
|
|
16
|
+
constructor() {
|
|
17
|
+
super(...arguments);
|
|
18
|
+
this.fieldErrorUiControllerStrategies = [
|
|
19
|
+
new SiblingContainerNestedErrorContainerRetrievalStrategy(),
|
|
20
|
+
new SiblingContainerSelfRetrievalStrategy(),
|
|
21
|
+
new SiblingContainerErrorLabelContainerRetrievalStrategy(),
|
|
22
|
+
];
|
|
23
|
+
}
|
|
13
24
|
/**
|
|
14
25
|
* It takes an error message and displays it in the error container.
|
|
15
26
|
* TODO: Each component displays the error message and puts it in the code of the respective component.
|
|
@@ -62,16 +73,12 @@ export class FieldErrorUIControllerSlimmer extends VegaSlimmer {
|
|
|
62
73
|
* @returns {HTMLElement} The error container.
|
|
63
74
|
*/
|
|
64
75
|
getErrorContainer(inputContainer) {
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
// vega-table needs to hide error content.
|
|
71
|
-
siblingContainer.setAttribute('part', 'field-error-message');
|
|
72
|
-
inputContainer.after(siblingContainer);
|
|
76
|
+
for (const strategy of this.fieldErrorUiControllerStrategies) {
|
|
77
|
+
const errorContainer = strategy.run(inputContainer);
|
|
78
|
+
if (errorContainer) {
|
|
79
|
+
return errorContainer;
|
|
80
|
+
}
|
|
73
81
|
}
|
|
74
|
-
return siblingContainer;
|
|
75
82
|
}
|
|
76
83
|
}
|
|
77
84
|
__decorate([
|