@sd-angular/core 0.0.899 → 0.0.903

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.
Files changed (52) hide show
  1. package/assets/scss/core/override-material-ui.scss +4 -0
  2. package/assets/scss/core/position.scss +1 -1
  3. package/assets/scss/core/scrollbar.scss +4 -4
  4. package/assets/scss/core/text.scss +3 -0
  5. package/assets/scss/sd-core.scss +18 -16
  6. package/bundles/sd-angular-core-date-range.umd.js +1 -1
  7. package/bundles/sd-angular-core-date-range.umd.min.js +1 -1
  8. package/bundles/sd-angular-core-date-range.umd.min.js.map +1 -1
  9. package/bundles/sd-angular-core-date-time.umd.js +1 -1
  10. package/bundles/sd-angular-core-date-time.umd.min.js +2 -2
  11. package/bundles/sd-angular-core-date-time.umd.min.js.map +1 -1
  12. package/bundles/sd-angular-core-grid-material.umd.js +5 -1
  13. package/bundles/sd-angular-core-grid-material.umd.js.map +1 -1
  14. package/bundles/sd-angular-core-grid-material.umd.min.js +2 -2
  15. package/bundles/sd-angular-core-grid-material.umd.min.js.map +1 -1
  16. package/bundles/sd-angular-core-select.umd.js +12 -4
  17. package/bundles/sd-angular-core-select.umd.js.map +1 -1
  18. package/bundles/sd-angular-core-select.umd.min.js +1 -1
  19. package/bundles/sd-angular-core-select.umd.min.js.map +1 -1
  20. package/bundles/sd-angular-core-tab-router.umd.js +11 -8
  21. package/bundles/sd-angular-core-tab-router.umd.js.map +1 -1
  22. package/bundles/sd-angular-core-tab-router.umd.min.js +1 -1
  23. package/bundles/sd-angular-core-tab-router.umd.min.js.map +1 -1
  24. package/bundles/sd-angular-core-upload-excel.umd.js +1 -13
  25. package/bundles/sd-angular-core-upload-excel.umd.js.map +1 -1
  26. package/bundles/sd-angular-core-upload-excel.umd.min.js +1 -1
  27. package/bundles/sd-angular-core-upload-excel.umd.min.js.map +1 -1
  28. package/date-range/sd-angular-core-date-range.metadata.json +1 -1
  29. package/date-time/sd-angular-core-date-time.metadata.json +1 -1
  30. package/esm2015/date-range/src/lib/date-range.component.js +1 -1
  31. package/esm2015/date-time/src/lib/date-time.component.js +1 -1
  32. package/esm2015/grid-material/src/lib/components/desktop-cell-view/desktop-cell-view.component.js +2 -2
  33. package/esm2015/grid-material/src/lib/models/grid-column.model.js +1 -1
  34. package/esm2015/grid-material/src/lib/pipes/column-transform.pipe.js +5 -1
  35. package/esm2015/select/src/lib/select.component.js +13 -5
  36. package/esm2015/tab-router/src/lib/components/tab-router-outlet/tab-router-outlet.component.js +21 -18
  37. package/esm2015/upload-excel/src/lib/upload-excel.component.js +2 -14
  38. package/fesm2015/sd-angular-core-date-range.js +1 -1
  39. package/fesm2015/sd-angular-core-date-time.js +1 -1
  40. package/fesm2015/sd-angular-core-grid-material.js +5 -1
  41. package/fesm2015/sd-angular-core-grid-material.js.map +1 -1
  42. package/fesm2015/sd-angular-core-select.js +12 -4
  43. package/fesm2015/sd-angular-core-select.js.map +1 -1
  44. package/fesm2015/sd-angular-core-tab-router.js +11 -8
  45. package/fesm2015/sd-angular-core-tab-router.js.map +1 -1
  46. package/fesm2015/sd-angular-core-upload-excel.js +1 -13
  47. package/fesm2015/sd-angular-core-upload-excel.js.map +1 -1
  48. package/grid-material/sd-angular-core-grid-material.metadata.json +1 -1
  49. package/grid-material/src/lib/models/grid-column.model.d.ts +2 -0
  50. package/package.json +1 -1
  51. package/{sd-angular-core-0.0.899.tgz → sd-angular-core-0.0.903.tgz} +0 -0
  52. package/tab-router/src/lib/components/tab-router-outlet/tab-router-outlet.component.d.ts +7 -7
@@ -0,0 +1,4 @@
1
+ .mat-tab-label-active {
2
+ color: $primary;
3
+ opacity: 1 !important;
4
+ }
@@ -9,4 +9,4 @@
9
9
  }
10
10
  .l-0 {
11
11
  left: 0;
12
- }
12
+ }
@@ -7,16 +7,16 @@
7
7
 
8
8
  /* Track */
9
9
  ::-webkit-scrollbar-track {
10
- background: #F1F1F1;
10
+ background: #F1F1F1;
11
11
  }
12
12
 
13
13
  /* Handle */
14
14
  ::-webkit-scrollbar-thumb {
15
- background: #888888;
15
+ background: #888888;
16
16
  border-radius: 50px;
17
17
  }
18
18
 
19
19
  /* Handle on hover */
20
20
  ::-webkit-scrollbar-thumb:hover {
21
- background: #555555;
22
- }
21
+ background: #555555;
22
+ }
@@ -0,0 +1,3 @@
1
+ .font-weight-medium {
2
+ font-weight: 500;
3
+ }
@@ -1,24 +1,26 @@
1
- @import '../fonts/roboto.scss';
2
- @import './core/color.scss';
3
- @import './core/box.scss';
4
- @import './core/cursor.scss';
5
- @import './core/form.scss';
6
- @import './core/position.scss';
7
- @import './core/scrollbar.scss';
8
- @import './core/scrollbar.scss';
9
- @import './core/typography.scss';
10
- @import './themes/default.scss';
1
+ @import "../fonts/roboto.scss";
2
+ @import "./core/color.scss";
3
+ @import "./core/box.scss";
4
+ @import "./core/cursor.scss";
5
+ @import "./core/form.scss";
6
+ @import "./core/position.scss";
7
+ @import "./core/scrollbar.scss";
8
+ @import "./core/scrollbar.scss";
9
+ @import "./core/typography.scss";
10
+ @import "./core/text.scss";
11
+ @import "./core/override-material-ui.scss";
12
+ @import "./themes/default.scss";
11
13
 
12
14
  // Other Libraries
13
- @import './bootstrap/bootstrap.scss';
14
- @import './core/toastr.scss';
15
+ @import "./bootstrap/bootstrap.scss";
16
+ @import "./core/toastr.scss";
15
17
  @import "~font-awesome/css/font-awesome.min.css";
16
18
  @import "~jquery-datetimepicker/build/jquery.datetimepicker.min.css";
17
- @import '~material-icons/iconfont/material-icons.scss';
19
+ @import "~material-icons/iconfont/material-icons.scss";
18
20
  // @import "~material-design-icons/iconfont/material-icons.css";
19
- @import '~quill/dist/quill.core.css';
20
- @import '~quill/dist/quill.bubble.css';
21
- @import '~quill/dist/quill.snow.css';
21
+ @import "~quill/dist/quill.core.css";
22
+ @import "~quill/dist/quill.bubble.css";
23
+ @import "~quill/dist/quill.snow.css";
22
24
 
23
25
  .xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_other_month {
24
26
  opacity: 1;
@@ -504,7 +504,7 @@
504
504
  selector: 'sd-date-range',
505
505
  template: "<mat-form-field class=\"sd-md\" [ngClass]=\"{'sd-sm': size === 'sm'}\" appearance=\"outline\">\r\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\r\n <mat-date-range-input [max]=\"max\" [min]=\"min\" [rangePicker]=\"picker\" [disabled]=\"disabled\">\r\n <input [id]=\"id1\" autocomplete=\"off\" autocorrect=\"off\" matStartDate [formControl]=\"control1\"\r\n (dateInput)=\"onStartChange($event)\" [placeholder]=\"'Start' | sdTranslate\">\r\n <input [id]=\"id2\" [autocomplete]=\"id2\" autocorrect=\"off\" matEndDate [formControl]=\"control2\" (dateInput)=\"onEndChange($event)\" [placeholder]=\"'End' | sdTranslate\">\r\n </mat-date-range-input>\r\n <mat-icon *ngIf=\"control1?.value || control2?.value\" class=\"pointer sd-suffix-icon\" (click)=\"clear()\" matSuffix>cancel\r\n </mat-icon>\r\n <mat-icon class=\"pointer sd-suffix-icon\" (click)=\"!disabled && picker.open()\" matSuffix>today\r\n </mat-icon>\r\n <mat-date-range-picker [touchUi]=\"isMobileOrTablet\" #picker></mat-date-range-picker>\r\n</mat-form-field>",
506
506
  providers: [{ provide: core$1.MAT_DATE_FORMATS, useValue: ɵ0 }],
507
- styles: [":host{display:block;padding-top:5px}:host ::ng-deep .mat-form-field.mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-outline{background:#f6f6f6;color:#e9e9e9}:host ::ng-deep .mat-form-field input.mat-end-date:disabled,:host ::ng-deep .mat-form-field input.mat-start-date:disabled{color:#4d4d4d!important}:host ::ng-deep .mat-form-field .mat-placeholder-required{color:red}"]
507
+ styles: [":host{display:block;padding-top:5px}:host ::ng-deep .mat-form-field.mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-outline{background:#f6f6f6;color:#e9e9e9}:host ::ng-deep .mat-form-field input.mat-end-date:disabled,:host ::ng-deep .mat-form-field input.mat-start-date:disabled{color:#4d4d4d!important}:host ::ng-deep .mat-form-field .mat-placeholder-required{color:#f82c13}"]
508
508
  },] }
509
509
  ];
510
510
  SdDateRange.ctorParameters = function () { return [
@@ -12,5 +12,5 @@
12
12
  LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
13
13
  OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
14
14
  PERFORMANCE OF THIS SOFTWARE.
15
- ***************************************************************************** */Object.create;var y,b,M,D,C,Y,x;Object.create;function k(e,t){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return t.get(e)}function w(e,t,a){if(!t.has(e))throw new TypeError("attempted to set private field on non-instance");return t.set(e,a),a}var I={parse:{dateInput:"DD/MM/YYYY"},display:{dateInput:"DD/MM/YYYY",monthYearLabel:"MMM YYYY",dateA11yLabel:"LL",monthYearA11yLabel:"MMMM YYYY"}},q=function(){function e(e){var t=this;this.detectorService=e,this.id1="I"+m.v4(),this.id2="I"+m.v4(),y.set(this,null),b.set(this,null),this.isMobileOrTablet=!1,M.set(this,void 0),this.disabled=!1,this.required=!1,this.sdChange=new a.EventEmitter,this.fromChange=new a.EventEmitter,this.toChange=new a.EventEmitter,this.control1=new r.FormControl,D.set(this,m.v4()),this.control2=new r.FormControl,C.set(this,m.v4()),Y.set(this,new c.Subscription),x.set(this,(function(){var e=Date.isDate(k(t,y))?v.default(Date.toFormat(k(t,y),"MM/dd/yyyy HH:mm:ss"),"MM/DD/YYYY HH:mm:ss"):null,a=Date.isDate(k(t,b))?v.default(Date.toFormat(k(t,b),"MM/dd/yyyy HH:mm:ss"),"MM/DD/YYYY HH:mm:ss"):null;t.control1.setValue(e,{emitEvent:!1}),t.control2.setValue(a,{emitEvent:!1})})),this.onStartChange=function(e){var a,n=(null===(a=e.value)||void 0===a?void 0:a.toDate())||null;n?new Date(k(t,y))!==n&&(w(t,y,n),t.fromChange.emit(n)):(w(t,y,null),t.fromChange.emit(null))},this.onEndChange=function(e){var a,n=(null===(a=e.value)||void 0===a?void 0:a.toDate())||null;n?new Date(k(t,b))!==n&&(w(t,b,n),t.toChange.emit(n)):(w(t,b,null),t.toChange.emit(null))},this.clear=function(){t.control1.setValue(null,{emitEvent:!1}),t.control2.setValue(null,{emitEvent:!1}),w(t,y,null),w(t,b,null),t.fromChange.emit(null),t.toChange.emit(null),t.sdChange.emit({from:null,to:null})},this.isMobileOrTablet=!this.detectorService.isDesktop()}return Object.defineProperty(e.prototype,"form",{set:function(e){e&&(e instanceof r.NgForm?w(this,M,e.form):w(this,M,e))},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"_min",{set:function(e){Date.isDate(e)?this.min=new Date(e):this.min=null},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"_max",{set:function(e){Date.isDate(e)?this.max=new Date(e):this.max=null},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"from",{set:function(e){Date.isDate(e)||(e=null),k(this,y)!==e&&(w(this,y,e),k(this,x).call(this))},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"to",{set:function(e){Date.isDate(e)||(e=null),k(this,b)!==e&&(w(this,b,e),k(this,x).call(this))},enumerable:!1,configurable:!0}),e.prototype.ngOnDestroy=function(){var e,t;null===(e=k(this,M))||void 0===e||e.removeControl(k(this,D)),null===(t=k(this,M))||void 0===t||t.removeControl(k(this,C)),k(this,Y).unsubscribe()},e.prototype.ngOnInit=function(){var e,t;null===(e=k(this,M))||void 0===e||e.addControl(k(this,D),this.control1),null===(t=k(this,M))||void 0===t||t.addControl(k(this,C),this.control2)},e.prototype.ngAfterViewInit=function(){var e=this;k(this,Y).add(c.merge(this.control1.valueChanges,this.control2.valueChanges).pipe(p.debounceTime(500)).subscribe((function(){var t,a,n=(null===(t=e.control1.value)||void 0===t?void 0:t.toDate())||null,r=(null===(a=e.control2.value)||void 0===a?void 0:a.toDate())||null;k(e,y)===n&&k(e,b)===r||(n&&r?e.sdChange.emit({from:n,to:r}):n||r||e.sdChange.emit({from:null,to:null}))}))),k(this,x).call(this)},e}();y=new WeakMap,b=new WeakMap,M=new WeakMap,D=new WeakMap,C=new WeakMap,Y=new WeakMap,x=new WeakMap,q.decorators=[{type:a.Component,args:[{selector:"sd-date-range",template:'<mat-form-field class="sd-md" [ngClass]="{\'sd-sm\': size === \'sm\'}" appearance="outline">\r\n <mat-label *ngIf="label">{{label}}</mat-label>\r\n <mat-date-range-input [max]="max" [min]="min" [rangePicker]="picker" [disabled]="disabled">\r\n <input [id]="id1" autocomplete="off" autocorrect="off" matStartDate [formControl]="control1"\r\n (dateInput)="onStartChange($event)" [placeholder]="\'Start\' | sdTranslate">\r\n <input [id]="id2" [autocomplete]="id2" autocorrect="off" matEndDate [formControl]="control2" (dateInput)="onEndChange($event)" [placeholder]="\'End\' | sdTranslate">\r\n </mat-date-range-input>\r\n <mat-icon *ngIf="control1?.value || control2?.value" class="pointer sd-suffix-icon" (click)="clear()" matSuffix>cancel\r\n </mat-icon>\r\n <mat-icon class="pointer sd-suffix-icon" (click)="!disabled && picker.open()" matSuffix>today\r\n </mat-icon>\r\n <mat-date-range-picker [touchUi]="isMobileOrTablet" #picker></mat-date-range-picker>\r\n</mat-form-field>',providers:[{provide:s.MAT_DATE_FORMATS,useValue:I}],styles:[":host{display:block;padding-top:5px}:host ::ng-deep .mat-form-field.mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-outline{background:#f6f6f6;color:#e9e9e9}:host ::ng-deep .mat-form-field input.mat-end-date:disabled,:host ::ng-deep .mat-form-field input.mat-start-date:disabled{color:#4d4d4d!important}:host ::ng-deep .mat-form-field .mat-placeholder-required{color:red}"]}]}],q.ctorParameters=function(){return[{type:u.DeviceDetectorService}]},q.propDecorators={size:[{type:a.Input}],form:[{type:a.Input}],disabled:[{type:a.Input}],required:[{type:a.Input}],label:[{type:a.Input}],_min:[{type:a.Input,args:["min"]}],_max:[{type:a.Input,args:["max"]}],from:[{type:a.Input}],to:[{type:a.Input}],sdChange:[{type:a.Output}],fromChange:[{type:a.Output}],toChange:[{type:a.Output}]};var E=function(){};E.decorators=[{type:a.NgModule,args:[{imports:[n.CommonModule,r.FormsModule,r.ReactiveFormsModule,o.MatFormFieldModule,f.MatIconModule,i.MatDatepickerModule,l.MatMomentDateModule,g.SdTranslateModule],declarations:[q],exports:[q],providers:[]}]}],e.SdDateRange=q,e.SdDateRangeModule=E,e.ɵ0=I,Object.defineProperty(e,"__esModule",{value:!0})}));
15
+ ***************************************************************************** */Object.create;var y,b,M,D,C,Y,x;Object.create;function k(e,t){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return t.get(e)}function w(e,t,a){if(!t.has(e))throw new TypeError("attempted to set private field on non-instance");return t.set(e,a),a}var I={parse:{dateInput:"DD/MM/YYYY"},display:{dateInput:"DD/MM/YYYY",monthYearLabel:"MMM YYYY",dateA11yLabel:"LL",monthYearA11yLabel:"MMMM YYYY"}},q=function(){function e(e){var t=this;this.detectorService=e,this.id1="I"+m.v4(),this.id2="I"+m.v4(),y.set(this,null),b.set(this,null),this.isMobileOrTablet=!1,M.set(this,void 0),this.disabled=!1,this.required=!1,this.sdChange=new a.EventEmitter,this.fromChange=new a.EventEmitter,this.toChange=new a.EventEmitter,this.control1=new r.FormControl,D.set(this,m.v4()),this.control2=new r.FormControl,C.set(this,m.v4()),Y.set(this,new c.Subscription),x.set(this,(function(){var e=Date.isDate(k(t,y))?v.default(Date.toFormat(k(t,y),"MM/dd/yyyy HH:mm:ss"),"MM/DD/YYYY HH:mm:ss"):null,a=Date.isDate(k(t,b))?v.default(Date.toFormat(k(t,b),"MM/dd/yyyy HH:mm:ss"),"MM/DD/YYYY HH:mm:ss"):null;t.control1.setValue(e,{emitEvent:!1}),t.control2.setValue(a,{emitEvent:!1})})),this.onStartChange=function(e){var a,n=(null===(a=e.value)||void 0===a?void 0:a.toDate())||null;n?new Date(k(t,y))!==n&&(w(t,y,n),t.fromChange.emit(n)):(w(t,y,null),t.fromChange.emit(null))},this.onEndChange=function(e){var a,n=(null===(a=e.value)||void 0===a?void 0:a.toDate())||null;n?new Date(k(t,b))!==n&&(w(t,b,n),t.toChange.emit(n)):(w(t,b,null),t.toChange.emit(null))},this.clear=function(){t.control1.setValue(null,{emitEvent:!1}),t.control2.setValue(null,{emitEvent:!1}),w(t,y,null),w(t,b,null),t.fromChange.emit(null),t.toChange.emit(null),t.sdChange.emit({from:null,to:null})},this.isMobileOrTablet=!this.detectorService.isDesktop()}return Object.defineProperty(e.prototype,"form",{set:function(e){e&&(e instanceof r.NgForm?w(this,M,e.form):w(this,M,e))},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"_min",{set:function(e){Date.isDate(e)?this.min=new Date(e):this.min=null},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"_max",{set:function(e){Date.isDate(e)?this.max=new Date(e):this.max=null},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"from",{set:function(e){Date.isDate(e)||(e=null),k(this,y)!==e&&(w(this,y,e),k(this,x).call(this))},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"to",{set:function(e){Date.isDate(e)||(e=null),k(this,b)!==e&&(w(this,b,e),k(this,x).call(this))},enumerable:!1,configurable:!0}),e.prototype.ngOnDestroy=function(){var e,t;null===(e=k(this,M))||void 0===e||e.removeControl(k(this,D)),null===(t=k(this,M))||void 0===t||t.removeControl(k(this,C)),k(this,Y).unsubscribe()},e.prototype.ngOnInit=function(){var e,t;null===(e=k(this,M))||void 0===e||e.addControl(k(this,D),this.control1),null===(t=k(this,M))||void 0===t||t.addControl(k(this,C),this.control2)},e.prototype.ngAfterViewInit=function(){var e=this;k(this,Y).add(c.merge(this.control1.valueChanges,this.control2.valueChanges).pipe(p.debounceTime(500)).subscribe((function(){var t,a,n=(null===(t=e.control1.value)||void 0===t?void 0:t.toDate())||null,r=(null===(a=e.control2.value)||void 0===a?void 0:a.toDate())||null;k(e,y)===n&&k(e,b)===r||(n&&r?e.sdChange.emit({from:n,to:r}):n||r||e.sdChange.emit({from:null,to:null}))}))),k(this,x).call(this)},e}();y=new WeakMap,b=new WeakMap,M=new WeakMap,D=new WeakMap,C=new WeakMap,Y=new WeakMap,x=new WeakMap,q.decorators=[{type:a.Component,args:[{selector:"sd-date-range",template:'<mat-form-field class="sd-md" [ngClass]="{\'sd-sm\': size === \'sm\'}" appearance="outline">\r\n <mat-label *ngIf="label">{{label}}</mat-label>\r\n <mat-date-range-input [max]="max" [min]="min" [rangePicker]="picker" [disabled]="disabled">\r\n <input [id]="id1" autocomplete="off" autocorrect="off" matStartDate [formControl]="control1"\r\n (dateInput)="onStartChange($event)" [placeholder]="\'Start\' | sdTranslate">\r\n <input [id]="id2" [autocomplete]="id2" autocorrect="off" matEndDate [formControl]="control2" (dateInput)="onEndChange($event)" [placeholder]="\'End\' | sdTranslate">\r\n </mat-date-range-input>\r\n <mat-icon *ngIf="control1?.value || control2?.value" class="pointer sd-suffix-icon" (click)="clear()" matSuffix>cancel\r\n </mat-icon>\r\n <mat-icon class="pointer sd-suffix-icon" (click)="!disabled && picker.open()" matSuffix>today\r\n </mat-icon>\r\n <mat-date-range-picker [touchUi]="isMobileOrTablet" #picker></mat-date-range-picker>\r\n</mat-form-field>',providers:[{provide:s.MAT_DATE_FORMATS,useValue:I}],styles:[":host{display:block;padding-top:5px}:host ::ng-deep .mat-form-field.mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-outline{background:#f6f6f6;color:#e9e9e9}:host ::ng-deep .mat-form-field input.mat-end-date:disabled,:host ::ng-deep .mat-form-field input.mat-start-date:disabled{color:#4d4d4d!important}:host ::ng-deep .mat-form-field .mat-placeholder-required{color:#f82c13}"]}]}],q.ctorParameters=function(){return[{type:u.DeviceDetectorService}]},q.propDecorators={size:[{type:a.Input}],form:[{type:a.Input}],disabled:[{type:a.Input}],required:[{type:a.Input}],label:[{type:a.Input}],_min:[{type:a.Input,args:["min"]}],_max:[{type:a.Input,args:["max"]}],from:[{type:a.Input}],to:[{type:a.Input}],sdChange:[{type:a.Output}],fromChange:[{type:a.Output}],toChange:[{type:a.Output}]};var E=function(){};E.decorators=[{type:a.NgModule,args:[{imports:[n.CommonModule,r.FormsModule,r.ReactiveFormsModule,o.MatFormFieldModule,f.MatIconModule,i.MatDatepickerModule,l.MatMomentDateModule,g.SdTranslateModule],declarations:[q],exports:[q],providers:[]}]}],e.SdDateRange=q,e.SdDateRangeModule=E,e.ɵ0=I,Object.defineProperty(e,"__esModule",{value:!0})}));
16
16
  //# sourceMappingURL=sd-angular-core-date-range.umd.min.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../node_modules/tslib/tslib.es6.js","../../../../projects/sd-core/date-range/src/lib/date-range.component.ts","../../../../projects/sd-core/date-range/src/lib/date-range.module.ts"],"names":["Object","create","__classPrivateFieldGet","receiver","privateMap","has","TypeError","get","__classPrivateFieldSet","value","set","parse","dateInput","display","monthYearLabel","dateA11yLabel","monthYearA11yLabel","SdDateRange","detectorService","_this","this","id1","uuid.v4","id2","_from","_to","isMobileOrTablet","_form","disabled","required","sdChange","EventEmitter","fromChange","toChange","control1","FormControl","_c1","control2","_c2","_subscription","Subscription","_onChanges","from","Date","isDate","moment","toFormat","to","setValue","emitEvent","onStartChange","event","_a","toDate","emit","onEndChange","clear","isDesktop","defineProperty","prototype","val","NgForm","form","min","max","call","ngOnDestroy","removeControl","_b","unsubscribe","ngOnInit","addControl","ngAfterViewInit","add","merge","valueChanges","pipe","debounceTime","subscribe","Component","args","selector","template","providers","provide","MAT_DATE_FORMATS","useValue","ɵ0","DeviceDetectorService","Input","Output","NgModule","imports","CommonModule","FormsModule","ReactiveFormsModule","MatFormFieldModule","MatIconModule","MatDatepickerModule","MatMomentDateModule","SdTranslateModule","declarations","exports"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import {\r\n Component,\r\n Input,\r\n EventEmitter,\r\n Output,\r\n OnDestroy,\r\n AfterViewInit,\r\n OnInit\r\n} from '@angular/core';\r\n\r\nimport { FormControl, FormGroup, NgForm } from '@angular/forms';\r\nimport { MatDatepickerInputEvent, } from '@angular/material/datepicker';\r\nimport { MAT_DATE_FORMATS } from '@angular/material/core';\r\nimport { DeviceDetectorService } from 'ngx-device-detector';\r\nimport moment, { Moment } from 'moment';\r\nimport * as uuid from 'uuid';\r\nimport { merge, Subscription } from 'rxjs';\r\nimport { debounceTime } from 'rxjs/operators';\r\nimport '@sd-angular/core/typing';\r\n\r\nconst CUSTOM_DATE_FORMATS = {\r\n parse: {\r\n dateInput: 'DD/MM/YYYY'\r\n },\r\n display: {\r\n dateInput: 'DD/MM/YYYY',\r\n monthYearLabel: 'MMM YYYY',\r\n dateA11yLabel: 'LL',\r\n monthYearA11yLabel: 'MMMM YYYY'\r\n }\r\n};\r\n\r\n@Component({\r\n selector: 'sd-date-range',\r\n templateUrl: './date-range.component.html',\r\n styleUrls: ['./date-range.component.scss'],\r\n providers: [{ provide: MAT_DATE_FORMATS, useValue: CUSTOM_DATE_FORMATS }],\r\n})\r\nexport class SdDateRange implements OnDestroy, OnInit, AfterViewInit {\r\n id1 = `I${uuid.v4()}`;\r\n id2 = `I${uuid.v4()}`;\r\n #from: any = null;\r\n #to: any = null;\r\n isMobileOrTablet = false;\r\n @Input() size: 'sm' | 'lg';\r\n #form: FormGroup;\r\n @Input() set form(val: NgForm | FormGroup) {\r\n if (val) {\r\n if (val instanceof NgForm) {\r\n this.#form = val.form;\r\n } else {\r\n this.#form = val;\r\n }\r\n }\r\n }\r\n @Input() disabled = false;\r\n @Input() required = false;\r\n @Input() label: string;\r\n min: Date;\r\n @Input('min') set _min(val: string) {\r\n if (Date.isDate(val)) {\r\n this.min = new Date(val);\r\n } else {\r\n this.min = null;\r\n }\r\n }\r\n max: Date;\r\n @Input('max') set _max(val: string) {\r\n if (Date.isDate(val)) {\r\n this.max = new Date(val);\r\n } else {\r\n this.max = null;\r\n }\r\n }\r\n @Input() set from(val: any) {\r\n if (!Date.isDate(val)) {\r\n val = null;\r\n }\r\n if (this.#from !== val) {\r\n this.#from = val;\r\n this.#onChanges();\r\n }\r\n }\r\n @Input() set to(val: any) {\r\n if (!Date.isDate(val)) {\r\n val = null;\r\n }\r\n if (this.#to !== val) {\r\n this.#to = val;\r\n this.#onChanges();\r\n }\r\n }\r\n @Output() sdChange = new EventEmitter<{ from: Date, to: Date }>();\r\n @Output() fromChange = new EventEmitter();\r\n @Output() toChange = new EventEmitter();\r\n\r\n control1 = new FormControl();\r\n #c1 = uuid.v4();\r\n control2 = new FormControl();\r\n #c2 = uuid.v4();\r\n #subscription = new Subscription();\r\n constructor(\r\n private detectorService: DeviceDetectorService) {\r\n this.isMobileOrTablet = !this.detectorService.isDesktop();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.#form?.removeControl(this.#c1);\r\n this.#form?.removeControl(this.#c2);\r\n this.#subscription.unsubscribe();\r\n }\r\n\r\n ngOnInit() {\r\n this.#form?.addControl(this.#c1, this.control1);\r\n this.#form?.addControl(this.#c2, this.control2);\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.#subscription.add(merge(this.control1.valueChanges, this.control2.valueChanges).pipe(debounceTime(500)).subscribe(() => {\r\n const from = this.control1.value?.toDate() || null;\r\n const to = this.control2.value?.toDate() || null;\r\n if (this.#from !== from || this.#to !== to) {\r\n if (from && to) {\r\n this.sdChange.emit({\r\n from,\r\n to\r\n });\r\n } else if (!from && !to) {\r\n this.sdChange.emit({\r\n from: null,\r\n to: null\r\n });\r\n }\r\n }\r\n }));\r\n this.#onChanges();\r\n }\r\n\r\n #onChanges = () => {\r\n const from = Date.isDate(this.#from) ? moment(Date.toFormat(this.#from, 'MM/dd/yyyy HH:mm:ss'), 'MM/DD/YYYY HH:mm:ss') : null;\r\n const to = Date.isDate(this.#to) ? moment(Date.toFormat(this.#to, 'MM/dd/yyyy HH:mm:ss'), 'MM/DD/YYYY HH:mm:ss') : null;\r\n this.control1.setValue(from, {\r\n emitEvent: false\r\n });\r\n this.control2.setValue(to, {\r\n emitEvent: false\r\n });\r\n }\r\n\r\n onStartChange = (event: MatDatepickerInputEvent<Moment>) => {\r\n const value = event.value?.toDate() || null;\r\n if (value) {\r\n if (new Date(this.#from) !== value) {\r\n this.#from = value;\r\n this.fromChange.emit(value);\r\n }\r\n } else {\r\n this.#from = null;\r\n this.fromChange.emit(null);\r\n }\r\n }\r\n\r\n onEndChange = (event: MatDatepickerInputEvent<Moment>) => {\r\n const value = event.value?.toDate() || null;\r\n if (value) {\r\n if (new Date(this.#to) !== value) {\r\n this.#to = value;\r\n this.toChange.emit(value);\r\n }\r\n } else {\r\n this.#to = null;\r\n this.toChange.emit(null);\r\n }\r\n }\r\n\r\n clear = () => {\r\n this.control1.setValue(null, {\r\n emitEvent: false\r\n });\r\n this.control2.setValue(null, {\r\n emitEvent: false\r\n });\r\n this.#from = null;\r\n this.#to = null;\r\n this.fromChange.emit(null);\r\n this.toChange.emit(null);\r\n this.sdChange.emit({\r\n from: null,\r\n to: null\r\n });\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { MatMomentDateModule } from '@angular/material-moment-adapter';\r\nimport { SdDateRange } from './date-range.component';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { SdTranslateModule } from '@sd-angular/core/translate';\r\nimport '@sd-angular/core/typing';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n MatFormFieldModule,\r\n MatIconModule,\r\n MatDatepickerModule,\r\n MatMomentDateModule,\r\n SdTranslateModule\r\n ],\r\n declarations: [\r\n SdDateRange\r\n ],\r\n exports: [\r\n SdDateRange\r\n ],\r\n providers: [\r\n ]\r\n})\r\nexport class SdDateRangeModule {\r\n\r\n}\r\n"]}
1
+ {"version":3,"sources":["../../../../node_modules/tslib/tslib.es6.js","../../../../projects/sd-core/date-range/src/lib/date-range.component.ts","../../../../projects/sd-core/date-range/src/lib/date-range.module.ts"],"names":["Object","create","__classPrivateFieldGet","receiver","privateMap","has","TypeError","get","__classPrivateFieldSet","value","set","parse","dateInput","display","monthYearLabel","dateA11yLabel","monthYearA11yLabel","SdDateRange","detectorService","_this","this","id1","uuid.v4","id2","_from","_to","isMobileOrTablet","_form","disabled","required","sdChange","EventEmitter","fromChange","toChange","control1","FormControl","_c1","control2","_c2","_subscription","Subscription","_onChanges","from","Date","isDate","moment","toFormat","to","setValue","emitEvent","onStartChange","event","_a","toDate","emit","onEndChange","clear","isDesktop","defineProperty","prototype","val","NgForm","form","min","max","call","ngOnDestroy","removeControl","_b","unsubscribe","ngOnInit","addControl","ngAfterViewInit","add","merge","valueChanges","pipe","debounceTime","subscribe","Component","args","selector","template","providers","provide","MAT_DATE_FORMATS","useValue","ɵ0","DeviceDetectorService","Input","Output","NgModule","imports","CommonModule","FormsModule","ReactiveFormsModule","MatFormFieldModule","MatIconModule","MatDatepickerModule","MatMomentDateModule","SdTranslateModule","declarations","exports"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import {\r\n Component,\r\n Input,\r\n EventEmitter,\r\n Output,\r\n OnDestroy,\r\n AfterViewInit,\r\n OnInit\r\n} from '@angular/core';\r\n\r\nimport { FormControl, FormGroup, NgForm } from '@angular/forms';\r\nimport { MatDatepickerInputEvent, } from '@angular/material/datepicker';\r\nimport { MAT_DATE_FORMATS } from '@angular/material/core';\r\nimport { DeviceDetectorService } from 'ngx-device-detector';\r\nimport moment, { Moment } from 'moment';\r\nimport * as uuid from 'uuid';\r\nimport { merge, Subscription } from 'rxjs';\r\nimport { debounceTime } from 'rxjs/operators';\r\nimport '@sd-angular/core/typing';\r\n\r\nconst CUSTOM_DATE_FORMATS = {\r\n parse: {\r\n dateInput: 'DD/MM/YYYY'\r\n },\r\n display: {\r\n dateInput: 'DD/MM/YYYY',\r\n monthYearLabel: 'MMM YYYY',\r\n dateA11yLabel: 'LL',\r\n monthYearA11yLabel: 'MMMM YYYY'\r\n }\r\n};\r\n\r\n@Component({\r\n selector: 'sd-date-range',\r\n templateUrl: './date-range.component.html',\r\n styleUrls: ['./date-range.component.scss'],\r\n providers: [{ provide: MAT_DATE_FORMATS, useValue: CUSTOM_DATE_FORMATS }],\r\n})\r\nexport class SdDateRange implements OnDestroy, OnInit, AfterViewInit {\r\n id1 = `I${uuid.v4()}`;\r\n id2 = `I${uuid.v4()}`;\r\n #from: any = null;\r\n #to: any = null;\r\n isMobileOrTablet = false;\r\n @Input() size: 'sm' | 'lg';\r\n #form: FormGroup;\r\n @Input() set form(val: NgForm | FormGroup) {\r\n if (val) {\r\n if (val instanceof NgForm) {\r\n this.#form = val.form;\r\n } else {\r\n this.#form = val;\r\n }\r\n }\r\n }\r\n @Input() disabled = false;\r\n @Input() required = false;\r\n @Input() label: string;\r\n min: Date;\r\n @Input('min') set _min(val: string) {\r\n if (Date.isDate(val)) {\r\n this.min = new Date(val);\r\n } else {\r\n this.min = null;\r\n }\r\n }\r\n max: Date;\r\n @Input('max') set _max(val: string) {\r\n if (Date.isDate(val)) {\r\n this.max = new Date(val);\r\n } else {\r\n this.max = null;\r\n }\r\n }\r\n @Input() set from(val: any) {\r\n if (!Date.isDate(val)) {\r\n val = null;\r\n }\r\n if (this.#from !== val) {\r\n this.#from = val;\r\n this.#onChanges();\r\n }\r\n }\r\n @Input() set to(val: any) {\r\n if (!Date.isDate(val)) {\r\n val = null;\r\n }\r\n if (this.#to !== val) {\r\n this.#to = val;\r\n this.#onChanges();\r\n }\r\n }\r\n @Output() sdChange = new EventEmitter<{ from: Date, to: Date }>();\r\n @Output() fromChange = new EventEmitter();\r\n @Output() toChange = new EventEmitter();\r\n\r\n control1 = new FormControl();\r\n #c1 = uuid.v4();\r\n control2 = new FormControl();\r\n #c2 = uuid.v4();\r\n #subscription = new Subscription();\r\n constructor(\r\n private detectorService: DeviceDetectorService) {\r\n this.isMobileOrTablet = !this.detectorService.isDesktop();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.#form?.removeControl(this.#c1);\r\n this.#form?.removeControl(this.#c2);\r\n this.#subscription.unsubscribe();\r\n }\r\n\r\n ngOnInit() {\r\n this.#form?.addControl(this.#c1, this.control1);\r\n this.#form?.addControl(this.#c2, this.control2);\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.#subscription.add(merge(this.control1.valueChanges, this.control2.valueChanges).pipe(debounceTime(500)).subscribe(() => {\r\n const from = this.control1.value?.toDate() || null;\r\n const to = this.control2.value?.toDate() || null;\r\n if (this.#from !== from || this.#to !== to) {\r\n if (from && to) {\r\n this.sdChange.emit({\r\n from,\r\n to\r\n });\r\n } else if (!from && !to) {\r\n this.sdChange.emit({\r\n from: null,\r\n to: null\r\n });\r\n }\r\n }\r\n }));\r\n this.#onChanges();\r\n }\r\n\r\n #onChanges = () => {\r\n const from = Date.isDate(this.#from) ? moment(Date.toFormat(this.#from, 'MM/dd/yyyy HH:mm:ss'), 'MM/DD/YYYY HH:mm:ss') : null;\r\n const to = Date.isDate(this.#to) ? moment(Date.toFormat(this.#to, 'MM/dd/yyyy HH:mm:ss'), 'MM/DD/YYYY HH:mm:ss') : null;\r\n this.control1.setValue(from, {\r\n emitEvent: false\r\n });\r\n this.control2.setValue(to, {\r\n emitEvent: false\r\n });\r\n }\r\n\r\n onStartChange = (event: MatDatepickerInputEvent<Moment>) => {\r\n const value = event.value?.toDate() || null;\r\n if (value) {\r\n if (new Date(this.#from) !== value) {\r\n this.#from = value;\r\n this.fromChange.emit(value);\r\n }\r\n } else {\r\n this.#from = null;\r\n this.fromChange.emit(null);\r\n }\r\n }\r\n\r\n onEndChange = (event: MatDatepickerInputEvent<Moment>) => {\r\n const value = event.value?.toDate() || null;\r\n if (value) {\r\n if (new Date(this.#to) !== value) {\r\n this.#to = value;\r\n this.toChange.emit(value);\r\n }\r\n } else {\r\n this.#to = null;\r\n this.toChange.emit(null);\r\n }\r\n }\r\n\r\n clear = () => {\r\n this.control1.setValue(null, {\r\n emitEvent: false\r\n });\r\n this.control2.setValue(null, {\r\n emitEvent: false\r\n });\r\n this.#from = null;\r\n this.#to = null;\r\n this.fromChange.emit(null);\r\n this.toChange.emit(null);\r\n this.sdChange.emit({\r\n from: null,\r\n to: null\r\n });\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { MatMomentDateModule } from '@angular/material-moment-adapter';\r\nimport { SdDateRange } from './date-range.component';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { SdTranslateModule } from '@sd-angular/core/translate';\r\nimport '@sd-angular/core/typing';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n MatFormFieldModule,\r\n MatIconModule,\r\n MatDatepickerModule,\r\n MatMomentDateModule,\r\n SdTranslateModule\r\n ],\r\n declarations: [\r\n SdDateRange\r\n ],\r\n exports: [\r\n SdDateRange\r\n ],\r\n providers: [\r\n ]\r\n})\r\nexport class SdDateRangeModule {\r\n\r\n}\r\n"]}
@@ -533,7 +533,7 @@
533
533
  { provide: core$1.MAT_DATE_FORMATS, useValue: ɵ0 },
534
534
  { provide: datetimePicker.NGX_MAT_DATE_FORMATS, useValue: ɵ1 }
535
535
  ],
536
- styles: [":host{display:block;padding-top:5px}:host ::ng-deep .mat-form-field.no-padding-wrapper .mat-form-field-wrapper{padding-bottom:0}:host ::ng-deep .mat-form-field.mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-outline{background:#f6f6f6;color:#e9e9e9}:host ::ng-deep .mat-form-field input.mat-input-element:disabled{color:#4d4d4d!important}"]
536
+ styles: [":host{display:block;padding-top:5px}:host ::ng-deep .mat-form-field.no-padding-wrapper .mat-form-field-wrapper{padding-bottom:0}:host ::ng-deep .mat-form-field.mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-outline{background:#f6f6f6;color:#e9e9e9}:host ::ng-deep .mat-form-field input.mat-input-element:disabled{color:#4d4d4d!important}:host ::ng-deep .mat-form-field .mat-placeholder-required{color:#f82c13}"]
537
537
  },] }
538
538
  ];
539
539
  SdDateTime.ctorParameters = function () { return [
@@ -1,4 +1,4 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@sd-angular/core/typing"),require("@angular/core"),require("@angular/common"),require("@angular/forms"),require("@angular/material/form-field"),require("@angular/material/datepicker"),require("@angular-material-components/datetime-picker"),require("uuid"),require("moment"),require("ngx-device-detector"),require("@angular/material/core"),require("@sd-angular/core/translate"),require("@angular/material/input"),require("@angular-material-components/moment-adapter"),require("@angular/material-moment-adapter"),require("@angular/material/icon")):"function"==typeof define&&define.amd?define("@sd-angular/core/date-time",["exports","@sd-angular/core/typing","@angular/core","@angular/common","@angular/forms","@angular/material/form-field","@angular/material/datepicker","@angular-material-components/datetime-picker","uuid","moment","ngx-device-detector","@angular/material/core","@sd-angular/core/translate","@angular/material/input","@angular-material-components/moment-adapter","@angular/material-moment-adapter","@angular/material/icon"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self)["sd-angular"]=e["sd-angular"]||{},e["sd-angular"].core=e["sd-angular"].core||{},e["sd-angular"].core["date-time"]={}),e["sd-angular"].core.typing,e.ng.core,e.ng.common,e.ng.forms,e.ng.material.formField,e.ng.material.datepicker,e.datetimePicker,e.uuid,e.moment,e.ngxDeviceDetector,e.ng.material.core,e["sd-angular"].core.translate,e.ng.material.input,e.momentAdapter,e.ng.materialMomentAdapter,e.ng.material.icon)}(this,(function(e,t,r,a,n,o,i,l,s,d,m,u,p,c,f,g,b){"use strict";function M(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var h=M(d);
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@sd-angular/core/typing"),require("@angular/core"),require("@angular/common"),require("@angular/forms"),require("@angular/material/form-field"),require("@angular/material/datepicker"),require("@angular-material-components/datetime-picker"),require("uuid"),require("moment"),require("ngx-device-detector"),require("@angular/material/core"),require("@sd-angular/core/translate"),require("@angular/material/input"),require("@angular-material-components/moment-adapter"),require("@angular/material-moment-adapter"),require("@angular/material/icon")):"function"==typeof define&&define.amd?define("@sd-angular/core/date-time",["exports","@sd-angular/core/typing","@angular/core","@angular/common","@angular/forms","@angular/material/form-field","@angular/material/datepicker","@angular-material-components/datetime-picker","uuid","moment","ngx-device-detector","@angular/material/core","@sd-angular/core/translate","@angular/material/input","@angular-material-components/moment-adapter","@angular/material-moment-adapter","@angular/material/icon"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self)["sd-angular"]=e["sd-angular"]||{},e["sd-angular"].core=e["sd-angular"].core||{},e["sd-angular"].core["date-time"]={}),e["sd-angular"].core.typing,e.ng.core,e.ng.common,e.ng.forms,e.ng.material.formField,e.ng.material.datepicker,e.datetimePicker,e.uuid,e.moment,e.ngxDeviceDetector,e.ng.material.core,e["sd-angular"].core.translate,e.ng.material.input,e.momentAdapter,e.ng.materialMomentAdapter,e.ng.material.icon)}(this,(function(e,t,r,a,n,o,i,l,s,d,m,u,p,c,f,g,b){"use strict";function h(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var M=h(d);
2
2
  /*! *****************************************************************************
3
3
  Copyright (c) Microsoft Corporation.
4
4
 
@@ -12,5 +12,5 @@
12
12
  LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
13
13
  OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
14
14
  PERFORMANCE OF THIS SOFTWARE.
15
- ***************************************************************************** */Object.create;var y,D,C;Object.create;function v(e,t){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return t.get(e)}function x(e,t,r){if(!t.has(e))throw new TypeError("attempted to set private field on non-instance");return t.set(e,r),r}var I={parse:{dateInput:"DD/MM/YYYY"},display:{dateInput:"DD/MM/YYYY",monthYearLabel:"MMM YYYY",dateA11yLabel:"LL",monthYearA11yLabel:"MMMM YYYY"}},k={parse:{dateInput:"DD/MM/YYYY HH:mm"},display:{dateInput:"DD/MM/YYYY HH:mm",monthYearLabel:"MMM YYYY",dateA11yLabel:"LL",monthYearA11yLabel:"MMMM YYYY"}},Y=function(){function e(e,t){var a=this;this.ref=e,this.id="I"+s.v4(),this.isMobileOrTablet=!1,y.set(this,void 0),D.set(this,s.v4()),this.disableErrorMessage=!1,this.dateControl=new n.FormControl,C.set(this,void 0),this.type="datetime",this.isRequired=!1,this.sdChange=new r.EventEmitter,this.modelChange=new r.EventEmitter,this.onBlur=function(){},this.onFocus=function(){a.isMobileOrTablet},this.onChange=function(e){var t,r,n=null===(t=e.value)||void 0===t?void 0:t.toDate();n?new Date(v(a,y))!==n&&(a.modelChange.emit(n),a.sdChange.emit(n)):(null===(r=a.dateControl)||void 0===r?void 0:r.value)||(a.modelChange.emit(null),a.sdChange.emit(null))},this.clear=function(e){null==e||e.stopPropagation(),v(a,y)&&(a.dateControl.setValue(null),a.modelChange.emit(null),a.sdChange.emit(null))},this.isMobileOrTablet=!t.isDesktop()}return Object.defineProperty(e.prototype,"name",{set:function(e){e&&x(this,D,e)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"_disableErrorMessage",{set:function(e){this.disableErrorMessage=""===e||e,e=""===e||e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"_min",{set:function(e){Date.isDate(e)?this.min=new Date(e):this.min=null},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"_max",{set:function(e){Date.isDate(e)?this.max=new Date(e):this.max=null},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"form",{set:function(e){e&&(e instanceof n.NgForm?x(this,C,e.form):x(this,C,e))},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"disabled",{set:function(e){(e=""===e||e)?this.dateControl.disable():this.dateControl.enable()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"required",{set:function(e){this.isRequired=""===e||e,this.isRequired?this.dateControl.setValidators([n.Validators.required]):this.dateControl.clearValidators()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"minDate",{set:function(e){Date.isDate(e)?this.min=new Date(e):this.min=null},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"maxDate",{set:function(e){Date.isDate(e)?this.max=new Date(e):this.max=null},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"model",{set:function(e){if(Date.isDate(e)||(e=null),v(this,y)!==e){x(this,y,e);var t=Date.isDate(v(this,y))?h.default(Date.toFormat(v(this,y),"MM/dd/yyyy HH:mm:ss"),"MM/DD/YYYY HH:mm:ss"):null;this.dateControl.setValue(t)}},enumerable:!1,configurable:!0}),e.prototype.ngOnDestroy=function(){var e;null===(e=v(this,C))||void 0===e||e.removeControl(v(this,D))},e.prototype.ngOnInit=function(){var e;null===(e=v(this,C))||void 0===e||e.addControl(v(this,D),this.dateControl)},e.prototype.ngAfterViewInit=function(){},e}();y=new WeakMap,D=new WeakMap,C=new WeakMap,Y.decorators=[{type:r.Component,args:[{selector:"sd-date-time",template:'<div class="d-flex align-items-center">\r\n <mat-form-field *ngIf="type === \'datetime\' || type === \'time\'" class="sd-md"\r\n [ngClass]="{ \'sd-sm\': size === \'sm\', \'no-padding-wrapper\': disableErrorMessage }" appearance="outline">\r\n <mat-label *ngIf="label">{{ label }}</mat-label>\r\n <input [id]="id" matInput (dateInput)="onChange($event)" [value]="date" (focus)="onFocus()" (blur)="onBlur()"\r\n [autocomplete]="id" autocorrect="off" [formControl]="dateControl" [ngxMatDatetimePicker]="picker1"\r\n placeholder="{{ placeholder || label }}" [min]="min" [required]="isRequired" [max]="max" />\r\n \x3c!-- <mat-icon class="pointer sd-suffix-icon" (click)="!dateControl?.disabled && picker1.open()" matSuffix>today\r\n </mat-icon> --\x3e\r\n <mat-icon *ngIf="dateControl?.value && !isRequired && !dateControl.disabled" class="pointer sd-suffix-icon"\r\n (click)="clear($event)" matSuffix>cancel\r\n </mat-icon>\r\n <mat-datepicker-toggle matSuffix [for]="picker1"></mat-datepicker-toggle>\r\n <ngx-mat-datetime-picker #picker1 [defaultTime]="defaultTime" [touchUi]="isMobileOrTablet" [showSpinners]="false">\r\n </ngx-mat-datetime-picker>\r\n\r\n <mat-error *ngIf="dateControl?.errors?.required && !disableErrorMessage">\r\n {{ "This field is required" | sdTranslate }}\r\n </mat-error>\r\n <mat-error *ngIf="dateControl?.errors?.matDatetimePickerMin && !disableErrorMessage">\r\n {{ "Min date" | sdTranslate }}:\r\n <strong>{{ min | date: "dd/MM/yyyy HH:mm" }}</strong>\r\n </mat-error>\r\n <mat-error *ngIf="dateControl?.errors?.matDatetimePickerMax && !disableErrorMessage">\r\n {{ "Max date" | sdTranslate }}:\r\n <strong>{{ max | date: "dd/MM/yyyy HH:mm" }}</strong>\r\n </mat-error>\r\n <mat-error *ngIf="dateControl?.errors?.matDatetimePickerParse && !disableErrorMessage">\r\n {{ "Parse error" | sdTranslate }}:\r\n <strong>{{ dateControl?.errors?.matDatetimePickerParse?.text }}</strong>\r\n </mat-error>\r\n <mat-error *ngIf="dateControl?.errors?.customValidator && !disableErrorMessage">\r\n <strong>{{ dateControl?.errors?.customValidator }}</strong>\r\n </mat-error>\r\n </mat-form-field>\r\n <mat-form-field *ngIf="type === \'date\'" class="sd-md"\r\n [ngClass]="{ \'sd-sm\': size === \'sm\' , \'no-padding-wrapper\': disableErrorMessage}" appearance="outline">\r\n <mat-label *ngIf="label">{{ label }}</mat-label>\r\n <input [id]="id" matInput (dateInput)="onChange($event)" (focus)="onFocus()" (blur)="onBlur()" [autocomplete]="id"\r\n autocorrect="off" [formControl]="dateControl" [required]="isRequired" [matDatepicker]="picker2"\r\n placeholder="{{ placeholder || label }}" [min]="min" [max]="max" />\r\n <mat-icon *ngIf="dateControl?.value && !isRequired && !dateControl.disabled" class="pointer sd-suffix-icon"\r\n (click)="clear($event)" matSuffix>cancel\r\n </mat-icon>\r\n\r\n <mat-icon class="pointer sd-suffix-icon" (click)="!dateControl?.disabled && picker2.open()" matSuffix>today\r\n </mat-icon>\r\n\r\n <mat-datepicker #picker2 [touchUi]="isMobileOrTablet"></mat-datepicker>\r\n\r\n <mat-error *ngIf="dateControl?.errors?.required && !disableErrorMessage">\r\n {{ "This field is required" | sdTranslate }}\r\n </mat-error>\r\n <mat-error *ngIf="dateControl?.errors?.customValidator && !disableErrorMessage">\r\n <strong>{{ dateControl?.errors?.customValidator }}</strong>\r\n </mat-error>\r\n </mat-form-field>\r\n \x3c!-- <ngx-mat-timepicker *ngIf="type === \'time\'" formControlName="name" [disabled]="disabled" showSpinners="false" stepHour="1"\r\n stepMinute="1" stepSecond="1">\r\n</ngx-mat-timepicker> --\x3e\r\n</div>',providers:[{provide:u.MAT_DATE_FORMATS,useValue:I},{provide:l.NGX_MAT_DATE_FORMATS,useValue:k}],styles:[":host{display:block;padding-top:5px}:host ::ng-deep .mat-form-field.no-padding-wrapper .mat-form-field-wrapper{padding-bottom:0}:host ::ng-deep .mat-form-field.mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-outline{background:#f6f6f6;color:#e9e9e9}:host ::ng-deep .mat-form-field input.mat-input-element:disabled{color:#4d4d4d!important}"]}]}],Y.ctorParameters=function(){return[{type:r.ChangeDetectorRef},{type:m.DeviceDetectorService}]},Y.propDecorators={name:[{type:r.Input}],_disableErrorMessage:[{type:r.Input,args:["disableErrorMessage"]}],_min:[{type:r.Input,args:["min"]}],_max:[{type:r.Input,args:["max"]}],size:[{type:r.Input}],form:[{type:r.Input}],type:[{type:r.Input}],disabled:[{type:r.Input}],required:[{type:r.Input}],label:[{type:r.Input}],placeholder:[{type:r.Input}],defaultTime:[{type:r.Input}],minDate:[{type:r.Input}],maxDate:[{type:r.Input}],validator:[{type:r.Input}],sdChange:[{type:r.Output}],model:[{type:r.Input}],modelChange:[{type:r.Output}]};var q=function(){};q.decorators=[{type:r.NgModule,args:[{imports:[a.CommonModule,n.FormsModule,n.ReactiveFormsModule,c.MatInputModule,b.MatIconModule,o.MatFormFieldModule,i.MatDatepickerModule,g.MatMomentDateModule,l.NgxMatDatetimePickerModule,l.NgxMatTimepickerModule,f.NgxMatMomentModule,p.SdTranslateModule],declarations:[Y],exports:[Y],providers:[]}]}],e.SdDateTime=Y,e.SdDateTimeModule=q,Object.defineProperty(e,"__esModule",{value:!0})}));
15
+ ***************************************************************************** */Object.create;var y,D,C;Object.create;function v(e,t){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return t.get(e)}function x(e,t,r){if(!t.has(e))throw new TypeError("attempted to set private field on non-instance");return t.set(e,r),r}var I={parse:{dateInput:"DD/MM/YYYY"},display:{dateInput:"DD/MM/YYYY",monthYearLabel:"MMM YYYY",dateA11yLabel:"LL",monthYearA11yLabel:"MMMM YYYY"}},k={parse:{dateInput:"DD/MM/YYYY HH:mm"},display:{dateInput:"DD/MM/YYYY HH:mm",monthYearLabel:"MMM YYYY",dateA11yLabel:"LL",monthYearA11yLabel:"MMMM YYYY"}},Y=function(){function e(e,t){var a=this;this.ref=e,this.id="I"+s.v4(),this.isMobileOrTablet=!1,y.set(this,void 0),D.set(this,s.v4()),this.disableErrorMessage=!1,this.dateControl=new n.FormControl,C.set(this,void 0),this.type="datetime",this.isRequired=!1,this.sdChange=new r.EventEmitter,this.modelChange=new r.EventEmitter,this.onBlur=function(){},this.onFocus=function(){a.isMobileOrTablet},this.onChange=function(e){var t,r,n=null===(t=e.value)||void 0===t?void 0:t.toDate();n?new Date(v(a,y))!==n&&(a.modelChange.emit(n),a.sdChange.emit(n)):(null===(r=a.dateControl)||void 0===r?void 0:r.value)||(a.modelChange.emit(null),a.sdChange.emit(null))},this.clear=function(e){null==e||e.stopPropagation(),v(a,y)&&(a.dateControl.setValue(null),a.modelChange.emit(null),a.sdChange.emit(null))},this.isMobileOrTablet=!t.isDesktop()}return Object.defineProperty(e.prototype,"name",{set:function(e){e&&x(this,D,e)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"_disableErrorMessage",{set:function(e){this.disableErrorMessage=""===e||e,e=""===e||e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"_min",{set:function(e){Date.isDate(e)?this.min=new Date(e):this.min=null},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"_max",{set:function(e){Date.isDate(e)?this.max=new Date(e):this.max=null},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"form",{set:function(e){e&&(e instanceof n.NgForm?x(this,C,e.form):x(this,C,e))},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"disabled",{set:function(e){(e=""===e||e)?this.dateControl.disable():this.dateControl.enable()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"required",{set:function(e){this.isRequired=""===e||e,this.isRequired?this.dateControl.setValidators([n.Validators.required]):this.dateControl.clearValidators()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"minDate",{set:function(e){Date.isDate(e)?this.min=new Date(e):this.min=null},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"maxDate",{set:function(e){Date.isDate(e)?this.max=new Date(e):this.max=null},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"model",{set:function(e){if(Date.isDate(e)||(e=null),v(this,y)!==e){x(this,y,e);var t=Date.isDate(v(this,y))?M.default(Date.toFormat(v(this,y),"MM/dd/yyyy HH:mm:ss"),"MM/DD/YYYY HH:mm:ss"):null;this.dateControl.setValue(t)}},enumerable:!1,configurable:!0}),e.prototype.ngOnDestroy=function(){var e;null===(e=v(this,C))||void 0===e||e.removeControl(v(this,D))},e.prototype.ngOnInit=function(){var e;null===(e=v(this,C))||void 0===e||e.addControl(v(this,D),this.dateControl)},e.prototype.ngAfterViewInit=function(){},e}();y=new WeakMap,D=new WeakMap,C=new WeakMap,Y.decorators=[{type:r.Component,args:[{selector:"sd-date-time",template:'<div class="d-flex align-items-center">\r\n <mat-form-field *ngIf="type === \'datetime\' || type === \'time\'" class="sd-md"\r\n [ngClass]="{ \'sd-sm\': size === \'sm\', \'no-padding-wrapper\': disableErrorMessage }" appearance="outline">\r\n <mat-label *ngIf="label">{{ label }}</mat-label>\r\n <input [id]="id" matInput (dateInput)="onChange($event)" [value]="date" (focus)="onFocus()" (blur)="onBlur()"\r\n [autocomplete]="id" autocorrect="off" [formControl]="dateControl" [ngxMatDatetimePicker]="picker1"\r\n placeholder="{{ placeholder || label }}" [min]="min" [required]="isRequired" [max]="max" />\r\n \x3c!-- <mat-icon class="pointer sd-suffix-icon" (click)="!dateControl?.disabled && picker1.open()" matSuffix>today\r\n </mat-icon> --\x3e\r\n <mat-icon *ngIf="dateControl?.value && !isRequired && !dateControl.disabled" class="pointer sd-suffix-icon"\r\n (click)="clear($event)" matSuffix>cancel\r\n </mat-icon>\r\n <mat-datepicker-toggle matSuffix [for]="picker1"></mat-datepicker-toggle>\r\n <ngx-mat-datetime-picker #picker1 [defaultTime]="defaultTime" [touchUi]="isMobileOrTablet" [showSpinners]="false">\r\n </ngx-mat-datetime-picker>\r\n\r\n <mat-error *ngIf="dateControl?.errors?.required && !disableErrorMessage">\r\n {{ "This field is required" | sdTranslate }}\r\n </mat-error>\r\n <mat-error *ngIf="dateControl?.errors?.matDatetimePickerMin && !disableErrorMessage">\r\n {{ "Min date" | sdTranslate }}:\r\n <strong>{{ min | date: "dd/MM/yyyy HH:mm" }}</strong>\r\n </mat-error>\r\n <mat-error *ngIf="dateControl?.errors?.matDatetimePickerMax && !disableErrorMessage">\r\n {{ "Max date" | sdTranslate }}:\r\n <strong>{{ max | date: "dd/MM/yyyy HH:mm" }}</strong>\r\n </mat-error>\r\n <mat-error *ngIf="dateControl?.errors?.matDatetimePickerParse && !disableErrorMessage">\r\n {{ "Parse error" | sdTranslate }}:\r\n <strong>{{ dateControl?.errors?.matDatetimePickerParse?.text }}</strong>\r\n </mat-error>\r\n <mat-error *ngIf="dateControl?.errors?.customValidator && !disableErrorMessage">\r\n <strong>{{ dateControl?.errors?.customValidator }}</strong>\r\n </mat-error>\r\n </mat-form-field>\r\n <mat-form-field *ngIf="type === \'date\'" class="sd-md"\r\n [ngClass]="{ \'sd-sm\': size === \'sm\' , \'no-padding-wrapper\': disableErrorMessage}" appearance="outline">\r\n <mat-label *ngIf="label">{{ label }}</mat-label>\r\n <input [id]="id" matInput (dateInput)="onChange($event)" (focus)="onFocus()" (blur)="onBlur()" [autocomplete]="id"\r\n autocorrect="off" [formControl]="dateControl" [required]="isRequired" [matDatepicker]="picker2"\r\n placeholder="{{ placeholder || label }}" [min]="min" [max]="max" />\r\n <mat-icon *ngIf="dateControl?.value && !isRequired && !dateControl.disabled" class="pointer sd-suffix-icon"\r\n (click)="clear($event)" matSuffix>cancel\r\n </mat-icon>\r\n\r\n <mat-icon class="pointer sd-suffix-icon" (click)="!dateControl?.disabled && picker2.open()" matSuffix>today\r\n </mat-icon>\r\n\r\n <mat-datepicker #picker2 [touchUi]="isMobileOrTablet"></mat-datepicker>\r\n\r\n <mat-error *ngIf="dateControl?.errors?.required && !disableErrorMessage">\r\n {{ "This field is required" | sdTranslate }}\r\n </mat-error>\r\n <mat-error *ngIf="dateControl?.errors?.customValidator && !disableErrorMessage">\r\n <strong>{{ dateControl?.errors?.customValidator }}</strong>\r\n </mat-error>\r\n </mat-form-field>\r\n \x3c!-- <ngx-mat-timepicker *ngIf="type === \'time\'" formControlName="name" [disabled]="disabled" showSpinners="false" stepHour="1"\r\n stepMinute="1" stepSecond="1">\r\n</ngx-mat-timepicker> --\x3e\r\n</div>',providers:[{provide:u.MAT_DATE_FORMATS,useValue:I},{provide:l.NGX_MAT_DATE_FORMATS,useValue:k}],styles:[":host{display:block;padding-top:5px}:host ::ng-deep .mat-form-field.no-padding-wrapper .mat-form-field-wrapper{padding-bottom:0}:host ::ng-deep .mat-form-field.mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-outline{background:#f6f6f6;color:#e9e9e9}:host ::ng-deep .mat-form-field input.mat-input-element:disabled{color:#4d4d4d!important}:host ::ng-deep .mat-form-field .mat-placeholder-required{color:#f82c13}"]}]}],Y.ctorParameters=function(){return[{type:r.ChangeDetectorRef},{type:m.DeviceDetectorService}]},Y.propDecorators={name:[{type:r.Input}],_disableErrorMessage:[{type:r.Input,args:["disableErrorMessage"]}],_min:[{type:r.Input,args:["min"]}],_max:[{type:r.Input,args:["max"]}],size:[{type:r.Input}],form:[{type:r.Input}],type:[{type:r.Input}],disabled:[{type:r.Input}],required:[{type:r.Input}],label:[{type:r.Input}],placeholder:[{type:r.Input}],defaultTime:[{type:r.Input}],minDate:[{type:r.Input}],maxDate:[{type:r.Input}],validator:[{type:r.Input}],sdChange:[{type:r.Output}],model:[{type:r.Input}],modelChange:[{type:r.Output}]};var q=function(){};q.decorators=[{type:r.NgModule,args:[{imports:[a.CommonModule,n.FormsModule,n.ReactiveFormsModule,c.MatInputModule,b.MatIconModule,o.MatFormFieldModule,i.MatDatepickerModule,g.MatMomentDateModule,l.NgxMatDatetimePickerModule,l.NgxMatTimepickerModule,f.NgxMatMomentModule,p.SdTranslateModule],declarations:[Y],exports:[Y],providers:[]}]}],e.SdDateTime=Y,e.SdDateTimeModule=q,Object.defineProperty(e,"__esModule",{value:!0})}));
16
16
  //# sourceMappingURL=sd-angular-core-date-time.umd.min.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../node_modules/tslib/tslib.es6.js","../../../../projects/sd-core/date-time/src/lib/date-time.component.ts","../../../../projects/sd-core/date-time/src/lib/date-time.module.ts"],"names":["Object","create","__classPrivateFieldGet","receiver","privateMap","has","TypeError","get","__classPrivateFieldSet","value","set","parse","dateInput","display","monthYearLabel","dateA11yLabel","monthYearA11yLabel","ɵ1","SdDateTime","ref","deviceService","_this","this","id","uuid.v4","isMobileOrTablet","_date","_name","disableErrorMessage","dateControl","FormControl","_form","type","isRequired","sdChange","EventEmitter","modelChange","onBlur","onFocus","onChange","event","_a","toDate","Date","emit","_b","clear","$event","stopPropagation","setValue","isDesktop","defineProperty","prototype","val","isDate","min","max","NgForm","form","disable","enable","setValidators","Validators","required","clearValidators","date","moment","toFormat","ngOnDestroy","removeControl","ngOnInit","addControl","ngAfterViewInit","Component","args","selector","template","providers","provide","MAT_DATE_FORMATS","useValue","ɵ0","NGX_MAT_DATE_FORMATS","ChangeDetectorRef","DeviceDetectorService","Input","Output","NgModule","imports","CommonModule","FormsModule","ReactiveFormsModule","MatInputModule","MatIconModule","MatFormFieldModule","MatDatepickerModule","MatMomentDateModule","NgxMatDatetimePickerModule","NgxMatTimepickerModule","NgxMatMomentModule","SdTranslateModule","declarations","exports"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import {\r\n Component,\r\n Input,\r\n EventEmitter,\r\n Output,\r\n OnDestroy,\r\n AfterViewInit,\r\n ChangeDetectorRef,\r\n OnInit,\r\n ViewChild\r\n} from '@angular/core';\r\nimport * as uuid from 'uuid';\r\nimport moment, { Moment } from 'moment';\r\nimport { FormControl, FormGroup, NgForm, Validators } from '@angular/forms';\r\nimport { DeviceDetectorService } from 'ngx-device-detector';\r\nimport { MatDatepickerInputEvent } from '@angular/material/datepicker';\r\nimport { NGX_MAT_DATE_FORMATS, } from '@angular-material-components/datetime-picker';\r\nimport { MAT_DATE_FORMATS } from '@angular/material/core';\r\nimport '@sd-angular/core/typing';\r\n\r\nconst CUSTOM_DATETIME_FORMATS = {\r\n parse: {\r\n dateInput: 'DD/MM/YYYY HH:mm'\r\n },\r\n display: {\r\n dateInput: 'DD/MM/YYYY HH:mm',\r\n monthYearLabel: 'MMM YYYY',\r\n dateA11yLabel: 'LL',\r\n monthYearA11yLabel: 'MMMM YYYY'\r\n }\r\n};\r\nconst CUSTOM_DATE_FORMATS = {\r\n parse: {\r\n dateInput: 'DD/MM/YYYY'\r\n },\r\n display: {\r\n dateInput: 'DD/MM/YYYY',\r\n monthYearLabel: 'MMM YYYY',\r\n dateA11yLabel: 'LL',\r\n monthYearA11yLabel: 'MMMM YYYY'\r\n }\r\n};\r\n@Component({\r\n selector: 'sd-date-time',\r\n templateUrl: './date-time.component.html',\r\n styleUrls: ['./date-time.component.scss'],\r\n providers: [\r\n { provide: MAT_DATE_FORMATS, useValue: CUSTOM_DATE_FORMATS },\r\n { provide: NGX_MAT_DATE_FORMATS, useValue: CUSTOM_DATETIME_FORMATS }\r\n ]\r\n})\r\nexport class SdDateTime implements OnDestroy, OnInit, AfterViewInit {\r\n id = `I${uuid.v4()}`;\r\n isMobileOrTablet = false;\r\n #date: any;\r\n #name = uuid.v4();\r\n @Input() set name(val: string) {\r\n if (val) {\r\n this.#name = val;\r\n }\r\n }\r\n disableErrorMessage = false;\r\n @Input('disableErrorMessage') set _disableErrorMessage(val: boolean | '') {\r\n this.disableErrorMessage = (val === '') || val;\r\n val = (val === '') || val;\r\n }\r\n dateControl = new FormControl();\r\n min: Date;\r\n @Input('min') set _min(val: string | Date) {\r\n if (Date.isDate(val)) {\r\n this.min = new Date(val);\r\n } else {\r\n this.min = null;\r\n }\r\n }\r\n max: Date;\r\n @Input('max') set _max(val: string | Date) {\r\n if (Date.isDate(val)) {\r\n this.max = new Date(val);\r\n } else {\r\n this.max = null;\r\n }\r\n }\r\n @Input() size: 'sm' | 'lg';\r\n #form: FormGroup;\r\n @Input() set form(val: NgForm | FormGroup) {\r\n if (val) {\r\n if (val instanceof NgForm) {\r\n this.#form = val.form;\r\n } else {\r\n this.#form = val;\r\n }\r\n }\r\n }\r\n @Input() type: 'datetime' | 'date' | 'time' = 'datetime';\r\n @Input() set disabled(val: boolean | '') {\r\n val = (val === '') || val;\r\n if (val) {\r\n this.dateControl.disable();\r\n } else {\r\n this.dateControl.enable();\r\n }\r\n }\r\n isRequired = false;\r\n @Input() set required(val: boolean | '') {\r\n this.isRequired = (val === '') || val;\r\n if (this.isRequired) {\r\n this.dateControl.setValidators([Validators.required]);\r\n } else {\r\n this.dateControl.clearValidators();\r\n }\r\n }\r\n @Input() label: string;\r\n @Input() placeholder: string;\r\n @Input() defaultTime: any;\r\n @Input() set minDate(val: string | Date) {\r\n if (Date.isDate(val)) {\r\n this.min = new Date(val);\r\n } else {\r\n this.min = null;\r\n }\r\n }\r\n @Input() set maxDate(val: string | Date) {\r\n if (Date.isDate(val)) {\r\n this.max = new Date(val);\r\n } else {\r\n this.max = null;\r\n }\r\n }\r\n @Input() validator: (value: any) => string | Promise<string>;\r\n @Output() sdChange = new EventEmitter();\r\n date: any;\r\n\r\n @Input() set model(val: any) {\r\n if (!Date.isDate(val)) {\r\n val = null;\r\n }\r\n if (this.#date !== val) {\r\n this.#date = val;\r\n const date = Date.isDate(this.#date) ? moment(Date.toFormat(this.#date, 'MM/dd/yyyy HH:mm:ss'), 'MM/DD/YYYY HH:mm:ss') : null;\r\n this.dateControl.setValue(date);\r\n }\r\n }\r\n @Output() modelChange = new EventEmitter();\r\n constructor(\r\n private ref: ChangeDetectorRef,\r\n deviceService: DeviceDetectorService) {\r\n this.isMobileOrTablet = !deviceService.isDesktop();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.#form?.removeControl(this.#name);\r\n }\r\n\r\n ngOnInit() {\r\n this.#form?.addControl(this.#name, this.dateControl);\r\n }\r\n\r\n ngAfterViewInit() {\r\n }\r\n\r\n onBlur = () => {\r\n // const value = this.dateControl.value?.toDate();\r\n // if (value) {\r\n // if (new Date(this.#date) !== value) {\r\n // this.modelChange.emit(value);\r\n // this.sdChange.emit(value);\r\n // }\r\n // } else {\r\n // if (!this.dateControl?.value) {\r\n // this.modelChange.emit(null);\r\n // this.sdChange.emit(null);\r\n // }\r\n // }\r\n }\r\n\r\n onFocus = () => {\r\n if (this.isMobileOrTablet) {\r\n // $(this.control.nativeElement).trigger('blur');\r\n }\r\n }\r\n\r\n onChange = (event: MatDatepickerInputEvent<Moment>) => {\r\n const value = event.value?.toDate();\r\n if (value) {\r\n if (new Date(this.#date) !== value) {\r\n this.modelChange.emit(value);\r\n this.sdChange.emit(value);\r\n }\r\n } else {\r\n if (!this.dateControl?.value) {\r\n this.modelChange.emit(null);\r\n this.sdChange.emit(null);\r\n }\r\n }\r\n }\r\n\r\n clear = ($event: any) => {\r\n $event?.stopPropagation();\r\n if (this.#date) {\r\n this.dateControl.setValue(null);\r\n this.modelChange.emit(null);\r\n this.sdChange.emit(null);\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport {\r\n NgxMatDatetimePickerModule,\r\n NgxMatTimepickerModule\r\n} from '@angular-material-components/datetime-picker';\r\nimport { SdDateTime } from './date-time.component';\r\nimport { SdTranslateModule } from '@sd-angular/core/translate';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { NgxMatMomentModule } from '@angular-material-components/moment-adapter';\r\nimport { MatMomentDateModule } from '@angular/material-moment-adapter';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport '@sd-angular/core/typing';\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n MatInputModule,\r\n MatIconModule,\r\n MatFormFieldModule,\r\n MatDatepickerModule,\r\n MatMomentDateModule,\r\n NgxMatDatetimePickerModule,\r\n NgxMatTimepickerModule,\r\n NgxMatMomentModule,\r\n SdTranslateModule\r\n ],\r\n declarations: [\r\n SdDateTime\r\n ],\r\n exports: [\r\n SdDateTime\r\n ],\r\n providers: [\r\n ]\r\n})\r\nexport class SdDateTimeModule {\r\n\r\n}\r\n"]}
1
+ {"version":3,"sources":["../../../../node_modules/tslib/tslib.es6.js","../../../../projects/sd-core/date-time/src/lib/date-time.component.ts","../../../../projects/sd-core/date-time/src/lib/date-time.module.ts"],"names":["Object","create","__classPrivateFieldGet","receiver","privateMap","has","TypeError","get","__classPrivateFieldSet","value","set","parse","dateInput","display","monthYearLabel","dateA11yLabel","monthYearA11yLabel","ɵ1","SdDateTime","ref","deviceService","_this","this","id","uuid.v4","isMobileOrTablet","_date","_name","disableErrorMessage","dateControl","FormControl","_form","type","isRequired","sdChange","EventEmitter","modelChange","onBlur","onFocus","onChange","event","_a","toDate","Date","emit","_b","clear","$event","stopPropagation","setValue","isDesktop","defineProperty","prototype","val","isDate","min","max","NgForm","form","disable","enable","setValidators","Validators","required","clearValidators","date","moment","toFormat","ngOnDestroy","removeControl","ngOnInit","addControl","ngAfterViewInit","Component","args","selector","template","providers","provide","MAT_DATE_FORMATS","useValue","ɵ0","NGX_MAT_DATE_FORMATS","ChangeDetectorRef","DeviceDetectorService","Input","Output","NgModule","imports","CommonModule","FormsModule","ReactiveFormsModule","MatInputModule","MatIconModule","MatFormFieldModule","MatDatepickerModule","MatMomentDateModule","NgxMatDatetimePickerModule","NgxMatTimepickerModule","NgxMatMomentModule","SdTranslateModule","declarations","exports"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import {\r\n Component,\r\n Input,\r\n EventEmitter,\r\n Output,\r\n OnDestroy,\r\n AfterViewInit,\r\n ChangeDetectorRef,\r\n OnInit,\r\n ViewChild\r\n} from '@angular/core';\r\nimport * as uuid from 'uuid';\r\nimport moment, { Moment } from 'moment';\r\nimport { FormControl, FormGroup, NgForm, Validators } from '@angular/forms';\r\nimport { DeviceDetectorService } from 'ngx-device-detector';\r\nimport { MatDatepickerInputEvent } from '@angular/material/datepicker';\r\nimport { NGX_MAT_DATE_FORMATS, } from '@angular-material-components/datetime-picker';\r\nimport { MAT_DATE_FORMATS } from '@angular/material/core';\r\nimport '@sd-angular/core/typing';\r\n\r\nconst CUSTOM_DATETIME_FORMATS = {\r\n parse: {\r\n dateInput: 'DD/MM/YYYY HH:mm'\r\n },\r\n display: {\r\n dateInput: 'DD/MM/YYYY HH:mm',\r\n monthYearLabel: 'MMM YYYY',\r\n dateA11yLabel: 'LL',\r\n monthYearA11yLabel: 'MMMM YYYY'\r\n }\r\n};\r\nconst CUSTOM_DATE_FORMATS = {\r\n parse: {\r\n dateInput: 'DD/MM/YYYY'\r\n },\r\n display: {\r\n dateInput: 'DD/MM/YYYY',\r\n monthYearLabel: 'MMM YYYY',\r\n dateA11yLabel: 'LL',\r\n monthYearA11yLabel: 'MMMM YYYY'\r\n }\r\n};\r\n@Component({\r\n selector: 'sd-date-time',\r\n templateUrl: './date-time.component.html',\r\n styleUrls: ['./date-time.component.scss'],\r\n providers: [\r\n { provide: MAT_DATE_FORMATS, useValue: CUSTOM_DATE_FORMATS },\r\n { provide: NGX_MAT_DATE_FORMATS, useValue: CUSTOM_DATETIME_FORMATS }\r\n ]\r\n})\r\nexport class SdDateTime implements OnDestroy, OnInit, AfterViewInit {\r\n id = `I${uuid.v4()}`;\r\n isMobileOrTablet = false;\r\n #date: any;\r\n #name = uuid.v4();\r\n @Input() set name(val: string) {\r\n if (val) {\r\n this.#name = val;\r\n }\r\n }\r\n disableErrorMessage = false;\r\n @Input('disableErrorMessage') set _disableErrorMessage(val: boolean | '') {\r\n this.disableErrorMessage = (val === '') || val;\r\n val = (val === '') || val;\r\n }\r\n dateControl = new FormControl();\r\n min: Date;\r\n @Input('min') set _min(val: string | Date) {\r\n if (Date.isDate(val)) {\r\n this.min = new Date(val);\r\n } else {\r\n this.min = null;\r\n }\r\n }\r\n max: Date;\r\n @Input('max') set _max(val: string | Date) {\r\n if (Date.isDate(val)) {\r\n this.max = new Date(val);\r\n } else {\r\n this.max = null;\r\n }\r\n }\r\n @Input() size: 'sm' | 'lg';\r\n #form: FormGroup;\r\n @Input() set form(val: NgForm | FormGroup) {\r\n if (val) {\r\n if (val instanceof NgForm) {\r\n this.#form = val.form;\r\n } else {\r\n this.#form = val;\r\n }\r\n }\r\n }\r\n @Input() type: 'datetime' | 'date' | 'time' = 'datetime';\r\n @Input() set disabled(val: boolean | '') {\r\n val = (val === '') || val;\r\n if (val) {\r\n this.dateControl.disable();\r\n } else {\r\n this.dateControl.enable();\r\n }\r\n }\r\n isRequired = false;\r\n @Input() set required(val: boolean | '') {\r\n this.isRequired = (val === '') || val;\r\n if (this.isRequired) {\r\n this.dateControl.setValidators([Validators.required]);\r\n } else {\r\n this.dateControl.clearValidators();\r\n }\r\n }\r\n @Input() label: string;\r\n @Input() placeholder: string;\r\n @Input() defaultTime: any;\r\n @Input() set minDate(val: string | Date) {\r\n if (Date.isDate(val)) {\r\n this.min = new Date(val);\r\n } else {\r\n this.min = null;\r\n }\r\n }\r\n @Input() set maxDate(val: string | Date) {\r\n if (Date.isDate(val)) {\r\n this.max = new Date(val);\r\n } else {\r\n this.max = null;\r\n }\r\n }\r\n @Input() validator: (value: any) => string | Promise<string>;\r\n @Output() sdChange = new EventEmitter();\r\n date: any;\r\n\r\n @Input() set model(val: any) {\r\n if (!Date.isDate(val)) {\r\n val = null;\r\n }\r\n if (this.#date !== val) {\r\n this.#date = val;\r\n const date = Date.isDate(this.#date) ? moment(Date.toFormat(this.#date, 'MM/dd/yyyy HH:mm:ss'), 'MM/DD/YYYY HH:mm:ss') : null;\r\n this.dateControl.setValue(date);\r\n }\r\n }\r\n @Output() modelChange = new EventEmitter();\r\n constructor(\r\n private ref: ChangeDetectorRef,\r\n deviceService: DeviceDetectorService) {\r\n this.isMobileOrTablet = !deviceService.isDesktop();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.#form?.removeControl(this.#name);\r\n }\r\n\r\n ngOnInit() {\r\n this.#form?.addControl(this.#name, this.dateControl);\r\n }\r\n\r\n ngAfterViewInit() {\r\n }\r\n\r\n onBlur = () => {\r\n // const value = this.dateControl.value?.toDate();\r\n // if (value) {\r\n // if (new Date(this.#date) !== value) {\r\n // this.modelChange.emit(value);\r\n // this.sdChange.emit(value);\r\n // }\r\n // } else {\r\n // if (!this.dateControl?.value) {\r\n // this.modelChange.emit(null);\r\n // this.sdChange.emit(null);\r\n // }\r\n // }\r\n }\r\n\r\n onFocus = () => {\r\n if (this.isMobileOrTablet) {\r\n // $(this.control.nativeElement).trigger('blur');\r\n }\r\n }\r\n\r\n onChange = (event: MatDatepickerInputEvent<Moment>) => {\r\n const value = event.value?.toDate();\r\n if (value) {\r\n if (new Date(this.#date) !== value) {\r\n this.modelChange.emit(value);\r\n this.sdChange.emit(value);\r\n }\r\n } else {\r\n if (!this.dateControl?.value) {\r\n this.modelChange.emit(null);\r\n this.sdChange.emit(null);\r\n }\r\n }\r\n }\r\n\r\n clear = ($event: any) => {\r\n $event?.stopPropagation();\r\n if (this.#date) {\r\n this.dateControl.setValue(null);\r\n this.modelChange.emit(null);\r\n this.sdChange.emit(null);\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport {\r\n NgxMatDatetimePickerModule,\r\n NgxMatTimepickerModule\r\n} from '@angular-material-components/datetime-picker';\r\nimport { SdDateTime } from './date-time.component';\r\nimport { SdTranslateModule } from '@sd-angular/core/translate';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { NgxMatMomentModule } from '@angular-material-components/moment-adapter';\r\nimport { MatMomentDateModule } from '@angular/material-moment-adapter';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport '@sd-angular/core/typing';\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n MatInputModule,\r\n MatIconModule,\r\n MatFormFieldModule,\r\n MatDatepickerModule,\r\n MatMomentDateModule,\r\n NgxMatDatetimePickerModule,\r\n NgxMatTimepickerModule,\r\n NgxMatMomentModule,\r\n SdTranslateModule\r\n ],\r\n declarations: [\r\n SdDateTime\r\n ],\r\n exports: [\r\n SdDateTime\r\n ],\r\n providers: [\r\n ]\r\n})\r\nexport class SdDateTimeModule {\r\n\r\n}\r\n"]}
@@ -2721,7 +2721,7 @@
2721
2721
  SdDesktopCellView.decorators = [
2722
2722
  { type: core.Component, args: [{
2723
2723
  selector: 'sd-desktop-cell-view',
2724
- template: "<ng-container *ngIf=\"column && item\">\r\n <ng-container *ngIf=\"column.htmlTemplate;else useDefaultView\">\r\n <div (click)=\"column.click && column.click(item[column.field], item)\" style=\"overflow-wrap: break-word;\"\r\n [ngClass]=\"{'cursor-pointer':column.click}\"\r\n [innerHTML]=\"(item[column.field] | columnHtmlTemplate:item:column) | safeHtml\">\r\n </div>\r\n </ng-container>\r\n <ng-template #useDefaultView>\r\n <ng-container *sdLet=\"item[column.field] | columnBadge:item:column as badge\">\r\n <ng-container *ngIf=\"column.type === 'string'\">\r\n <ng-container *ngIf=\"!!badge\">\r\n <div *ngIf=\"!column.badgeType\" class=\"c-badge\" style=\"overflow-wrap: break-word;\" matTooltipPosition=\"above\"\r\n [matTooltip]=\"item[column.field] | columnTooltip:item:column\"\r\n [class]=\"{'c-secondary': badge === 'normal', 'c-info': badge === 'info', 'c-success': badge === 'success', 'c-danger': badge === 'danger', 'c-warning': badge === 'warning'}\">\r\n <span *ngIf=\"column.click\" class=\"pointer\"\r\n (click)=\"column.click(item[column.field], item)\">{{item[column.field] |\r\n columnTransform:item:column}}</span>\r\n <ng-container *ngIf=\"!column.click\">{{item[column.field] | columnTransform:item:column}}</ng-container>\r\n </div>\r\n <div *ngIf=\"column.badgeType === 'circle'\" style=\"min-width: 150px\"\r\n class=\"c-badge-circle d-flex align-items-center\"\r\n [class]=\"{'c-unknown': !badge, 'c-secondary': badge === 'normal', 'c-info': badge === 'info', 'c-success': badge === 'success', 'c-danger': badge === 'danger', 'c-warning': badge === 'warning'}\">\r\n <span *ngIf=\"badge\" class=\"material-icons-round c-material-icon mr-4\">\r\n fiber_manual_record\r\n </span>\r\n <span *ngIf=\"!badge\" class=\"material-icons-outlined c-material-icon mr-4\">\r\n fiber_manual_record\r\n </span>\r\n {{item[column.field] | columnTransform:item:column}}\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"!badge\">\r\n <div style=\"overflow-wrap: break-word;\" [matTooltip]=\"item[column.field] | columnTooltip:item:column\">\r\n <a *ngIf=\"column.click\" href=\"javascript:;\"\r\n (click)=\"column.click(item[column.field], item)\">{{item[column.field] | columnTransform:item:column}}</a>\r\n <ng-container *ngIf=\"!column.click\">{{item[column.field] | columnTransform:item:column}}</ng-container>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <div *ngIf=\"column.type === 'number'\">\r\n <a *ngIf=\"column.click\" href=\"javascript:;\"\r\n (click)=\"column.click(item[column.field], item)\">{{item[column.field] | columnTransform:item:column}}</a>\r\n <ng-container *ngIf=\"!column.click\">\r\n {{item[column.field] | columnTransform:item:column}}</ng-container>\r\n </div>\r\n <div *ngIf=\"column.type === 'date'\" matTooltipPosition=\"above\"\r\n [matTooltip]=\"item[column.field] | date:'dd/MM/yyyy'\">\r\n {{item[column.field] | sdTimeDifferent:'dd/MM/yyyy':column.option?.timeDifferent | async}}\r\n </div>\r\n <div *ngIf=\"column.type === 'datetime'\" matTooltipPosition=\"above\"\r\n [matTooltip]=\"item[column.field] | date:'dd/MM/yyyy HH:mm'\">\r\n {{item[column.field] | sdTimeDifferent:'dd/MM/yyyy HH:mm':column.option?.timeDifferent | async}}\r\n </div>\r\n <div *ngIf=\"column.type === 'time'\">\r\n {{item[column.field] | date:'HH:mm'}}\r\n </div>\r\n <div *ngIf=\"column.type === 'bool'\" class=\"align-middle text-center\">\r\n <span *ngIf=\"item[column.field]\" class=\"font-weight-bold c-color-success\">{{column.option?.displayOnTrue ||\r\n 'True'}}</span>\r\n <span *ngIf=\"!item[column.field]\" class=\"font-weight-bold c-color-danger\">{{column.option?.displayOnFalse ||\r\n 'False'}}</span>\r\n </div>\r\n <div *ngIf=\"column.type === 'values'\">\r\n <ng-container *ngIf=\"item[column.field] | columnValues:column:key | async; $implicit as valueData\">\r\n <div\r\n *ngIf=\"valueData[column.option?.colorField] || valueData[column.option?.backgroundColorField]; else elseNoStatus\"\r\n class=\"c-badge\"\r\n [ngStyle]=\"{'color':valueData[column.option?.colorField], 'background-color': valueData[column.option?.backgroundColorField]}\">\r\n {{valueData[column.option?.displayField]}}\r\n </div>\r\n <ng-template #elseNoStatus>\r\n <div class=\"text-left\">\r\n {{valueData[column.option?.displayField]}}\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n </div>\r\n <div *ngIf=\"column.type === 'image'\" class=\"align-middle text-center\">\r\n <img *ngIf=\"item[column.field]\" [src]=\"item[column.field] | columnTransform:item:column\"\r\n [width]=\"column.option?.width\" [height]=\"column.option?.height\" style=\"margin: 5px 0;object-fit: contain;\"\r\n (click)=\"column.click && column.click(item[column.field], item)\" [ngClass]=\"{'pointer':column.click}\">\r\n <mat-icon *ngIf=\"!item[column.field]\" class=\"c-img\" [ngClass]=\"{'pointer':column.click}\"\r\n (click)=\"column.click && column.click(item[column.field], item)\">image</mat-icon>\r\n </div>\r\n </ng-container>\r\n <sd-desktop-cell-children-view *ngIf=\"column.type === 'children'\" [key]=\"key\" [item]=\"item\" [column]=\"column\">\r\n </sd-desktop-cell-children-view>\r\n </ng-template>\r\n</ng-container>",
2724
+ template: "<ng-container *ngIf=\"column && item\">\r\n <ng-container *ngIf=\"column.htmlTemplate;else useDefaultView\">\r\n <div (click)=\"column.click && column.click(item[column.field], item)\" style=\"overflow-wrap: break-word;\"\r\n [ngClass]=\"{'cursor-pointer':column.click}\"\r\n [innerHTML]=\"(item[column.field] | columnHtmlTemplate:item:column) | safeHtml\">\r\n </div>\r\n </ng-container>\r\n <ng-template #useDefaultView>\r\n <ng-container *sdLet=\"item[column.field] | columnBadge:item:column as badge\">\r\n <ng-container *ngIf=\"column.type === 'string'\">\r\n <ng-container *ngIf=\"!!badge\">\r\n <div *ngIf=\"!column.badgeType\" class=\"c-badge\" style=\"overflow-wrap: break-word;\" matTooltipPosition=\"above\"\r\n [matTooltip]=\"item[column.field] | columnTooltip:item:column\"\r\n [class]=\"{'c-secondary': badge === 'normal', 'c-info': badge === 'info', 'c-success': badge === 'success', 'c-danger': badge === 'danger', 'c-warning': badge === 'warning'}\">\r\n <span *ngIf=\"column.click\" class=\"pointer\"\r\n (click)=\"column.click(item[column.field], item)\">{{item[column.field] |\r\n columnTransform:item:column}}</span>\r\n <ng-container *ngIf=\"!column.click\">{{item[column.field] | columnTransform:item:column}}</ng-container>\r\n </div>\r\n <div *ngIf=\"column.badgeType === 'circle'\" style=\"min-width: 150px\"\r\n class=\"c-badge-circle d-flex align-items-center\"\r\n [class]=\"{'c-unknown': !badge, 'c-secondary': badge === 'normal', 'c-info': badge === 'info', 'c-success': badge === 'success', 'c-danger': badge === 'danger', 'c-warning': badge === 'warning'}\">\r\n <span *ngIf=\"badge\" class=\"material-icons-round c-material-icon mr-4\">\r\n fiber_manual_record\r\n </span>\r\n <span *ngIf=\"!badge\" class=\"material-icons-outlined c-material-icon mr-4\">\r\n fiber_manual_record\r\n </span>\r\n {{item[column.field] | columnTransform:item:column}}\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"!badge\">\r\n <div style=\"overflow-wrap: break-word;\" [matTooltip]=\"item[column.field] | columnTooltip:item:column\">\r\n <a *ngIf=\"column.click\" href=\"javascript:;\"\r\n (click)=\"column.click(item[column.field], item)\">{{item[column.field] | columnTransform:item:column}}</a>\r\n <ng-container *ngIf=\"!column.click\">{{item[column.field] | columnTransform:item:column}}</ng-container>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <div *ngIf=\"column.type === 'number'\">\r\n <a *ngIf=\"column.click\" href=\"javascript:;\"\r\n (click)=\"column.click(item[column.field], item)\">{{item[column.field] | columnTransform:item:column}}</a>\r\n <ng-container *ngIf=\"!column.click\">\r\n {{item[column.field] | columnTransform:item:column}}</ng-container>\r\n </div>\r\n <div *ngIf=\"column.type === 'date'\" matTooltipPosition=\"above\"\r\n [matTooltip]=\"item[column.field] | date:'dd/MM/yyyy'\">\r\n {{item[column.field] | sdTimeDifferent:'dd/MM/yyyy':column.option?.timeDifferent | async}}\r\n </div>\r\n <div *ngIf=\"column.type === 'datetime'\" matTooltipPosition=\"above\"\r\n [matTooltip]=\"item[column.field] | date:'dd/MM/yyyy HH:mm'\">\r\n {{item[column.field] | sdTimeDifferent:'dd/MM/yyyy HH:mm':column.option?.timeDifferent | async}}\r\n </div>\r\n <div *ngIf=\"column.type === 'time'\">\r\n {{item[column.field] | date:'HH:mm'}}\r\n </div>\r\n <div *ngIf=\"column.type === 'bool'\" class=\"align-middle text-center\">\r\n <ng-container *ngIf=\"!!badge\">\r\n <div *ngIf=\"!column.badgeType\" class=\"c-badge\" style=\"overflow-wrap: break-word;\" matTooltipPosition=\"above\"\r\n [matTooltip]=\"item[column.field] | columnTooltip:item:column\"\r\n [class]=\"{'c-secondary': badge === 'normal', 'c-info': badge === 'info', 'c-success': badge === 'success', 'c-danger': badge === 'danger', 'c-warning': badge === 'warning'}\">\r\n <span *ngIf=\"column.click\" class=\"pointer\"\r\n (click)=\"column.click(item[column.field], item)\">{{item[column.field] |\r\n columnTransform:item:column}}</span>\r\n <ng-container *ngIf=\"!column.click\">{{item[column.field] | columnTransform:item:column}}</ng-container>\r\n </div>\r\n <div *ngIf=\"column.badgeType === 'circle'\" style=\"min-width: 150px\"\r\n class=\"c-badge-circle d-flex align-items-center\"\r\n [class]=\"{'c-unknown': !badge, 'c-secondary': badge === 'normal', 'c-info': badge === 'info', 'c-success': badge === 'success', 'c-danger': badge === 'danger', 'c-warning': badge === 'warning'}\">\r\n <span *ngIf=\"badge\" class=\"material-icons-round c-material-icon mr-4\">\r\n fiber_manual_record\r\n </span>\r\n <span *ngIf=\"!badge\" class=\"material-icons-outlined c-material-icon mr-4\">\r\n fiber_manual_record\r\n </span>\r\n {{item[column.field] | columnTransform:item:column}}\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"!badge\">\r\n <span *ngIf=\"item[column.field]\" class=\"font-weight-bold c-color-success\">{{item[column.field] | columnTransform:item:column}</span>\r\n <span *ngIf=\"!item[column.field]\" class=\"font-weight-bold c-color-danger\">{{item[column.field] | columnTransform:item:column}}</span>\r\n </ng-container>\r\n </div>\r\n <div *ngIf=\"column.type === 'values'\">\r\n <ng-container *ngIf=\"item[column.field] | columnValues:column:key | async; $implicit as valueData\">\r\n <div\r\n *ngIf=\"valueData[column.option?.colorField] || valueData[column.option?.backgroundColorField]; else elseNoStatus\"\r\n class=\"c-badge\"\r\n [ngStyle]=\"{'color':valueData[column.option?.colorField], 'background-color': valueData[column.option?.backgroundColorField]}\">\r\n {{valueData[column.option?.displayField]}}\r\n </div>\r\n <ng-template #elseNoStatus>\r\n <div class=\"text-left\">\r\n {{valueData[column.option?.displayField]}}\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n </div>\r\n <div *ngIf=\"column.type === 'image'\" class=\"align-middle text-center\">\r\n <img *ngIf=\"item[column.field]\" [src]=\"item[column.field] | columnTransform:item:column\"\r\n [width]=\"column.option?.width\" [height]=\"column.option?.height\" style=\"margin: 5px 0;object-fit: contain;\"\r\n (click)=\"column.click && column.click(item[column.field], item)\" [ngClass]=\"{'pointer':column.click}\">\r\n <mat-icon *ngIf=\"!item[column.field]\" class=\"c-img\" [ngClass]=\"{'pointer':column.click}\"\r\n (click)=\"column.click && column.click(item[column.field], item)\">image</mat-icon>\r\n </div>\r\n </ng-container>\r\n <sd-desktop-cell-children-view *ngIf=\"column.type === 'children'\" [key]=\"key\" [item]=\"item\" [column]=\"column\">\r\n </sd-desktop-cell-children-view>\r\n </ng-template>\r\n</ng-container>",
2725
2725
  styles: [".c-color-success{color:#4caf50}.c-color-danger{color:#f82c13}.c-img{font-size:30px;opacity:.5}.c-img.pointer:hover{opacity:.9}.c-badge{border-radius:20px;display:inline-block;margin-bottom:4px;padding:2px 12px;text-align:center}.c-badge.c-warning{background:#fff3e0;color:#ff9600}.c-badge.c-info{background:#e7e9ff;color:#2962ff}.c-badge.c-success{background:#e8f5e9;color:#4caf50}.c-badge.c-danger{background:#fee8e7;color:#f82c13}.c-badge.c-normal{background:rgba(0,0,0,.12);color:#000}.wes-status .c-material-icon{font-size:12px;height:12px;width:12px}.wes-status.text-secondary .c-material-icon{color:rgba(0,0,0,.5)}.c-badge-circle .c-material-icon{font-size:12px;height:12px;width:12px}.c-badge-circle.c-unknown{color:#212121}.c-badge-circle.c-unknown .c-material-icon{color:rgba(0,0,0,.5)}.c-badge-circle.c-secondary{color:#212121}.c-badge-circle.c-info{color:#2962ff}.c-badge-circle.c-success{color:#4caf50}.c-badge-circle.c-danger{color:#f82c13}.c-badge-circle.c-warning{color:#ff9600}"]
2726
2726
  },] }
2727
2727
  ];
@@ -2737,12 +2737,16 @@
2737
2737
  this.decimalPipe = decimalPipe;
2738
2738
  }
2739
2739
  SdColumnTransformPipe.prototype.transform = function (value, rowData, column) {
2740
+ var _a, _b;
2740
2741
  if (column === null || column === void 0 ? void 0 : column.transform) {
2741
2742
  return column.transform(value, rowData);
2742
2743
  }
2743
2744
  if (column.type === 'number' && Number.isNumber(value)) {
2744
2745
  return Number.toVNCurrency(value); // this.decimalPipe.transform(value, '1.0-2');
2745
2746
  }
2747
+ if (column.type === 'bool') {
2748
+ return value === true ? (((_a = column.option) === null || _a === void 0 ? void 0 : _a.displayOnTrue) || 'True') : (((_b = column.option) === null || _b === void 0 ? void 0 : _b.displayOnTrue) || 'False');
2749
+ }
2746
2750
  return value;
2747
2751
  };
2748
2752
  return SdColumnTransformPipe;