ecabs-components 0.0.61 → 0.0.63

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 (226) hide show
  1. package/esm2020/lib/ecabs-checkbox-toggle/ecabs-checkbox-toggle.component.mjs +17 -9
  2. package/esm2020/lib/ecabs-increment/ecabs-increment.component.mjs +2 -2
  3. package/esm2020/lib/ecabs-picker-header/ecabs-picker-header.component.mjs +2 -2
  4. package/fesm2015/ecabs-components.mjs +19 -11
  5. package/fesm2015/ecabs-components.mjs.map +1 -1
  6. package/fesm2020/ecabs-components.mjs +19 -11
  7. package/fesm2020/ecabs-components.mjs.map +1 -1
  8. package/lib/ecabs-checkbox-toggle/ecabs-checkbox-toggle.component.d.ts +3 -3
  9. package/package.json +1 -1
  10. package/assets/images/nothing-here.svg +0 -22
  11. package/lib/base/consts/date-mask.consts.ts +0 -70
  12. package/lib/base/directives/date-mask.directive.module.ts +0 -15
  13. package/lib/base/directives/date-mask.directive.ts +0 -58
  14. package/lib/base/directives/digits-only.directive.module.ts +0 -15
  15. package/lib/base/directives/digits-only.directive.ts +0 -129
  16. package/lib/base/directives/number-border.directive.module.ts +0 -14
  17. package/lib/base/directives/number-border.directive.ts +0 -57
  18. package/lib/base/element-base.ts +0 -72
  19. package/lib/base/element-wrapper/element-wrapper.component.html +0 -30
  20. package/lib/base/element-wrapper/element-wrapper.component.ts +0 -33
  21. package/lib/base/element-wrapper/element-wrapper.module.ts +0 -30
  22. package/lib/base/hint/hint.component.html +0 -1
  23. package/lib/base/hint/hint.component.scss +0 -0
  24. package/lib/base/hint/hint.component.ts +0 -12
  25. package/lib/base/hint/hint.module.ts +0 -13
  26. package/lib/base/validation/validation.component.html +0 -8
  27. package/lib/base/validation/validation.component.scss +0 -0
  28. package/lib/base/validation/validation.component.ts +0 -84
  29. package/lib/base/validation/validation.module.ts +0 -12
  30. package/lib/ecabs-active-status-filter/ecabs-active-status-filter.component.html +0 -14
  31. package/lib/ecabs-active-status-filter/ecabs-active-status-filter.component.scss +0 -16
  32. package/lib/ecabs-active-status-filter/ecabs-active-status-filter.component.ts +0 -23
  33. package/lib/ecabs-active-status-filter/ecabs-active-status-filter.module.ts +0 -13
  34. package/lib/ecabs-breadcrumb/ecabs-breadcrumb.component.html +0 -11
  35. package/lib/ecabs-breadcrumb/ecabs-breadcrumb.component.scss +0 -0
  36. package/lib/ecabs-breadcrumb/ecabs-breadcrumb.component.spec.ts +0 -24
  37. package/lib/ecabs-breadcrumb/ecabs-breadcrumb.component.ts +0 -12
  38. package/lib/ecabs-breadcrumb/ecabs-breadcrumb.module.ts +0 -12
  39. package/lib/ecabs-buttons/ecabs-buttons.component.html +0 -18
  40. package/lib/ecabs-buttons/ecabs-buttons.component.ts +0 -54
  41. package/lib/ecabs-buttons/ecabs-buttons.module.ts +0 -13
  42. package/lib/ecabs-checkbox-toggle/ecabs-checkbox-toggle.component.html +0 -27
  43. package/lib/ecabs-checkbox-toggle/ecabs-checkbox-toggle.component.scss +0 -15
  44. package/lib/ecabs-checkbox-toggle/ecabs-checkbox-toggle.component.ts +0 -86
  45. package/lib/ecabs-checkbox-toggle/ecabs-checkbox-toggle.module.ts +0 -21
  46. package/lib/ecabs-date-picker/components/ecabs-date-picker-header/ecabs-date-picker-header.component.html +0 -4
  47. package/lib/ecabs-date-picker/components/ecabs-date-picker-header/ecabs-date-picker-header.component.scss +0 -0
  48. package/lib/ecabs-date-picker/components/ecabs-date-picker-header/ecabs-date-picker-header.component.spec.ts +0 -23
  49. package/lib/ecabs-date-picker/components/ecabs-date-picker-header/ecabs-date-picker-header.component.ts +0 -11
  50. package/lib/ecabs-date-picker/ecabs-date-picker.component.html +0 -31
  51. package/lib/ecabs-date-picker/ecabs-date-picker.component.scss +0 -10
  52. package/lib/ecabs-date-picker/ecabs-date-picker.component.spec.ts +0 -24
  53. package/lib/ecabs-date-picker/ecabs-date-picker.component.ts +0 -72
  54. package/lib/ecabs-date-picker/ecabs-date-picker.module.ts +0 -28
  55. package/lib/ecabs-date-range-picker/components/ecabs-date-range-picker-header/ecabs-date-range-picker-header.component.html +0 -4
  56. package/lib/ecabs-date-range-picker/components/ecabs-date-range-picker-header/ecabs-date-range-picker-header.component.scss +0 -1
  57. package/lib/ecabs-date-range-picker/components/ecabs-date-range-picker-header/ecabs-date-range-picker-header.component.spec.ts +0 -23
  58. package/lib/ecabs-date-range-picker/components/ecabs-date-range-picker-header/ecabs-date-range-picker-header.component.ts +0 -11
  59. package/lib/ecabs-date-range-picker/ecabs-date-range-picker.component.html +0 -31
  60. package/lib/ecabs-date-range-picker/ecabs-date-range-picker.component.scss +0 -23
  61. package/lib/ecabs-date-range-picker/ecabs-date-range-picker.component.spec.ts +0 -23
  62. package/lib/ecabs-date-range-picker/ecabs-date-range-picker.component.ts +0 -113
  63. package/lib/ecabs-date-range-picker/ecabs-date-range-picker.module.ts +0 -48
  64. package/lib/ecabs-date-time-picker/components/ecabs-date-time-picker-header/ecabs-date-time-picker-header.component.html +0 -4
  65. package/lib/ecabs-date-time-picker/components/ecabs-date-time-picker-header/ecabs-date-time-picker-header.component.scss +0 -14
  66. package/lib/ecabs-date-time-picker/components/ecabs-date-time-picker-header/ecabs-date-time-picker-header.component.ts +0 -11
  67. package/lib/ecabs-date-time-picker/ecabs-date-time-picker.component.html +0 -87
  68. package/lib/ecabs-date-time-picker/ecabs-date-time-picker.component.scss +0 -68
  69. package/lib/ecabs-date-time-picker/ecabs-date-time-picker.component.spec.ts +0 -23
  70. package/lib/ecabs-date-time-picker/ecabs-date-time-picker.component.ts +0 -185
  71. package/lib/ecabs-date-time-picker/ecabs-date-time-picker.module.ts +0 -36
  72. package/lib/ecabs-date-time-range-picker/components/ecabs-date-time-range-picker-header/ecabs-date-time-range-picker-header.component.html +0 -4
  73. package/lib/ecabs-date-time-range-picker/components/ecabs-date-time-range-picker-header/ecabs-date-time-range-picker-header.component.scss +0 -11
  74. package/lib/ecabs-date-time-range-picker/components/ecabs-date-time-range-picker-header/ecabs-date-time-range-picker-header.component.spec.ts +0 -23
  75. package/lib/ecabs-date-time-range-picker/components/ecabs-date-time-range-picker-header/ecabs-date-time-range-picker-header.component.ts +0 -10
  76. package/lib/ecabs-date-time-range-picker/ecabs-date-time-range-picker.component.html +0 -107
  77. package/lib/ecabs-date-time-range-picker/ecabs-date-time-range-picker.component.scss +0 -51
  78. package/lib/ecabs-date-time-range-picker/ecabs-date-time-range-picker.component.spec.ts +0 -24
  79. package/lib/ecabs-date-time-range-picker/ecabs-date-time-range-picker.component.ts +0 -206
  80. package/lib/ecabs-date-time-range-picker/ecabs-date-time-range-picker.module.ts +0 -37
  81. package/lib/ecabs-date-time-range-picker/time-range.directive.ts +0 -38
  82. package/lib/ecabs-dialog-confirm/ecabs-dialog-confirm.component.html +0 -32
  83. package/lib/ecabs-dialog-confirm/ecabs-dialog-confirm.component.scss +0 -24
  84. package/lib/ecabs-dialog-confirm/ecabs-dialog-confirm.component.ts +0 -57
  85. package/lib/ecabs-dialog-confirm/ecabs-dialog-confirm.module.ts +0 -12
  86. package/lib/ecabs-dialog-message/ecabs-dialog-message.component.html +0 -27
  87. package/lib/ecabs-dialog-message/ecabs-dialog-message.component.scss +0 -25
  88. package/lib/ecabs-dialog-message/ecabs-dialog-message.component.spec.ts +0 -38
  89. package/lib/ecabs-dialog-message/ecabs-dialog-message.component.ts +0 -49
  90. package/lib/ecabs-dialog-message/ecabs-dialog-message.module.ts +0 -12
  91. package/lib/ecabs-empty-placeholder/ecabs-empty-placeholder.component.html +0 -9
  92. package/lib/ecabs-empty-placeholder/ecabs-empty-placeholder.component.scss +0 -0
  93. package/lib/ecabs-empty-placeholder/ecabs-empty-placeholder.component.spec.ts +0 -34
  94. package/lib/ecabs-empty-placeholder/ecabs-empty-placeholder.component.ts +0 -22
  95. package/lib/ecabs-empty-placeholder/ecabs-empty-placeholder.module.ts +0 -11
  96. package/lib/ecabs-expansion-panel/ecabs-expansion-panel.component.html +0 -33
  97. package/lib/ecabs-expansion-panel/ecabs-expansion-panel.component.scss +0 -79
  98. package/lib/ecabs-expansion-panel/ecabs-expansion-panel.component.spec.ts +0 -26
  99. package/lib/ecabs-expansion-panel/ecabs-expansion-panel.component.ts +0 -77
  100. package/lib/ecabs-expansion-panel/ecabs-expansion-panel.module.ts +0 -16
  101. package/lib/ecabs-increment/ecabs-increment.component.html +0 -18
  102. package/lib/ecabs-increment/ecabs-increment.component.scss +0 -33
  103. package/lib/ecabs-increment/ecabs-increment.component.ts +0 -74
  104. package/lib/ecabs-increment/ecabs-increment.module.ts +0 -16
  105. package/lib/ecabs-input/ecabs-input.component.html +0 -27
  106. package/lib/ecabs-input/ecabs-input.component.ts +0 -86
  107. package/lib/ecabs-input/ecabs-input.module.ts +0 -14
  108. package/lib/ecabs-language-selector/ecabs-language-selector.component.html +0 -17
  109. package/lib/ecabs-language-selector/ecabs-language-selector.component.scss +0 -24
  110. package/lib/ecabs-language-selector/ecabs-language-selector.component.ts +0 -56
  111. package/lib/ecabs-language-selector/ecabs-language-selector.module.ts +0 -21
  112. package/lib/ecabs-loading/ecabs-loading.component.html +0 -7
  113. package/lib/ecabs-loading/ecabs-loading.component.spec.ts +0 -24
  114. package/lib/ecabs-loading/ecabs-loading.component.ts +0 -11
  115. package/lib/ecabs-loading/ecabs-loading.module.ts +0 -11
  116. package/lib/ecabs-loading/spinner/spinner.component.html +0 -5
  117. package/lib/ecabs-loading/spinner/spinner.component.scss +0 -61
  118. package/lib/ecabs-loading/spinner/spinner.component.spec.ts +0 -24
  119. package/lib/ecabs-loading/spinner/spinner.component.ts +0 -11
  120. package/lib/ecabs-note/ecabs-note.component.html +0 -10
  121. package/lib/ecabs-note/ecabs-note.component.scss +0 -29
  122. package/lib/ecabs-note/ecabs-note.component.ts +0 -27
  123. package/lib/ecabs-note/ecabs-note.module.ts +0 -11
  124. package/lib/ecabs-phone/ecabs-phone.component.html +0 -17
  125. package/lib/ecabs-phone/ecabs-phone.component.ts +0 -108
  126. package/lib/ecabs-phone/ecabs-phone.module.ts +0 -15
  127. package/lib/ecabs-picker-header/ecabs-picker-header.component.html +0 -12
  128. package/lib/ecabs-picker-header/ecabs-picker-header.component.scss +0 -12
  129. package/lib/ecabs-picker-header/ecabs-picker-header.component.ts +0 -61
  130. package/lib/ecabs-picker-header/ecabs-picker-header.module.ts +0 -15
  131. package/lib/ecabs-radio-button-list/ecabs-radio-button-list.component.html +0 -13
  132. package/lib/ecabs-radio-button-list/ecabs-radio-button-list.component.scss +0 -16
  133. package/lib/ecabs-radio-button-list/ecabs-radio-button-list.component.ts +0 -60
  134. package/lib/ecabs-radio-button-list/ecabs-radio-button-list.module.ts +0 -20
  135. package/lib/ecabs-select/ecabs-select.component.html +0 -38
  136. package/lib/ecabs-select/ecabs-select.component.ts +0 -346
  137. package/lib/ecabs-select/ecabs-select.module.ts +0 -37
  138. package/lib/ecabs-table/ecabs-table-filter-wrapper/ecabs-table-filter-wrapper.component.html +0 -7
  139. package/lib/ecabs-table/ecabs-table-filter-wrapper/ecabs-table-filter-wrapper.component.scss +0 -11
  140. package/lib/ecabs-table/ecabs-table-filter-wrapper/ecabs-table-filter-wrapper.component.spec.ts +0 -34
  141. package/lib/ecabs-table/ecabs-table-filter-wrapper/ecabs-table-filter-wrapper.component.ts +0 -14
  142. package/lib/ecabs-table/ecabs-table-filter-wrapper/ecabs-table-filter-wrapper.module.ts +0 -14
  143. package/lib/ecabs-table/ecabs-table.component.html +0 -26
  144. package/lib/ecabs-table/ecabs-table.component.scss +0 -6
  145. package/lib/ecabs-table/ecabs-table.component.spec.ts +0 -24
  146. package/lib/ecabs-table/ecabs-table.component.ts +0 -42
  147. package/lib/ecabs-table/ecabs-table.module.ts +0 -19
  148. package/lib/ecabs-textarea/ecabs-textarea.component.html +0 -13
  149. package/lib/ecabs-textarea/ecabs-textarea.component.ts +0 -61
  150. package/lib/ecabs-textarea/ecabs-textarea.module.ts +0 -12
  151. package/lib/ecabs-timepicker/componets/ecabs-time-list-panel/ecabs-time-list-panel.component.html +0 -16
  152. package/lib/ecabs-timepicker/componets/ecabs-time-list-panel/ecabs-time-list-panel.component.ts +0 -126
  153. package/lib/ecabs-timepicker/config.model.ts +0 -5
  154. package/lib/ecabs-timepicker/ecabs-timepicker.component.html +0 -36
  155. package/lib/ecabs-timepicker/ecabs-timepicker.component.scss +0 -5
  156. package/lib/ecabs-timepicker/ecabs-timepicker.component.ts +0 -330
  157. package/lib/ecabs-timepicker/ecabs-timepicker.module.ts +0 -12
  158. package/lib/ecabs-timepicker/ecabs-timepicker.service.ts +0 -28
  159. package/lib/ecabs-validation/ecabs-validation.component.html +0 -9
  160. package/lib/ecabs-validation/ecabs-validation.component.scss +0 -23
  161. package/lib/ecabs-validation/ecabs-validation.component.ts +0 -14
  162. package/lib/ecabs-validation/ecabs-validation.module.ts +0 -12
  163. package/lib/models/bread-crumb.ts +0 -5
  164. package/lib/models/language.models.ts +0 -0
  165. package/lib/models/timepicker.models.ts +0 -7
  166. package/lib/models/validation.models.ts +0 -4
  167. package/lib/services/ecabs-components.service.ts +0 -33
  168. package/public-api.ts +0 -58
  169. package/styles/material/_theme.scss +0 -99
  170. package/styles/material/overrides/_autocomplete.scss +0 -12
  171. package/styles/material/overrides/_button.scss +0 -81
  172. package/styles/material/overrides/_card.scss +0 -17
  173. package/styles/material/overrides/_chip.scss +0 -108
  174. package/styles/material/overrides/_datepicker.scss +0 -169
  175. package/styles/material/overrides/_dialog.scss +0 -8
  176. package/styles/material/overrides/_divider.scss +0 -3
  177. package/styles/material/overrides/_expansion.scss +0 -31
  178. package/styles/material/overrides/_form.scss +0 -52
  179. package/styles/material/overrides/_icon.scss +0 -3
  180. package/styles/material/overrides/_menu.scss +0 -3
  181. package/styles/material/overrides/_paginator.scss +0 -0
  182. package/styles/material/overrides/_phone.scss +0 -24
  183. package/styles/material/overrides/_select.scss +0 -70
  184. package/styles/material/overrides/_tab.scss +0 -23
  185. package/styles/material/overrides/_table.scss +0 -12
  186. package/styles/material/overrides/_toaster.scss +0 -38
  187. package/styles/material/overrides/_toggle.scss +0 -10
  188. package/styles/material/overrides/_tooltip.scss +0 -3
  189. package/styles/material/overrides/index.scss +0 -19
  190. package/styles/scss/base/_heading.scss +0 -17
  191. package/styles/scss/base/_normalize.scss +0 -78
  192. package/styles/scss/base/index.scss +0 -2
  193. package/styles/scss/modules/_autocomplete.scss +0 -29
  194. package/styles/scss/modules/_button.scss +0 -281
  195. package/styles/scss/modules/_card.scss +0 -23
  196. package/styles/scss/modules/_chip.scss +0 -56
  197. package/styles/scss/modules/_datepicker.scss +0 -422
  198. package/styles/scss/modules/_dialog.scss +0 -14
  199. package/styles/scss/modules/_divider.scss +0 -3
  200. package/styles/scss/modules/_form.scss +0 -221
  201. package/styles/scss/modules/_icon.scss +0 -30
  202. package/styles/scss/modules/_img.scss +0 -32
  203. package/styles/scss/modules/_legend.scss +0 -64
  204. package/styles/scss/modules/_list.scss +0 -17
  205. package/styles/scss/modules/_map.scss +0 -112
  206. package/styles/scss/modules/_percentage.scss +0 -33
  207. package/styles/scss/modules/_phone.scss +0 -24
  208. package/styles/scss/modules/_select.scss +0 -56
  209. package/styles/scss/modules/_statuses.scss +0 -31
  210. package/styles/scss/modules/_tab.scss +0 -16
  211. package/styles/scss/modules/_table.scss +0 -107
  212. package/styles/scss/modules/_timepicker.scss +0 -96
  213. package/styles/scss/modules/_toaster.scss +0 -53
  214. package/styles/scss/modules/_tooltip.scss +0 -7
  215. package/styles/scss/modules/drag-drop.scss +0 -31
  216. package/styles/scss/modules/index.scss +0 -23
  217. package/styles/scss/utilities/_colors.scss +0 -52
  218. package/styles/scss/utilities/_fonts.scss +0 -26
  219. package/styles/scss/utilities/_functions.scss +0 -27
  220. package/styles/scss/utilities/_helpers.scss +0 -5
  221. package/styles/scss/utilities/_mixins.scss +0 -65
  222. package/styles/scss/utilities/_variables.scss +0 -19
  223. package/styles/scss/utilities/index.scss +0 -6
  224. package/styles/styles.scss +0 -6
  225. package/styles/tailwind/index.scss +0 -756
  226. package/test.ts +0 -27
@@ -1,185 +0,0 @@
1
- import { DecimalPipe } from '@angular/common';
2
- import { AfterViewInit, Component, EventEmitter, Injector, Input, Output } from '@angular/core';
3
- import { format, isValid, parse, setHours, setMinutes, setSeconds } from 'date-fns';
4
- import { ControlValueAccessor, NG_VALUE_ACCESSOR, NgControl, UntypedFormControl } from '@angular/forms';
5
- import ElementBaseComponent from '../base/element-base';
6
- import { EcabsDateTimePickerHeaderComponent } from './components/ecabs-date-time-picker-header/ecabs-date-time-picker-header.component';
7
-
8
- @Component( {
9
- selector: 'ecabs-date-time-picker',
10
- templateUrl: './ecabs-date-time-picker.component.html',
11
- styleUrls: [ './ecabs-date-time-picker.component.scss' ],
12
- providers: [
13
- {
14
- provide: NG_VALUE_ACCESSOR,
15
- useExisting: EcabsDateTimePickerComponent,
16
- multi: true,
17
- },
18
- DecimalPipe,
19
- ],
20
- } )
21
- export class EcabsDateTimePickerComponent extends ElementBaseComponent implements ControlValueAccessor, AfterViewInit {
22
- @Input() minDate: Date;
23
- @Input() maxDate: Date;
24
- @Input() touchUi = false;
25
- @Input() hideSeconds = true;
26
- @Input() cancleLabel = 'Cancel';
27
- @Input() applyLabel = 'Apply';
28
- @Input() selectDateLabel = 'Select date and time';
29
-
30
- @Output() onblur = new EventEmitter<any>();
31
-
32
- _hours = '12';
33
- _minutes = '00';
34
- _seconds = '00';
35
- _date: Date;
36
- _pickerValue: string;
37
- val: Date;
38
- header = EcabsDateTimePickerHeaderComponent;
39
- maxValueHours = 23;
40
- maxValueMinutesSeconds = 59;
41
-
42
- get value(): Date {
43
- return this.val;
44
- }
45
-
46
- get pickerValue(): string {
47
- return this._pickerValue;
48
- }
49
-
50
- get hours(): string {
51
- return this._hours;
52
- }
53
-
54
- get minutes(): string {
55
- return this._minutes;
56
- }
57
-
58
- get seconds(): string {
59
- return this._seconds;
60
- }
61
-
62
- set hours( value: string ) {
63
- if ( value !== undefined && this._hours !== value ) {
64
- this._hours = this.roundNumber( +value );
65
- }
66
- }
67
-
68
- set minutes( value: string ) {
69
- if ( value !== undefined && this._minutes !== value ) {
70
- this._minutes = this.roundNumber( +value );
71
- }
72
- }
73
-
74
- set seconds( value: string ) {
75
- if ( value !== undefined && this._seconds !== value ) {
76
- this._seconds = this.roundNumber( +value );
77
- }
78
- }
79
-
80
- set value( val ) {
81
- if ( val && this.val !== new Date( val ) ) {
82
- this.val = new Date( val );
83
- this.pickerValue = this.formatDateTime( val );
84
- this.onChange( val );
85
- this.onTouch( val );
86
- }
87
- }
88
-
89
- set pickerValue( val: string ) {
90
- if ( val ) {
91
- const date = parse(
92
- val.replace( '_', '' ),
93
- this.hideSeconds ? `dd/MM/yyyy, HH:mm` : `dd/MM/yyyy, HH:mm:ss`,
94
- new Date()
95
- );
96
- if ( isValid( date ) && this._pickerValue !== val ) {
97
- this._pickerValue = val;
98
- this.value = date;
99
- }
100
- }
101
- }
102
-
103
- constructor( private readonly injector: Injector, private readonly decimalPipe: DecimalPipe ) {
104
- super();
105
- }
106
-
107
- ngAfterViewInit(): void {
108
- const ngControl: NgControl = this.injector.get( NgControl, null );
109
- if ( ngControl ) {
110
- this.control = ngControl.control as UntypedFormControl;
111
-
112
- setTimeout( () => {
113
- const controlDate = !!this.control.value ? new Date( this.control.value ) : new Date();
114
-
115
- if ( controlDate ) {
116
- this.setValues( controlDate );
117
- }
118
- }, 10 );
119
- }
120
- }
121
-
122
- onChange: any = () => { };
123
- onTouch: any = () => { };
124
-
125
- writeValue( value: any ): void {
126
- this.value = value;
127
- }
128
-
129
- registerOnChange( fn: any ): void {
130
- this.onChange = fn;
131
- }
132
-
133
- registerOnTouched( fn: any ): void {
134
- this.onTouch = fn;
135
- }
136
-
137
- blurChange( e: any ): void {
138
- this.onblur.emit( e );
139
- }
140
-
141
- onApply(): void {
142
- if ( this._date && this._seconds && this._minutes && this._hours ) {
143
- const date = setSeconds( setMinutes( setHours( new Date( this._date ), +this._hours ), +this._minutes ), +this._seconds );
144
-
145
- if ( this.minDate && date < this.minDate ) {
146
- this.setValues( this.minDate );
147
- this.value = this.minDate;
148
-
149
- return;
150
- }
151
-
152
- if ( this.maxDate && date > this.maxDate ) {
153
- this.setValues( this.maxDate );
154
- this.value = this.maxDate;
155
-
156
- return;
157
- }
158
-
159
- this.value = date;
160
- }
161
- }
162
-
163
- private formatDateTime( date: Date ): string {
164
- let result = '';
165
-
166
- if ( date && isValid( new Date( date ) ) ) {
167
- result = this.hideSeconds
168
- ? format( new Date( date ), `dd/MM/yyyy, HH:mm` )
169
- : format( new Date( date ), `dd/MM/yyyy, HH:mm:ss` );
170
- }
171
-
172
- return result;
173
- }
174
-
175
- private roundNumber( num: number ): string | null {
176
- return this.decimalPipe.transform( num, '2.0-0' ) ?? '00';
177
- }
178
-
179
- private setValues( date: Date ): void {
180
- this._date = date;
181
- this.hours = date.getHours().toString();
182
- this.minutes = date.getMinutes().toString();
183
- this.seconds = date.getSeconds().toString();
184
- }
185
- }
@@ -1,36 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { NgModule } from '@angular/core';
3
- import { FormsModule, ReactiveFormsModule } from '@angular/forms';
4
- import { MatButtonModule } from '@angular/material/button';
5
- import { MatDatepickerModule } from '@angular/material/datepicker';
6
- import { MatIconModule } from '@angular/material/icon';
7
- import { MaskDateDirectiveModule } from '../base/directives/date-mask.directive.module';
8
- import { DigitsOnlyDirectivesModule } from '../base/directives/digits-only.directive.module';
9
- import { NumberBorderDirectiveModule } from '../base/directives/number-border.directive.module';
10
-
11
- import { ElementWrapperModule } from '../base/element-wrapper/element-wrapper.module';
12
- import { EcabsButtonsModule } from '../ecabs-buttons/ecabs-buttons.module';
13
- import { EcabsPickerHeaderModule } from '../ecabs-picker-header/ecabs-picker-header.module';
14
- import { EcabsDateTimePickerHeaderComponent } from './components/ecabs-date-time-picker-header/ecabs-date-time-picker-header.component';
15
- import { EcabsDateTimePickerComponent } from './ecabs-date-time-picker.component';
16
-
17
-
18
- @NgModule( {
19
- declarations: [ EcabsDateTimePickerComponent, EcabsDateTimePickerHeaderComponent ],
20
- imports: [
21
- CommonModule,
22
- ElementWrapperModule,
23
- MatIconModule,
24
- MatDatepickerModule,
25
- MatButtonModule,
26
- FormsModule,
27
- ReactiveFormsModule,
28
- EcabsPickerHeaderModule,
29
- EcabsButtonsModule,
30
- DigitsOnlyDirectivesModule,
31
- NumberBorderDirectiveModule,
32
- MaskDateDirectiveModule
33
- ],
34
- exports: [ EcabsDateTimePickerComponent, EcabsDateTimePickerHeaderComponent ],
35
- } )
36
- export class EcabsDatetimePickerModule { }
@@ -1,4 +0,0 @@
1
- <div class="select-date-label text-xl font-semibold">
2
- {{ headerLabel }}
3
- </div>
4
- <ecabs-picker-header ></ecabs-picker-header>
@@ -1,11 +0,0 @@
1
- :host ::ng-deep {
2
- ecabs-picker-header{
3
- display: none !important;
4
- }
5
- }
6
-
7
- :host ::ng-deep {
8
- .mat-calendar{
9
- height: 50px !important;
10
- }
11
- }
@@ -1,23 +0,0 @@
1
- import { ComponentFixture, TestBed } from '@angular/core/testing';
2
-
3
- import { EcabsDateTimeRangePickerHeaderComponent } from './ecabs-date-time-range-picker-header.component';
4
-
5
- describe('FormDateTimeRangePickerHeaderComponent', () => {
6
- let component: EcabsDateTimeRangePickerHeaderComponent;
7
- let fixture: ComponentFixture<EcabsDateTimeRangePickerHeaderComponent>;
8
-
9
- beforeEach(async () => {
10
- await TestBed.configureTestingModule({
11
-
12
- declarations: [EcabsDateTimeRangePickerHeaderComponent],
13
- }).compileComponents();
14
-
15
- fixture = TestBed.createComponent(EcabsDateTimeRangePickerHeaderComponent);
16
- component = fixture.componentInstance;
17
- fixture.detectChanges();
18
- });
19
-
20
- it('should create', () => {
21
- expect(component).toBeTruthy();
22
- });
23
- });
@@ -1,10 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
-
3
- @Component({
4
- selector: 'ecabs-date-time-range-picker-header',
5
- templateUrl: './ecabs-date-time-range-picker-header.component.html',
6
- styleUrls: ['./ecabs-date-time-range-picker-header.component.scss'],
7
- })
8
- export class EcabsDateTimeRangePickerHeaderComponent {
9
- @Input() headerLabel = 'Applicable times';
10
- }
@@ -1,107 +0,0 @@
1
- <app-element-wrapper [data]="getData()">
2
- <div class="form-field__input--wrapper w-full">
3
- <input
4
- class="fake-input"
5
- [id]="_date"
6
- [(ngModel)]="_date"
7
- [placeholder]="placeholder"
8
- [disabled]="disabled || controlDate?.disabled"
9
- [matDatepicker]="picker"
10
- (blur)="onTouch()"
11
- />
12
- <mat-datepicker (opened)="opened()" #picker [calendarHeaderComponent]="header" [touchUi]="touchUi">
13
-
14
- <mat-datepicker-actions>
15
- <div class="flex flex-col w-full gap-y-4">
16
- <div class="flex gap-2 justify-center items-center">
17
- <div class="flex flex-col justify-center">
18
- <div class="text-center">{{from}}</div>
19
- <div class="flex gap-2 justify-center items-center">
20
- <input
21
- class="block form-field__input time"
22
- appDigitsOnly
23
- appNumberBorder
24
- [digitsOnly]="true"
25
- [id]="hoursFrom"
26
- [maxValue]="maxValueHours"
27
- [(ngModel)]="hoursFrom"
28
- />
29
-
30
- <span class="font-bold">:</span>
31
- <input
32
- class="form-field__input time"
33
- [id]="minutesFrom"
34
- [(ngModel)]="minutesFrom"
35
- appDigitsOnly
36
- appNumberBorder
37
- [digitsOnly]="true"
38
- [maxValue]="maxValueMinutesSeconds"
39
- />
40
- </div>
41
- </div>
42
- </div>
43
- <div class="time--inputs"></div>
44
- <div class="flex gap-2 justify-center items-center mb-5">
45
- <div class="flex flex-col justify-center">
46
- <div class="text-center">{{to}}</div>
47
- <div class="flex gap-2 justify-center items-center">
48
- <input
49
- class="form-field__input time"
50
- appDigitsOnly
51
- appNumberBorder
52
- [digitsOnly]="true"
53
- [id]="hoursTo"
54
- [maxValue]="maxValueHours"
55
- [(ngModel)]="hoursTo"
56
- />
57
- <span class="font-bold">:</span>
58
- <input
59
- class="form-field__input time"
60
- [id]="minutesTo"
61
- [(ngModel)]="minutesTo"
62
- appDigitsOnly
63
- appNumberBorder
64
- [digitsOnly]="true"
65
- [maxValue]="maxValueMinutesSeconds"
66
- />
67
- </div>
68
- </div>
69
- </div>
70
- <div class="grid-picker-actions">
71
- <button type="button" mat-stroked-button class="w-full cancel-button" color="primary" matDatepickerCancel>
72
- {{ cancleLabel }}
73
- </button>
74
-
75
- <button
76
- type="button"
77
- mat-button
78
- class="w-full ml-0 apply-button"
79
- color="primary"
80
- matDatepickerApply
81
- (click)="onApply()"
82
- >
83
- {{ applyLabel }}
84
- </button>
85
- </div>
86
- </div>
87
- </mat-datepicker-actions>
88
- </mat-datepicker>
89
- <input
90
- class="form-field__input w-full date-input"
91
- [id]="name"
92
- [(ngModel)]="pickerValue"
93
- [placeholder]="placeholder"
94
- [disabled]="disabled || controlDate?.disabled"
95
- appTimeRange
96
- [all]="all"
97
- (blur)="onTouch()"
98
- (blur)="blurChange($event)"
99
- (keyup)="blurChange($event)"
100
- (keydown)="keydownChange($event)"
101
- />
102
- <button type="button" class="datepicker-toggle" (click)="picker.open()">
103
- <mat-icon>access_time</mat-icon>
104
- </button>
105
- </div>
106
- </app-element-wrapper>
107
-
@@ -1,51 +0,0 @@
1
- @import "./../../styles/scss/utilities/helpers";
2
-
3
- .datepicker-toggle {
4
- transform: translateX(-1.75rem);
5
- }
6
-
7
- .time {
8
- width: 3.375rem;
9
- }
10
-
11
- .fake-input {
12
- visibility: hidden;
13
- width: 0;
14
- padding: 0;
15
- }
16
-
17
- .date-input {
18
- margin: 0rem -0.25rem 0rem 0.125rem;
19
- }
20
-
21
- .time--inputs {
22
- position: relative;
23
- margin-bottom: 2.4rem;
24
-
25
- &::after {
26
- @extend %pseudos;
27
- height: 1px;
28
- right: 0;
29
- left: 0;
30
- background-color: var(--color-gray-300);
31
- }
32
-
33
- &::after {
34
- bottom: -1.6rem;
35
- }
36
- }
37
-
38
- :host ::ng-deep {
39
- .form-field {
40
- margin-right: -1.25rem;
41
- margin-left: -0.125rem;
42
- }
43
- }
44
-
45
- :host ::ng-deep {
46
- .mat-datepicker-content .mat-calendar{
47
- height: 50px !important;
48
- }
49
- }
50
-
51
-
@@ -1,24 +0,0 @@
1
- import { DecimalPipe } from '@angular/common';
2
- import { ComponentFixture, TestBed } from '@angular/core/testing';
3
-
4
- import { EcabsDateTimeRangePickerComponent } from './ecabs-date-time-range-picker.component';
5
-
6
- describe('FormDateTimeRangePickerComponent', () => {
7
- let component: EcabsDateTimeRangePickerComponent;
8
- let fixture: ComponentFixture<EcabsDateTimeRangePickerComponent>;
9
-
10
- beforeEach(async () => {
11
- await TestBed.configureTestingModule({
12
- declarations: [EcabsDateTimeRangePickerComponent],
13
- providers: [DecimalPipe],
14
- }).compileComponents();
15
-
16
- fixture = TestBed.createComponent(EcabsDateTimeRangePickerComponent);
17
- component = fixture.componentInstance;
18
- fixture.detectChanges();
19
- });
20
-
21
- it('should create', () => {
22
- expect(component).toBeTruthy();
23
- });
24
- });
@@ -1,206 +0,0 @@
1
- import { DecimalPipe } from '@angular/common';
2
- import { AfterViewInit, Component, EventEmitter, Injector, Input, Output } from '@angular/core';
3
- import { ControlValueAccessor, NG_VALUE_ACCESSOR, NgControl, UntypedFormControl } from '@angular/forms';
4
- import ElementBaseComponent from '../base/element-base';
5
- import { EcabsDateTimeRangePickerHeaderComponent } from './components/ecabs-date-time-range-picker-header/ecabs-date-time-range-picker-header.component';
6
-
7
- @Component({
8
- selector: 'ecabs-date-time-range-picker',
9
- templateUrl: './ecabs-date-time-range-picker.component.html',
10
- styleUrls: ['./ecabs-date-time-range-picker.component.scss'],
11
- providers: [
12
- {
13
- provide: NG_VALUE_ACCESSOR,
14
- useExisting: EcabsDateTimeRangePickerComponent,
15
- multi: true,
16
- },
17
- DecimalPipe,
18
- ],
19
- })
20
- export class EcabsDateTimeRangePickerComponent
21
- extends ElementBaseComponent
22
- implements ControlValueAccessor, AfterViewInit {
23
- @Input() touchUi = false;
24
-
25
- @Output() onblur = new EventEmitter<any>();
26
-
27
-
28
- @Input() cancleLabel = 'Cancel';
29
- @Input() applyLabel = 'Apply';
30
- @Input() all = 'All';
31
- @Input() from = 'From';
32
- @Input() to = 'To';
33
-
34
-
35
-
36
- _hoursFrom = '12';
37
- _minutesFrom = '00';
38
- _hoursTo = '12';
39
- _minutesTo = '00';
40
- _seconds = '00';
41
- _date: string;
42
- _pickerValue: string;
43
- val: string;
44
- header = EcabsDateTimeRangePickerHeaderComponent;
45
- maxValueHours = 23;
46
- maxValueMinutesSeconds = 59;
47
- controlDate: UntypedFormControl;
48
-
49
- get value(): string {
50
- return this.val;
51
- }
52
-
53
- get pickerValue(): string {
54
- return this._pickerValue;
55
- }
56
-
57
- get hoursFrom(): string {
58
- return this._hoursFrom;
59
- }
60
-
61
- get minutesFrom(): string {
62
- return this._minutesFrom;
63
- }
64
-
65
- get hoursTo(): string {
66
- return this._hoursTo;
67
- }
68
-
69
- get minutesTo(): string {
70
- return this._minutesTo;
71
- }
72
-
73
- get seconds(): string {
74
- return this._seconds;
75
- }
76
-
77
- set hoursFrom(value: string) {
78
- if (value !== undefined && this._hoursFrom !== value) {
79
- this._hoursFrom = this.roundNumber(+value);
80
- }
81
- }
82
-
83
- set minutesFrom(value: string) {
84
- if (value !== undefined && this._minutesFrom !== value) {
85
- this._minutesFrom = this.roundNumber(+value);
86
- }
87
- }
88
-
89
- set hoursTo(value: string) {
90
- if (value !== undefined && this._hoursTo !== value) {
91
- this._hoursTo = this.roundNumber(+value);
92
- }
93
- }
94
-
95
- set minutesTo(value: string) {
96
- if (value !== undefined && this._minutesTo !== value) {
97
- this._minutesTo = this.roundNumber(+value);
98
- }
99
- }
100
-
101
- set seconds(value: string) {
102
- if (value !== undefined && this._seconds !== value) {
103
- this._seconds = this.roundNumber(+value);
104
- }
105
- }
106
-
107
- set value(val) {
108
- if (val && this.val !== val) {
109
- this.val = val;
110
- this.pickerValue = val;
111
- this.onChange(val);
112
- this.onTouch(val);
113
- }
114
- }
115
-
116
- set pickerValue(val: string) {
117
- if (val) {
118
- this._pickerValue = val;
119
- this.value = val;
120
- }
121
- }
122
-
123
- constructor(
124
- private readonly injector: Injector,
125
- private readonly decimalPipe: DecimalPipe
126
- ) {
127
- super();
128
- }
129
-
130
- ngAfterViewInit(): void {
131
- const ngControl: NgControl = this.injector.get(NgControl, null);
132
- if (ngControl) {
133
- this.control = ngControl.control as UntypedFormControl;
134
-
135
- setTimeout(() => {
136
- this.controlDate = this.control;
137
- const controlDate = !!this.control.value ? this.control.value : '';
138
-
139
- if (controlDate) {
140
- this.setValues(controlDate);
141
- }
142
- }, 10);
143
- }
144
- }
145
-
146
- onChange: any = () => { };
147
- onTouch: any = () => { };
148
-
149
- writeValue(value: any): void {
150
- this.value = value;
151
- }
152
-
153
- registerOnChange(fn: any): void {
154
- this.onChange = fn;
155
- }
156
-
157
- registerOnTouched(fn: any): void {
158
- this.onTouch = fn;
159
- }
160
-
161
- blurChange(e: any): void {
162
- this.onblur.emit(e);
163
- }
164
-
165
- keydownChange(e: any): void {
166
- if (e?.target.value === this.all) {
167
- const val = '';
168
- this.val = val;
169
- this._pickerValue = val;
170
- this.onChange(val);
171
- this.onTouch(val);
172
- }
173
- }
174
-
175
- onApply(): void {
176
- if (this._minutesFrom && this._hoursFrom && this._minutesTo && this._hoursTo) {
177
- this.setValues(this._hoursFrom + ':' + this._minutesFrom + ' - ' + this._hoursTo + ':' + this._minutesTo);
178
- this.value = this._hoursFrom + ':' + this._minutesFrom + ' - ' + this._hoursTo + ':' + this._minutesTo;
179
-
180
- return;
181
- }
182
- }
183
-
184
- opened(): void {
185
- setTimeout(() => {
186
- const elements = document.getElementsByClassName('mat-calendar-content');
187
- while (elements.length > 0) {
188
- elements[0].parentNode.removeChild(elements[0]);
189
- }
190
-
191
- let cols = Array.from(document.getElementsByClassName('mat-calendar') as HTMLCollectionOf<HTMLElement>);
192
- for(let i=0; i<cols.length; i++) {
193
- cols[i].style.height = '50px';
194
- }
195
-
196
- });
197
- }
198
-
199
- private roundNumber(num: number): string | null {
200
- return this.decimalPipe.transform(num, '2.0-0') ?? '00';
201
- }
202
-
203
- private setValues(date: string): void {
204
- this._date = date;
205
- }
206
- }