@softpak/components 0.0.0-beta.1
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/README.md +24 -0
- package/esm2022/placeholder.mjs +2 -0
- package/esm2022/public_api.mjs +2 -0
- package/esm2022/softpak-components.mjs +5 -0
- package/esm2022/spx-alert/public-api.mjs +3 -0
- package/esm2022/spx-alert/softpak-components-spx-alert.mjs +5 -0
- package/esm2022/spx-alert/spx-alert.component.mjs +191 -0
- package/esm2022/spx-alert/spx-alert.interface.mjs +3 -0
- package/esm2022/spx-app-configuration/public-api.mjs +8 -0
- package/esm2022/spx-app-configuration/softpak-components-spx-app-configuration.mjs +5 -0
- package/esm2022/spx-app-configuration/spx-app-alert.interface.mjs +2 -0
- package/esm2022/spx-app-configuration/spx-app-bundle-set.interface.mjs +2 -0
- package/esm2022/spx-app-configuration/spx-app-channel-type.enum.mjs +8 -0
- package/esm2022/spx-app-configuration/spx-app-channel.interface.mjs +2 -0
- package/esm2022/spx-app-configuration/spx-app-config.interface.mjs +2 -0
- package/esm2022/spx-app-configuration/spx-app-id.enum.mjs +8 -0
- package/esm2022/spx-app-configuration/spx-app-lang.enum.mjs +6 -0
- package/esm2022/spx-app-configuration/spx-app-release-note.interface.mjs +2 -0
- package/esm2022/spx-button/public-api.mjs +2 -0
- package/esm2022/spx-button/softpak-components-spx-button.mjs +5 -0
- package/esm2022/spx-button/spx-button.component.mjs +129 -0
- package/esm2022/spx-capitalize/public-api.mjs +2 -0
- package/esm2022/spx-capitalize/softpak-components-spx-capitalize.mjs +5 -0
- package/esm2022/spx-capitalize/spx-capitalize.pipe.mjs +20 -0
- package/esm2022/spx-channel-selection/public-api.mjs +5 -0
- package/esm2022/spx-channel-selection/softpak-components-spx-channel-selection.mjs +5 -0
- package/esm2022/spx-channel-selection/src/spx-channel-indicator.component.mjs +45 -0
- package/esm2022/spx-channel-selection/src/spx-channel-selection.component.mjs +40 -0
- package/esm2022/spx-channel-selection/src/spx-company-selection.component.mjs +48 -0
- package/esm2022/spx-channel-selection/src/spx-welcome.component.mjs +43 -0
- package/esm2022/spx-check-digit/public-api.mjs +2 -0
- package/esm2022/spx-check-digit/softpak-components-spx-check-digit.mjs +5 -0
- package/esm2022/spx-check-digit/spx-check-digit.component.mjs +85 -0
- package/esm2022/spx-form-section/public-api.mjs +2 -0
- package/esm2022/spx-form-section/softpak-components-spx-form-section.mjs +5 -0
- package/esm2022/spx-form-section/spx-form-section.component.mjs +37 -0
- package/esm2022/spx-helpers/calc-check-digit.function.mjs +21 -0
- package/esm2022/spx-helpers/public-api.mjs +4 -0
- package/esm2022/spx-helpers/softpak-components-spx-helpers.mjs +5 -0
- package/esm2022/spx-helpers/spx-severity.enum.mjs +8 -0
- package/esm2022/spx-helpers/value-pair-to-value.function.mjs +7 -0
- package/esm2022/spx-inputs/public-api.mjs +5 -0
- package/esm2022/spx-inputs/softpak-components-spx-inputs.mjs +5 -0
- package/esm2022/spx-inputs/spx-input-box.component.mjs +231 -0
- package/esm2022/spx-inputs/spx-input-date.component.mjs +294 -0
- package/esm2022/spx-inputs/spx-input-float.component.mjs +154 -0
- package/esm2022/spx-inputs/spx-input-number.component.mjs +82 -0
- package/esm2022/spx-inputs/spx-input-radio.component.mjs +63 -0
- package/esm2022/spx-inputs/spx-input-text.component.mjs +156 -0
- package/esm2022/spx-inputs/spx-input.component.mjs +380 -0
- package/esm2022/spx-inputs/spx-value-interface.mjs +2 -0
- package/esm2022/spx-navigation/public-api.mjs +5 -0
- package/esm2022/spx-navigation/softpak-components-spx-navigation.mjs +5 -0
- package/esm2022/spx-navigation/spx-home-tile.component.mjs +33 -0
- package/esm2022/spx-navigation/spx-home-tiles.component.mjs +17 -0
- package/esm2022/spx-navigation/spx-navigation-item.interface.mjs +2 -0
- package/esm2022/spx-navigation/spx-navigation.component.mjs +42 -0
- package/esm2022/spx-patch/patch-check.function.mjs +9 -0
- package/esm2022/spx-patch/public-api.mjs +4 -0
- package/esm2022/spx-patch/release-check.function.mjs +11 -0
- package/esm2022/spx-patch/softpak-components-spx-patch.mjs +5 -0
- package/esm2022/spx-patch/spx-patch.component.mjs +46 -0
- package/esm2022/spx-progress-bar/public-api.mjs +2 -0
- package/esm2022/spx-progress-bar/softpak-components-spx-progress-bar.mjs +5 -0
- package/esm2022/spx-progress-bar/spx-progress-bar.component.mjs +29 -0
- package/esm2022/spx-spinner/public-api.mjs +2 -0
- package/esm2022/spx-spinner/softpak-components-spx-spinner.mjs +5 -0
- package/esm2022/spx-spinner/spx-spinner.component.mjs +157 -0
- package/esm2022/spx-storage/public-api.mjs +3 -0
- package/esm2022/spx-storage/softpak-components-spx-storage.mjs +5 -0
- package/esm2022/spx-storage/src/spx-storage-key.enum.mjs +13 -0
- package/esm2022/spx-storage/src/spx-storage.class.mjs +45 -0
- package/esm2022/spx-suggestion/public-api.mjs +2 -0
- package/esm2022/spx-suggestion/softpak-components-spx-suggestion.mjs +5 -0
- package/esm2022/spx-suggestion/spx-suggestion.component.mjs +47 -0
- package/esm2022/spx-toaster/public-api.mjs +4 -0
- package/esm2022/spx-toaster/softpak-components-spx-toaster.mjs +5 -0
- package/esm2022/spx-toaster/src/spx-toaster-autoclose-speed.mjs +23 -0
- package/esm2022/spx-toaster/src/spx-toaster-message.interface.mjs +3 -0
- package/esm2022/spx-toaster/src/spx-toaster.component.mjs +46 -0
- package/esm2022/spx-update/public-api.mjs +3 -0
- package/esm2022/spx-update/softpak-components-spx-update.mjs +5 -0
- package/esm2022/spx-update/src/spx-update-info.component.mjs +88 -0
- package/esm2022/spx-update/src/spx-update-progress.component.mjs +46 -0
- package/esm2022/spx-validation/max.validator.mjs +17 -0
- package/esm2022/spx-validation/maxlength.validator.mjs +20 -0
- package/esm2022/spx-validation/min.validator.mjs +17 -0
- package/esm2022/spx-validation/minlength.validator.mjs +20 -0
- package/esm2022/spx-validation/pattern.validator.mjs +12 -0
- package/esm2022/spx-validation/public-api.mjs +10 -0
- package/esm2022/spx-validation/required.validator.mjs +12 -0
- package/esm2022/spx-validation/softpak-components-spx-validation.mjs +5 -0
- package/esm2022/spx-validation/spx-validate-control.component.mjs +63 -0
- package/esm2022/spx-validation/spx-validation.module.mjs +28 -0
- package/esm2022/spx-validation/year-and-month.validator.mjs +42 -0
- package/fesm2022/softpak-components-spx-alert.mjs +201 -0
- package/fesm2022/softpak-components-spx-alert.mjs.map +1 -0
- package/fesm2022/softpak-components-spx-app-configuration.mjs +28 -0
- package/fesm2022/softpak-components-spx-app-configuration.mjs.map +1 -0
- package/fesm2022/softpak-components-spx-button.mjs +136 -0
- package/fesm2022/softpak-components-spx-button.mjs.map +1 -0
- package/fesm2022/softpak-components-spx-capitalize.mjs +27 -0
- package/fesm2022/softpak-components-spx-capitalize.mjs.map +1 -0
- package/fesm2022/softpak-components-spx-channel-selection.mjs +171 -0
- package/fesm2022/softpak-components-spx-channel-selection.mjs.map +1 -0
- package/fesm2022/softpak-components-spx-check-digit.mjs +92 -0
- package/fesm2022/softpak-components-spx-check-digit.mjs.map +1 -0
- package/fesm2022/softpak-components-spx-form-section.mjs +44 -0
- package/fesm2022/softpak-components-spx-form-section.mjs.map +1 -0
- package/fesm2022/softpak-components-spx-helpers.mjs +42 -0
- package/fesm2022/softpak-components-spx-helpers.mjs.map +1 -0
- package/fesm2022/softpak-components-spx-inputs.mjs +1340 -0
- package/fesm2022/softpak-components-spx-inputs.mjs.map +1 -0
- package/fesm2022/softpak-components-spx-navigation.mjs +93 -0
- package/fesm2022/softpak-components-spx-navigation.mjs.map +1 -0
- package/fesm2022/softpak-components-spx-patch.mjs +72 -0
- package/fesm2022/softpak-components-spx-patch.mjs.map +1 -0
- package/fesm2022/softpak-components-spx-progress-bar.mjs +36 -0
- package/fesm2022/softpak-components-spx-progress-bar.mjs.map +1 -0
- package/fesm2022/softpak-components-spx-spinner.mjs +164 -0
- package/fesm2022/softpak-components-spx-spinner.mjs.map +1 -0
- package/fesm2022/softpak-components-spx-storage.mjs +63 -0
- package/fesm2022/softpak-components-spx-storage.mjs.map +1 -0
- package/fesm2022/softpak-components-spx-suggestion.mjs +54 -0
- package/fesm2022/softpak-components-spx-suggestion.mjs.map +1 -0
- package/fesm2022/softpak-components-spx-toaster.mjs +79 -0
- package/fesm2022/softpak-components-spx-toaster.mjs.map +1 -0
- package/fesm2022/softpak-components-spx-update.mjs +138 -0
- package/fesm2022/softpak-components-spx-update.mjs.map +1 -0
- package/fesm2022/softpak-components-spx-validation.mjs +223 -0
- package/fesm2022/softpak-components-spx-validation.mjs.map +1 -0
- package/fesm2022/softpak-components.mjs +8 -0
- package/fesm2022/softpak-components.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/package.json +135 -0
- package/placeholder.d.ts +1 -0
- package/public_api.d.ts +1 -0
- package/spx-alert/index.d.ts +5 -0
- package/spx-alert/public-api.d.ts +2 -0
- package/spx-alert/spx-alert.component.d.ts +28 -0
- package/spx-alert/spx-alert.interface.d.ts +7 -0
- package/spx-app-configuration/index.d.ts +5 -0
- package/spx-app-configuration/public-api.d.ts +7 -0
- package/spx-app-configuration/spx-app-alert.interface.d.ts +7 -0
- package/spx-app-configuration/spx-app-bundle-set.interface.d.ts +4 -0
- package/spx-app-configuration/spx-app-channel-type.enum.d.ts +6 -0
- package/spx-app-configuration/spx-app-channel.interface.d.ts +10 -0
- package/spx-app-configuration/spx-app-config.interface.d.ts +19 -0
- package/spx-app-configuration/spx-app-id.enum.d.ts +6 -0
- package/spx-app-configuration/spx-app-lang.enum.d.ts +4 -0
- package/spx-app-configuration/spx-app-release-note.interface.d.ts +8 -0
- package/spx-button/index.d.ts +5 -0
- package/spx-button/public-api.d.ts +1 -0
- package/spx-button/spx-button.component.d.ts +23 -0
- package/spx-capitalize/index.d.ts +5 -0
- package/spx-capitalize/public-api.d.ts +1 -0
- package/spx-capitalize/spx-capitalize.pipe.d.ts +8 -0
- package/spx-channel-selection/index.d.ts +5 -0
- package/spx-channel-selection/public-api.d.ts +4 -0
- package/spx-channel-selection/src/spx-channel-indicator.component.d.ts +13 -0
- package/spx-channel-selection/src/spx-channel-selection.component.d.ts +11 -0
- package/spx-channel-selection/src/spx-company-selection.component.d.ts +12 -0
- package/spx-channel-selection/src/spx-welcome.component.d.ts +12 -0
- package/spx-check-digit/index.d.ts +5 -0
- package/spx-check-digit/public-api.d.ts +1 -0
- package/spx-check-digit/spx-check-digit.component.d.ts +19 -0
- package/spx-form-section/index.d.ts +5 -0
- package/spx-form-section/public-api.d.ts +1 -0
- package/spx-form-section/spx-form-section.component.d.ts +9 -0
- package/spx-helpers/calc-check-digit.function.d.ts +1 -0
- package/spx-helpers/index.d.ts +5 -0
- package/spx-helpers/public-api.d.ts +3 -0
- package/spx-helpers/spx-severity.enum.d.ts +6 -0
- package/spx-helpers/value-pair-to-value.function.d.ts +1 -0
- package/spx-inputs/index.d.ts +5 -0
- package/spx-inputs/public-api.d.ts +4 -0
- package/spx-inputs/spx-input-box.component.d.ts +33 -0
- package/spx-inputs/spx-input-date.component.d.ts +50 -0
- package/spx-inputs/spx-input-float.component.d.ts +28 -0
- package/spx-inputs/spx-input-number.component.d.ts +22 -0
- package/spx-inputs/spx-input-radio.component.d.ts +18 -0
- package/spx-inputs/spx-input-text.component.d.ts +29 -0
- package/spx-inputs/spx-input.component.d.ts +58 -0
- package/spx-inputs/spx-value-interface.d.ts +4 -0
- package/spx-navigation/index.d.ts +5 -0
- package/spx-navigation/public-api.d.ts +4 -0
- package/spx-navigation/spx-home-tile.component.d.ts +6 -0
- package/spx-navigation/spx-home-tiles.component.d.ts +5 -0
- package/spx-navigation/spx-navigation-item.interface.d.ts +19 -0
- package/spx-navigation/spx-navigation.component.d.ts +12 -0
- package/spx-patch/index.d.ts +5 -0
- package/spx-patch/patch-check.function.d.ts +4 -0
- package/spx-patch/public-api.d.ts +3 -0
- package/spx-patch/release-check.function.d.ts +1 -0
- package/spx-patch/spx-patch.component.d.ts +10 -0
- package/spx-progress-bar/index.d.ts +5 -0
- package/spx-progress-bar/public-api.d.ts +1 -0
- package/spx-progress-bar/spx-progress-bar.component.d.ts +7 -0
- package/spx-spinner/index.d.ts +5 -0
- package/spx-spinner/public-api.d.ts +1 -0
- package/spx-spinner/spx-spinner.component.d.ts +7 -0
- package/spx-storage/index.d.ts +5 -0
- package/spx-storage/public-api.d.ts +2 -0
- package/spx-storage/src/spx-storage-key.enum.d.ts +10 -0
- package/spx-storage/src/spx-storage.class.d.ts +9 -0
- package/spx-suggestion/index.d.ts +5 -0
- package/spx-suggestion/public-api.d.ts +1 -0
- package/spx-suggestion/spx-suggestion.component.d.ts +7 -0
- package/spx-toaster/index.d.ts +5 -0
- package/spx-toaster/public-api.d.ts +3 -0
- package/spx-toaster/src/spx-toaster-autoclose-speed.d.ts +11 -0
- package/spx-toaster/src/spx-toaster-message.interface.d.ts +9 -0
- package/spx-toaster/src/spx-toaster.component.d.ts +11 -0
- package/spx-update/index.d.ts +5 -0
- package/spx-update/public-api.d.ts +2 -0
- package/spx-update/src/spx-update-info.component.d.ts +18 -0
- package/spx-update/src/spx-update-progress.component.d.ts +14 -0
- package/spx-validation/index.d.ts +5 -0
- package/spx-validation/max.validator.d.ts +7 -0
- package/spx-validation/maxlength.validator.d.ts +7 -0
- package/spx-validation/min.validator.d.ts +7 -0
- package/spx-validation/minlength.validator.d.ts +7 -0
- package/spx-validation/pattern.validator.d.ts +2 -0
- package/spx-validation/public-api.d.ts +9 -0
- package/spx-validation/required.validator.d.ts +2 -0
- package/spx-validation/spx-validate-control.component.d.ts +24 -0
- package/spx-validation/spx-validation.module.d.ts +9 -0
- package/spx-validation/year-and-month.validator.d.ts +2 -0
- package/tailwind.css +1 -0
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { Component, Input } from '@angular/core';
|
|
3
|
+
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
4
|
+
import { SpxCapitalizePipe } from '@softpak/components/spx-capitalize';
|
|
5
|
+
import { SpxInputComponent } from '@softpak/components/spx-inputs';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@angular/forms";
|
|
8
|
+
const ctrlAppStoreVersion = 'appStoreVersion';
|
|
9
|
+
const ctrlChannel = 'channel';
|
|
10
|
+
const ctrlNextVersionNumber = 'nextVersionNumber';
|
|
11
|
+
const ctrlVersionNumber = 'versionNumber';
|
|
12
|
+
export class SpxUpdateInfoComponent {
|
|
13
|
+
get ctrlVersionNumber() { return this.form.get(ctrlVersionNumber); }
|
|
14
|
+
get ctrlNextVersionNumber() { return this.form.get(ctrlNextVersionNumber); }
|
|
15
|
+
get ctrlConfiguredChannel() { return this.form.get(ctrlChannel); }
|
|
16
|
+
get ctrlAppStoreVersion() { return this.form.get(ctrlAppStoreVersion); }
|
|
17
|
+
constructor(formBuilder) {
|
|
18
|
+
this.formBuilder = formBuilder;
|
|
19
|
+
this.form = this.formBuilder.group({
|
|
20
|
+
[ctrlAppStoreVersion]: [null, []],
|
|
21
|
+
[ctrlChannel]: [null, []],
|
|
22
|
+
[ctrlNextVersionNumber]: [null, []],
|
|
23
|
+
[ctrlVersionNumber]: [null, []],
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
update(appStoreVersion, channel, nextVersion, version) {
|
|
27
|
+
this.ctrlVersionNumber.setValue({
|
|
28
|
+
value: version,
|
|
29
|
+
});
|
|
30
|
+
this.ctrlNextVersionNumber.setValue({
|
|
31
|
+
value: nextVersion,
|
|
32
|
+
});
|
|
33
|
+
this.ctrlConfiguredChannel.setValue({
|
|
34
|
+
value: channel,
|
|
35
|
+
});
|
|
36
|
+
this.ctrlAppStoreVersion.setValue({
|
|
37
|
+
value: appStoreVersion,
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: SpxUpdateInfoComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
41
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: SpxUpdateInfoComponent, isStandalone: true, selector: "spx-update-info", inputs: { txtAppStoreVersion: "txtAppStoreVersion", txtChannel: "txtChannel", txtNextVersion: "txtNextVersion", txtVersion: "txtVersion" }, ngImport: i0, template: `<form [formGroup]="form" class="mt-3">
|
|
42
|
+
<div class="grid grid-cols-1 md:grid-cols-2 xl:grid-cols-3 gap-3">
|
|
43
|
+
<spx-input [formControl]="ctrlVersionNumber" [spxLabel]="txtVersion | capitalize"
|
|
44
|
+
[spxReadonly]="true"></spx-input>
|
|
45
|
+
<spx-input [formControl]="ctrlNextVersionNumber" [spxLabel]="txtNextVersion | capitalize"
|
|
46
|
+
[spxReadonly]="true"></spx-input>
|
|
47
|
+
<spx-input [formControl]="ctrlConfiguredChannel" [spxLabel]="txtChannel | capitalize"
|
|
48
|
+
[spxReadonly]="true"></spx-input>
|
|
49
|
+
<spx-input [formControl]="ctrlAppStoreVersion" [spxLabel]="txtAppStoreVersion | capitalize"
|
|
50
|
+
[spxReadonly]="true"></spx-input>
|
|
51
|
+
</div>
|
|
52
|
+
</form>`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { 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: "pipe", type: SpxCapitalizePipe, name: "capitalize" }, { kind: "component", type: SpxInputComponent, selector: "spx-input", inputs: ["spxLabel", "spxMax", "spxMin", "spxName", "spxReadonly", "spxAutofocus", "spxInputMode", "spxPattern", "spxRequired", "spxSelectMonth", "spxSelectDay", "spxShowEdit", "spxShowHelp", "spxCompact", "spxShowClear", "spxShowSearch", "spxShowValidationMessages", "spxStep", "spxSuggestions", "spxType", "spxValidators", "value", "spxCapitalize", "spxFocused"], outputs: ["spxBlur", "spxClear", "spxChange", "spxFocus", "spxEdit", "spxHelp", "spxSearch"] }] }); }
|
|
53
|
+
}
|
|
54
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: SpxUpdateInfoComponent, decorators: [{
|
|
55
|
+
type: Component,
|
|
56
|
+
args: [{
|
|
57
|
+
selector: 'spx-update-info',
|
|
58
|
+
template: `<form [formGroup]="form" class="mt-3">
|
|
59
|
+
<div class="grid grid-cols-1 md:grid-cols-2 xl:grid-cols-3 gap-3">
|
|
60
|
+
<spx-input [formControl]="ctrlVersionNumber" [spxLabel]="txtVersion | capitalize"
|
|
61
|
+
[spxReadonly]="true"></spx-input>
|
|
62
|
+
<spx-input [formControl]="ctrlNextVersionNumber" [spxLabel]="txtNextVersion | capitalize"
|
|
63
|
+
[spxReadonly]="true"></spx-input>
|
|
64
|
+
<spx-input [formControl]="ctrlConfiguredChannel" [spxLabel]="txtChannel | capitalize"
|
|
65
|
+
[spxReadonly]="true"></spx-input>
|
|
66
|
+
<spx-input [formControl]="ctrlAppStoreVersion" [spxLabel]="txtAppStoreVersion | capitalize"
|
|
67
|
+
[spxReadonly]="true"></spx-input>
|
|
68
|
+
</div>
|
|
69
|
+
</form>`,
|
|
70
|
+
standalone: true,
|
|
71
|
+
imports: [
|
|
72
|
+
CommonModule,
|
|
73
|
+
FormsModule,
|
|
74
|
+
ReactiveFormsModule,
|
|
75
|
+
SpxCapitalizePipe,
|
|
76
|
+
SpxInputComponent,
|
|
77
|
+
]
|
|
78
|
+
}]
|
|
79
|
+
}], ctorParameters: () => [{ type: i1.FormBuilder }], propDecorators: { txtAppStoreVersion: [{
|
|
80
|
+
type: Input
|
|
81
|
+
}], txtChannel: [{
|
|
82
|
+
type: Input
|
|
83
|
+
}], txtNextVersion: [{
|
|
84
|
+
type: Input
|
|
85
|
+
}], txtVersion: [{
|
|
86
|
+
type: Input
|
|
87
|
+
}] } });
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LXVwZGF0ZS1pbmZvLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NvZnRwYWsvY29tcG9uZW50cy9zcHgtdXBkYXRlL3NyYy9zcHgtdXBkYXRlLWluZm8uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQXVDLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOzs7QUFFbkUsTUFBTSxtQkFBbUIsR0FBRyxpQkFBaUIsQ0FBQztBQUM5QyxNQUFNLFdBQVcsR0FBRyxTQUFTLENBQUM7QUFDOUIsTUFBTSxxQkFBcUIsR0FBRyxtQkFBbUIsQ0FBQztBQUNsRCxNQUFNLGlCQUFpQixHQUFHLGVBQWUsQ0FBQztBQXlCMUMsTUFBTSxPQUFPLHNCQUFzQjtJQU9qQyxJQUFJLGlCQUFpQixLQUFrQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFnQixDQUFDLENBQUMsQ0FBQztJQUNoRyxJQUFJLHFCQUFxQixLQUFrQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLHFCQUFxQixDQUFnQixDQUFDLENBQUMsQ0FBQztJQUN4RyxJQUFJLHFCQUFxQixLQUFrQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBZ0IsQ0FBQyxDQUFDLENBQUM7SUFDOUYsSUFBSSxtQkFBbUIsS0FBa0IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBZ0IsQ0FBQyxDQUFDLENBQUM7SUFFcEcsWUFDbUIsV0FBd0I7UUFBeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFFekMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQztZQUNqQyxDQUFDLG1CQUFtQixDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQ2pDLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQ3pCLENBQUMscUJBQXFCLENBQUMsRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUM7WUFDbkMsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQztTQUNoQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsTUFBTSxDQUFDLGVBQXVCLEVBQUUsT0FBZSxFQUFFLFdBQW1CLEVBQUUsT0FBZTtRQUNuRixJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDO1lBQzlCLEtBQUssRUFBRSxPQUFPO1NBQ2YsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFFBQVEsQ0FBQztZQUNsQyxLQUFLLEVBQUUsV0FBVztTQUNuQixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMscUJBQXFCLENBQUMsUUFBUSxDQUFDO1lBQ2xDLEtBQUssRUFBRSxPQUFPO1NBQ2YsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsQ0FBQztZQUNoQyxLQUFLLEVBQUUsZUFBZTtTQUN2QixDQUFDLENBQUM7SUFDTCxDQUFDOzhHQXBDVSxzQkFBc0I7a0dBQXRCLHNCQUFzQix1TkFyQnZCOzs7Ozs7Ozs7OztVQVdGLDJEQUdOLFlBQVksOEJBQ1osV0FBVywyWUFDWCxtQkFBbUIsOFZBQ25CLGlCQUFpQixtREFDakIsaUJBQWlCOzsyRkFHUixzQkFBc0I7a0JBdkJsQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxpQkFBaUI7b0JBQzNCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7VUFXRjtvQkFDUixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLGlCQUFpQjt3QkFDakIsaUJBQWlCO3FCQUNsQjtpQkFDRjtnRkFHVSxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU3B4Q2FwaXRhbGl6ZVBpcGUgfSBmcm9tICdAc29mdHBhay9jb21wb25lbnRzL3NweC1jYXBpdGFsaXplJztcbmltcG9ydCB7IFNweElucHV0Q29tcG9uZW50IH0gZnJvbSAnQHNvZnRwYWsvY29tcG9uZW50cy9zcHgtaW5wdXRzJztcblxuY29uc3QgY3RybEFwcFN0b3JlVmVyc2lvbiA9ICdhcHBTdG9yZVZlcnNpb24nO1xuY29uc3QgY3RybENoYW5uZWwgPSAnY2hhbm5lbCc7XG5jb25zdCBjdHJsTmV4dFZlcnNpb25OdW1iZXIgPSAnbmV4dFZlcnNpb25OdW1iZXInO1xuY29uc3QgY3RybFZlcnNpb25OdW1iZXIgPSAndmVyc2lvbk51bWJlcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NweC11cGRhdGUtaW5mbycsXG4gIHRlbXBsYXRlOiBgPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtXCIgY2xhc3M9XCJtdC0zXCI+XG4gICAgPGRpdiBjbGFzcz1cImdyaWQgZ3JpZC1jb2xzLTEgbWQ6Z3JpZC1jb2xzLTIgeGw6Z3JpZC1jb2xzLTMgZ2FwLTNcIj5cbiAgICAgIDxzcHgtaW5wdXQgW2Zvcm1Db250cm9sXT1cImN0cmxWZXJzaW9uTnVtYmVyXCIgW3NweExhYmVsXT1cInR4dFZlcnNpb24gfCBjYXBpdGFsaXplXCJcbiAgICAgICAgW3NweFJlYWRvbmx5XT1cInRydWVcIj48L3NweC1pbnB1dD5cbiAgICAgIDxzcHgtaW5wdXQgW2Zvcm1Db250cm9sXT1cImN0cmxOZXh0VmVyc2lvbk51bWJlclwiIFtzcHhMYWJlbF09XCJ0eHROZXh0VmVyc2lvbiB8IGNhcGl0YWxpemVcIlxuICAgICAgICBbc3B4UmVhZG9ubHldPVwidHJ1ZVwiPjwvc3B4LWlucHV0PlxuICAgICAgPHNweC1pbnB1dCBbZm9ybUNvbnRyb2xdPVwiY3RybENvbmZpZ3VyZWRDaGFubmVsXCIgW3NweExhYmVsXT1cInR4dENoYW5uZWwgfCBjYXBpdGFsaXplXCJcbiAgICAgICAgW3NweFJlYWRvbmx5XT1cInRydWVcIj48L3NweC1pbnB1dD5cbiAgICAgIDxzcHgtaW5wdXQgW2Zvcm1Db250cm9sXT1cImN0cmxBcHBTdG9yZVZlcnNpb25cIiBbc3B4TGFiZWxdPVwidHh0QXBwU3RvcmVWZXJzaW9uIHwgY2FwaXRhbGl6ZVwiXG4gICAgICAgIFtzcHhSZWFkb25seV09XCJ0cnVlXCI+PC9zcHgtaW5wdXQ+XG4gICAgPC9kaXY+XG4gIDwvZm9ybT5gLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgU3B4Q2FwaXRhbGl6ZVBpcGUsXG4gICAgU3B4SW5wdXRDb21wb25lbnQsXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgU3B4VXBkYXRlSW5mb0NvbXBvbmVudCB7XG4gIGZvcm0hOiBGb3JtR3JvdXA7XG4gIEBJbnB1dCgpIHR4dEFwcFN0b3JlVmVyc2lvbiE6IHN0cmluZztcbiAgQElucHV0KCkgdHh0Q2hhbm5lbCE6IHN0cmluZztcbiAgQElucHV0KCkgdHh0TmV4dFZlcnNpb24hOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHR4dFZlcnNpb24hOiBzdHJpbmc7XG4gIFxuICBnZXQgY3RybFZlcnNpb25OdW1iZXIoKTogRm9ybUNvbnRyb2wgeyByZXR1cm4gdGhpcy5mb3JtLmdldChjdHJsVmVyc2lvbk51bWJlcikgYXMgRm9ybUNvbnRyb2w7IH1cbiAgZ2V0IGN0cmxOZXh0VmVyc2lvbk51bWJlcigpOiBGb3JtQ29udHJvbCB7IHJldHVybiB0aGlzLmZvcm0uZ2V0KGN0cmxOZXh0VmVyc2lvbk51bWJlcikgYXMgRm9ybUNvbnRyb2w7IH1cbiAgZ2V0IGN0cmxDb25maWd1cmVkQ2hhbm5lbCgpOiBGb3JtQ29udHJvbCB7IHJldHVybiB0aGlzLmZvcm0uZ2V0KGN0cmxDaGFubmVsKSBhcyBGb3JtQ29udHJvbDsgfVxuICBnZXQgY3RybEFwcFN0b3JlVmVyc2lvbigpOiBGb3JtQ29udHJvbCB7IHJldHVybiB0aGlzLmZvcm0uZ2V0KGN0cmxBcHBTdG9yZVZlcnNpb24pIGFzIEZvcm1Db250cm9sOyB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBmb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIsXG4gICkge1xuICAgIHRoaXMuZm9ybSA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgW2N0cmxBcHBTdG9yZVZlcnNpb25dOiBbbnVsbCwgW11dLFxuICAgICAgW2N0cmxDaGFubmVsXTogW251bGwsIFtdXSxcbiAgICAgIFtjdHJsTmV4dFZlcnNpb25OdW1iZXJdOiBbbnVsbCwgW11dLFxuICAgICAgW2N0cmxWZXJzaW9uTnVtYmVyXTogW251bGwsIFtdXSxcbiAgICB9KTtcbiAgfVxuXG4gIHVwZGF0ZShhcHBTdG9yZVZlcnNpb246IHN0cmluZywgY2hhbm5lbDogc3RyaW5nLCBuZXh0VmVyc2lvbjogc3RyaW5nLCB2ZXJzaW9uOiBzdHJpbmcpIHtcbiAgICB0aGlzLmN0cmxWZXJzaW9uTnVtYmVyLnNldFZhbHVlKHtcbiAgICAgIHZhbHVlOiB2ZXJzaW9uLFxuICAgIH0pO1xuICAgIHRoaXMuY3RybE5leHRWZXJzaW9uTnVtYmVyLnNldFZhbHVlKHtcbiAgICAgIHZhbHVlOiBuZXh0VmVyc2lvbixcbiAgICB9KTtcbiAgICB0aGlzLmN0cmxDb25maWd1cmVkQ2hhbm5lbC5zZXRWYWx1ZSh7XG4gICAgICB2YWx1ZTogY2hhbm5lbCxcbiAgICB9KTtcbiAgICB0aGlzLmN0cmxBcHBTdG9yZVZlcnNpb24uc2V0VmFsdWUoe1xuICAgICAgdmFsdWU6IGFwcFN0b3JlVmVyc2lvbixcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import { SpxCapitalizePipe } from '@softpak/components/spx-capitalize';
|
|
3
|
+
import { SpxProgressBarComponent } from '@softpak/components/spx-progress-bar';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class SpxUpdateProgressComponent {
|
|
6
|
+
ngOnInit() {
|
|
7
|
+
this.startLoaderSync();
|
|
8
|
+
}
|
|
9
|
+
ngOnDestroy() {
|
|
10
|
+
this.stopLoaderSync();
|
|
11
|
+
}
|
|
12
|
+
startLoaderSync() {
|
|
13
|
+
if (this.syncTruckInterval === null) {
|
|
14
|
+
this.syncTruckInterval = setInterval(() => {
|
|
15
|
+
this.delayedPercentage = this.percentage;
|
|
16
|
+
}, 200);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
stopLoaderSync() {
|
|
20
|
+
if (this.syncTruckInterval !== null) {
|
|
21
|
+
clearInterval(this.syncTruckInterval);
|
|
22
|
+
this.syncTruckInterval = undefined;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: SpxUpdateProgressComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
26
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: SpxUpdateProgressComponent, isStandalone: true, selector: "spx-update-progress", inputs: { title: "title", percentage: "percentage" }, ngImport: i0, template: `<spx-progress-bar [spxPercentage]="delayedPercentage" [spxTitle]="title | capitalize">
|
|
27
|
+
</spx-progress-bar>`, isInline: true, dependencies: [{ kind: "component", type: SpxProgressBarComponent, selector: "spx-progress-bar", inputs: ["spxPercentage", "spxTitle"] }, { kind: "pipe", type: SpxCapitalizePipe, name: "capitalize" }] }); }
|
|
28
|
+
}
|
|
29
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: SpxUpdateProgressComponent, decorators: [{
|
|
30
|
+
type: Component,
|
|
31
|
+
args: [{
|
|
32
|
+
selector: 'spx-update-progress',
|
|
33
|
+
template: `<spx-progress-bar [spxPercentage]="delayedPercentage" [spxTitle]="title | capitalize">
|
|
34
|
+
</spx-progress-bar>`,
|
|
35
|
+
standalone: true,
|
|
36
|
+
imports: [
|
|
37
|
+
SpxProgressBarComponent,
|
|
38
|
+
SpxCapitalizePipe,
|
|
39
|
+
],
|
|
40
|
+
}]
|
|
41
|
+
}], propDecorators: { title: [{
|
|
42
|
+
type: Input
|
|
43
|
+
}], percentage: [{
|
|
44
|
+
type: Input
|
|
45
|
+
}] } });
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LXVwZGF0ZS1wcm9ncmVzcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zb2Z0cGFrL2NvbXBvbmVudHMvc3B4LXVwZGF0ZS9zcmMvc3B4LXVwZGF0ZS1wcm9ncmVzcy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOztBQVkvRSxNQUFNLE9BQU8sMEJBQTBCO0lBTXJDLFFBQVE7UUFDTixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVPLGVBQWU7UUFDckIsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDcEMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLFdBQVcsQ0FBQyxHQUFHLEVBQUU7Z0JBQ3hDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1lBQzNDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUNWLENBQUM7SUFDSCxDQUFDO0lBRU8sY0FBYztRQUNwQixJQUFJLElBQUksQ0FBQyxpQkFBaUIsS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUNwQyxhQUFhLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7WUFDdEMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLFNBQVMsQ0FBQztRQUNyQyxDQUFDO0lBQ0gsQ0FBQzs4R0EzQlUsMEJBQTBCO2tHQUExQiwwQkFBMEIscUlBUjNCO3NCQUNVLDREQUdsQix1QkFBdUIsK0ZBQ3ZCLGlCQUFpQjs7MkZBR1IsMEJBQTBCO2tCQVZ0QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFFBQVEsRUFBRTtzQkFDVTtvQkFDcEIsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRTt3QkFDUCx1QkFBdUI7d0JBQ3ZCLGlCQUFpQjtxQkFDbEI7aUJBQ0Y7OEJBRVUsS0FBSztzQkFBYixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3B4Q2FwaXRhbGl6ZVBpcGUgfSBmcm9tICdAc29mdHBhay9jb21wb25lbnRzL3NweC1jYXBpdGFsaXplJztcbmltcG9ydCB7IFNweFByb2dyZXNzQmFyQ29tcG9uZW50IH0gZnJvbSAnQHNvZnRwYWsvY29tcG9uZW50cy9zcHgtcHJvZ3Jlc3MtYmFyJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3B4LXVwZGF0ZS1wcm9ncmVzcycsXG4gIHRlbXBsYXRlOiBgPHNweC1wcm9ncmVzcy1iYXIgW3NweFBlcmNlbnRhZ2VdPVwiZGVsYXllZFBlcmNlbnRhZ2VcIiBbc3B4VGl0bGVdPVwidGl0bGUgfCBjYXBpdGFsaXplXCI+XG4gIDwvc3B4LXByb2dyZXNzLWJhcj5gLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgU3B4UHJvZ3Jlc3NCYXJDb21wb25lbnQsXG4gICAgU3B4Q2FwaXRhbGl6ZVBpcGUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNweFVwZGF0ZVByb2dyZXNzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSB0aXRsZSE6IHN0cmluZztcbiAgQElucHV0KCkgcGVyY2VudGFnZSE6IG51bWJlcjtcbiAgZGVsYXllZFBlcmNlbnRhZ2UhOiBudW1iZXI7XG4gIHN5bmNUcnVja0ludGVydmFsPzogYW55O1xuICBcbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zdGFydExvYWRlclN5bmMoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3RvcExvYWRlclN5bmMoKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhcnRMb2FkZXJTeW5jKCkge1xuICAgIGlmICh0aGlzLnN5bmNUcnVja0ludGVydmFsID09PSBudWxsKSB7XG4gICAgICB0aGlzLnN5bmNUcnVja0ludGVydmFsID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xuICAgICAgICB0aGlzLmRlbGF5ZWRQZXJjZW50YWdlID0gdGhpcy5wZXJjZW50YWdlO1xuICAgICAgfSwgMjAwKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHN0b3BMb2FkZXJTeW5jKCkge1xuICAgIGlmICh0aGlzLnN5bmNUcnVja0ludGVydmFsICE9PSBudWxsKSB7XG4gICAgICBjbGVhckludGVydmFsKHRoaXMuc3luY1RydWNrSW50ZXJ2YWwpO1xuICAgICAgdGhpcy5zeW5jVHJ1Y2tJbnRlcnZhbCA9IHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { spxValidatorRequired } from './required.validator';
|
|
2
|
+
import { valuePairToValue } from '@softpak/components/spx-helpers';
|
|
3
|
+
export const spxValidatorMax = (max) => (control) => {
|
|
4
|
+
if (!spxValidatorRequired()(control)) {
|
|
5
|
+
const value = parseInt(valuePairToValue(control.value).toString(), 10);
|
|
6
|
+
if (!isNaN(value) && value > max) {
|
|
7
|
+
return {
|
|
8
|
+
max: {
|
|
9
|
+
max,
|
|
10
|
+
actual: value
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
return null;
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF4LnZhbGlkYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NvZnRwYWsvY29tcG9uZW50cy9zcHgtdmFsaWRhdGlvbi9tYXgudmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzVELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRW5FLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUFDLEdBQVcsRUFBRSxFQUFFLENBQUMsQ0FBQyxPQUF3QixFQUFtRCxFQUFFO0lBQzFILElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7UUFDbkMsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN2RSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssR0FBRyxHQUFHLEVBQUUsQ0FBQztZQUMvQixPQUFPO2dCQUNILEdBQUcsRUFBRTtvQkFDRCxHQUFHO29CQUNILE1BQU0sRUFBRSxLQUFLO2lCQUNoQjthQUNKLENBQUM7UUFDTixDQUFDO0lBQ0wsQ0FBQztJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2hCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Q29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IHNweFZhbGlkYXRvclJlcXVpcmVkIH0gZnJvbSAnLi9yZXF1aXJlZC52YWxpZGF0b3InO1xuaW1wb3J0IHsgdmFsdWVQYWlyVG9WYWx1ZSB9IGZyb20gJ0Bzb2Z0cGFrL2NvbXBvbmVudHMvc3B4LWhlbHBlcnMnO1xuXG5leHBvcnQgY29uc3Qgc3B4VmFsaWRhdG9yTWF4ID0gKG1heDogbnVtYmVyKSA9PiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogeyBtYXg6IHsgbWF4OiBudW1iZXI7IGFjdHVhbDogbnVtYmVyIH0gfSB8IG51bGwgPT4ge1xuICAgIGlmICghc3B4VmFsaWRhdG9yUmVxdWlyZWQoKShjb250cm9sKSkge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IHBhcnNlSW50KHZhbHVlUGFpclRvVmFsdWUoY29udHJvbC52YWx1ZSkudG9TdHJpbmcoKSwgMTApO1xuICAgICAgICBpZiAoIWlzTmFOKHZhbHVlKSAmJiB2YWx1ZSA+IG1heCkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBtYXg6IHtcbiAgICAgICAgICAgICAgICAgICAgbWF4LFxuICAgICAgICAgICAgICAgICAgICBhY3R1YWw6IHZhbHVlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbn07XG4iXX0=
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { spxValidatorRequired } from './required.validator';
|
|
2
|
+
import { valuePairToValue } from '@softpak/components/spx-helpers';
|
|
3
|
+
export const spxValidatorMaxLength = (maximumLength, sanitizer) => (control) => {
|
|
4
|
+
if (!spxValidatorRequired()(control)) {
|
|
5
|
+
let value = valuePairToValue(control.value);
|
|
6
|
+
if (sanitizer) {
|
|
7
|
+
value = sanitizer(value.toString());
|
|
8
|
+
}
|
|
9
|
+
if (value.toString().length > maximumLength) {
|
|
10
|
+
return {
|
|
11
|
+
maxlength: {
|
|
12
|
+
requiredLength: maximumLength,
|
|
13
|
+
actualLength: value.toString().length
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
return null;
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF4bGVuZ3RoLnZhbGlkYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NvZnRwYWsvY29tcG9uZW50cy9zcHgtdmFsaWRhdGlvbi9tYXhsZW5ndGgudmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzVELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRW5FLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLENBQUMsYUFBcUIsRUFBRSxTQUFxQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQXdCLEVBQTBFLEVBQUU7SUFDeE0sSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUNuQyxJQUFJLEtBQUssR0FBRyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUMsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUNaLEtBQUssR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDeEMsQ0FBQztRQUNELElBQUksS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLE1BQU0sR0FBRyxhQUFhLEVBQUUsQ0FBQztZQUMxQyxPQUFPO2dCQUNILFNBQVMsRUFBRTtvQkFDUCxjQUFjLEVBQUUsYUFBYTtvQkFDN0IsWUFBWSxFQUFFLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxNQUFNO2lCQUN4QzthQUNKLENBQUM7UUFDTixDQUFDO0lBQ0wsQ0FBQztJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2hCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Q29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IHNweFZhbGlkYXRvclJlcXVpcmVkIH0gZnJvbSAnLi9yZXF1aXJlZC52YWxpZGF0b3InO1xuaW1wb3J0IHsgdmFsdWVQYWlyVG9WYWx1ZSB9IGZyb20gJ0Bzb2Z0cGFrL2NvbXBvbmVudHMvc3B4LWhlbHBlcnMnO1xuXG5leHBvcnQgY29uc3Qgc3B4VmFsaWRhdG9yTWF4TGVuZ3RoID0gKG1heGltdW1MZW5ndGg6IG51bWJlciwgc2FuaXRpemVyPzogKGlucHV0OiBzdHJpbmcpID0+IHN0cmluZykgPT4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IHsgbWF4bGVuZ3RoOiB7IHJlcXVpcmVkTGVuZ3RoOiBudW1iZXI7IGFjdHVhbExlbmd0aDogbnVtYmVyIH0gfSB8IG51bGwgPT4ge1xuICAgIGlmICghc3B4VmFsaWRhdG9yUmVxdWlyZWQoKShjb250cm9sKSkge1xuICAgICAgICBsZXQgdmFsdWUgPSB2YWx1ZVBhaXJUb1ZhbHVlKGNvbnRyb2wudmFsdWUpO1xuICAgICAgICBpZiAoc2FuaXRpemVyKSB7XG4gICAgICAgICAgICB2YWx1ZSA9IHNhbml0aXplcih2YWx1ZS50b1N0cmluZygpKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodmFsdWUudG9TdHJpbmcoKS5sZW5ndGggPiBtYXhpbXVtTGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIG1heGxlbmd0aDoge1xuICAgICAgICAgICAgICAgICAgICByZXF1aXJlZExlbmd0aDogbWF4aW11bUxlbmd0aCxcbiAgICAgICAgICAgICAgICAgICAgYWN0dWFsTGVuZ3RoOiB2YWx1ZS50b1N0cmluZygpLmxlbmd0aFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG59O1xuIl19
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { spxValidatorRequired } from './required.validator';
|
|
2
|
+
import { valuePairToValue } from '@softpak/components/spx-helpers';
|
|
3
|
+
export const spxValidatorMin = (min) => (control) => {
|
|
4
|
+
if (!spxValidatorRequired()(control)) {
|
|
5
|
+
const value = parseInt(valuePairToValue(control.value).toString(), 10);
|
|
6
|
+
if (!isNaN(value) && value < min) {
|
|
7
|
+
return {
|
|
8
|
+
min: {
|
|
9
|
+
min,
|
|
10
|
+
actual: value
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
return null;
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWluLnZhbGlkYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NvZnRwYWsvY29tcG9uZW50cy9zcHgtdmFsaWRhdGlvbi9taW4udmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzVELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRW5FLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUFDLEdBQVcsRUFBRSxFQUFFLENBQUMsQ0FBQyxPQUF3QixFQUFtRCxFQUFFO0lBQzFILElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7UUFDbkMsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUV2RSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssR0FBRyxHQUFHLEVBQUUsQ0FBQztZQUMvQixPQUFPO2dCQUNILEdBQUcsRUFBRTtvQkFDRCxHQUFHO29CQUNILE1BQU0sRUFBRSxLQUFLO2lCQUNoQjthQUNKLENBQUM7UUFDTixDQUFDO0lBQ0wsQ0FBQztJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2hCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Q29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IHNweFZhbGlkYXRvclJlcXVpcmVkIH0gZnJvbSAnLi9yZXF1aXJlZC52YWxpZGF0b3InO1xuaW1wb3J0IHsgdmFsdWVQYWlyVG9WYWx1ZSB9IGZyb20gJ0Bzb2Z0cGFrL2NvbXBvbmVudHMvc3B4LWhlbHBlcnMnO1xuXG5leHBvcnQgY29uc3Qgc3B4VmFsaWRhdG9yTWluID0gKG1pbjogbnVtYmVyKSA9PiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogeyBtaW46IHsgbWluOiBudW1iZXI7IGFjdHVhbDogbnVtYmVyIH0gfSB8IG51bGwgPT4ge1xuICAgIGlmICghc3B4VmFsaWRhdG9yUmVxdWlyZWQoKShjb250cm9sKSkge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IHBhcnNlSW50KHZhbHVlUGFpclRvVmFsdWUoY29udHJvbC52YWx1ZSkudG9TdHJpbmcoKSwgMTApO1xuXG4gICAgICAgIGlmICghaXNOYU4odmFsdWUpICYmIHZhbHVlIDwgbWluKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIG1pbjoge1xuICAgICAgICAgICAgICAgICAgICBtaW4sXG4gICAgICAgICAgICAgICAgICAgIGFjdHVhbDogdmFsdWVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xufTtcbiJdfQ==
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { spxValidatorRequired } from './required.validator';
|
|
2
|
+
import { valuePairToValue } from '@softpak/components/spx-helpers';
|
|
3
|
+
export const spxValidatorMinLength = (minimumLength, sanitizer) => (control) => {
|
|
4
|
+
if (!spxValidatorRequired()(control)) {
|
|
5
|
+
let value = valuePairToValue(control.value);
|
|
6
|
+
if (sanitizer) {
|
|
7
|
+
value = sanitizer(value.toString());
|
|
8
|
+
}
|
|
9
|
+
if (value.toString().length < minimumLength) {
|
|
10
|
+
return {
|
|
11
|
+
minlength: {
|
|
12
|
+
requiredLength: minimumLength,
|
|
13
|
+
actualLength: value.toString().length
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
return null;
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlubGVuZ3RoLnZhbGlkYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NvZnRwYWsvY29tcG9uZW50cy9zcHgtdmFsaWRhdGlvbi9taW5sZW5ndGgudmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzVELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRW5FLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLENBQUMsYUFBcUIsRUFBRSxTQUFxQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQXdCLEVBQTBFLEVBQUU7SUFDeE0sSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUNuQyxJQUFJLEtBQUssR0FBRyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUMsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUNaLEtBQUssR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDeEMsQ0FBQztRQUNELElBQUksS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLE1BQU0sR0FBRyxhQUFhLEVBQUUsQ0FBQztZQUMxQyxPQUFPO2dCQUNILFNBQVMsRUFBRTtvQkFDUCxjQUFjLEVBQUUsYUFBYTtvQkFDN0IsWUFBWSxFQUFFLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxNQUFNO2lCQUN4QzthQUNKLENBQUM7UUFDTixDQUFDO0lBQ0wsQ0FBQztJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2hCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Q29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IHNweFZhbGlkYXRvclJlcXVpcmVkIH0gZnJvbSAnLi9yZXF1aXJlZC52YWxpZGF0b3InO1xuaW1wb3J0IHsgdmFsdWVQYWlyVG9WYWx1ZSB9IGZyb20gJ0Bzb2Z0cGFrL2NvbXBvbmVudHMvc3B4LWhlbHBlcnMnO1xuXG5leHBvcnQgY29uc3Qgc3B4VmFsaWRhdG9yTWluTGVuZ3RoID0gKG1pbmltdW1MZW5ndGg6IG51bWJlciwgc2FuaXRpemVyPzogKGlucHV0OiBzdHJpbmcpID0+IHN0cmluZykgPT4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IHsgbWlubGVuZ3RoOiB7IHJlcXVpcmVkTGVuZ3RoOiBudW1iZXI7IGFjdHVhbExlbmd0aDogbnVtYmVyIH0gfSB8IG51bGwgPT4ge1xuICAgIGlmICghc3B4VmFsaWRhdG9yUmVxdWlyZWQoKShjb250cm9sKSkge1xuICAgICAgICBsZXQgdmFsdWUgPSB2YWx1ZVBhaXJUb1ZhbHVlKGNvbnRyb2wudmFsdWUpO1xuICAgICAgICBpZiAoc2FuaXRpemVyKSB7XG4gICAgICAgICAgICB2YWx1ZSA9IHNhbml0aXplcih2YWx1ZS50b1N0cmluZygpKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodmFsdWUudG9TdHJpbmcoKS5sZW5ndGggPCBtaW5pbXVtTGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIG1pbmxlbmd0aDoge1xuICAgICAgICAgICAgICAgICAgICByZXF1aXJlZExlbmd0aDogbWluaW11bUxlbmd0aCxcbiAgICAgICAgICAgICAgICAgICAgYWN0dWFsTGVuZ3RoOiB2YWx1ZS50b1N0cmluZygpLmxlbmd0aFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG59O1xuIl19
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { valuePairToValue } from '@softpak/components/spx-helpers';
|
|
2
|
+
import { spxValidatorRequired } from './required.validator';
|
|
3
|
+
export const spxValidatorPattern = (matcher) => (control) => {
|
|
4
|
+
if (!spxValidatorRequired()(control)) {
|
|
5
|
+
const matches = valuePairToValue(control.value).toString().match(matcher);
|
|
6
|
+
if (matches === null || matches.length === 0) {
|
|
7
|
+
return { pattern: true };
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
return null;
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0dGVybi52YWxpZGF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zb2Z0cGFrL2NvbXBvbmVudHMvc3B4LXZhbGlkYXRpb24vcGF0dGVybi52YWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbkUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFNUQsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxPQUFlLEVBQUUsRUFBRSxDQUFDLENBQUMsT0FBd0IsRUFBMkIsRUFBRTtJQUMxRyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQ25DLE1BQU0sT0FBTyxHQUFHLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDMUUsSUFBSSxPQUFPLEtBQUssSUFBSSxJQUFJLE9BQU8sQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDM0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQztRQUM3QixDQUFDO0lBQ0wsQ0FBQztJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2hCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IHZhbHVlUGFpclRvVmFsdWUgfSBmcm9tICdAc29mdHBhay9jb21wb25lbnRzL3NweC1oZWxwZXJzJztcbmltcG9ydCB7IHNweFZhbGlkYXRvclJlcXVpcmVkIH0gZnJvbSAnLi9yZXF1aXJlZC52YWxpZGF0b3InO1xuXG5leHBvcnQgY29uc3Qgc3B4VmFsaWRhdG9yUGF0dGVybiA9IChtYXRjaGVyOiBSZWdFeHApID0+IChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PiB7XG4gICAgaWYgKCFzcHhWYWxpZGF0b3JSZXF1aXJlZCgpKGNvbnRyb2wpKSB7XG4gICAgICAgIGNvbnN0IG1hdGNoZXMgPSB2YWx1ZVBhaXJUb1ZhbHVlKGNvbnRyb2wudmFsdWUpLnRvU3RyaW5nKCkubWF0Y2gobWF0Y2hlcik7XG4gICAgICAgIGlmIChtYXRjaGVzID09PSBudWxsIHx8IG1hdGNoZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4geyBwYXR0ZXJuOiB0cnVlIH07XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG59O1xuIl19
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export * from './max.validator';
|
|
2
|
+
export * from './maxlength.validator';
|
|
3
|
+
export * from './min.validator';
|
|
4
|
+
export * from './minlength.validator';
|
|
5
|
+
export * from './pattern.validator';
|
|
6
|
+
export * from './required.validator';
|
|
7
|
+
export * from './year-and-month.validator';
|
|
8
|
+
export * from './spx-validate-control.component';
|
|
9
|
+
export * from './spx-validation.module';
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NvZnRwYWsvY29tcG9uZW50cy9zcHgtdmFsaWRhdGlvbi9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLHlCQUF5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9tYXgudmFsaWRhdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vbWF4bGVuZ3RoLnZhbGlkYXRvcic7XG5leHBvcnQgKiBmcm9tICcuL21pbi52YWxpZGF0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9taW5sZW5ndGgudmFsaWRhdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vcGF0dGVybi52YWxpZGF0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9yZXF1aXJlZC52YWxpZGF0b3InO1xuZXhwb3J0ICogZnJvbSAnLi95ZWFyLWFuZC1tb250aC52YWxpZGF0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9zcHgtdmFsaWRhdGUtY29udHJvbC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zcHgtdmFsaWRhdGlvbi5tb2R1bGUnO1xuIl19
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { valuePairToValue } from '@softpak/components/spx-helpers';
|
|
2
|
+
export const spxValidatorRequired = () => (control) => {
|
|
3
|
+
if (control &&
|
|
4
|
+
valuePairToValue(control.value) === undefined ||
|
|
5
|
+
valuePairToValue(control.value) === null ||
|
|
6
|
+
valuePairToValue(control.value) === '' ||
|
|
7
|
+
valuePairToValue(control.value) === 0) {
|
|
8
|
+
return { required: true };
|
|
9
|
+
}
|
|
10
|
+
return null;
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWlyZWQudmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc29mdHBhay9jb21wb25lbnRzL3NweC12YWxpZGF0aW9uL3JlcXVpcmVkLnZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUVuRSxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxHQUFHLEVBQUUsQ0FBQyxDQUFDLE9BQXdCLEVBQTJCLEVBQUU7SUFDNUYsSUFDSSxPQUFPO1FBQ1AsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLFNBQVM7UUFDN0MsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLElBQUk7UUFDeEMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUU7UUFDdEMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFDdkMsQ0FBQztRQUNDLE9BQU8sRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2hCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IHZhbHVlUGFpclRvVmFsdWUgfSBmcm9tICdAc29mdHBhay9jb21wb25lbnRzL3NweC1oZWxwZXJzJztcblxuZXhwb3J0IGNvbnN0IHNweFZhbGlkYXRvclJlcXVpcmVkID0gKCkgPT4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0+IHtcbiAgICBpZiAoXG4gICAgICAgIGNvbnRyb2wgJiZcbiAgICAgICAgdmFsdWVQYWlyVG9WYWx1ZShjb250cm9sLnZhbHVlKSA9PT0gdW5kZWZpbmVkIHx8XG4gICAgICAgIHZhbHVlUGFpclRvVmFsdWUoY29udHJvbC52YWx1ZSkgPT09IG51bGwgfHxcbiAgICAgICAgdmFsdWVQYWlyVG9WYWx1ZShjb250cm9sLnZhbHVlKSA9PT0gJycgfHxcbiAgICAgICAgdmFsdWVQYWlyVG9WYWx1ZShjb250cm9sLnZhbHVlKSA9PT0gMFxuICAgICkge1xuICAgICAgICByZXR1cm4geyByZXF1aXJlZDogdHJ1ZSB9O1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbn07XG4iXX0=
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public-api';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29mdHBhay1jb21wb25lbnRzLXNweC12YWxpZGF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc29mdHBhay9jb21wb25lbnRzL3NweC12YWxpZGF0aW9uL3NvZnRwYWstY29tcG9uZW50cy1zcHgtdmFsaWRhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common";
|
|
4
|
+
export class SpxValidateControlComponent {
|
|
5
|
+
get maxLength() {
|
|
6
|
+
return this.control.errors && this.control.errors['maxlength'];
|
|
7
|
+
}
|
|
8
|
+
get maxLengthRequiredLength() {
|
|
9
|
+
return this.maxLength && this.control.errors && this.control.errors['maxlength']['requiredLength'];
|
|
10
|
+
}
|
|
11
|
+
get minLength() {
|
|
12
|
+
return this.control.errors && this.control.errors['minlength'];
|
|
13
|
+
}
|
|
14
|
+
get minLengthRequiredLength() {
|
|
15
|
+
return this.minLength && this.control.errors && this.control.errors['minlength']['requiredLength'];
|
|
16
|
+
}
|
|
17
|
+
get max() {
|
|
18
|
+
return this.control.errors && this.control.errors['max'];
|
|
19
|
+
}
|
|
20
|
+
get maxRequiredMax() {
|
|
21
|
+
return this.max && this.control.errors && this.control.errors['max']['max'];
|
|
22
|
+
}
|
|
23
|
+
get min() {
|
|
24
|
+
return this.control.errors && this.control.errors['min'];
|
|
25
|
+
}
|
|
26
|
+
get minRequiredMin() {
|
|
27
|
+
return this.min && this.control.errors && this.control.errors['min']['min'];
|
|
28
|
+
}
|
|
29
|
+
get pattern() {
|
|
30
|
+
return this.control.errors && this.control.errors['pattern'];
|
|
31
|
+
}
|
|
32
|
+
get required() {
|
|
33
|
+
return this.control.errors && this.control.errors['required'];
|
|
34
|
+
}
|
|
35
|
+
get year() {
|
|
36
|
+
return this.control.errors && this.control.errors['year'];
|
|
37
|
+
}
|
|
38
|
+
get yearFuture() {
|
|
39
|
+
return this.control.errors && this.control.errors['yearFuture'];
|
|
40
|
+
}
|
|
41
|
+
get month() {
|
|
42
|
+
return this.control.errors && this.control.errors['month'];
|
|
43
|
+
}
|
|
44
|
+
get future() {
|
|
45
|
+
return this.control.errors && this.control.errors['future'];
|
|
46
|
+
}
|
|
47
|
+
get past() {
|
|
48
|
+
return this.control.errors && this.control.errors['past'];
|
|
49
|
+
}
|
|
50
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: SpxValidateControlComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
51
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: SpxValidateControlComponent, selector: "spx-validate-control", inputs: { control: "control", label: "label", submitTried: "submitTried" }, ngImport: i0, template: "<ng-container *ngIf=\"control && control.errors && (control.touched || submitTried)\">\n <div *ngIf=\"maxLength\">'{{ label }}' is too long, the maximum length is {{ maxLengthRequiredLength }}.</div>\n <div *ngIf=\"minLength\">'{{ label }}' is too short, the minimum length is {{ minLengthRequiredLength }}.</div>\n <div *ngIf=\"max\">The value of '{{ label }}' is too high, the maximum is {{ maxRequiredMax }}.</div>\n <div *ngIf=\"min\">The value of '{{ label }}' is too low, the minimum is {{ minRequiredMin }}.</div>\n <div *ngIf=\"pattern\">The pattern of '{{ label }}' not valid.</div>\n <div *ngIf=\"required\">'{{ label }}' is required.</div>\n <div *ngIf=\"year\">Please choose a year between 1991 and the current year.</div>\n <div *ngIf=\"yearFuture\">Please choose a year between the current year and 2050.</div>\n <div *ngIf=\"month\">Please choose a valid month (a value between 01 and 12).</div>\n <div *ngIf=\"future\">The selected date may not be in the future.</div>\n <div *ngIf=\"past\">The selected date may not be in the past.</div>\n</ng-container>", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
52
|
+
}
|
|
53
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: SpxValidateControlComponent, decorators: [{
|
|
54
|
+
type: Component,
|
|
55
|
+
args: [{ selector: 'spx-validate-control', template: "<ng-container *ngIf=\"control && control.errors && (control.touched || submitTried)\">\n <div *ngIf=\"maxLength\">'{{ label }}' is too long, the maximum length is {{ maxLengthRequiredLength }}.</div>\n <div *ngIf=\"minLength\">'{{ label }}' is too short, the minimum length is {{ minLengthRequiredLength }}.</div>\n <div *ngIf=\"max\">The value of '{{ label }}' is too high, the maximum is {{ maxRequiredMax }}.</div>\n <div *ngIf=\"min\">The value of '{{ label }}' is too low, the minimum is {{ minRequiredMin }}.</div>\n <div *ngIf=\"pattern\">The pattern of '{{ label }}' not valid.</div>\n <div *ngIf=\"required\">'{{ label }}' is required.</div>\n <div *ngIf=\"year\">Please choose a year between 1991 and the current year.</div>\n <div *ngIf=\"yearFuture\">Please choose a year between the current year and 2050.</div>\n <div *ngIf=\"month\">Please choose a valid month (a value between 01 and 12).</div>\n <div *ngIf=\"future\">The selected date may not be in the future.</div>\n <div *ngIf=\"past\">The selected date may not be in the past.</div>\n</ng-container>" }]
|
|
56
|
+
}], propDecorators: { control: [{
|
|
57
|
+
type: Input
|
|
58
|
+
}], label: [{
|
|
59
|
+
type: Input
|
|
60
|
+
}], submitTried: [{
|
|
61
|
+
type: Input
|
|
62
|
+
}] } });
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LXZhbGlkYXRlLWNvbnRyb2wuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc29mdHBhay9jb21wb25lbnRzL3NweC12YWxpZGF0aW9uL3NweC12YWxpZGF0ZS1jb250cm9sLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NvZnRwYWsvY29tcG9uZW50cy9zcHgtdmFsaWRhdGlvbi9zcHgtdmFsaWRhdGUtY29udHJvbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBT2pELE1BQU0sT0FBTywyQkFBMkI7SUFLdEMsSUFBSSxTQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRUQsSUFBSSx1QkFBdUI7UUFDekIsT0FBTyxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDckcsQ0FBQztJQUVELElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVELElBQUksdUJBQXVCO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ3JHLENBQUM7SUFFRCxJQUFJLEdBQUc7UUFDTCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRCxJQUFJLGNBQWM7UUFDaEIsT0FBTyxJQUFJLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFFRCxJQUFJLEdBQUc7UUFDTCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRCxJQUFJLGNBQWM7UUFDaEIsT0FBTyxJQUFJLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFRCxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRCxJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFRCxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzVELENBQUM7OEdBL0RVLDJCQUEyQjtrR0FBM0IsMkJBQTJCLHdJQ1B4Qyw0akNBWWU7OzJGRExGLDJCQUEyQjtrQkFKdkMsU0FBUzsrQkFDRSxzQkFBc0I7OEJBSXZCLE9BQU87c0JBQWYsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3B4LXZhbGlkYXRlLWNvbnRyb2wnLFxuICB0ZW1wbGF0ZVVybDogJy4vc3B4LXZhbGlkYXRlLWNvbnRyb2wuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBTcHhWYWxpZGF0ZUNvbnRyb2xDb21wb25lbnQge1xuICBASW5wdXQoKSBjb250cm9sITogQWJzdHJhY3RDb250cm9sO1xuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nIHwgdW5rbm93bjtcbiAgQElucHV0KCkgc3VibWl0VHJpZWQhOiBib29sZWFuO1xuXG4gIGdldCBtYXhMZW5ndGgoKSB7XG4gICAgcmV0dXJuIHRoaXMuY29udHJvbC5lcnJvcnMgJiYgdGhpcy5jb250cm9sLmVycm9yc1snbWF4bGVuZ3RoJ107XG4gIH1cblxuICBnZXQgbWF4TGVuZ3RoUmVxdWlyZWRMZW5ndGgoKSB7XG4gICAgcmV0dXJuIHRoaXMubWF4TGVuZ3RoICYmIHRoaXMuY29udHJvbC5lcnJvcnMgJiYgdGhpcy5jb250cm9sLmVycm9yc1snbWF4bGVuZ3RoJ11bJ3JlcXVpcmVkTGVuZ3RoJ107XG4gIH1cblxuICBnZXQgbWluTGVuZ3RoKCkge1xuICAgIHJldHVybiB0aGlzLmNvbnRyb2wuZXJyb3JzICYmIHRoaXMuY29udHJvbC5lcnJvcnNbJ21pbmxlbmd0aCddO1xuICB9XG5cbiAgZ2V0IG1pbkxlbmd0aFJlcXVpcmVkTGVuZ3RoKCkge1xuICAgIHJldHVybiB0aGlzLm1pbkxlbmd0aCAmJiB0aGlzLmNvbnRyb2wuZXJyb3JzICYmIHRoaXMuY29udHJvbC5lcnJvcnNbJ21pbmxlbmd0aCddWydyZXF1aXJlZExlbmd0aCddO1xuICB9XG5cbiAgZ2V0IG1heCgpIHtcbiAgICByZXR1cm4gdGhpcy5jb250cm9sLmVycm9ycyAmJiB0aGlzLmNvbnRyb2wuZXJyb3JzWydtYXgnXTtcbiAgfVxuXG4gIGdldCBtYXhSZXF1aXJlZE1heCgpIHtcbiAgICByZXR1cm4gdGhpcy5tYXggJiYgdGhpcy5jb250cm9sLmVycm9ycyAmJiB0aGlzLmNvbnRyb2wuZXJyb3JzWydtYXgnXVsnbWF4J107XG4gIH1cblxuICBnZXQgbWluKCkge1xuICAgIHJldHVybiB0aGlzLmNvbnRyb2wuZXJyb3JzICYmIHRoaXMuY29udHJvbC5lcnJvcnNbJ21pbiddO1xuICB9XG5cbiAgZ2V0IG1pblJlcXVpcmVkTWluKCkge1xuICAgIHJldHVybiB0aGlzLm1pbiAmJiB0aGlzLmNvbnRyb2wuZXJyb3JzICYmIHRoaXMuY29udHJvbC5lcnJvcnNbJ21pbiddWydtaW4nXTtcbiAgfVxuXG4gIGdldCBwYXR0ZXJuKCkge1xuICAgIHJldHVybiB0aGlzLmNvbnRyb2wuZXJyb3JzICYmIHRoaXMuY29udHJvbC5lcnJvcnNbJ3BhdHRlcm4nXTtcbiAgfVxuXG4gIGdldCByZXF1aXJlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5jb250cm9sLmVycm9ycyAmJiB0aGlzLmNvbnRyb2wuZXJyb3JzWydyZXF1aXJlZCddO1xuICB9XG5cbiAgZ2V0IHllYXIoKSB7XG4gICAgcmV0dXJuIHRoaXMuY29udHJvbC5lcnJvcnMgJiYgdGhpcy5jb250cm9sLmVycm9yc1sneWVhciddO1xuICB9XG5cbiAgZ2V0IHllYXJGdXR1cmUoKSB7XG4gICAgcmV0dXJuIHRoaXMuY29udHJvbC5lcnJvcnMgJiYgdGhpcy5jb250cm9sLmVycm9yc1sneWVhckZ1dHVyZSddO1xuICB9XG5cbiAgZ2V0IG1vbnRoKCkge1xuICAgIHJldHVybiB0aGlzLmNvbnRyb2wuZXJyb3JzICYmIHRoaXMuY29udHJvbC5lcnJvcnNbJ21vbnRoJ107XG4gIH1cblxuICBnZXQgZnV0dXJlKCkge1xuICAgIHJldHVybiB0aGlzLmNvbnRyb2wuZXJyb3JzICYmIHRoaXMuY29udHJvbC5lcnJvcnNbJ2Z1dHVyZSddO1xuICB9XG5cbiAgZ2V0IHBhc3QoKSB7XG4gICAgcmV0dXJuIHRoaXMuY29udHJvbC5lcnJvcnMgJiYgdGhpcy5jb250cm9sLmVycm9yc1sncGFzdCddO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiY29udHJvbCAmJiBjb250cm9sLmVycm9ycyAmJiAoY29udHJvbC50b3VjaGVkIHx8IHN1Ym1pdFRyaWVkKVwiPlxuICA8ZGl2ICpuZ0lmPVwibWF4TGVuZ3RoXCI+J3t7IGxhYmVsIH19JyBpcyB0b28gbG9uZywgdGhlIG1heGltdW0gbGVuZ3RoIGlzIHt7IG1heExlbmd0aFJlcXVpcmVkTGVuZ3RoIH19LjwvZGl2PlxuICA8ZGl2ICpuZ0lmPVwibWluTGVuZ3RoXCI+J3t7IGxhYmVsIH19JyBpcyB0b28gc2hvcnQsIHRoZSBtaW5pbXVtIGxlbmd0aCBpcyB7eyBtaW5MZW5ndGhSZXF1aXJlZExlbmd0aCB9fS48L2Rpdj5cbiAgPGRpdiAqbmdJZj1cIm1heFwiPlRoZSB2YWx1ZSBvZiAne3sgbGFiZWwgfX0nIGlzIHRvbyBoaWdoLCB0aGUgbWF4aW11bSBpcyB7eyBtYXhSZXF1aXJlZE1heCB9fS48L2Rpdj5cbiAgPGRpdiAqbmdJZj1cIm1pblwiPlRoZSB2YWx1ZSBvZiAne3sgbGFiZWwgfX0nIGlzIHRvbyBsb3csIHRoZSBtaW5pbXVtIGlzIHt7IG1pblJlcXVpcmVkTWluIH19LjwvZGl2PlxuICA8ZGl2ICpuZ0lmPVwicGF0dGVyblwiPlRoZSBwYXR0ZXJuIG9mICd7eyBsYWJlbCB9fScgbm90IHZhbGlkLjwvZGl2PlxuICA8ZGl2ICpuZ0lmPVwicmVxdWlyZWRcIj4ne3sgbGFiZWwgfX0nIGlzIHJlcXVpcmVkLjwvZGl2PlxuICA8ZGl2ICpuZ0lmPVwieWVhclwiPlBsZWFzZSBjaG9vc2UgYSB5ZWFyIGJldHdlZW4gMTk5MSBhbmQgdGhlIGN1cnJlbnQgeWVhci48L2Rpdj5cbiAgPGRpdiAqbmdJZj1cInllYXJGdXR1cmVcIj5QbGVhc2UgY2hvb3NlIGEgeWVhciBiZXR3ZWVuIHRoZSBjdXJyZW50IHllYXIgYW5kIDIwNTAuPC9kaXY+XG4gIDxkaXYgKm5nSWY9XCJtb250aFwiPlBsZWFzZSBjaG9vc2UgYSB2YWxpZCBtb250aCAoYSB2YWx1ZSBiZXR3ZWVuIDAxIGFuZCAxMikuPC9kaXY+XG4gIDxkaXYgKm5nSWY9XCJmdXR1cmVcIj5UaGUgc2VsZWN0ZWQgZGF0ZSBtYXkgbm90IGJlIGluIHRoZSBmdXR1cmUuPC9kaXY+XG4gIDxkaXYgKm5nSWY9XCJwYXN0XCI+VGhlIHNlbGVjdGVkIGRhdGUgbWF5IG5vdCBiZSBpbiB0aGUgcGFzdC48L2Rpdj5cbjwvbmctY29udGFpbmVyPiJdfQ==
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { NgModule } from '@angular/core';
|
|
3
|
+
import { SpxValidateControlComponent } from './spx-validate-control.component';
|
|
4
|
+
import { FormsModule } from '@angular/forms';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class SpxValidationModule {
|
|
7
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: SpxValidationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
8
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.2", ngImport: i0, type: SpxValidationModule, declarations: [SpxValidateControlComponent], imports: [CommonModule,
|
|
9
|
+
FormsModule], exports: [SpxValidateControlComponent] }); }
|
|
10
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: SpxValidationModule, imports: [CommonModule,
|
|
11
|
+
FormsModule] }); }
|
|
12
|
+
}
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: SpxValidationModule, decorators: [{
|
|
14
|
+
type: NgModule,
|
|
15
|
+
args: [{
|
|
16
|
+
declarations: [
|
|
17
|
+
SpxValidateControlComponent
|
|
18
|
+
],
|
|
19
|
+
imports: [
|
|
20
|
+
CommonModule,
|
|
21
|
+
FormsModule,
|
|
22
|
+
],
|
|
23
|
+
exports: [
|
|
24
|
+
SpxValidateControlComponent
|
|
25
|
+
]
|
|
26
|
+
}]
|
|
27
|
+
}] });
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LXZhbGlkYXRpb24ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc29mdHBhay9jb21wb25lbnRzL3NweC12YWxpZGF0aW9uL3NweC12YWxpZGF0aW9uLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMvRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBYzdDLE1BQU0sT0FBTyxtQkFBbUI7OEdBQW5CLG1CQUFtQjsrR0FBbkIsbUJBQW1CLGlCQVY1QiwyQkFBMkIsYUFHM0IsWUFBWTtZQUNaLFdBQVcsYUFHWCwyQkFBMkI7K0dBR2xCLG1CQUFtQixZQVA1QixZQUFZO1lBQ1osV0FBVzs7MkZBTUYsbUJBQW1CO2tCQVovQixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWiwyQkFBMkI7cUJBQzVCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7cUJBQ1o7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLDJCQUEyQjtxQkFDNUI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNweFZhbGlkYXRlQ29udHJvbENvbXBvbmVudCB9IGZyb20gJy4vc3B4LXZhbGlkYXRlLWNvbnRyb2wuY29tcG9uZW50JztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBTcHhWYWxpZGF0ZUNvbnRyb2xDb21wb25lbnRcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIFNweFZhbGlkYXRlQ29udHJvbENvbXBvbmVudFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFNweFZhbGlkYXRpb25Nb2R1bGUgeyB9XG4iXX0=
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { DateTime } from 'luxon';
|
|
2
|
+
import { valuePairToValue } from '@softpak/components/spx-helpers';
|
|
3
|
+
import { spxValidatorRequired } from './required.validator';
|
|
4
|
+
export const spxValidatorYearAndMonth = (future) => (control) => {
|
|
5
|
+
if (!spxValidatorRequired()(control)) {
|
|
6
|
+
const val = valuePairToValue(control.value);
|
|
7
|
+
if (val.toUpperCase() !== 'ACEP') {
|
|
8
|
+
const date = DateTime.fromISO(val);
|
|
9
|
+
const year = date.year;
|
|
10
|
+
const month = date.month;
|
|
11
|
+
if (val.length < 6) {
|
|
12
|
+
return {
|
|
13
|
+
minlength: {
|
|
14
|
+
requiredLength: 6,
|
|
15
|
+
actualLength: val.length
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
if (month < 1 || month > 12) {
|
|
20
|
+
return { month: true };
|
|
21
|
+
}
|
|
22
|
+
if (future) {
|
|
23
|
+
if (year > 2050 || year < DateTime.now().year) {
|
|
24
|
+
return { yearFuture: true };
|
|
25
|
+
}
|
|
26
|
+
if (DateTime.now().set({ year: year, month: DateTime.now().month - 1 }).startOf('month') < DateTime.now()) {
|
|
27
|
+
return { past: true };
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
if (year < 1971 || year > DateTime.now().year) {
|
|
32
|
+
return { year: true };
|
|
33
|
+
}
|
|
34
|
+
if (DateTime.now().set({ year: year, month: DateTime.now().month - 1 }).startOf('month') > DateTime.now()) {
|
|
35
|
+
return { future: true };
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return null;
|
|
41
|
+
};
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWVhci1hbmQtbW9udGgudmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc29mdHBhay9jb21wb25lbnRzL3NweC12YWxpZGF0aW9uL3llYXItYW5kLW1vbnRoLnZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRTVELE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLENBQUMsTUFBZ0IsRUFBRSxFQUFFLENBQUMsQ0FBQyxPQUF3QixFQUEyQixFQUFFO0lBQ2hILElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7UUFDbkMsTUFBTSxHQUFHLEdBQUcsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVDLElBQUksR0FBRyxDQUFDLFdBQVcsRUFBRSxLQUFLLE1BQU0sRUFBRSxDQUFDO1lBQy9CLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDbkMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztZQUN2QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1lBQ3pCLElBQUksR0FBRyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDakIsT0FBTztvQkFDSCxTQUFTLEVBQUU7d0JBQ1AsY0FBYyxFQUFFLENBQUM7d0JBQ2pCLFlBQVksRUFBRSxHQUFHLENBQUMsTUFBTTtxQkFDM0I7aUJBQ0osQ0FBQztZQUNOLENBQUM7WUFDRCxJQUFJLEtBQUssR0FBRyxDQUFDLElBQUksS0FBSyxHQUFHLEVBQUUsRUFBRSxDQUFDO2dCQUMxQixPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDO1lBQzNCLENBQUM7WUFDRCxJQUFJLE1BQU0sRUFBRSxDQUFDO2dCQUNULElBQUksSUFBSSxHQUFHLElBQUksSUFBSSxJQUFJLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO29CQUM1QyxPQUFPLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxDQUFDO2dCQUNoQyxDQUFDO2dCQUNELElBQUksUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUM7b0JBQ3hHLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUM7Z0JBQzFCLENBQUM7WUFDTCxDQUFDO2lCQUFNLENBQUM7Z0JBQ0osSUFBSSxJQUFJLEdBQUcsSUFBSSxJQUFJLElBQUksR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUM7b0JBQzVDLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUM7Z0JBQzFCLENBQUM7Z0JBQ0QsSUFBSSxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQztvQkFDeEcsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQztnQkFDNUIsQ0FBQztZQUNMLENBQUM7UUFDTCxDQUFDO0lBQ0wsQ0FBQztJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2hCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgRGF0ZVRpbWUgfSBmcm9tICdsdXhvbic7XG5pbXBvcnQgeyB2YWx1ZVBhaXJUb1ZhbHVlIH0gZnJvbSAnQHNvZnRwYWsvY29tcG9uZW50cy9zcHgtaGVscGVycyc7XG5pbXBvcnQgeyBzcHhWYWxpZGF0b3JSZXF1aXJlZCB9IGZyb20gJy4vcmVxdWlyZWQudmFsaWRhdG9yJztcblxuZXhwb3J0IGNvbnN0IHNweFZhbGlkYXRvclllYXJBbmRNb250aCA9IChmdXR1cmU/OiBib29sZWFuKSA9PiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT4ge1xuICAgIGlmICghc3B4VmFsaWRhdG9yUmVxdWlyZWQoKShjb250cm9sKSkge1xuICAgICAgICBjb25zdCB2YWwgPSB2YWx1ZVBhaXJUb1ZhbHVlKGNvbnRyb2wudmFsdWUpO1xuICAgICAgICBpZiAodmFsLnRvVXBwZXJDYXNlKCkgIT09ICdBQ0VQJykge1xuICAgICAgICAgICAgY29uc3QgZGF0ZSA9IERhdGVUaW1lLmZyb21JU08odmFsKTtcbiAgICAgICAgICAgIGNvbnN0IHllYXIgPSBkYXRlLnllYXI7XG4gICAgICAgICAgICBjb25zdCBtb250aCA9IGRhdGUubW9udGg7XG4gICAgICAgICAgICBpZiAodmFsLmxlbmd0aCA8IDYpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICBtaW5sZW5ndGg6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkTGVuZ3RoOiA2LFxuICAgICAgICAgICAgICAgICAgICAgICAgYWN0dWFsTGVuZ3RoOiB2YWwubGVuZ3RoXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKG1vbnRoIDwgMSB8fCBtb250aCA+IDEyKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgbW9udGg6IHRydWUgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChmdXR1cmUpIHtcbiAgICAgICAgICAgICAgICBpZiAoeWVhciA+IDIwNTAgfHwgeWVhciA8IERhdGVUaW1lLm5vdygpLnllYXIpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHsgeWVhckZ1dHVyZTogdHJ1ZSB9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoRGF0ZVRpbWUubm93KCkuc2V0KHsgeWVhcjogeWVhciwgbW9udGg6IERhdGVUaW1lLm5vdygpLm1vbnRoIC0gMSB9KS5zdGFydE9mKCdtb250aCcpIDwgRGF0ZVRpbWUubm93KCkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHsgcGFzdDogdHJ1ZSB9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgaWYgKHllYXIgPCAxOTcxIHx8IHllYXIgPiBEYXRlVGltZS5ub3coKS55ZWFyKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7IHllYXI6IHRydWUgfTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKERhdGVUaW1lLm5vdygpLnNldCh7IHllYXI6IHllYXIsIG1vbnRoOiBEYXRlVGltZS5ub3coKS5tb250aCAtIDEgfSkuc3RhcnRPZignbW9udGgnKSA+IERhdGVUaW1lLm5vdygpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7IGZ1dHVyZTogdHJ1ZSB9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbn07XG4iXX0=
|