@softpak/components 19.17.0-beta.4 → 19.18.0

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 (77) hide show
  1. package/fesm2022/softpak-components-spx-404-page.mjs +47 -0
  2. package/fesm2022/softpak-components-spx-404-page.mjs.map +1 -0
  3. package/fesm2022/softpak-components-spx-alert.mjs +6 -7
  4. package/fesm2022/softpak-components-spx-alert.mjs.map +1 -1
  5. package/fesm2022/softpak-components-spx-app-expiry.mjs +91 -23
  6. package/fesm2022/softpak-components-spx-app-expiry.mjs.map +1 -1
  7. package/fesm2022/softpak-components-spx-button.mjs +22 -8
  8. package/fesm2022/softpak-components-spx-button.mjs.map +1 -1
  9. package/fesm2022/softpak-components-spx-card.mjs +88 -17
  10. package/fesm2022/softpak-components-spx-card.mjs.map +1 -1
  11. package/fesm2022/softpak-components-spx-change-details.mjs +64 -48
  12. package/fesm2022/softpak-components-spx-change-details.mjs.map +1 -1
  13. package/fesm2022/softpak-components-spx-check-digit.mjs +28 -24
  14. package/fesm2022/softpak-components-spx-check-digit.mjs.map +1 -1
  15. package/fesm2022/softpak-components-spx-confirm.mjs.map +1 -1
  16. package/fesm2022/softpak-components-spx-form-section.mjs +33 -8
  17. package/fesm2022/softpak-components-spx-form-section.mjs.map +1 -1
  18. package/fesm2022/softpak-components-spx-form-view.mjs +53 -39
  19. package/fesm2022/softpak-components-spx-form-view.mjs.map +1 -1
  20. package/fesm2022/softpak-components-spx-inputs.mjs +6 -15
  21. package/fesm2022/softpak-components-spx-inputs.mjs.map +1 -1
  22. package/fesm2022/softpak-components-spx-navigation.mjs +89 -34
  23. package/fesm2022/softpak-components-spx-navigation.mjs.map +1 -1
  24. package/fesm2022/softpak-components-spx-number-check.mjs +198 -91
  25. package/fesm2022/softpak-components-spx-number-check.mjs.map +1 -1
  26. package/fesm2022/softpak-components-spx-pagination.mjs +21 -12
  27. package/fesm2022/softpak-components-spx-pagination.mjs.map +1 -1
  28. package/fesm2022/softpak-components-spx-patch.mjs +39 -8
  29. package/fesm2022/softpak-components-spx-patch.mjs.map +1 -1
  30. package/fesm2022/softpak-components-spx-progress-bar.mjs +22 -8
  31. package/fesm2022/softpak-components-spx-progress-bar.mjs.map +1 -1
  32. package/fesm2022/softpak-components-spx-spinner.mjs +160 -15
  33. package/fesm2022/softpak-components-spx-spinner.mjs.map +1 -1
  34. package/fesm2022/softpak-components-spx-stock-info.mjs +128 -71
  35. package/fesm2022/softpak-components-spx-stock-info.mjs.map +1 -1
  36. package/fesm2022/softpak-components-spx-toaster.mjs +163 -36
  37. package/fesm2022/softpak-components-spx-toaster.mjs.map +1 -1
  38. package/fesm2022/softpak-components-spx-translate.mjs +13 -1
  39. package/fesm2022/softpak-components-spx-translate.mjs.map +1 -1
  40. package/fesm2022/softpak-components-spx-update.mjs +3 -3
  41. package/fesm2022/softpak-components-spx-update.mjs.map +1 -1
  42. package/fesm2022/softpak-components-spx-validation.mjs +55 -56
  43. package/fesm2022/softpak-components-spx-validation.mjs.map +1 -1
  44. package/package.json +36 -32
  45. package/spx-404-page/index.d.ts +5 -0
  46. package/spx-404-page/public-api.d.ts +1 -0
  47. package/spx-404-page/spx-404-page.component.d.ts +15 -0
  48. package/spx-alert/spx-alert.component.d.ts +1 -1
  49. package/spx-app-expiry/spx-app-expiry.component.d.ts +14 -14
  50. package/spx-button/spx-button.component.d.ts +3 -0
  51. package/spx-card/spx-card-item/spx-card-item.component.d.ts +1 -0
  52. package/spx-card/spx-card.component.d.ts +9 -8
  53. package/spx-change-details/spx-change-details.component.d.ts +23 -22
  54. package/spx-check-digit/spx-check-digit.component.d.ts +9 -9
  55. package/spx-form-section/spx-form-section.component.d.ts +5 -5
  56. package/spx-form-view/spx-autocomplete-search.component.d.ts +16 -15
  57. package/spx-form-view/spx-form-view.component.d.ts +1 -1
  58. package/spx-inputs/spx-input-text/spx-input-text.component.d.ts +1 -4
  59. package/spx-inputs/spx-input.component.d.ts +0 -1
  60. package/spx-navigation/public-api.d.ts +2 -2
  61. package/spx-navigation/spx-home-tile.component.d.ts +11 -0
  62. package/spx-navigation/{spx-home-tile/spx-home-tiles.component.d.ts → spx-home-tiles.component.d.ts} +2 -2
  63. package/spx-navigation/spx-navigation.component.d.ts +8 -11
  64. package/spx-number-check/spx-number-check.component.d.ts +32 -26
  65. package/spx-pagination/spx-pagination.component.d.ts +10 -9
  66. package/spx-patch/spx-patch.component.d.ts +4 -4
  67. package/spx-progress-bar/spx-progress-bar.component.d.ts +3 -3
  68. package/spx-spinner/spx-spinner.component.d.ts +3 -3
  69. package/spx-stock-info/spx-stock-info.component.d.ts +49 -48
  70. package/spx-toaster/src/spx-toaster-message.interface.d.ts +1 -5
  71. package/spx-toaster/src/spx-toaster.component.d.ts +14 -6
  72. package/spx-translate/spx-translate._const.d.ts +8 -0
  73. package/spx-update/store/spx-update-check/spx-update-check.actions.d.ts +5 -5
  74. package/spx-update/store/spx-update-pending/spx-update-pending.actions.d.ts +1 -1
  75. package/spx-validation/spx-validate-control.component.d.ts +20 -22
  76. package/tailwind.css +1 -1
  77. package/spx-navigation/spx-home-tile/spx-home-tile.component.d.ts +0 -11
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { input, output, computed, Component, ChangeDetectionStrategy } from '@angular/core';
2
+ import { EventEmitter, Component, Input, Output } from '@angular/core';
3
3
  import * as i1 from '@angular/forms';
4
4
  import { FormsModule, ReactiveFormsModule } from '@angular/forms';
5
5
  import { spxValidatorRequired } from '@softpak/components/spx-validation';
@@ -26,70 +26,54 @@ const sectionContainerInfo = 'sectionContainerInfo';
26
26
  const sectionCustomer = 'sectionCustomer';
27
27
  const sectionLocation = 'sectionLocation';
28
28
  class SpxStockInfoComponent {
29
+ get ctrlCategory() { return this.formGroup.get(ctrlCategory); }
30
+ get ctrlContainerStatus() { return this.formGroup.get(ctrlContainerStatus); }
31
+ get ctrlContainerStatusGroup() { return this.formGroup.get(ctrlContainerStatusGroup); }
32
+ get ctrlContainerType() { return this.formGroup.get(ctrlContainerType); }
33
+ get ctrlCustomer() { return this.formGroup.get(ctrlCustomer); }
34
+ get ctrlDepot() { return this.formGroup.get(ctrlDepot); }
35
+ get ctrlLocation() { return this.formGroup.get(ctrlLocation); }
29
36
  constructor(formBuilder) {
30
37
  this.formBuilder = formBuilder;
31
- this.depotReadonly = input(false);
32
- this.statusGroupsInPatch = input.required();
33
- this.containers = input.required();
34
- this.currentPage = input.required();
35
- this.faArrowLeft = input.required();
36
- this.faArrowRight = input.required();
37
- this.faContainerStorage = input.required();
38
- this.formGroup = input.required();
39
- this.loaded = input.required();
40
- this.pageSize = input.required();
41
- this.suggestions = input({});
42
- this.textCategory = input.required();
43
- this.textContainerInfo = input.required();
44
- this.textContainerStatus = input.required();
45
- this.textContainerStatusGroup = input.required();
46
- this.textContainerType = input.required();
47
- this.textCustomer = input.required();
48
- this.textDepot = input.required();
49
- this.textLocation = input.required();
50
- this.textNext = input.required();
51
- this.textPage = input.required();
52
- this.textPrevious = input.required();
53
- this.textSearch = input.required();
54
- this.textNoResults = input.required();
55
- this.textYouCanChangeYourFilters = input.required();
56
- this.spxBlurCategory = output();
57
- this.spxBlurContainerStatus = output();
58
- this.spxBlurContainerStatusGroup = output();
59
- this.spxBlurContainerType = output();
60
- this.spxBlurCustomer = output();
61
- this.spxBlurDepot = output();
62
- this.spxClickContainer = output();
63
- this.spxPageChange = output();
64
- this.spxSearchCategory = output();
65
- this.spxSearchContainerStatus = output();
66
- this.spxSearchContainerStatusGroup = output();
67
- this.spxSearchContainerType = output();
68
- this.spxSearchCustomer = output();
69
- this.spxSearchDepot = output();
70
- this.spxSubmit = output();
38
+ this.depotReadonly = true;
39
+ this.suggestions = {};
40
+ this.spxBlurCategory = new EventEmitter();
41
+ this.spxBlurContainerStatus = new EventEmitter();
42
+ this.spxBlurContainerStatusGroup = new EventEmitter();
43
+ this.spxBlurContainerType = new EventEmitter();
44
+ this.spxBlurCustomer = new EventEmitter();
45
+ this.spxBlurDepot = new EventEmitter();
46
+ this.spxClickContainer = new EventEmitter();
47
+ this.spxPageChange = new EventEmitter();
48
+ this.spxSearchCategory = new EventEmitter();
49
+ this.spxSearchContainerStatus = new EventEmitter();
50
+ this.spxSearchContainerStatusGroup = new EventEmitter();
51
+ this.spxSearchContainerType = new EventEmitter();
52
+ this.spxSearchCustomer = new EventEmitter();
53
+ this.spxSearchDepot = new EventEmitter();
54
+ this.spxSubmit = new EventEmitter();
71
55
  this.severityInfo = SpxSeverityEnum.info;
72
56
  this.form = {
73
57
  buttons: [
74
58
  {
75
59
  severity: SpxSeverityEnum.success,
76
60
  type: SpxFormButtonTypeEnum.submit,
77
- label: () => this.textSearch(),
61
+ label: () => this.textSearch,
78
62
  }
79
63
  ],
80
64
  sections: [
81
65
  {
82
66
  key: sectionLocation,
83
67
  show: () => true,
84
- title: () => this.textLocation(),
68
+ title: () => this.textLocation,
85
69
  fields: [
86
70
  {
87
71
  key: ctrlDepot,
88
- label: () => this.textDepot(),
72
+ label: () => this.textDepot,
89
73
  type: () => SpxInputTypeEnum.autocomplete,
90
74
  defaultValue: () => null,
91
75
  validators: () => [spxValidatorRequired()],
92
- readonly: () => this.depotReadonly(),
76
+ readonly: () => this.depotReadonly,
93
77
  suggestions: () => true,
94
78
  afterValueChange: undefined,
95
79
  show: () => true,
@@ -97,7 +81,7 @@ class SpxStockInfoComponent {
97
81
  },
98
82
  {
99
83
  key: ctrlLocation,
100
- label: () => this.textLocation(),
84
+ label: () => this.textLocation,
101
85
  type: () => SpxInputTypeEnum.text,
102
86
  defaultValue: () => null,
103
87
  validators: () => [],
@@ -112,11 +96,11 @@ class SpxStockInfoComponent {
112
96
  {
113
97
  key: sectionCustomer,
114
98
  show: () => true,
115
- title: () => this.textCustomer(),
99
+ title: () => this.textCustomer,
116
100
  fields: [
117
101
  {
118
102
  key: ctrlCustomer,
119
- label: () => this.textCustomer(),
103
+ label: () => this.textCustomer,
120
104
  type: () => SpxInputTypeEnum.autocomplete,
121
105
  defaultValue: () => null,
122
106
  validators: () => [],
@@ -131,11 +115,11 @@ class SpxStockInfoComponent {
131
115
  {
132
116
  key: sectionContainerInfo,
133
117
  show: () => true,
134
- title: () => this.textContainerInfo(),
118
+ title: () => this.textContainerInfo,
135
119
  fields: [
136
120
  {
137
121
  key: ctrlCategory,
138
- label: () => this.textCategory(),
122
+ label: () => this.textCategory,
139
123
  type: () => SpxInputTypeEnum.autocomplete,
140
124
  defaultValue: () => null,
141
125
  validators: () => [],
@@ -147,7 +131,7 @@ class SpxStockInfoComponent {
147
131
  },
148
132
  {
149
133
  key: ctrlContainerStatus,
150
- label: () => this.textContainerStatus(),
134
+ label: () => this.textContainerStatus,
151
135
  type: () => SpxInputTypeEnum.autocomplete,
152
136
  defaultValue: () => null,
153
137
  validators: () => [],
@@ -159,19 +143,19 @@ class SpxStockInfoComponent {
159
143
  },
160
144
  {
161
145
  key: ctrlContainerStatusGroup,
162
- label: () => this.textContainerStatusGroup(),
146
+ label: () => this.textContainerStatusGroup,
163
147
  type: () => SpxInputTypeEnum.autocomplete,
164
148
  defaultValue: () => null,
165
149
  validators: () => [],
166
150
  readonly: () => false,
167
151
  suggestions: () => true,
168
152
  afterValueChange: undefined,
169
- show: () => this.statusGroupsInPatch(),
153
+ show: () => this.statusGroupsInPatch,
170
154
  capitalize: () => true,
171
155
  },
172
156
  {
173
157
  key: ctrlContainerType,
174
- label: () => this.textContainerType(),
158
+ label: () => this.textContainerType,
175
159
  type: () => SpxInputTypeEnum.autocomplete,
176
160
  defaultValue: () => null,
177
161
  validators: () => [],
@@ -185,13 +169,6 @@ class SpxStockInfoComponent {
185
169
  },
186
170
  ]
187
171
  };
188
- this.ctrlCategory = computed(() => this.formGroup()?.get(ctrlCategory));
189
- this.ctrlContainerStatus = computed(() => this.formGroup()?.get(ctrlContainerStatus));
190
- this.ctrlContainerStatusGroup = computed(() => this.formGroup()?.get(ctrlContainerStatusGroup));
191
- this.ctrlContainerType = computed(() => this.formGroup()?.get(ctrlContainerType));
192
- this.ctrlCustomer = computed(() => this.formGroup()?.get(ctrlCustomer));
193
- this.ctrlDepot = computed(() => this.formGroup()?.get(ctrlDepot));
194
- this.ctrlLocation = computed(() => this.formGroup()?.get(ctrlLocation));
195
172
  }
196
173
  createForm() {
197
174
  return SpxFormViewComponent.createForm(this.formBuilder, this.form.sections);
@@ -249,17 +226,17 @@ class SpxStockInfoComponent {
249
226
  }
250
227
  onSubmit() {
251
228
  this.spxSubmit.emit({
252
- ctrlCategory: this.ctrlCategory().value,
253
- ctrlContainerStatus: this.ctrlContainerStatus().value,
254
- ctrlContainerStatusGroup: this.ctrlContainerStatusGroup().value,
255
- ctrlContainerType: this.ctrlContainerType().value,
256
- ctrlCustomer: this.ctrlCustomer().value,
257
- ctrlDepot: this.ctrlDepot().value,
258
- ctrlLocation: this.ctrlLocation().value,
229
+ ctrlCategory: this.ctrlCategory.value,
230
+ ctrlContainerStatus: this.ctrlContainerStatus.value,
231
+ ctrlContainerStatusGroup: this.ctrlContainerStatusGroup.value,
232
+ ctrlContainerType: this.ctrlContainerType.value,
233
+ ctrlCustomer: this.ctrlCustomer.value,
234
+ ctrlDepot: this.ctrlDepot.value,
235
+ ctrlLocation: this.ctrlLocation.value,
259
236
  });
260
237
  }
261
238
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: SpxStockInfoComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
262
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.5", type: SpxStockInfoComponent, isStandalone: true, selector: "spx-stock-info", inputs: { depotReadonly: { classPropertyName: "depotReadonly", publicName: "depotReadonly", isSignal: true, isRequired: false, transformFunction: null }, statusGroupsInPatch: { classPropertyName: "statusGroupsInPatch", publicName: "statusGroupsInPatch", isSignal: true, isRequired: true, transformFunction: null }, containers: { classPropertyName: "containers", publicName: "containers", isSignal: true, isRequired: true, transformFunction: null }, currentPage: { classPropertyName: "currentPage", publicName: "currentPage", isSignal: true, isRequired: true, transformFunction: null }, faArrowLeft: { classPropertyName: "faArrowLeft", publicName: "faArrowLeft", isSignal: true, isRequired: true, transformFunction: null }, faArrowRight: { classPropertyName: "faArrowRight", publicName: "faArrowRight", isSignal: true, isRequired: true, transformFunction: null }, faContainerStorage: { classPropertyName: "faContainerStorage", publicName: "faContainerStorage", isSignal: true, isRequired: true, transformFunction: null }, formGroup: { classPropertyName: "formGroup", publicName: "formGroup", isSignal: true, isRequired: true, transformFunction: null }, loaded: { classPropertyName: "loaded", publicName: "loaded", isSignal: true, isRequired: true, transformFunction: null }, pageSize: { classPropertyName: "pageSize", publicName: "pageSize", isSignal: true, isRequired: true, transformFunction: null }, suggestions: { classPropertyName: "suggestions", publicName: "suggestions", isSignal: true, isRequired: false, transformFunction: null }, textCategory: { classPropertyName: "textCategory", publicName: "textCategory", isSignal: true, isRequired: true, transformFunction: null }, textContainerInfo: { classPropertyName: "textContainerInfo", publicName: "textContainerInfo", isSignal: true, isRequired: true, transformFunction: null }, textContainerStatus: { classPropertyName: "textContainerStatus", publicName: "textContainerStatus", isSignal: true, isRequired: true, transformFunction: null }, textContainerStatusGroup: { classPropertyName: "textContainerStatusGroup", publicName: "textContainerStatusGroup", isSignal: true, isRequired: true, transformFunction: null }, textContainerType: { classPropertyName: "textContainerType", publicName: "textContainerType", isSignal: true, isRequired: true, transformFunction: null }, textCustomer: { classPropertyName: "textCustomer", publicName: "textCustomer", isSignal: true, isRequired: true, transformFunction: null }, textDepot: { classPropertyName: "textDepot", publicName: "textDepot", isSignal: true, isRequired: true, transformFunction: null }, textLocation: { classPropertyName: "textLocation", publicName: "textLocation", isSignal: true, isRequired: true, transformFunction: null }, textNext: { classPropertyName: "textNext", publicName: "textNext", isSignal: true, isRequired: true, transformFunction: null }, textPage: { classPropertyName: "textPage", publicName: "textPage", isSignal: true, isRequired: true, transformFunction: null }, textPrevious: { classPropertyName: "textPrevious", publicName: "textPrevious", isSignal: true, isRequired: true, transformFunction: null }, textSearch: { classPropertyName: "textSearch", publicName: "textSearch", isSignal: true, isRequired: true, transformFunction: null }, textNoResults: { classPropertyName: "textNoResults", publicName: "textNoResults", isSignal: true, isRequired: true, transformFunction: null }, textYouCanChangeYourFilters: { classPropertyName: "textYouCanChangeYourFilters", publicName: "textYouCanChangeYourFilters", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { spxBlurCategory: "spxBlurCategory", spxBlurContainerStatus: "spxBlurContainerStatus", spxBlurContainerStatusGroup: "spxBlurContainerStatusGroup", spxBlurContainerType: "spxBlurContainerType", spxBlurCustomer: "spxBlurCustomer", spxBlurDepot: "spxBlurDepot", spxClickContainer: "spxClickContainer", spxPageChange: "spxPageChange", spxSearchCategory: "spxSearchCategory", spxSearchContainerStatus: "spxSearchContainerStatus", spxSearchContainerStatusGroup: "spxSearchContainerStatusGroup", spxSearchContainerType: "spxSearchContainerType", spxSearchCustomer: "spxSearchCustomer", spxSearchDepot: "spxSearchDepot", spxSubmit: "spxSubmit" }, ngImport: i0, template: "@if (!loaded()) {\r\n <form [formGroup]=\"formGroup()\" class=\"max-w-lg mx-auto flex flex-col gap-3\" (ngSubmit)=\"onSubmit()\">\r\n <spx-form-view\r\n [spxFormGroup]=\"formGroup()\"\r\n [spxForm]=\"form\"\r\n [spxSuggestions]=\"suggestions()\"\r\n (spxBlur)=\"onBlur($event)\"\r\n (spxSearch)=\"onSearch($event)\">\r\n </spx-form-view>\r\n </form>\r\n}\r\n\r\n@if (loaded()) {\r\n <div class=\"flex flex-col gap-3\">\r\n @if (containers().length > 0) {\r\n <spx-pagination\r\n [spxPage]=\"currentPage()\"\r\n [spxMaxPages]=\"(containers().length < (pageSize() + 1)) ? (currentPage() + 1) : currentPage()\"\r\n [faArrowLeft]=\"faArrowLeft()\"\r\n [faArrowRight]=\"faArrowRight()\"\r\n [textPage]=\"textPage()\"\r\n [textPrevious]=\"textPrevious()\"\r\n [textNext]=\"textNext()\"\r\n (spxPageChange)=\"onPageChange($event)\">\r\n </spx-pagination>\r\n }\r\n @if (containers().length === 0) {\r\n <spx-alert [spxSeverity]=\"severityInfo\" [spxTitle]=\"textNoResults() | translate | capitalize\">\r\n {{ textYouCanChangeYourFilters() | translate | capitalize }}\r\n </spx-alert>\r\n }\r\n @for (container of containers(); track container; let i = $index) {\r\n @if (i < pageSize()) {\r\n <spx-card [hasContent]=\"false\" (clicked)=\"goToContainer(container)\">\r\n <div card-header class=\"card-header rounded-t-lg p-3 bg-sky-200\">\r\n <div class=\"flex flex-row space-x-3 items-center w-full\">\r\n <div\r\n class=\"card-header-icon-left flex basis-10 py-1.5 shrink-0 grow-0 place-items-center rounded bg-sky-400\">\r\n <fa-icon class=\"mx-auto\" [icon]=\"faContainerStorage()\"></fa-icon>\r\n </div>\r\n <div class=\"card-header-text-middle grow\">\r\n <div class=\"block font-medium text-large\">{{ container.formatted.containerNumber }}</div>\r\n </div>\r\n <div\r\n class=\"card-header-icons-right text-sm text-gray-900 leading-5 flex flex-wrap items-stretch text-center font-bold\">\r\n @if (container.containerStatus) {\r\n <div class=\"min-w-[36px] px-2 py-1 bg-white text-black\"> {{\r\n container.formatted.containerStatus }}</div>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n <div card-lines class=\"grid grid-cols-2 gap-2\">\r\n <spx-card-line [text]=\"textContainerType() | translate | capitalize\"\r\n [value]=\"container.formatted.containerType\"></spx-card-line>\r\n <spx-card-line [text]=\"textCategory() | translate | capitalize\"\r\n [value]=\"container.formatted.category\"></spx-card-line>\r\n <spx-card-line [text]=\"textLocation() | translate | capitalize\"\r\n [value]=\"container.formatted.location\"></spx-card-line>\r\n </div>\r\n </spx-card>\r\n }\r\n }\r\n @if (containers().length > 0) {\r\n <spx-pagination\r\n [spxPage]=\"currentPage()\"\r\n [spxMaxPages]=\"(containers().length < (pageSize() + 1)) ? (currentPage() + 1) : currentPage()\"\r\n [faArrowLeft]=\"faArrowLeft()\"\r\n [faArrowRight]=\"faArrowRight()\"\r\n [textPage]=\"textPage()\"\r\n [textPrevious]=\"textPrevious()\"\r\n [textNext]=\"textNext()\"\r\n (spxPageChange)=\"onPageChange($event)\">\r\n </spx-pagination>\r\n }\r\n </div>\r\n}", dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: FontAwesomeModule }, { kind: "component", type: i2.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "mask", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "transform", "a11yRole"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: SpxAlertComponent, selector: "spx-alert", inputs: ["spxAutoclose", "spxCloseable", "spxHideTitle", "spxTitle", "spxMarginTop", "spxSeverity"], outputs: ["spxClose", "spxTitleChange"] }, { kind: "pipe", type: SpxCapitalizePipe, name: "capitalize" }, { kind: "component", type: SpxCardComponent, selector: "spx-card", inputs: ["clickable", "hasContent", "onDetailPage", "text", "unit", "tableView"], outputs: ["clicked"] }, { kind: "component", type: SpxCardLineComponent, selector: "spx-card-line", inputs: ["icon", "showPositiveOrNegative", "text", "value", "secondValue", "showProgress", "unit", "newOrderScreen"], outputs: ["valueChange"] }, { kind: "component", type: SpxFormViewComponent, selector: "spx-form-view", inputs: ["spxFormGroup", "spxForm", "spxSuggestions"], outputs: ["spxBlur", "spxClick", "spxSearch"] }, { kind: "component", type: SpxPaginationComponent, selector: "spx-pagination", inputs: ["faArrowLeft", "faArrowRight", "spxPage", "spxMaxPages", "textNext", "textPage", "textPrevious"], outputs: ["spxPageChange"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
239
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.5", type: SpxStockInfoComponent, isStandalone: true, selector: "spx-stock-info", inputs: { depotReadonly: "depotReadonly", statusGroupsInPatch: "statusGroupsInPatch", containers: "containers", currentPage: "currentPage", faArrowLeft: "faArrowLeft", faArrowRight: "faArrowRight", faContainerStorage: "faContainerStorage", formGroup: "formGroup", loaded: "loaded", pageSize: "pageSize", suggestions: "suggestions", textCategory: "textCategory", textContainerInfo: "textContainerInfo", textContainerStatus: "textContainerStatus", textContainerStatusGroup: "textContainerStatusGroup", textContainerType: "textContainerType", textCustomer: "textCustomer", textDepot: "textDepot", textLocation: "textLocation", textNext: "textNext", textPage: "textPage", textPrevious: "textPrevious", textSearch: "textSearch", textNoResults: "textNoResults", textYouCanChangeYourFilters: "textYouCanChangeYourFilters" }, outputs: { spxBlurCategory: "spxBlurCategory", spxBlurContainerStatus: "spxBlurContainerStatus", spxBlurContainerStatusGroup: "spxBlurContainerStatusGroup", spxBlurContainerType: "spxBlurContainerType", spxBlurCustomer: "spxBlurCustomer", spxBlurDepot: "spxBlurDepot", spxClickContainer: "spxClickContainer", spxPageChange: "spxPageChange", spxSearchCategory: "spxSearchCategory", spxSearchContainerStatus: "spxSearchContainerStatus", spxSearchContainerStatusGroup: "spxSearchContainerStatusGroup", spxSearchContainerType: "spxSearchContainerType", spxSearchCustomer: "spxSearchCustomer", spxSearchDepot: "spxSearchDepot", spxSubmit: "spxSubmit" }, ngImport: i0, template: "@if (!loaded) {\r\n <form [formGroup]=\"formGroup\" class=\"max-w-lg mx-auto flex flex-col gap-3\" (ngSubmit)=\"onSubmit()\">\r\n <spx-form-view\r\n [spxFormGroup]=\"formGroup\"\r\n [spxForm]=\"form\"\r\n [spxSuggestions]=\"suggestions\"\r\n (spxBlur)=\"onBlur($event)\"\r\n (spxSearch)=\"onSearch($event)\">\r\n </spx-form-view>\r\n </form>\r\n}\r\n\r\n@if (loaded) {\r\n <div class=\"flex flex-col gap-3\">\r\n @if (containers.length > 0) {\r\n <spx-pagination\r\n [spxPage]=\"currentPage\"\r\n [spxMaxPages]=\"(containers.length < (pageSize + 1)) ? (currentPage + 1) : currentPage\"\r\n [faArrowLeft]=\"faArrowLeft\"\r\n [faArrowRight]=\"faArrowRight\"\r\n [textPage]=\"textPage\"\r\n [textPrevious]=\"textPrevious\"\r\n [textNext]=\"textNext\"\r\n (spxPageChange)=\"onPageChange($event)\">\r\n </spx-pagination>\r\n }\r\n @if (containers.length === 0) {\r\n <spx-alert [spxSeverity]=\"severityInfo\" [spxTitle]=\"textNoResults | translate | capitalize\">\r\n {{ textYouCanChangeYourFilters | translate | capitalize }}\r\n </spx-alert>\r\n }\r\n @for (container of containers; track container; let i = $index) {\r\n @if (i < pageSize) {\r\n <spx-card [hasContent]=\"false\" (clicked)=\"goToContainer(container)\">\r\n <div card-header class=\"card-header rounded-t-lg p-3 bg-sky-200\">\r\n <div class=\"flex flex-row space-x-3 items-center w-full\">\r\n <div\r\n class=\"card-header-icon-left flex basis-10 py-1.5 shrink-0 grow-0 place-items-center rounded bg-sky-400\">\r\n <fa-icon class=\"mx-auto\" [icon]=\"faContainerStorage\"></fa-icon>\r\n </div>\r\n <div class=\"card-header-text-middle grow\">\r\n <div class=\"block font-medium text-large\">{{ container.formatted.containerNumber }}</div>\r\n </div>\r\n <div\r\n class=\"card-header-icons-right text-sm text-gray-900 leading-5 flex flex-wrap items-stretch text-center font-bold\">\r\n @if (container.containerStatus) {\r\n <div class=\"min-w-[36px] px-2 py-1 bg-white text-black\"> {{\r\n container.formatted.containerStatus }}</div>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n <div card-lines class=\"grid grid-cols-2 gap-2\">\r\n <spx-card-line [text]=\"textContainerType | translate | capitalize\"\r\n [value]=\"container.formatted.containerType\"></spx-card-line>\r\n <spx-card-line [text]=\"textCategory | translate | capitalize\"\r\n [value]=\"container.formatted.category\"></spx-card-line>\r\n <spx-card-line [text]=\"textLocation | translate | capitalize\"\r\n [value]=\"container.formatted.location\"></spx-card-line>\r\n </div>\r\n </spx-card>\r\n }\r\n }\r\n @if (containers.length > 0) {\r\n <spx-pagination\r\n [spxPage]=\"currentPage\"\r\n [spxMaxPages]=\"(containers.length < (pageSize + 1)) ? (currentPage + 1) : currentPage\"\r\n [faArrowLeft]=\"faArrowLeft\"\r\n [faArrowRight]=\"faArrowRight\"\r\n [textPage]=\"textPage\"\r\n [textPrevious]=\"textPrevious\"\r\n [textNext]=\"textNext\"\r\n (spxPageChange)=\"onPageChange($event)\">\r\n </spx-pagination>\r\n }\r\n </div>\r\n}", dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: FontAwesomeModule }, { kind: "component", type: i2.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "mask", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "transform", "a11yRole"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: SpxAlertComponent, selector: "spx-alert", inputs: ["spxAutoclose", "spxCloseable", "spxHideTitle", "spxTitle", "spxMarginTop", "spxSeverity"], outputs: ["spxClose", "spxTitleChange"] }, { kind: "pipe", type: SpxCapitalizePipe, name: "capitalize" }, { kind: "component", type: SpxCardComponent, selector: "spx-card", inputs: ["clickable", "hasContent", "onDetailPage", "text", "unit", "tableView"], outputs: ["clicked"] }, { kind: "component", type: SpxCardLineComponent, selector: "spx-card-line", inputs: ["icon", "showPositiveOrNegative", "text", "value", "secondValue", "showProgress", "unit", "newOrderScreen"], outputs: ["valueChange"] }, { kind: "component", type: SpxFormViewComponent, selector: "spx-form-view", inputs: ["spxFormGroup", "spxForm", "spxSuggestions"], outputs: ["spxBlur", "spxClick", "spxSearch"] }, { kind: "component", type: SpxPaginationComponent, selector: "spx-pagination", inputs: ["faArrowLeft", "faArrowRight", "spxPage", "spxMaxPages", "textNext", "textPage", "textPrevious"], outputs: ["spxPageChange"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
263
240
  }
264
241
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: SpxStockInfoComponent, decorators: [{
265
242
  type: Component,
@@ -274,8 +251,88 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImpor
274
251
  SpxFormViewComponent,
275
252
  SpxPaginationComponent,
276
253
  TranslateModule
277
- ], changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "@if (!loaded()) {\r\n <form [formGroup]=\"formGroup()\" class=\"max-w-lg mx-auto flex flex-col gap-3\" (ngSubmit)=\"onSubmit()\">\r\n <spx-form-view\r\n [spxFormGroup]=\"formGroup()\"\r\n [spxForm]=\"form\"\r\n [spxSuggestions]=\"suggestions()\"\r\n (spxBlur)=\"onBlur($event)\"\r\n (spxSearch)=\"onSearch($event)\">\r\n </spx-form-view>\r\n </form>\r\n}\r\n\r\n@if (loaded()) {\r\n <div class=\"flex flex-col gap-3\">\r\n @if (containers().length > 0) {\r\n <spx-pagination\r\n [spxPage]=\"currentPage()\"\r\n [spxMaxPages]=\"(containers().length < (pageSize() + 1)) ? (currentPage() + 1) : currentPage()\"\r\n [faArrowLeft]=\"faArrowLeft()\"\r\n [faArrowRight]=\"faArrowRight()\"\r\n [textPage]=\"textPage()\"\r\n [textPrevious]=\"textPrevious()\"\r\n [textNext]=\"textNext()\"\r\n (spxPageChange)=\"onPageChange($event)\">\r\n </spx-pagination>\r\n }\r\n @if (containers().length === 0) {\r\n <spx-alert [spxSeverity]=\"severityInfo\" [spxTitle]=\"textNoResults() | translate | capitalize\">\r\n {{ textYouCanChangeYourFilters() | translate | capitalize }}\r\n </spx-alert>\r\n }\r\n @for (container of containers(); track container; let i = $index) {\r\n @if (i < pageSize()) {\r\n <spx-card [hasContent]=\"false\" (clicked)=\"goToContainer(container)\">\r\n <div card-header class=\"card-header rounded-t-lg p-3 bg-sky-200\">\r\n <div class=\"flex flex-row space-x-3 items-center w-full\">\r\n <div\r\n class=\"card-header-icon-left flex basis-10 py-1.5 shrink-0 grow-0 place-items-center rounded bg-sky-400\">\r\n <fa-icon class=\"mx-auto\" [icon]=\"faContainerStorage()\"></fa-icon>\r\n </div>\r\n <div class=\"card-header-text-middle grow\">\r\n <div class=\"block font-medium text-large\">{{ container.formatted.containerNumber }}</div>\r\n </div>\r\n <div\r\n class=\"card-header-icons-right text-sm text-gray-900 leading-5 flex flex-wrap items-stretch text-center font-bold\">\r\n @if (container.containerStatus) {\r\n <div class=\"min-w-[36px] px-2 py-1 bg-white text-black\"> {{\r\n container.formatted.containerStatus }}</div>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n <div card-lines class=\"grid grid-cols-2 gap-2\">\r\n <spx-card-line [text]=\"textContainerType() | translate | capitalize\"\r\n [value]=\"container.formatted.containerType\"></spx-card-line>\r\n <spx-card-line [text]=\"textCategory() | translate | capitalize\"\r\n [value]=\"container.formatted.category\"></spx-card-line>\r\n <spx-card-line [text]=\"textLocation() | translate | capitalize\"\r\n [value]=\"container.formatted.location\"></spx-card-line>\r\n </div>\r\n </spx-card>\r\n }\r\n }\r\n @if (containers().length > 0) {\r\n <spx-pagination\r\n [spxPage]=\"currentPage()\"\r\n [spxMaxPages]=\"(containers().length < (pageSize() + 1)) ? (currentPage() + 1) : currentPage()\"\r\n [faArrowLeft]=\"faArrowLeft()\"\r\n [faArrowRight]=\"faArrowRight()\"\r\n [textPage]=\"textPage()\"\r\n [textPrevious]=\"textPrevious()\"\r\n [textNext]=\"textNext()\"\r\n (spxPageChange)=\"onPageChange($event)\">\r\n </spx-pagination>\r\n }\r\n </div>\r\n}" }]
278
- }], ctorParameters: () => [{ type: i1.FormBuilder }] });
254
+ ], template: "@if (!loaded) {\r\n <form [formGroup]=\"formGroup\" class=\"max-w-lg mx-auto flex flex-col gap-3\" (ngSubmit)=\"onSubmit()\">\r\n <spx-form-view\r\n [spxFormGroup]=\"formGroup\"\r\n [spxForm]=\"form\"\r\n [spxSuggestions]=\"suggestions\"\r\n (spxBlur)=\"onBlur($event)\"\r\n (spxSearch)=\"onSearch($event)\">\r\n </spx-form-view>\r\n </form>\r\n}\r\n\r\n@if (loaded) {\r\n <div class=\"flex flex-col gap-3\">\r\n @if (containers.length > 0) {\r\n <spx-pagination\r\n [spxPage]=\"currentPage\"\r\n [spxMaxPages]=\"(containers.length < (pageSize + 1)) ? (currentPage + 1) : currentPage\"\r\n [faArrowLeft]=\"faArrowLeft\"\r\n [faArrowRight]=\"faArrowRight\"\r\n [textPage]=\"textPage\"\r\n [textPrevious]=\"textPrevious\"\r\n [textNext]=\"textNext\"\r\n (spxPageChange)=\"onPageChange($event)\">\r\n </spx-pagination>\r\n }\r\n @if (containers.length === 0) {\r\n <spx-alert [spxSeverity]=\"severityInfo\" [spxTitle]=\"textNoResults | translate | capitalize\">\r\n {{ textYouCanChangeYourFilters | translate | capitalize }}\r\n </spx-alert>\r\n }\r\n @for (container of containers; track container; let i = $index) {\r\n @if (i < pageSize) {\r\n <spx-card [hasContent]=\"false\" (clicked)=\"goToContainer(container)\">\r\n <div card-header class=\"card-header rounded-t-lg p-3 bg-sky-200\">\r\n <div class=\"flex flex-row space-x-3 items-center w-full\">\r\n <div\r\n class=\"card-header-icon-left flex basis-10 py-1.5 shrink-0 grow-0 place-items-center rounded bg-sky-400\">\r\n <fa-icon class=\"mx-auto\" [icon]=\"faContainerStorage\"></fa-icon>\r\n </div>\r\n <div class=\"card-header-text-middle grow\">\r\n <div class=\"block font-medium text-large\">{{ container.formatted.containerNumber }}</div>\r\n </div>\r\n <div\r\n class=\"card-header-icons-right text-sm text-gray-900 leading-5 flex flex-wrap items-stretch text-center font-bold\">\r\n @if (container.containerStatus) {\r\n <div class=\"min-w-[36px] px-2 py-1 bg-white text-black\"> {{\r\n container.formatted.containerStatus }}</div>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n <div card-lines class=\"grid grid-cols-2 gap-2\">\r\n <spx-card-line [text]=\"textContainerType | translate | capitalize\"\r\n [value]=\"container.formatted.containerType\"></spx-card-line>\r\n <spx-card-line [text]=\"textCategory | translate | capitalize\"\r\n [value]=\"container.formatted.category\"></spx-card-line>\r\n <spx-card-line [text]=\"textLocation | translate | capitalize\"\r\n [value]=\"container.formatted.location\"></spx-card-line>\r\n </div>\r\n </spx-card>\r\n }\r\n }\r\n @if (containers.length > 0) {\r\n <spx-pagination\r\n [spxPage]=\"currentPage\"\r\n [spxMaxPages]=\"(containers.length < (pageSize + 1)) ? (currentPage + 1) : currentPage\"\r\n [faArrowLeft]=\"faArrowLeft\"\r\n [faArrowRight]=\"faArrowRight\"\r\n [textPage]=\"textPage\"\r\n [textPrevious]=\"textPrevious\"\r\n [textNext]=\"textNext\"\r\n (spxPageChange)=\"onPageChange($event)\">\r\n </spx-pagination>\r\n }\r\n </div>\r\n}" }]
255
+ }], ctorParameters: () => [{ type: i1.FormBuilder }], propDecorators: { depotReadonly: [{
256
+ type: Input
257
+ }], statusGroupsInPatch: [{
258
+ type: Input
259
+ }], containers: [{
260
+ type: Input
261
+ }], currentPage: [{
262
+ type: Input
263
+ }], faArrowLeft: [{
264
+ type: Input
265
+ }], faArrowRight: [{
266
+ type: Input
267
+ }], faContainerStorage: [{
268
+ type: Input
269
+ }], formGroup: [{
270
+ type: Input
271
+ }], loaded: [{
272
+ type: Input
273
+ }], pageSize: [{
274
+ type: Input
275
+ }], suggestions: [{
276
+ type: Input
277
+ }], textCategory: [{
278
+ type: Input
279
+ }], textContainerInfo: [{
280
+ type: Input
281
+ }], textContainerStatus: [{
282
+ type: Input
283
+ }], textContainerStatusGroup: [{
284
+ type: Input
285
+ }], textContainerType: [{
286
+ type: Input
287
+ }], textCustomer: [{
288
+ type: Input
289
+ }], textDepot: [{
290
+ type: Input
291
+ }], textLocation: [{
292
+ type: Input
293
+ }], textNext: [{
294
+ type: Input
295
+ }], textPage: [{
296
+ type: Input
297
+ }], textPrevious: [{
298
+ type: Input
299
+ }], textSearch: [{
300
+ type: Input
301
+ }], textNoResults: [{
302
+ type: Input
303
+ }], textYouCanChangeYourFilters: [{
304
+ type: Input
305
+ }], spxBlurCategory: [{
306
+ type: Output
307
+ }], spxBlurContainerStatus: [{
308
+ type: Output
309
+ }], spxBlurContainerStatusGroup: [{
310
+ type: Output
311
+ }], spxBlurContainerType: [{
312
+ type: Output
313
+ }], spxBlurCustomer: [{
314
+ type: Output
315
+ }], spxBlurDepot: [{
316
+ type: Output
317
+ }], spxClickContainer: [{
318
+ type: Output
319
+ }], spxPageChange: [{
320
+ type: Output
321
+ }], spxSearchCategory: [{
322
+ type: Output
323
+ }], spxSearchContainerStatus: [{
324
+ type: Output
325
+ }], spxSearchContainerStatusGroup: [{
326
+ type: Output
327
+ }], spxSearchContainerType: [{
328
+ type: Output
329
+ }], spxSearchCustomer: [{
330
+ type: Output
331
+ }], spxSearchDepot: [{
332
+ type: Output
333
+ }], spxSubmit: [{
334
+ type: Output
335
+ }] } });
279
336
 
280
337
  /**
281
338
  * Generated bundle index. Do not edit.
@@ -1 +1 @@
1
- {"version":3,"file":"softpak-components-spx-stock-info.mjs","sources":["../../../../projects/softpak/components/spx-stock-info/spx-stock-info.component.ts","../../../../projects/softpak/components/spx-stock-info/spx-stock-info.component.html","../../../../projects/softpak/components/spx-stock-info/softpak-components-spx-stock-info.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, computed, input, output } from '@angular/core';\r\nimport { FormBuilder, FormControl, FormGroup, FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { spxValidatorRequired } from '@softpak/components/spx-validation';\r\n\r\nimport { SpxInputTypeEnum, SpxValuePair } from '@softpak/components/spx-inputs';\r\nimport { SpxFormButtonTypeEnum, SpxFormFieldI, SpxFormI, SpxFormViewComponent } from '@softpak/components/spx-form-view';\r\nimport { SpxSeverityEnum, valuePairToValue } from '@softpak/components/spx-helpers';\r\nimport { SpxStockInfoValueI } from './spx-stock-info-value.interface';\r\nimport { SpxPaginationComponent } from '@softpak/components/spx-pagination';\r\nimport { IconProp } from '@fortawesome/fontawesome-svg-core';\r\nimport { SpxAlertComponent } from '@softpak/components/spx-alert';\r\nimport { SpxCardComponent, SpxCardLineComponent } from '@softpak/components/spx-card';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { SpxCapitalizePipe } from '@softpak/components/spx-capitalize';\r\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\r\n\r\nexport const ctrlCategory = 'ctrlCategory';\r\nexport const ctrlContainerStatus = 'ctrlContainerStatus';\r\nexport const ctrlContainerStatusGroup = 'ctrlContainerStatusGroup';\r\nexport const ctrlContainerType = 'ctrlContainerType';\r\nexport const ctrlCustomer = 'ctrlCustomer';\r\nexport const ctrlDepot = 'ctrlDepot';\r\nexport const ctrlLocation = 'ctrlLocation';\r\nexport const sectionContainerInfo = 'sectionContainerInfo';\r\nexport const sectionCustomer = 'sectionCustomer';\r\nexport const sectionLocation = 'sectionLocation';\r\n\r\n@Component({\r\n selector: 'spx-stock-info',\r\n templateUrl: './spx-stock-info.component.html',\r\n imports: [\r\n FormsModule,\r\n FontAwesomeModule,\r\n ReactiveFormsModule,\r\n SpxAlertComponent,\r\n SpxCapitalizePipe,\r\n SpxCardComponent,\r\n SpxCardLineComponent,\r\n SpxFormViewComponent,\r\n SpxPaginationComponent,\r\n TranslateModule\r\n ],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: true,\r\n})\r\nexport class SpxStockInfoComponent {\r\n readonly depotReadonly = input<boolean>(false);\r\n readonly statusGroupsInPatch = input.required<boolean>();\r\n readonly containers = input.required<any[]>();\r\n readonly currentPage = input.required<number>();\r\n readonly faArrowLeft = input.required<IconProp>();\r\n readonly faArrowRight = input.required<IconProp>();\r\n readonly faContainerStorage = input.required<IconProp>();\r\n readonly formGroup = input.required<FormGroup>();\r\n readonly loaded = input.required<boolean>();\r\n readonly pageSize = input.required<number>();\r\n readonly suggestions = input<any>({});\r\n readonly textCategory = input.required<string>();\r\n readonly textContainerInfo = input.required<string>();\r\n readonly textContainerStatus = input.required<string>();\r\n readonly textContainerStatusGroup = input.required<string>();\r\n readonly textContainerType = input.required<string>();\r\n readonly textCustomer = input.required<string>();\r\n readonly textDepot = input.required<string>();\r\n readonly textLocation = input.required<string>();\r\n readonly textNext = input.required<string>();\r\n readonly textPage = input.required<string>();\r\n readonly textPrevious = input.required<string>();\r\n readonly textSearch = input.required<string>();\r\n readonly textNoResults = input.required<string>();\r\n readonly textYouCanChangeYourFilters = input.required<string>();\r\n readonly spxBlurCategory = output<SpxValuePair<string>>();\r\n readonly spxBlurContainerStatus = output<SpxValuePair<string>>();\r\n readonly spxBlurContainerStatusGroup = output<SpxValuePair<string>>();\r\n readonly spxBlurContainerType = output<SpxValuePair<string>>();\r\n readonly spxBlurCustomer = output<SpxValuePair<string>>();\r\n readonly spxBlurDepot = output<SpxValuePair<string>>();\r\n readonly spxClickContainer = output<any>();\r\n readonly spxPageChange = output<number>();\r\n readonly spxSearchCategory = output<SpxValuePair<string>>();\r\n readonly spxSearchContainerStatus = output<SpxValuePair<string>>();\r\n readonly spxSearchContainerStatusGroup = output<SpxValuePair<string>>();\r\n readonly spxSearchContainerType = output<SpxValuePair<string>>();\r\n readonly spxSearchCustomer = output<SpxValuePair<string>>();\r\n readonly spxSearchDepot = output<SpxValuePair<string>>();\r\n readonly spxSubmit = output<SpxStockInfoValueI>();\r\n severityInfo = SpxSeverityEnum.info;\r\n\r\n\r\n form: SpxFormI = {\r\n buttons: [\r\n {\r\n severity: SpxSeverityEnum.success,\r\n type: SpxFormButtonTypeEnum.submit,\r\n label: () => this.textSearch(),\r\n }\r\n ],\r\n sections: [\r\n {\r\n key: sectionLocation,\r\n show: () => true,\r\n title: () => this.textLocation(),\r\n fields: [\r\n {\r\n key: ctrlDepot,\r\n label: () => this.textDepot(),\r\n type: () => SpxInputTypeEnum.autocomplete,\r\n defaultValue: () => null,\r\n validators: () => [spxValidatorRequired()],\r\n readonly: () => this.depotReadonly(),\r\n suggestions: () => true,\r\n afterValueChange: undefined,\r\n show: () => true,\r\n capitalize: () => true,\r\n },\r\n {\r\n key: ctrlLocation,\r\n label: () => this.textLocation(),\r\n type: () => SpxInputTypeEnum.text,\r\n defaultValue: () => null,\r\n validators: () => [],\r\n readonly: () => false,\r\n suggestions: () => false,\r\n afterValueChange: undefined,\r\n show: () => true,\r\n capitalize: () => true,\r\n },\r\n ]\r\n },\r\n {\r\n key: sectionCustomer,\r\n show: () => true,\r\n title: () => this.textCustomer(),\r\n fields: [\r\n {\r\n key: ctrlCustomer,\r\n label: () => this.textCustomer(),\r\n type: () => SpxInputTypeEnum.autocomplete,\r\n defaultValue: () => null,\r\n validators: () => [],\r\n readonly: () => false,\r\n suggestions: () => true,\r\n afterValueChange: undefined,\r\n show: () => true,\r\n capitalize: () => true,\r\n },\r\n ]\r\n },\r\n {\r\n key: sectionContainerInfo,\r\n show: () => true,\r\n title: () => this.textContainerInfo(),\r\n fields: [\r\n {\r\n key: ctrlCategory,\r\n label: () => this.textCategory(),\r\n type: () => SpxInputTypeEnum.autocomplete,\r\n defaultValue: () => null,\r\n validators: () => [],\r\n readonly: () => false,\r\n suggestions: () => true,\r\n afterValueChange: undefined,\r\n show: () => true,\r\n capitalize: () => true,\r\n },\r\n {\r\n key: ctrlContainerStatus,\r\n label: () => this.textContainerStatus(),\r\n type: () => SpxInputTypeEnum.autocomplete,\r\n defaultValue: () => null,\r\n validators: () => [],\r\n readonly: () => false,\r\n suggestions: () => true,\r\n afterValueChange: undefined,\r\n show: () => true,\r\n capitalize: () => true,\r\n },\r\n {\r\n key: ctrlContainerStatusGroup,\r\n label: () => this.textContainerStatusGroup(),\r\n type: () => SpxInputTypeEnum.autocomplete,\r\n defaultValue: () => null,\r\n validators: () => [],\r\n readonly: () => false,\r\n suggestions: () => true,\r\n afterValueChange: undefined,\r\n show: () => this.statusGroupsInPatch(),\r\n capitalize: () => true,\r\n },\r\n {\r\n key: ctrlContainerType,\r\n label: () => this.textContainerType(),\r\n type: () => SpxInputTypeEnum.autocomplete,\r\n defaultValue: () => null,\r\n validators: () => [],\r\n readonly: () => false,\r\n suggestions: () => true,\r\n afterValueChange: undefined,\r\n show: () => true,\r\n capitalize: () => true,\r\n },\r\n ]\r\n },\r\n ]\r\n };\r\n\r\n readonly ctrlCategory = computed(() => this.formGroup()?.get(ctrlCategory) as FormControl);\r\n readonly ctrlContainerStatus = computed(() => this.formGroup()?.get(ctrlContainerStatus) as FormControl);\r\n readonly ctrlContainerStatusGroup = computed(() => this.formGroup()?.get(ctrlContainerStatusGroup) as FormControl);\r\n readonly ctrlContainerType = computed(() => this.formGroup()?.get(ctrlContainerType) as FormControl);\r\n readonly ctrlCustomer = computed(() => this.formGroup()?.get(ctrlCustomer) as FormControl);\r\n readonly ctrlDepot = computed(() => this.formGroup()?.get(ctrlDepot) as FormControl);\r\n readonly ctrlLocation = computed(() => this.formGroup()?.get(ctrlLocation) as FormControl);\r\n\r\n constructor(readonly formBuilder: FormBuilder) {\r\n }\r\n\r\n createForm(): FormGroup {\r\n return SpxFormViewComponent.createForm(this.formBuilder, this.form.sections);\r\n }\r\n\r\n getRawValidators(formControl: FormControl) {\r\n return (formControl as any)._rawValidators;\r\n }\r\n\r\n onBlur(data: { field: SpxFormFieldI, valuePair: SpxValuePair<any> }) {\r\n if (valuePairToValue(data.valuePair)) {\r\n if (data.field.key === ctrlCategory) {\r\n this.spxBlurCategory.emit(data.valuePair);\r\n }\r\n if (data.field.key === ctrlContainerStatus) {\r\n this.spxBlurContainerStatus.emit(data.valuePair);\r\n }\r\n if (data.field.key === ctrlContainerStatusGroup) {\r\n this.spxBlurContainerStatusGroup.emit(data.valuePair);\r\n }\r\n if (data.field.key === ctrlContainerType) {\r\n this.spxBlurContainerType.emit(data.valuePair);\r\n }\r\n if (data.field.key === ctrlCustomer) {\r\n this.spxBlurCustomer.emit(data.valuePair);\r\n }\r\n if (data.field.key === ctrlDepot) {\r\n this.spxBlurDepot.emit(data.valuePair);\r\n }\r\n }\r\n }\r\n\r\n onSearch(data: { field: SpxFormFieldI, valuePair: SpxValuePair<any> }) {\r\n if (data.field.key === ctrlCategory) {\r\n this.spxSearchCategory.emit(data.valuePair);\r\n }\r\n if (data.field.key === ctrlContainerType) {\r\n this.spxSearchContainerType.emit(data.valuePair);\r\n }\r\n if (data.field.key === ctrlContainerStatus) {\r\n this.spxSearchContainerStatus.emit(data.valuePair);\r\n }\r\n if (data.field.key === ctrlContainerStatusGroup) {\r\n this.spxSearchContainerStatusGroup.emit(data.valuePair);\r\n }\r\n if (data.field.key === ctrlCustomer) {\r\n this.spxSearchCustomer.emit(data.valuePair);\r\n }\r\n if (data.field.key === ctrlDepot) {\r\n this.spxSearchDepot.emit(data.valuePair);\r\n }\r\n }\r\n\r\n onPageChange(page: number) {\r\n this.spxPageChange.emit(page);\r\n }\r\n\r\n goToContainer(container: any) {\r\n this.spxClickContainer.emit(container);\r\n }\r\n\r\n onSubmit(): void {\r\n this.spxSubmit.emit({\r\n ctrlCategory: this.ctrlCategory().value,\r\n ctrlContainerStatus: this.ctrlContainerStatus().value,\r\n ctrlContainerStatusGroup: this.ctrlContainerStatusGroup().value,\r\n ctrlContainerType: this.ctrlContainerType().value,\r\n ctrlCustomer: this.ctrlCustomer().value,\r\n ctrlDepot: this.ctrlDepot().value,\r\n ctrlLocation: this.ctrlLocation().value,\r\n });\r\n }\r\n}\r\n","@if (!loaded()) {\r\n <form [formGroup]=\"formGroup()\" class=\"max-w-lg mx-auto flex flex-col gap-3\" (ngSubmit)=\"onSubmit()\">\r\n <spx-form-view\r\n [spxFormGroup]=\"formGroup()\"\r\n [spxForm]=\"form\"\r\n [spxSuggestions]=\"suggestions()\"\r\n (spxBlur)=\"onBlur($event)\"\r\n (spxSearch)=\"onSearch($event)\">\r\n </spx-form-view>\r\n </form>\r\n}\r\n\r\n@if (loaded()) {\r\n <div class=\"flex flex-col gap-3\">\r\n @if (containers().length > 0) {\r\n <spx-pagination\r\n [spxPage]=\"currentPage()\"\r\n [spxMaxPages]=\"(containers().length < (pageSize() + 1)) ? (currentPage() + 1) : currentPage()\"\r\n [faArrowLeft]=\"faArrowLeft()\"\r\n [faArrowRight]=\"faArrowRight()\"\r\n [textPage]=\"textPage()\"\r\n [textPrevious]=\"textPrevious()\"\r\n [textNext]=\"textNext()\"\r\n (spxPageChange)=\"onPageChange($event)\">\r\n </spx-pagination>\r\n }\r\n @if (containers().length === 0) {\r\n <spx-alert [spxSeverity]=\"severityInfo\" [spxTitle]=\"textNoResults() | translate | capitalize\">\r\n {{ textYouCanChangeYourFilters() | translate | capitalize }}\r\n </spx-alert>\r\n }\r\n @for (container of containers(); track container; let i = $index) {\r\n @if (i < pageSize()) {\r\n <spx-card [hasContent]=\"false\" (clicked)=\"goToContainer(container)\">\r\n <div card-header class=\"card-header rounded-t-lg p-3 bg-sky-200\">\r\n <div class=\"flex flex-row space-x-3 items-center w-full\">\r\n <div\r\n class=\"card-header-icon-left flex basis-10 py-1.5 shrink-0 grow-0 place-items-center rounded bg-sky-400\">\r\n <fa-icon class=\"mx-auto\" [icon]=\"faContainerStorage()\"></fa-icon>\r\n </div>\r\n <div class=\"card-header-text-middle grow\">\r\n <div class=\"block font-medium text-large\">{{ container.formatted.containerNumber }}</div>\r\n </div>\r\n <div\r\n class=\"card-header-icons-right text-sm text-gray-900 leading-5 flex flex-wrap items-stretch text-center font-bold\">\r\n @if (container.containerStatus) {\r\n <div class=\"min-w-[36px] px-2 py-1 bg-white text-black\"> {{\r\n container.formatted.containerStatus }}</div>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n <div card-lines class=\"grid grid-cols-2 gap-2\">\r\n <spx-card-line [text]=\"textContainerType() | translate | capitalize\"\r\n [value]=\"container.formatted.containerType\"></spx-card-line>\r\n <spx-card-line [text]=\"textCategory() | translate | capitalize\"\r\n [value]=\"container.formatted.category\"></spx-card-line>\r\n <spx-card-line [text]=\"textLocation() | translate | capitalize\"\r\n [value]=\"container.formatted.location\"></spx-card-line>\r\n </div>\r\n </spx-card>\r\n }\r\n }\r\n @if (containers().length > 0) {\r\n <spx-pagination\r\n [spxPage]=\"currentPage()\"\r\n [spxMaxPages]=\"(containers().length < (pageSize() + 1)) ? (currentPage() + 1) : currentPage()\"\r\n [faArrowLeft]=\"faArrowLeft()\"\r\n [faArrowRight]=\"faArrowRight()\"\r\n [textPage]=\"textPage()\"\r\n [textPrevious]=\"textPrevious()\"\r\n [textNext]=\"textNext()\"\r\n (spxPageChange)=\"onPageChange($event)\">\r\n </spx-pagination>\r\n }\r\n </div>\r\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"softpak-components-spx-stock-info.mjs","sources":["../../../../projects/softpak/components/spx-stock-info/spx-stock-info.component.ts","../../../../projects/softpak/components/spx-stock-info/spx-stock-info.component.html","../../../../projects/softpak/components/spx-stock-info/softpak-components-spx-stock-info.ts"],"sourcesContent":["import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { FormBuilder, FormControl, FormGroup, FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { spxValidatorRequired } from '@softpak/components/spx-validation';\r\nimport { SpxInputTypeEnum, SpxValuePair } from '@softpak/components/spx-inputs';\r\nimport { SpxFormButtonTypeEnum, SpxFormFieldI, SpxFormI, SpxFormViewComponent } from '@softpak/components/spx-form-view';\r\nimport { SpxSeverityEnum, valuePairToValue } from '@softpak/components/spx-helpers';\r\nimport { SpxStockInfoValueI } from './spx-stock-info-value.interface';\r\nimport { SpxPaginationComponent } from '@softpak/components/spx-pagination';\r\nimport { IconProp } from '@fortawesome/fontawesome-svg-core';\r\nimport { SpxAlertComponent } from '@softpak/components/spx-alert';\r\nimport { SpxCardComponent, SpxCardLineComponent } from '@softpak/components/spx-card';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { SpxCapitalizePipe } from '@softpak/components/spx-capitalize';\r\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\r\n\r\nexport const ctrlCategory = 'ctrlCategory';\r\nexport const ctrlContainerStatus = 'ctrlContainerStatus';\r\nexport const ctrlContainerStatusGroup = 'ctrlContainerStatusGroup';\r\nexport const ctrlContainerType = 'ctrlContainerType';\r\nexport const ctrlCustomer = 'ctrlCustomer';\r\nexport const ctrlDepot = 'ctrlDepot';\r\nexport const ctrlLocation = 'ctrlLocation';\r\nexport const sectionContainerInfo = 'sectionContainerInfo';\r\nexport const sectionCustomer = 'sectionCustomer';\r\nexport const sectionLocation = 'sectionLocation';\r\n\r\n@Component({\r\n selector: 'spx-stock-info',\r\n templateUrl: './spx-stock-info.component.html',\r\n imports: [\r\n FormsModule,\r\n FontAwesomeModule,\r\n ReactiveFormsModule,\r\n SpxAlertComponent,\r\n SpxCapitalizePipe,\r\n SpxCardComponent,\r\n SpxCardLineComponent,\r\n SpxFormViewComponent,\r\n SpxPaginationComponent,\r\n TranslateModule\r\n ]\r\n})\r\nexport class SpxStockInfoComponent {\r\n @Input() depotReadonly = true;\r\n @Input() statusGroupsInPatch!: boolean;\r\n @Input() containers!: any[];\r\n @Input() currentPage!: number;\r\n @Input() faArrowLeft!: IconProp;\r\n @Input() faArrowRight!: IconProp;\r\n @Input() faContainerStorage!: IconProp;\r\n @Input() formGroup!: FormGroup;\r\n @Input() loaded!: boolean;\r\n @Input() pageSize!: number;\r\n @Input() suggestions: any = {};\r\n @Input() textCategory!: string;\r\n @Input() textContainerInfo!: string;\r\n @Input() textContainerStatus!: string;\r\n @Input() textContainerStatusGroup!: string;\r\n @Input() textContainerType!: string;\r\n @Input() textCustomer!: string;\r\n @Input() textDepot!: string;\r\n @Input() textLocation!: string;\r\n @Input() textNext!: string;\r\n @Input() textPage!: string;\r\n @Input() textPrevious!: string;\r\n @Input() textSearch!: string;\r\n @Input() textNoResults!: string;\r\n @Input() textYouCanChangeYourFilters!: string;\r\n @Output() spxBlurCategory: EventEmitter<SpxValuePair<string>> = new EventEmitter<SpxValuePair<string>>();\r\n @Output() spxBlurContainerStatus: EventEmitter<SpxValuePair<string>> = new EventEmitter<SpxValuePair<string>>();\r\n @Output() spxBlurContainerStatusGroup: EventEmitter<SpxValuePair<string>> = new EventEmitter<SpxValuePair<string>>();\r\n @Output() spxBlurContainerType: EventEmitter<SpxValuePair<string>> = new EventEmitter<SpxValuePair<string>>();\r\n @Output() spxBlurCustomer: EventEmitter<SpxValuePair<string>> = new EventEmitter<SpxValuePair<string>>();\r\n @Output() spxBlurDepot: EventEmitter<SpxValuePair<string>> = new EventEmitter<SpxValuePair<string>>();\r\n @Output() spxClickContainer: EventEmitter<any> = new EventEmitter<any>();\r\n @Output() spxPageChange: EventEmitter<number> = new EventEmitter<number>();\r\n @Output() spxSearchCategory: EventEmitter<SpxValuePair<string>> = new EventEmitter<SpxValuePair<string>>();\r\n @Output() spxSearchContainerStatus: EventEmitter<SpxValuePair<string>> = new EventEmitter<SpxValuePair<string>>();\r\n @Output() spxSearchContainerStatusGroup: EventEmitter<SpxValuePair<string>> = new EventEmitter<SpxValuePair<string>>();\r\n @Output() spxSearchContainerType: EventEmitter<SpxValuePair<string>> = new EventEmitter<SpxValuePair<string>>();\r\n @Output() spxSearchCustomer: EventEmitter<SpxValuePair<string>> = new EventEmitter<SpxValuePair<string>>();\r\n @Output() spxSearchDepot: EventEmitter<SpxValuePair<string>> = new EventEmitter<SpxValuePair<string>>();\r\n @Output() spxSubmit: EventEmitter<SpxStockInfoValueI> = new EventEmitter<SpxStockInfoValueI>();\r\n severityInfo = SpxSeverityEnum.info;\r\n\r\n\r\n form: SpxFormI = {\r\n buttons: [\r\n {\r\n severity: SpxSeverityEnum.success,\r\n type: SpxFormButtonTypeEnum.submit,\r\n label: () => this.textSearch,\r\n }\r\n ],\r\n sections: [\r\n {\r\n key: sectionLocation,\r\n show: () => true,\r\n title: () => this.textLocation,\r\n fields: [\r\n {\r\n key: ctrlDepot,\r\n label: () => this.textDepot,\r\n type: () => SpxInputTypeEnum.autocomplete,\r\n defaultValue: () => null,\r\n validators: () => [spxValidatorRequired()],\r\n readonly: () => this.depotReadonly,\r\n suggestions: () => true,\r\n afterValueChange: undefined,\r\n show: () => true,\r\n capitalize: () => true,\r\n },\r\n {\r\n key: ctrlLocation,\r\n label: () => this.textLocation,\r\n type: () => SpxInputTypeEnum.text,\r\n defaultValue: () => null,\r\n validators: () => [],\r\n readonly: () => false,\r\n suggestions: () => false,\r\n afterValueChange: undefined,\r\n show: () => true,\r\n capitalize: () => true,\r\n },\r\n ]\r\n },\r\n {\r\n key: sectionCustomer,\r\n show: () => true,\r\n title: () => this.textCustomer,\r\n fields: [\r\n {\r\n key: ctrlCustomer,\r\n label: () => this.textCustomer,\r\n type: () => SpxInputTypeEnum.autocomplete,\r\n defaultValue: () => null,\r\n validators: () => [],\r\n readonly: () => false,\r\n suggestions: () => true,\r\n afterValueChange: undefined,\r\n show: () => true,\r\n capitalize: () => true,\r\n },\r\n ]\r\n },\r\n {\r\n key: sectionContainerInfo,\r\n show: () => true,\r\n title: () => this.textContainerInfo,\r\n fields: [\r\n {\r\n key: ctrlCategory,\r\n label: () => this.textCategory,\r\n type: () => SpxInputTypeEnum.autocomplete,\r\n defaultValue: () => null,\r\n validators: () => [],\r\n readonly: () => false,\r\n suggestions: () => true,\r\n afterValueChange: undefined,\r\n show: () => true,\r\n capitalize: () => true,\r\n },\r\n {\r\n key: ctrlContainerStatus,\r\n label: () => this.textContainerStatus,\r\n type: () => SpxInputTypeEnum.autocomplete,\r\n defaultValue: () => null,\r\n validators: () => [],\r\n readonly: () => false,\r\n suggestions: () => true,\r\n afterValueChange: undefined,\r\n show: () => true,\r\n capitalize: () => true,\r\n },\r\n {\r\n key: ctrlContainerStatusGroup,\r\n label: () => this.textContainerStatusGroup,\r\n type: () => SpxInputTypeEnum.autocomplete,\r\n defaultValue: () => null,\r\n validators: () => [],\r\n readonly: () => false,\r\n suggestions: () => true,\r\n afterValueChange: undefined,\r\n show: () => this.statusGroupsInPatch,\r\n capitalize: () => true,\r\n },\r\n {\r\n key: ctrlContainerType,\r\n label: () => this.textContainerType,\r\n type: () => SpxInputTypeEnum.autocomplete,\r\n defaultValue: () => null,\r\n validators: () => [],\r\n readonly: () => false,\r\n suggestions: () => true,\r\n afterValueChange: undefined,\r\n show: () => true,\r\n capitalize: () => true,\r\n },\r\n ]\r\n },\r\n ]\r\n };\r\n\r\n get ctrlCategory(): FormControl { return this.formGroup.get(ctrlCategory) as FormControl; }\r\n get ctrlContainerStatus(): FormControl { return this.formGroup.get(ctrlContainerStatus) as FormControl; }\r\n get ctrlContainerStatusGroup(): FormControl { return this.formGroup.get(ctrlContainerStatusGroup) as FormControl; }\r\n get ctrlContainerType(): FormControl { return this.formGroup.get(ctrlContainerType) as FormControl; }\r\n get ctrlCustomer(): FormControl { return this.formGroup.get(ctrlCustomer) as FormControl; }\r\n get ctrlDepot(): FormControl { return this.formGroup.get(ctrlDepot) as FormControl; }\r\n get ctrlLocation(): FormControl { return this.formGroup.get(ctrlLocation) as FormControl; }\r\n\r\n constructor(readonly formBuilder: FormBuilder) {\r\n }\r\n\r\n createForm(): FormGroup {\r\n return SpxFormViewComponent.createForm(this.formBuilder, this.form.sections);\r\n }\r\n\r\n getRawValidators(formControl: FormControl) {\r\n return (formControl as any)._rawValidators;\r\n }\r\n\r\n onBlur(data: { field: SpxFormFieldI, valuePair: SpxValuePair<any> }) {\r\n if (valuePairToValue(data.valuePair)) {\r\n if (data.field.key === ctrlCategory) {\r\n this.spxBlurCategory.emit(data.valuePair);\r\n }\r\n if (data.field.key === ctrlContainerStatus) {\r\n this.spxBlurContainerStatus.emit(data.valuePair);\r\n }\r\n if (data.field.key === ctrlContainerStatusGroup) {\r\n this.spxBlurContainerStatusGroup.emit(data.valuePair);\r\n }\r\n if (data.field.key === ctrlContainerType) {\r\n this.spxBlurContainerType.emit(data.valuePair);\r\n }\r\n if (data.field.key === ctrlCustomer) {\r\n this.spxBlurCustomer.emit(data.valuePair);\r\n }\r\n if (data.field.key === ctrlDepot) {\r\n this.spxBlurDepot.emit(data.valuePair);\r\n }\r\n }\r\n }\r\n\r\n onSearch(data: { field: SpxFormFieldI, valuePair: SpxValuePair<any> }) {\r\n if (data.field.key === ctrlCategory) {\r\n this.spxSearchCategory.emit(data.valuePair);\r\n }\r\n if (data.field.key === ctrlContainerType) {\r\n this.spxSearchContainerType.emit(data.valuePair);\r\n }\r\n if (data.field.key === ctrlContainerStatus) {\r\n this.spxSearchContainerStatus.emit(data.valuePair);\r\n }\r\n if (data.field.key === ctrlContainerStatusGroup) {\r\n this.spxSearchContainerStatusGroup.emit(data.valuePair);\r\n }\r\n if (data.field.key === ctrlCustomer) {\r\n this.spxSearchCustomer.emit(data.valuePair);\r\n }\r\n if (data.field.key === ctrlDepot) {\r\n this.spxSearchDepot.emit(data.valuePair);\r\n }\r\n }\r\n\r\n onPageChange(page: number) {\r\n this.spxPageChange.emit(page);\r\n }\r\n\r\n goToContainer(container: any) {\r\n this.spxClickContainer.emit(container);\r\n }\r\n\r\n onSubmit(): void {\r\n this.spxSubmit.emit({\r\n ctrlCategory: this.ctrlCategory.value,\r\n ctrlContainerStatus: this.ctrlContainerStatus.value,\r\n ctrlContainerStatusGroup: this.ctrlContainerStatusGroup.value,\r\n ctrlContainerType: this.ctrlContainerType.value,\r\n ctrlCustomer: this.ctrlCustomer.value,\r\n ctrlDepot: this.ctrlDepot.value,\r\n ctrlLocation: this.ctrlLocation.value,\r\n });\r\n }\r\n}\r\n","@if (!loaded) {\r\n <form [formGroup]=\"formGroup\" class=\"max-w-lg mx-auto flex flex-col gap-3\" (ngSubmit)=\"onSubmit()\">\r\n <spx-form-view\r\n [spxFormGroup]=\"formGroup\"\r\n [spxForm]=\"form\"\r\n [spxSuggestions]=\"suggestions\"\r\n (spxBlur)=\"onBlur($event)\"\r\n (spxSearch)=\"onSearch($event)\">\r\n </spx-form-view>\r\n </form>\r\n}\r\n\r\n@if (loaded) {\r\n <div class=\"flex flex-col gap-3\">\r\n @if (containers.length > 0) {\r\n <spx-pagination\r\n [spxPage]=\"currentPage\"\r\n [spxMaxPages]=\"(containers.length < (pageSize + 1)) ? (currentPage + 1) : currentPage\"\r\n [faArrowLeft]=\"faArrowLeft\"\r\n [faArrowRight]=\"faArrowRight\"\r\n [textPage]=\"textPage\"\r\n [textPrevious]=\"textPrevious\"\r\n [textNext]=\"textNext\"\r\n (spxPageChange)=\"onPageChange($event)\">\r\n </spx-pagination>\r\n }\r\n @if (containers.length === 0) {\r\n <spx-alert [spxSeverity]=\"severityInfo\" [spxTitle]=\"textNoResults | translate | capitalize\">\r\n {{ textYouCanChangeYourFilters | translate | capitalize }}\r\n </spx-alert>\r\n }\r\n @for (container of containers; track container; let i = $index) {\r\n @if (i < pageSize) {\r\n <spx-card [hasContent]=\"false\" (clicked)=\"goToContainer(container)\">\r\n <div card-header class=\"card-header rounded-t-lg p-3 bg-sky-200\">\r\n <div class=\"flex flex-row space-x-3 items-center w-full\">\r\n <div\r\n class=\"card-header-icon-left flex basis-10 py-1.5 shrink-0 grow-0 place-items-center rounded bg-sky-400\">\r\n <fa-icon class=\"mx-auto\" [icon]=\"faContainerStorage\"></fa-icon>\r\n </div>\r\n <div class=\"card-header-text-middle grow\">\r\n <div class=\"block font-medium text-large\">{{ container.formatted.containerNumber }}</div>\r\n </div>\r\n <div\r\n class=\"card-header-icons-right text-sm text-gray-900 leading-5 flex flex-wrap items-stretch text-center font-bold\">\r\n @if (container.containerStatus) {\r\n <div class=\"min-w-[36px] px-2 py-1 bg-white text-black\"> {{\r\n container.formatted.containerStatus }}</div>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n <div card-lines class=\"grid grid-cols-2 gap-2\">\r\n <spx-card-line [text]=\"textContainerType | translate | capitalize\"\r\n [value]=\"container.formatted.containerType\"></spx-card-line>\r\n <spx-card-line [text]=\"textCategory | translate | capitalize\"\r\n [value]=\"container.formatted.category\"></spx-card-line>\r\n <spx-card-line [text]=\"textLocation | translate | capitalize\"\r\n [value]=\"container.formatted.location\"></spx-card-line>\r\n </div>\r\n </spx-card>\r\n }\r\n }\r\n @if (containers.length > 0) {\r\n <spx-pagination\r\n [spxPage]=\"currentPage\"\r\n [spxMaxPages]=\"(containers.length < (pageSize + 1)) ? (currentPage + 1) : currentPage\"\r\n [faArrowLeft]=\"faArrowLeft\"\r\n [faArrowRight]=\"faArrowRight\"\r\n [textPage]=\"textPage\"\r\n [textPrevious]=\"textPrevious\"\r\n [textNext]=\"textNext\"\r\n (spxPageChange)=\"onPageChange($event)\">\r\n </spx-pagination>\r\n }\r\n </div>\r\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}