@spicainternational/ngx-sds-components 2.22.10 → 2.23.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/esm2020/public-api.mjs +3 -1
- package/esm2020/src/lib/duration-box/duration-box.component.mjs +160 -0
- package/esm2020/src/lib/duration-box/duration-box.module.mjs +43 -0
- package/esm2020/src/lib/duration-box/duration-input-resolver.service.mjs +54 -0
- package/esm2020/src/lib/duration-box/public-api.mjs +3 -0
- package/esm2020/src/lib/duration-box/spicainternational-ngx-sds-components-src-lib-duration-box.mjs +5 -0
- package/esm2020/src/lib/duration-pipe/duration-format.pipe.mjs +26 -0
- package/esm2020/src/lib/duration-pipe/duration-pipe.module.mjs +18 -0
- package/esm2020/src/lib/duration-pipe/public-api.mjs +3 -0
- package/esm2020/src/lib/duration-pipe/spicainternational-ngx-sds-components-src-lib-duration-pipe.mjs +5 -0
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-duration-box.mjs +257 -0
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-duration-box.mjs.map +1 -0
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-duration-pipe.mjs +48 -0
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-duration-pipe.mjs.map +1 -0
- package/fesm2015/spicainternational-ngx-sds-components.mjs +2 -0
- package/fesm2015/spicainternational-ngx-sds-components.mjs.map +1 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-duration-box.mjs +257 -0
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-duration-box.mjs.map +1 -0
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-duration-pipe.mjs +48 -0
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-duration-pipe.mjs.map +1 -0
- package/fesm2020/spicainternational-ngx-sds-components.mjs +2 -0
- package/fesm2020/spicainternational-ngx-sds-components.mjs.map +1 -1
- package/package.json +17 -1
- package/public-api.d.ts +2 -0
- package/src/lib/duration-box/duration-box.component.d.ts +85 -0
- package/src/lib/duration-box/duration-box.module.d.ts +10 -0
- package/src/lib/duration-box/duration-input-resolver.service.d.ts +8 -0
- package/src/lib/duration-box/package.json +10 -0
- package/src/lib/duration-box/public-api.d.ts +2 -0
- package/src/lib/duration-box/spicainternational-ngx-sds-components-src-lib-duration-box.d.ts +5 -0
- package/src/lib/duration-pipe/duration-format.pipe.d.ts +7 -0
- package/src/lib/duration-pipe/duration-pipe.module.d.ts +8 -0
- package/src/lib/duration-pipe/package.json +10 -0
- package/src/lib/duration-pipe/public-api.d.ts +2 -0
- package/src/lib/duration-pipe/spicainternational-ngx-sds-components-src-lib-duration-pipe.d.ts +5 -0
package/esm2020/public-api.mjs
CHANGED
|
@@ -7,6 +7,8 @@ export * from '@spicainternational/ngx-sds-components/src/lib/callout';
|
|
|
7
7
|
export * from '@spicainternational/ngx-sds-components/src/lib/color-picker';
|
|
8
8
|
export * from '@spicainternational/ngx-sds-components/src/lib/date-picker';
|
|
9
9
|
export * from '@spicainternational/ngx-sds-components/src/lib/date-pipes';
|
|
10
|
+
export * from '@spicainternational/ngx-sds-components/src/lib/duration-pipe';
|
|
11
|
+
export * from '@spicainternational/ngx-sds-components/src/lib/duration-box';
|
|
10
12
|
export * from '@spicainternational/ngx-sds-components/src/lib/layout';
|
|
11
13
|
export * from '@spicainternational/ngx-sds-components/src/lib/modal';
|
|
12
14
|
export * from '@spicainternational/ngx-sds-components/src/lib/navigation';
|
|
@@ -16,4 +18,4 @@ export * from '@spicainternational/ngx-sds-components/src/lib/quick-info';
|
|
|
16
18
|
export * from '@spicainternational/ngx-sds-components/src/lib/segmented-control';
|
|
17
19
|
export * from '@spicainternational/ngx-sds-components/src/lib/side-bar';
|
|
18
20
|
export * from '@spicainternational/ngx-sds-components/src/lib/tooltip';
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL25neC1zZHMtY29tcG9uZW50cy9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsNkRBQTZELENBQUM7QUFDNUUsY0FBYyx1REFBdUQsQ0FBQztBQUN0RSxjQUFjLHdEQUF3RCxDQUFDO0FBQ3ZFLGNBQWMsNkRBQTZELENBQUM7QUFDNUUsY0FBYyw0REFBNEQsQ0FBQztBQUMzRSxjQUFjLDJEQUEyRCxDQUFDO0FBQzFFLGNBQWMsOERBQThELENBQUM7QUFDN0UsY0FBYyw2REFBNkQsQ0FBQztBQUM1RSxjQUFjLHVEQUF1RCxDQUFDO0FBQ3RFLGNBQWMsc0RBQXNELENBQUM7QUFDckUsY0FBYywyREFBMkQsQ0FBQztBQUMxRSxjQUFjLDREQUE0RCxDQUFDO0FBQzNFLGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYywyREFBMkQsQ0FBQztBQUMxRSxjQUFjLGtFQUFrRSxDQUFDO0FBQ2pGLGNBQWMseURBQXlELENBQUM7QUFDeEUsY0FBYyx3REFBd0QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBuZ3gtc2RzLWNvbXBvbmVudHNcclxuICovXHJcblxyXG5leHBvcnQgKiBmcm9tICdAc3BpY2FpbnRlcm5hdGlvbmFsL25neC1zZHMtY29tcG9uZW50cy9zcmMvbGliL2FwcC1zd2l0Y2hlcic7XHJcbmV4cG9ydCAqIGZyb20gJ0BzcGljYWludGVybmF0aW9uYWwvbmd4LXNkcy1jb21wb25lbnRzL3NyYy9saWIvYXZhdGFyJztcclxuZXhwb3J0ICogZnJvbSAnQHNwaWNhaW50ZXJuYXRpb25hbC9uZ3gtc2RzLWNvbXBvbmVudHMvc3JjL2xpYi9jYWxsb3V0JztcclxuZXhwb3J0ICogZnJvbSAnQHNwaWNhaW50ZXJuYXRpb25hbC9uZ3gtc2RzLWNvbXBvbmVudHMvc3JjL2xpYi9jb2xvci1waWNrZXInO1xyXG5leHBvcnQgKiBmcm9tICdAc3BpY2FpbnRlcm5hdGlvbmFsL25neC1zZHMtY29tcG9uZW50cy9zcmMvbGliL2RhdGUtcGlja2VyJztcclxuZXhwb3J0ICogZnJvbSAnQHNwaWNhaW50ZXJuYXRpb25hbC9uZ3gtc2RzLWNvbXBvbmVudHMvc3JjL2xpYi9kYXRlLXBpcGVzJztcclxuZXhwb3J0ICogZnJvbSAnQHNwaWNhaW50ZXJuYXRpb25hbC9uZ3gtc2RzLWNvbXBvbmVudHMvc3JjL2xpYi9kdXJhdGlvbi1waXBlJztcclxuZXhwb3J0ICogZnJvbSAnQHNwaWNhaW50ZXJuYXRpb25hbC9uZ3gtc2RzLWNvbXBvbmVudHMvc3JjL2xpYi9kdXJhdGlvbi1ib3gnO1xyXG5leHBvcnQgKiBmcm9tICdAc3BpY2FpbnRlcm5hdGlvbmFsL25neC1zZHMtY29tcG9uZW50cy9zcmMvbGliL2xheW91dCc7XHJcbmV4cG9ydCAqIGZyb20gJ0BzcGljYWludGVybmF0aW9uYWwvbmd4LXNkcy1jb21wb25lbnRzL3NyYy9saWIvbW9kYWwnO1xyXG5leHBvcnQgKiBmcm9tICdAc3BpY2FpbnRlcm5hdGlvbmFsL25neC1zZHMtY29tcG9uZW50cy9zcmMvbGliL25hdmlnYXRpb24nO1xyXG5leHBvcnQgKiBmcm9tICdAc3BpY2FpbnRlcm5hdGlvbmFsL25neC1zZHMtY29tcG9uZW50cy9zcmMvbGliL3BhZ2UtaGVhZGVyJztcclxuZXhwb3J0ICogZnJvbSAnQHNwaWNhaW50ZXJuYXRpb25hbC9uZ3gtc2RzLWNvbXBvbmVudHMvc3JjL2xpYi9wYW5lJztcclxuZXhwb3J0ICogZnJvbSAnQHNwaWNhaW50ZXJuYXRpb25hbC9uZ3gtc2RzLWNvbXBvbmVudHMvc3JjL2xpYi9xdWljay1pbmZvJztcclxuZXhwb3J0ICogZnJvbSAnQHNwaWNhaW50ZXJuYXRpb25hbC9uZ3gtc2RzLWNvbXBvbmVudHMvc3JjL2xpYi9zZWdtZW50ZWQtY29udHJvbCc7XHJcbmV4cG9ydCAqIGZyb20gJ0BzcGljYWludGVybmF0aW9uYWwvbmd4LXNkcy1jb21wb25lbnRzL3NyYy9saWIvc2lkZS1iYXInO1xyXG5leHBvcnQgKiBmcm9tICdAc3BpY2FpbnRlcm5hdGlvbmFsL25neC1zZHMtY29tcG9uZW50cy9zcmMvbGliL3Rvb2x0aXAnO1xyXG4iXX0=
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import { SdsDurationFormatPipe } from '@spicainternational/ngx-sds-components/src/lib/duration-pipe';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "./duration-input-resolver.service";
|
|
5
|
+
import * as i2 from "devextreme-angular";
|
|
6
|
+
import * as i3 from "devextreme-angular/ui/nested";
|
|
7
|
+
import * as i4 from "@angular/common";
|
|
8
|
+
import * as i5 from "devextreme-angular/core";
|
|
9
|
+
import * as i6 from "@spicainternational/ngx-sds-components/src/lib/duration-pipe";
|
|
10
|
+
export class SdsDurationBoxComponent {
|
|
11
|
+
constructor(_durationInputResolver) {
|
|
12
|
+
this._durationInputResolver = _durationInputResolver;
|
|
13
|
+
/**
|
|
14
|
+
* Duration length expressed in minutes; when we allow empty values this property can be null.
|
|
15
|
+
*
|
|
16
|
+
* @type {(number | null)}
|
|
17
|
+
* @memberof SdsDurationBoxComponent
|
|
18
|
+
*/
|
|
19
|
+
this.value = null;
|
|
20
|
+
this.valueChange = new EventEmitter();
|
|
21
|
+
/**
|
|
22
|
+
* Allow user to select empty value. You should provide emptyValueText in this case.
|
|
23
|
+
*
|
|
24
|
+
* @type {boolean}
|
|
25
|
+
* @memberof SdsDurationBoxComponent
|
|
26
|
+
*/
|
|
27
|
+
this.allowEmptyValue = true;
|
|
28
|
+
/**
|
|
29
|
+
* 'emptyValueText' - text to be displayed when value is cleared
|
|
30
|
+
*
|
|
31
|
+
* @type {string}
|
|
32
|
+
* @memberof SdsDurationBoxComponent
|
|
33
|
+
*/
|
|
34
|
+
this.emptyValueText = 'not set';
|
|
35
|
+
/**
|
|
36
|
+
* Width of component
|
|
37
|
+
*
|
|
38
|
+
* @type {string}
|
|
39
|
+
* @memberof SdsDurationBoxComponent
|
|
40
|
+
*/
|
|
41
|
+
this.width = '10rem';
|
|
42
|
+
/**
|
|
43
|
+
* Specifies whether the UI component responds to user interaction.
|
|
44
|
+
*
|
|
45
|
+
* @type {boolean}
|
|
46
|
+
* @memberof SdsDurationBoxComponent
|
|
47
|
+
*/
|
|
48
|
+
this.disabled = false;
|
|
49
|
+
/**
|
|
50
|
+
* Specifies whether to display the Clear button in the UI component.
|
|
51
|
+
*
|
|
52
|
+
* @type {boolean}
|
|
53
|
+
* @memberof SdsDurationBoxComponent
|
|
54
|
+
*/
|
|
55
|
+
this.showClearButton = false;
|
|
56
|
+
this.elementUUID = 'sds-db-' + crypto.randomUUID();
|
|
57
|
+
this.inputValue = '';
|
|
58
|
+
this.showOptions = false;
|
|
59
|
+
this.isValueEmpty = false;
|
|
60
|
+
this.isValueSetInternally = false;
|
|
61
|
+
this._durationPipe = new SdsDurationFormatPipe();
|
|
62
|
+
this.optionsDropdownButton = {
|
|
63
|
+
icon: 'spindown',
|
|
64
|
+
stylingMode: 'text',
|
|
65
|
+
onClick: () => {
|
|
66
|
+
this.showOptions = !this.showOptions;
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
this.clearValueButton = {
|
|
70
|
+
icon: 'clear',
|
|
71
|
+
stylingMode: 'text',
|
|
72
|
+
elementAttr: { class: 'sds-durationbox-clear-button' },
|
|
73
|
+
onClick: () => {
|
|
74
|
+
this.applyOption(null);
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
ngOnChanges(changes) {
|
|
79
|
+
if (changes['value']) {
|
|
80
|
+
if (this.value === null) {
|
|
81
|
+
if (this.allowEmptyValue) {
|
|
82
|
+
this.setValue(null);
|
|
83
|
+
// this.isValueEmpty = true;
|
|
84
|
+
// this.inputValue = this.emptyValueText;
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
this.setValue(0);
|
|
88
|
+
this.inputValue = '0:00'; // TO-DO: resolve this scenario
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
this.inputValue = this._durationPipe.transform(this.value, this.emptyValueText);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
ngOnInit() { }
|
|
97
|
+
blockNonNumberOrSemicolon(e) {
|
|
98
|
+
this.isValueSetInternally = false;
|
|
99
|
+
}
|
|
100
|
+
resolveInput() {
|
|
101
|
+
if (!this.isValueSetInternally) {
|
|
102
|
+
if (!this._durationInputResolver.isValidInput(this.inputValue)) {
|
|
103
|
+
// we have invalid input. use old value
|
|
104
|
+
this.setInputValueInternally(this.value);
|
|
105
|
+
}
|
|
106
|
+
else {
|
|
107
|
+
const resolvedValue = this._durationInputResolver.resolve(this.inputValue);
|
|
108
|
+
if (resolvedValue === null && this.allowEmptyValue) {
|
|
109
|
+
this.setValue(null);
|
|
110
|
+
}
|
|
111
|
+
else if (resolvedValue === null && !this.allowEmptyValue) {
|
|
112
|
+
this.setValue(resolvedValue);
|
|
113
|
+
}
|
|
114
|
+
else {
|
|
115
|
+
this.setValue(resolvedValue);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
applyOption(value) {
|
|
121
|
+
this.showOptions = false;
|
|
122
|
+
this.isValueSetInternally = false;
|
|
123
|
+
this.setValue(value);
|
|
124
|
+
}
|
|
125
|
+
setValue(value) {
|
|
126
|
+
this.isValueEmpty = (value === null);
|
|
127
|
+
this.value = value;
|
|
128
|
+
this.valueChange.emit(this.value);
|
|
129
|
+
this.setInputValueInternally(value);
|
|
130
|
+
}
|
|
131
|
+
setInputValueInternally(value) {
|
|
132
|
+
this.isValueSetInternally = true;
|
|
133
|
+
setTimeout(() => {
|
|
134
|
+
this.inputValue = this._durationPipe.transform(this.value, this.emptyValueText);
|
|
135
|
+
}, 0);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
SdsDurationBoxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: SdsDurationBoxComponent, deps: [{ token: i1.DurationInputResolverService }], target: i0.ɵɵFactoryTarget.Component });
|
|
139
|
+
SdsDurationBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: SdsDurationBoxComponent, selector: "sds-duration-box", inputs: { value: "value", allowEmptyValue: "allowEmptyValue", emptyValueText: "emptyValueText", options: "options", width: "width", disabled: "disabled", showClearButton: "showClearButton" }, outputs: { valueChange: "valueChange" }, usesOnChanges: true, ngImport: i0, template: "<dx-text-box\n #textbox\n [id]=\"elementUUID\"\n class=\"sds-durationbox\"\n [(value)]=\"inputValue\"\n (onKeyDown)=\"blockNonNumberOrSemicolon($event)\"\n (onChange)=\"resolveInput()\"\n [width]=\"width\"\n [disabled]=\"disabled\"\n >\n\n <!-- (onValueChanged)=\"resolveInput($event)\" -->\n\n <dxi-button\n *ngIf=\"allowEmptyValue && showClearButton\"\n name=\"clearValue\"\n location=\"after\"\n [options]=\"clearValueButton\"\n ></dxi-button>\n <dxi-button\n *ngIf=\"options && options.length > 0\"\n name=\"optionsDropdown\"\n location=\"after\"\n [options]=\"optionsDropdownButton\"\n ></dxi-button>\n</dx-text-box>\n\n\n<dx-popover\n target=\"#{{elementUUID}}\"\n [(visible)]=\"showOptions\"\n [minWidth]=\"width\"\n [hideOnOutsideClick]=\"true\"\n [wrapperAttr]=\"{ class: 'sds-durationbox-options-popover' }\"\n >\n\n <div *dxTemplate=\"let data of 'content'\">\n <dx-scroll-view>\n <button\n class=\"dropdown-item border-0\"\n [class.selected] = \"isValueEmpty\"\n (click)=\"applyOption(null)\"\n > {{ emptyValueText}}\n </button>\n\n <div *ngFor=\"let option of options\">\n <button\n class=\"dropdown-item border-0\"\n [class.selected] = \"option === value\"\n (click)=\"applyOption(option)\"\n > {{option | sdsDurationFormat}}\n </button>\n </div>\n </dx-scroll-view>\n </div>\n</dx-popover>", styles: ["::ng-deep .sds-durationbox .sds-durationbox-clear-button .dx-icon{color:#999}::ng-deep .sds-durationbox-options-popover .dx-popup-content{padding:.25rem;font-size:1rem}::ng-deep .sds-durationbox-options-popover .dropdown-item:focus{outline:none}::ng-deep .sds-durationbox-options-popover .dropdown-item.selected{background-color:#dee2e6}\n"], components: [{ type: i2.DxTextBoxComponent, selector: "dx-text-box", inputs: ["accessKey", "activeStateEnabled", "buttons", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "inputAttr", "isValid", "label", "labelMode", "mask", "maskChar", "maskInvalidMessage", "maskRules", "maxLength", "mode", "name", "placeholder", "readOnly", "rtlEnabled", "showClearButton", "showMaskMode", "spellcheck", "stylingMode", "tabIndex", "text", "useMaskedValue", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "valueChangeEvent", "visible", "width"], outputs: ["onChange", "onContentReady", "onCopy", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onKeyDown", "onKeyUp", "onOptionChanged", "onPaste", "onValueChanged", "accessKeyChange", "activeStateEnabledChange", "buttonsChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "isValidChange", "labelChange", "labelModeChange", "maskChange", "maskCharChange", "maskInvalidMessageChange", "maskRulesChange", "maxLengthChange", "modeChange", "nameChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "showClearButtonChange", "showMaskModeChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "useMaskedValueChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "visibleChange", "widthChange", "onBlur"] }, { type: i3.DxiButtonComponent, selector: "dxi-button", inputs: ["location", "name", "options", "cssClass", "disabled", "hint", "icon", "onClick", "template", "text", "visible"] }, { type: i2.DxPopoverComponent, selector: "dx-popover", inputs: ["animation", "closeOnOutsideClick", "container", "contentTemplate", "copyRootClassesToWrapper", "deferRendering", "disabled", "elementAttr", "height", "hideEvent", "hideOnOutsideClick", "hideOnParentScroll", "hint", "hoverStateEnabled", "maxHeight", "maxWidth", "minHeight", "minWidth", "position", "rtlEnabled", "shading", "shadingColor", "showCloseButton", "showEvent", "showTitle", "target", "title", "titleTemplate", "toolbarItems", "visible", "width", "wrapperAttr"], outputs: ["onContentReady", "onDisposing", "onHidden", "onHiding", "onInitialized", "onOptionChanged", "onShowing", "onShown", "onTitleRendered", "animationChange", "closeOnOutsideClickChange", "containerChange", "contentTemplateChange", "copyRootClassesToWrapperChange", "deferRenderingChange", "disabledChange", "elementAttrChange", "heightChange", "hideEventChange", "hideOnOutsideClickChange", "hideOnParentScrollChange", "hintChange", "hoverStateEnabledChange", "maxHeightChange", "maxWidthChange", "minHeightChange", "minWidthChange", "positionChange", "rtlEnabledChange", "shadingChange", "shadingColorChange", "showCloseButtonChange", "showEventChange", "showTitleChange", "targetChange", "titleChange", "titleTemplateChange", "toolbarItemsChange", "visibleChange", "widthChange", "wrapperAttrChange"] }, { type: i2.DxScrollViewComponent, selector: "dx-scroll-view", inputs: ["bounceEnabled", "direction", "disabled", "elementAttr", "height", "pulledDownText", "pullingDownText", "reachBottomText", "refreshingText", "rtlEnabled", "scrollByContent", "scrollByThumb", "showScrollbar", "useNative", "width"], outputs: ["onDisposing", "onInitialized", "onOptionChanged", "onPullDown", "onReachBottom", "onScroll", "onUpdated", "bounceEnabledChange", "directionChange", "disabledChange", "elementAttrChange", "heightChange", "pulledDownTextChange", "pullingDownTextChange", "reachBottomTextChange", "refreshingTextChange", "rtlEnabledChange", "scrollByContentChange", "scrollByThumbChange", "showScrollbarChange", "useNativeChange", "widthChange"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.DxTemplateDirective, selector: "[dxTemplate]", inputs: ["dxTemplateOf"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "sdsDurationFormat": i6.SdsDurationFormatPipe } });
|
|
140
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: SdsDurationBoxComponent, decorators: [{
|
|
141
|
+
type: Component,
|
|
142
|
+
args: [{ selector: 'sds-duration-box', template: "<dx-text-box\n #textbox\n [id]=\"elementUUID\"\n class=\"sds-durationbox\"\n [(value)]=\"inputValue\"\n (onKeyDown)=\"blockNonNumberOrSemicolon($event)\"\n (onChange)=\"resolveInput()\"\n [width]=\"width\"\n [disabled]=\"disabled\"\n >\n\n <!-- (onValueChanged)=\"resolveInput($event)\" -->\n\n <dxi-button\n *ngIf=\"allowEmptyValue && showClearButton\"\n name=\"clearValue\"\n location=\"after\"\n [options]=\"clearValueButton\"\n ></dxi-button>\n <dxi-button\n *ngIf=\"options && options.length > 0\"\n name=\"optionsDropdown\"\n location=\"after\"\n [options]=\"optionsDropdownButton\"\n ></dxi-button>\n</dx-text-box>\n\n\n<dx-popover\n target=\"#{{elementUUID}}\"\n [(visible)]=\"showOptions\"\n [minWidth]=\"width\"\n [hideOnOutsideClick]=\"true\"\n [wrapperAttr]=\"{ class: 'sds-durationbox-options-popover' }\"\n >\n\n <div *dxTemplate=\"let data of 'content'\">\n <dx-scroll-view>\n <button\n class=\"dropdown-item border-0\"\n [class.selected] = \"isValueEmpty\"\n (click)=\"applyOption(null)\"\n > {{ emptyValueText}}\n </button>\n\n <div *ngFor=\"let option of options\">\n <button\n class=\"dropdown-item border-0\"\n [class.selected] = \"option === value\"\n (click)=\"applyOption(option)\"\n > {{option | sdsDurationFormat}}\n </button>\n </div>\n </dx-scroll-view>\n </div>\n</dx-popover>", styles: ["::ng-deep .sds-durationbox .sds-durationbox-clear-button .dx-icon{color:#999}::ng-deep .sds-durationbox-options-popover .dx-popup-content{padding:.25rem;font-size:1rem}::ng-deep .sds-durationbox-options-popover .dropdown-item:focus{outline:none}::ng-deep .sds-durationbox-options-popover .dropdown-item.selected{background-color:#dee2e6}\n"] }]
|
|
143
|
+
}], ctorParameters: function () { return [{ type: i1.DurationInputResolverService }]; }, propDecorators: { value: [{
|
|
144
|
+
type: Input
|
|
145
|
+
}], valueChange: [{
|
|
146
|
+
type: Output
|
|
147
|
+
}], allowEmptyValue: [{
|
|
148
|
+
type: Input
|
|
149
|
+
}], emptyValueText: [{
|
|
150
|
+
type: Input
|
|
151
|
+
}], options: [{
|
|
152
|
+
type: Input
|
|
153
|
+
}], width: [{
|
|
154
|
+
type: Input
|
|
155
|
+
}], disabled: [{
|
|
156
|
+
type: Input
|
|
157
|
+
}], showClearButton: [{
|
|
158
|
+
type: Input
|
|
159
|
+
}] } });
|
|
160
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHVyYXRpb24tYm94LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zZHMtY29tcG9uZW50cy9zcmMvbGliL2R1cmF0aW9uLWJveC9kdXJhdGlvbi1ib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNkcy1jb21wb25lbnRzL3NyYy9saWIvZHVyYXRpb24tYm94L2R1cmF0aW9uLWJveC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDekcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sOERBQThELENBQUM7Ozs7Ozs7O0FBUXJHLE1BQU0sT0FBTyx1QkFBdUI7SUF1RWhDLFlBQ1ksc0JBQW9EO1FBQXBELDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBOEI7UUF2RWhFOzs7OztXQUtHO1FBQ00sVUFBSyxHQUFrQixJQUFJLENBQUM7UUFDM0IsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBaUIsQ0FBQztRQUUxRDs7Ozs7V0FLRztRQUNNLG9CQUFlLEdBQVksSUFBSSxDQUFDO1FBRXpDOzs7OztXQUtHO1FBQ00sbUJBQWMsR0FBVyxTQUFTLENBQUM7UUFVNUM7Ozs7O1dBS0c7UUFDTSxVQUFLLEdBQVcsT0FBTyxDQUFDO1FBRWpDOzs7OztXQUtHO1FBQ00sYUFBUSxHQUFZLEtBQUssQ0FBQztRQUVuQzs7Ozs7V0FLRztRQUNNLG9CQUFlLEdBQVksS0FBSyxDQUFDO1FBRW5DLGdCQUFXLEdBQUcsU0FBUyxHQUFHLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUU5QyxlQUFVLEdBQVcsRUFBRSxDQUFDO1FBQ3hCLGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBSzdCLGlCQUFZLEdBQUcsS0FBSyxD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QUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRU8sdUJBQXVCLENBQUMsS0FBb0I7UUFDaEQsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQztRQUNqQyxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ1osSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNwRixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDVixDQUFDOztvSEE5SlEsdUJBQXVCO3dHQUF2Qix1QkFBdUIsc1RDVHBDLGduREF1RGE7MkZEOUNBLHVCQUF1QjtrQkFMbkMsU0FBUzsrQkFDSSxrQkFBa0I7bUhBV25CLEtBQUs7c0JBQWIsS0FBSztnQkFDSSxXQUFXO3NCQUFwQixNQUFNO2dCQVFFLGVBQWU7c0JBQXZCLEtBQUs7Z0JBUUcsY0FBYztzQkFBdEIsS0FBSztnQkFRRyxPQUFPO3NCQUFmLEtBQUs7Z0JBUUcsS0FBSztzQkFBYixLQUFLO2dCQVFHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBUUcsZUFBZTtzQkFBdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2RzRHVyYXRpb25Gb3JtYXRQaXBlIH0gZnJvbSAnQHNwaWNhaW50ZXJuYXRpb25hbC9uZ3gtc2RzLWNvbXBvbmVudHMvc3JjL2xpYi9kdXJhdGlvbi1waXBlJztcbmltcG9ydCB7IER1cmF0aW9uSW5wdXRSZXNvbHZlclNlcnZpY2UgfSBmcm9tICcuL2R1cmF0aW9uLWlucHV0LXJlc29sdmVyLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3Nkcy1kdXJhdGlvbi1ib3gnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kdXJhdGlvbi1ib3guY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2R1cmF0aW9uLWJveC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBTZHNEdXJhdGlvbkJveENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgICAvKipcbiAgICAgKiBEdXJhdGlvbiBsZW5ndGggZXhwcmVzc2VkIGluIG1pbnV0ZXM7IHdoZW4gd2UgYWxsb3cgZW1wdHkgdmFsdWVzIHRoaXMgcHJvcGVydHkgY2FuIGJlIG51bGwuXG4gICAgICpcbiAgICAgKiBAdHlwZSB7KG51bWJlciB8IG51bGwpfVxuICAgICAqIEBtZW1iZXJvZiBTZHNEdXJhdGlvbkJveENvbXBvbmVudFxuICAgICAqL1xuICAgIEBJbnB1dCgpIHZhbHVlOiBudW1iZXIgfCBudWxsID0gbnVsbDtcbiAgICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlciB8IG51bGw+KCk7XG5cbiAgICAvKipcbiAgICAgKiBBbGxvdyB1c2VyIHRvIHNlbGVjdCBlbXB0eSB2YWx1ZS4gWW91IHNob3VsZCBwcm92aWRlIGVtcHR5VmFsdWVUZXh0IGluIHRoaXMgY2FzZS5cbiAgICAgKlxuICAgICAqIEB0eXBlIHtib29sZWFufVxuICAgICAqIEBtZW1iZXJvZiBTZHNEdXJhdGlvbkJveENvbXBvbmVudFxuICAgICAqL1xuICAgIEBJbnB1dCgpIGFsbG93RW1wdHlWYWx1ZTogYm9vbGVhbiA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiAnZW1wdHlWYWx1ZVRleHQnIC0gdGV4dCB0byBiZSBkaXNwbGF5ZWQgd2hlbiB2YWx1ZSBpcyBjbGVhcmVkXG4gICAgICpcbiAgICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgICAqIEBtZW1iZXJvZiBTZHNEdXJhdGlvbkJveENvbXBvbmVudFxuICAgICAqL1xuICAgIEBJbnB1dCgpIGVtcHR5VmFsdWVUZXh0OiBzdHJpbmcgPSAnbm90IHNldCc7XG5cbiAgICAvKipcbiAgICAgKiBBcnJheSBvZiBwcmUtZGVmaW5lZCBkdXJhdGlvbnMgdGhhdCB3aWxsIGJlIGRpc3BsYXllZCBpbiBkcm9wZG93biBmb3IgZWFzaWVyIHNlbGVjdGlvbi5cbiAgICAgKlxuICAgICAqIEB0eXBlIHtudW1iZXJbXX1cbiAgICAgKiBAbWVtYmVyb2YgU2RzRHVyYXRpb25Cb3hDb21wb25lbnRcbiAgICAgKi9cbiAgICBASW5wdXQoKSBvcHRpb25zPzogbnVtYmVyW107XG4gICAgXG4gICAgLyoqXG4gICAgICogV2lkdGggb2YgY29tcG9uZW50XG4gICAgICpcbiAgICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgICAqIEBtZW1iZXJvZiBTZHNEdXJhdGlvbkJveENvbXBvbmVudFxuICAgICAqL1xuICAgIEBJbnB1dCgpIHdpZHRoOiBzdHJpbmcgPSAnMTByZW0nO1xuXG4gICAgLyoqXG4gICAgICogU3BlY2lmaWVzIHdoZXRoZXIgdGhlIFVJIGNvbXBvbmVudCByZXNwb25kcyB0byB1c2VyIGludGVyYWN0aW9uLlxuICAgICAqXG4gICAgICogQHR5cGUge2Jvb2xlYW59XG4gICAgICogQG1lbWJlcm9mIFNkc0R1cmF0aW9uQm94Q29tcG9uZW50XG4gICAgICovXG4gICAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBcbiAgICAvKipcbiAgICAgKiBTcGVjaWZpZXMgd2hldGhlciB0byBkaXNwbGF5IHRoZSBDbGVhciBidXR0b24gaW4gdGhlIFVJIGNvbXBvbmVudC5cbiAgICAgKlxuICAgICAqIEB0eXBlIHtib29sZWFufVxuICAgICAqIEBtZW1iZXJvZiBTZHNEdXJhdGlvbkJveENvbXBvbmVudFxuICAgICAqL1xuICAgIEBJbnB1dCgpIHNob3dDbGVhckJ1dHRvbjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgcHVibGljIGVsZW1lbnRVVUlEID0gJ3Nkcy1kYi0nICsgY3J5cHRvLnJhbmRvbVVVSUQoKTtcblxuICAgIHB1YmxpYyBpbnB1dFZhbHVlOiBzdHJpbmcgPSAnJztcbiAgICBwdWJsaWMgc2hvd09wdGlvbnM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBcbiAgICBwdWJsaWMgb3B0aW9uc0Ryb3Bkb3duQnV0dG9uO1xuICAgIHB1YmxpYyBjbGVhclZhbHVlQnV0dG9uO1xuXG4gICAgcHVibGljIGlzVmFsdWVFbXB0eSA9IGZhbHNlO1xuXG4gICAgcHJpdmF0ZSBpc1ZhbHVlU2V0SW50ZXJuYWxseSA9IGZhbHNlO1xuICAgIHByaXZhdGUgX2R1cmF0aW9uUGlwZTogU2RzRHVyYXRpb25Gb3JtYXRQaXBlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgX2R1cmF0aW9uSW5wdXRSZXNvbHZlcjogRHVyYXRpb25JbnB1dFJlc29sdmVyU2VydmljZSxcbiAgICApIHtcbiAgICAgICAgdGhpcy5fZHVyYXRpb25QaXBlID0gbmV3IFNkc0R1cmF0aW9uRm9ybWF0UGlwZSgpO1xuICAgICAgICBcbiAgICAgICAgdGhpcy5vcHRpb25zRHJvcGRvd25CdXR0b24gPSAge1xuICAgICAgICAgICAgaWNvbjogJ3NwaW5kb3duJyxcbiAgICAgICAgICAgIHN0eWxpbmdNb2RlOiAndGV4dCcsXG4gICAgXG4gICAgICAgICAgICBvbkNsaWNrOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5zaG93T3B0aW9ucyA9ICF0aGlzLnNob3dPcHRpb25zO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5jbGVhclZhbHVlQnV0dG9uID0gIHtcbiAgICAgICAgICAgIGljb246ICdjbGVhcicsXG4gICAgICAgICAgICBzdHlsaW5nTW9kZTogJ3RleHQnLFxuICAgICAgICAgICAgZWxlbWVudEF0dHI6IHsgY2xhc3M6ICdzZHMtZHVyYXRpb25ib3gtY2xlYXItYnV0dG9uJyB9LFxuICAgICAgICAgICAgb25DbGljazogKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuYXBwbHlPcHRpb24obnVsbCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gICAgICAgIFxuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgaWYgKGNoYW5nZXNbJ3ZhbHVlJ10pIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnZhbHVlID09PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuYWxsb3dFbXB0eVZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0VmFsdWUobnVsbCk7XG4gICAgICAgICAgICAgICAgICAgIC8vIHRoaXMuaXNWYWx1ZUVtcHR5ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgLy8gdGhpcy5pbnB1dFZhbHVlID0gdGhpcy5lbXB0eVZhbHVlVGV4dDtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNldFZhbHVlKDApO1xuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbnB1dFZhbHVlID0gJzA6MDAnOyAvLyBUTy1ETzogcmVzb2x2ZSB0aGlzIHNjZW5hcmlvXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgdGhpcy5pbnB1dFZhbHVlID0gdGhpcy5fZHVyYXRpb25QaXBlLnRyYW5zZm9ybSh0aGlzLnZhbHVlLCB0aGlzLmVtcHR5VmFsdWVUZXh0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge31cblxuICAgIHB1YmxpYyBibG9ja05vbk51bWJlck9yU2VtaWNvbG9uKGU6IGFueSkge1xuICAgICAgICB0aGlzLmlzVmFsdWVTZXRJbnRlcm5hbGx5ID0gZmFsc2U7XG4gICAgfVxuXG5cbiAgICBwdWJsaWMgcmVzb2x2ZUlucHV0KCkge1xuICAgICAgICBpZiAoIXRoaXMuaXNWYWx1ZVNldEludGVybmFsbHkpe1xuICAgICAgICAgICAgaWYgKCF0aGlzLl9kdXJhdGlvbklucHV0UmVzb2x2ZXIuaXNWYWxpZElucHV0KHRoaXMuaW5wdXRWYWx1ZSkpIHtcbiAgICAgICAgICAgICAgICAvLyB3ZSBoYXZlIGludmFsaWQgaW5wdXQuIHVzZSBvbGQgdmFsdWVcbiAgICAgICAgICAgICAgICB0aGlzLnNldElucHV0VmFsdWVJbnRlcm5hbGx5KHRoaXMudmFsdWUpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zdCByZXNvbHZlZFZhbHVlID0gdGhpcy5fZHVyYXRpb25JbnB1dFJlc29sdmVyLnJlc29sdmUodGhpcy5pbnB1dFZhbHVlKTtcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICBpZiAocmVzb2x2ZWRWYWx1ZSA9PT0gbnVsbCAmJiB0aGlzLmFsbG93RW1wdHlWYWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNldFZhbHVlKG51bGwpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAocmVzb2x2ZWRWYWx1ZSA9PT0gbnVsbCAmJiAhdGhpcy5hbGxvd0VtcHR5VmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRWYWx1ZShyZXNvbHZlZFZhbHVlKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNldFZhbHVlKHJlc29sdmVkVmFsdWUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBhcHBseU9wdGlvbih2YWx1ZTogbnVtYmVyIHwgbnVsbCl7XG4gICAgICAgIHRoaXMuc2hvd09wdGlvbnMgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5pc1ZhbHVlU2V0SW50ZXJuYWxseSA9IGZhbHNlO1xuICAgICAgICB0aGlzLnNldFZhbHVlKHZhbHVlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldFZhbHVlKHZhbHVlOiBudW1iZXIgfCBudWxsKXtcbiAgICAgICAgdGhpcy5pc1ZhbHVlRW1wdHkgPSAodmFsdWUgPT09IG51bGwpO1xuICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh0aGlzLnZhbHVlKTtcbiAgICAgICAgdGhpcy5zZXRJbnB1dFZhbHVlSW50ZXJuYWxseSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRJbnB1dFZhbHVlSW50ZXJuYWxseSh2YWx1ZTogbnVtYmVyIHwgbnVsbCl7XG4gICAgICAgIHRoaXMuaXNWYWx1ZVNldEludGVybmFsbHkgPSB0cnVlO1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaW5wdXRWYWx1ZSA9IHRoaXMuX2R1cmF0aW9uUGlwZS50cmFuc2Zvcm0odGhpcy52YWx1ZSwgdGhpcy5lbXB0eVZhbHVlVGV4dCk7XG4gICAgICAgIH0sIDApO1xuICAgIH1cbn1cbiIsIjxkeC10ZXh0LWJveFxuICAgICN0ZXh0Ym94XG4gICAgW2lkXT1cImVsZW1lbnRVVUlEXCJcbiAgICBjbGFzcz1cInNkcy1kdXJhdGlvbmJveFwiXG4gICAgWyh2YWx1ZSldPVwiaW5wdXRWYWx1ZVwiXG4gICAgKG9uS2V5RG93bik9XCJibG9ja05vbk51bWJlck9yU2VtaWNvbG9uKCRldmVudClcIlxuICAgIChvbkNoYW5nZSk9XCJyZXNvbHZlSW5wdXQoKVwiXG4gICAgW3dpZHRoXT1cIndpZHRoXCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgID5cblxuICAgIDwhLS0gKG9uVmFsdWVDaGFuZ2VkKT1cInJlc29sdmVJbnB1dCgkZXZlbnQpXCIgLS0+XG5cbiAgICA8ZHhpLWJ1dHRvblxuICAgICAgICAqbmdJZj1cImFsbG93RW1wdHlWYWx1ZSAmJiBzaG93Q2xlYXJCdXR0b25cIlxuICAgICAgICBuYW1lPVwiY2xlYXJWYWx1ZVwiXG4gICAgICAgIGxvY2F0aW9uPVwiYWZ0ZXJcIlxuICAgICAgICBbb3B0aW9uc109XCJjbGVhclZhbHVlQnV0dG9uXCJcbiAgICA+PC9keGktYnV0dG9uPlxuICAgIDxkeGktYnV0dG9uXG4gICAgICAgICpuZ0lmPVwib3B0aW9ucyAmJiBvcHRpb25zLmxlbmd0aCA+IDBcIlxuICAgICAgICBuYW1lPVwib3B0aW9uc0Ryb3Bkb3duXCJcbiAgICAgICAgbG9jYXRpb249XCJhZnRlclwiXG4gICAgICAgIFtvcHRpb25zXT1cIm9wdGlvbnNEcm9wZG93bkJ1dHRvblwiXG4gICAgPjwvZHhpLWJ1dHRvbj5cbjwvZHgtdGV4dC1ib3g+XG5cblxuPGR4LXBvcG92ZXJcbiAgICB0YXJnZXQ9XCIje3tlbGVtZW50VVVJRH19XCJcbiAgICBbKHZpc2libGUpXT1cInNob3dPcHRpb25zXCJcbiAgICBbbWluV2lkdGhdPVwid2lkdGhcIlxuICAgIFtoaWRlT25PdXRzaWRlQ2xpY2tdPVwidHJ1ZVwiXG4gICAgW3dyYXBwZXJBdHRyXT1cInsgY2xhc3M6ICdzZHMtZHVyYXRpb25ib3gtb3B0aW9ucy1wb3BvdmVyJyB9XCJcbiAgICA+XG5cbiAgICA8ZGl2ICpkeFRlbXBsYXRlPVwibGV0IGRhdGEgb2YgJ2NvbnRlbnQnXCI+XG4gICAgICAgIDxkeC1zY3JvbGwtdmlldz5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICBjbGFzcz1cImRyb3Bkb3duLWl0ZW0gYm9yZGVyLTBcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5zZWxlY3RlZF0gPSBcImlzVmFsdWVFbXB0eVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImFwcGx5T3B0aW9uKG51bGwpXCJcbiAgICAgICAgICAgICAgICA+IHt7IGVtcHR5VmFsdWVUZXh0fX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuXG4gICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygb3B0aW9uc1wiPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkcm9wZG93bi1pdGVtIGJvcmRlci0wXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLnNlbGVjdGVkXSA9IFwib3B0aW9uID09PSB2YWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJhcHBseU9wdGlvbihvcHRpb24pXCJcbiAgICAgICAgICAgICAgICA+IHt7b3B0aW9uIHwgc2RzRHVyYXRpb25Gb3JtYXR9fVxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZHgtc2Nyb2xsLXZpZXc+XG4gICAgPC9kaXY+XG48L2R4LXBvcG92ZXI+Il19
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { SdsDurationBoxComponent } from './duration-box.component';
|
|
4
|
+
import { DxPopoverModule, DxScrollViewModule, DxTextBoxModule } from 'devextreme-angular';
|
|
5
|
+
import { SdsDurationPipeModule } from '@spicainternational/ngx-sds-components/src/lib/duration-pipe';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
const components = [
|
|
8
|
+
SdsDurationBoxComponent
|
|
9
|
+
];
|
|
10
|
+
export class SdsDurationBoxModule {
|
|
11
|
+
}
|
|
12
|
+
SdsDurationBoxModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: SdsDurationBoxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
13
|
+
SdsDurationBoxModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: SdsDurationBoxModule, declarations: [SdsDurationBoxComponent], imports: [CommonModule,
|
|
14
|
+
SdsDurationPipeModule,
|
|
15
|
+
DxTextBoxModule,
|
|
16
|
+
DxPopoverModule,
|
|
17
|
+
DxScrollViewModule], exports: [SdsDurationBoxComponent] });
|
|
18
|
+
SdsDurationBoxModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: SdsDurationBoxModule, imports: [[
|
|
19
|
+
CommonModule,
|
|
20
|
+
SdsDurationPipeModule,
|
|
21
|
+
DxTextBoxModule,
|
|
22
|
+
DxPopoverModule,
|
|
23
|
+
DxScrollViewModule,
|
|
24
|
+
]] });
|
|
25
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: SdsDurationBoxModule, decorators: [{
|
|
26
|
+
type: NgModule,
|
|
27
|
+
args: [{
|
|
28
|
+
declarations: [
|
|
29
|
+
SdsDurationBoxComponent
|
|
30
|
+
],
|
|
31
|
+
imports: [
|
|
32
|
+
CommonModule,
|
|
33
|
+
SdsDurationPipeModule,
|
|
34
|
+
DxTextBoxModule,
|
|
35
|
+
DxPopoverModule,
|
|
36
|
+
DxScrollViewModule,
|
|
37
|
+
],
|
|
38
|
+
exports: [
|
|
39
|
+
...components
|
|
40
|
+
]
|
|
41
|
+
}]
|
|
42
|
+
}] });
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHVyYXRpb24tYm94Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zZHMtY29tcG9uZW50cy9zcmMvbGliL2R1cmF0aW9uLWJveC9kdXJhdGlvbi1ib3gubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxlQUFlLEVBQUUsa0JBQWtCLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDMUYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sOERBQThELENBQUM7O0FBSXJHLE1BQU0sVUFBVSxHQUFHO0lBQ2YsdUJBQXVCO0NBQzFCLENBQUE7QUFtQkQsTUFBTSxPQUFPLG9CQUFvQjs7aUhBQXBCLG9CQUFvQjtrSEFBcEIsb0JBQW9CLGlCQWY3Qix1QkFBdUIsYUFHdkIsWUFBWTtRQUVaLHFCQUFxQjtRQUVyQixlQUFlO1FBQ2YsZUFBZTtRQUNmLGtCQUFrQixhQWRsQix1QkFBdUI7a0hBb0JkLG9CQUFvQixZQWJ0QjtZQUNQLFlBQVk7WUFFWixxQkFBcUI7WUFFckIsZUFBZTtZQUNmLGVBQWU7WUFDZixrQkFBa0I7U0FDbkI7MkZBS1Usb0JBQW9CO2tCQWpCaEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osdUJBQXVCO3FCQUN4QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFFWixxQkFBcUI7d0JBRXJCLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZixrQkFBa0I7cUJBQ25CO29CQUNELE9BQU8sRUFBRTt3QkFDUCxHQUFHLFVBQVU7cUJBQ2Q7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFNkc0R1cmF0aW9uQm94Q29tcG9uZW50IH0gZnJvbSAnLi9kdXJhdGlvbi1ib3guY29tcG9uZW50JztcbmltcG9ydCB7IER4UG9wb3Zlck1vZHVsZSwgRHhTY3JvbGxWaWV3TW9kdWxlLCBEeFRleHRCb3hNb2R1bGUgfSBmcm9tICdkZXZleHRyZW1lLWFuZ3VsYXInO1xuaW1wb3J0IHsgU2RzRHVyYXRpb25QaXBlTW9kdWxlIH0gZnJvbSAnQHNwaWNhaW50ZXJuYXRpb25hbC9uZ3gtc2RzLWNvbXBvbmVudHMvc3JjL2xpYi9kdXJhdGlvbi1waXBlJztcblxuXG5cbmNvbnN0IGNvbXBvbmVudHMgPSBbXG4gICAgU2RzRHVyYXRpb25Cb3hDb21wb25lbnRcbl1cblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgU2RzRHVyYXRpb25Cb3hDb21wb25lbnRcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcblxuICAgIFNkc0R1cmF0aW9uUGlwZU1vZHVsZSxcbiAgICBcbiAgICBEeFRleHRCb3hNb2R1bGUsXG4gICAgRHhQb3BvdmVyTW9kdWxlLFxuICAgIER4U2Nyb2xsVmlld01vZHVsZSxcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIC4uLmNvbXBvbmVudHNcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBTZHNEdXJhdGlvbkJveE1vZHVsZSB7IH1cbiJdfQ==
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class DurationInputResolverService {
|
|
4
|
+
constructor() { }
|
|
5
|
+
resolve(input) {
|
|
6
|
+
if (!input || input.length === 0) {
|
|
7
|
+
return 0;
|
|
8
|
+
}
|
|
9
|
+
const inputSegments = input.split(':');
|
|
10
|
+
if (inputSegments.length > 2) {
|
|
11
|
+
//invalid input
|
|
12
|
+
return 0;
|
|
13
|
+
}
|
|
14
|
+
else if (inputSegments.length == 2) {
|
|
15
|
+
// we have hrs and minutes
|
|
16
|
+
const hrs = parseInt(inputSegments[0] ? inputSegments[0] : '0');
|
|
17
|
+
const mins = parseInt(inputSegments[1] ? inputSegments[1] : '0');
|
|
18
|
+
const totalMins = (hrs * 60) + mins;
|
|
19
|
+
return totalMins;
|
|
20
|
+
}
|
|
21
|
+
else if (inputSegments.length == 1) {
|
|
22
|
+
// take last two digits as mins
|
|
23
|
+
const nonSeparated = inputSegments[0];
|
|
24
|
+
let totalMins = 0;
|
|
25
|
+
if (nonSeparated.length <= 2) {
|
|
26
|
+
totalMins = parseInt(nonSeparated);
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
const lastIndex = nonSeparated.length - 2;
|
|
30
|
+
const part1 = nonSeparated.slice(0, lastIndex);
|
|
31
|
+
const part2 = nonSeparated.slice(lastIndex);
|
|
32
|
+
const hrs = parseInt(part1);
|
|
33
|
+
const mins = parseInt(part2);
|
|
34
|
+
totalMins = (hrs * 60) + mins;
|
|
35
|
+
}
|
|
36
|
+
return totalMins;
|
|
37
|
+
}
|
|
38
|
+
return 0;
|
|
39
|
+
}
|
|
40
|
+
isValidInput(input) {
|
|
41
|
+
const regexNumbersOnly = /^[+-]?\d+$/;
|
|
42
|
+
const regexColonSeparated = /^[+-]?\d+:\d+$/;
|
|
43
|
+
return regexNumbersOnly.test(input) || regexColonSeparated.test(input);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
DurationInputResolverService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: DurationInputResolverService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
47
|
+
DurationInputResolverService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: DurationInputResolverService, providedIn: 'root' });
|
|
48
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: DurationInputResolverService, decorators: [{
|
|
49
|
+
type: Injectable,
|
|
50
|
+
args: [{
|
|
51
|
+
providedIn: 'root',
|
|
52
|
+
}]
|
|
53
|
+
}], ctorParameters: function () { return []; } });
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHVyYXRpb24taW5wdXQtcmVzb2x2ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zZHMtY29tcG9uZW50cy9zcmMvbGliL2R1cmF0aW9uLWJveC9kdXJhdGlvbi1pbnB1dC1yZXNvbHZlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSzNDLE1BQU0sT0FBTyw0QkFBNEI7SUFFckMsZ0JBQWUsQ0FBQztJQUVULE9BQU8sQ0FBQyxLQUFhO1FBQ3hCLElBQUksQ0FBQyxLQUFLLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDOUIsT0FBTyxDQUFDLENBQUM7U0FDWjtRQUVELE1BQU0sYUFBYSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdkMsSUFBSSxhQUFhLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUMxQixlQUFlO1lBQ2YsT0FBTyxDQUFDLENBQUM7U0FDWjthQUFNLElBQUksYUFBYSxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUM7WUFDakMsMEJBQTBCO1lBQzFCLE1BQU0sR0FBRyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDaEUsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNqRSxNQUFNLFNBQVMsR0FBRyxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUM7WUFFcEMsT0FBTyxTQUFTLENBQUM7U0FDcEI7YUFBTSxJQUFJLGFBQWEsQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFFO1lBQ2xDLCtCQUErQjtZQUMvQixNQUFNLFlBQVksR0FBRyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFFdEMsSUFBSSxTQUFTLEdBQUcsQ0FBQyxDQUFDO1lBQ2xCLElBQUksWUFBWSxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUU7Z0JBQzFCLFNBQVMsR0FBRyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUE7YUFDckM7aUJBQU07Z0JBQ0gsTUFBTSxTQUFTLEdBQUcsWUFBWSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7Z0JBQzFDLE1BQU0sS0FBSyxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDO2dCQUMvQyxNQUFNLEtBQUssR0FBRyxZQUFZLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO2dCQUM1QyxNQUFNLEdBQUcsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQzVCLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDN0IsU0FBUyxHQUFHLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQzthQUNqQztZQUNELE9BQU8sU0FBUyxDQUFDO1NBQ3BCO1FBQ0QsT0FBTyxDQUFDLENBQUM7SUFDYixDQUFDO0lBRU0sWUFBWSxDQUFDLEtBQWE7UUFDN0IsTUFBTSxnQkFBZ0IsR0FBRyxZQUFZLENBQUM7UUFDdEMsTUFBTSxtQkFBbUIsR0FBSSxnQkFBZ0IsQ0FBQztRQUM5QyxPQUFPLGdCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0UsQ0FBQzs7eUhBNUNRLDRCQUE0Qjs2SEFBNUIsNEJBQTRCLGNBRnpCLE1BQU07MkZBRVQsNEJBQTRCO2tCQUh4QyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgRHVyYXRpb25JbnB1dFJlc29sdmVyU2VydmljZSB7XG4gICAgXG4gICAgY29uc3RydWN0b3IoKSB7fVxuXG4gICAgcHVibGljIHJlc29sdmUoaW5wdXQ6IHN0cmluZyk6IG51bWJlciB8IG51bGx7XG4gICAgICAgIGlmICghaW5wdXQgfHwgaW5wdXQubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGlucHV0U2VnbWVudHMgPSBpbnB1dC5zcGxpdCgnOicpO1xuICAgICAgICBpZiAoaW5wdXRTZWdtZW50cy5sZW5ndGggPiAyKSB7XG4gICAgICAgICAgICAvL2ludmFsaWQgaW5wdXRcbiAgICAgICAgICAgIHJldHVybiAwO1xuICAgICAgICB9IGVsc2UgaWYgKGlucHV0U2VnbWVudHMubGVuZ3RoID09IDIpe1xuICAgICAgICAgICAgLy8gd2UgaGF2ZSBocnMgYW5kIG1pbnV0ZXNcbiAgICAgICAgICAgIGNvbnN0IGhycyA9IHBhcnNlSW50KGlucHV0U2VnbWVudHNbMF0gPyBpbnB1dFNlZ21lbnRzWzBdIDogJzAnKTtcbiAgICAgICAgICAgIGNvbnN0IG1pbnMgPSBwYXJzZUludChpbnB1dFNlZ21lbnRzWzFdID8gaW5wdXRTZWdtZW50c1sxXSA6ICcwJyk7XG4gICAgICAgICAgICBjb25zdCB0b3RhbE1pbnMgPSAoaHJzICogNjApICsgbWlucztcblxuICAgICAgICAgICAgcmV0dXJuIHRvdGFsTWlucztcbiAgICAgICAgfSBlbHNlIGlmIChpbnB1dFNlZ21lbnRzLmxlbmd0aCA9PSAxKSB7XG4gICAgICAgICAgICAvLyB0YWtlIGxhc3QgdHdvIGRpZ2l0cyBhcyBtaW5zXG4gICAgICAgICAgICBjb25zdCBub25TZXBhcmF0ZWQgPSBpbnB1dFNlZ21lbnRzWzBdO1xuXG4gICAgICAgICAgICBsZXQgdG90YWxNaW5zID0gMDtcbiAgICAgICAgICAgIGlmIChub25TZXBhcmF0ZWQubGVuZ3RoIDw9IDIpIHtcbiAgICAgICAgICAgICAgICB0b3RhbE1pbnMgPSBwYXJzZUludChub25TZXBhcmF0ZWQpXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IGxhc3RJbmRleCA9IG5vblNlcGFyYXRlZC5sZW5ndGggLSAyO1xuICAgICAgICAgICAgICAgIGNvbnN0IHBhcnQxID0gbm9uU2VwYXJhdGVkLnNsaWNlKDAsIGxhc3RJbmRleCk7XG4gICAgICAgICAgICAgICAgY29uc3QgcGFydDIgPSBub25TZXBhcmF0ZWQuc2xpY2UobGFzdEluZGV4KTtcbiAgICAgICAgICAgICAgICBjb25zdCBocnMgPSBwYXJzZUludChwYXJ0MSk7XG4gICAgICAgICAgICAgICAgY29uc3QgbWlucyA9IHBhcnNlSW50KHBhcnQyKTtcbiAgICAgICAgICAgICAgICB0b3RhbE1pbnMgPSAoaHJzICogNjApICsgbWluczsgICAgICAgICAgICBcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB0b3RhbE1pbnM7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIDA7ICAgICAgICBcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNWYWxpZElucHV0KGlucHV0OiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3QgcmVnZXhOdW1iZXJzT25seSA9IC9eWystXT9cXGQrJC87XG4gICAgICAgIGNvbnN0IHJlZ2V4Q29sb25TZXBhcmF0ZWQgPSAgL15bKy1dP1xcZCs6XFxkKyQvO1xuICAgICAgICByZXR1cm4gcmVnZXhOdW1iZXJzT25seS50ZXN0KGlucHV0KSB8fCByZWdleENvbG9uU2VwYXJhdGVkLnRlc3QoaW5wdXQpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './duration-box.module';
|
|
2
|
+
export * from './duration-box.component';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zZHMtY29tcG9uZW50cy9zcmMvbGliL2R1cmF0aW9uLWJveC9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYywwQkFBMEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZHVyYXRpb24tYm94Lm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZHVyYXRpb24tYm94LmNvbXBvbmVudCc7XHJcbiJdfQ==
|
package/esm2020/src/lib/duration-box/spicainternational-ngx-sds-components-src-lib-duration-box.mjs
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public-api';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BpY2FpbnRlcm5hdGlvbmFsLW5neC1zZHMtY29tcG9uZW50cy1zcmMtbGliLWR1cmF0aW9uLWJveC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zZHMtY29tcG9uZW50cy9zcmMvbGliL2R1cmF0aW9uLWJveC9zcGljYWludGVybmF0aW9uYWwtbmd4LXNkcy1jb21wb25lbnRzLXNyYy1saWItZHVyYXRpb24tYm94LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG4iXX0=
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class SdsDurationFormatPipe {
|
|
4
|
+
transform(value, emptyValueText = '') {
|
|
5
|
+
if (value === null) {
|
|
6
|
+
return emptyValueText;
|
|
7
|
+
}
|
|
8
|
+
else if (typeof value === 'number') {
|
|
9
|
+
const sign = Math.sign(value);
|
|
10
|
+
value = Math.abs(value);
|
|
11
|
+
const hours = Math.floor(value / 60);
|
|
12
|
+
const mins = value % 60;
|
|
13
|
+
return `${sign === -1 ? '-' : ''}${hours.toString().padStart(1, '0')}:${mins.toString().padStart(2, '0')}`;
|
|
14
|
+
}
|
|
15
|
+
return '';
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
SdsDurationFormatPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: SdsDurationFormatPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
19
|
+
SdsDurationFormatPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: SdsDurationFormatPipe, name: "sdsDurationFormat" });
|
|
20
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: SdsDurationFormatPipe, decorators: [{
|
|
21
|
+
type: Pipe,
|
|
22
|
+
args: [{
|
|
23
|
+
name: 'sdsDurationFormat',
|
|
24
|
+
}]
|
|
25
|
+
}] });
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHVyYXRpb24tZm9ybWF0LnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2RzLWNvbXBvbmVudHMvc3JjL2xpYi9kdXJhdGlvbi1waXBlL2R1cmF0aW9uLWZvcm1hdC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQUtwRCxNQUFNLE9BQU8scUJBQXFCO0lBQzlCLFNBQVMsQ0FBQyxLQUFvQixFQUFFLGlCQUF5QixFQUFFO1FBQ3ZELElBQUksS0FBSyxLQUFLLElBQUksRUFBRTtZQUNoQixPQUFPLGNBQWMsQ0FBQztTQUN6QjthQUFNLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFO1lBQ2xDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDOUIsS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDeEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDLENBQUM7WUFDckMsTUFBTSxJQUFJLEdBQUcsS0FBSyxHQUFHLEVBQUUsQ0FBQztZQUN4QixPQUFPLEdBQUcsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDO1NBQzlHO1FBQ0QsT0FBTyxFQUFFLENBQUM7SUFDZCxDQUFDOztrSEFaUSxxQkFBcUI7Z0hBQXJCLHFCQUFxQjsyRkFBckIscUJBQXFCO2tCQUhqQyxJQUFJO21CQUFDO29CQUNGLElBQUksRUFBRSxtQkFBbUI7aUJBQzVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQFBpcGUoe1xyXG4gICAgbmFtZTogJ3Nkc0R1cmF0aW9uRm9ybWF0JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNkc0R1cmF0aW9uRm9ybWF0UGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG4gICAgdHJhbnNmb3JtKHZhbHVlOiBudW1iZXIgfCBudWxsLCBlbXB0eVZhbHVlVGV4dDogc3RyaW5nID0gJycpOiBzdHJpbmcge1xyXG4gICAgICAgIGlmICh2YWx1ZSA9PT0gbnVsbCkge1xyXG4gICAgICAgICAgICByZXR1cm4gZW1wdHlWYWx1ZVRleHQ7XHJcbiAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHNpZ24gPSBNYXRoLnNpZ24odmFsdWUpO1xyXG4gICAgICAgICAgICB2YWx1ZSA9IE1hdGguYWJzKHZhbHVlKTtcclxuICAgICAgICAgICAgY29uc3QgaG91cnMgPSBNYXRoLmZsb29yKHZhbHVlIC8gNjApO1xyXG4gICAgICAgICAgICBjb25zdCBtaW5zID0gdmFsdWUgJSA2MDtcclxuICAgICAgICAgICAgcmV0dXJuIGAke3NpZ24gPT09IC0xID8gJy0nIDogJyd9JHtob3Vycy50b1N0cmluZygpLnBhZFN0YXJ0KDEsICcwJyl9OiR7bWlucy50b1N0cmluZygpLnBhZFN0YXJ0KDIsICcwJyl9YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuICcnO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { SdsDurationFormatPipe } from './duration-format.pipe';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class SdsDurationPipeModule {
|
|
6
|
+
}
|
|
7
|
+
SdsDurationPipeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: SdsDurationPipeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
8
|
+
SdsDurationPipeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: SdsDurationPipeModule, declarations: [SdsDurationFormatPipe], imports: [CommonModule], exports: [SdsDurationFormatPipe] });
|
|
9
|
+
SdsDurationPipeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: SdsDurationPipeModule, imports: [[CommonModule]] });
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: SdsDurationPipeModule, decorators: [{
|
|
11
|
+
type: NgModule,
|
|
12
|
+
args: [{
|
|
13
|
+
declarations: [SdsDurationFormatPipe],
|
|
14
|
+
imports: [CommonModule],
|
|
15
|
+
exports: [SdsDurationFormatPipe],
|
|
16
|
+
}]
|
|
17
|
+
}] });
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHVyYXRpb24tcGlwZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2RzLWNvbXBvbmVudHMvc3JjL2xpYi9kdXJhdGlvbi1waXBlL2R1cmF0aW9uLXBpcGUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQU8vRCxNQUFNLE9BQU8scUJBQXFCOztrSEFBckIscUJBQXFCO21IQUFyQixxQkFBcUIsaUJBSmYscUJBQXFCLGFBQzFCLFlBQVksYUFDWixxQkFBcUI7bUhBRXRCLHFCQUFxQixZQUhyQixDQUFDLFlBQVksQ0FBQzsyRkFHZCxxQkFBcUI7a0JBTGpDLFFBQVE7bUJBQUM7b0JBQ04sWUFBWSxFQUFFLENBQUMscUJBQXFCLENBQUM7b0JBQ3JDLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsT0FBTyxFQUFFLENBQUMscUJBQXFCLENBQUM7aUJBQ25DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgU2RzRHVyYXRpb25Gb3JtYXRQaXBlIH0gZnJvbSAnLi9kdXJhdGlvbi1mb3JtYXQucGlwZSc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gICAgZGVjbGFyYXRpb25zOiBbU2RzRHVyYXRpb25Gb3JtYXRQaXBlXSxcclxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxyXG4gICAgZXhwb3J0czogW1Nkc0R1cmF0aW9uRm9ybWF0UGlwZV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZHNEdXJhdGlvblBpcGVNb2R1bGUge31cclxuIl19
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './duration-pipe.module';
|
|
2
|
+
export * from './duration-format.pipe';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zZHMtY29tcG9uZW50cy9zcmMvbGliL2R1cmF0aW9uLXBpcGUvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsd0JBQXdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2R1cmF0aW9uLXBpcGUubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9kdXJhdGlvbi1mb3JtYXQucGlwZSc7Il19
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public-api';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BpY2FpbnRlcm5hdGlvbmFsLW5neC1zZHMtY29tcG9uZW50cy1zcmMtbGliLWR1cmF0aW9uLXBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2RzLWNvbXBvbmVudHMvc3JjL2xpYi9kdXJhdGlvbi1waXBlL3NwaWNhaW50ZXJuYXRpb25hbC1uZ3gtc2RzLWNvbXBvbmVudHMtc3JjLWxpYi1kdXJhdGlvbi1waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG4iXX0=
|