@softpak/components 0.3.2 → 19.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/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 +10 -9
- 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 +50 -52
- 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 +15 -68
- package/spx-inputs/spx-input-time-modal.component.d.ts +1 -1
- package/spx-inputs/spx-input-time.component.d.ts +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 -193
- 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 -90
- 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 -316
- 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 -111
- package/esm2022/spx-card/spx-card-line.component.mjs +0 -101
- package/esm2022/spx-card/spx-card.component.mjs +0 -93
- 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 -199
- 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 -135
- 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 -94
- 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 -37
- 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 -119
- 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 -289
- 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 -9
- 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 -94
- package/esm2022/spx-inputs/spx-input-box.component.mjs +0 -255
- package/esm2022/spx-inputs/spx-input-date.component.mjs +0 -294
- package/esm2022/spx-inputs/spx-input-float.component.mjs +0 -159
- 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 -155
- package/esm2022/spx-inputs/spx-input-time-modal.component.mjs +0 -116
- package/esm2022/spx-inputs/spx-input-time.component.mjs +0 -166
- package/esm2022/spx-inputs/spx-input-type.enum.mjs +0 -17
- package/esm2022/spx-inputs/spx-input.component.mjs +0 -445
- 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 -68
- 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 -51
- 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 -259
- 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 -48
- 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 -159
- 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 -327
- 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 -69
- 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 -173
- 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 -88
- 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 -68
- package/esm2022/spx-validation/year-and-month.validator.mjs +0 -42
|
@@ -1,129 +0,0 @@
|
|
|
1
|
-
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
-
import { NgFor } from '@angular/common';
|
|
3
|
-
import { SpxSuggestionComponent } from '@softpak/components/spx-suggestion';
|
|
4
|
-
import { fromEvent } from 'rxjs';
|
|
5
|
-
import { valuePairToValue } from '@softpak/components/spx-helpers';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
export class SpxInputRadioComponent {
|
|
8
|
-
constructor() {
|
|
9
|
-
this.cachedSuggestions = [];
|
|
10
|
-
this.focusPosition = 0;
|
|
11
|
-
this.spxFocused = false;
|
|
12
|
-
this.spxShowLabel = true;
|
|
13
|
-
this.spxReadonly = false;
|
|
14
|
-
this.spxSuggestions = [];
|
|
15
|
-
this.spxChange = new EventEmitter();
|
|
16
|
-
this.spxFocus = new EventEmitter();
|
|
17
|
-
}
|
|
18
|
-
spxFocusIn() {
|
|
19
|
-
this.listenToKeys();
|
|
20
|
-
this.determineFocusPosition();
|
|
21
|
-
}
|
|
22
|
-
spxFocusOut() {
|
|
23
|
-
this.subscriptionKeyDown?.unsubscribe();
|
|
24
|
-
this.subscriptionKeyUp?.unsubscribe();
|
|
25
|
-
}
|
|
26
|
-
ngOnChanges(changes) {
|
|
27
|
-
if ((changes['spxSuggestions'] && JSON.stringify(changes['spxSuggestions']?.previousValue) !== JSON.stringify(changes['spxSuggestions']?.currentValue))) {
|
|
28
|
-
this.cachedSuggestions = changes['spxSuggestions']?.currentValue ?? [];
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
handleSuggestionClick(event, valuePair) {
|
|
32
|
-
if (this.spxReadonly) {
|
|
33
|
-
console.log('spxInputRadio: clicked, but readonly');
|
|
34
|
-
}
|
|
35
|
-
else {
|
|
36
|
-
console.log('spxInputRadio: clicked');
|
|
37
|
-
this.select(valuePair);
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
determineFocusPosition() {
|
|
41
|
-
if (this.value && this.spxSuggestions?.length) {
|
|
42
|
-
const index = this.spxSuggestions.findIndex(valuePair => valuePairToValue(valuePair) === valuePairToValue(this.value));
|
|
43
|
-
this.focusPosition = index >= 0 ? index : 0;
|
|
44
|
-
}
|
|
45
|
-
else {
|
|
46
|
-
this.focusPosition = 0;
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
select(valuePair) {
|
|
50
|
-
this.focusPosition = 0;
|
|
51
|
-
this.value = valuePair;
|
|
52
|
-
this.spxChange.emit(valuePair);
|
|
53
|
-
}
|
|
54
|
-
listenToKeys() {
|
|
55
|
-
this.subscriptionKeyUp = fromEvent(window, 'keyup').subscribe((event) => {
|
|
56
|
-
if ((event.key === 'ArrowUp' || event.key === 'ArrowLeft') && this.focusPosition > 0) {
|
|
57
|
-
this.focusPosition = this.focusPosition - 1;
|
|
58
|
-
this.select(this.spxSuggestions.at(this.focusPosition));
|
|
59
|
-
event.preventDefault();
|
|
60
|
-
}
|
|
61
|
-
if ((event.key === 'ArrowDown' || event.key === 'ArrowRight') && this.focusPosition < this.spxSuggestions.length - 1) {
|
|
62
|
-
this.focusPosition = this.focusPosition + 1;
|
|
63
|
-
this.select(this.spxSuggestions.at(this.focusPosition));
|
|
64
|
-
event.preventDefault();
|
|
65
|
-
}
|
|
66
|
-
});
|
|
67
|
-
this.subscriptionKeyDown = fromEvent(window, 'keydown').subscribe((event) => {
|
|
68
|
-
if (event.key === 'ArrowDown' ||
|
|
69
|
-
event.key === 'ArrowLeft' ||
|
|
70
|
-
event.key === 'ArrowRight' ||
|
|
71
|
-
event.key === 'ArrowUp') {
|
|
72
|
-
event.preventDefault();
|
|
73
|
-
}
|
|
74
|
-
});
|
|
75
|
-
}
|
|
76
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: SpxInputRadioComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
77
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: SpxInputRadioComponent, isStandalone: true, selector: "spx-input-radio", inputs: { spxName: "spxName", spxValidators: "spxValidators", spxFocused: "spxFocused", spxShowLabel: "spxShowLabel", spxReadonly: "spxReadonly", spxSuggestions: "spxSuggestions", value: "value" }, outputs: { spxChange: "spxChange", spxFocus: "spxFocus" }, usesOnChanges: true, ngImport: i0, template: `<div class="grid grid-cols-2 gap-2" [class.mt-3]="this.spxShowLabel">
|
|
78
|
-
<spx-suggestion
|
|
79
|
-
*ngFor="let valuePair of this.cachedSuggestions; let i = index"
|
|
80
|
-
[spxDisabled]="this.spxReadonly"
|
|
81
|
-
[spxFocused]="this.spxFocused && i === this.focusPosition"
|
|
82
|
-
[spxSelected]="this.value?.value === valuePair?.value"
|
|
83
|
-
[spxTabbable]="this.focusPosition === i"
|
|
84
|
-
(click)="this.handleSuggestionClick($event, valuePair)">
|
|
85
|
-
{{valuePair?.description}}
|
|
86
|
-
</spx-suggestion>
|
|
87
|
-
</div>`, isInline: true, dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: SpxSuggestionComponent, selector: "spx-suggestion", inputs: ["spxDisabled", "spxFocused", "spxSelected", "spxTabbable"] }] }); }
|
|
88
|
-
}
|
|
89
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: SpxInputRadioComponent, decorators: [{
|
|
90
|
-
type: Component,
|
|
91
|
-
args: [{
|
|
92
|
-
selector: 'spx-input-radio',
|
|
93
|
-
standalone: true,
|
|
94
|
-
imports: [
|
|
95
|
-
NgFor,
|
|
96
|
-
SpxSuggestionComponent,
|
|
97
|
-
],
|
|
98
|
-
template: `<div class="grid grid-cols-2 gap-2" [class.mt-3]="this.spxShowLabel">
|
|
99
|
-
<spx-suggestion
|
|
100
|
-
*ngFor="let valuePair of this.cachedSuggestions; let i = index"
|
|
101
|
-
[spxDisabled]="this.spxReadonly"
|
|
102
|
-
[spxFocused]="this.spxFocused && i === this.focusPosition"
|
|
103
|
-
[spxSelected]="this.value?.value === valuePair?.value"
|
|
104
|
-
[spxTabbable]="this.focusPosition === i"
|
|
105
|
-
(click)="this.handleSuggestionClick($event, valuePair)">
|
|
106
|
-
{{valuePair?.description}}
|
|
107
|
-
</spx-suggestion>
|
|
108
|
-
</div>`,
|
|
109
|
-
}]
|
|
110
|
-
}], propDecorators: { spxName: [{
|
|
111
|
-
type: Input
|
|
112
|
-
}], spxValidators: [{
|
|
113
|
-
type: Input
|
|
114
|
-
}], spxFocused: [{
|
|
115
|
-
type: Input
|
|
116
|
-
}], spxShowLabel: [{
|
|
117
|
-
type: Input
|
|
118
|
-
}], spxReadonly: [{
|
|
119
|
-
type: Input
|
|
120
|
-
}], spxSuggestions: [{
|
|
121
|
-
type: Input
|
|
122
|
-
}], value: [{
|
|
123
|
-
type: Input
|
|
124
|
-
}], spxChange: [{
|
|
125
|
-
type: Output
|
|
126
|
-
}], spxFocus: [{
|
|
127
|
-
type: Output
|
|
128
|
-
}] } });
|
|
129
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LWlucHV0LXJhZGlvLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NvZnRwYWsvY29tcG9uZW50cy9zcHgtaW5wdXRzL3NweC1pbnB1dC1yYWRpby5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFFdEYsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzVFLE9BQU8sRUFBZ0IsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOztBQXFCbkUsTUFBTSxPQUFPLHNCQUFzQjtJQW5CbkM7UUFvQkUsc0JBQWlCLEdBQXdCLEVBQUUsQ0FBQztRQUNsQyxrQkFBYSxHQUFHLENBQUMsQ0FBQztRQUluQixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLGlCQUFZLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLG1CQUFjLEdBQXdCLEVBQUUsQ0FBQztRQUV4QyxjQUFTLEdBQW9DLElBQUksWUFBWSxFQUFxQixDQUFDO1FBQ25GLGFBQVEsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztLQW1FbkU7SUFoRUMsVUFBVTtRQUNSLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxtQkFBbUIsRUFBRSxXQUFXLEVBQUUsQ0FBQztRQUN4QyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLENBQUM7SUFDeEMsQ0FB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WUFDekIsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLG1CQUFtQixHQUFHLFNBQVMsQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDMUUsSUFBSyxLQUF1QixDQUFDLEdBQUcsS0FBSyxXQUFXO2dCQUM3QyxLQUF1QixDQUFDLEdBQUcsS0FBSyxXQUFXO2dCQUMzQyxLQUF1QixDQUFDLEdBQUcsS0FBSyxZQUFZO2dCQUM1QyxLQUF1QixDQUFDLEdBQUcsS0FBSyxTQUFTLEVBQUUsQ0FBQztnQkFDN0MsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3pCLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OEdBOUVVLHNCQUFzQjtrR0FBdEIsc0JBQXNCLGlXQVp2Qjs7Ozs7Ozs7OztXQVVELDREQWJQLEtBQUssbUhBQ0wsc0JBQXNCOzsyRkFjYixzQkFBc0I7a0JBbkJsQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxpQkFBaUI7b0JBQzNCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUU7d0JBQ1AsS0FBSzt3QkFDTCxzQkFBc0I7cUJBQ3ZCO29CQUNELFFBQVEsRUFBRTs7Ozs7Ozs7OztXQVVEO2lCQUNWOzhCQUtVLE9BQU87c0JBQWYsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNJLFNBQVM7c0JBQWxCLE1BQU07Z0JBQ0csUUFBUTtzQkFBakIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTcHhWYWx1ZVBhaXIgfSBmcm9tICcuL3NweC12YWx1ZS1pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTmdGb3IgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgU3B4U3VnZ2VzdGlvbkNvbXBvbmVudCB9IGZyb20gJ0Bzb2Z0cGFrL2NvbXBvbmVudHMvc3B4LXN1Z2dlc3Rpb24nO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uLCBmcm9tRXZlbnQgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHZhbHVlUGFpclRvVmFsdWUgfSBmcm9tICdAc29mdHBhay9jb21wb25lbnRzL3NweC1oZWxwZXJzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3B4LWlucHV0LXJhZGlvJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIE5nRm9yLFxuICAgIFNweFN1Z2dlc3Rpb25Db21wb25lbnQsXG4gIF0sXG4gIHRlbXBsYXRlOiBgPGRpdiBjbGFzcz1cImdyaWQgZ3JpZC1jb2xzLTIgZ2FwLTJcIiBbY2xhc3MubXQtM109XCJ0aGlzLnNweFNob3dMYWJlbFwiPlxuICAgICAgPHNweC1zdWdnZXN0aW9uXG4gICAgICAgICpuZ0Zvcj1cImxldCB2YWx1ZVBhaXIgb2YgdGhpcy5jYWNoZWRTdWdnZXN0aW9uczsgbGV0IGkgPSBpbmRleFwiXG4gICAgICAgIFtzcHhEaXNhYmxlZF09XCJ0aGlzLnNweFJlYWRvbmx5XCJcbiAgICAgICAgW3NweEZvY3VzZWRdPVwidGhpcy5zcHhGb2N1c2VkICYmIGkgPT09IHRoaXMuZm9jdXNQb3NpdGlvblwiXG4gICAgICAgIFtzcHhTZWxlY3RlZF09XCJ0aGlzLnZhbHVlPy52YWx1ZSA9PT0gdmFsdWVQYWlyPy52YWx1ZVwiXG4gICAgICAgIFtzcHhUYWJiYWJsZV09XCJ0aGlzLmZvY3VzUG9zaXRpb24gPT09IGlcIlxuICAgICAgICAoY2xpY2spPVwidGhpcy5oYW5kbGVTdWdnZXN0aW9uQ2xpY2soJGV2ZW50LCB2YWx1ZVBhaXIpXCI+XG4gICAgICAgIHt7dmFsdWVQYWlyPy5kZXNjcmlwdGlvbn19XG4gICAgICA8L3NweC1zdWdnZXN0aW9uPlxuICAgIDwvZGl2PmAsXG59KVxuZXhwb3J0IGNsYXNzIFNweElucHV0UmFkaW9Db21wb25lbnQge1xuICBjYWNoZWRTdWdnZXN0aW9uczogU3B4VmFsdWVQYWlyPGFueT5bXSA9IFtdO1xuICBwcm90ZWN0ZWQgZm9jdXNQb3NpdGlvbiA9IDA7XG4gIC8vIEBFbGVtZW50KCkgZWwhOiBIVE1MRWxlbWVudDtcbiAgQElucHV0KCkgc3B4TmFtZT86IHN0cmluZztcbiAgQElucHV0KCkgc3B4VmFsaWRhdG9ycyE6IGFueVtdO1xuICBASW5wdXQoKSBzcHhGb2N1c2VkID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNweFNob3dMYWJlbCA9IHRydWU7XG4gIEBJbnB1dCgpIHNweFJlYWRvbmx5ID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNweFN1Z2dlc3Rpb25zOiBTcHhWYWx1ZVBhaXI8YW55PltdID0gW107XG4gIEBJbnB1dCgpIHZhbHVlPzogU3B4VmFsdWVQYWlyPGFueT47XG4gIEBPdXRwdXQoKSBzcHhDaGFuZ2U6IEV2ZW50RW1pdHRlcjxTcHhWYWx1ZVBhaXI8YW55Pj4gPSBuZXcgRXZlbnRFbWl0dGVyPFNweFZhbHVlUGFpcjxhbnk+PigpO1xuICBAT3V0cHV0KCkgc3B4Rm9jdXM6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb25LZXlVcD86IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb25LZXlEb3duPzogU3Vic2NyaXB0aW9uO1xuICBzcHhGb2N1c0luKCkge1xuICAgIHRoaXMubGlzdGVuVG9LZXlzKCk7XG4gICAgdGhpcy5kZXRlcm1pbmVGb2N1c1Bvc2l0aW9uKCk7XG4gIH1cblxuICBzcHhGb2N1c091dCgpIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbktleURvd24/LnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25LZXlVcD8udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoXG4gICAgICAoY2hhbmdlc1snc3B4U3VnZ2VzdGlvbnMnXSAmJiBKU09OLnN0cmluZ2lmeShjaGFuZ2VzWydzcHhTdWdnZXN0aW9ucyddPy5wcmV2aW91c1ZhbHVlKSAhPT0gSlNPTi5zdHJpbmdpZnkoY2hhbmdlc1snc3B4U3VnZ2VzdGlvbnMnXT8uY3VycmVudFZhbHVlKSlcbiAgICApIHtcbiAgICAgIHRoaXMuY2FjaGVkU3VnZ2VzdGlvbnMgPSBjaGFuZ2VzWydzcHhTdWdnZXN0aW9ucyddPy5jdXJyZW50VmFsdWUgPz8gW107XG4gICAgfVxuICB9XG5cbiAgaGFuZGxlU3VnZ2VzdGlvbkNsaWNrKGV2ZW50OiBFdmVudCwgdmFsdWVQYWlyOiBTcHhWYWx1ZVBhaXI8YW55Pikge1xuICAgIGlmICh0aGlzLnNweFJlYWRvbmx5KSB7XG4gICAgICBjb25zb2xlLmxvZygnc3B4SW5wdXRSYWRpbzogY2xpY2tlZCwgYnV0IHJlYWRvbmx5Jyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnNvbGUubG9nKCdzcHhJbnB1dFJhZGlvOiBjbGlja2VkJyk7XG4gICAgICB0aGlzLnNlbGVjdCh2YWx1ZVBhaXIpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZGV0ZXJtaW5lRm9jdXNQb3NpdGlvbigpIHtcbiAgICBpZiAodGhpcy52YWx1ZSAmJiB0aGlzLnNweFN1Z2dlc3Rpb25zPy5sZW5ndGgpIHtcbiAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5zcHhTdWdnZXN0aW9ucy5maW5kSW5kZXgodmFsdWVQYWlyID0+IHZhbHVlUGFpclRvVmFsdWUodmFsdWVQYWlyKSA9PT0gdmFsdWVQYWlyVG9WYWx1ZSh0aGlzLnZhbHVlKSk7XG4gICAgICB0aGlzLmZvY3VzUG9zaXRpb24gPSBpbmRleCA+PSAwID8gaW5kZXggOiAwO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZvY3VzUG9zaXRpb24gPSAwO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2VsZWN0KHZhbHVlUGFpcjogU3B4VmFsdWVQYWlyPHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4+KTogdm9pZCB7XG4gICAgdGhpcy5mb2N1c1Bvc2l0aW9uID0gMDtcbiAgICB0aGlzLnZhbHVlID0gdmFsdWVQYWlyO1xuICAgIHRoaXMuc3B4Q2hhbmdlLmVtaXQodmFsdWVQYWlyKTtcbiAgfVxuXG4gIHByaXZhdGUgbGlzdGVuVG9LZXlzKCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uS2V5VXAgPSBmcm9tRXZlbnQod2luZG93LCAna2V5dXAnKS5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICBpZiAoKChldmVudCBhcyBLZXlib2FyZEV2ZW50KS5rZXkgPT09ICdBcnJvd1VwJyB8fCAoZXZlbnQgYXMgS2V5Ym9hcmRFdmVudCkua2V5ID09PSAnQXJyb3dMZWZ0JykgJiYgdGhpcy5mb2N1c1Bvc2l0aW9uID4gMCkge1xuICAgICAgICB0aGlzLmZvY3VzUG9zaXRpb24gPSB0aGlzLmZvY3VzUG9zaXRpb24gLSAxO1xuICAgICAgICB0aGlzLnNlbGVjdCh0aGlzLnNweFN1Z2dlc3Rpb25zLmF0KHRoaXMuZm9jdXNQb3NpdGlvbikhKTtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIH1cbiAgICAgIGlmICgoKGV2ZW50IGFzIEtleWJvYXJkRXZlbnQpLmtleSA9PT0gJ0Fycm93RG93bicgfHwgKGV2ZW50IGFzIEtleWJvYXJkRXZlbnQpLmtleSA9PT0gJ0Fycm93UmlnaHQnKSAmJiB0aGlzLmZvY3VzUG9zaXRpb24gPCB0aGlzLnNweFN1Z2dlc3Rpb25zLmxlbmd0aCAtIDEpIHtcbiAgICAgICAgdGhpcy5mb2N1c1Bvc2l0aW9uID0gdGhpcy5mb2N1c1Bvc2l0aW9uICsgMTtcbiAgICAgICAgdGhpcy5zZWxlY3QodGhpcy5zcHhTdWdnZXN0aW9ucy5hdCh0aGlzLmZvY3VzUG9zaXRpb24pISk7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25LZXlEb3duID0gZnJvbUV2ZW50KHdpbmRvdywgJ2tleWRvd24nKS5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICBpZiAoKGV2ZW50IGFzIEtleWJvYXJkRXZlbnQpLmtleSA9PT0gJ0Fycm93RG93bicgfHxcbiAgICAgICAgKGV2ZW50IGFzIEtleWJvYXJkRXZlbnQpLmtleSA9PT0gJ0Fycm93TGVmdCcgfHxcbiAgICAgICAgKGV2ZW50IGFzIEtleWJvYXJkRXZlbnQpLmtleSA9PT0gJ0Fycm93UmlnaHQnIHx8XG4gICAgICAgIChldmVudCBhcyBLZXlib2FyZEV2ZW50KS5rZXkgPT09ICdBcnJvd1VwJykge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59Il19
|
|
@@ -1,155 +0,0 @@
|
|
|
1
|
-
import { NgFor, NgIf } from '@angular/common';
|
|
2
|
-
import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
|
|
3
|
-
import { SpxButtonComponent } from '@softpak/components/spx-button';
|
|
4
|
-
import { SpxDropdownComponent } from './spx-dropdown.component';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export class SpxInputTextComponent {
|
|
7
|
-
constructor() {
|
|
8
|
-
this.spxAutofocus = false;
|
|
9
|
-
this.spxSuggestions = [];
|
|
10
|
-
this.spxReadonly = false;
|
|
11
|
-
this.spxCapitalize = false;
|
|
12
|
-
this.spxFocused = true;
|
|
13
|
-
this.spxType = 'text';
|
|
14
|
-
this.spxBlurFromChild = new EventEmitter();
|
|
15
|
-
this.spxChange = new EventEmitter();
|
|
16
|
-
this.spxFocus = new EventEmitter();
|
|
17
|
-
this.spxWasInternalUpdate = false;
|
|
18
|
-
}
|
|
19
|
-
spxSetFocus() {
|
|
20
|
-
this.inputRef?.nativeElement?.focus();
|
|
21
|
-
}
|
|
22
|
-
componentDidLoad() {
|
|
23
|
-
if (this.spxAutofocus) {
|
|
24
|
-
this.spxFocus.emit();
|
|
25
|
-
this.spxSetFocus();
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
handleBlur() {
|
|
29
|
-
this.spxBlurFromChild.emit();
|
|
30
|
-
}
|
|
31
|
-
handleFocus() {
|
|
32
|
-
this.spxFocus.emit();
|
|
33
|
-
}
|
|
34
|
-
handleDescriptionInput(event) {
|
|
35
|
-
this.value = {
|
|
36
|
-
description: event.target ? event.target.value : null,
|
|
37
|
-
value: event.target ? event.target.value : null,
|
|
38
|
-
};
|
|
39
|
-
this.spxChange.emit(this.value);
|
|
40
|
-
}
|
|
41
|
-
handleSuggestionClick(value) {
|
|
42
|
-
if (!this.spxReadonly) {
|
|
43
|
-
this.value = value;
|
|
44
|
-
this.spxChange.emit(this.value);
|
|
45
|
-
this.spxFocused = false;
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
handleKeyUp() {
|
|
49
|
-
this.spxFocused = true;
|
|
50
|
-
}
|
|
51
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: SpxInputTextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
52
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: SpxInputTextComponent, isStandalone: true, selector: "spx-input-text", inputs: { spxName: "spxName", spxAutofocus: "spxAutofocus", spxInputMode: "spxInputMode", spxPattern: "spxPattern", spxSuggestions: "spxSuggestions", spxReadonly: "spxReadonly", spxValidators: "spxValidators", spxCapitalize: "spxCapitalize", spxFocused: "spxFocused", spxType: "spxType", value: "value", spxWasInternalUpdate: "spxWasInternalUpdate" }, outputs: { spxBlurFromChild: "spxBlurFromChild", spxChange: "spxChange", spxFocus: "spxFocus" }, viewQueries: [{ propertyName: "inputRef", first: true, predicate: ["input"], descendants: true, static: true }], ngImport: i0, template: `<div class="relative text-black">
|
|
53
|
-
<input
|
|
54
|
-
#input
|
|
55
|
-
class="font-bold text-lg w-full outline-none"
|
|
56
|
-
autocomplete="off"
|
|
57
|
-
spellcheck="false"
|
|
58
|
-
[class.bg-white]="!this.spxReadonly"
|
|
59
|
-
[class.bg-gray-300]="this.spxReadonly"
|
|
60
|
-
[class.cursor-not-allowed]="this.spxReadonly"
|
|
61
|
-
[class.uppercase]="this.spxCapitalize"
|
|
62
|
-
[attr.autofocus]="this.spxAutofocus ? this.spxAutofocus : undefined"
|
|
63
|
-
[attr.disabled]="this.spxReadonly ? this.spxReadonly : undefined"
|
|
64
|
-
[attr.inputMode]="this.spxInputMode ? this.spxInputMode : undefined"
|
|
65
|
-
[attr.pattern]="this.spxPattern ? this.spxPattern : undefined"
|
|
66
|
-
[attr.name]="this.spxName"
|
|
67
|
-
[attr.type]="this.spxType"
|
|
68
|
-
[value]="this.value?.description ? this.value?.description : this.value?.value"
|
|
69
|
-
(blur)="this.handleBlur()"
|
|
70
|
-
(keyUp)="this.handleKeyUp()"
|
|
71
|
-
(focus)="this.handleFocus()"
|
|
72
|
-
(input)="this.handleDescriptionInput($event)"
|
|
73
|
-
/>
|
|
74
|
-
<span *ngIf="this.value?.description && this.value?.value && this.value?.description?.valueOf() !== this.value?.value?.valueOf()">{{this.value?.value}}</span>
|
|
75
|
-
<spx-dropdown
|
|
76
|
-
*ngIf="this.spxFocused && (this.spxType === 'overlay' || this.spxType === 'overlaynumber')"
|
|
77
|
-
[spxSuggestions]="this.spxSuggestions" (spxSelect)="this.handleSuggestionClick($event)">
|
|
78
|
-
</spx-dropdown>
|
|
79
|
-
</div>`, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: SpxDropdownComponent, selector: "spx-dropdown", inputs: ["spxSuggestions"], outputs: ["spxSelect"] }] }); }
|
|
80
|
-
}
|
|
81
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: SpxInputTextComponent, decorators: [{
|
|
82
|
-
type: Component,
|
|
83
|
-
args: [{
|
|
84
|
-
selector: 'spx-input-text',
|
|
85
|
-
standalone: true,
|
|
86
|
-
imports: [
|
|
87
|
-
NgIf,
|
|
88
|
-
NgFor,
|
|
89
|
-
SpxButtonComponent,
|
|
90
|
-
SpxDropdownComponent,
|
|
91
|
-
],
|
|
92
|
-
template: `<div class="relative text-black">
|
|
93
|
-
<input
|
|
94
|
-
#input
|
|
95
|
-
class="font-bold text-lg w-full outline-none"
|
|
96
|
-
autocomplete="off"
|
|
97
|
-
spellcheck="false"
|
|
98
|
-
[class.bg-white]="!this.spxReadonly"
|
|
99
|
-
[class.bg-gray-300]="this.spxReadonly"
|
|
100
|
-
[class.cursor-not-allowed]="this.spxReadonly"
|
|
101
|
-
[class.uppercase]="this.spxCapitalize"
|
|
102
|
-
[attr.autofocus]="this.spxAutofocus ? this.spxAutofocus : undefined"
|
|
103
|
-
[attr.disabled]="this.spxReadonly ? this.spxReadonly : undefined"
|
|
104
|
-
[attr.inputMode]="this.spxInputMode ? this.spxInputMode : undefined"
|
|
105
|
-
[attr.pattern]="this.spxPattern ? this.spxPattern : undefined"
|
|
106
|
-
[attr.name]="this.spxName"
|
|
107
|
-
[attr.type]="this.spxType"
|
|
108
|
-
[value]="this.value?.description ? this.value?.description : this.value?.value"
|
|
109
|
-
(blur)="this.handleBlur()"
|
|
110
|
-
(keyUp)="this.handleKeyUp()"
|
|
111
|
-
(focus)="this.handleFocus()"
|
|
112
|
-
(input)="this.handleDescriptionInput($event)"
|
|
113
|
-
/>
|
|
114
|
-
<span *ngIf="this.value?.description && this.value?.value && this.value?.description?.valueOf() !== this.value?.value?.valueOf()">{{this.value?.value}}</span>
|
|
115
|
-
<spx-dropdown
|
|
116
|
-
*ngIf="this.spxFocused && (this.spxType === 'overlay' || this.spxType === 'overlaynumber')"
|
|
117
|
-
[spxSuggestions]="this.spxSuggestions" (spxSelect)="this.handleSuggestionClick($event)">
|
|
118
|
-
</spx-dropdown>
|
|
119
|
-
</div>`,
|
|
120
|
-
}]
|
|
121
|
-
}], propDecorators: { spxName: [{
|
|
122
|
-
type: Input
|
|
123
|
-
}], spxAutofocus: [{
|
|
124
|
-
type: Input
|
|
125
|
-
}], spxInputMode: [{
|
|
126
|
-
type: Input
|
|
127
|
-
}], spxPattern: [{
|
|
128
|
-
type: Input
|
|
129
|
-
}], spxSuggestions: [{
|
|
130
|
-
type: Input
|
|
131
|
-
}], spxReadonly: [{
|
|
132
|
-
type: Input
|
|
133
|
-
}], spxValidators: [{
|
|
134
|
-
type: Input
|
|
135
|
-
}], spxCapitalize: [{
|
|
136
|
-
type: Input
|
|
137
|
-
}], spxFocused: [{
|
|
138
|
-
type: Input
|
|
139
|
-
}], spxType: [{
|
|
140
|
-
type: Input
|
|
141
|
-
}], value: [{
|
|
142
|
-
type: Input
|
|
143
|
-
}], spxBlurFromChild: [{
|
|
144
|
-
type: Output
|
|
145
|
-
}], spxChange: [{
|
|
146
|
-
type: Output
|
|
147
|
-
}], spxFocus: [{
|
|
148
|
-
type: Output
|
|
149
|
-
}], spxWasInternalUpdate: [{
|
|
150
|
-
type: Input
|
|
151
|
-
}], inputRef: [{
|
|
152
|
-
type: ViewChild,
|
|
153
|
-
args: ['input', { static: true }]
|
|
154
|
-
}] } });
|
|
155
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LWlucHV0LXRleHQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc29mdHBhay9jb21wb25lbnRzL3NweC1pbnB1dHMvc3B4LWlucHV0LXRleHQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFOUYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBd0NoRSxNQUFNLE9BQU8scUJBQXFCO0lBdENsQztRQTBDVyxpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUdyQixtQkFBYyxHQUE4QyxFQUFFLENBQUM7UUFDL0QsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFFcEIsa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFDdEIsZUFBVSxHQUFHLElBQUksQ0FBQztRQUNsQixZQUFPLEdBQXVFLE1BQU0sQ0FBQztRQUVwRixxQkFBZ0IsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUNoRSxjQUFTLEdBQW9DLElBQUksWUFBWSxFQUFxQixDQUFDO1FBQ25GLGFBQVEsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUN6RCx5QkFBb0IsR0FBRyxLQUFLLENBQUM7S0EwQ3ZDO0lBdENDLFdBQVc7UUFDVCxJQUFJLENBQUMsUUFBUSxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDckIsQ0FBQztJQUNILENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsc0JBQXNCLENBQUMsS0FBVTtRQUMvQixJQUFJLENBQUMsS0FBSyxHQUFHO1lBQ1gsV0FBVyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJO1lBQ3JELEtBQUssRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSTtTQUNoRCxDQUFDO1FBQ0YsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxxQkFBcUIsQ0FBQyxLQUFVO1FBQzlCLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7WUFDbkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2hDLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1FBQzFCLENBQUM7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO0lBQ3pCLENBQUM7OEdBMURVLHFCQUFxQjtrR0FBckIscUJBQXFCLDRuQkE3QnRCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0EyQkwsNERBaENILElBQUksNkZBR0osb0JBQW9COzsyRkErQlgscUJBQXFCO2tCQXRDakMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFO3dCQUNQLElBQUk7d0JBQ0osS0FBSzt3QkFDTCxrQkFBa0I7d0JBQ2xCLG9CQUFvQjtxQkFDckI7b0JBQ0QsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0EyQkw7aUJBQ047OEJBSVUsT0FBTztzQkFBZixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNJLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFDRyxTQUFTO3NCQUFsQixNQUFNO2dCQUNHLFFBQVE7c0JBQWpCLE1BQU07Z0JBQ0Usb0JBQW9CO3NCQUE1QixLQUFLO2dCQUNnQyxRQUFRO3NCQUE3QyxTQUFTO3VCQUFDLE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0ZvciwgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTcHhWYWx1ZVBhaXIgfSBmcm9tICcuL3NweC12YWx1ZS1pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU3B4QnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnQHNvZnRwYWsvY29tcG9uZW50cy9zcHgtYnV0dG9uJztcbmltcG9ydCB7IFNweERyb3Bkb3duQ29tcG9uZW50IH0gZnJvbSAnLi9zcHgtZHJvcGRvd24uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3B4LWlucHV0LXRleHQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTmdJZixcbiAgICBOZ0ZvcixcbiAgICBTcHhCdXR0b25Db21wb25lbnQsXG4gICAgU3B4RHJvcGRvd25Db21wb25lbnQsXG4gIF0sXG4gIHRlbXBsYXRlOiBgPGRpdiBjbGFzcz1cInJlbGF0aXZlIHRleHQtYmxhY2tcIj5cbiAgPGlucHV0XG4gICAgI2lucHV0XG4gICAgY2xhc3M9XCJmb250LWJvbGQgdGV4dC1sZyB3LWZ1bGwgb3V0bGluZS1ub25lXCJcbiAgICBhdXRvY29tcGxldGU9XCJvZmZcIlxuICAgIHNwZWxsY2hlY2s9XCJmYWxzZVwiXG4gICAgW2NsYXNzLmJnLXdoaXRlXT1cIiF0aGlzLnNweFJlYWRvbmx5XCJcbiAgICBbY2xhc3MuYmctZ3JheS0zMDBdPVwidGhpcy5zcHhSZWFkb25seVwiXG4gICAgW2NsYXNzLmN1cnNvci1ub3QtYWxsb3dlZF09XCJ0aGlzLnNweFJlYWRvbmx5XCJcbiAgICBbY2xhc3MudXBwZXJjYXNlXT1cInRoaXMuc3B4Q2FwaXRhbGl6ZVwiXG4gICAgW2F0dHIuYXV0b2ZvY3VzXT1cInRoaXMuc3B4QXV0b2ZvY3VzID8gdGhpcy5zcHhBdXRvZm9jdXMgOiB1bmRlZmluZWRcIlxuICAgIFthdHRyLmRpc2FibGVkXT1cInRoaXMuc3B4UmVhZG9ubHkgPyB0aGlzLnNweFJlYWRvbmx5IDogdW5kZWZpbmVkXCJcbiAgICBbYXR0ci5pbnB1dE1vZGVdPVwidGhpcy5zcHhJbnB1dE1vZGUgPyB0aGlzLnNweElucHV0TW9kZSA6IHVuZGVmaW5lZFwiXG4gICAgW2F0dHIucGF0dGVybl09XCJ0aGlzLnNweFBhdHRlcm4gPyB0aGlzLnNweFBhdHRlcm4gOiB1bmRlZmluZWRcIlxuICAgIFthdHRyLm5hbWVdPVwidGhpcy5zcHhOYW1lXCJcbiAgICBbYXR0ci50eXBlXT1cInRoaXMuc3B4VHlwZVwiXG4gICAgW3ZhbHVlXT1cInRoaXMudmFsdWU/LmRlc2NyaXB0aW9uID8gdGhpcy52YWx1ZT8uZGVzY3JpcHRpb24gOiB0aGlzLnZhbHVlPy52YWx1ZVwiXG4gICAgKGJsdXIpPVwidGhpcy5oYW5kbGVCbHVyKClcIlxuICAgIChrZXlVcCk9XCJ0aGlzLmhhbmRsZUtleVVwKClcIlxuICAgIChmb2N1cyk9XCJ0aGlzLmhhbmRsZUZvY3VzKClcIlxuICAgIChpbnB1dCk9XCJ0aGlzLmhhbmRsZURlc2NyaXB0aW9uSW5wdXQoJGV2ZW50KVwiXG4gIC8+XG4gIDxzcGFuICpuZ0lmPVwidGhpcy52YWx1ZT8uZGVzY3JpcHRpb24gJiYgdGhpcy52YWx1ZT8udmFsdWUgJiYgdGhpcy52YWx1ZT8uZGVzY3JpcHRpb24/LnZhbHVlT2YoKSAhPT0gdGhpcy52YWx1ZT8udmFsdWU/LnZhbHVlT2YoKVwiPnt7dGhpcy52YWx1ZT8udmFsdWV9fTwvc3Bhbj5cbiAgPHNweC1kcm9wZG93blxuICAgICpuZ0lmPVwidGhpcy5zcHhGb2N1c2VkICYmICh0aGlzLnNweFR5cGUgPT09ICdvdmVybGF5JyB8fCB0aGlzLnNweFR5cGUgPT09ICdvdmVybGF5bnVtYmVyJylcIlxuICAgIFtzcHhTdWdnZXN0aW9uc109XCJ0aGlzLnNweFN1Z2dlc3Rpb25zXCIgKHNweFNlbGVjdCk9XCJ0aGlzLmhhbmRsZVN1Z2dlc3Rpb25DbGljaygkZXZlbnQpXCI+XG4gIDwvc3B4LWRyb3Bkb3duPlxuPC9kaXY+YCxcbn0pXG5leHBvcnQgY2xhc3MgU3B4SW5wdXRUZXh0Q29tcG9uZW50IHtcbiAgLy8gcHJpdmF0ZSBlbElucHV0PzogSFRNTEVsZW1lbnQ7XG4gIC8vIEBFbGVtZW50KCkgZWwhOiBIVE1MRWxlbWVudDtcbiAgQElucHV0KCkgc3B4TmFtZT86IHN0cmluZztcbiAgQElucHV0KCkgc3B4QXV0b2ZvY3VzID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNweElucHV0TW9kZT86IHN0cmluZztcbiAgQElucHV0KCkgc3B4UGF0dGVybj86IHN0cmluZztcbiAgQElucHV0KCkgc3B4U3VnZ2VzdGlvbnM6IFNweFZhbHVlUGFpcjxib29sZWFuIHwgbnVtYmVyIHwgc3RyaW5nPltdID0gW107XG4gIEBJbnB1dCgpIHNweFJlYWRvbmx5ID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNweFZhbGlkYXRvcnM/OiBhbnlbXTtcbiAgQElucHV0KCkgc3B4Q2FwaXRhbGl6ZSA9IGZhbHNlO1xuICBASW5wdXQoKSBzcHhGb2N1c2VkID0gdHJ1ZTtcbiAgQElucHV0KCkgc3B4VHlwZTogJ2F1dG9jb21wbGV0ZScgfCAnb3ZlcmxheScgfCAnb3ZlcmxheW51bWJlcicgfCAndGV4dCcgfCAncGFzc3dvcmQnID0gJ3RleHQnO1xuICBASW5wdXQoKSB2YWx1ZT86IFNweFZhbHVlUGFpcjxhbnk+O1xuICBAT3V0cHV0KCkgc3B4Qmx1ckZyb21DaGlsZDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAT3V0cHV0KCkgc3B4Q2hhbmdlOiBFdmVudEVtaXR0ZXI8U3B4VmFsdWVQYWlyPGFueT4+ID0gbmV3IEV2ZW50RW1pdHRlcjxTcHhWYWx1ZVBhaXI8YW55Pj4oKTtcbiAgQE91dHB1dCgpIHNweEZvY3VzOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIEBJbnB1dCgpIHNweFdhc0ludGVybmFsVXBkYXRlID0gZmFsc2U7XG4gIEBWaWV3Q2hpbGQoJ2lucHV0JywgeyBzdGF0aWM6IHRydWUgfSkgaW5wdXRSZWY/OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuICBcbiAgXG4gIHNweFNldEZvY3VzKCkge1xuICAgIHRoaXMuaW5wdXRSZWY/Lm5hdGl2ZUVsZW1lbnQ/LmZvY3VzKCk7XG4gIH1cblxuICBjb21wb25lbnREaWRMb2FkKCkge1xuICAgIGlmICh0aGlzLnNweEF1dG9mb2N1cykge1xuICAgICAgdGhpcy5zcHhGb2N1cy5lbWl0KCk7XG4gICAgICB0aGlzLnNweFNldEZvY3VzKCk7XG4gICAgfVxuICB9XG5cbiAgaGFuZGxlQmx1cigpIHtcbiAgICB0aGlzLnNweEJsdXJGcm9tQ2hpbGQuZW1pdCgpO1xuICB9XG5cbiAgaGFuZGxlRm9jdXMoKSB7XG4gICAgdGhpcy5zcHhGb2N1cy5lbWl0KCk7XG4gIH1cblxuICBoYW5kbGVEZXNjcmlwdGlvbklucHV0KGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLnZhbHVlID0ge1xuICAgICAgZGVzY3JpcHRpb246IGV2ZW50LnRhcmdldCA/IGV2ZW50LnRhcmdldC52YWx1ZSA6IG51bGwsXG4gICAgICB2YWx1ZTogZXZlbnQudGFyZ2V0ID8gZXZlbnQudGFyZ2V0LnZhbHVlIDogbnVsbCxcbiAgICB9O1xuICAgIHRoaXMuc3B4Q2hhbmdlLmVtaXQodGhpcy52YWx1ZSk7XG4gIH1cblxuICBoYW5kbGVTdWdnZXN0aW9uQ2xpY2sodmFsdWU6IGFueSkge1xuICAgIGlmICghdGhpcy5zcHhSZWFkb25seSkge1xuICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgICAgdGhpcy5zcHhDaGFuZ2UuZW1pdCh0aGlzLnZhbHVlKTtcbiAgICAgIHRoaXMuc3B4Rm9jdXNlZCA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIGhhbmRsZUtleVVwKCkge1xuICAgIHRoaXMuc3B4Rm9jdXNlZCA9IHRydWU7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
import { NgFor, NgIf } from '@angular/common';
|
|
2
|
-
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
3
|
-
import { SpxButtonComponent } from '@softpak/components/spx-button';
|
|
4
|
-
import { SpxDropdownComponent } from './spx-dropdown.component';
|
|
5
|
-
import { SpxSeverityEnum } from '@softpak/components/spx-helpers';
|
|
6
|
-
import { faXmark } from '@fortawesome/free-solid-svg-icons';
|
|
7
|
-
import { FontAwesomeModule } from '@fortawesome/angular-fontawesome';
|
|
8
|
-
import { IonicModule } from '@ionic/angular';
|
|
9
|
-
import * as i0 from "@angular/core";
|
|
10
|
-
import * as i1 from "@ionic/angular";
|
|
11
|
-
import * as i2 from "@fortawesome/angular-fontawesome";
|
|
12
|
-
export class SpxInputTimeModalComponent {
|
|
13
|
-
constructor(modalController) {
|
|
14
|
-
this.modalController = modalController;
|
|
15
|
-
this.change = new EventEmitter();
|
|
16
|
-
this.faXmark = faXmark;
|
|
17
|
-
this.hourOptions = Array.from({ length: 24 }, (_, i) => i); // 0 to 23
|
|
18
|
-
this.minuteOptions = Array.from({ length: 12 }, (_, i) => i * 5); // Minutes in incrementen van 5
|
|
19
|
-
this.typeError = SpxSeverityEnum.error;
|
|
20
|
-
this.hourOptions.push(this.hourOptions.shift());
|
|
21
|
-
this.minuteOptions.push(this.minuteOptions.shift());
|
|
22
|
-
}
|
|
23
|
-
closeDialog() {
|
|
24
|
-
this.modalController.dismiss();
|
|
25
|
-
}
|
|
26
|
-
onChange(value) {
|
|
27
|
-
this.change.emit(value);
|
|
28
|
-
console.log(value);
|
|
29
|
-
this.modalController.dismiss(value);
|
|
30
|
-
}
|
|
31
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: SpxInputTimeModalComponent, deps: [{ token: i1.ModalController }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
32
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: SpxInputTimeModalComponent, isStandalone: true, selector: "spx-input-time-modal", inputs: { view: "view", value: "value" }, outputs: { change: "change" }, ngImport: i0, template: `<ion-header>
|
|
33
|
-
<ion-toolbar>
|
|
34
|
-
<ion-title>Select {{view}}</ion-title>
|
|
35
|
-
<ion-buttons slot="end">
|
|
36
|
-
<spx-button [spxSeverity]="typeError" (spxClick)="closeDialog()">
|
|
37
|
-
<fa-icon [icon]="faXmark"></fa-icon>
|
|
38
|
-
</spx-button>
|
|
39
|
-
</ion-buttons>
|
|
40
|
-
</ion-toolbar>
|
|
41
|
-
</ion-header>
|
|
42
|
-
<ion-content class="ion-padding bg-white">
|
|
43
|
-
<!-- Uren -->
|
|
44
|
-
<div class="custom-bg grid grid-cols-1 gap-3">
|
|
45
|
-
<div *ngIf="view === 'hours'" class="flex-wrap gap-2">
|
|
46
|
-
<div class="grid grid-cols-3 md:grid-cols-4 gap-3">
|
|
47
|
-
<div *ngFor="let hour of hourOptions" class="text-center font-bold custom-square rounded text-gray-900 text-lg p-3 w-full truncate outline-none bg-sky-100 focus:ring-sky-300 hover:bg-sky-300 active:bg-sky-300" [class.selected]="value === hour" (click)="onChange(hour)">
|
|
48
|
-
{{ hour }}
|
|
49
|
-
</div>
|
|
50
|
-
</div>
|
|
51
|
-
</div>
|
|
52
|
-
<!-- Minuten -->
|
|
53
|
-
<div *ngIf="view === 'minutes'" class="grid grid-cols-1 gap-3">
|
|
54
|
-
<div class="grid grid-cols-4 md:grid-cols-5 gap-3">
|
|
55
|
-
<div *ngFor="let minute of minuteOptions" class="text-center font-bold custom-square rounded text-gray-900 text-lg p-3 w-ful truncate outline-none bg-sky-100 focus:ring-sky-300 hover:bg-sky-300 active:bg-sky-300" [class.selected]="value === minute" (click)="onChange(minute)">
|
|
56
|
-
{{ minute }}
|
|
57
|
-
</div>
|
|
58
|
-
</div>
|
|
59
|
-
</div>
|
|
60
|
-
</div>
|
|
61
|
-
</ion-content>
|
|
62
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: IonicModule }, { kind: "component", type: i1.IonButtons, selector: "ion-buttons", inputs: ["collapse"] }, { kind: "component", type: i1.IonContent, selector: "ion-content", inputs: ["color", "fixedSlotPlacement", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i1.IonHeader, selector: "ion-header", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: i1.IonTitle, selector: "ion-title", inputs: ["color", "size"] }, { kind: "component", type: i1.IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "component", type: SpxButtonComponent, selector: "spx-button", inputs: ["spxDisabled", "spxClass", "spxClassObject", "spxForm", "spxFullHeight", "spxFullWidth", "spxSeverity", "spxSize", "spxTabIndex", "spxType"], outputs: ["spxClick"] }, { kind: "ngmodule", type: FontAwesomeModule }, { kind: "component", type: i2.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "mask", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "transform", "a11yRole"] }] }); }
|
|
63
|
-
}
|
|
64
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: SpxInputTimeModalComponent, decorators: [{
|
|
65
|
-
type: Component,
|
|
66
|
-
args: [{
|
|
67
|
-
selector: 'spx-input-time-modal',
|
|
68
|
-
standalone: true,
|
|
69
|
-
imports: [
|
|
70
|
-
NgIf,
|
|
71
|
-
NgFor,
|
|
72
|
-
IonicModule,
|
|
73
|
-
SpxButtonComponent,
|
|
74
|
-
SpxDropdownComponent,
|
|
75
|
-
FontAwesomeModule,
|
|
76
|
-
],
|
|
77
|
-
template: `<ion-header>
|
|
78
|
-
<ion-toolbar>
|
|
79
|
-
<ion-title>Select {{view}}</ion-title>
|
|
80
|
-
<ion-buttons slot="end">
|
|
81
|
-
<spx-button [spxSeverity]="typeError" (spxClick)="closeDialog()">
|
|
82
|
-
<fa-icon [icon]="faXmark"></fa-icon>
|
|
83
|
-
</spx-button>
|
|
84
|
-
</ion-buttons>
|
|
85
|
-
</ion-toolbar>
|
|
86
|
-
</ion-header>
|
|
87
|
-
<ion-content class="ion-padding bg-white">
|
|
88
|
-
<!-- Uren -->
|
|
89
|
-
<div class="custom-bg grid grid-cols-1 gap-3">
|
|
90
|
-
<div *ngIf="view === 'hours'" class="flex-wrap gap-2">
|
|
91
|
-
<div class="grid grid-cols-3 md:grid-cols-4 gap-3">
|
|
92
|
-
<div *ngFor="let hour of hourOptions" class="text-center font-bold custom-square rounded text-gray-900 text-lg p-3 w-full truncate outline-none bg-sky-100 focus:ring-sky-300 hover:bg-sky-300 active:bg-sky-300" [class.selected]="value === hour" (click)="onChange(hour)">
|
|
93
|
-
{{ hour }}
|
|
94
|
-
</div>
|
|
95
|
-
</div>
|
|
96
|
-
</div>
|
|
97
|
-
<!-- Minuten -->
|
|
98
|
-
<div *ngIf="view === 'minutes'" class="grid grid-cols-1 gap-3">
|
|
99
|
-
<div class="grid grid-cols-4 md:grid-cols-5 gap-3">
|
|
100
|
-
<div *ngFor="let minute of minuteOptions" class="text-center font-bold custom-square rounded text-gray-900 text-lg p-3 w-ful truncate outline-none bg-sky-100 focus:ring-sky-300 hover:bg-sky-300 active:bg-sky-300" [class.selected]="value === minute" (click)="onChange(minute)">
|
|
101
|
-
{{ minute }}
|
|
102
|
-
</div>
|
|
103
|
-
</div>
|
|
104
|
-
</div>
|
|
105
|
-
</div>
|
|
106
|
-
</ion-content>
|
|
107
|
-
`,
|
|
108
|
-
}]
|
|
109
|
-
}], ctorParameters: () => [{ type: i1.ModalController }], propDecorators: { view: [{
|
|
110
|
-
type: Input
|
|
111
|
-
}], value: [{
|
|
112
|
-
type: Input
|
|
113
|
-
}], change: [{
|
|
114
|
-
type: Output
|
|
115
|
-
}] } });
|
|
116
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LWlucHV0LXRpbWUtbW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc29mdHBhay9jb21wb25lbnRzL3NweC1pbnB1dHMvc3B4LWlucHV0LXRpbWUtbW9kYWwuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzVELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxXQUFXLEVBQW1CLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUE2QzlELE1BQU0sT0FBTywwQkFBMEI7SUFVckMsWUFBb0IsZUFBZ0M7UUFBaEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBUDFDLFdBQU0sR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUVwRSxZQUFPLEdBQUcsT0FBTyxDQUFBO1FBQ2pCLGdCQUFXLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVTtRQUNqRSxrQkFBYSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQywrQkFBK0I7UUFDNUYsY0FBUyxHQUFHLGVBQWUsQ0FBQyxLQUFLLENBQUM7UUFHaEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUcsQ0FBQyxDQUFDO1FBQ2pELElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFHLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFhO1FBQ3BCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hCLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbkIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdEMsQ0FBQzs4R0F2QlUsMEJBQTBCO2tHQUExQiwwQkFBMEIseUpBaEMzQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBOEJQLDREQXJDRCxJQUFJLDZGQUNKLEtBQUssa0hBQ0wsV0FBVywybEJBQ1gsa0JBQWtCLG9PQUVsQixpQkFBaUI7OzJGQWtDUiwwQkFBMEI7a0JBM0N0QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxzQkFBc0I7b0JBQ2hDLFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUU7d0JBQ1AsSUFBSTt3QkFDSixLQUFLO3dCQUNMLFdBQVc7d0JBQ1gsa0JBQWtCO3dCQUNsQixvQkFBb0I7d0JBQ3BCLGlCQUFpQjtxQkFDbEI7b0JBQ0QsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7S0E4QlA7aUJBQ0o7b0ZBRVUsSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDSSxNQUFNO3NCQUFmLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0ZvciwgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTcHhCdXR0b25Db21wb25lbnQgfSBmcm9tICdAc29mdHBhay9jb21wb25lbnRzL3NweC1idXR0b24nO1xuaW1wb3J0IHsgU3B4RHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuL3NweC1kcm9wZG93bi5jb21wb25lbnQnO1xuaW1wb3J0IHsgU3B4U2V2ZXJpdHlFbnVtIH0gZnJvbSAnQHNvZnRwYWsvY29tcG9uZW50cy9zcHgtaGVscGVycyc7XG5pbXBvcnQgeyBmYVhtYXJrIH0gZnJvbSAnQGZvcnRhd2Vzb21lL2ZyZWUtc29saWQtc3ZnLWljb25zJztcbmltcG9ydCB7IEZvbnRBd2Vzb21lTW9kdWxlIH0gZnJvbSAnQGZvcnRhd2Vzb21lL2FuZ3VsYXItZm9udGF3ZXNvbWUnO1xuaW1wb3J0IHsgSW9uaWNNb2R1bGUsIE1vZGFsQ29udHJvbGxlciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3B4LWlucHV0LXRpbWUtbW9kYWwnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTmdJZixcbiAgICBOZ0ZvcixcbiAgICBJb25pY01vZHVsZSxcbiAgICBTcHhCdXR0b25Db21wb25lbnQsXG4gICAgU3B4RHJvcGRvd25Db21wb25lbnQsXG4gICAgRm9udEF3ZXNvbWVNb2R1bGUsXG4gIF0sXG4gIHRlbXBsYXRlOiBgPGlvbi1oZWFkZXI+XG4gIDxpb24tdG9vbGJhcj5cbiAgICA8aW9uLXRpdGxlPlNlbGVjdCB7e3ZpZXd9fTwvaW9uLXRpdGxlPlxuICAgIDxpb24tYnV0dG9ucyBzbG90PVwiZW5kXCI+XG4gICAgICA8c3B4LWJ1dHRvbiBbc3B4U2V2ZXJpdHldPVwidHlwZUVycm9yXCIgKHNweENsaWNrKT1cImNsb3NlRGlhbG9nKClcIj5cbiAgICAgICAgPGZhLWljb24gW2ljb25dPVwiZmFYbWFya1wiPjwvZmEtaWNvbj5cbiAgICAgIDwvc3B4LWJ1dHRvbj5cbiAgICA8L2lvbi1idXR0b25zPlxuICA8L2lvbi10b29sYmFyPlxuPC9pb24taGVhZGVyPlxuPGlvbi1jb250ZW50IGNsYXNzPVwiaW9uLXBhZGRpbmcgYmctd2hpdGVcIj5cbiAgPCEtLSBVcmVuIC0tPlxuICA8ZGl2IGNsYXNzPVwiY3VzdG9tLWJnIGdyaWQgZ3JpZC1jb2xzLTEgZ2FwLTNcIj5cbiAgICA8ZGl2ICpuZ0lmPVwidmlldyA9PT0gJ2hvdXJzJ1wiIGNsYXNzPVwiZmxleC13cmFwIGdhcC0yXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZ3JpZCBncmlkLWNvbHMtMyBtZDpncmlkLWNvbHMtNCBnYXAtM1wiPlxuICAgICAgICA8ZGl2ICAqbmdGb3I9XCJsZXQgaG91ciBvZiBob3VyT3B0aW9uc1wiIGNsYXNzPVwidGV4dC1jZW50ZXIgZm9udC1ib2xkIGN1c3RvbS1zcXVhcmUgcm91bmRlZCB0ZXh0LWdyYXktOTAwIHRleHQtbGcgcC0zIHctZnVsbCB0cnVuY2F0ZSBvdXRsaW5lLW5vbmUgYmctc2t5LTEwMCBmb2N1czpyaW5nLXNreS0zMDAgaG92ZXI6Ymctc2t5LTMwMCBhY3RpdmU6Ymctc2t5LTMwMFwiIFtjbGFzcy5zZWxlY3RlZF09XCJ2YWx1ZSA9PT0gaG91clwiIChjbGljayk9XCJvbkNoYW5nZShob3VyKVwiPlxuICAgICAgICAgIHt7IGhvdXIgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8IS0tIE1pbnV0ZW4gLS0+XG4gICAgPGRpdiAqbmdJZj1cInZpZXcgPT09ICdtaW51dGVzJ1wiIGNsYXNzPVwiZ3JpZCBncmlkLWNvbHMtMSBnYXAtM1wiPlxuICAgICAgPGRpdiBjbGFzcz1cImdyaWQgZ3JpZC1jb2xzLTQgbWQ6Z3JpZC1jb2xzLTUgZ2FwLTNcIj5cbiAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgbWludXRlIG9mIG1pbnV0ZU9wdGlvbnNcIiBjbGFzcz1cInRleHQtY2VudGVyIGZvbnQtYm9sZCBjdXN0b20tc3F1YXJlIHJvdW5kZWQgdGV4dC1ncmF5LTkwMCB0ZXh0LWxnIHAtMyB3LWZ1bCB0cnVuY2F0ZSBvdXRsaW5lLW5vbmUgYmctc2t5LTEwMCBmb2N1czpyaW5nLXNreS0zMDAgaG92ZXI6Ymctc2t5LTMwMCBhY3RpdmU6Ymctc2t5LTMwMFwiIFtjbGFzcy5zZWxlY3RlZF09XCJ2YWx1ZSA9PT0gbWludXRlXCIgKGNsaWNrKT1cIm9uQ2hhbmdlKG1pbnV0ZSlcIj5cbiAgICAgICAgICB7eyBtaW51dGUgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2lvbi1jb250ZW50PlxuICAgIGAsXG59KVxuZXhwb3J0IGNsYXNzIFNweElucHV0VGltZU1vZGFsQ29tcG9uZW50IHtcbiAgQElucHV0KCkgdmlldyE6ICdob3VycycgfCAnbWludXRlcyc7XG4gIEBJbnB1dCgpIHZhbHVlITogbnVtYmVyO1xuICBAT3V0cHV0KCkgY2hhbmdlOiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gIGZhWG1hcmsgPSBmYVhtYXJrXG4gIGhvdXJPcHRpb25zID0gQXJyYXkuZnJvbSh7IGxlbmd0aDogMjQgfSwgKF8sIGkpID0+IGkpOyAvLyAwIHRvIDIzXG4gIG1pbnV0ZU9wdGlvbnMgPSBBcnJheS5mcm9tKHsgbGVuZ3RoOiAxMiB9LCAoXywgaSkgPT4gaSAqIDUpOyAvLyBNaW51dGVzIGluIGluY3JlbWVudGVuIHZhbiA1XG4gIHR5cGVFcnJvciA9IFNweFNldmVyaXR5RW51bS5lcnJvcjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIG1vZGFsQ29udHJvbGxlcjogTW9kYWxDb250cm9sbGVyKXtcbiAgICB0aGlzLmhvdXJPcHRpb25zLnB1c2godGhpcy5ob3VyT3B0aW9ucy5zaGlmdCgpISk7XG4gICAgdGhpcy5taW51dGVPcHRpb25zLnB1c2godGhpcy5taW51dGVPcHRpb25zLnNoaWZ0KCkhKTtcbiAgfVxuXG4gIGNsb3NlRGlhbG9nKCkge1xuICAgIHRoaXMubW9kYWxDb250cm9sbGVyLmRpc21pc3MoKTtcbiAgfVxuXG4gIG9uQ2hhbmdlKHZhbHVlOiBudW1iZXIpIHtcbiAgICB0aGlzLmNoYW5nZS5lbWl0KHZhbHVlKTtcbiAgICBjb25zb2xlLmxvZyh2YWx1ZSk7XG4gICAgdGhpcy5tb2RhbENvbnRyb2xsZXIuZGlzbWlzcyh2YWx1ZSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,166 +0,0 @@
|
|
|
1
|
-
import { NgFor, NgIf } from '@angular/common';
|
|
2
|
-
import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
|
|
3
|
-
import { SpxButtonComponent } from '@softpak/components/spx-button';
|
|
4
|
-
import { SpxDropdownComponent } from './spx-dropdown.component';
|
|
5
|
-
import { DateTime } from 'luxon';
|
|
6
|
-
import { SpxSeverityEnum } from '@softpak/components/spx-helpers';
|
|
7
|
-
import { SpxInputTimeModalComponent } from './spx-input-time-modal.component';
|
|
8
|
-
import { IonicModule } from '@ionic/angular';
|
|
9
|
-
import * as i0 from "@angular/core";
|
|
10
|
-
import * as i1 from "@ionic/angular";
|
|
11
|
-
export class SpxInputTimeComponent {
|
|
12
|
-
get formattedHour() {
|
|
13
|
-
return this.selectedHour !== null && this.selectedHour < 10 ? `0${this.selectedHour}` : this.selectedHour;
|
|
14
|
-
}
|
|
15
|
-
get formattedMinute() {
|
|
16
|
-
return this.selectedMinute !== null && this.selectedMinute < 10 ? `0${this.selectedMinute}` : this.selectedMinute;
|
|
17
|
-
}
|
|
18
|
-
get hour() { return this.value?.value ? DateTime.fromISO(this.value.value).hour : null; }
|
|
19
|
-
get minute() { return this.value?.value ? DateTime.fromISO(this.value.value).minute : null; }
|
|
20
|
-
constructor(modalController) {
|
|
21
|
-
this.modalController = modalController;
|
|
22
|
-
this.spxAutofocus = false;
|
|
23
|
-
this.spxSuggestions = [];
|
|
24
|
-
this.spxReadonly = false;
|
|
25
|
-
this.spxCapitalize = false;
|
|
26
|
-
this.spxFocused = true;
|
|
27
|
-
this.spxBlurFromChild = new EventEmitter();
|
|
28
|
-
this.spxChange = new EventEmitter();
|
|
29
|
-
this.spxFocus = new EventEmitter();
|
|
30
|
-
this.spxWasInternalUpdate = false;
|
|
31
|
-
this.severitySuccess = SpxSeverityEnum.success;
|
|
32
|
-
this.hourOptions = Array.from({ length: 24 }, (_, i) => i).unshift(); // 0 to 23
|
|
33
|
-
this.minuteOptions = Array.from({ length: 12 }, (_, i) => i * 5).unshift(); // Minutes in incrementen van 5
|
|
34
|
-
this.selectedHour = null;
|
|
35
|
-
this.selectedMinute = null;
|
|
36
|
-
}
|
|
37
|
-
spxSetFocus() {
|
|
38
|
-
this.inputRef?.nativeElement?.focus();
|
|
39
|
-
}
|
|
40
|
-
componentDidLoad() {
|
|
41
|
-
if (this.spxAutofocus) {
|
|
42
|
-
this.spxFocus.emit();
|
|
43
|
-
this.spxSetFocus();
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
handleBlur() {
|
|
47
|
-
this.spxBlurFromChild.emit();
|
|
48
|
-
}
|
|
49
|
-
handleFocus() {
|
|
50
|
-
this.spxFocus.emit();
|
|
51
|
-
}
|
|
52
|
-
handleDescriptionInput(event) {
|
|
53
|
-
this.value = {
|
|
54
|
-
description: event.target ? event.target.value : null,
|
|
55
|
-
value: event.target ? event.target.value : null,
|
|
56
|
-
};
|
|
57
|
-
this.spxChange.emit(this.value);
|
|
58
|
-
}
|
|
59
|
-
handleSuggestionClick(value) {
|
|
60
|
-
if (!this.spxReadonly) {
|
|
61
|
-
this.value = value;
|
|
62
|
-
this.spxChange.emit(this.value);
|
|
63
|
-
this.spxFocused = false;
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
handleKeyUp() {
|
|
67
|
-
this.spxFocused = true;
|
|
68
|
-
}
|
|
69
|
-
async openDialog(view) {
|
|
70
|
-
const modal = await this.modalController.create({
|
|
71
|
-
component: SpxInputTimeModalComponent,
|
|
72
|
-
componentProps: {
|
|
73
|
-
value: this.value?.value ?
|
|
74
|
-
(view === 'hours' ? DateTime.fromISO(this.value.value).hour : DateTime.fromISO(this.value.value).minute) : undefined,
|
|
75
|
-
view,
|
|
76
|
-
},
|
|
77
|
-
});
|
|
78
|
-
modal.onDidDismiss().then((data) => {
|
|
79
|
-
// this.appStore.dispatch(infArticleActions.reset({}));
|
|
80
|
-
if (view === 'hours') {
|
|
81
|
-
// console.log('hours');
|
|
82
|
-
// console.log(data);
|
|
83
|
-
this.selectedHour = data.data;
|
|
84
|
-
this.openDialog('minutes');
|
|
85
|
-
this.updateValue();
|
|
86
|
-
}
|
|
87
|
-
else if (view === 'minutes') {
|
|
88
|
-
// console.log('minutes');
|
|
89
|
-
// console.log(data);
|
|
90
|
-
this.selectedMinute = data.data;
|
|
91
|
-
this.updateValue();
|
|
92
|
-
}
|
|
93
|
-
});
|
|
94
|
-
await modal.present();
|
|
95
|
-
}
|
|
96
|
-
updateValue() {
|
|
97
|
-
if (this.selectedHour !== null && this.selectedMinute !== null) {
|
|
98
|
-
const formattedHour = this.selectedHour < 10 ? `0${this.selectedHour}` : this.selectedHour;
|
|
99
|
-
const formattedMinute = this.selectedMinute < 10 ? `0${this.selectedMinute}` : this.selectedMinute;
|
|
100
|
-
const newValue = `${formattedHour}:${formattedMinute}`;
|
|
101
|
-
this.value = {
|
|
102
|
-
description: newValue,
|
|
103
|
-
value: newValue,
|
|
104
|
-
};
|
|
105
|
-
this.spxChange.emit(this.value);
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: SpxInputTimeComponent, deps: [{ token: i1.ModalController }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
109
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: SpxInputTimeComponent, isStandalone: true, selector: "spx-input-time", inputs: { spxName: "spxName", spxAutofocus: "spxAutofocus", spxInputMode: "spxInputMode", spxPattern: "spxPattern", spxSuggestions: "spxSuggestions", spxReadonly: "spxReadonly", spxValidators: "spxValidators", spxCapitalize: "spxCapitalize", spxFocused: "spxFocused", spxType: "spxType", value: "value", spxWasInternalUpdate: "spxWasInternalUpdate" }, outputs: { spxBlurFromChild: "spxBlurFromChild", spxChange: "spxChange", spxFocus: "spxFocus" }, viewQueries: [{ propertyName: "inputRef", first: true, predicate: ["input"], descendants: true, static: true }], ngImport: i0, template: `<div class="relative text-black">
|
|
110
|
-
<div class="flex items-center justify-around gap-3">
|
|
111
|
-
<div class="grow rounded bg-gray-100 p-3 text-xl text-center font-bold" (click)="openDialog('hours')">{{ formattedHour ?? '--' }}</div>
|
|
112
|
-
<div class="text-gray text-xl">:</div>
|
|
113
|
-
<div class="grow rounded bg-gray-100 p-3 text-xl text-center font-bold" (click)="openDialog('minutes')">{{ formattedMinute ?? '--' }}</div>
|
|
114
|
-
</div>
|
|
115
|
-
</div>`, isInline: true, styles: [".custom-square.selected{background-color:#007bff;color:#fff;border-color:#007bff}.custom-bg{--background: #FFFFFF}\n"], dependencies: [{ kind: "ngmodule", type: IonicModule }] }); }
|
|
116
|
-
}
|
|
117
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: SpxInputTimeComponent, decorators: [{
|
|
118
|
-
type: Component,
|
|
119
|
-
args: [{ selector: 'spx-input-time', standalone: true, imports: [
|
|
120
|
-
NgIf,
|
|
121
|
-
NgFor,
|
|
122
|
-
SpxButtonComponent,
|
|
123
|
-
SpxDropdownComponent,
|
|
124
|
-
IonicModule,
|
|
125
|
-
], template: `<div class="relative text-black">
|
|
126
|
-
<div class="flex items-center justify-around gap-3">
|
|
127
|
-
<div class="grow rounded bg-gray-100 p-3 text-xl text-center font-bold" (click)="openDialog('hours')">{{ formattedHour ?? '--' }}</div>
|
|
128
|
-
<div class="text-gray text-xl">:</div>
|
|
129
|
-
<div class="grow rounded bg-gray-100 p-3 text-xl text-center font-bold" (click)="openDialog('minutes')">{{ formattedMinute ?? '--' }}</div>
|
|
130
|
-
</div>
|
|
131
|
-
</div>`, styles: [".custom-square.selected{background-color:#007bff;color:#fff;border-color:#007bff}.custom-bg{--background: #FFFFFF}\n"] }]
|
|
132
|
-
}], ctorParameters: () => [{ type: i1.ModalController }], propDecorators: { spxName: [{
|
|
133
|
-
type: Input
|
|
134
|
-
}], spxAutofocus: [{
|
|
135
|
-
type: Input
|
|
136
|
-
}], spxInputMode: [{
|
|
137
|
-
type: Input
|
|
138
|
-
}], spxPattern: [{
|
|
139
|
-
type: Input
|
|
140
|
-
}], spxSuggestions: [{
|
|
141
|
-
type: Input
|
|
142
|
-
}], spxReadonly: [{
|
|
143
|
-
type: Input
|
|
144
|
-
}], spxValidators: [{
|
|
145
|
-
type: Input
|
|
146
|
-
}], spxCapitalize: [{
|
|
147
|
-
type: Input
|
|
148
|
-
}], spxFocused: [{
|
|
149
|
-
type: Input
|
|
150
|
-
}], spxType: [{
|
|
151
|
-
type: Input
|
|
152
|
-
}], value: [{
|
|
153
|
-
type: Input
|
|
154
|
-
}], spxBlurFromChild: [{
|
|
155
|
-
type: Output
|
|
156
|
-
}], spxChange: [{
|
|
157
|
-
type: Output
|
|
158
|
-
}], spxFocus: [{
|
|
159
|
-
type: Output
|
|
160
|
-
}], spxWasInternalUpdate: [{
|
|
161
|
-
type: Input
|
|
162
|
-
}], inputRef: [{
|
|
163
|
-
type: ViewChild,
|
|
164
|
-
args: ['input', { static: true }]
|
|
165
|
-
}] } });
|
|
166
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LWlucHV0LXRpbWUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc29mdHBhay9jb21wb25lbnRzL3NweC1pbnB1dHMvc3B4LWlucHV0LXRpbWUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFdEcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUNqQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbEUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDOUUsT0FBTyxFQUFFLFdBQVcsRUFBbUIsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBOEI5RCxNQUFNLE9BQU8scUJBQXFCO0lBMEJoQyxJQUFJLGFBQWE7UUFDZixPQUFPLElBQUksQ0FBQyxZQUFZLEtBQUssSUFBSSxJQUFJLElBQUksQ0FBQyxZQUFZLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQztJQUM1RyxDQUFDO0lBRUQsSUFBSSxlQUFlO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLGNBQWMsS0FBSyxJQUFJLElBQUksSUFBSSxDQUFDLGNBQWMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFD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QixvQkFBb0I7d0JBQ3BCLFdBQVc7cUJBQ1osWUFXUzs7Ozs7O09BTUw7b0ZBS0ksT0FBTztzQkFBZixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNJLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFDRyxTQUFTO3NCQUFsQixNQUFNO2dCQUNHLFFBQVE7c0JBQWpCLE1BQU07Z0JBQ0Usb0JBQW9CO3NCQUE1QixLQUFLO2dCQUNnQyxRQUFRO3NCQUE3QyxTQUFTO3VCQUFDLE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0ZvciwgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgVmlld0NoaWxkLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNweFZhbHVlUGFpciB9IGZyb20gJy4vc3B4LXZhbHVlLWludGVyZmFjZSc7XG5pbXBvcnQgeyBTcHhCdXR0b25Db21wb25lbnQgfSBmcm9tICdAc29mdHBhay9jb21wb25lbnRzL3NweC1idXR0b24nO1xuaW1wb3J0IHsgU3B4RHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuL3NweC1kcm9wZG93bi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGF0ZVRpbWUgfSBmcm9tICdsdXhvbic7XG5pbXBvcnQgeyBTcHhTZXZlcml0eUVudW0gfSBmcm9tICdAc29mdHBhay9jb21wb25lbnRzL3NweC1oZWxwZXJzJztcbmltcG9ydCB7IFNweElucHV0VGltZU1vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi9zcHgtaW5wdXQtdGltZS1tb2RhbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgSW9uaWNNb2R1bGUsIE1vZGFsQ29udHJvbGxlciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3B4LWlucHV0LXRpbWUnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTmdJZixcbiAgICBOZ0ZvcixcbiAgICBTcHhCdXR0b25Db21wb25lbnQsXG4gICAgU3B4RHJvcGRvd25Db21wb25lbnQsXG4gICAgSW9uaWNNb2R1bGUsXG4gIF0sXG4gIHN0eWxlczogYFxuICAgIC5jdXN0b20tc3F1YXJlLnNlbGVjdGVkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwN2JmZjtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICBib3JkZXItY29sb3I6ICMwMDdiZmY7XG4gICAgfVxuICAgIC5jdXN0b20tYmcge1xuICAgICAgLS1iYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICAgIH1cbiAgYCxcbiAgdGVtcGxhdGU6IGA8ZGl2IGNsYXNzPVwicmVsYXRpdmUgdGV4dC1ibGFja1wiPlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWFyb3VuZCBnYXAtM1wiPlxuICAgICAgPGRpdiBjbGFzcz1cImdyb3cgcm91bmRlZCBiZy1ncmF5LTEwMCBwLTMgdGV4dC14bCB0ZXh0LWNlbnRlciBmb250LWJvbGRcIiAoY2xpY2spPVwib3BlbkRpYWxvZygnaG91cnMnKVwiPnt7IGZvcm1hdHRlZEhvdXIgPz8gJy0tJyB9fTwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInRleHQtZ3JheSB0ZXh0LXhsXCI+OjwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImdyb3cgcm91bmRlZCBiZy1ncmF5LTEwMCBwLTMgdGV4dC14bCB0ZXh0LWNlbnRlciBmb250LWJvbGRcIiAoY2xpY2spPVwib3BlbkRpYWxvZygnbWludXRlcycpXCI+e3sgZm9ybWF0dGVkTWludXRlID8/ICctLScgfX08L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PmAsXG59KVxuZXhwb3J0IGNsYXNzIFNweElucHV0VGltZUNvbXBvbmVudCB7XG4gIC8vIHByaXZhdGUgZWxJbnB1dD86IEhUTUxFbGVtZW50O1xuICAvLyBARWxlbWVudCgpIGVsITogSFRNTEVsZW1lbnQ7XG4gIEBJbnB1dCgpIHNweE5hbWU/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHNweEF1dG9mb2N1cyA9IGZhbHNlO1xuICBASW5wdXQoKSBzcHhJbnB1dE1vZGU/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHNweFBhdHRlcm4/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHNweFN1Z2dlc3Rpb25zOiBTcHhWYWx1ZVBhaXI8Ym9vbGVhbiB8IG51bWJlciB8IHN0cmluZz5bXSA9IFtdO1xuICBASW5wdXQoKSBzcHhSZWFkb25seSA9IGZhbHNlO1xuICBASW5wdXQoKSBzcHhWYWxpZGF0b3JzPzogYW55W107XG4gIEBJbnB1dCgpIHNweENhcGl0YWxpemUgPSBmYWxzZTtcbiAgQElucHV0KCkgc3B4Rm9jdXNlZCA9IHRydWU7XG4gIEBJbnB1dCgpIHNweFR5cGUhOiBhbnk7XG4gIEBJbnB1dCgpIHZhbHVlPzogU3B4VmFsdWVQYWlyPGFueT47XG4gIEBPdXRwdXQoKSBzcHhCbHVyRnJvbUNoaWxkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIEBPdXRwdXQoKSBzcHhDaGFuZ2U6IEV2ZW50RW1pdHRlcjxTcHhWYWx1ZVBhaXI8YW55Pj4gPSBuZXcgRXZlbnRFbWl0dGVyPFNweFZhbHVlUGFpcjxhbnk+PigpO1xuICBAT3V0cHV0KCkgc3B4Rm9jdXM6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQElucHV0KCkgc3B4V2FzSW50ZXJuYWxVcGRhdGUgPSBmYWxzZTtcbiAgQFZpZXdDaGlsZCgnaW5wdXQnLCB7IHN0YXRpYzogdHJ1ZSB9KSBpbnB1dFJlZj86IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgc2V2ZXJpdHlTdWNjZXNzID0gU3B4U2V2ZXJpdHlFbnVtLnN1Y2Nlc3M7XG4gIGhvdXJPcHRpb25zID0gQXJyYXkuZnJvbSh7IGxlbmd0aDogMjQgfSwgKF8sIGkpID0+IGkpLnVuc2hpZnQoKTsgLy8gMCB0byAyM1xuICBtaW51dGVPcHRpb25zID0gQXJyYXkuZnJvbSh7IGxlbmd0aDogMTIgfSwgKF8sIGkpID0+IGkgKiA1KS51bnNoaWZ0KCk7IC8vIE1pbnV0ZXMgaW4gaW5jcmVtZW50ZW4gdmFuIDVcbiAgc2VsZWN0ZWRIb3VyOiBudW1iZXIgfCBudWxsID0gbnVsbDtcbiAgc2VsZWN0ZWRNaW51dGU6IG51bWJlciB8IG51bGwgPSBudWxsO1xuXG4gIGdldCBmb3JtYXR0ZWRIb3VyKCkge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkSG91ciAhPT0gbnVsbCAmJiB0aGlzLnNlbGVjdGVkSG91ciA8IDEwID8gYDAke3RoaXMuc2VsZWN0ZWRIb3VyfWAgOiB0aGlzLnNlbGVjdGVkSG91cjtcbiAgfVxuXG4gIGdldCBmb3JtYXR0ZWRNaW51dGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRNaW51dGUgIT09IG51bGwgJiYgdGhpcy5zZWxlY3RlZE1pbnV0ZSA8IDEwID8gYDAke3RoaXMuc2VsZWN0ZWRNaW51dGV9YCA6IHRoaXMuc2VsZWN0ZWRNaW51dGU7XG4gIH1cblxuXG4gIGdldCBob3VyKCkgeyByZXR1cm4gdGhpcy52YWx1ZT8udmFsdWUgPyBEYXRlVGltZS5mcm9tSVNPKHRoaXMudmFsdWUudmFsdWUpLmhvdXIgOiBudWxsOyB9XG4gIGdldCBtaW51dGUoKSB7IHJldHVybiB0aGlzLnZhbHVlPy52YWx1ZSA/IERhdGVUaW1lLmZyb21JU08odGhpcy52YWx1ZS52YWx1ZSkubWludXRlIDogbnVsbDsgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbW9kYWxDb250cm9sbGVyOiBNb2RhbENvbnRyb2xsZXIpIHt9XG5cbiAgc3B4U2V0Rm9jdXMoKSB7XG4gICAgdGhpcy5pbnB1dFJlZj8ubmF0aXZlRWxlbWVudD8uZm9jdXMoKTtcbiAgfVxuXG4gIGNvbXBvbmVudERpZExvYWQoKSB7XG4gICAgaWYgKHRoaXMuc3B4QXV0b2ZvY3VzKSB7XG4gICAgICB0aGlzLnNweEZvY3VzLmVtaXQoKTtcbiAgICAgIHRoaXMuc3B4U2V0Rm9jdXMoKTtcbiAgICB9XG4gIH1cblxuICBoYW5kbGVCbHVyKCkge1xuICAgIHRoaXMuc3B4Qmx1ckZyb21DaGlsZC5lbWl0KCk7XG4gIH1cblxuICBoYW5kbGVGb2N1cygpIHtcbiAgICB0aGlzLnNweEZvY3VzLmVtaXQoKTtcbiAgfVxuXG4gIGhhbmRsZURlc2NyaXB0aW9uSW5wdXQoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMudmFsdWUgPSB7XG4gICAgICBkZXNjcmlwdGlvbjogZXZlbnQudGFyZ2V0ID8gZXZlbnQudGFyZ2V0LnZhbHVlIDogbnVsbCxcbiAgICAgIHZhbHVlOiBldmVudC50YXJnZXQgPyBldmVudC50YXJnZXQudmFsdWUgOiBudWxsLFxuICAgIH07XG4gICAgdGhpcy5zcHhDaGFuZ2UuZW1pdCh0aGlzLnZhbHVlKTtcbiAgfVxuXG4gIGhhbmRsZVN1Z2dlc3Rpb25DbGljayh2YWx1ZTogYW55KSB7XG4gICAgaWYgKCF0aGlzLnNweFJlYWRvbmx5KSB7XG4gICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgICB0aGlzLnNweENoYW5nZS5lbWl0KHRoaXMudmFsdWUpO1xuICAgICAgdGhpcy5zcHhGb2N1c2VkID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgaGFuZGxlS2V5VXAoKSB7XG4gICAgdGhpcy5zcHhGb2N1c2VkID0gdHJ1ZTtcbiAgfVxuXG4gIGFzeW5jIG9wZW5EaWFsb2codmlldzogJ2hvdXJzJyB8ICdtaW51dGVzJykge1xuICAgIGNvbnN0IG1vZGFsID0gYXdhaXQgdGhpcy5tb2RhbENvbnRyb2xsZXIuY3JlYXRlKHtcbiAgICAgIGNvbXBvbmVudDogU3B4SW5wdXRUaW1lTW9kYWxDb21wb25lbnQsXG4gICAgICBjb21wb25lbnRQcm9wczoge1xuICAgICAgICB2YWx1ZTogdGhpcy52YWx1ZT8udmFsdWUgP1xuICAgICAgICAgICh2aWV3ID09PSAnaG91cnMnID8gRGF0ZVRpbWUuZnJvbUlTTyh0aGlzLnZhbHVlLnZhbHVlKS5ob3VyIDogRGF0ZVRpbWUuZnJvbUlTTyh0aGlzLnZhbHVlLnZhbHVlKS5taW51dGUpIDogdW5kZWZpbmVkLFxuICAgICAgICB2aWV3LFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIG1vZGFsLm9uRGlkRGlzbWlzcygpLnRoZW4oKGRhdGEpID0+IHtcbiAgICAgIC8vIHRoaXMuYXBwU3RvcmUuZGlzcGF0Y2goaW5mQXJ0aWNsZUFjdGlvbnMucmVzZXQoe30pKTtcblxuICAgICAgaWYgKHZpZXcgPT09ICdob3VycycpIHtcbiAgICAgICAgLy8gY29uc29sZS5sb2coJ2hvdXJzJyk7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKGRhdGEpO1xuICAgICAgICB0aGlzLnNlbGVjdGVkSG91ciA9IGRhdGEuZGF0YTtcbiAgICAgICAgdGhpcy5vcGVuRGlhbG9nKCdtaW51dGVzJyk7XG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUoKTtcblxuICAgICAgfSBlbHNlIGlmICh2aWV3ID09PSAnbWludXRlcycpIHtcbiAgICAgICAgLy8gY29uc29sZS5sb2coJ21pbnV0ZXMnKTtcbiAgICAgICAgLy8gY29uc29sZS5sb2coZGF0YSk7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRNaW51dGUgPSBkYXRhLmRhdGE7XG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUoKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGF3YWl0IG1vZGFsLnByZXNlbnQoKTtcbiAgfVxuXG4gIHVwZGF0ZVZhbHVlKCkge1xuICAgIGlmICh0aGlzLnNlbGVjdGVkSG91ciAhPT0gbnVsbCAmJiB0aGlzLnNlbGVjdGVkTWludXRlICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBmb3JtYXR0ZWRIb3VyID0gdGhpcy5zZWxlY3RlZEhvdXIgPCAxMCA/IGAwJHt0aGlzLnNlbGVjdGVkSG91cn1gIDogdGhpcy5zZWxlY3RlZEhvdXI7XG4gICAgICBjb25zdCBmb3JtYXR0ZWRNaW51dGUgPSB0aGlzLnNlbGVjdGVkTWludXRlIDwgMTAgPyBgMCR7dGhpcy5zZWxlY3RlZE1pbnV0ZX1gIDogdGhpcy5zZWxlY3RlZE1pbnV0ZTtcbiAgICAgIGNvbnN0IG5ld1ZhbHVlID0gYCR7Zm9ybWF0dGVkSG91cn06JHtmb3JtYXR0ZWRNaW51dGV9YDtcblxuICAgICAgdGhpcy52YWx1ZSA9IHtcbiAgICAgICAgZGVzY3JpcHRpb246IG5ld1ZhbHVlLFxuICAgICAgICB2YWx1ZTogbmV3VmFsdWUsXG4gICAgICB9O1xuXG4gICAgICB0aGlzLnNweENoYW5nZS5lbWl0KHRoaXMudmFsdWUpO1xuICAgIH1cbiAgfVxufVxuIl19
|