@softpak/components 19.0.0-beta.10 → 19.0.0-beta.11
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/fesm2022/softpak-components-spx-alert.mjs +4 -5
- package/fesm2022/softpak-components-spx-alert.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-app-configuration.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-app-expiry.mjs +4 -5
- package/fesm2022/softpak-components-spx-app-expiry.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-app-update.mjs +4 -5
- package/fesm2022/softpak-components-spx-app-update.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-button.mjs +4 -5
- package/fesm2022/softpak-components-spx-button.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-capitalize.mjs +3 -3
- package/fesm2022/softpak-components-spx-capitalize.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-card.mjs +15 -18
- package/fesm2022/softpak-components-spx-card.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-change-details.mjs +4 -4
- package/fesm2022/softpak-components-spx-change-details.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-channel-selection.mjs +7 -9
- package/fesm2022/softpak-components-spx-channel-selection.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-check-digit.mjs +4 -4
- package/fesm2022/softpak-components-spx-check-digit.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-form-section.mjs +4 -4
- package/fesm2022/softpak-components-spx-form-section.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-form-view.mjs +8 -9
- package/fesm2022/softpak-components-spx-form-view.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-helpers.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-inputs.mjs +40 -46
- package/fesm2022/softpak-components-spx-inputs.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-navigation.mjs +11 -12
- package/fesm2022/softpak-components-spx-navigation.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-number-check.mjs +4 -5
- package/fesm2022/softpak-components-spx-number-check.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-pagination.mjs +4 -4
- package/fesm2022/softpak-components-spx-pagination.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-patch.mjs +4 -5
- package/fesm2022/softpak-components-spx-patch.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-progress-bar.mjs +3 -3
- package/fesm2022/softpak-components-spx-progress-bar.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-spinner.mjs +4 -4
- package/fesm2022/softpak-components-spx-spinner.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-stock-info.mjs +4 -4
- package/fesm2022/softpak-components-spx-stock-info.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-storage.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-suggestion.mjs +3 -3
- package/fesm2022/softpak-components-spx-suggestion.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-toaster.mjs +5 -6
- package/fesm2022/softpak-components-spx-toaster.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-update.mjs +7 -9
- package/fesm2022/softpak-components-spx-update.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-validation.mjs +4 -4
- package/fesm2022/softpak-components-spx-validation.mjs.map +1 -1
- package/package.json +24 -78
- package/spx-alert/spx-alert.component.d.ts +4 -4
- package/spx-inputs/spx-input-box.component.d.ts +4 -4
- package/spx-inputs/spx-input-time-modal.component.d.ts +1 -1
- package/tailwind.css +1 -1
- package/esm2022/placeholder.mjs +0 -2
- package/esm2022/public_api.mjs +0 -2
- package/esm2022/softpak-components.mjs +0 -5
- package/esm2022/spx-alert/public-api.mjs +0 -3
- package/esm2022/spx-alert/softpak-components-spx-alert.mjs +0 -5
- package/esm2022/spx-alert/spx-alert.component.mjs +0 -203
- package/esm2022/spx-alert/spx-alert.interface.mjs +0 -3
- package/esm2022/spx-app-configuration/public-api.mjs +0 -8
- package/esm2022/spx-app-configuration/softpak-components-spx-app-configuration.mjs +0 -5
- package/esm2022/spx-app-configuration/spx-app-alert.interface.mjs +0 -2
- package/esm2022/spx-app-configuration/spx-app-bundle-set.interface.mjs +0 -2
- package/esm2022/spx-app-configuration/spx-app-channel-type.enum.mjs +0 -8
- package/esm2022/spx-app-configuration/spx-app-channel.interface.mjs +0 -2
- package/esm2022/spx-app-configuration/spx-app-config.interface.mjs +0 -2
- package/esm2022/spx-app-configuration/spx-app-id.enum.mjs +0 -8
- package/esm2022/spx-app-configuration/spx-app-lang.enum.mjs +0 -6
- package/esm2022/spx-app-configuration/spx-app-release-note.interface.mjs +0 -2
- package/esm2022/spx-app-expiry/public-api.mjs +0 -6
- package/esm2022/spx-app-expiry/softpak-components-spx-app-expiry.mjs +0 -5
- package/esm2022/spx-app-expiry/spx-app-expiry.component.mjs +0 -107
- package/esm2022/spx-app-expiry/spx-app-expiry.interface.mjs +0 -2
- package/esm2022/spx-app-expiry/spx-check-expiry-final-warning.interface.mjs +0 -5
- package/esm2022/spx-app-expiry/spx-check-expiry-happened.interface.mjs +0 -5
- package/esm2022/spx-app-expiry/spx-check-expiry-warning.interface.mjs +0 -5
- package/esm2022/spx-app-update/public-api.mjs +0 -2
- package/esm2022/spx-app-update/softpak-components-spx-app-update.mjs +0 -5
- package/esm2022/spx-app-update/spx-app-update.component.mjs +0 -323
- package/esm2022/spx-button/public-api.mjs +0 -2
- package/esm2022/spx-button/softpak-components-spx-button.mjs +0 -5
- package/esm2022/spx-button/spx-button.component.mjs +0 -142
- package/esm2022/spx-capitalize/public-api.mjs +0 -2
- package/esm2022/spx-capitalize/softpak-components-spx-capitalize.mjs +0 -5
- package/esm2022/spx-capitalize/spx-capitalize.pipe.mjs +0 -20
- package/esm2022/spx-card/public-api.mjs +0 -5
- package/esm2022/spx-card/softpak-components-spx-card.mjs +0 -5
- package/esm2022/spx-card/spx-card-grid.component.mjs +0 -46
- package/esm2022/spx-card/spx-card-item.component.mjs +0 -117
- package/esm2022/spx-card/spx-card-line.component.mjs +0 -124
- package/esm2022/spx-card/spx-card.component.mjs +0 -96
- package/esm2022/spx-change-details/public-api.mjs +0 -2
- package/esm2022/spx-change-details/softpak-components-spx-change-details.mjs +0 -5
- package/esm2022/spx-change-details/spx-change-details-value.interface.mjs +0 -2
- package/esm2022/spx-change-details/spx-change-details.component.mjs +0 -197
- package/esm2022/spx-channel-selection/public-api.mjs +0 -3
- package/esm2022/spx-channel-selection/softpak-components-spx-channel-selection.mjs +0 -5
- package/esm2022/spx-channel-selection/src/spx-channel-indicator.component.mjs +0 -45
- package/esm2022/spx-channel-selection/src/spx-welcome.component.mjs +0 -132
- package/esm2022/spx-check-digit/public-api.mjs +0 -2
- package/esm2022/spx-check-digit/softpak-components-spx-check-digit.mjs +0 -5
- package/esm2022/spx-check-digit/spx-check-digit.component.mjs +0 -91
- package/esm2022/spx-form-section/public-api.mjs +0 -2
- package/esm2022/spx-form-section/softpak-components-spx-form-section.mjs +0 -5
- package/esm2022/spx-form-section/spx-form-section.component.mjs +0 -42
- package/esm2022/spx-form-view/public-api.mjs +0 -7
- package/esm2022/spx-form-view/softpak-components-spx-form-view.mjs +0 -5
- package/esm2022/spx-form-view/spx-autocomplete-search.component.mjs +0 -117
- package/esm2022/spx-form-view/spx-form-button-type.enum.mjs +0 -6
- package/esm2022/spx-form-view/spx-form-button.interface.mjs +0 -2
- package/esm2022/spx-form-view/spx-form-field.interface.mjs +0 -2
- package/esm2022/spx-form-view/spx-form-section.interface.mjs +0 -2
- package/esm2022/spx-form-view/spx-form-view.component.mjs +0 -297
- package/esm2022/spx-form-view/spx-form.interface.mjs +0 -2
- package/esm2022/spx-helpers/calc-check-digit.function.mjs +0 -21
- package/esm2022/spx-helpers/public-api.mjs +0 -4
- package/esm2022/spx-helpers/softpak-components-spx-helpers.mjs +0 -5
- package/esm2022/spx-helpers/spx-severity.enum.mjs +0 -10
- package/esm2022/spx-helpers/value-pair-to-value.function.mjs +0 -7
- package/esm2022/spx-inputs/public-api.mjs +0 -6
- package/esm2022/spx-inputs/softpak-components-spx-inputs.mjs +0 -5
- package/esm2022/spx-inputs/spx-dropdown.component.mjs +0 -93
- package/esm2022/spx-inputs/spx-input-box.component.mjs +0 -273
- package/esm2022/spx-inputs/spx-input-date/spx-input-date.component.mjs +0 -194
- package/esm2022/spx-inputs/spx-input-float.component.mjs +0 -157
- package/esm2022/spx-inputs/spx-input-number.component.mjs +0 -87
- package/esm2022/spx-inputs/spx-input-radio.component.mjs +0 -129
- package/esm2022/spx-inputs/spx-input-text.component.mjs +0 -160
- package/esm2022/spx-inputs/spx-input-time-modal.component.mjs +0 -131
- package/esm2022/spx-inputs/spx-input-time.component.mjs +0 -156
- package/esm2022/spx-inputs/spx-input-type.enum.mjs +0 -17
- package/esm2022/spx-inputs/spx-input.component.mjs +0 -461
- package/esm2022/spx-inputs/spx-value-interface.mjs +0 -2
- package/esm2022/spx-navigation/public-api.mjs +0 -5
- package/esm2022/spx-navigation/softpak-components-spx-navigation.mjs +0 -5
- package/esm2022/spx-navigation/spx-home-tile.component.mjs +0 -71
- package/esm2022/spx-navigation/spx-home-tiles.component.mjs +0 -24
- package/esm2022/spx-navigation/spx-navigation-item.interface.mjs +0 -2
- package/esm2022/spx-navigation/spx-navigation.component.mjs +0 -47
- package/esm2022/spx-number-check/public-api.mjs +0 -2
- package/esm2022/spx-number-check/softpak-components-spx-number-check.mjs +0 -5
- package/esm2022/spx-number-check/spx-number-check.component.mjs +0 -265
- package/esm2022/spx-pagination/public-api.mjs +0 -2
- package/esm2022/spx-pagination/softpak-components-spx-pagination.mjs +0 -5
- package/esm2022/spx-pagination/spx-pagination.component.mjs +0 -44
- package/esm2022/spx-patch/patch-check.function.mjs +0 -9
- package/esm2022/spx-patch/public-api.mjs +0 -4
- package/esm2022/spx-patch/release-check.function.mjs +0 -14
- package/esm2022/spx-patch/softpak-components-spx-patch.mjs +0 -5
- package/esm2022/spx-patch/spx-patch.component.mjs +0 -54
- package/esm2022/spx-progress-bar/public-api.mjs +0 -2
- package/esm2022/spx-progress-bar/softpak-components-spx-progress-bar.mjs +0 -5
- package/esm2022/spx-progress-bar/spx-progress-bar.component.mjs +0 -29
- package/esm2022/spx-spinner/public-api.mjs +0 -2
- package/esm2022/spx-spinner/softpak-components-spx-spinner.mjs +0 -5
- package/esm2022/spx-spinner/spx-spinner.component.mjs +0 -160
- package/esm2022/spx-stock-info/public-api.mjs +0 -3
- package/esm2022/spx-stock-info/softpak-components-spx-stock-info.mjs +0 -5
- package/esm2022/spx-stock-info/spx-stock-info-value.interface.mjs +0 -2
- package/esm2022/spx-stock-info/spx-stock-info.component.mjs +0 -324
- package/esm2022/spx-storage/public-api.mjs +0 -3
- package/esm2022/spx-storage/softpak-components-spx-storage.mjs +0 -5
- package/esm2022/spx-storage/src/spx-storage-key.enum.mjs +0 -13
- package/esm2022/spx-storage/src/spx-storage.class.mjs +0 -45
- package/esm2022/spx-suggestion/public-api.mjs +0 -2
- package/esm2022/spx-suggestion/softpak-components-spx-suggestion.mjs +0 -5
- package/esm2022/spx-suggestion/spx-suggestion.component.mjs +0 -61
- package/esm2022/spx-toaster/public-api.mjs +0 -4
- package/esm2022/spx-toaster/softpak-components-spx-toaster.mjs +0 -5
- package/esm2022/spx-toaster/src/spx-toaster-autoclose-speed.mjs +0 -23
- package/esm2022/spx-toaster/src/spx-toaster-message.interface.mjs +0 -3
- package/esm2022/spx-toaster/src/spx-toaster.component.mjs +0 -168
- package/esm2022/spx-update/public-api.mjs +0 -3
- package/esm2022/spx-update/softpak-components-spx-update.mjs +0 -5
- package/esm2022/spx-update/src/spx-update-info.component.mjs +0 -86
- package/esm2022/spx-update/src/spx-update-progress.component.mjs +0 -46
- package/esm2022/spx-validation/max.validator.mjs +0 -17
- package/esm2022/spx-validation/maxlength.validator.mjs +0 -20
- package/esm2022/spx-validation/min.validator.mjs +0 -17
- package/esm2022/spx-validation/minlength.validator.mjs +0 -20
- package/esm2022/spx-validation/pattern.validator.mjs +0 -12
- package/esm2022/spx-validation/public-api.mjs +0 -9
- package/esm2022/spx-validation/required.validator.mjs +0 -12
- package/esm2022/spx-validation/softpak-components-spx-validation.mjs +0 -5
- package/esm2022/spx-validation/spx-validate-control.component.mjs +0 -65
- package/esm2022/spx-validation/year-and-month.validator.mjs +0 -42
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LWNoYW5nZS1kZXRhaWxzLXZhbHVlLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NvZnRwYWsvY29tcG9uZW50cy9zcHgtY2hhbmdlLWRldGFpbHMvc3B4LWNoYW5nZS1kZXRhaWxzLXZhbHVlLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3B4VmFsdWVQYWlyIH0gZnJvbSBcIkBzb2Z0cGFrL2NvbXBvbmVudHMvc3B4LWlucHV0c1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNweENoYW5nZURldGFpbHNWYWx1ZUkge1xuICAgIGNhdGVnb3J5PzogU3B4VmFsdWVQYWlyPHN0cmluZz47XG4gICAgY29udGFpbmVyVHlwZTogU3B4VmFsdWVQYWlyPHN0cmluZz47XG4gICAgbGljZW5zZVBsYXRlOiBTcHhWYWx1ZVBhaXI8c3RyaW5nPjtcbiAgICB0b25zVGVzdGVkOiBTcHhWYWx1ZVBhaXI8c3RyaW5nPjtcbn1cbiJdfQ==
|
|
@@ -1,197 +0,0 @@
|
|
|
1
|
-
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
-
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
3
|
-
import { spxValidatorRequired, SpxValidateControlComponent } from '@softpak/components/spx-validation';
|
|
4
|
-
import { SpxInputComponent, SpxInputTypeEnum } from '@softpak/components/spx-inputs';
|
|
5
|
-
import { SpxFormButtonTypeEnum, SpxFormViewComponent } from '@softpak/components/spx-form-view';
|
|
6
|
-
import { SpxButtonComponent } from '@softpak/components/spx-button';
|
|
7
|
-
import { SpxSeverityEnum, valuePairToValue } from '@softpak/components/spx-helpers';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
import * as i1 from "@angular/forms";
|
|
10
|
-
export const sectionChangeDetails = 'changeDetails';
|
|
11
|
-
export const ctrlContainerNumber = 'containerNumber';
|
|
12
|
-
export const ctrlContainerSeqNr = 'containerSeqNr';
|
|
13
|
-
export const ctrlContainerType = 'containerType';
|
|
14
|
-
export const ctrlCustomer = 'customer';
|
|
15
|
-
export const ctrlTonsTested = 'tonsTested';
|
|
16
|
-
export const ctrlLicensePlate = 'licensePlate';
|
|
17
|
-
export const ctrlCategory = 'category';
|
|
18
|
-
export const ctrlUseCategories = 'useCategories';
|
|
19
|
-
export class SpxChangeDetailsComponent {
|
|
20
|
-
get ctrlCategory() { return this.formGroup.get(ctrlCategory); }
|
|
21
|
-
get ctrlCustomer() { return this.formGroup.get(ctrlCustomer); }
|
|
22
|
-
get ctrlContainerType() { return this.formGroup.get(ctrlContainerType); }
|
|
23
|
-
get ctrlLicensePlate() { return this.formGroup.get(ctrlLicensePlate); }
|
|
24
|
-
get ctrlTonsTested() { return this.formGroup?.get(ctrlTonsTested); }
|
|
25
|
-
get ctrlUseCategories() { return this.formGroup?.get(ctrlUseCategories); }
|
|
26
|
-
constructor(formBuilder) {
|
|
27
|
-
this.formBuilder = formBuilder;
|
|
28
|
-
this.suggestions = {};
|
|
29
|
-
this.spxBlurCategory = new EventEmitter();
|
|
30
|
-
this.spxBlurContainerType = new EventEmitter();
|
|
31
|
-
this.spxSearchCategory = new EventEmitter();
|
|
32
|
-
this.spxSearchContainerType = new EventEmitter();
|
|
33
|
-
this.spxSearchTonsTested = new EventEmitter();
|
|
34
|
-
this.submit = new EventEmitter();
|
|
35
|
-
this.form = {
|
|
36
|
-
buttons: [
|
|
37
|
-
{
|
|
38
|
-
severity: SpxSeverityEnum.success,
|
|
39
|
-
type: SpxFormButtonTypeEnum.submit,
|
|
40
|
-
label: () => this.textSave,
|
|
41
|
-
}
|
|
42
|
-
],
|
|
43
|
-
sections: [
|
|
44
|
-
{
|
|
45
|
-
key: sectionChangeDetails,
|
|
46
|
-
showTitle: () => false,
|
|
47
|
-
fields: [
|
|
48
|
-
{
|
|
49
|
-
key: ctrlContainerSeqNr,
|
|
50
|
-
type: () => SpxInputTypeEnum.hidden,
|
|
51
|
-
validators: () => [spxValidatorRequired()],
|
|
52
|
-
},
|
|
53
|
-
{
|
|
54
|
-
key: ctrlContainerNumber,
|
|
55
|
-
type: () => SpxInputTypeEnum.text,
|
|
56
|
-
label: () => this.textContainerNumber,
|
|
57
|
-
readonly: () => true,
|
|
58
|
-
validators: () => [spxValidatorRequired()],
|
|
59
|
-
},
|
|
60
|
-
{
|
|
61
|
-
key: ctrlCustomer,
|
|
62
|
-
type: () => SpxInputTypeEnum.text,
|
|
63
|
-
capitalize: () => true,
|
|
64
|
-
readonly: () => true,
|
|
65
|
-
label: () => this.textCustomer,
|
|
66
|
-
validators: () => [spxValidatorRequired()],
|
|
67
|
-
},
|
|
68
|
-
{
|
|
69
|
-
key: ctrlContainerType,
|
|
70
|
-
type: () => SpxInputTypeEnum.autocomplete,
|
|
71
|
-
label: () => this.textContainerType,
|
|
72
|
-
capitalize: () => true,
|
|
73
|
-
validators: () => [spxValidatorRequired()],
|
|
74
|
-
},
|
|
75
|
-
{
|
|
76
|
-
key: ctrlTonsTested,
|
|
77
|
-
type: () => SpxInputTypeEnum.radio,
|
|
78
|
-
label: () => this.textTonsTested,
|
|
79
|
-
show: () => this.suggestions?.[ctrlTonsTested] && this.suggestions?.[ctrlTonsTested].length && this.suggestions?.[ctrlTonsTested].length > 0,
|
|
80
|
-
validators: () => this.suggestions?.[ctrlTonsTested] && this.suggestions?.[ctrlTonsTested].length && this.suggestions?.[ctrlTonsTested].length > 0 ? [spxValidatorRequired()] : [],
|
|
81
|
-
},
|
|
82
|
-
{
|
|
83
|
-
key: ctrlLicensePlate,
|
|
84
|
-
type: () => SpxInputTypeEnum.text,
|
|
85
|
-
label: () => this.textLicensePlate,
|
|
86
|
-
capitalize: () => true,
|
|
87
|
-
},
|
|
88
|
-
{
|
|
89
|
-
key: ctrlUseCategories,
|
|
90
|
-
type: () => SpxInputTypeEnum.hidden,
|
|
91
|
-
capitalize: () => true,
|
|
92
|
-
},
|
|
93
|
-
{
|
|
94
|
-
key: ctrlCategory,
|
|
95
|
-
type: () => SpxInputTypeEnum.autocomplete,
|
|
96
|
-
label: () => this.textCategory,
|
|
97
|
-
capitalize: () => true,
|
|
98
|
-
show: () => valuePairToValue(this.ctrlUseCategories?.value),
|
|
99
|
-
validators: () => valuePairToValue(this.ctrlUseCategories?.value) ? [spxValidatorRequired()] : [],
|
|
100
|
-
}
|
|
101
|
-
]
|
|
102
|
-
}
|
|
103
|
-
]
|
|
104
|
-
};
|
|
105
|
-
}
|
|
106
|
-
createForm() {
|
|
107
|
-
return SpxFormViewComponent.createForm(this.formBuilder, this.form.sections);
|
|
108
|
-
}
|
|
109
|
-
ngOnInit() {
|
|
110
|
-
this.listenToContainerType();
|
|
111
|
-
}
|
|
112
|
-
ngOnDestroy() {
|
|
113
|
-
if (this.subContainerType) {
|
|
114
|
-
this.subContainerType.unsubscribe();
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
getRawValidators(formControl) {
|
|
118
|
-
return formControl._rawValidators;
|
|
119
|
-
}
|
|
120
|
-
onBlur(data) {
|
|
121
|
-
if (data.field.key === ctrlCategory) {
|
|
122
|
-
this.spxBlurCategory.emit(data.valuePair);
|
|
123
|
-
}
|
|
124
|
-
if (data.field.key === ctrlContainerType) {
|
|
125
|
-
this.spxBlurContainerType.emit(data.valuePair);
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
onSearch(data) {
|
|
129
|
-
if (data.field.key === ctrlCategory) {
|
|
130
|
-
this.spxSearchCategory.emit(data.valuePair);
|
|
131
|
-
}
|
|
132
|
-
if (data.field.key === ctrlContainerType) {
|
|
133
|
-
this.spxSearchContainerType.emit(data.valuePair);
|
|
134
|
-
}
|
|
135
|
-
if (data.field.key === ctrlTonsTested) {
|
|
136
|
-
this.spxSearchTonsTested.emit(data.valuePair);
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
onSubmit() {
|
|
140
|
-
this.submit.emit({
|
|
141
|
-
category: valuePairToValue(this.ctrlUseCategories.value) ? this.ctrlCategory.value : null,
|
|
142
|
-
containerType: this.ctrlContainerType.value,
|
|
143
|
-
licensePlate: this.ctrlLicensePlate.value,
|
|
144
|
-
tonsTested: this.ctrlTonsTested.value,
|
|
145
|
-
});
|
|
146
|
-
}
|
|
147
|
-
listenToContainerType() {
|
|
148
|
-
this.subContainerType = this.ctrlContainerType.valueChanges.subscribe(valuePair => {
|
|
149
|
-
this.ctrlTonsTested.setValue({ value: null });
|
|
150
|
-
this.spxSearchTonsTested.emit(valuePair);
|
|
151
|
-
});
|
|
152
|
-
}
|
|
153
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SpxChangeDetailsComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
154
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SpxChangeDetailsComponent, isStandalone: true, selector: "spx-change-details", inputs: { formGroup: "formGroup", suggestions: "suggestions", textCategory: "textCategory", textContainerNumber: "textContainerNumber", textContainerType: "textContainerType", textCustomer: "textCustomer", textLicensePlate: "textLicensePlate", textSave: "textSave", textTonsTested: "textTonsTested" }, outputs: { spxBlurCategory: "spxBlurCategory", spxBlurContainerType: "spxBlurContainerType", spxSearchCategory: "spxSearchCategory", spxSearchContainerType: "spxSearchContainerType", spxSearchTonsTested: "spxSearchTonsTested", submit: "submit" }, ngImport: i0, template: "<form [formGroup]=\"formGroup\" class=\"max-w-lg mx-auto flex flex-col gap-3\" (ngSubmit)=\"onSubmit()\">\n <spx-form-view\n [spxFormGroup]=\"formGroup\"\n [spxForm]=\"form\"\n [spxSuggestions]=\"suggestions\"\n (spxBlur)=\"onBlur($event)\"\n (spxSearch)=\"onSearch($event)\">\n </spx-form-view>\n</form>", dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: SpxFormViewComponent, selector: "spx-form-view", inputs: ["spxFormGroup", "spxForm", "spxSuggestions"], outputs: ["spxBlur", "spxClick", "spxSearch"] }] }); }
|
|
155
|
-
}
|
|
156
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SpxChangeDetailsComponent, decorators: [{
|
|
157
|
-
type: Component,
|
|
158
|
-
args: [{ selector: 'spx-change-details', standalone: true, imports: [
|
|
159
|
-
FormsModule,
|
|
160
|
-
ReactiveFormsModule,
|
|
161
|
-
SpxButtonComponent,
|
|
162
|
-
SpxFormViewComponent,
|
|
163
|
-
SpxInputComponent,
|
|
164
|
-
SpxValidateControlComponent
|
|
165
|
-
], template: "<form [formGroup]=\"formGroup\" class=\"max-w-lg mx-auto flex flex-col gap-3\" (ngSubmit)=\"onSubmit()\">\n <spx-form-view\n [spxFormGroup]=\"formGroup\"\n [spxForm]=\"form\"\n [spxSuggestions]=\"suggestions\"\n (spxBlur)=\"onBlur($event)\"\n (spxSearch)=\"onSearch($event)\">\n </spx-form-view>\n</form>" }]
|
|
166
|
-
}], ctorParameters: () => [{ type: i1.FormBuilder }], propDecorators: { formGroup: [{
|
|
167
|
-
type: Input
|
|
168
|
-
}], suggestions: [{
|
|
169
|
-
type: Input
|
|
170
|
-
}], textCategory: [{
|
|
171
|
-
type: Input
|
|
172
|
-
}], textContainerNumber: [{
|
|
173
|
-
type: Input
|
|
174
|
-
}], textContainerType: [{
|
|
175
|
-
type: Input
|
|
176
|
-
}], textCustomer: [{
|
|
177
|
-
type: Input
|
|
178
|
-
}], textLicensePlate: [{
|
|
179
|
-
type: Input
|
|
180
|
-
}], textSave: [{
|
|
181
|
-
type: Input
|
|
182
|
-
}], textTonsTested: [{
|
|
183
|
-
type: Input
|
|
184
|
-
}], spxBlurCategory: [{
|
|
185
|
-
type: Output
|
|
186
|
-
}], spxBlurContainerType: [{
|
|
187
|
-
type: Output
|
|
188
|
-
}], spxSearchCategory: [{
|
|
189
|
-
type: Output
|
|
190
|
-
}], spxSearchContainerType: [{
|
|
191
|
-
type: Output
|
|
192
|
-
}], spxSearchTonsTested: [{
|
|
193
|
-
type: Output
|
|
194
|
-
}], submit: [{
|
|
195
|
-
type: Output
|
|
196
|
-
}] } });
|
|
197
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LWNoYW5nZS1kZXRhaWxzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NvZnRwYWsvY29tcG9uZW50cy9zcHgtY2hhbmdlLWRldGFpbHMvc3B4LWNoYW5nZS1kZXRhaWxzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NvZnRwYWsvY29tcG9uZW50cy9zcHgtY2hhbmdlLWRldGFpbHMvc3B4LWNoYW5nZS1kZXRhaWxzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUF1QyxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV2RyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUV2RyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQWdCLE1BQU0sZ0NBQWdDLENBQUM7QUFDbkcsT0FBTyxFQUFFLHFCQUFxQixFQUEyQixvQkFBb0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3pILE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7O0FBR3BGLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLGVBQWUsQ0FBQztBQUNwRCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxpQkFBaUIsQ0FBQztBQUNyRCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxnQkFBZ0IsQ0FBQztBQUNuRCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxlQUFlLENBQUM7QUFDakQsTUFBTSxDQUFDLE1BQU0sWUFB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UTtzQkFBaEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNJLGVBQWU7c0JBQXhCLE1BQU07Z0JBQ0csb0JBQW9CO3NCQUE3QixNQUFNO2dCQUNHLGlCQUFpQjtzQkFBMUIsTUFBTTtnQkFDRyxzQkFBc0I7c0JBQS9CLE1BQU07Z0JBQ0csbUJBQW1CO3NCQUE1QixNQUFNO2dCQUNHLE1BQU07c0JBQWYsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHNweFZhbGlkYXRvclJlcXVpcmVkLCBTcHhWYWxpZGF0ZUNvbnRyb2xDb21wb25lbnQgfSBmcm9tICdAc29mdHBhay9jb21wb25lbnRzL3NweC12YWxpZGF0aW9uJztcblxuaW1wb3J0IHsgU3B4SW5wdXRDb21wb25lbnQsIFNweElucHV0VHlwZUVudW0sIFNweFZhbHVlUGFpciB9IGZyb20gJ0Bzb2Z0cGFrL2NvbXBvbmVudHMvc3B4LWlucHV0cyc7XG5pbXBvcnQgeyBTcHhGb3JtQnV0dG9uVHlwZUVudW0sIFNweEZvcm1GaWVsZEksIFNweEZvcm1JLCBTcHhGb3JtVmlld0NvbXBvbmVudCB9IGZyb20gJ0Bzb2Z0cGFrL2NvbXBvbmVudHMvc3B4LWZvcm0tdmlldyc7XG5pbXBvcnQgeyBTcHhCdXR0b25Db21wb25lbnQgfSBmcm9tICdAc29mdHBhay9jb21wb25lbnRzL3NweC1idXR0b24nO1xuaW1wb3J0IHsgU3B4U2V2ZXJpdHlFbnVtLCB2YWx1ZVBhaXJUb1ZhbHVlIH0gZnJvbSAnQHNvZnRwYWsvY29tcG9uZW50cy9zcHgtaGVscGVycyc7XG5pbXBvcnQgeyBTcHhDaGFuZ2VEZXRhaWxzVmFsdWVJIH0gZnJvbSAnLi9zcHgtY2hhbmdlLWRldGFpbHMtdmFsdWUuaW50ZXJmYWNlJztcblxuZXhwb3J0IGNvbnN0IHNlY3Rpb25DaGFuZ2VEZXRhaWxzID0gJ2NoYW5nZURldGFpbHMnO1xuZXhwb3J0IGNvbnN0IGN0cmxDb250YWluZXJOdW1iZXIgPSAnY29udGFpbmVyTnVtYmVyJztcbmV4cG9ydCBjb25zdCBjdHJsQ29udGFpbmVyU2VxTnIgPSAnY29udGFpbmVyU2VxTnInO1xuZXhwb3J0IGNvbnN0IGN0cmxDb250YWluZXJUeXBlID0gJ2NvbnRhaW5lclR5cGUnO1xuZXhwb3J0IGNvbnN0IGN0cmxDdXN0b21lciA9ICdjdXN0b21lcic7XG5leHBvcnQgY29uc3QgY3RybFRvbnNUZXN0ZWQgPSAndG9uc1Rlc3RlZCc7XG5leHBvcnQgY29uc3QgY3RybExpY2Vuc2VQbGF0ZSA9ICdsaWNlbnNlUGxhdGUnO1xuZXhwb3J0IGNvbnN0IGN0cmxDYXRlZ29yeSA9ICdjYXRlZ29yeSc7XG5leHBvcnQgY29uc3QgY3RybFVzZUNhdGVnb3JpZXMgPSAndXNlQ2F0ZWdvcmllcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NweC1jaGFuZ2UtZGV0YWlscycsXG4gIHRlbXBsYXRlVXJsOiAnLi9zcHgtY2hhbmdlLWRldGFpbHMuY29tcG9uZW50Lmh0bWwnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBTcHhCdXR0b25Db21wb25lbnQsXG4gICAgU3B4Rm9ybVZpZXdDb21wb25lbnQsXG4gICAgU3B4SW5wdXRDb21wb25lbnQsXG4gICAgU3B4VmFsaWRhdGVDb250cm9sQ29tcG9uZW50XG5dXG59KVxuZXhwb3J0IGNsYXNzIFNweENoYW5nZURldGFpbHNDb21wb25lbnQge1xuICBASW5wdXQoKSBmb3JtR3JvdXAhOiBGb3JtR3JvdXA7XG4gIEBJbnB1dCgpIHN1Z2dlc3Rpb25zOiBhbnkgPSB7fTtcbiAgQElucHV0KCkgdGV4dENhdGVnb3J5ITogc3RyaW5nO1xuICBASW5wdXQoKSB0ZXh0Q29udGFpbmVyTnVtYmVyITogc3RyaW5nO1xuICBASW5wdXQoKSB0ZXh0Q29udGFpbmVyVHlwZSE6IHN0cmluZztcbiAgQElucHV0KCkgdGV4dEN1c3RvbWVyITogc3RyaW5nO1xuICBASW5wdXQoKSB0ZXh0TGljZW5zZVBsYXRlITogc3RyaW5nO1xuICBASW5wdXQoKSB0ZXh0U2F2ZSE6IHN0cmluZztcbiAgQElucHV0KCkgdGV4dFRvbnNUZXN0ZWQhOiBzdHJpbmc7XG4gIEBPdXRwdXQoKSBzcHhCbHVyQ2F0ZWdvcnk6IEV2ZW50RW1pdHRlcjxTcHhWYWx1ZVBhaXI8c3RyaW5nPj4gPSBuZXcgRXZlbnRFbWl0dGVyPFNweFZhbHVlUGFpcjxzdHJpbmc+PigpO1xuICBAT3V0cHV0KCkgc3B4Qmx1ckNvbnRhaW5lclR5cGU6IEV2ZW50RW1pdHRlcjxTcHhWYWx1ZVBhaXI8c3RyaW5nPj4gPSBuZXcgRXZlbnRFbWl0dGVyPFNweFZhbHVlUGFpcjxzdHJpbmc+PigpO1xuICBAT3V0cHV0KCkgc3B4U2VhcmNoQ2F0ZWdvcnk6IEV2ZW50RW1pdHRlcjxTcHhWYWx1ZVBhaXI8c3RyaW5nPj4gPSBuZXcgRXZlbnRFbWl0dGVyPFNweFZhbHVlUGFpcjxzdHJpbmc+PigpO1xuICBAT3V0cHV0KCkgc3B4U2VhcmNoQ29udGFpbmVyVHlwZTogRXZlbnRFbWl0dGVyPFNweFZhbHVlUGFpcjxzdHJpbmc+PiA9IG5ldyBFdmVudEVtaXR0ZXI8U3B4VmFsdWVQYWlyPHN0cmluZz4+KCk7XG4gIEBPdXRwdXQoKSBzcHhTZWFyY2hUb25zVGVzdGVkOiBFdmVudEVtaXR0ZXI8U3B4VmFsdWVQYWlyPHN0cmluZz4+ID0gbmV3IEV2ZW50RW1pdHRlcjxTcHhWYWx1ZVBhaXI8c3RyaW5nPj4oKTtcbiAgQE91dHB1dCgpIHN1Ym1pdDogRXZlbnRFbWl0dGVyPFNweENoYW5nZURldGFpbHNWYWx1ZUk+ID0gbmV3IEV2ZW50RW1pdHRlcjxTcHhDaGFuZ2VEZXRhaWxzVmFsdWVJPigpO1xuXG4gIGZvcm06IFNweEZvcm1JID0ge1xuICAgIGJ1dHRvbnM6IFtcbiAgICAgIHtcbiAgICAgICAgc2V2ZXJpdHk6IFNweFNldmVyaXR5RW51bS5zdWNjZXNzLFxuICAgICAgICB0eXBlOiBTcHhGb3JtQnV0dG9uVHlwZUVudW0uc3VibWl0LFxuICAgICAgICBsYWJlbDogKCkgPT4gdGhpcy50ZXh0U2F2ZSxcbiAgICAgIH1cbiAgICBdLFxuICAgIHNlY3Rpb25zOiBbXG4gICAgICB7XG4gICAgICAgIGtleTogc2VjdGlvbkNoYW5nZURldGFpbHMsXG4gICAgICAgIHNob3dUaXRsZTogKCkgPT4gZmFsc2UsXG4gICAgICAgIGZpZWxkczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGtleTogY3RybENvbnRhaW5lclNlcU5yLFxuICAgICAgICAgICAgdHlwZTogKCkgPT4gU3B4SW5wdXRUeXBlRW51bS5oaWRkZW4sXG4gICAgICAgICAgICB2YWxpZGF0b3JzOiAoKSA9PiBbc3B4VmFsaWRhdG9yUmVxdWlyZWQoKV0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBrZXk6IGN0cmxDb250YWluZXJOdW1iZXIsXG4gICAgICAgICAgICB0eXBlOiAoKSA9PiBTcHhJbnB1dFR5cGVFbnVtLnRleHQsXG4gICAgICAgICAgICBsYWJlbDogKCkgPT4gdGhpcy50ZXh0Q29udGFpbmVyTnVtYmVyLFxuICAgICAgICAgICAgcmVhZG9ubHk6ICgpID0+IHRydWUsXG4gICAgICAgICAgICB2YWxpZGF0b3JzOiAoKSA9PiBbc3B4VmFsaWRhdG9yUmVxdWlyZWQoKV0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBrZXk6IGN0cmxDdXN0b21lcixcbiAgICAgICAgICAgIHR5cGU6ICgpID0+IFNweElucHV0VHlwZUVudW0udGV4dCxcbiAgICAgICAgICAgIGNhcGl0YWxpemU6ICgpID0+IHRydWUsXG4gICAgICAgICAgICByZWFkb25seTogKCkgPT4gdHJ1ZSxcbiAgICAgICAgICAgIGxhYmVsOiAoKSA9PiB0aGlzLnRleHRDdXN0b21lcixcbiAgICAgICAgICAgIHZhbGlkYXRvcnM6ICgpID0+IFtzcHhWYWxpZGF0b3JSZXF1aXJlZCgpXSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGtleTogY3RybENvbnRhaW5lclR5cGUsXG4gICAgICAgICAgICB0eXBlOiAoKSA9PiBTcHhJbnB1dFR5cGVFbnVtLmF1dG9jb21wbGV0ZSxcbiAgICAgICAgICAgIGxhYmVsOiAoKSA9PiB0aGlzLnRleHRDb250YWluZXJUeXBlLFxuICAgICAgICAgICAgY2FwaXRhbGl6ZTogKCkgPT4gdHJ1ZSxcbiAgICAgICAgICAgIHZhbGlkYXRvcnM6ICgpID0+IFtzcHhWYWxpZGF0b3JSZXF1aXJlZCgpXSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGtleTogY3RybFRvbnNUZXN0ZWQsXG4gICAgICAgICAgICB0eXBlOiAoKSA9PiBTcHhJbnB1dFR5cGVFbnVtLnJhZGlvLFxuICAgICAgICAgICAgbGFiZWw6ICgpID0+IHRoaXMudGV4dFRvbnNUZXN0ZWQsXG4gICAgICAgICAgICBzaG93OiAoKSA9PiB0aGlzLnN1Z2dlc3Rpb25zPy5bY3RybFRvbnNUZXN0ZWRdICYmIHRoaXMuc3VnZ2VzdGlvbnM/LltjdHJsVG9uc1Rlc3RlZF0ubGVuZ3RoICYmIHRoaXMuc3VnZ2VzdGlvbnM/LltjdHJsVG9uc1Rlc3RlZF0ubGVuZ3RoID4gMCxcbiAgICAgICAgICAgIHZhbGlkYXRvcnM6ICgpID0+IHRoaXMuc3VnZ2VzdGlvbnM/LltjdHJsVG9uc1Rlc3RlZF0gJiYgdGhpcy5zdWdnZXN0aW9ucz8uW2N0cmxUb25zVGVzdGVkXS5sZW5ndGggJiYgdGhpcy5zdWdnZXN0aW9ucz8uW2N0cmxUb25zVGVzdGVkXS5sZW5ndGggPiAwID8gW3NweFZhbGlkYXRvclJlcXVpcmVkKCldIDogW10sXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBrZXk6IGN0cmxMaWNlbnNlUGxhdGUsXG4gICAgICAgICAgICB0eXBlOiAoKSA9PiBTcHhJbnB1dFR5cGVFbnVtLnRleHQsXG4gICAgICAgICAgICBsYWJlbDogKCkgPT4gdGhpcy50ZXh0TGljZW5zZVBsYXRlLFxuICAgICAgICAgICAgY2FwaXRhbGl6ZTogKCkgPT4gdHJ1ZSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGtleTogY3RybFVzZUNhdGVnb3JpZXMsXG4gICAgICAgICAgICB0eXBlOiAoKSA9PiBTcHhJbnB1dFR5cGVFbnVtLmhpZGRlbixcbiAgICAgICAgICAgIGNhcGl0YWxpemU6ICgpID0+IHRydWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBrZXk6IGN0cmxDYXRlZ29yeSxcbiAgICAgICAgICAgIHR5cGU6ICgpID0+IFNweElucHV0VHlwZUVudW0uYXV0b2NvbXBsZXRlLFxuICAgICAgICAgICAgbGFiZWw6ICgpID0+IHRoaXMudGV4dENhdGVnb3J5LFxuICAgICAgICAgICAgY2FwaXRhbGl6ZTogKCkgPT4gdHJ1ZSxcbiAgICAgICAgICAgIHNob3c6ICgpID0+IHZhbHVlUGFpclRvVmFsdWUodGhpcy5jdHJsVXNlQ2F0ZWdvcmllcz8udmFsdWUpLFxuICAgICAgICAgICAgdmFsaWRhdG9yczogKCkgPT4gdmFsdWVQYWlyVG9WYWx1ZSh0aGlzLmN0cmxVc2VDYXRlZ29yaWVzPy52YWx1ZSkgPyBbc3B4VmFsaWRhdG9yUmVxdWlyZWQoKV0gOiBbXSxcbiAgICAgICAgICB9XG4gICAgICAgIF1cbiAgICAgIH1cbiAgICBdXG4gIH07XG5cbiAgZ2V0IGN0cmxDYXRlZ29yeSgpOiBGb3JtQ29udHJvbCB7IHJldHVybiB0aGlzLmZvcm1Hcm91cC5nZXQoY3RybENhdGVnb3J5KSBhcyBGb3JtQ29udHJvbDsgfVxuICBnZXQgY3RybEN1c3RvbWVyKCk6IEZvcm1Db250cm9sIHsgcmV0dXJuIHRoaXMuZm9ybUdyb3VwLmdldChjdHJsQ3VzdG9tZXIpIGFzIEZvcm1Db250cm9sOyB9XG4gIGdldCBjdHJsQ29udGFpbmVyVHlwZSgpOiBGb3JtQ29udHJvbCB7IHJldHVybiB0aGlzLmZvcm1Hcm91cC5nZXQoY3RybENvbnRhaW5lclR5cGUpIGFzIEZvcm1Db250cm9sOyB9XG4gIGdldCBjdHJsTGljZW5zZVBsYXRlKCk6IEZvcm1Db250cm9sIHsgcmV0dXJuIHRoaXMuZm9ybUdyb3VwLmdldChjdHJsTGljZW5zZVBsYXRlKSBhcyBGb3JtQ29udHJvbDsgfVxuICBnZXQgY3RybFRvbnNUZXN0ZWQoKTogRm9ybUNvbnRyb2wgeyByZXR1cm4gdGhpcy5mb3JtR3JvdXA/LmdldChjdHJsVG9uc1Rlc3RlZCkgYXMgRm9ybUNvbnRyb2w7IH1cbiAgZ2V0IGN0cmxVc2VDYXRlZ29yaWVzKCk6IEZvcm1Db250cm9sIHsgcmV0dXJuIHRoaXMuZm9ybUdyb3VwPy5nZXQoY3RybFVzZUNhdGVnb3JpZXMpIGFzIEZvcm1Db250cm9sOyB9XG5cbiAgcHJpdmF0ZSBzdWJDb250YWluZXJUeXBlPzogU3Vic2NyaXB0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKHJlYWRvbmx5IGZvcm1CdWlsZGVyOiBGb3JtQnVpbGRlcikge1xuICB9XG5cbiAgY3JlYXRlRm9ybSgpOiBGb3JtR3JvdXAge1xuICAgIHJldHVybiBTcHhGb3JtVmlld0NvbXBvbmVudC5jcmVhdGVGb3JtKHRoaXMuZm9ybUJ1aWxkZXIsIHRoaXMuZm9ybS5zZWN0aW9ucyk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmxpc3RlblRvQ29udGFpbmVyVHlwZSgpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3ViQ29udGFpbmVyVHlwZSkge1xuICAgICAgdGhpcy5zdWJDb250YWluZXJUeXBlLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgZ2V0UmF3VmFsaWRhdG9ycyhmb3JtQ29udHJvbDogRm9ybUNvbnRyb2wpIHtcbiAgICByZXR1cm4gKGZvcm1Db250cm9sIGFzIGFueSkuX3Jhd1ZhbGlkYXRvcnM7XG4gIH1cblxuICBvbkJsdXIoZGF0YTogeyBmaWVsZDogU3B4Rm9ybUZpZWxkSSwgdmFsdWVQYWlyOiBTcHhWYWx1ZVBhaXI8YW55PiB9KSB7XG4gICAgaWYgKGRhdGEuZmllbGQua2V5ID09PSBjdHJsQ2F0ZWdvcnkpIHtcbiAgICAgIHRoaXMuc3B4Qmx1ckNhdGVnb3J5LmVtaXQoZGF0YS52YWx1ZVBhaXIpO1xuICAgIH1cbiAgICBpZiAoZGF0YS5maWVsZC5rZXkgPT09IGN0cmxDb250YWluZXJUeXBlKSB7XG4gICAgICB0aGlzLnNweEJsdXJDb250YWluZXJUeXBlLmVtaXQoZGF0YS52YWx1ZVBhaXIpO1xuICAgIH1cbiAgfVxuXG4gIG9uU2VhcmNoKGRhdGE6IHsgZmllbGQ6IFNweEZvcm1GaWVsZEksIHZhbHVlUGFpcjogU3B4VmFsdWVQYWlyPGFueT4gfSkge1xuICAgIGlmIChkYXRhLmZpZWxkLmtleSA9PT0gY3RybENhdGVnb3J5KSB7XG4gICAgICB0aGlzLnNweFNlYXJjaENhdGVnb3J5LmVtaXQoZGF0YS52YWx1ZVBhaXIpO1xuICAgIH1cbiAgICBpZiAoZGF0YS5maWVsZC5rZXkgPT09IGN0cmxDb250YWluZXJUeXBlKSB7XG4gICAgICB0aGlzLnNweFNlYXJjaENvbnRhaW5lclR5cGUuZW1pdChkYXRhLnZhbHVlUGFpcik7XG4gICAgfVxuICAgIGlmIChkYXRhLmZpZWxkLmtleSA9PT0gY3RybFRvbnNUZXN0ZWQpIHtcbiAgICAgIHRoaXMuc3B4U2VhcmNoVG9uc1Rlc3RlZC5lbWl0KGRhdGEudmFsdWVQYWlyKTtcbiAgICB9XG4gIH1cblxuICBvblN1Ym1pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN1Ym1pdC5lbWl0KHtcbiAgICAgIGNhdGVnb3J5OiB2YWx1ZVBhaXJUb1ZhbHVlKHRoaXMuY3RybFVzZUNhdGVnb3JpZXMudmFsdWUpID8gdGhpcy5jdHJsQ2F0ZWdvcnkudmFsdWUgOiBudWxsLFxuICAgICAgY29udGFpbmVyVHlwZTogdGhpcy5jdHJsQ29udGFpbmVyVHlwZS52YWx1ZSxcbiAgICAgIGxpY2Vuc2VQbGF0ZTogdGhpcy5jdHJsTGljZW5zZVBsYXRlLnZhbHVlLFxuICAgICAgdG9uc1Rlc3RlZDogdGhpcy5jdHJsVG9uc1Rlc3RlZC52YWx1ZSxcbiAgICB9KVxuICB9XG5cbiAgcHJpdmF0ZSBsaXN0ZW5Ub0NvbnRhaW5lclR5cGUoKTogdm9pZCB7XG4gICAgdGhpcy5zdWJDb250YWluZXJUeXBlID0gdGhpcy5jdHJsQ29udGFpbmVyVHlwZS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKHZhbHVlUGFpciA9PiB7XG4gICAgICB0aGlzLmN0cmxUb25zVGVzdGVkLnNldFZhbHVlKHsgdmFsdWU6IG51bGwgfSk7XG4gICAgICB0aGlzLnNweFNlYXJjaFRvbnNUZXN0ZWQuZW1pdCh2YWx1ZVBhaXIpO1xuICAgIH0pO1xuICB9XG59XG4iLCI8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiIGNsYXNzPVwibWF4LXctbGcgbXgtYXV0byBmbGV4IGZsZXgtY29sIGdhcC0zXCIgKG5nU3VibWl0KT1cIm9uU3VibWl0KClcIj5cbiAgPHNweC1mb3JtLXZpZXdcbiAgICBbc3B4Rm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiXG4gICAgW3NweEZvcm1dPVwiZm9ybVwiXG4gICAgW3NweFN1Z2dlc3Rpb25zXT1cInN1Z2dlc3Rpb25zXCJcbiAgICAoc3B4Qmx1cik9XCJvbkJsdXIoJGV2ZW50KVwiXG4gICAgKHNweFNlYXJjaCk9XCJvblNlYXJjaCgkZXZlbnQpXCI+XG4gIDwvc3B4LWZvcm0tdmlldz5cbjwvZm9ybT4iXX0=
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export * from './src/spx-channel-indicator.component';
|
|
2
|
-
export * from './src/spx-welcome.component';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NvZnRwYWsvY29tcG9uZW50cy9zcHgtY2hhbm5lbC1zZWxlY3Rpb24vcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsNkJBQTZCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NyYy9zcHgtY2hhbm5lbC1pbmRpY2F0b3IuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL3NweC13ZWxjb21lLmNvbXBvbmVudCc7XG4iXX0=
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './public-api';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29mdHBhay1jb21wb25lbnRzLXNweC1jaGFubmVsLXNlbGVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NvZnRwYWsvY29tcG9uZW50cy9zcHgtY2hhbm5lbC1zZWxlY3Rpb24vc29mdHBhay1jb21wb25lbnRzLXNweC1jaGFubmVsLXNlbGVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { Component, Input, Output, EventEmitter } from '@angular/core';
|
|
2
|
-
import { SpxButtonComponent } from '@softpak/components/spx-button';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class SpxChannelIndicatorComponent {
|
|
5
|
-
constructor() {
|
|
6
|
-
this.spxChange = new EventEmitter();
|
|
7
|
-
}
|
|
8
|
-
onChange() {
|
|
9
|
-
this.spxChange.emit();
|
|
10
|
-
}
|
|
11
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SpxChannelIndicatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
12
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SpxChannelIndicatorComponent, isStandalone: true, selector: "spx-channel-indicator", inputs: { channel: "channel", channelType: "channelType", txtChange: "txtChange" }, outputs: { spxChange: "spxChange" }, ngImport: i0, template: `<div class="bg-white p-3 rounded flex gap-3 items-center text-black">
|
|
13
|
-
<div class="grow">
|
|
14
|
-
<div class="text-lg font-bold">{{ channel?.brand }}</div>
|
|
15
|
-
<div class="text-base text-gray-600">{{ channelType }}</div>
|
|
16
|
-
</div>
|
|
17
|
-
<spx-button (click)="onChange()" [spxType]="'button'">{{ txtChange }}</spx-button>
|
|
18
|
-
</div>`, isInline: true, dependencies: [{ kind: "component", type: SpxButtonComponent, selector: "spx-button", inputs: ["spxDisabled", "spxClass", "spxClassObject", "spxForm", "spxFullHeight", "spxFullWidth", "spxSeverity", "spxSize", "spxTabIndex", "spxType"], outputs: ["spxClick"] }] }); }
|
|
19
|
-
}
|
|
20
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SpxChannelIndicatorComponent, decorators: [{
|
|
21
|
-
type: Component,
|
|
22
|
-
args: [{
|
|
23
|
-
selector: 'spx-channel-indicator',
|
|
24
|
-
template: `<div class="bg-white p-3 rounded flex gap-3 items-center text-black">
|
|
25
|
-
<div class="grow">
|
|
26
|
-
<div class="text-lg font-bold">{{ channel?.brand }}</div>
|
|
27
|
-
<div class="text-base text-gray-600">{{ channelType }}</div>
|
|
28
|
-
</div>
|
|
29
|
-
<spx-button (click)="onChange()" [spxType]="'button'">{{ txtChange }}</spx-button>
|
|
30
|
-
</div>`,
|
|
31
|
-
standalone: true,
|
|
32
|
-
imports: [
|
|
33
|
-
SpxButtonComponent,
|
|
34
|
-
],
|
|
35
|
-
}]
|
|
36
|
-
}], ctorParameters: () => [], propDecorators: { channel: [{
|
|
37
|
-
type: Input
|
|
38
|
-
}], channelType: [{
|
|
39
|
-
type: Input
|
|
40
|
-
}], txtChange: [{
|
|
41
|
-
type: Input
|
|
42
|
-
}], spxChange: [{
|
|
43
|
-
type: Output
|
|
44
|
-
}] } });
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LWNoYW5uZWwtaW5kaWNhdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NvZnRwYWsvY29tcG9uZW50cy9zcHgtY2hhbm5lbC1zZWxlY3Rpb24vc3JjL3NweC1jaGFubmVsLWluZGljYXRvci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV2RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7QUFnQnBFLE1BQU0sT0FBTyw0QkFBNEI7SUFNdkM7UUFGVSxjQUFTLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7SUFHL0QsQ0FBQztJQUVMLFFBQVE7UUFDTixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3hCLENBQUM7K0dBWFUsNEJBQTRCO21HQUE1Qiw0QkFBNEIsME1BWjdCOzs7Ozs7U0FNSCw0REFHTCxrQkFBa0I7OzRGQUdULDRCQUE0QjtrQkFkeEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsdUJBQXVCO29CQUNqQyxRQUFRLEVBQUU7Ozs7OztTQU1IO29CQUNQLFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUU7d0JBQ1Asa0JBQWtCO3FCQUNuQjtpQkFDRjt3REFFVSxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNJLFNBQVM7c0JBQWxCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3B4QXBwQ2hhbm5lbEksIFNweEFwcENoYW5uZWxUeXBlRW51bSB9IGZyb20gJ0Bzb2Z0cGFrL2NvbXBvbmVudHMvc3B4LWFwcC1jb25maWd1cmF0aW9uJztcbmltcG9ydCB7IFNweEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJ0Bzb2Z0cGFrL2NvbXBvbmVudHMvc3B4LWJ1dHRvbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NweC1jaGFubmVsLWluZGljYXRvcicsXG4gIHRlbXBsYXRlOiBgPGRpdiBjbGFzcz1cImJnLXdoaXRlIHAtMyByb3VuZGVkIGZsZXggZ2FwLTMgaXRlbXMtY2VudGVyIHRleHQtYmxhY2tcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZ3Jvd1wiPlxuICAgICAgPGRpdiBjbGFzcz1cInRleHQtbGcgZm9udC1ib2xkXCI+e3sgY2hhbm5lbD8uYnJhbmQgfX08L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWJhc2UgdGV4dC1ncmF5LTYwMFwiPnt7IGNoYW5uZWxUeXBlIH19PC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPHNweC1idXR0b24gKGNsaWNrKT1cIm9uQ2hhbmdlKClcIiBbc3B4VHlwZV09XCInYnV0dG9uJ1wiPnt7IHR4dENoYW5nZSB9fTwvc3B4LWJ1dHRvbj5cbiAgPC9kaXY+YCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIFNweEJ1dHRvbkNvbXBvbmVudCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU3B4Q2hhbm5lbEluZGljYXRvckNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGNoYW5uZWw/OiBTcHhBcHBDaGFubmVsSTtcbiAgQElucHV0KCkgY2hhbm5lbFR5cGU/OiBTcHhBcHBDaGFubmVsVHlwZUVudW07XG4gIEBJbnB1dCgpIHR4dENoYW5nZSE6IHN0cmluZztcbiAgQE91dHB1dCgpIHNweENoYW5nZTogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICApIHsgfVxuXG4gIG9uQ2hhbmdlKCkge1xuICAgIHRoaXMuc3B4Q2hhbmdlLmVtaXQoKTtcbiAgfVxufVxuIl19
|
|
@@ -1,132 +0,0 @@
|
|
|
1
|
-
import { Component, Input, Output, EventEmitter } from '@angular/core';
|
|
2
|
-
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
3
|
-
import { SpxAppChannelTypeEnum } from '@softpak/components/spx-app-configuration';
|
|
4
|
-
import { SpxButtonComponent } from '@softpak/components/spx-button';
|
|
5
|
-
import { SpxFormSectionComponent } from '@softpak/components/spx-form-section';
|
|
6
|
-
import { SpxFormButtonTypeEnum, SpxFormViewComponent } from '@softpak/components/spx-form-view';
|
|
7
|
-
import { SpxSeverityEnum, valuePairToValue } from '@softpak/components/spx-helpers';
|
|
8
|
-
import { SpxInputComponent, SpxInputTypeEnum } from '@softpak/components/spx-inputs';
|
|
9
|
-
import { spxValidatorRequired } from '@softpak/components/spx-validation';
|
|
10
|
-
import * as i0 from "@angular/core";
|
|
11
|
-
import * as i1 from "@angular/forms";
|
|
12
|
-
export const sectionWelcome = 'welcome';
|
|
13
|
-
export const ctrlChannel = 'channel';
|
|
14
|
-
export const ctrlChannelType = 'channelType';
|
|
15
|
-
export class SpxWelcomeComponent {
|
|
16
|
-
get ctrlChannel() { return this.formGroup.get(ctrlChannel); }
|
|
17
|
-
get ctrlChannelType() { return this.formGroup.get(ctrlChannelType); }
|
|
18
|
-
get filteredCompanies() { return (this.channels ?? [])?.filter(channel => channel.channelTypes.includes(SpxAppChannelTypeEnum.production)).map(c => ({ description: c.brand, value: c.brand })); }
|
|
19
|
-
constructor(formBuilder) {
|
|
20
|
-
this.formBuilder = formBuilder;
|
|
21
|
-
this.channels = [];
|
|
22
|
-
this.channelTypes = [];
|
|
23
|
-
this.spxSelect = new EventEmitter();
|
|
24
|
-
this.suggestions = {
|
|
25
|
-
[ctrlChannelType]: [],
|
|
26
|
-
[ctrlChannel]: [],
|
|
27
|
-
};
|
|
28
|
-
this.subscriptions = {};
|
|
29
|
-
this.form = {
|
|
30
|
-
buttons: [
|
|
31
|
-
{
|
|
32
|
-
severity: SpxSeverityEnum.success,
|
|
33
|
-
type: SpxFormButtonTypeEnum.submit,
|
|
34
|
-
label: () => this.textSelect,
|
|
35
|
-
}
|
|
36
|
-
],
|
|
37
|
-
sections: [
|
|
38
|
-
{
|
|
39
|
-
key: sectionWelcome,
|
|
40
|
-
showTitle: () => false,
|
|
41
|
-
fields: [
|
|
42
|
-
{
|
|
43
|
-
key: ctrlChannel,
|
|
44
|
-
type: () => SpxInputTypeEnum.radio,
|
|
45
|
-
label: () => this.textCompany,
|
|
46
|
-
validators: () => [spxValidatorRequired()],
|
|
47
|
-
},
|
|
48
|
-
{
|
|
49
|
-
key: ctrlChannelType,
|
|
50
|
-
type: () => SpxInputTypeEnum.radio,
|
|
51
|
-
label: () => this.textChannel,
|
|
52
|
-
capitalize: () => true,
|
|
53
|
-
show: () => valuePairToValue(this.ctrlChannel.value),
|
|
54
|
-
validators: () => [spxValidatorRequired()],
|
|
55
|
-
},
|
|
56
|
-
]
|
|
57
|
-
}
|
|
58
|
-
]
|
|
59
|
-
};
|
|
60
|
-
}
|
|
61
|
-
ngOnChanges(changes) {
|
|
62
|
-
this.suggestions[ctrlChannel] = (this.channels ?? [])?.filter(channel => channel.channelTypes.includes(SpxAppChannelTypeEnum.production)).map(c => ({ description: c.brand, value: c.brand }));
|
|
63
|
-
}
|
|
64
|
-
ngOnDestroy() {
|
|
65
|
-
}
|
|
66
|
-
ngOnInit() {
|
|
67
|
-
this.subscriptions.channel = this.ctrlChannel.valueChanges.subscribe(valuePair => {
|
|
68
|
-
const channel = this.channels?.find(c => c.brand === valuePairToValue(valuePair));
|
|
69
|
-
this.suggestions[ctrlChannelType] = !channel ? [] : channel?.channelTypes?.map(ct => ({
|
|
70
|
-
description: ct,
|
|
71
|
-
value: ct
|
|
72
|
-
}));
|
|
73
|
-
this.ctrlChannelType.setValue({
|
|
74
|
-
value: SpxAppChannelTypeEnum.production,
|
|
75
|
-
});
|
|
76
|
-
});
|
|
77
|
-
}
|
|
78
|
-
onSubmit() {
|
|
79
|
-
this.spxSelect.emit({
|
|
80
|
-
channel: this.channels?.find(c => c.brand === valuePairToValue(this.ctrlChannel.value)),
|
|
81
|
-
channelType: valuePairToValue(this.ctrlChannelType.value),
|
|
82
|
-
});
|
|
83
|
-
}
|
|
84
|
-
createForm() {
|
|
85
|
-
return SpxFormViewComponent.createForm(this.formBuilder, this.form.sections);
|
|
86
|
-
}
|
|
87
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SpxWelcomeComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
88
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SpxWelcomeComponent, isStandalone: true, selector: "spx-welcome", inputs: { channels: "channels", channelTypes: "channelTypes", formGroup: "formGroup", textChannel: "textChannel", textCompany: "textCompany", textSelect: "textSelect" }, outputs: { spxSelect: "spxSelect" }, usesOnChanges: true, ngImport: i0, template: `<form [formGroup]="formGroup" class="max-w-lg mx-auto flex flex-col gap-3" (ngSubmit)="onSubmit()">
|
|
89
|
-
<spx-form-view
|
|
90
|
-
[spxForm]="form"
|
|
91
|
-
[spxFormGroup]="formGroup"
|
|
92
|
-
[spxSuggestions]="suggestions">
|
|
93
|
-
</spx-form-view>
|
|
94
|
-
</form>`, isInline: true, dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: SpxFormViewComponent, selector: "spx-form-view", inputs: ["spxFormGroup", "spxForm", "spxSuggestions"], outputs: ["spxBlur", "spxClick", "spxSearch"] }] }); }
|
|
95
|
-
}
|
|
96
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SpxWelcomeComponent, decorators: [{
|
|
97
|
-
type: Component,
|
|
98
|
-
args: [{
|
|
99
|
-
selector: 'spx-welcome',
|
|
100
|
-
template: `<form [formGroup]="formGroup" class="max-w-lg mx-auto flex flex-col gap-3" (ngSubmit)="onSubmit()">
|
|
101
|
-
<spx-form-view
|
|
102
|
-
[spxForm]="form"
|
|
103
|
-
[spxFormGroup]="formGroup"
|
|
104
|
-
[spxSuggestions]="suggestions">
|
|
105
|
-
</spx-form-view>
|
|
106
|
-
</form>`,
|
|
107
|
-
standalone: true,
|
|
108
|
-
imports: [
|
|
109
|
-
FormsModule,
|
|
110
|
-
ReactiveFormsModule,
|
|
111
|
-
SpxButtonComponent,
|
|
112
|
-
SpxFormSectionComponent,
|
|
113
|
-
SpxFormViewComponent,
|
|
114
|
-
SpxInputComponent
|
|
115
|
-
]
|
|
116
|
-
}]
|
|
117
|
-
}], ctorParameters: () => [{ type: i1.FormBuilder }], propDecorators: { channels: [{
|
|
118
|
-
type: Input
|
|
119
|
-
}], channelTypes: [{
|
|
120
|
-
type: Input
|
|
121
|
-
}], formGroup: [{
|
|
122
|
-
type: Input
|
|
123
|
-
}], textChannel: [{
|
|
124
|
-
type: Input
|
|
125
|
-
}], textCompany: [{
|
|
126
|
-
type: Input
|
|
127
|
-
}], textSelect: [{
|
|
128
|
-
type: Input
|
|
129
|
-
}], spxSelect: [{
|
|
130
|
-
type: Output
|
|
131
|
-
}] } });
|
|
132
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LXdlbGNvbWUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc29mdHBhay9jb21wb25lbnRzL3NweC1jaGFubmVsLXNlbGVjdGlvbi9zcmMvc3B4LXdlbGNvbWUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQStDLE1BQU0sZUFBZSxDQUFDO0FBQ3BILE9BQU8sRUFBdUMsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkcsT0FBTyxFQUFrQixxQkFBcUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxxQkFBcUIsRUFBWSxvQkFBb0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzFHLE9BQU8sRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNwRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQWdCLE1BQU0sZ0NBQWdDLENBQUM7QUFDbkcsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7OztBQUcxRSxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsU0FBUyxDQUFDO0FBQ3hDLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxTQUFTLENBQUM7QUFDckMsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLGFBQWEsQ0FBQztBQXlCN0MsTUFBTSxPQUFPLG1CQUFtQjtJQWdCOUIsSUFBSSxXQUFXLEtBQWtCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFnQixDQUFDLENBQUMsQ0FBQztJQUN6RixJQUFJLGVBQWUsS0FBa0IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQWdCLENBQUMsQ0FBQyxDQUFDO0lBcUNqRyxJQUFJLGlCQUFpQixLQUE2QixPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUMsRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxxQkFBcUIsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFMU4sWUFBcUIsV0FBd0I7UUFBeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUF2RHBDLGFBQVEsR0FBc0IsRUFBRSxDQUFDO1FBQ2pDLGlCQUFZLEdBQTZCLEVBQUUsQ0FBQztRQUszQyxjQUFTLEdBQW1DLElBQUksWUFBWSxFQUFvQixDQUFDO1FBQzNGLGdCQUFXLEdBR1A7WUFDQSxDQUFDLGVBQWUsQ0FBQyxFQUFFLEVBQUU7WUFDckIsQ0FBQyxXQUFXLENBQUMsRUFBRSxFQUFFO1NBQ2xCLENBQUM7UUFJSSxrQkFBYSxHQUVqQixFQUFFLENBQUM7UUFFUCxTQUFJLEdBQWE7WUFDZixPQUFPLEVBQUU7Z0JBQ1A7b0JBQ0UsUUFBUSxFQUFFLGVBQWUsQ0FBQyxPQUFPO29CQUNqQyxJQUFJLEVBQUUscUJBQXFCLENBQUMsTUFBTTtvQkFDbEMsS0FBSyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVO2lCQUM3QjthQUNGO1lBQ0QsUUFBUSxFQUFFO2dCQUNSO29CQUNFLEdBQUcsRUFBRSxjQUFjO29CQUNuQixTQUFTLEVBQUUsR0FBRyxFQUFFLENBQUMsS0FBSztvQkFDdEIsTUFBTSxFQUFFO3dCQUNOOzRCQUNFLEdBQUcsRUFBRSxXQUFXOzRCQUNoQixJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsS0FBSzs0QkFDbEMsS0FBSyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXOzRCQUM3QixVQUFVLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO3lCQUMzQzt3QkFDRDs0QkFDRSxHQUFHLEVBQUUsZUFBZTs0QkFDcEIsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDLGdCQUFnQixDQUFDLEtBQUs7NEJBQ2xDLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVzs0QkFDN0IsVUFBVSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUk7NEJBQ3RCLElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQzs0QkFDcEQsVUFBVSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsb0JBQW9CLEVBQUUsQ0FBQzt5QkFDM0M7cUJBQ0Y7aUJBQ0Y7YUFDRjtTQUNGLENBQUM7SUFLRixDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLHFCQUFxQixDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBRWpNLENBQUM7SUFFRCxXQUFXO0lBRVgsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDL0UsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7WUFDbEYsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsWUFBWSxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQ3BGLFdBQVcsRUFBRSxFQUFFO2dCQUNmLEtBQUssRUFBRSxFQUFFO2FBQ1YsQ0FBQyxDQUFDLENBQUM7WUFDSixJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQztnQkFDNUIsS0FBSyxFQUFFLHFCQUFxQixDQUFDLFVBQVU7YUFDeEMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDO1lBQ2xCLE9BQU8sRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEtBQUssZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN2RixXQUFXLEVBQUUsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUM7U0FDMUQsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFVBQVU7UUFDUixPQUFPLG9CQUFvQixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDL0UsQ0FBQzsrR0ExRlUsbUJBQW1CO21HQUFuQixtQkFBbUIsMlNBakJwQjs7Ozs7O1VBTUYsMkRBR04sV0FBVyxtU0FDWCxtQkFBbUIsZ0xBR25CLG9CQUFvQjs7NEZBSVgsbUJBQW1CO2tCQW5CL0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsYUFBYTtvQkFDdkIsUUFBUSxFQUFFOzs7Ozs7VUFNRjtvQkFDUixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFO3dCQUNQLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixrQkFBa0I7d0JBQ2xCLHVCQUF1Qjt3QkFDdkIsb0JBQW9CO3dCQUNwQixpQkFBaUI7cUJBQ3BCO2lCQUNBO2dGQUVVLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNJLFNBQVM7c0JBQWxCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBKc29uUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzLCBPbkluaXQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU3B4QXBwQ2hhbm5lbEksIFNweEFwcENoYW5uZWxUeXBlRW51bSB9IGZyb20gJ0Bzb2Z0cGFrL2NvbXBvbmVudHMvc3B4LWFwcC1jb25maWd1cmF0aW9uJztcbmltcG9ydCB7IFNweEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJ0Bzb2Z0cGFrL2NvbXBvbmVudHMvc3B4LWJ1dHRvbic7XG5pbXBvcnQgeyBTcHhGb3JtU2VjdGlvbkNvbXBvbmVudCB9IGZyb20gJ0Bzb2Z0cGFrL2NvbXBvbmVudHMvc3B4LWZvcm0tc2VjdGlvbic7XG5pbXBvcnQgeyBTcHhGb3JtQnV0dG9uVHlwZUVudW0sIFNweEZvcm1JLCBTcHhGb3JtVmlld0NvbXBvbmVudCB9IGZyb20gJ0Bzb2Z0cGFrL2NvbXBvbmVudHMvc3B4LWZvcm0tdmlldyc7XG5pbXBvcnQgeyBTcHhTZXZlcml0eUVudW0sIHZhbHVlUGFpclRvVmFsdWUgfSBmcm9tICdAc29mdHBhay9jb21wb25lbnRzL3NweC1oZWxwZXJzJztcbmltcG9ydCB7IFNweElucHV0Q29tcG9uZW50LCBTcHhJbnB1dFR5cGVFbnVtLCBTcHhWYWx1ZVBhaXIgfSBmcm9tICdAc29mdHBhay9jb21wb25lbnRzL3NweC1pbnB1dHMnO1xuaW1wb3J0IHsgc3B4VmFsaWRhdG9yUmVxdWlyZWQgfSBmcm9tICdAc29mdHBhay9jb21wb25lbnRzL3NweC12YWxpZGF0aW9uJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgY29uc3Qgc2VjdGlvbldlbGNvbWUgPSAnd2VsY29tZSc7XG5leHBvcnQgY29uc3QgY3RybENoYW5uZWwgPSAnY2hhbm5lbCc7XG5leHBvcnQgY29uc3QgY3RybENoYW5uZWxUeXBlID0gJ2NoYW5uZWxUeXBlJztcbmV4cG9ydCBpbnRlcmZhY2UgU3B4V2VsY29tZVZhbHVlSSB7XG4gIFtjdHJsQ2hhbm5lbF0/OiBTcHhBcHBDaGFubmVsSTtcbiAgW2N0cmxDaGFubmVsVHlwZV06IFNweEFwcENoYW5uZWxUeXBlRW51bTtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3B4LXdlbGNvbWUnLFxuICB0ZW1wbGF0ZTogYDxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCIgY2xhc3M9XCJtYXgtdy1sZyBteC1hdXRvIGZsZXggZmxleC1jb2wgZ2FwLTNcIiAobmdTdWJtaXQpPVwib25TdWJtaXQoKVwiPlxuICAgIDxzcHgtZm9ybS12aWV3XG4gICAgICBbc3B4Rm9ybV09XCJmb3JtXCJcbiAgICAgIFtzcHhGb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCJcbiAgICAgIFtzcHhTdWdnZXN0aW9uc109XCJzdWdnZXN0aW9uc1wiPlxuICAgIDwvc3B4LWZvcm0tdmlldz5cbiAgPC9mb3JtPmAsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIFNweEJ1dHRvbkNvbXBvbmVudCxcbiAgICBTcHhGb3JtU2VjdGlvbkNvbXBvbmVudCxcbiAgICBTcHhGb3JtVmlld0NvbXBvbmVudCxcbiAgICBTcHhJbnB1dENvbXBvbmVudFxuXVxufSlcbmV4cG9ydCBjbGFzcyBTcHhXZWxjb21lQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIGNoYW5uZWxzPzogU3B4QXBwQ2hhbm5lbElbXSA9IFtdO1xuICBASW5wdXQoKSBjaGFubmVsVHlwZXM/OiBTcHhBcHBDaGFubmVsVHlwZUVudW1bXSA9IFtdO1xuICBASW5wdXQoKSBmb3JtR3JvdXAhOiBGb3JtR3JvdXA7XG4gIEBJbnB1dCgpIHRleHRDaGFubmVsITogc3RyaW5nO1xuICBASW5wdXQoKSB0ZXh0Q29tcGFueSE6IHN0cmluZztcbiAgQElucHV0KCkgdGV4dFNlbGVjdCE6IHN0cmluZztcbiAgQE91dHB1dCgpIHNweFNlbGVjdDogRXZlbnRFbWl0dGVyPFNweFdlbGNvbWVWYWx1ZUk+ID0gbmV3IEV2ZW50RW1pdHRlcjxTcHhXZWxjb21lVmFsdWVJPigpO1xuICBzdWdnZXN0aW9uczoge1xuICAgIFtjdHJsQ2hhbm5lbFR5cGVdPzogU3B4VmFsdWVQYWlyPHN0cmluZz5bXTtcbiAgICBbY3RybENoYW5uZWxdPzogU3B4VmFsdWVQYWlyPHN0cmluZz5bXTtcbiAgfSA9IHtcbiAgICAgIFtjdHJsQ2hhbm5lbFR5cGVdOiBbXSxcbiAgICAgIFtjdHJsQ2hhbm5lbF06IFtdLFxuICAgIH07XG5cbiAgZ2V0IGN0cmxDaGFubmVsKCk6IEZvcm1Db250cm9sIHsgcmV0dXJuIHRoaXMuZm9ybUdyb3VwLmdldChjdHJsQ2hhbm5lbCkgYXMgRm9ybUNvbnRyb2w7IH1cbiAgZ2V0IGN0cmxDaGFubmVsVHlwZSgpOiBGb3JtQ29udHJvbCB7IHJldHVybiB0aGlzLmZvcm1Hcm91cC5nZXQoY3RybENoYW5uZWxUeXBlKSBhcyBGb3JtQ29udHJvbDsgfVxuICBwcml2YXRlIHN1YnNjcmlwdGlvbnM6IHtcbiAgICBjaGFubmVsPzogU3Vic2NyaXB0aW9uXG4gIH0gPSB7fTtcblxuICBmb3JtOiBTcHhGb3JtSSA9IHtcbiAgICBidXR0b25zOiBbXG4gICAgICB7XG4gICAgICAgIHNldmVyaXR5OiBTcHhTZXZlcml0eUVudW0uc3VjY2VzcyxcbiAgICAgICAgdHlwZTogU3B4Rm9ybUJ1dHRvblR5cGVFbnVtLnN1Ym1pdCxcbiAgICAgICAgbGFiZWw6ICgpID0+IHRoaXMudGV4dFNlbGVjdCxcbiAgICAgIH1cbiAgICBdLFxuICAgIHNlY3Rpb25zOiBbXG4gICAgICB7XG4gICAgICAgIGtleTogc2VjdGlvbldlbGNvbWUsXG4gICAgICAgIHNob3dUaXRsZTogKCkgPT4gZmFsc2UsXG4gICAgICAgIGZpZWxkczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGtleTogY3RybENoYW5uZWwsXG4gICAgICAgICAgICB0eXBlOiAoKSA9PiBTcHhJbnB1dFR5cGVFbnVtLnJhZGlvLFxuICAgICAgICAgICAgbGFiZWw6ICgpID0+IHRoaXMudGV4dENvbXBhbnksXG4gICAgICAgICAgICB2YWxpZGF0b3JzOiAoKSA9PiBbc3B4VmFsaWRhdG9yUmVxdWlyZWQoKV0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBrZXk6IGN0cmxDaGFubmVsVHlwZSxcbiAgICAgICAgICAgIHR5cGU6ICgpID0+IFNweElucHV0VHlwZUVudW0ucmFkaW8sXG4gICAgICAgICAgICBsYWJlbDogKCkgPT4gdGhpcy50ZXh0Q2hhbm5lbCxcbiAgICAgICAgICAgIGNhcGl0YWxpemU6ICgpID0+IHRydWUsXG4gICAgICAgICAgICBzaG93OiAoKSA9PiB2YWx1ZVBhaXJUb1ZhbHVlKHRoaXMuY3RybENoYW5uZWwudmFsdWUpLFxuICAgICAgICAgICAgdmFsaWRhdG9yczogKCkgPT4gW3NweFZhbGlkYXRvclJlcXVpcmVkKCldLFxuICAgICAgICAgIH0sXG4gICAgICAgIF1cbiAgICAgIH1cbiAgICBdXG4gIH07XG5cbiAgZ2V0IGZpbHRlcmVkQ29tcGFuaWVzKCk6IFNweFZhbHVlUGFpcjxzdHJpbmc+W10geyByZXR1cm4gKHRoaXMuY2hhbm5lbHMgPz8gW10pPy5maWx0ZXIoY2hhbm5lbCA9PiBjaGFubmVsLmNoYW5uZWxUeXBlcy5pbmNsdWRlcyhTcHhBcHBDaGFubmVsVHlwZUVudW0ucHJvZHVjdGlvbikpLm1hcChjID0+ICh7IGRlc2NyaXB0aW9uOiBjLmJyYW5kLCB2YWx1ZTogYy5icmFuZCB9KSk7IH1cblxuICBjb25zdHJ1Y3RvcihyZWFkb25seSBmb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIpIHtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICB0aGlzLnN1Z2dlc3Rpb25zW2N0cmxDaGFubmVsXSA9ICh0aGlzLmNoYW5uZWxzID8/IFtdKT8uZmlsdGVyKGNoYW5uZWwgPT4gY2hhbm5lbC5jaGFubmVsVHlwZXMuaW5jbHVkZXMoU3B4QXBwQ2hhbm5lbFR5cGVFbnVtLnByb2R1Y3Rpb24pKS5tYXAoYyA9PiAoeyBkZXNjcmlwdGlvbjogYy5icmFuZCwgdmFsdWU6IGMuYnJhbmQgfSkpO1xuICBcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuXG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuY2hhbm5lbCA9IHRoaXMuY3RybENoYW5uZWwudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSh2YWx1ZVBhaXIgPT4ge1xuICAgICAgY29uc3QgY2hhbm5lbCA9IHRoaXMuY2hhbm5lbHM/LmZpbmQoYyA9PiBjLmJyYW5kID09PSB2YWx1ZVBhaXJUb1ZhbHVlKHZhbHVlUGFpcikpO1xuICAgICAgdGhpcy5zdWdnZXN0aW9uc1tjdHJsQ2hhbm5lbFR5cGVdID0gIWNoYW5uZWwgPyBbXSA6IGNoYW5uZWw/LmNoYW5uZWxUeXBlcz8ubWFwKGN0ID0+ICh7XG4gICAgICAgIGRlc2NyaXB0aW9uOiBjdCxcbiAgICAgICAgdmFsdWU6IGN0XG4gICAgICB9KSk7XG4gICAgICB0aGlzLmN0cmxDaGFubmVsVHlwZS5zZXRWYWx1ZSh7XG4gICAgICAgIHZhbHVlOiBTcHhBcHBDaGFubmVsVHlwZUVudW0ucHJvZHVjdGlvbixcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgb25TdWJtaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zcHhTZWxlY3QuZW1pdCh7XG4gICAgICBjaGFubmVsOiB0aGlzLmNoYW5uZWxzPy5maW5kKGMgPT4gYy5icmFuZCA9PT0gdmFsdWVQYWlyVG9WYWx1ZSh0aGlzLmN0cmxDaGFubmVsLnZhbHVlKSksXG4gICAgICBjaGFubmVsVHlwZTogdmFsdWVQYWlyVG9WYWx1ZSh0aGlzLmN0cmxDaGFubmVsVHlwZS52YWx1ZSksXG4gICAgfSk7XG4gIH1cblxuICBjcmVhdGVGb3JtKCk6IEZvcm1Hcm91cCB7XG4gICAgcmV0dXJuIFNweEZvcm1WaWV3Q29tcG9uZW50LmNyZWF0ZUZvcm0odGhpcy5mb3JtQnVpbGRlciwgdGhpcy5mb3JtLnNlY3Rpb25zKTtcbiAgfVxufVxuIl19
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export * from './spx-check-digit.component';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NvZnRwYWsvY29tcG9uZW50cy9zcHgtY2hlY2stZGlnaXQvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDZCQUE2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zcHgtY2hlY2stZGlnaXQuY29tcG9uZW50JztcbiJdfQ==
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './public-api';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29mdHBhay1jb21wb25lbnRzLXNweC1jaGVjay1kaWdpdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NvZnRwYWsvY29tcG9uZW50cy9zcHgtY2hlY2stZGlnaXQvc29mdHBhay1jb21wb25lbnRzLXNweC1jaGVjay1kaWdpdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
|
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
import { Component, Input, ViewChild } from '@angular/core';
|
|
2
|
-
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
3
|
-
import { combineLatest, map, startWith } from 'rxjs';
|
|
4
|
-
import { spxValidatorRequired, spxValidatorMaxLength, spxValidatorMinLength, spxValidatorPattern, SpxValidateControlComponent } from '@softpak/components/spx-validation';
|
|
5
|
-
import { calcCheckDigit, valuePairToValue } from '@softpak/components/spx-helpers';
|
|
6
|
-
import { SpxInputComponent, SpxInputTypeEnum } from '@softpak/components/spx-inputs';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "@angular/forms";
|
|
9
|
-
const ctrlCheckDigit = 'checkDigit';
|
|
10
|
-
const ctrlContainerNumber = 'containerNumber';
|
|
11
|
-
const ctrlPrefix = 'prefix';
|
|
12
|
-
export class SpxCheckDigitComponent {
|
|
13
|
-
get ctrlCheckDigit() { return this.formGroup.get(ctrlCheckDigit); }
|
|
14
|
-
get ctrlContainerNumber() { return this.formGroup.get(ctrlContainerNumber); }
|
|
15
|
-
get ctrlContainerPrefix() { return this.formGroup.get(ctrlPrefix); }
|
|
16
|
-
constructor(formBuilder) {
|
|
17
|
-
this.formBuilder = formBuilder;
|
|
18
|
-
this.inputTypeOverlayNumber = SpxInputTypeEnum.overlayNumber;
|
|
19
|
-
this.inputTypeText = SpxInputTypeEnum.text;
|
|
20
|
-
this.formGroup = this.formBuilder.group({
|
|
21
|
-
[ctrlCheckDigit]: [null, []],
|
|
22
|
-
[ctrlContainerNumber]: [null, [
|
|
23
|
-
spxValidatorRequired(),
|
|
24
|
-
spxValidatorMaxLength(6),
|
|
25
|
-
spxValidatorMinLength(6),
|
|
26
|
-
spxValidatorPattern(/[0-9]{6}/),
|
|
27
|
-
]],
|
|
28
|
-
[ctrlPrefix]: [null, [
|
|
29
|
-
spxValidatorRequired(),
|
|
30
|
-
spxValidatorMaxLength(4),
|
|
31
|
-
spxValidatorMinLength(4),
|
|
32
|
-
spxValidatorPattern(/[a-zA-Z]{4}/),
|
|
33
|
-
]],
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
ngOnInit() {
|
|
37
|
-
this.inputChanges = combineLatest([
|
|
38
|
-
this.ctrlContainerNumber.valueChanges.pipe(startWith(this.ctrlContainerNumber.value)),
|
|
39
|
-
this.ctrlContainerPrefix.valueChanges.pipe(startWith(this.ctrlContainerPrefix.value)),
|
|
40
|
-
])
|
|
41
|
-
.pipe(map(([containerNumber$, prefix$]) => ({
|
|
42
|
-
containerNumber: containerNumber$,
|
|
43
|
-
prefix: prefix$
|
|
44
|
-
})))
|
|
45
|
-
.subscribe((v) => {
|
|
46
|
-
if (this.ctrlContainerNumber.invalid || this.ctrlContainerPrefix.invalid) {
|
|
47
|
-
this.ctrlCheckDigit.setValue(null, { emitEvent: false });
|
|
48
|
-
}
|
|
49
|
-
else {
|
|
50
|
-
const prefix = valuePairToValue(this.ctrlContainerPrefix.value);
|
|
51
|
-
const containerNumber = valuePairToValue(this.ctrlContainerNumber.value);
|
|
52
|
-
const checkDigit = calcCheckDigit(`${prefix}${containerNumber}`);
|
|
53
|
-
this.ctrlCheckDigit.setValue({ value: checkDigit }, { emitEvent: false });
|
|
54
|
-
}
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
ngAfterViewInit() {
|
|
58
|
-
setTimeout(() => {
|
|
59
|
-
this.ctrlContainerNumberRef?.setFocusIn();
|
|
60
|
-
}, 250);
|
|
61
|
-
}
|
|
62
|
-
ngOnDestroy() {
|
|
63
|
-
if (this.inputChanges) {
|
|
64
|
-
this.inputChanges.unsubscribe();
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
getRawValidators(formControl) {
|
|
68
|
-
return formControl._rawValidators;
|
|
69
|
-
}
|
|
70
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SpxCheckDigitComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
71
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: SpxCheckDigitComponent, isStandalone: true, selector: "spx-check-digit", inputs: { txtCheckDigit: "txtCheckDigit", txtContainer: "txtContainer", txtPrefix: "txtPrefix" }, viewQueries: [{ propertyName: "ctrlContainerNumberRef", first: true, predicate: ["ctrlContainerNumberRef"], descendants: true }], ngImport: i0, template: "<form [formGroup]=\"formGroup\" class=\"max-w-lg mx-auto flex flex-col gap-3\">\n <spx-input\n #ctrlContainerNumberRef\n [formControl]=\"ctrlContainerNumber\"\n [spxAutofocus]=\"true\"\n [spxCapitalize]=\"true\"\n [spxLabel]=\"txtContainer\"\n [spxPattern]=\"'[0-9]*'\"\n [spxRequired]=\"true\"\n [spxShowValidationMessages]=\"ctrlContainerNumber && ctrlContainerNumber.errors && ctrlContainerNumber.touched\"\n [spxType]=\"inputTypeOverlayNumber\"\n [spxValidators]=\"getRawValidators(ctrlContainerNumber)\">\n <spx-validate-control [control]=\"ctrlContainerNumber\" [label]=\"txtContainer\"></spx-validate-control>\n </spx-input>\n <spx-input\n [formControl]=\"ctrlContainerPrefix\"\n [spxCapitalize]=\"true\"\n [spxLabel]=\"txtPrefix\"\n [spxRequired]=\"true\"\n [spxShowValidationMessages]=\"ctrlContainerPrefix && ctrlContainerPrefix.errors && ctrlContainerPrefix.touched\"\n [spxType]=\"inputTypeText\"\n [spxValidators]=\"getRawValidators(ctrlContainerPrefix)\">\n <spx-validate-control [control]=\"ctrlContainerPrefix\" [label]=\"txtPrefix\"></spx-validate-control>\n </spx-input>\n @if (ctrlCheckDigit.value) {\n <spx-input\n [formControl]=\"ctrlCheckDigit\"\n [spxLabel]=\"txtCheckDigit\"\n [spxReadonly]=\"true\"\n [spxType]=\"inputTypeText\">\n </spx-input>\n }\n</form>", dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: SpxValidateControlComponent, selector: "spx-validate-control", inputs: ["control", "label", "submitTried"] }, { kind: "component", type: SpxInputComponent, selector: "spx-input", inputs: ["spxLabel", "spxMax", "spxMin", "spxName", "spxReadonly", "spxAutocomplete", "spxAutofocus", "spxInputMode", "spxPattern", "spxRequired", "spxSelectMonth", "spxSelectDay", "spxShowEdit", "spxShowHelp", "spxShowLabel", "spxCompact", "spxShowClear", "spxShowSearch", "spxShowValidationMessages", "spxStep", "spxSuggestions", "spxType", "spxValidators", "value", "spxCapitalize", "spxFocused"], outputs: ["spxBlur", "spxClear", "spxChange", "spxFocus", "spxEdit", "spxHelp", "spxSearch"] }] }); }
|
|
72
|
-
}
|
|
73
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SpxCheckDigitComponent, decorators: [{
|
|
74
|
-
type: Component,
|
|
75
|
-
args: [{ selector: 'spx-check-digit', standalone: true, imports: [
|
|
76
|
-
FormsModule,
|
|
77
|
-
ReactiveFormsModule,
|
|
78
|
-
SpxValidateControlComponent,
|
|
79
|
-
SpxInputComponent
|
|
80
|
-
], template: "<form [formGroup]=\"formGroup\" class=\"max-w-lg mx-auto flex flex-col gap-3\">\n <spx-input\n #ctrlContainerNumberRef\n [formControl]=\"ctrlContainerNumber\"\n [spxAutofocus]=\"true\"\n [spxCapitalize]=\"true\"\n [spxLabel]=\"txtContainer\"\n [spxPattern]=\"'[0-9]*'\"\n [spxRequired]=\"true\"\n [spxShowValidationMessages]=\"ctrlContainerNumber && ctrlContainerNumber.errors && ctrlContainerNumber.touched\"\n [spxType]=\"inputTypeOverlayNumber\"\n [spxValidators]=\"getRawValidators(ctrlContainerNumber)\">\n <spx-validate-control [control]=\"ctrlContainerNumber\" [label]=\"txtContainer\"></spx-validate-control>\n </spx-input>\n <spx-input\n [formControl]=\"ctrlContainerPrefix\"\n [spxCapitalize]=\"true\"\n [spxLabel]=\"txtPrefix\"\n [spxRequired]=\"true\"\n [spxShowValidationMessages]=\"ctrlContainerPrefix && ctrlContainerPrefix.errors && ctrlContainerPrefix.touched\"\n [spxType]=\"inputTypeText\"\n [spxValidators]=\"getRawValidators(ctrlContainerPrefix)\">\n <spx-validate-control [control]=\"ctrlContainerPrefix\" [label]=\"txtPrefix\"></spx-validate-control>\n </spx-input>\n @if (ctrlCheckDigit.value) {\n <spx-input\n [formControl]=\"ctrlCheckDigit\"\n [spxLabel]=\"txtCheckDigit\"\n [spxReadonly]=\"true\"\n [spxType]=\"inputTypeText\">\n </spx-input>\n }\n</form>" }]
|
|
81
|
-
}], ctorParameters: () => [{ type: i1.FormBuilder }], propDecorators: { txtCheckDigit: [{
|
|
82
|
-
type: Input
|
|
83
|
-
}], txtContainer: [{
|
|
84
|
-
type: Input
|
|
85
|
-
}], txtPrefix: [{
|
|
86
|
-
type: Input
|
|
87
|
-
}], ctrlContainerNumberRef: [{
|
|
88
|
-
type: ViewChild,
|
|
89
|
-
args: ['ctrlContainerNumberRef']
|
|
90
|
-
}] } });
|
|
91
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LWNoZWNrLWRpZ2l0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NvZnRwYWsvY29tcG9uZW50cy9zcHgtY2hlY2stZGlnaXQvc3B4LWNoZWNrLWRpZ2l0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NvZnRwYWsvY29tcG9uZW50cy9zcHgtY2hlY2stZGlnaXQvc3B4LWNoZWNrLWRpZ2l0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQXVDLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZHLE9BQU8sRUFBZ0IsYUFBYSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbkUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLHFCQUFxQixFQUFFLHFCQUFxQixFQUFFLG1CQUFtQixFQUFFLDJCQUEyQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDMUssT0FBTyxFQUFFLGNBQWMsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRW5GLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOzs7QUFFckYsTUFBTSxjQUFjLEdBQUcsWUFBWSxDQUFDO0FBQ3BDLE1BQU0sbUJBQW1CLEdBQUcsaUJBQWlCLENBQUM7QUFDOUMsTUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDO0FBYTVCLE1BQU0sT0FBTyxzQkFBc0I7SUFTakMsSUFBSSxjQUFjLEtBQWtCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFnQixDQUFDLENBQUMsQ0FBQztJQUMvRixJQUFJLG1CQUFtQixLQUFrQixPQUFP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QUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNsQyxDQUFDO0lBQ0gsQ0FBQztJQUVELGdCQUFnQixDQUFDLFdBQXdCO1FBQ3ZDLE9BQVEsV0FBbUIsQ0FBQyxjQUFjLENBQUM7SUFDN0MsQ0FBQzsrR0F0RVUsc0JBQXNCO21HQUF0QixzQkFBc0IsK1NDdkJuQyw2MUNBZ0NPLDJDRGZILFdBQVcsMllBQ1gsbUJBQW1CLG1XQUNuQiwyQkFBMkIsOEdBQzNCLGlCQUFpQjs7NEZBR1Isc0JBQXNCO2tCQVhsQyxTQUFTOytCQUNFLGlCQUFpQixjQUVmLElBQUksV0FDUDt3QkFDUCxXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsMkJBQTJCO3dCQUMzQixpQkFBaUI7cUJBQ3BCO2dGQUdVLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUMrQixzQkFBc0I7c0JBQTFELFNBQVM7dUJBQUMsd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24sIGNvbWJpbmVMYXRlc3QsIG1hcCwgc3RhcnRXaXRoIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBzcHhWYWxpZGF0b3JSZXF1aXJlZCwgc3B4VmFsaWRhdG9yTWF4TGVuZ3RoLCBzcHhWYWxpZGF0b3JNaW5MZW5ndGgsIHNweFZhbGlkYXRvclBhdHRlcm4sIFNweFZhbGlkYXRlQ29udHJvbENvbXBvbmVudCB9IGZyb20gJ0Bzb2Z0cGFrL2NvbXBvbmVudHMvc3B4LXZhbGlkYXRpb24nO1xuaW1wb3J0IHsgY2FsY0NoZWNrRGlnaXQsIHZhbHVlUGFpclRvVmFsdWUgfSBmcm9tICdAc29mdHBhay9jb21wb25lbnRzL3NweC1oZWxwZXJzJztcblxuaW1wb3J0IHsgU3B4SW5wdXRDb21wb25lbnQsIFNweElucHV0VHlwZUVudW0gfSBmcm9tICdAc29mdHBhay9jb21wb25lbnRzL3NweC1pbnB1dHMnO1xuXG5jb25zdCBjdHJsQ2hlY2tEaWdpdCA9ICdjaGVja0RpZ2l0JztcbmNvbnN0IGN0cmxDb250YWluZXJOdW1iZXIgPSAnY29udGFpbmVyTnVtYmVyJztcbmNvbnN0IGN0cmxQcmVmaXggPSAncHJlZml4JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3B4LWNoZWNrLWRpZ2l0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NweC1jaGVjay1kaWdpdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIFNweFZhbGlkYXRlQ29udHJvbENvbXBvbmVudCxcbiAgICBTcHhJbnB1dENvbXBvbmVudFxuXVxufSlcbmV4cG9ydCBjbGFzcyBTcHhDaGVja0RpZ2l0Q29tcG9uZW50IHtcbiAgQElucHV0KCkgdHh0Q2hlY2tEaWdpdCE6IHN0cmluZztcbiAgQElucHV0KCkgdHh0Q29udGFpbmVyITogc3RyaW5nO1xuICBASW5wdXQoKSB0eHRQcmVmaXghOiBzdHJpbmc7XG4gIEBWaWV3Q2hpbGQoJ2N0cmxDb250YWluZXJOdW1iZXJSZWYnKSBjdHJsQ29udGFpbmVyTnVtYmVyUmVmPzogU3B4SW5wdXRDb21wb25lbnQ7XG4gIGlucHV0VHlwZU92ZXJsYXlOdW1iZXIgPSBTcHhJbnB1dFR5cGVFbnVtLm92ZXJsYXlOdW1iZXI7XG4gIGlucHV0VHlwZVRleHQgPSBTcHhJbnB1dFR5cGVFbnVtLnRleHQ7XG4gIGZvcm1Hcm91cDogRm9ybUdyb3VwO1xuXG4gIGdldCBjdHJsQ2hlY2tEaWdpdCgpOiBGb3JtQ29udHJvbCB7IHJldHVybiB0aGlzLmZvcm1Hcm91cC5nZXQoY3RybENoZWNrRGlnaXQpIGFzIEZvcm1Db250cm9sOyB9XG4gIGdldCBjdHJsQ29udGFpbmVyTnVtYmVyKCk6IEZvcm1Db250cm9sIHsgcmV0dXJuIHRoaXMuZm9ybUdyb3VwLmdldChjdHJsQ29udGFpbmVyTnVtYmVyKSBhcyBGb3JtQ29udHJvbDsgfVxuICBnZXQgY3RybENvbnRhaW5lclByZWZpeCgpOiBGb3JtQ29udHJvbCB7IHJldHVybiB0aGlzLmZvcm1Hcm91cC5nZXQoY3RybFByZWZpeCkgYXMgRm9ybUNvbnRyb2w7IH1cblxuICBwcml2YXRlIGlucHV0Q2hhbmdlcz86IFN1YnNjcmlwdGlvbjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZvcm1CdWlsZGVyOiBGb3JtQnVpbGRlcixcbiAgKSB7XG4gICAgdGhpcy5mb3JtR3JvdXAgPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcbiAgICAgIFtjdHJsQ2hlY2tEaWdpdF06IFtudWxsLCBbXV0sXG4gICAgICBbY3RybENvbnRhaW5lck51bWJlcl06IFtudWxsLCBbXG4gICAgICAgIHNweFZhbGlkYXRvclJlcXVpcmVkKCksXG4gICAgICAgIHNweFZhbGlkYXRvck1heExlbmd0aCg2KSxcbiAgICAgICAgc3B4VmFsaWRhdG9yTWluTGVuZ3RoKDYpLFxuICAgICAgICBzcHhWYWxpZGF0b3JQYXR0ZXJuKC9bMC05XXs2fS8pLFxuICAgICAgXV0sXG4gICAgICBbY3RybFByZWZpeF06IFtudWxsLCBbXG4gICAgICAgIHNweFZhbGlkYXRvclJlcXVpcmVkKCksXG4gICAgICAgIHNweFZhbGlkYXRvck1heExlbmd0aCg0KSxcbiAgICAgICAgc3B4VmFsaWRhdG9yTWluTGVuZ3RoKDQpLFxuICAgICAgICBzcHhWYWxpZGF0b3JQYXR0ZXJuKC9bYS16QS1aXXs0fS8pLFxuICAgICAgXV0sXG4gICAgfSlcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuaW5wdXRDaGFuZ2VzID0gY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLmN0cmxDb250YWluZXJOdW1iZXIudmFsdWVDaGFuZ2VzLnBpcGUoc3RhcnRXaXRoKHRoaXMuY3RybENvbnRhaW5lck51bWJlci52YWx1ZSkpLFxuICAgICAgdGhpcy5jdHJsQ29udGFpbmVyUHJlZml4LnZhbHVlQ2hhbmdlcy5waXBlKHN0YXJ0V2l0aCh0aGlzLmN0cmxDb250YWluZXJQcmVmaXgudmFsdWUpKSxcbiAgICBdKVxuICAgIC5waXBlKG1hcCgoW2NvbnRhaW5lck51bWJlciQsIHByZWZpeCRdKSA9PiAoe1xuICAgICAgY29udGFpbmVyTnVtYmVyOiBjb250YWluZXJOdW1iZXIkLFxuICAgICAgcHJlZml4OiBwcmVmaXgkXG4gICAgfSkpKVxuICAgIC5zdWJzY3JpYmUoKHYpID0+IHtcbiAgICAgIGlmICh0aGlzLmN0cmxDb250YWluZXJOdW1iZXIuaW52YWxpZCB8fCB0aGlzLmN0cmxDb250YWluZXJQcmVmaXguaW52YWxpZCkge1xuICAgICAgICB0aGlzLmN0cmxDaGVja0RpZ2l0LnNldFZhbHVlKG51bGwsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IHByZWZpeCA9IHZhbHVlUGFpclRvVmFsdWUodGhpcy5jdHJsQ29udGFpbmVyUHJlZml4LnZhbHVlKTtcbiAgICAgICAgY29uc3QgY29udGFpbmVyTnVtYmVyID0gdmFsdWVQYWlyVG9WYWx1ZSh0aGlzLmN0cmxDb250YWluZXJOdW1iZXIudmFsdWUpO1xuICAgICAgICBjb25zdCBjaGVja0RpZ2l0ID0gY2FsY0NoZWNrRGlnaXQoYCR7cHJlZml4fSR7Y29udGFpbmVyTnVtYmVyfWApO1xuICAgICAgICB0aGlzLmN0cmxDaGVja0RpZ2l0LnNldFZhbHVlKHsgdmFsdWU6IGNoZWNrRGlnaXQgfSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5jdHJsQ29udGFpbmVyTnVtYmVyUmVmPy5zZXRGb2N1c0luKCk7IFxuICAgIH0sIDI1MCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pbnB1dENoYW5nZXMpIHtcbiAgICAgIHRoaXMuaW5wdXRDaGFuZ2VzLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgZ2V0UmF3VmFsaWRhdG9ycyhmb3JtQ29udHJvbDogRm9ybUNvbnRyb2wpIHtcbiAgICByZXR1cm4gKGZvcm1Db250cm9sIGFzIGFueSkuX3Jhd1ZhbGlkYXRvcnM7XG4gIH1cbn1cbiIsIjxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCIgY2xhc3M9XCJtYXgtdy1sZyBteC1hdXRvIGZsZXggZmxleC1jb2wgZ2FwLTNcIj5cbiAgPHNweC1pbnB1dFxuICAgICNjdHJsQ29udGFpbmVyTnVtYmVyUmVmXG4gICAgW2Zvcm1Db250cm9sXT1cImN0cmxDb250YWluZXJOdW1iZXJcIlxuICAgIFtzcHhBdXRvZm9jdXNdPVwidHJ1ZVwiXG4gICAgW3NweENhcGl0YWxpemVdPVwidHJ1ZVwiXG4gICAgW3NweExhYmVsXT1cInR4dENvbnRhaW5lclwiXG4gICAgW3NweFBhdHRlcm5dPVwiJ1swLTldKidcIlxuICAgIFtzcHhSZXF1aXJlZF09XCJ0cnVlXCJcbiAgICBbc3B4U2hvd1ZhbGlkYXRpb25NZXNzYWdlc109XCJjdHJsQ29udGFpbmVyTnVtYmVyICYmIGN0cmxDb250YWluZXJOdW1iZXIuZXJyb3JzICYmIGN0cmxDb250YWluZXJOdW1iZXIudG91Y2hlZFwiXG4gICAgW3NweFR5cGVdPVwiaW5wdXRUeXBlT3ZlcmxheU51bWJlclwiXG4gICAgW3NweFZhbGlkYXRvcnNdPVwiZ2V0UmF3VmFsaWRhdG9ycyhjdHJsQ29udGFpbmVyTnVtYmVyKVwiPlxuICAgIDxzcHgtdmFsaWRhdGUtY29udHJvbCBbY29udHJvbF09XCJjdHJsQ29udGFpbmVyTnVtYmVyXCIgW2xhYmVsXT1cInR4dENvbnRhaW5lclwiPjwvc3B4LXZhbGlkYXRlLWNvbnRyb2w+XG4gIDwvc3B4LWlucHV0PlxuICA8c3B4LWlucHV0XG4gICAgW2Zvcm1Db250cm9sXT1cImN0cmxDb250YWluZXJQcmVmaXhcIlxuICAgIFtzcHhDYXBpdGFsaXplXT1cInRydWVcIlxuICAgIFtzcHhMYWJlbF09XCJ0eHRQcmVmaXhcIlxuICAgIFtzcHhSZXF1aXJlZF09XCJ0cnVlXCJcbiAgICBbc3B4U2hvd1ZhbGlkYXRpb25NZXNzYWdlc109XCJjdHJsQ29udGFpbmVyUHJlZml4ICYmIGN0cmxDb250YWluZXJQcmVmaXguZXJyb3JzICYmIGN0cmxDb250YWluZXJQcmVmaXgudG91Y2hlZFwiXG4gICAgW3NweFR5cGVdPVwiaW5wdXRUeXBlVGV4dFwiXG4gICAgW3NweFZhbGlkYXRvcnNdPVwiZ2V0UmF3VmFsaWRhdG9ycyhjdHJsQ29udGFpbmVyUHJlZml4KVwiPlxuICAgIDxzcHgtdmFsaWRhdGUtY29udHJvbCBbY29udHJvbF09XCJjdHJsQ29udGFpbmVyUHJlZml4XCIgW2xhYmVsXT1cInR4dFByZWZpeFwiPjwvc3B4LXZhbGlkYXRlLWNvbnRyb2w+XG4gIDwvc3B4LWlucHV0PlxuICBAaWYgKGN0cmxDaGVja0RpZ2l0LnZhbHVlKSB7XG4gICAgPHNweC1pbnB1dFxuICAgICAgW2Zvcm1Db250cm9sXT1cImN0cmxDaGVja0RpZ2l0XCJcbiAgICAgIFtzcHhMYWJlbF09XCJ0eHRDaGVja0RpZ2l0XCJcbiAgICAgIFtzcHhSZWFkb25seV09XCJ0cnVlXCJcbiAgICAgIFtzcHhUeXBlXT1cImlucHV0VHlwZVRleHRcIj5cbiAgICA8L3NweC1pbnB1dD5cbiAgfVxuPC9mb3JtPiJdfQ==
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export * from './spx-form-section.component';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NvZnRwYWsvY29tcG9uZW50cy9zcHgtZm9ybS1zZWN0aW9uL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw4QkFBOEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc3B4LWZvcm0tc2VjdGlvbi5jb21wb25lbnQnO1xuIl19
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './public-api';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29mdHBhay1jb21wb25lbnRzLXNweC1mb3JtLXNlY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zb2Z0cGFrL2NvbXBvbmVudHMvc3B4LWZvcm0tc2VjdGlvbi9zb2Z0cGFrLWNvbXBvbmVudHMtc3B4LWZvcm0tc2VjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
|