@hitsoft/abp.kadooglu 1.0.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 (182) hide show
  1. package/README.md +24 -0
  2. package/config/enums/index.d.ts +1 -0
  3. package/config/enums/route-names.d.ts +12 -0
  4. package/config/index.d.ts +5 -0
  5. package/config/kadooglu-config.module.d.ts +8 -0
  6. package/config/providers/hit-providers/hit-carrier-person-route.provider.d.ts +9 -0
  7. package/config/providers/hit-providers/hit-entry-weighing-route.provider.d.ts +9 -0
  8. package/config/providers/hit-providers/hit-factory-entry-route.provider.d.ts +9 -0
  9. package/config/providers/hit-providers/hit-gate-route.provider.d.ts +9 -0
  10. package/config/providers/hit-providers/hit-knt-item-esl-route.provider.d.ts +9 -0
  11. package/config/providers/hit-providers/hit-plate-route.provider.d.ts +9 -0
  12. package/config/providers/hit-providers/hit-route.provider.d.ts +8 -0
  13. package/config/providers/hit-providers/hit-scale-route.provider.d.ts +9 -0
  14. package/config/providers/hit-providers/hit-tanimlamalar-route.provider.d.ts +9 -0
  15. package/config/providers/hit-providers/hit-vehicle-type-route.provider.d.ts +9 -0
  16. package/config/providers/index.d.ts +1 -0
  17. package/config/providers/route.provider.d.ts +8 -0
  18. package/config/public-api.d.ts +3 -0
  19. package/esm2020/config/enums/index.mjs +2 -0
  20. package/esm2020/config/enums/route-names.mjs +2 -0
  21. package/esm2020/config/hitsoft-abp.kadooglu-config.mjs +5 -0
  22. package/esm2020/config/kadooglu-config.module.mjs +40 -0
  23. package/esm2020/config/providers/hit-providers/hit-carrier-person-route.provider.mjs +20 -0
  24. package/esm2020/config/providers/hit-providers/hit-entry-weighing-route.provider.mjs +20 -0
  25. package/esm2020/config/providers/hit-providers/hit-factory-entry-route.provider.mjs +20 -0
  26. package/esm2020/config/providers/hit-providers/hit-gate-route.provider.mjs +20 -0
  27. package/esm2020/config/providers/hit-providers/hit-knt-item-esl-route.provider.mjs +20 -0
  28. package/esm2020/config/providers/hit-providers/hit-plate-route.provider.mjs +20 -0
  29. package/esm2020/config/providers/hit-providers/hit-route.provider.mjs +24 -0
  30. package/esm2020/config/providers/hit-providers/hit-scale-route.provider.mjs +20 -0
  31. package/esm2020/config/providers/hit-providers/hit-tanimlamalar-route.provider.mjs +20 -0
  32. package/esm2020/config/providers/hit-providers/hit-vehicle-type-route.provider.mjs +20 -0
  33. package/esm2020/config/providers/index.mjs +2 -0
  34. package/esm2020/config/providers/route.provider.mjs +24 -0
  35. package/esm2020/config/public-api.mjs +4 -0
  36. package/esm2020/hitsoft-abp.kadooglu.mjs +5 -0
  37. package/esm2020/lib/components/kadooglu.component.mjs +18 -0
  38. package/esm2020/lib/hit-components/hit-carrier-person/hit-carrier-person-form/hit-carrier-person-form.component.mjs +160 -0
  39. package/esm2020/lib/hit-components/hit-carrier-person/hit-carrier-person-list/hit-carrier-person-list.component.mjs +101 -0
  40. package/esm2020/lib/hit-components/hit-carrier-person/hit-carrier-person-routing.module.mjs +21 -0
  41. package/esm2020/lib/hit-components/hit-carrier-person/hit-carrier-person.module.mjs +68 -0
  42. package/esm2020/lib/hit-components/hit-entry-weighing/hit-entry-weighing-form/hit-entry-weighing-form.component.mjs +544 -0
  43. package/esm2020/lib/hit-components/hit-entry-weighing/hit-entry-weighing-list/hit-entry-weighing-list.component.mjs +202 -0
  44. package/esm2020/lib/hit-components/hit-entry-weighing/hit-entry-weighing-routing.module.mjs +24 -0
  45. package/esm2020/lib/hit-components/hit-entry-weighing/hit-entry-weighing.module.mjs +77 -0
  46. package/esm2020/lib/hit-components/hit-factory-entry/hit-factory-entry-form/hit-factory-entry-form.component.mjs +380 -0
  47. package/esm2020/lib/hit-components/hit-factory-entry/hit-factory-entry-list/hit-factory-entry-list.component.mjs +115 -0
  48. package/esm2020/lib/hit-components/hit-factory-entry/hit-factory-entry-routing.module.mjs +21 -0
  49. package/esm2020/lib/hit-components/hit-factory-entry/hit-factory-entry.module.mjs +83 -0
  50. package/esm2020/lib/hit-components/hit-gate/hit-gate-form/hit-gate-form.component.mjs +148 -0
  51. package/esm2020/lib/hit-components/hit-gate/hit-gate-list/hit-gate-list.component.mjs +93 -0
  52. package/esm2020/lib/hit-components/hit-gate/hit-gate-routing.module.mjs +21 -0
  53. package/esm2020/lib/hit-components/hit-gate/hit-gate.module.mjs +71 -0
  54. package/esm2020/lib/hit-components/hit-knt-item-esl/hit-knt-item-esl-form/hit-knt-item-esl-form.component.mjs +140 -0
  55. package/esm2020/lib/hit-components/hit-knt-item-esl/hit-knt-item-esl-list/hit-knt-item-esl-list.component.mjs +78 -0
  56. package/esm2020/lib/hit-components/hit-knt-item-esl/hit-knt-item-esl-routing.module.mjs +21 -0
  57. package/esm2020/lib/hit-components/hit-knt-item-esl/hit-knt-item-esl.module.mjs +68 -0
  58. package/esm2020/lib/hit-components/hit-plate/hit-plate-form/hit-plate-form.component.mjs +102 -0
  59. package/esm2020/lib/hit-components/hit-plate/hit-plate-list/hit-plate-list.component.mjs +101 -0
  60. package/esm2020/lib/hit-components/hit-plate/hit-plate-routing.module.mjs +21 -0
  61. package/esm2020/lib/hit-components/hit-plate/hit-plate.module.mjs +68 -0
  62. package/esm2020/lib/hit-components/hit-scale/hit-scale-form/hit-scale-form.component.mjs +127 -0
  63. package/esm2020/lib/hit-components/hit-scale/hit-scale-list/hit-scale-list.component.mjs +106 -0
  64. package/esm2020/lib/hit-components/hit-scale/hit-scale-routing.module.mjs +21 -0
  65. package/esm2020/lib/hit-components/hit-scale/hit-scale.module.mjs +71 -0
  66. package/esm2020/lib/hit-components/hit-vehicle-type/hit-vehicle-type-form/hit-vehicle-type-form.component.mjs +143 -0
  67. package/esm2020/lib/hit-components/hit-vehicle-type/hit-vehicle-type-list/hit-vehicle-type-list.component.mjs +96 -0
  68. package/esm2020/lib/hit-components/hit-vehicle-type/hit-vehicle-type-routing.module.mjs +21 -0
  69. package/esm2020/lib/hit-components/hit-vehicle-type/hit-vehicle-type.module.mjs +68 -0
  70. package/esm2020/lib/hit-proxy/hit-business-partner/hit-business-partner.service.mjs +22 -0
  71. package/esm2020/lib/hit-proxy/hit-business-partner/models.mjs +2 -0
  72. package/esm2020/lib/hit-proxy/hit-carrier-person/hit-carrier-person.service.mjs +33 -0
  73. package/esm2020/lib/hit-proxy/hit-carrier-person/models.mjs +2 -0
  74. package/esm2020/lib/hit-proxy/hit-entry-weighing/hit-entry-weighing.service.mjs +95 -0
  75. package/esm2020/lib/hit-proxy/hit-entry-weighing/models.mjs +2 -0
  76. package/esm2020/lib/hit-proxy/hit-factory-entry/hit-factory-entry.service.mjs +34 -0
  77. package/esm2020/lib/hit-proxy/hit-factory-entry/models.mjs +2 -0
  78. package/esm2020/lib/hit-proxy/hit-gate/hit-gate.service.mjs +33 -0
  79. package/esm2020/lib/hit-proxy/hit-gate/models.mjs +2 -0
  80. package/esm2020/lib/hit-proxy/hit-item/hit-item.service.mjs +22 -0
  81. package/esm2020/lib/hit-proxy/hit-item/models.mjs +2 -0
  82. package/esm2020/lib/hit-proxy/hit-knt-item-esl/hit-knt-item-esl.service.mjs +33 -0
  83. package/esm2020/lib/hit-proxy/hit-knt-item-esl/models.mjs +2 -0
  84. package/esm2020/lib/hit-proxy/hit-plate/hit-plate.service.mjs +33 -0
  85. package/esm2020/lib/hit-proxy/hit-plate/models.mjs +2 -0
  86. package/esm2020/lib/hit-proxy/hit-purchase-delivery-note/hit-purchase-delivery-note.service.mjs +22 -0
  87. package/esm2020/lib/hit-proxy/hit-purchase-delivery-note/models.mjs +2 -0
  88. package/esm2020/lib/hit-proxy/hit-scale/hit-scale.service.mjs +33 -0
  89. package/esm2020/lib/hit-proxy/hit-scale/models.mjs +2 -0
  90. package/esm2020/lib/hit-proxy/hit-stock-transfer/hit-stock-transfer.service.mjs +22 -0
  91. package/esm2020/lib/hit-proxy/hit-stock-transfer/models.mjs +2 -0
  92. package/esm2020/lib/hit-proxy/hit-user-gate/hit-user-gate.service.mjs +31 -0
  93. package/esm2020/lib/hit-proxy/hit-user-gate/models.mjs +2 -0
  94. package/esm2020/lib/hit-proxy/hit-vehicle-type/hit-vehicle-type.service.mjs +33 -0
  95. package/esm2020/lib/hit-proxy/hit-vehicle-type/models.mjs +2 -0
  96. package/esm2020/lib/hit-proxy/hit-warehouse/hit-warehouse.service.mjs +21 -0
  97. package/esm2020/lib/hit-proxy/hit-warehouse/models.mjs +2 -0
  98. package/esm2020/lib/hit-proxy/models.mjs +2 -0
  99. package/esm2020/lib/kadooglu-routing.module.mjs +41 -0
  100. package/esm2020/lib/kadooglu.module.mjs +49 -0
  101. package/esm2020/lib/services/kadooglu.service.mjs +21 -0
  102. package/esm2020/lib/shared/hit-modal/hit-modal.component.mjs +110 -0
  103. package/esm2020/lib/shared/hit-modal/hit-ui.module.mjs +35 -0
  104. package/esm2020/public-api.mjs +9 -0
  105. package/fesm2015/hitsoft-abp.kadooglu-config.mjs +243 -0
  106. package/fesm2015/hitsoft-abp.kadooglu-config.mjs.map +1 -0
  107. package/fesm2015/hitsoft-abp.kadooglu.mjs +3774 -0
  108. package/fesm2015/hitsoft-abp.kadooglu.mjs.map +1 -0
  109. package/fesm2020/hitsoft-abp.kadooglu-config.mjs +243 -0
  110. package/fesm2020/hitsoft-abp.kadooglu-config.mjs.map +1 -0
  111. package/fesm2020/hitsoft-abp.kadooglu.mjs +3728 -0
  112. package/fesm2020/hitsoft-abp.kadooglu.mjs.map +1 -0
  113. package/index.d.ts +5 -0
  114. package/lib/components/kadooglu.component.d.ts +10 -0
  115. package/lib/hit-components/hit-carrier-person/hit-carrier-person-form/hit-carrier-person-form.component.d.ts +49 -0
  116. package/lib/hit-components/hit-carrier-person/hit-carrier-person-list/hit-carrier-person-list.component.d.ts +30 -0
  117. package/lib/hit-components/hit-carrier-person/hit-carrier-person-routing.module.d.ts +7 -0
  118. package/lib/hit-components/hit-carrier-person/hit-carrier-person.module.d.ts +19 -0
  119. package/lib/hit-components/hit-entry-weighing/hit-entry-weighing-form/hit-entry-weighing-form.component.d.ts +200 -0
  120. package/lib/hit-components/hit-entry-weighing/hit-entry-weighing-list/hit-entry-weighing-list.component.d.ts +46 -0
  121. package/lib/hit-components/hit-entry-weighing/hit-entry-weighing-routing.module.d.ts +7 -0
  122. package/lib/hit-components/hit-entry-weighing/hit-entry-weighing.module.d.ts +19 -0
  123. package/lib/hit-components/hit-factory-entry/hit-factory-entry-form/hit-factory-entry-form.component.d.ts +119 -0
  124. package/lib/hit-components/hit-factory-entry/hit-factory-entry-list/hit-factory-entry-list.component.d.ts +32 -0
  125. package/lib/hit-components/hit-factory-entry/hit-factory-entry-routing.module.d.ts +7 -0
  126. package/lib/hit-components/hit-factory-entry/hit-factory-entry.module.d.ts +19 -0
  127. package/lib/hit-components/hit-gate/hit-gate-form/hit-gate-form.component.d.ts +42 -0
  128. package/lib/hit-components/hit-gate/hit-gate-list/hit-gate-list.component.d.ts +29 -0
  129. package/lib/hit-components/hit-gate/hit-gate-routing.module.d.ts +7 -0
  130. package/lib/hit-components/hit-gate/hit-gate.module.d.ts +19 -0
  131. package/lib/hit-components/hit-knt-item-esl/hit-knt-item-esl-form/hit-knt-item-esl-form.component.d.ts +46 -0
  132. package/lib/hit-components/hit-knt-item-esl/hit-knt-item-esl-list/hit-knt-item-esl-list.component.d.ts +27 -0
  133. package/lib/hit-components/hit-knt-item-esl/hit-knt-item-esl-routing.module.d.ts +7 -0
  134. package/lib/hit-components/hit-knt-item-esl/hit-knt-item-esl.module.d.ts +19 -0
  135. package/lib/hit-components/hit-plate/hit-plate-form/hit-plate-form.component.d.ts +29 -0
  136. package/lib/hit-components/hit-plate/hit-plate-list/hit-plate-list.component.d.ts +30 -0
  137. package/lib/hit-components/hit-plate/hit-plate-routing.module.d.ts +7 -0
  138. package/lib/hit-components/hit-plate/hit-plate.module.d.ts +19 -0
  139. package/lib/hit-components/hit-scale/hit-scale-form/hit-scale-form.component.d.ts +44 -0
  140. package/lib/hit-components/hit-scale/hit-scale-list/hit-scale-list.component.d.ts +41 -0
  141. package/lib/hit-components/hit-scale/hit-scale-routing.module.d.ts +7 -0
  142. package/lib/hit-components/hit-scale/hit-scale.module.d.ts +19 -0
  143. package/lib/hit-components/hit-vehicle-type/hit-vehicle-type-form/hit-vehicle-type-form.component.d.ts +46 -0
  144. package/lib/hit-components/hit-vehicle-type/hit-vehicle-type-list/hit-vehicle-type-list.component.d.ts +29 -0
  145. package/lib/hit-components/hit-vehicle-type/hit-vehicle-type-routing.module.d.ts +7 -0
  146. package/lib/hit-components/hit-vehicle-type/hit-vehicle-type.module.d.ts +19 -0
  147. package/lib/hit-proxy/hit-business-partner/hit-business-partner.service.d.ts +13 -0
  148. package/lib/hit-proxy/hit-business-partner/models.d.ts +5 -0
  149. package/lib/hit-proxy/hit-carrier-person/hit-carrier-person.service.d.ts +17 -0
  150. package/lib/hit-proxy/hit-carrier-person/models.d.ts +22 -0
  151. package/lib/hit-proxy/hit-entry-weighing/hit-entry-weighing.service.d.ts +49 -0
  152. package/lib/hit-proxy/hit-entry-weighing/models.d.ts +107 -0
  153. package/lib/hit-proxy/hit-factory-entry/hit-factory-entry.service.d.ts +17 -0
  154. package/lib/hit-proxy/hit-factory-entry/models.d.ts +40 -0
  155. package/lib/hit-proxy/hit-gate/hit-gate.service.d.ts +17 -0
  156. package/lib/hit-proxy/hit-gate/models.d.ts +10 -0
  157. package/lib/hit-proxy/hit-item/hit-item.service.d.ts +13 -0
  158. package/lib/hit-proxy/hit-item/models.d.ts +4 -0
  159. package/lib/hit-proxy/hit-knt-item-esl/hit-knt-item-esl.service.d.ts +21 -0
  160. package/lib/hit-proxy/hit-knt-item-esl/models.d.ts +16 -0
  161. package/lib/hit-proxy/hit-plate/hit-plate.service.d.ts +17 -0
  162. package/lib/hit-proxy/hit-plate/models.d.ts +14 -0
  163. package/lib/hit-proxy/hit-purchase-delivery-note/hit-purchase-delivery-note.service.d.ts +13 -0
  164. package/lib/hit-proxy/hit-purchase-delivery-note/models.d.ts +9 -0
  165. package/lib/hit-proxy/hit-scale/hit-scale.service.d.ts +17 -0
  166. package/lib/hit-proxy/hit-scale/models.d.ts +20 -0
  167. package/lib/hit-proxy/hit-stock-transfer/hit-stock-transfer.service.d.ts +13 -0
  168. package/lib/hit-proxy/hit-stock-transfer/models.d.ts +15 -0
  169. package/lib/hit-proxy/hit-user-gate/hit-user-gate.service.d.ts +18 -0
  170. package/lib/hit-proxy/hit-user-gate/models.d.ts +7 -0
  171. package/lib/hit-proxy/hit-vehicle-type/hit-vehicle-type.service.d.ts +17 -0
  172. package/lib/hit-proxy/hit-vehicle-type/models.d.ts +18 -0
  173. package/lib/hit-proxy/hit-warehouse/hit-warehouse.service.d.ts +13 -0
  174. package/lib/hit-proxy/hit-warehouse/models.d.ts +4 -0
  175. package/lib/hit-proxy/models.d.ts +8 -0
  176. package/lib/kadooglu-routing.module.d.ts +7 -0
  177. package/lib/kadooglu.module.d.ts +17 -0
  178. package/lib/services/kadooglu.service.d.ts +10 -0
  179. package/lib/shared/hit-modal/hit-modal.component.d.ts +30 -0
  180. package/lib/shared/hit-modal/hit-ui.module.d.ts +11 -0
  181. package/package.json +41 -0
  182. package/public-api.d.ts +4 -0
@@ -0,0 +1,3728 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Injectable, Component, EventEmitter, ViewEncapsulation, ViewChild, Input, Output, NgModule } from '@angular/core';
3
+ import * as i1 from '@abp/ng.core';
4
+ import { CoreModule, LazyModuleFactory } from '@abp/ng.core';
5
+ import { locale } from 'devextreme/localization';
6
+ import * as i6 from '@angular/common';
7
+ import { CommonModule } from '@angular/common';
8
+ import * as i2$1 from '@abp/ng.theme.shared';
9
+ import { ThemeSharedModule } from '@abp/ng.theme.shared';
10
+ import * as i1$1 from '@angular/router';
11
+ import { RouterModule } from '@angular/router';
12
+ import * as i2 from '@angular/forms';
13
+ import { FormsModule } from '@angular/forms';
14
+ import * as i4 from '@abp/ng.components/page';
15
+ import { PageModule } from '@abp/ng.components/page';
16
+ import { CommercialUiModule } from '@volo/abp.commercial.ng.ui';
17
+ import { map } from 'rxjs/operators';
18
+ import { map as map$1, forkJoin } from 'rxjs';
19
+ import * as i5 from 'devextreme-angular';
20
+ import { DxDataGridModule, DxTextBoxModule, DxDateBoxModule, DxNumberBoxModule, DxSelectBoxModule, DxTextAreaModule, DxTagBoxModule, DxButtonModule, DxCheckBoxModule } from 'devextreme-angular';
21
+ import * as i5$1 from 'devextreme-angular/ui/nested';
22
+ import * as i7 from 'devextreme-angular/core';
23
+ import * as i8 from '@ng-bootstrap/ng-bootstrap';
24
+ import { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';
25
+
26
+ class KadoogluService {
27
+ constructor(restService) {
28
+ this.restService = restService;
29
+ this.apiName = 'Kadooglu';
30
+ }
31
+ sample() {
32
+ return this.restService.request({ method: 'GET', url: '/api/Kadooglu/sample' }, { apiName: this.apiName });
33
+ }
34
+ }
35
+ KadoogluService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: KadoogluService, deps: [{ token: i1.RestService }], target: i0.ɵɵFactoryTarget.Injectable });
36
+ KadoogluService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: KadoogluService, providedIn: 'root' });
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: KadoogluService, decorators: [{
38
+ type: Injectable,
39
+ args: [{
40
+ providedIn: 'root',
41
+ }]
42
+ }], ctorParameters: function () { return [{ type: i1.RestService }]; } });
43
+
44
+ class KadoogluComponent {
45
+ constructor(service) {
46
+ this.service = service;
47
+ }
48
+ ngOnInit() {
49
+ this.service.sample().subscribe(console.log);
50
+ }
51
+ }
52
+ KadoogluComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: KadoogluComponent, deps: [{ token: KadoogluService }], target: i0.ɵɵFactoryTarget.Component });
53
+ KadoogluComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: KadoogluComponent, selector: "lib-kadooglu", ngImport: i0, template: ` <p>kadooglu works!</p> `, isInline: true });
54
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: KadoogluComponent, decorators: [{
55
+ type: Component,
56
+ args: [{ selector: 'lib-kadooglu', template: ` <p>kadooglu works!</p> ` }]
57
+ }], ctorParameters: function () { return [{ type: KadoogluService }]; } });
58
+
59
+ class HitFactoryEntryService {
60
+ constructor(restService) {
61
+ this.restService = restService;
62
+ this.apiName = 'Kadooglu';
63
+ this.baseUrl = '/api/entegration-service/factory-entries';
64
+ }
65
+ getList(params) {
66
+ const defaultParams = { maxResultCount: 100, skipCount: 0, ...params };
67
+ return this.restService.request({ method: 'GET', url: this.baseUrl, params: defaultParams }, { apiName: this.apiName }).pipe(map(r => r?.items ?? []));
68
+ }
69
+ get(id) {
70
+ return this.restService.request({ method: 'GET', url: `${this.baseUrl}/${id}` }, { apiName: this.apiName }).pipe(map(r => r?.items));
71
+ }
72
+ create(body) {
73
+ return this.restService.request({ method: 'POST', url: this.baseUrl, body }, { apiName: this.apiName }).pipe(map(r => r?.items));
74
+ }
75
+ update(id, body) {
76
+ return this.restService.request({ method: 'PATCH', url: `${this.baseUrl}/${id}`, body }, { apiName: this.apiName }).pipe(map(r => r?.items));
77
+ }
78
+ delete(id) {
79
+ return this.restService.request({ method: 'DELETE', url: `${this.baseUrl}/${id}` }, { apiName: this.apiName });
80
+ }
81
+ }
82
+ HitFactoryEntryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitFactoryEntryService, deps: [{ token: i1.RestService }], target: i0.ɵɵFactoryTarget.Injectable });
83
+ HitFactoryEntryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitFactoryEntryService, providedIn: 'root' });
84
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitFactoryEntryService, decorators: [{
85
+ type: Injectable,
86
+ args: [{ providedIn: 'root' }]
87
+ }], ctorParameters: function () { return [{ type: i1.RestService }]; } });
88
+
89
+ class HitVehicleTypeService {
90
+ constructor(restService) {
91
+ this.restService = restService;
92
+ this.apiName = 'Kadooglu';
93
+ this.baseUrl = '/api/entegration-service/vehicle-types';
94
+ }
95
+ getList(params) {
96
+ return this.restService.request({ method: 'GET', url: this.baseUrl, params }, { apiName: this.apiName }).pipe(map$1(response => response?.items ?? []));
97
+ }
98
+ get(code) {
99
+ return this.restService.request({ method: 'GET', url: `${this.baseUrl}/${code}` }, { apiName: this.apiName }).pipe(map$1(r => r?.items));
100
+ }
101
+ create(body) {
102
+ return this.restService.request({ method: 'POST', url: this.baseUrl, body }, { apiName: this.apiName }).pipe(map$1(r => r?.items));
103
+ }
104
+ update(code, body) {
105
+ return this.restService.request({ method: 'PATCH', url: `${this.baseUrl}/${code}`, body }, { apiName: this.apiName }).pipe(map$1(r => r?.items));
106
+ }
107
+ delete(code) {
108
+ return this.restService.request({ method: 'DELETE', url: `${this.baseUrl}/${code}` }, { apiName: this.apiName });
109
+ }
110
+ }
111
+ HitVehicleTypeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitVehicleTypeService, deps: [{ token: i1.RestService }], target: i0.ɵɵFactoryTarget.Injectable });
112
+ HitVehicleTypeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitVehicleTypeService, providedIn: 'root' });
113
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitVehicleTypeService, decorators: [{
114
+ type: Injectable,
115
+ args: [{ providedIn: 'root' }]
116
+ }], ctorParameters: function () { return [{ type: i1.RestService }]; } });
117
+
118
+ class HitCarrierPersonService {
119
+ constructor(restService) {
120
+ this.restService = restService;
121
+ this.apiName = 'Kadooglu';
122
+ this.baseUrl = '/api/entegration-service/carrierpersons';
123
+ }
124
+ getList(params) {
125
+ return this.restService.request({ method: 'GET', url: this.baseUrl, params }, { apiName: this.apiName }).pipe(map$1(r => r?.items ?? []));
126
+ }
127
+ get(code) {
128
+ return this.restService.request({ method: 'GET', url: `${this.baseUrl}/${code}` }, { apiName: this.apiName }).pipe(map$1(r => r?.items));
129
+ }
130
+ create(body) {
131
+ return this.restService.request({ method: 'POST', url: this.baseUrl, body }, { apiName: this.apiName }).pipe(map$1(r => r?.items));
132
+ }
133
+ update(code, body) {
134
+ return this.restService.request({ method: 'PATCH', url: `${this.baseUrl}/${code}`, body }, { apiName: this.apiName }).pipe(map$1(r => r?.items));
135
+ }
136
+ delete(code) {
137
+ return this.restService.request({ method: 'DELETE', url: `${this.baseUrl}/${code}` }, { apiName: this.apiName });
138
+ }
139
+ }
140
+ HitCarrierPersonService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitCarrierPersonService, deps: [{ token: i1.RestService }], target: i0.ɵɵFactoryTarget.Injectable });
141
+ HitCarrierPersonService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitCarrierPersonService, providedIn: 'root' });
142
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitCarrierPersonService, decorators: [{
143
+ type: Injectable,
144
+ args: [{ providedIn: 'root' }]
145
+ }], ctorParameters: function () { return [{ type: i1.RestService }]; } });
146
+
147
+ class HitPlateService {
148
+ constructor(restService) {
149
+ this.restService = restService;
150
+ this.apiName = 'Kadooglu';
151
+ this.baseUrl = '/api/entegration-service/plates';
152
+ }
153
+ getList(params) {
154
+ return this.restService.request({ method: 'GET', url: this.baseUrl, params }, { apiName: this.apiName }).pipe(map$1(response => response?.items ?? []));
155
+ }
156
+ get(code) {
157
+ return this.restService.request({ method: 'GET', url: `${this.baseUrl}/${code}` }, { apiName: this.apiName }).pipe(map$1(r => r?.items));
158
+ }
159
+ create(body) {
160
+ return this.restService.request({ method: 'POST', url: this.baseUrl, body }, { apiName: this.apiName }).pipe(map$1(r => r?.items));
161
+ }
162
+ update(code, body) {
163
+ return this.restService.request({ method: 'PATCH', url: `${this.baseUrl}/${code}`, body }, { apiName: this.apiName }).pipe(map$1(r => r?.items));
164
+ }
165
+ delete(code) {
166
+ return this.restService.request({ method: 'DELETE', url: `${this.baseUrl}/${code}` }, { apiName: this.apiName });
167
+ }
168
+ }
169
+ HitPlateService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitPlateService, deps: [{ token: i1.RestService }], target: i0.ɵɵFactoryTarget.Injectable });
170
+ HitPlateService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitPlateService, providedIn: 'root' });
171
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitPlateService, decorators: [{
172
+ type: Injectable,
173
+ args: [{ providedIn: 'root' }]
174
+ }], ctorParameters: function () { return [{ type: i1.RestService }]; } });
175
+
176
+ class HitBusinessPartnerService {
177
+ constructor(restService) {
178
+ this.restService = restService;
179
+ this.apiName = 'Kadooglu';
180
+ this.baseUrl = '/api/entegration-service/business-partners';
181
+ }
182
+ getList(params) {
183
+ const defaultParams = { maxResultCount: 1000, ...params };
184
+ return this.restService.request({ method: 'GET', url: this.baseUrl, params: defaultParams }, { apiName: this.apiName }).pipe(map$1(response => response?.items ?? []));
185
+ }
186
+ }
187
+ HitBusinessPartnerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitBusinessPartnerService, deps: [{ token: i1.RestService }], target: i0.ɵɵFactoryTarget.Injectable });
188
+ HitBusinessPartnerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitBusinessPartnerService, providedIn: 'root' });
189
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitBusinessPartnerService, decorators: [{
190
+ type: Injectable,
191
+ args: [{ providedIn: 'root' }]
192
+ }], ctorParameters: function () { return [{ type: i1.RestService }]; } });
193
+
194
+ class HitUserGateService {
195
+ constructor(restService) {
196
+ this.restService = restService;
197
+ this.apiName = 'Kadooglu';
198
+ this.baseUrl = '/api/entegration-service/user-gates';
199
+ this.gateBaseUrl = '/api/entegration-service/gates';
200
+ }
201
+ getByGateCode(gateCode) {
202
+ return this.restService.request({ method: 'GET', url: this.baseUrl, params: { gateCode } }, { apiName: this.apiName }).pipe(map$1(r => r?.items ?? []));
203
+ }
204
+ getMyGates() {
205
+ return this.restService.request({ method: 'GET', url: `${this.gateBaseUrl}/my-gates` }, { apiName: this.apiName }).pipe(map$1(r => r?.items ?? []));
206
+ }
207
+ getMyDefaultGateCode() {
208
+ return this.restService.request({ method: 'GET', url: `${this.baseUrl}/my-default-gate` }, { apiName: this.apiName }).pipe(map$1(r => r?.items ?? null));
209
+ }
210
+ saveGateUsers(gateCode, users) {
211
+ return this.restService.request({ method: 'POST', url: `${this.baseUrl}/gate/${gateCode}`, body: users }, { apiName: this.apiName }).pipe(map$1(r => r?.items ?? false));
212
+ }
213
+ }
214
+ HitUserGateService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitUserGateService, deps: [{ token: i1.RestService }], target: i0.ɵɵFactoryTarget.Injectable });
215
+ HitUserGateService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitUserGateService, providedIn: 'root' });
216
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitUserGateService, decorators: [{
217
+ type: Injectable,
218
+ args: [{ providedIn: 'root' }]
219
+ }], ctorParameters: function () { return [{ type: i1.RestService }]; } });
220
+
221
+ class HitModalComponent {
222
+ constructor() {
223
+ this.displayName = '';
224
+ this.keyExpr = 'code';
225
+ this.modalSize = 'xl';
226
+ /** Data array that will be shown in the lookup modal grid (eager / pre-loaded). */
227
+ this.getFn = [];
228
+ /** Function returning Observable — called lazily when the modal opens. */
229
+ this.loadFn = null;
230
+ this.columns = [];
231
+ this.isVisible = true;
232
+ this.disabled = false;
233
+ this.selected = new EventEmitter();
234
+ this.data = [];
235
+ this.openModal = false;
236
+ this.isLoading = false;
237
+ this.textDisplay = '';
238
+ }
239
+ /** Pre-populate display text (e.g. in edit mode). Setter ensures reactive updates. */
240
+ set editingData(val) {
241
+ if (val === null || val === undefined) {
242
+ this.textDisplay = '';
243
+ return;
244
+ }
245
+ if (typeof val === 'string') {
246
+ this.textDisplay = val;
247
+ }
248
+ else if (this.displayName && val[this.displayName] !== undefined) {
249
+ this.textDisplay = val[this.displayName];
250
+ }
251
+ }
252
+ clickForOpenModal() {
253
+ this.openModal = true;
254
+ if (this.loadFn) {
255
+ this.isLoading = true;
256
+ this.data = [];
257
+ this.loadFn().subscribe({
258
+ next: (result) => {
259
+ this.data = result;
260
+ this.isLoading = false;
261
+ },
262
+ error: () => {
263
+ this.data = [];
264
+ this.isLoading = false;
265
+ },
266
+ });
267
+ }
268
+ else {
269
+ this.data = this.getFn;
270
+ }
271
+ }
272
+ setTitle() {
273
+ this.openModal = false;
274
+ const selectedData = this.dxdataInstance?.instance.getSelectedRowsData() ?? [];
275
+ const selectedKeys = this.dxdataInstance?.instance.getSelectedRowKeys() ?? [];
276
+ if (selectedKeys.length > 0) {
277
+ this.textDisplay = selectedData[0]?.[this.displayName] ?? '';
278
+ this.selected.emit(selectedData[0]);
279
+ }
280
+ }
281
+ setTitleOnDoubleClick(e) {
282
+ this.openModal = false;
283
+ if (e?.data) {
284
+ this.textDisplay = e.data[this.displayName] ?? '';
285
+ this.selected.emit(e.data);
286
+ }
287
+ }
288
+ clearValue() {
289
+ this.textDisplay = '';
290
+ this.selected.emit(null);
291
+ }
292
+ }
293
+ HitModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
294
+ HitModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: HitModalComponent, selector: "hit-lookup-select", inputs: { displayName: "displayName", keyExpr: "keyExpr", modalSize: "modalSize", getFn: "getFn", loadFn: "loadFn", columns: "columns", isVisible: "isVisible", disabled: "disabled", editingData: "editingData" }, outputs: { selected: "selected" }, viewQueries: [{ propertyName: "dxdataInstance", first: true, predicate: ["dxdataInstance"], descendants: true }], ngImport: i0, template: "<div class=\"hit-lookup-group\">\r\n <dx-text-box\r\n [ngModel]=\"textDisplay\"\r\n [disabled]=\"true\"\r\n [readOnly]=\"true\"\r\n maxlength=\"64\">\r\n </dx-text-box>\r\n <div class=\"hit-lookup-actions\" *ngIf=\"isVisible\">\r\n <button\r\n class=\"hit-lookup-btn hit-lookup-btn-clear\"\r\n type=\"button\"\r\n *ngIf=\"textDisplay\"\r\n (click)=\"clearValue()\"\r\n [disabled]=\"disabled\"\r\n title=\"Temizle\">\r\n <i class=\"fa fa-times\"></i>\r\n </button>\r\n <button\r\n class=\"hit-lookup-btn\"\r\n type=\"button\"\r\n (click)=\"clickForOpenModal()\"\r\n [disabled]=\"disabled\"\r\n title=\"Ara\">\r\n <i class=\"fa fa-search\"></i>\r\n </button>\r\n </div>\r\n</div>\r\n\r\n<abp-modal [(visible)]=\"openModal\" [options]=\"{ size: modalSize }\">\r\n <ng-template #abpHeader>\r\n <h3>{{ 'AbpUi::Search' | abpLocalization }}</h3>\r\n </ng-template>\r\n <ng-template #abpBody>\r\n <!-- Loading overlay -->\r\n <div *ngIf=\"isLoading\" class=\"d-flex flex-column align-items-center justify-content-center\" style=\"height: 55vh;\">\r\n <div class=\"spinner-border text-primary mb-3\" style=\"width: 3rem; height: 3rem;\" role=\"status\">\r\n <span class=\"visually-hidden\">Y\u00FCkleniyor...</span>\r\n </div>\r\n <span class=\"text-muted\">Veriler y\u00FCkleniyor...</span>\r\n </div>\r\n <dx-data-grid\r\n *ngIf=\"!isLoading\"\r\n #dxdataInstance\r\n [columns]=\"columns\"\r\n [dataSource]=\"data\"\r\n [keyExpr]=\"keyExpr\"\r\n [showRowLines]=\"true\"\r\n [showBorders]=\"true\"\r\n [hoverStateEnabled]=\"true\"\r\n [repaintChangesOnly]=\"true\"\r\n [allowColumnResizing]=\"true\"\r\n columnResizingMode=\"widget\"\r\n [allowColumnReordering]=\"true\"\r\n [columnAutoWidth]=\"true\"\r\n [focusedRowEnabled]=\"true\"\r\n [columnHidingEnabled]=\"true\"\r\n style=\"height: 55vh;\"\r\n (onRowDblClick)=\"setTitleOnDoubleClick($event)\">\r\n <dxo-pager\r\n [visible]=\"true\"\r\n [showInfo]=\"true\"\r\n [allowedPageSizes]=\"[50, 100, 200]\"\r\n [showNavigationButtons]=\"true\"\r\n [showPageSizeSelector]=\"true\">\r\n </dxo-pager>\r\n <dxo-paging [pageSize]=\"50\"></dxo-paging>\r\n <dxo-header-filter [allowSearch]=\"true\" [visible]=\"true\"></dxo-header-filter>\r\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\r\n <dxo-filter-panel [visible]=\"true\"></dxo-filter-panel>\r\n <dxo-sorting mode=\"single\"></dxo-sorting>\r\n <dxo-scrolling mode=\"horizontal\" showScrollbar=\"always\"></dxo-scrolling>\r\n <dxo-selection mode=\"single\"></dxo-selection>\r\n </dx-data-grid>\r\n </ng-template>\r\n <ng-template #abpFooter>\r\n <button type=\"button\" class=\"btn btn-secondary\" abpClose>\r\n {{ 'AbpUi::Cancel' | abpLocalization }}\r\n </button>\r\n <abp-button iconClass=\"fa fa-check\" buttonType=\"button\" (click)=\"setTitle()\">\r\n {{ 'AbpUi::Select' | abpLocalization }}\r\n </abp-button>\r\n </ng-template>\r\n</abp-modal>\r\n", styles: ["@charset \"UTF-8\";hit-lookup-select{display:block}hit-lookup-select .hit-lookup-group{display:flex;align-items:stretch;width:100%}hit-lookup-select .hit-lookup-group dx-text-box{flex:1 1 auto;min-width:0}hit-lookup-select .hit-lookup-group dx-text-box .dx-textbox{height:100%}hit-lookup-select .hit-lookup-group dx-text-box .dx-texteditor{border-top-right-radius:0;border-bottom-right-radius:0;border-right:none;height:36px}hit-lookup-select .hit-lookup-group dx-text-box .dx-texteditor-input{font-weight:600}hit-lookup-select .hit-lookup-group .hit-lookup-actions{display:flex;flex-shrink:0}hit-lookup-select .hit-lookup-group .hit-lookup-actions .hit-lookup-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:1px solid #0d6efd;background:transparent;color:#0d6efd;font-size:.85rem;cursor:pointer;transition:background-color .15s ease,color .15s ease,border-color .15s ease;border-radius:0;outline:none}hit-lookup-select .hit-lookup-group .hit-lookup-actions .hit-lookup-btn:hover:not(:disabled){background-color:#0d6efd;color:#fff}hit-lookup-select .hit-lookup-group .hit-lookup-actions .hit-lookup-btn:active:not(:disabled){background-color:#0b5ed7;border-color:#0b5ed7;color:#fff}hit-lookup-select .hit-lookup-group .hit-lookup-actions .hit-lookup-btn:disabled{opacity:.5;cursor:not-allowed}hit-lookup-select .hit-lookup-group .hit-lookup-actions .hit-lookup-btn:last-child{border-top-right-radius:4px;border-bottom-right-radius:4px}hit-lookup-select .hit-lookup-group .hit-lookup-actions .hit-lookup-btn.hit-lookup-btn-clear{border-color:#dc3545;color:#dc3545;font-size:.75rem;width:30px}hit-lookup-select .hit-lookup-group .hit-lookup-actions .hit-lookup-btn.hit-lookup-btn-clear:hover:not(:disabled){background-color:#dc3545;color:#fff}\n"], dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2$1.ButtonComponent, selector: "abp-button", inputs: ["buttonId", "buttonClass", "buttonType", "formName", "iconClass", "loading", "disabled", "attributes"], outputs: ["click", "focus", "blur", "abpClick", "abpFocus", "abpBlur"] }, { kind: "component", type: i2$1.ModalComponent, selector: "abp-modal", inputs: ["visible", "busy", "options", "suppressUnsavedChangesWarning"], outputs: ["visibleChange", "init", "appear", "disappear"] }, { kind: "directive", type: i2$1.ModalCloseDirective, selector: "[abpClose]" }, { kind: "component", type: i5.DxDataGridComponent, selector: "dx-data-grid", inputs: ["accessKey", "activeStateEnabled", "allowColumnReordering", "allowColumnResizing", "autoNavigateToFocusedRow", "cacheEnabled", "cellHintEnabled", "columnAutoWidth", "columnChooser", "columnFixing", "columnHidingEnabled", "columnMinWidth", "columnResizingMode", "columns", "columnWidth", "customizeColumns", "dataRowTemplate", "dataSource", "dateSerializationFormat", "disabled", "editing", "elementAttr", "errorRowEnabled", "export", "filterBuilder", "filterBuilderPopup", "filterPanel", "filterRow", "filterSyncEnabled", "filterValue", "focusedColumnIndex", "focusedRowEnabled", "focusedRowIndex", "focusedRowKey", "grouping", "groupPanel", "headerFilter", "height", "highlightChanges", "hint", "hoverStateEnabled", "keyboardNavigation", "keyExpr", "loadPanel", "masterDetail", "noDataText", "pager", "paging", "remoteOperations", "renderAsync", "repaintChangesOnly", "rowAlternationEnabled", "rowDragging", "rowTemplate", "rtlEnabled", "scrolling", "searchPanel", "selectedRowKeys", "selection", "selectionFilter", "showBorders", "showColumnHeaders", "showColumnLines", "showRowLines", "sortByGroupSummaryInfo", "sorting", "stateStoring", "summary", "syncLookupFilterValues", "tabIndex", "toolbar", "twoWayBindingEnabled", "visible", "width", "wordWrapEnabled"], outputs: ["onAdaptiveDetailRowPreparing", "onCellClick", "onCellDblClick", "onCellHoverChanged", "onCellPrepared", "onContentReady", "onContextMenuPreparing", "onDataErrorOccurred", "onDisposing", "onEditCanceled", "onEditCanceling", "onEditingStart", "onEditorPrepared", "onEditorPreparing", "onExporting", "onFocusedCellChanged", "onFocusedCellChanging", "onFocusedRowChanged", "onFocusedRowChanging", "onInitialized", "onInitNewRow", "onKeyDown", "onOptionChanged", "onRowClick", "onRowCollapsed", "onRowCollapsing", "onRowDblClick", "onRowExpanded", "onRowExpanding", "onRowInserted", "onRowInserting", "onRowPrepared", "onRowRemoved", "onRowRemoving", "onRowUpdated", "onRowUpdating", "onRowValidating", "onSaved", "onSaving", "onSelectionChanged", "onToolbarPreparing", "accessKeyChange", "activeStateEnabledChange", "allowColumnReorderingChange", "allowColumnResizingChange", "autoNavigateToFocusedRowChange", "cacheEnabledChange", "cellHintEnabledChange", "columnAutoWidthChange", "columnChooserChange", "columnFixingChange", "columnHidingEnabledChange", "columnMinWidthChange", "columnResizingModeChange", "columnsChange", "columnWidthChange", "customizeColumnsChange", "dataRowTemplateChange", "dataSourceChange", "dateSerializationFormatChange", "disabledChange", "editingChange", "elementAttrChange", "errorRowEnabledChange", "exportChange", "filterBuilderChange", "filterBuilderPopupChange", "filterPanelChange", "filterRowChange", "filterSyncEnabledChange", "filterValueChange", "focusedColumnIndexChange", "focusedRowEnabledChange", "focusedRowIndexChange", "focusedRowKeyChange", "groupingChange", "groupPanelChange", "headerFilterChange", "heightChange", "highlightChangesChange", "hintChange", "hoverStateEnabledChange", "keyboardNavigationChange", "keyExprChange", "loadPanelChange", "masterDetailChange", "noDataTextChange", "pagerChange", "pagingChange", "remoteOperationsChange", "renderAsyncChange", "repaintChangesOnlyChange", "rowAlternationEnabledChange", "rowDraggingChange", "rowTemplateChange", "rtlEnabledChange", "scrollingChange", "searchPanelChange", "selectedRowKeysChange", "selectionChange", "selectionFilterChange", "showBordersChange", "showColumnHeadersChange", "showColumnLinesChange", "showRowLinesChange", "sortByGroupSummaryInfoChange", "sortingChange", "stateStoringChange", "summaryChange", "syncLookupFilterValuesChange", "tabIndexChange", "toolbarChange", "twoWayBindingEnabledChange", "visibleChange", "widthChange", "wordWrapEnabledChange"] }, { kind: "component", type: i5$1.DxoHeaderFilterComponent, selector: "dxo-header-filter", inputs: ["allowSearch", "dataSource", "groupInterval", "height", "searchMode", "width", "searchTimeout", "texts", "visible", "showRelevantValues"] }, { kind: "component", type: i5$1.DxoFilterPanelComponent, selector: "dxo-filter-panel", inputs: ["customizeText", "filterEnabled", "texts", "visible"], outputs: ["filterEnabledChange"] }, { kind: "component", type: i5$1.DxoFilterRowComponent, selector: "dxo-filter-row", inputs: ["applyFilter", "applyFilterText", "betweenEndText", "betweenStartText", "operationDescriptions", "resetOperationText", "showAllText", "showOperationChooser", "visible"] }, { kind: "component", type: i5$1.DxoPagerComponent, selector: "dxo-pager", inputs: ["allowedPageSizes", "displayMode", "infoText", "label", "showInfo", "showNavigationButtons", "showPageSizeSelector", "visible"] }, { kind: "component", type: i5$1.DxoPagingComponent, selector: "dxo-paging", inputs: ["enabled", "pageIndex", "pageSize"], outputs: ["pageIndexChange", "pageSizeChange"] }, { kind: "component", type: i5$1.DxoScrollingComponent, selector: "dxo-scrolling", inputs: ["columnRenderingMode", "mode", "preloadEnabled", "renderAsync", "rowRenderingMode", "scrollByContent", "scrollByThumb", "showScrollbar", "useNative"] }, { kind: "component", type: i5$1.DxoSelectionComponent, selector: "dxo-selection", inputs: ["allowSelectAll", "deferred", "mode", "selectAllMode", "showCheckBoxesMode", "recursive"] }, { kind: "component", type: i5$1.DxoSortingComponent, selector: "dxo-sorting", inputs: ["ascendingText", "clearText", "descendingText", "mode", "showSortIndexes"] }, { kind: "component", type: i5.DxTextBoxComponent, selector: "dx-text-box", inputs: ["accessKey", "activeStateEnabled", "buttons", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "inputAttr", "isValid", "label", "labelMode", "mask", "maskChar", "maskInvalidMessage", "maskRules", "maxLength", "mode", "name", "placeholder", "readOnly", "rtlEnabled", "showClearButton", "showMaskMode", "spellcheck", "stylingMode", "tabIndex", "text", "useMaskedValue", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "valueChangeEvent", "visible", "width"], outputs: ["onChange", "onContentReady", "onCopy", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onKeyDown", "onKeyUp", "onOptionChanged", "onPaste", "onValueChanged", "accessKeyChange", "activeStateEnabledChange", "buttonsChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "isValidChange", "labelChange", "labelModeChange", "maskChange", "maskCharChange", "maskInvalidMessageChange", "maskRulesChange", "maxLengthChange", "modeChange", "nameChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "showClearButtonChange", "showMaskModeChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "useMaskedValueChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "visibleChange", "widthChange", "onBlur"] }, { kind: "pipe", type: i1.LocalizationPipe, name: "abpLocalization" }], encapsulation: i0.ViewEncapsulation.None });
295
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitModalComponent, decorators: [{
296
+ type: Component,
297
+ args: [{ selector: 'hit-lookup-select', encapsulation: ViewEncapsulation.None, template: "<div class=\"hit-lookup-group\">\r\n <dx-text-box\r\n [ngModel]=\"textDisplay\"\r\n [disabled]=\"true\"\r\n [readOnly]=\"true\"\r\n maxlength=\"64\">\r\n </dx-text-box>\r\n <div class=\"hit-lookup-actions\" *ngIf=\"isVisible\">\r\n <button\r\n class=\"hit-lookup-btn hit-lookup-btn-clear\"\r\n type=\"button\"\r\n *ngIf=\"textDisplay\"\r\n (click)=\"clearValue()\"\r\n [disabled]=\"disabled\"\r\n title=\"Temizle\">\r\n <i class=\"fa fa-times\"></i>\r\n </button>\r\n <button\r\n class=\"hit-lookup-btn\"\r\n type=\"button\"\r\n (click)=\"clickForOpenModal()\"\r\n [disabled]=\"disabled\"\r\n title=\"Ara\">\r\n <i class=\"fa fa-search\"></i>\r\n </button>\r\n </div>\r\n</div>\r\n\r\n<abp-modal [(visible)]=\"openModal\" [options]=\"{ size: modalSize }\">\r\n <ng-template #abpHeader>\r\n <h3>{{ 'AbpUi::Search' | abpLocalization }}</h3>\r\n </ng-template>\r\n <ng-template #abpBody>\r\n <!-- Loading overlay -->\r\n <div *ngIf=\"isLoading\" class=\"d-flex flex-column align-items-center justify-content-center\" style=\"height: 55vh;\">\r\n <div class=\"spinner-border text-primary mb-3\" style=\"width: 3rem; height: 3rem;\" role=\"status\">\r\n <span class=\"visually-hidden\">Y\u00FCkleniyor...</span>\r\n </div>\r\n <span class=\"text-muted\">Veriler y\u00FCkleniyor...</span>\r\n </div>\r\n <dx-data-grid\r\n *ngIf=\"!isLoading\"\r\n #dxdataInstance\r\n [columns]=\"columns\"\r\n [dataSource]=\"data\"\r\n [keyExpr]=\"keyExpr\"\r\n [showRowLines]=\"true\"\r\n [showBorders]=\"true\"\r\n [hoverStateEnabled]=\"true\"\r\n [repaintChangesOnly]=\"true\"\r\n [allowColumnResizing]=\"true\"\r\n columnResizingMode=\"widget\"\r\n [allowColumnReordering]=\"true\"\r\n [columnAutoWidth]=\"true\"\r\n [focusedRowEnabled]=\"true\"\r\n [columnHidingEnabled]=\"true\"\r\n style=\"height: 55vh;\"\r\n (onRowDblClick)=\"setTitleOnDoubleClick($event)\">\r\n <dxo-pager\r\n [visible]=\"true\"\r\n [showInfo]=\"true\"\r\n [allowedPageSizes]=\"[50, 100, 200]\"\r\n [showNavigationButtons]=\"true\"\r\n [showPageSizeSelector]=\"true\">\r\n </dxo-pager>\r\n <dxo-paging [pageSize]=\"50\"></dxo-paging>\r\n <dxo-header-filter [allowSearch]=\"true\" [visible]=\"true\"></dxo-header-filter>\r\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\r\n <dxo-filter-panel [visible]=\"true\"></dxo-filter-panel>\r\n <dxo-sorting mode=\"single\"></dxo-sorting>\r\n <dxo-scrolling mode=\"horizontal\" showScrollbar=\"always\"></dxo-scrolling>\r\n <dxo-selection mode=\"single\"></dxo-selection>\r\n </dx-data-grid>\r\n </ng-template>\r\n <ng-template #abpFooter>\r\n <button type=\"button\" class=\"btn btn-secondary\" abpClose>\r\n {{ 'AbpUi::Cancel' | abpLocalization }}\r\n </button>\r\n <abp-button iconClass=\"fa fa-check\" buttonType=\"button\" (click)=\"setTitle()\">\r\n {{ 'AbpUi::Select' | abpLocalization }}\r\n </abp-button>\r\n </ng-template>\r\n</abp-modal>\r\n", styles: ["@charset \"UTF-8\";hit-lookup-select{display:block}hit-lookup-select .hit-lookup-group{display:flex;align-items:stretch;width:100%}hit-lookup-select .hit-lookup-group dx-text-box{flex:1 1 auto;min-width:0}hit-lookup-select .hit-lookup-group dx-text-box .dx-textbox{height:100%}hit-lookup-select .hit-lookup-group dx-text-box .dx-texteditor{border-top-right-radius:0;border-bottom-right-radius:0;border-right:none;height:36px}hit-lookup-select .hit-lookup-group dx-text-box .dx-texteditor-input{font-weight:600}hit-lookup-select .hit-lookup-group .hit-lookup-actions{display:flex;flex-shrink:0}hit-lookup-select .hit-lookup-group .hit-lookup-actions .hit-lookup-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:1px solid #0d6efd;background:transparent;color:#0d6efd;font-size:.85rem;cursor:pointer;transition:background-color .15s ease,color .15s ease,border-color .15s ease;border-radius:0;outline:none}hit-lookup-select .hit-lookup-group .hit-lookup-actions .hit-lookup-btn:hover:not(:disabled){background-color:#0d6efd;color:#fff}hit-lookup-select .hit-lookup-group .hit-lookup-actions .hit-lookup-btn:active:not(:disabled){background-color:#0b5ed7;border-color:#0b5ed7;color:#fff}hit-lookup-select .hit-lookup-group .hit-lookup-actions .hit-lookup-btn:disabled{opacity:.5;cursor:not-allowed}hit-lookup-select .hit-lookup-group .hit-lookup-actions .hit-lookup-btn:last-child{border-top-right-radius:4px;border-bottom-right-radius:4px}hit-lookup-select .hit-lookup-group .hit-lookup-actions .hit-lookup-btn.hit-lookup-btn-clear{border-color:#dc3545;color:#dc3545;font-size:.75rem;width:30px}hit-lookup-select .hit-lookup-group .hit-lookup-actions .hit-lookup-btn.hit-lookup-btn-clear:hover:not(:disabled){background-color:#dc3545;color:#fff}\n"] }]
298
+ }], propDecorators: { dxdataInstance: [{
299
+ type: ViewChild,
300
+ args: ['dxdataInstance', { static: false }]
301
+ }], displayName: [{
302
+ type: Input
303
+ }], keyExpr: [{
304
+ type: Input
305
+ }], modalSize: [{
306
+ type: Input
307
+ }], getFn: [{
308
+ type: Input
309
+ }], loadFn: [{
310
+ type: Input
311
+ }], columns: [{
312
+ type: Input
313
+ }], isVisible: [{
314
+ type: Input
315
+ }], disabled: [{
316
+ type: Input
317
+ }], editingData: [{
318
+ type: Input
319
+ }], selected: [{
320
+ type: Output
321
+ }] } });
322
+
323
+ class HitFactoryEntryFormComponent {
324
+ constructor(confirmation, service, carrierPersonService, plateService, vehicleTypeService, businessPartnerService, userGateService, localizationService) {
325
+ this.confirmation = confirmation;
326
+ this.service = service;
327
+ this.carrierPersonService = carrierPersonService;
328
+ this.plateService = plateService;
329
+ this.vehicleTypeService = vehicleTypeService;
330
+ this.businessPartnerService = businessPartnerService;
331
+ this.userGateService = userGateService;
332
+ this.localizationService = localizationService;
333
+ this.visible = false;
334
+ this.visibleChange = new EventEmitter();
335
+ this.record = null;
336
+ this.saved = new EventEmitter();
337
+ this.cancelled = new EventEmitter();
338
+ // Lookup data arrays for modals
339
+ this.typeData = [];
340
+ this.carrierData = [];
341
+ // Lazy loaders for plate lookups — filtered by u_IsTrailer
342
+ this.loadVehiclePlates = () => this.plateService.getList().pipe(map(plates => plates.filter(p => p.u_IsTrailer !== 'Y')));
343
+ this.loadTrailerPlates = () => this.plateService.getList().pipe(map(plates => plates.filter(p => p.u_IsTrailer === 'Y')));
344
+ this.gateData = [];
345
+ this.defaultGateCode = '';
346
+ // Column configs for lookup modals
347
+ this.typeColumns = [
348
+ { dataField: 'code', caption: 'Kod', width: 100 },
349
+ { dataField: 'name', caption: 'Ad' },
350
+ ];
351
+ this.plateColumns = [
352
+ { dataField: 'code', caption: 'Plaka', width: 100 },
353
+ { dataField: 'name', caption: 'Name' },
354
+ ];
355
+ this.carrierColumns = [
356
+ { dataField: 'code', caption: 'T.C. Kimlik No', width: 140 },
357
+ { dataField: 'name', caption: 'Ad Soyad' },
358
+ ];
359
+ this.businessPartnerColumns = [
360
+ { dataField: 'cardCode', caption: 'Cari Kod', width: 120 },
361
+ { dataField: 'cardName', caption: 'Cari Unvan' },
362
+ ];
363
+ // Form fields
364
+ this.gateCode = '';
365
+ this.entryDateTime = null;
366
+ this.exitDateTime = null;
367
+ this.selectedTypeCode = '';
368
+ this.selectedTypeName = '';
369
+ this.selectedPlateNo = '';
370
+ this.tcNo = '';
371
+ this.selectedCarrierName = '';
372
+ this.businessPartnerData = [];
373
+ this.selectedBusinessPartnerCode = '';
374
+ this.selectedBusinessPartnerName = '';
375
+ this.description = '';
376
+ // Plate input mode
377
+ this.plateInputMode = 'lookup';
378
+ this.manualPlateNo = '';
379
+ // Trailer plate
380
+ this.trailerPlateInputMode = 'lookup';
381
+ this.selectedTrailerPlateNo = '';
382
+ this.manualTrailerPlateNo = '';
383
+ // Carrier TC mode
384
+ this.tcLookupMode = false;
385
+ this.isTcQuerying = false;
386
+ this.isNewCarrier = false;
387
+ // New carrier fields
388
+ this.newCarrierFirstname = '';
389
+ this.newCarrierLastname = '';
390
+ this.newCarrierTel = '';
391
+ this.isTcCitizen = true;
392
+ this.isLoading = false;
393
+ }
394
+ ngOnInit() {
395
+ this.vehicleTypeService.getList().subscribe(d => (this.typeData = d));
396
+ this.carrierPersonService.getList().subscribe(d => (this.carrierData = d));
397
+ this.businessPartnerService.getList().subscribe(d => (this.businessPartnerData = d));
398
+ this.userGateService.getMyGates().subscribe(d => (this.gateData = d));
399
+ this.userGateService.getMyDefaultGateCode().subscribe(d => (this.defaultGateCode = d ?? ''));
400
+ }
401
+ ngOnChanges(changes) {
402
+ if (changes['visible']?.currentValue === true) {
403
+ this.initForm();
404
+ }
405
+ }
406
+ initForm() {
407
+ this.isTcCitizen = true;
408
+ this.plateInputMode = 'lookup';
409
+ this.manualPlateNo = '';
410
+ this.trailerPlateInputMode = 'lookup';
411
+ this.selectedTrailerPlateNo = '';
412
+ this.manualTrailerPlateNo = '';
413
+ this.tcLookupMode = false;
414
+ this.isNewCarrier = false;
415
+ this.newCarrierFirstname = '';
416
+ this.newCarrierLastname = '';
417
+ this.newCarrierTel = '';
418
+ if (this.record) {
419
+ this.gateCode = this.record.u_GateCode ?? '';
420
+ this.entryDateTime = this.buildDateTime(this.record.u_EntryDate, this.record.u_EntryTime);
421
+ this.exitDateTime = this.buildDateTime(this.record.u_ExitDate, this.record.u_ExitTime);
422
+ this.selectedTypeCode = this.record.u_EntryType;
423
+ this.selectedTypeName = this.record.u_EntryType;
424
+ this.selectedPlateNo = this.formatPlate(this.record.u_Plate);
425
+ this.selectedTrailerPlateNo = this.formatPlate(this.record.u_DorsePlate ?? '');
426
+ this.tcNo = this.record.u_TcNo;
427
+ this.selectedCarrierName = this.record.u_Driver;
428
+ this.description = this.record.u_Description;
429
+ this.selectedBusinessPartnerCode = this.record.u_CardCode ?? '';
430
+ this.selectedBusinessPartnerName = this.businessPartnerData.find(p => p.cardCode === this.record.u_CardCode)?.cardName ?? this.record.u_CardCode ?? '';
431
+ }
432
+ else {
433
+ this.gateCode = this.defaultGateCode;
434
+ this.entryDateTime = new Date();
435
+ this.exitDateTime = null;
436
+ this.selectedTypeCode = '';
437
+ this.selectedTypeName = '';
438
+ this.selectedPlateNo = '';
439
+ this.tcNo = '';
440
+ this.selectedCarrierName = '';
441
+ this.description = '';
442
+ this.selectedBusinessPartnerCode = '';
443
+ this.selectedBusinessPartnerName = '';
444
+ }
445
+ }
446
+ buildDateTime(dateStr, timeNum) {
447
+ if (!dateStr)
448
+ return null;
449
+ const d = new Date(dateStr);
450
+ if (timeNum != null) {
451
+ d.setHours(Math.floor(timeNum / 100), timeNum % 100, 0, 0);
452
+ }
453
+ return d;
454
+ }
455
+ onTypeSelected(e) {
456
+ if (!e)
457
+ return;
458
+ this.selectedTypeCode = e.code;
459
+ this.selectedTypeName = e.name;
460
+ }
461
+ onPlateSelected(e) {
462
+ if (!e)
463
+ return;
464
+ this.selectedPlateNo = this.formatPlate(e.code);
465
+ }
466
+ onTrailerPlateSelected(e) {
467
+ if (!e)
468
+ return;
469
+ this.selectedTrailerPlateNo = this.formatPlate(e.code);
470
+ }
471
+ onManualPlateFocusOut() {
472
+ this.manualPlateNo = this.formatPlate(this.manualPlateNo);
473
+ }
474
+ onManualTrailerPlateFocusOut() {
475
+ this.manualTrailerPlateNo = this.formatPlate(this.manualTrailerPlateNo);
476
+ }
477
+ /** Türk plakasını "34 HMA 001" formatına dönüştürür */
478
+ formatPlate(value) {
479
+ if (!value)
480
+ return value;
481
+ const raw = value.replace(/[^A-Za-z0-9ÇĞİÖŞÜçğıöşü]/g, '').toUpperCase();
482
+ const match = raw.match(/^(\d{2})([A-ZÇĞİÖŞÜ]{1,3})(\d{1,4})$/);
483
+ if (match) {
484
+ return `${match[1]} ${match[2]} ${match[3]}`;
485
+ }
486
+ return value.trim().toUpperCase();
487
+ }
488
+ onCarrierLookupSelected(e) {
489
+ if (!e)
490
+ return;
491
+ this.selectedCarrierName = e.name;
492
+ this.tcNo = e.code;
493
+ this.isNewCarrier = false;
494
+ this.tcLookupMode = false;
495
+ }
496
+ onBusinessPartnerSelected(e) {
497
+ if (!e) {
498
+ this.selectedBusinessPartnerCode = '';
499
+ this.selectedBusinessPartnerName = '';
500
+ return;
501
+ }
502
+ this.selectedBusinessPartnerCode = e.cardCode;
503
+ this.selectedBusinessPartnerName = e.cardName;
504
+ }
505
+ queryCarrierByTcNo() {
506
+ const tc = this.tcNo?.trim();
507
+ if (!tc) {
508
+ this.confirmation.warn(this.localizationService.instant('Kadooglu::PleaseEnterTcNo'), '', {
509
+ hideYesBtn: true,
510
+ cancelText: this.localizationService.instant('Kadooglu::Cancel'),
511
+ dismissible: false,
512
+ });
513
+ return;
514
+ }
515
+ this.isTcQuerying = true;
516
+ this.carrierPersonService.get(tc).subscribe({
517
+ next: (carrier) => {
518
+ this.isTcQuerying = false;
519
+ if (carrier) {
520
+ this.selectedCarrierName = carrier.name;
521
+ this.isNewCarrier = false;
522
+ }
523
+ else {
524
+ this.selectedCarrierName = '';
525
+ this.isNewCarrier = true;
526
+ this.newCarrierFirstname = '';
527
+ this.newCarrierLastname = '';
528
+ this.newCarrierTel = '';
529
+ }
530
+ },
531
+ error: () => {
532
+ this.isTcQuerying = false;
533
+ this.isNewCarrier = true;
534
+ this.newCarrierFirstname = '';
535
+ this.newCarrierLastname = '';
536
+ this.newCarrierTel = '';
537
+ },
538
+ });
539
+ }
540
+ save() {
541
+ const effectivePlateNo = this.formatPlate(this.plateInputMode === 'manual'
542
+ ? this.manualPlateNo.trim().toUpperCase()
543
+ : this.selectedPlateNo);
544
+ const effectiveTrailerPlateNo = this.formatPlate(this.trailerPlateInputMode === 'manual'
545
+ ? this.manualTrailerPlateNo.trim().toUpperCase()
546
+ : this.selectedTrailerPlateNo);
547
+ if (!this.selectedTypeCode || !effectivePlateNo || !this.tcNo?.trim()) {
548
+ this.confirmation.warn(this.localizationService.instant('Kadooglu::FillRequiredFields'), '', {
549
+ hideYesBtn: true,
550
+ cancelText: this.localizationService.instant('Kadooglu::Cancel'),
551
+ dismissible: false,
552
+ });
553
+ return;
554
+ }
555
+ if (this.isTcCitizen && !this.validateTCKN(this.tcNo)) {
556
+ this.confirmation.warn('Geçersiz T.C. Kimlik No. Lütfen 11 haneli, geçerli bir TCKN giriniz.', '', {
557
+ hideYesBtn: true,
558
+ cancelText: this.localizationService.instant('Kadooglu::Cancel'),
559
+ dismissible: false,
560
+ });
561
+ return;
562
+ }
563
+ if (this.isNewCarrier && (!this.newCarrierFirstname?.trim() || !this.newCarrierLastname?.trim())) {
564
+ this.confirmation.warn(this.localizationService.instant('Kadooglu::EnterNewDriverName'), '', {
565
+ hideYesBtn: true,
566
+ cancelText: this.localizationService.instant('Kadooglu::Cancel'),
567
+ dismissible: false,
568
+ });
569
+ return;
570
+ }
571
+ const dto = {
572
+ u_GateCode: this.gateCode,
573
+ u_EntryDate: this.entryDateTime
574
+ ? this.entryDateTime.toISOString().split('T')[0]
575
+ : undefined,
576
+ u_EntryTime: this.entryDateTime
577
+ ? this.entryDateTime.getHours() * 100 + this.entryDateTime.getMinutes()
578
+ : undefined,
579
+ u_ExitDate: this.exitDateTime
580
+ ? this.exitDateTime.toISOString().split('T')[0]
581
+ : undefined,
582
+ u_ExitTime: this.exitDateTime
583
+ ? this.exitDateTime.getHours() * 100 + this.exitDateTime.getMinutes()
584
+ : undefined,
585
+ u_EntryType: this.selectedTypeCode,
586
+ u_Plate: effectivePlateNo,
587
+ u_DorsePlate: effectiveTrailerPlateNo || undefined,
588
+ u_TcNo: this.tcNo.trim(),
589
+ u_Driver: this.isNewCarrier
590
+ ? `${this.newCarrierFirstname.trim()} ${this.newCarrierLastname.trim()}`
591
+ : undefined,
592
+ u_DriverFirstname: this.isNewCarrier ? this.newCarrierFirstname.trim() : undefined,
593
+ u_DriverLastname: this.isNewCarrier ? this.newCarrierLastname.trim() : undefined,
594
+ u_DriverTel: this.isNewCarrier ? (this.newCarrierTel.trim() || undefined) : undefined,
595
+ u_CardCode: this.selectedBusinessPartnerCode,
596
+ u_Description: this.description,
597
+ };
598
+ const doSave = () => {
599
+ const obs$ = this.record?.docEntry
600
+ ? this.service.update(this.record.docEntry.toString(), dto)
601
+ : this.service.create(dto);
602
+ this.isLoading = true;
603
+ obs$.subscribe({
604
+ next: () => {
605
+ this.isLoading = false;
606
+ this.saved.emit();
607
+ },
608
+ error: () => {
609
+ this.isLoading = false;
610
+ },
611
+ });
612
+ };
613
+ const isManual = this.plateInputMode === 'manual' ||
614
+ (this.trailerPlateInputMode === 'manual' && !!effectiveTrailerPlateNo);
615
+ if (isManual) {
616
+ this.isLoading = true;
617
+ this.plateService.getList().subscribe(plates => {
618
+ this.isLoading = false;
619
+ // Manuel plaka duplicate kontrolü
620
+ if (this.plateInputMode === 'manual') {
621
+ const duplicate = plates.find(p => p.code.trim().toUpperCase() === effectivePlateNo);
622
+ if (duplicate) {
623
+ this.confirmation.warn(this.localizationService.instant('Kadooglu::PlateAlreadyExists', effectivePlateNo), '', { hideYesBtn: true, cancelText: this.localizationService.instant('Kadooglu::Cancel'), dismissible: false });
624
+ this.plateInputMode = 'lookup';
625
+ this.selectedPlateNo = duplicate.code;
626
+ return;
627
+ }
628
+ }
629
+ // Manuel dorse plaka duplicate kontrolü
630
+ if (this.trailerPlateInputMode === 'manual' && effectiveTrailerPlateNo) {
631
+ const trailerDuplicate = plates.find(p => p.code.trim().toUpperCase() === effectiveTrailerPlateNo);
632
+ if (trailerDuplicate) {
633
+ this.confirmation.warn(this.localizationService.instant('Kadooglu::PlateAlreadyExists', effectiveTrailerPlateNo), '', { hideYesBtn: true, cancelText: this.localizationService.instant('Kadooglu::Cancel'), dismissible: false });
634
+ this.trailerPlateInputMode = 'lookup';
635
+ this.selectedTrailerPlateNo = trailerDuplicate.code;
636
+ return;
637
+ }
638
+ }
639
+ doSave();
640
+ });
641
+ }
642
+ else {
643
+ doSave();
644
+ }
645
+ }
646
+ onModalVisibleChange(val) {
647
+ this.visible = val;
648
+ this.visibleChange.emit(val);
649
+ if (!val) {
650
+ this.cancelled.emit();
651
+ }
652
+ }
653
+ cancel() {
654
+ this.onModalVisibleChange(false);
655
+ }
656
+ validateTCKN(value) {
657
+ const tc = value?.trim();
658
+ if (!tc || tc.length !== 11)
659
+ return false;
660
+ if (!/^\d{11}$/.test(tc))
661
+ return false;
662
+ if (tc[0] === '0')
663
+ return false;
664
+ const d = tc.split('').map(Number);
665
+ const d10 = ((d[0] + d[2] + d[4] + d[6] + d[8]) * 7 - (d[1] + d[3] + d[5] + d[7])) % 10;
666
+ if (d10 !== d[9])
667
+ return false;
668
+ const d11 = d.slice(0, 10).reduce((a, b) => a + b, 0) % 10;
669
+ return d11 === d[10];
670
+ }
671
+ }
672
+ HitFactoryEntryFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitFactoryEntryFormComponent, deps: [{ token: i2$1.ConfirmationService }, { token: HitFactoryEntryService }, { token: HitCarrierPersonService }, { token: HitPlateService }, { token: HitVehicleTypeService }, { token: HitBusinessPartnerService }, { token: HitUserGateService }, { token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
673
+ HitFactoryEntryFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: HitFactoryEntryFormComponent, selector: "lib-hit-factory-entry-form", inputs: { visible: "visible", record: "record" }, outputs: { visibleChange: "visibleChange", saved: "saved", cancelled: "cancelled" }, usesOnChanges: true, ngImport: i0, template: "<abp-modal [visible]=\"visible\" (visibleChange)=\"onModalVisibleChange($event)\" [options]=\"{ size: 'lg', backdrop: 'static' }\">\r\n <ng-template #abpHeader>\r\n <h3>{{ record?.docEntry ? ('AbpUi::Edit' | abpLocalization) : ('Kadooglu::NewRecord' | abpLocalization) }}</h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n\r\n <!-- Giri\u015F / \u00C7\u0131k\u0131\u015F Bilgileri -->\r\n <div class=\"border rounded p-3 mb-2\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-clock me-2\"></i>{{ 'Kadooglu::EntryExitInfo' | abpLocalization }}\r\n </div>\r\n <div class=\"row mb-3\">\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::EntryDateTime' | abpLocalization }}</label>\r\n <dx-date-box\r\n [(value)]=\"entryDateTime\"\r\n type=\"datetime\"\r\n displayFormat=\"dd.MM.yyyy HH:mm\"\r\n width=\"100%\">\r\n </dx-date-box>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::ExitDateTime' | abpLocalization }}</label>\r\n <dx-date-box\r\n [(value)]=\"exitDateTime\"\r\n type=\"datetime\"\r\n displayFormat=\"dd.MM.yyyy HH:mm\"\r\n [showClearButton]=\"true\"\r\n width=\"100%\">\r\n </dx-date-box>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-4\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::Gate' | abpLocalization }}</label>\r\n <dx-select-box\r\n [(value)]=\"gateCode\"\r\n [dataSource]=\"gateData\"\r\n displayExpr=\"name\"\r\n valueExpr=\"code\"\r\n [placeholder]=\"'Kadooglu::SelectGate' | abpLocalization\"\r\n width=\"100%\">\r\n </dx-select-box>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Ara\u00E7 Bilgileri -->\r\n <div class=\"border rounded p-3 mb-2\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-truck me-2\"></i>{{ 'Kadooglu::VehicleInfo' | abpLocalization }}\r\n </div>\r\n\r\n <div class=\"mb-3\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">\r\n Ara\u00E7 Hareket T\u00FCr\u00FC <span class=\"text-danger\">*</span>\r\n </label>\r\n <hit-lookup-select\r\n [getFn]=\"typeData\"\r\n [columns]=\"typeColumns\"\r\n displayName=\"name\"\r\n [editingData]=\"selectedTypeName\"\r\n (selected)=\"onTypeSelected($event)\">\r\n </hit-lookup-select>\r\n </div>\r\n\r\n <div class=\"mb-3\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">\r\n {{ 'Kadooglu::Plate' | abpLocalization }} <span class=\"text-danger\">*</span>\r\n </label>\r\n <ng-container *ngIf=\"plateInputMode === 'lookup'\">\r\n <hit-lookup-select\r\n [loadFn]=\"loadVehiclePlates\"\r\n [columns]=\"plateColumns\"\r\n displayName=\"code\"\r\n keyExpr=\"code\"\r\n [editingData]=\"selectedPlateNo\"\r\n (selected)=\"onPlateSelected($event)\">\r\n </hit-lookup-select>\r\n <div class=\"mt-1\">\r\n <a href=\"javascript:void(0)\" class=\"small text-primary\" (click)=\"plateInputMode = 'manual'\">\r\n <i class=\"fa fa-keyboard me-1\"></i> {{ 'Kadooglu::ManualEntry' | abpLocalization }}\r\n </a>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"plateInputMode === 'manual'\">\r\n <dx-text-box\r\n [(value)]=\"manualPlateNo\"\r\n [placeholder]=\"'Kadooglu::EnterPlate' | abpLocalization\"\r\n width=\"100%\"\r\n (onFocusOut)=\"onManualPlateFocusOut()\">\r\n </dx-text-box>\r\n <div class=\"mt-1\">\r\n <a href=\"javascript:void(0)\" class=\"small text-primary\" (click)=\"plateInputMode = 'lookup'\">\r\n <i class=\"fa fa-list me-1\"></i> {{ 'Kadooglu::SelectFromList' | abpLocalization }}\r\n </a>\r\n </div>\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"mb-3\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">\r\n {{ 'Kadooglu::DorsePlate' | abpLocalization }}\r\n </label>\r\n <ng-container *ngIf=\"trailerPlateInputMode === 'lookup'\">\r\n <hit-lookup-select\r\n [loadFn]=\"loadTrailerPlates\"\r\n [columns]=\"plateColumns\"\r\n displayName=\"code\"\r\n keyExpr=\"code\"\r\n [editingData]=\"selectedTrailerPlateNo\"\r\n (selected)=\"onTrailerPlateSelected($event)\">\r\n </hit-lookup-select>\r\n <div class=\"mt-1\">\r\n <a href=\"javascript:void(0)\" class=\"small text-primary\" (click)=\"trailerPlateInputMode = 'manual'\">\r\n <i class=\"fa fa-keyboard me-1\"></i> {{ 'Kadooglu::ManualEntry' | abpLocalization }}\r\n </a>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"trailerPlateInputMode === 'manual'\">\r\n <dx-text-box\r\n [(value)]=\"manualTrailerPlateNo\"\r\n [placeholder]=\"'Kadooglu::EnterPlate' | abpLocalization\"\r\n width=\"100%\"\r\n (onFocusOut)=\"onManualTrailerPlateFocusOut()\">\r\n </dx-text-box>\r\n <div class=\"mt-1\">\r\n <a href=\"javascript:void(0)\" class=\"small text-primary\" (click)=\"trailerPlateInputMode = 'lookup'\">\r\n <i class=\"fa fa-list me-1\"></i> {{ 'Kadooglu::SelectFromList' | abpLocalization }}\r\n </a>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n\r\n <!-- S\u00FCr\u00FCc\u00FC & Firma -->\r\n <div class=\"border rounded p-3 mb-2\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-id-card me-2\"></i>{{ 'Kadooglu::DriverAndCompany' | abpLocalization }}\r\n </div>\r\n\r\n <div class=\"mb-3\">\r\n <div class=\"d-flex align-items-center gap-2 mb-1\">\r\n <label class=\"form-label mb-0 small fw-semibold text-muted\">\r\n {{ isTcCitizen ? ('Kadooglu::TcIdentityNo' | abpLocalization) : 'Kimlik No' }} <span class=\"text-danger\">*</span>\r\n </label>\r\n <dx-check-box [(value)]=\"isTcCitizen\" text=\"T.C. Vatanda\u015F\u0131\"></dx-check-box>\r\n </div>\r\n <ng-container *ngIf=\"!tcLookupMode\">\r\n <div class=\"d-flex gap-2\">\r\n <dx-text-box\r\n [(value)]=\"tcNo\"\r\n [placeholder]=\"isTcCitizen ? ('Kadooglu::TcIdentityNo' | abpLocalization) : 'Kimlik No'\"\r\n width=\"100%\">\r\n </dx-text-box>\r\n <button type=\"button\" class=\"btn btn-outline-primary btn-sm text-nowrap\"\r\n [disabled]=\"isTcQuerying\"\r\n (click)=\"queryCarrierByTcNo()\">\r\n <i class=\"fa fa-search me-1\"></i>\r\n {{ (isTcQuerying ? 'Kadooglu::Querying' : 'Kadooglu::Query') | abpLocalization }}\r\n </button>\r\n </div>\r\n <div class=\"mt-1\">\r\n <a href=\"javascript:void(0)\" class=\"small text-primary\" (click)=\"tcLookupMode = true\">\r\n <i class=\"fa fa-list me-1\"></i> {{ 'Kadooglu::SelectFromList' | abpLocalization }}\r\n </a>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"tcLookupMode\">\r\n <hit-lookup-select\r\n [getFn]=\"carrierData\"\r\n [columns]=\"carrierColumns\"\r\n displayName=\"name\"\r\n [editingData]=\"selectedCarrierName\"\r\n (selected)=\"onCarrierLookupSelected($event)\">\r\n </hit-lookup-select>\r\n <div class=\"mt-1\">\r\n <a href=\"javascript:void(0)\" class=\"small text-primary\" (click)=\"tcLookupMode = false\">\r\n <i class=\"fa fa-keyboard me-1\"></i> {{ 'Kadooglu::QueryByTc' | abpLocalization }}\r\n </a>\r\n </div>\r\n </ng-container>\r\n </div>\r\n\r\n <!-- Mevcut s\u00FCr\u00FCc\u00FC: sadece ad\u0131 g\u00F6ster (readonly) -->\r\n <ng-container *ngIf=\"!isNewCarrier\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">\r\n {{ 'Kadooglu::DriverNameSurname' | abpLocalization }}\r\n </label>\r\n <dx-text-box\r\n [(value)]=\"selectedCarrierName\"\r\n [disabled]=\"true\"\r\n width=\"100%\">\r\n </dx-text-box>\r\n </div>\r\n </ng-container>\r\n\r\n <!-- Yeni s\u00FCr\u00FCc\u00FC: Ad, Soyad, Telefon alanlar\u0131n\u0131 g\u00F6ster -->\r\n <ng-container *ngIf=\"isNewCarrier\">\r\n <div class=\"row mb-3\">\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">\r\n {{ 'Kadooglu::FirstName' | abpLocalization }} <span class=\"text-danger\">*</span>\r\n </label>\r\n <dx-text-box\r\n [(value)]=\"newCarrierFirstname\"\r\n [placeholder]=\"'Kadooglu::FirstName' | abpLocalization\"\r\n width=\"100%\">\r\n </dx-text-box>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">\r\n {{ 'Kadooglu::LastName' | abpLocalization }} <span class=\"text-danger\">*</span>\r\n </label>\r\n <dx-text-box\r\n [(value)]=\"newCarrierLastname\"\r\n [placeholder]=\"'Kadooglu::LastName' | abpLocalization\"\r\n width=\"100%\">\r\n </dx-text-box>\r\n </div>\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">\r\n {{ 'Kadooglu::Phone' | abpLocalization }}\r\n </label>\r\n <dx-text-box\r\n [(value)]=\"newCarrierTel\"\r\n [placeholder]=\"'Kadooglu::Phone' | abpLocalization\"\r\n width=\"100%\">\r\n </dx-text-box>\r\n </div>\r\n <div class=\"alert alert-info small py-1 mb-3\">\r\n <i class=\"fa fa-info-circle me-1\"></i>\r\n {{ 'Kadooglu::NewDriverAlert' | abpLocalization }}\r\n </div>\r\n </ng-container>\r\n\r\n <div class=\"mb-3\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">\r\n {{ 'Kadooglu::BusinessPartner' | abpLocalization }}\r\n </label>\r\n <hit-lookup-select\r\n [getFn]=\"businessPartnerData\"\r\n [columns]=\"businessPartnerColumns\"\r\n displayName=\"cardName\"\r\n keyExpr=\"cardCode\"\r\n [editingData]=\"selectedBusinessPartnerName\"\r\n (selected)=\"onBusinessPartnerSelected($event)\">\r\n </hit-lookup-select>\r\n </div>\r\n </div>\r\n\r\n <!-- A\u00E7\u0131klama -->\r\n <div class=\"mb-3\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::Description' | abpLocalization }}</label>\r\n <dx-text-area\r\n [(value)]=\"description\"\r\n [height]=\"80\"\r\n width=\"100%\">\r\n </dx-text-area>\r\n </div>\r\n\r\n </ng-template>\r\n\r\n <ng-template #abpFooter>\r\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"cancel()\">\r\n {{ 'AbpUi::Cancel' | abpLocalization }}\r\n </button>\r\n <abp-button\r\n iconClass=\"fa fa-save\"\r\n buttonType=\"button\"\r\n [loading]=\"isLoading\"\r\n (click)=\"save()\">\r\n {{ 'AbpUi::Save' | abpLocalization }}\r\n </abp-button>\r\n </ng-template>\r\n</abp-modal>\r\n", dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$1.ButtonComponent, selector: "abp-button", inputs: ["buttonId", "buttonClass", "buttonType", "formName", "iconClass", "loading", "disabled", "attributes"], outputs: ["click", "focus", "blur", "abpClick", "abpFocus", "abpBlur"] }, { kind: "component", type: i2$1.ModalComponent, selector: "abp-modal", inputs: ["visible", "busy", "options", "suppressUnsavedChangesWarning"], outputs: ["visibleChange", "init", "appear", "disappear"] }, { kind: "component", type: HitModalComponent, selector: "hit-lookup-select", inputs: ["displayName", "keyExpr", "modalSize", "getFn", "loadFn", "columns", "isVisible", "disabled", "editingData"], outputs: ["selected"] }, { kind: "component", type: i5.DxDateBoxComponent, selector: "dx-date-box", inputs: ["acceptCustomValue", "accessKey", "activeStateEnabled", "adaptivityEnabled", "applyButtonText", "applyValueMode", "buttons", "calendarOptions", "cancelButtonText", "dateOutOfRangeMessage", "dateSerializationFormat", "deferRendering", "disabled", "disabledDates", "displayFormat", "dropDownButtonTemplate", "dropDownOptions", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "inputAttr", "interval", "invalidDateMessage", "isValid", "label", "labelMode", "max", "maxLength", "min", "name", "opened", "openOnFieldClick", "pickerType", "placeholder", "readOnly", "rtlEnabled", "showAnalogClock", "showClearButton", "showDropDownButton", "spellcheck", "stylingMode", "tabIndex", "text", "todayButtonText", "type", "useMaskBehavior", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "valueChangeEvent", "visible", "width"], outputs: ["onChange", "onClosed", "onContentReady", "onCopy", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onKeyDown", "onKeyUp", "onOpened", "onOptionChanged", "onPaste", "onValueChanged", "acceptCustomValueChange", "accessKeyChange", "activeStateEnabledChange", "adaptivityEnabledChange", "applyButtonTextChange", "applyValueModeChange", "buttonsChange", "calendarOptionsChange", "cancelButtonTextChange", "dateOutOfRangeMessageChange", "dateSerializationFormatChange", "deferRenderingChange", "disabledChange", "disabledDatesChange", "displayFormatChange", "dropDownButtonTemplateChange", "dropDownOptionsChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "intervalChange", "invalidDateMessageChange", "isValidChange", "labelChange", "labelModeChange", "maxChange", "maxLengthChange", "minChange", "nameChange", "openedChange", "openOnFieldClickChange", "pickerTypeChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "showAnalogClockChange", "showClearButtonChange", "showDropDownButtonChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "todayButtonTextChange", "typeChange", "useMaskBehaviorChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "visibleChange", "widthChange", "onBlur"] }, { kind: "component", type: i5.DxSelectBoxComponent, selector: "dx-select-box", inputs: ["acceptCustomValue", "accessKey", "activeStateEnabled", "buttons", "customItemCreateEvent", "dataSource", "deferRendering", "disabled", "displayExpr", "displayValue", "dropDownButtonTemplate", "dropDownOptions", "elementAttr", "fieldTemplate", "focusStateEnabled", "grouped", "groupTemplate", "height", "hint", "hoverStateEnabled", "inputAttr", "isValid", "items", "itemTemplate", "label", "labelMode", "maxLength", "minSearchLength", "name", "noDataText", "opened", "openOnFieldClick", "placeholder", "readOnly", "rtlEnabled", "searchEnabled", "searchExpr", "searchMode", "searchTimeout", "selectedItem", "showClearButton", "showDataBeforeSearch", "showDropDownButton", "showSelectionControls", "spellcheck", "stylingMode", "tabIndex", "text", "useItemTextAsTitle", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "valueChangeEvent", "valueExpr", "visible", "width", "wrapItemText"], outputs: ["onChange", "onClosed", "onContentReady", "onCopy", "onCustomItemCreating", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onItemClick", "onKeyDown", "onKeyUp", "onOpened", "onOptionChanged", "onPaste", "onSelectionChanged", "onValueChanged", "acceptCustomValueChange", "accessKeyChange", "activeStateEnabledChange", "buttonsChange", "customItemCreateEventChange", "dataSourceChange", "deferRenderingChange", "disabledChange", "displayExprChange", "displayValueChange", "dropDownButtonTemplateChange", "dropDownOptionsChange", "elementAttrChange", "fieldTemplateChange", "focusStateEnabledChange", "groupedChange", "groupTemplateChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "isValidChange", "itemsChange", "itemTemplateChange", "labelChange", "labelModeChange", "maxLengthChange", "minSearchLengthChange", "nameChange", "noDataTextChange", "openedChange", "openOnFieldClickChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "searchEnabledChange", "searchExprChange", "searchModeChange", "searchTimeoutChange", "selectedItemChange", "showClearButtonChange", "showDataBeforeSearchChange", "showDropDownButtonChange", "showSelectionControlsChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "useItemTextAsTitleChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "valueExprChange", "visibleChange", "widthChange", "wrapItemTextChange", "onBlur"] }, { kind: "component", type: i5.DxTextBoxComponent, selector: "dx-text-box", inputs: ["accessKey", "activeStateEnabled", "buttons", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "inputAttr", "isValid", "label", "labelMode", "mask", "maskChar", "maskInvalidMessage", "maskRules", "maxLength", "mode", "name", "placeholder", "readOnly", "rtlEnabled", "showClearButton", "showMaskMode", "spellcheck", "stylingMode", "tabIndex", "text", "useMaskedValue", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "valueChangeEvent", "visible", "width"], outputs: ["onChange", "onContentReady", "onCopy", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onKeyDown", "onKeyUp", "onOptionChanged", "onPaste", "onValueChanged", "accessKeyChange", "activeStateEnabledChange", "buttonsChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "isValidChange", "labelChange", "labelModeChange", "maskChange", "maskCharChange", "maskInvalidMessageChange", "maskRulesChange", "maxLengthChange", "modeChange", "nameChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "showClearButtonChange", "showMaskModeChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "useMaskedValueChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "visibleChange", "widthChange", "onBlur"] }, { kind: "component", type: i5.DxTextAreaComponent, selector: "dx-text-area", inputs: ["accessKey", "activeStateEnabled", "autoResizeEnabled", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "inputAttr", "isValid", "label", "labelMode", "maxHeight", "maxLength", "minHeight", "name", "placeholder", "readOnly", "rtlEnabled", "spellcheck", "stylingMode", "tabIndex", "text", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "valueChangeEvent", "visible", "width"], outputs: ["onChange", "onContentReady", "onCopy", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onKeyDown", "onKeyUp", "onOptionChanged", "onPaste", "onValueChanged", "accessKeyChange", "activeStateEnabledChange", "autoResizeEnabledChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "isValidChange", "labelChange", "labelModeChange", "maxHeightChange", "maxLengthChange", "minHeightChange", "nameChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "visibleChange", "widthChange", "onBlur"] }, { kind: "component", type: i5.DxCheckBoxComponent, selector: "dx-check-box", inputs: ["accessKey", "activeStateEnabled", "disabled", "elementAttr", "enableThreeStateBehavior", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "iconSize", "isValid", "name", "readOnly", "rtlEnabled", "tabIndex", "text", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "visible", "width"], outputs: ["onContentReady", "onDisposing", "onInitialized", "onOptionChanged", "onValueChanged", "accessKeyChange", "activeStateEnabledChange", "disabledChange", "elementAttrChange", "enableThreeStateBehaviorChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "iconSizeChange", "isValidChange", "nameChange", "readOnlyChange", "rtlEnabledChange", "tabIndexChange", "textChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "visibleChange", "widthChange", "onBlur"] }, { kind: "pipe", type: i1.LocalizationPipe, name: "abpLocalization" }] });
674
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitFactoryEntryFormComponent, decorators: [{
675
+ type: Component,
676
+ args: [{ selector: 'lib-hit-factory-entry-form', template: "<abp-modal [visible]=\"visible\" (visibleChange)=\"onModalVisibleChange($event)\" [options]=\"{ size: 'lg', backdrop: 'static' }\">\r\n <ng-template #abpHeader>\r\n <h3>{{ record?.docEntry ? ('AbpUi::Edit' | abpLocalization) : ('Kadooglu::NewRecord' | abpLocalization) }}</h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n\r\n <!-- Giri\u015F / \u00C7\u0131k\u0131\u015F Bilgileri -->\r\n <div class=\"border rounded p-3 mb-2\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-clock me-2\"></i>{{ 'Kadooglu::EntryExitInfo' | abpLocalization }}\r\n </div>\r\n <div class=\"row mb-3\">\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::EntryDateTime' | abpLocalization }}</label>\r\n <dx-date-box\r\n [(value)]=\"entryDateTime\"\r\n type=\"datetime\"\r\n displayFormat=\"dd.MM.yyyy HH:mm\"\r\n width=\"100%\">\r\n </dx-date-box>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::ExitDateTime' | abpLocalization }}</label>\r\n <dx-date-box\r\n [(value)]=\"exitDateTime\"\r\n type=\"datetime\"\r\n displayFormat=\"dd.MM.yyyy HH:mm\"\r\n [showClearButton]=\"true\"\r\n width=\"100%\">\r\n </dx-date-box>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-4\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::Gate' | abpLocalization }}</label>\r\n <dx-select-box\r\n [(value)]=\"gateCode\"\r\n [dataSource]=\"gateData\"\r\n displayExpr=\"name\"\r\n valueExpr=\"code\"\r\n [placeholder]=\"'Kadooglu::SelectGate' | abpLocalization\"\r\n width=\"100%\">\r\n </dx-select-box>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Ara\u00E7 Bilgileri -->\r\n <div class=\"border rounded p-3 mb-2\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-truck me-2\"></i>{{ 'Kadooglu::VehicleInfo' | abpLocalization }}\r\n </div>\r\n\r\n <div class=\"mb-3\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">\r\n Ara\u00E7 Hareket T\u00FCr\u00FC <span class=\"text-danger\">*</span>\r\n </label>\r\n <hit-lookup-select\r\n [getFn]=\"typeData\"\r\n [columns]=\"typeColumns\"\r\n displayName=\"name\"\r\n [editingData]=\"selectedTypeName\"\r\n (selected)=\"onTypeSelected($event)\">\r\n </hit-lookup-select>\r\n </div>\r\n\r\n <div class=\"mb-3\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">\r\n {{ 'Kadooglu::Plate' | abpLocalization }} <span class=\"text-danger\">*</span>\r\n </label>\r\n <ng-container *ngIf=\"plateInputMode === 'lookup'\">\r\n <hit-lookup-select\r\n [loadFn]=\"loadVehiclePlates\"\r\n [columns]=\"plateColumns\"\r\n displayName=\"code\"\r\n keyExpr=\"code\"\r\n [editingData]=\"selectedPlateNo\"\r\n (selected)=\"onPlateSelected($event)\">\r\n </hit-lookup-select>\r\n <div class=\"mt-1\">\r\n <a href=\"javascript:void(0)\" class=\"small text-primary\" (click)=\"plateInputMode = 'manual'\">\r\n <i class=\"fa fa-keyboard me-1\"></i> {{ 'Kadooglu::ManualEntry' | abpLocalization }}\r\n </a>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"plateInputMode === 'manual'\">\r\n <dx-text-box\r\n [(value)]=\"manualPlateNo\"\r\n [placeholder]=\"'Kadooglu::EnterPlate' | abpLocalization\"\r\n width=\"100%\"\r\n (onFocusOut)=\"onManualPlateFocusOut()\">\r\n </dx-text-box>\r\n <div class=\"mt-1\">\r\n <a href=\"javascript:void(0)\" class=\"small text-primary\" (click)=\"plateInputMode = 'lookup'\">\r\n <i class=\"fa fa-list me-1\"></i> {{ 'Kadooglu::SelectFromList' | abpLocalization }}\r\n </a>\r\n </div>\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"mb-3\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">\r\n {{ 'Kadooglu::DorsePlate' | abpLocalization }}\r\n </label>\r\n <ng-container *ngIf=\"trailerPlateInputMode === 'lookup'\">\r\n <hit-lookup-select\r\n [loadFn]=\"loadTrailerPlates\"\r\n [columns]=\"plateColumns\"\r\n displayName=\"code\"\r\n keyExpr=\"code\"\r\n [editingData]=\"selectedTrailerPlateNo\"\r\n (selected)=\"onTrailerPlateSelected($event)\">\r\n </hit-lookup-select>\r\n <div class=\"mt-1\">\r\n <a href=\"javascript:void(0)\" class=\"small text-primary\" (click)=\"trailerPlateInputMode = 'manual'\">\r\n <i class=\"fa fa-keyboard me-1\"></i> {{ 'Kadooglu::ManualEntry' | abpLocalization }}\r\n </a>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"trailerPlateInputMode === 'manual'\">\r\n <dx-text-box\r\n [(value)]=\"manualTrailerPlateNo\"\r\n [placeholder]=\"'Kadooglu::EnterPlate' | abpLocalization\"\r\n width=\"100%\"\r\n (onFocusOut)=\"onManualTrailerPlateFocusOut()\">\r\n </dx-text-box>\r\n <div class=\"mt-1\">\r\n <a href=\"javascript:void(0)\" class=\"small text-primary\" (click)=\"trailerPlateInputMode = 'lookup'\">\r\n <i class=\"fa fa-list me-1\"></i> {{ 'Kadooglu::SelectFromList' | abpLocalization }}\r\n </a>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n\r\n <!-- S\u00FCr\u00FCc\u00FC & Firma -->\r\n <div class=\"border rounded p-3 mb-2\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-id-card me-2\"></i>{{ 'Kadooglu::DriverAndCompany' | abpLocalization }}\r\n </div>\r\n\r\n <div class=\"mb-3\">\r\n <div class=\"d-flex align-items-center gap-2 mb-1\">\r\n <label class=\"form-label mb-0 small fw-semibold text-muted\">\r\n {{ isTcCitizen ? ('Kadooglu::TcIdentityNo' | abpLocalization) : 'Kimlik No' }} <span class=\"text-danger\">*</span>\r\n </label>\r\n <dx-check-box [(value)]=\"isTcCitizen\" text=\"T.C. Vatanda\u015F\u0131\"></dx-check-box>\r\n </div>\r\n <ng-container *ngIf=\"!tcLookupMode\">\r\n <div class=\"d-flex gap-2\">\r\n <dx-text-box\r\n [(value)]=\"tcNo\"\r\n [placeholder]=\"isTcCitizen ? ('Kadooglu::TcIdentityNo' | abpLocalization) : 'Kimlik No'\"\r\n width=\"100%\">\r\n </dx-text-box>\r\n <button type=\"button\" class=\"btn btn-outline-primary btn-sm text-nowrap\"\r\n [disabled]=\"isTcQuerying\"\r\n (click)=\"queryCarrierByTcNo()\">\r\n <i class=\"fa fa-search me-1\"></i>\r\n {{ (isTcQuerying ? 'Kadooglu::Querying' : 'Kadooglu::Query') | abpLocalization }}\r\n </button>\r\n </div>\r\n <div class=\"mt-1\">\r\n <a href=\"javascript:void(0)\" class=\"small text-primary\" (click)=\"tcLookupMode = true\">\r\n <i class=\"fa fa-list me-1\"></i> {{ 'Kadooglu::SelectFromList' | abpLocalization }}\r\n </a>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"tcLookupMode\">\r\n <hit-lookup-select\r\n [getFn]=\"carrierData\"\r\n [columns]=\"carrierColumns\"\r\n displayName=\"name\"\r\n [editingData]=\"selectedCarrierName\"\r\n (selected)=\"onCarrierLookupSelected($event)\">\r\n </hit-lookup-select>\r\n <div class=\"mt-1\">\r\n <a href=\"javascript:void(0)\" class=\"small text-primary\" (click)=\"tcLookupMode = false\">\r\n <i class=\"fa fa-keyboard me-1\"></i> {{ 'Kadooglu::QueryByTc' | abpLocalization }}\r\n </a>\r\n </div>\r\n </ng-container>\r\n </div>\r\n\r\n <!-- Mevcut s\u00FCr\u00FCc\u00FC: sadece ad\u0131 g\u00F6ster (readonly) -->\r\n <ng-container *ngIf=\"!isNewCarrier\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">\r\n {{ 'Kadooglu::DriverNameSurname' | abpLocalization }}\r\n </label>\r\n <dx-text-box\r\n [(value)]=\"selectedCarrierName\"\r\n [disabled]=\"true\"\r\n width=\"100%\">\r\n </dx-text-box>\r\n </div>\r\n </ng-container>\r\n\r\n <!-- Yeni s\u00FCr\u00FCc\u00FC: Ad, Soyad, Telefon alanlar\u0131n\u0131 g\u00F6ster -->\r\n <ng-container *ngIf=\"isNewCarrier\">\r\n <div class=\"row mb-3\">\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">\r\n {{ 'Kadooglu::FirstName' | abpLocalization }} <span class=\"text-danger\">*</span>\r\n </label>\r\n <dx-text-box\r\n [(value)]=\"newCarrierFirstname\"\r\n [placeholder]=\"'Kadooglu::FirstName' | abpLocalization\"\r\n width=\"100%\">\r\n </dx-text-box>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">\r\n {{ 'Kadooglu::LastName' | abpLocalization }} <span class=\"text-danger\">*</span>\r\n </label>\r\n <dx-text-box\r\n [(value)]=\"newCarrierLastname\"\r\n [placeholder]=\"'Kadooglu::LastName' | abpLocalization\"\r\n width=\"100%\">\r\n </dx-text-box>\r\n </div>\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">\r\n {{ 'Kadooglu::Phone' | abpLocalization }}\r\n </label>\r\n <dx-text-box\r\n [(value)]=\"newCarrierTel\"\r\n [placeholder]=\"'Kadooglu::Phone' | abpLocalization\"\r\n width=\"100%\">\r\n </dx-text-box>\r\n </div>\r\n <div class=\"alert alert-info small py-1 mb-3\">\r\n <i class=\"fa fa-info-circle me-1\"></i>\r\n {{ 'Kadooglu::NewDriverAlert' | abpLocalization }}\r\n </div>\r\n </ng-container>\r\n\r\n <div class=\"mb-3\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">\r\n {{ 'Kadooglu::BusinessPartner' | abpLocalization }}\r\n </label>\r\n <hit-lookup-select\r\n [getFn]=\"businessPartnerData\"\r\n [columns]=\"businessPartnerColumns\"\r\n displayName=\"cardName\"\r\n keyExpr=\"cardCode\"\r\n [editingData]=\"selectedBusinessPartnerName\"\r\n (selected)=\"onBusinessPartnerSelected($event)\">\r\n </hit-lookup-select>\r\n </div>\r\n </div>\r\n\r\n <!-- A\u00E7\u0131klama -->\r\n <div class=\"mb-3\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::Description' | abpLocalization }}</label>\r\n <dx-text-area\r\n [(value)]=\"description\"\r\n [height]=\"80\"\r\n width=\"100%\">\r\n </dx-text-area>\r\n </div>\r\n\r\n </ng-template>\r\n\r\n <ng-template #abpFooter>\r\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"cancel()\">\r\n {{ 'AbpUi::Cancel' | abpLocalization }}\r\n </button>\r\n <abp-button\r\n iconClass=\"fa fa-save\"\r\n buttonType=\"button\"\r\n [loading]=\"isLoading\"\r\n (click)=\"save()\">\r\n {{ 'AbpUi::Save' | abpLocalization }}\r\n </abp-button>\r\n </ng-template>\r\n</abp-modal>\r\n" }]
677
+ }], ctorParameters: function () { return [{ type: i2$1.ConfirmationService }, { type: HitFactoryEntryService }, { type: HitCarrierPersonService }, { type: HitPlateService }, { type: HitVehicleTypeService }, { type: HitBusinessPartnerService }, { type: HitUserGateService }, { type: i1.LocalizationService }]; }, propDecorators: { visible: [{
678
+ type: Input
679
+ }], visibleChange: [{
680
+ type: Output
681
+ }], record: [{
682
+ type: Input
683
+ }], saved: [{
684
+ type: Output
685
+ }], cancelled: [{
686
+ type: Output
687
+ }] } });
688
+
689
+ class HitFactoryEntryListComponent {
690
+ constructor(confirmation, service, vehicleTypeService, localizationService) {
691
+ this.confirmation = confirmation;
692
+ this.service = service;
693
+ this.vehicleTypeService = vehicleTypeService;
694
+ this.localizationService = localizationService;
695
+ this.filteredData = [];
696
+ this.vehicleTypeMap = new Map();
697
+ this.showForm = false;
698
+ this.disabledIdColumn = false;
699
+ this.selectedRecord = null;
700
+ }
701
+ ngOnInit() {
702
+ this.vehicleTypeService.getList().subscribe(types => {
703
+ this.vehicleTypeMap = new Map(types.map(t => [t.code, t.name]));
704
+ });
705
+ this.loadList();
706
+ }
707
+ loadList() {
708
+ this.service.getList().subscribe(data => {
709
+ this.filteredData = data;
710
+ });
711
+ }
712
+ onToolbarPreparing(e) {
713
+ e.toolbarOptions.items.unshift({
714
+ location: 'after',
715
+ widget: 'dxButton',
716
+ options: {
717
+ icon: 'plus',
718
+ text: this.localizationService.instant('Kadooglu::NewRecord'),
719
+ type: 'default',
720
+ onClick: () => this.yeniKayit(),
721
+ },
722
+ });
723
+ }
724
+ yeniKayit() {
725
+ this.selectedRecord = null;
726
+ this.showForm = true;
727
+ }
728
+ duzenle(row) {
729
+ this.selectedRecord = { ...row };
730
+ this.showForm = true;
731
+ }
732
+ sil(row) {
733
+ this.confirmation
734
+ .warn(`"${row.u_Plate}" plakalı kaydı silmek istediğinize emin misiniz?`, '', {
735
+ yesText: 'Evet',
736
+ cancelText: 'Hayır',
737
+ })
738
+ .subscribe(status => {
739
+ if (status === 'confirm') {
740
+ this.service.delete(row.docEntry.toString()).subscribe(() => this.loadList());
741
+ }
742
+ });
743
+ }
744
+ onFormSaved() {
745
+ this.showForm = false;
746
+ this.loadList();
747
+ }
748
+ onFormCancelled() {
749
+ this.showForm = false;
750
+ }
751
+ formatEntryDateTime(dateStr, timeNum) {
752
+ if (!dateStr)
753
+ return '';
754
+ // Tarihi yerel saat olarak parse et (UTC yorumunu önlemek için T00:00 eklenmeden)
755
+ const parts = dateStr.split('T')[0].split('-');
756
+ if (parts.length < 3)
757
+ return dateStr;
758
+ const d = new Date(+parts[0], +parts[1] - 1, +parts[2]);
759
+ if (isNaN(d.getTime()))
760
+ return dateStr;
761
+ if (timeNum != null) {
762
+ d.setHours(Math.floor(timeNum / 100), timeNum % 100, 0, 0);
763
+ }
764
+ const dd = String(d.getDate()).padStart(2, '0');
765
+ const mm = String(d.getMonth() + 1).padStart(2, '0');
766
+ const yyyy = d.getFullYear();
767
+ const hh = String(d.getHours()).padStart(2, '0');
768
+ const min = String(d.getMinutes()).padStart(2, '0');
769
+ return `${dd}.${mm}.${yyyy} ${hh}:${min}`;
770
+ }
771
+ formatPlate(plate) {
772
+ if (!plate)
773
+ return '';
774
+ const p = plate.replace(/\s+/g, '').toUpperCase();
775
+ const match = p.match(/^(\d{2})([A-ZÇĞİÖŞÜ]{1,3})(\d{1,4})$/);
776
+ return match ? `${match[1]} ${match[2]} ${match[3]}` : plate;
777
+ }
778
+ getVehicleTypeName(code) {
779
+ if (!code)
780
+ return '';
781
+ return this.vehicleTypeMap.get(code) ?? code;
782
+ }
783
+ }
784
+ HitFactoryEntryListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitFactoryEntryListComponent, deps: [{ token: i2$1.ConfirmationService }, { token: HitFactoryEntryService }, { token: HitVehicleTypeService }, { token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
785
+ HitFactoryEntryListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: HitFactoryEntryListComponent, selector: "lib-hit-factory-entry-list", ngImport: i0, template: "<abp-page [breadcrumb]=\"false\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"row align-items-center\">\r\n <div class=\"col\">\r\n <h3 class=\"page-title\">{{ 'Kadooglu::FactoryEntryTitle' | abpLocalization }}</h3>\r\n </div>\r\n </div>\r\n </abp-page-toolbar-container>\r\n\r\n <div class=\"card mt-2\">\r\n <div class=\"card-body\">\r\n\r\n <!-- Grid -->\r\n <dx-data-grid\r\n [dataSource]=\"filteredData\"\r\n [columnAutoWidth]=\"true\"\r\n [showBorders]=\"true\"\r\n [showRowLines]=\"true\"\r\n [hoverStateEnabled]=\"true\"\r\n [allowColumnResizing]=\"true\"\r\n columnResizingMode=\"widget\"\r\n [rowAlternationEnabled]=\"true\"\r\n keyExpr=\"docEntry\"\r\n (onToolbarPreparing)=\"onToolbarPreparing($event)\"\r\n style=\"height: calc(100vh - 280px);\">\r\n\r\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\r\n <dxo-header-filter [visible]=\"true\"></dxo-header-filter>\r\n <dxo-search-panel [visible]=\"true\" [width]=\"200\" [placeholder]=\"'Kadooglu::Ara' | abpLocalization\"></dxo-search-panel>\r\n\r\n <dxo-pager\r\n [visible]=\"true\"\r\n [showInfo]=\"true\"\r\n [allowedPageSizes]=\"[10, 20, 50]\"\r\n [showPageSizeSelector]=\"true\"\r\n [showNavigationButtons]=\"true\">\r\n </dxo-pager>\r\n <dxo-paging [pageSize]=\"10\"></dxo-paging>\r\n\r\n <dxi-column [fixed]=\"true\" dataField=\"docEntry\" width=\"120\" [allowGrouping]=\"false\" [allowFiltering]=\"false\"\r\n [allowHeaderFiltering]=\"false\" [allowHiding]=\"false\" [allowReordering]=\"false\"\r\n cellTemplate=\"operationTemplate\" caption=\"{{ 'AbpUi::Actions' | abpLocalization }}\">\r\n <div *dxTemplate=\"let row of 'operationTemplate'\">\r\n <div ngbDropdown container=\"body\" class=\"d-inline-block\">\r\n <button class=\"btn btn-primary btn-sm dropdown-toggle\" data-toggle=\"dropdown\"\r\n aria-haspopup=\"true\" ngbDropdownToggle [disabled]=\"disabledIdColumn\">\r\n <i class=\"fa fa-cog mr-1\" aria-hidden=\"true\"></i>\r\n {{ 'AbpUi::Actions' | abpLocalization }}\r\n </button>\r\n <div ngbDropdownMenu>\r\n <button ngbDropdownItem (click)=\"duzenle(row.data)\">\r\n <i class=\"fa fa-edit\" aria-hidden=\"true\"></i> {{ 'AbpUi::Edit' | abpLocalization }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </dxi-column>\r\n\r\n <dxi-column\r\n dataField=\"u_EntryDate\"\r\n caption=\"{{ 'Kadooglu::EntryDateTime' | abpLocalization }}\"\r\n cellTemplate=\"entryDateTemplate\">\r\n </dxi-column>\r\n\r\n <dxi-column dataField=\"u_EntryType\" caption=\"Ara\u00E7 Hareket T\u00FCr\u00FC\"\r\n cellTemplate=\"vehicleTypeTemplate\">\r\n </dxi-column>\r\n <dxi-column dataField=\"u_Plate\" caption=\"{{ 'Kadooglu::Plate' | abpLocalization }}\" cellTemplate=\"plateTemplate\"></dxi-column>\r\n <dxi-column dataField=\"u_DorsePlate\" caption=\"{{ 'Kadooglu::DorsePlate' | abpLocalization }}\" cellTemplate=\"dorsePlateTemplate\"></dxi-column>\r\n <dxi-column dataField=\"u_Driver\" caption=\"{{ 'Kadooglu::Driver' | abpLocalization }}\"></dxi-column>\r\n <dxi-column dataField=\"u_TcNo\" caption=\"{{ 'Kadooglu::TcIdentityNo' | abpLocalization }}\"></dxi-column>\r\n <dxi-column dataField=\"u_CardCode\" caption=\"{{ 'Kadooglu::BusinessPartner' | abpLocalization }}\"></dxi-column>\r\n\r\n <div *dxTemplate=\"let cell of 'vehicleTypeTemplate'\">\r\n {{ getVehicleTypeName(cell.data.u_EntryType) }}\r\n </div>\r\n\r\n <div *dxTemplate=\"let cell of 'entryDateTemplate'\">\r\n {{ formatEntryDateTime(cell.data.u_EntryDate, cell.data.u_EntryTime) }}\r\n </div>\r\n\r\n <div *dxTemplate=\"let cell of 'plateTemplate'\">\r\n <span *ngIf=\"cell.data.u_Plate\" class=\"tr-plate\">\r\n <span class=\"tr-plate-blue\">TR</span>\r\n <span class=\"tr-plate-text\">{{ formatPlate(cell.data.u_Plate) }}</span>\r\n </span>\r\n </div>\r\n\r\n <div *dxTemplate=\"let cell of 'dorsePlateTemplate'\">\r\n <span *ngIf=\"cell.data.u_DorsePlate\" class=\"tr-plate\">\r\n <span class=\"tr-plate-blue\">TR</span>\r\n <span class=\"tr-plate-text\">{{ formatPlate(cell.data.u_DorsePlate) }}</span>\r\n </span>\r\n </div>\r\n </dx-data-grid>\r\n\r\n </div>\r\n </div>\r\n</abp-page>\r\n\r\n<lib-hit-factory-entry-form\r\n [(visible)]=\"showForm\"\r\n [record]=\"selectedRecord\"\r\n (saved)=\"onFormSaved()\"\r\n (cancelled)=\"onFormCancelled()\">\r\n</lib-hit-factory-entry-form>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.PageComponent, selector: "abp-page", inputs: ["title", "toolbar", "breadcrumb"] }, { kind: "component", type: i4.PageToolbarContainerComponent, selector: "abp-page-toolbar-container" }, { kind: "component", type: i5.DxDataGridComponent, selector: "dx-data-grid", inputs: ["accessKey", "activeStateEnabled", "allowColumnReordering", "allowColumnResizing", "autoNavigateToFocusedRow", "cacheEnabled", "cellHintEnabled", "columnAutoWidth", "columnChooser", "columnFixing", "columnHidingEnabled", "columnMinWidth", "columnResizingMode", "columns", "columnWidth", "customizeColumns", "dataRowTemplate", "dataSource", "dateSerializationFormat", "disabled", "editing", "elementAttr", "errorRowEnabled", "export", "filterBuilder", "filterBuilderPopup", "filterPanel", "filterRow", "filterSyncEnabled", "filterValue", "focusedColumnIndex", "focusedRowEnabled", "focusedRowIndex", "focusedRowKey", "grouping", "groupPanel", "headerFilter", "height", "highlightChanges", "hint", "hoverStateEnabled", "keyboardNavigation", "keyExpr", "loadPanel", "masterDetail", "noDataText", "pager", "paging", "remoteOperations", "renderAsync", "repaintChangesOnly", "rowAlternationEnabled", "rowDragging", "rowTemplate", "rtlEnabled", "scrolling", "searchPanel", "selectedRowKeys", "selection", "selectionFilter", "showBorders", "showColumnHeaders", "showColumnLines", "showRowLines", "sortByGroupSummaryInfo", "sorting", "stateStoring", "summary", "syncLookupFilterValues", "tabIndex", "toolbar", "twoWayBindingEnabled", "visible", "width", "wordWrapEnabled"], outputs: ["onAdaptiveDetailRowPreparing", "onCellClick", "onCellDblClick", "onCellHoverChanged", "onCellPrepared", "onContentReady", "onContextMenuPreparing", "onDataErrorOccurred", "onDisposing", "onEditCanceled", "onEditCanceling", "onEditingStart", "onEditorPrepared", "onEditorPreparing", "onExporting", "onFocusedCellChanged", "onFocusedCellChanging", "onFocusedRowChanged", "onFocusedRowChanging", "onInitialized", "onInitNewRow", "onKeyDown", "onOptionChanged", "onRowClick", "onRowCollapsed", "onRowCollapsing", "onRowDblClick", "onRowExpanded", "onRowExpanding", "onRowInserted", "onRowInserting", "onRowPrepared", "onRowRemoved", "onRowRemoving", "onRowUpdated", "onRowUpdating", "onRowValidating", "onSaved", "onSaving", "onSelectionChanged", "onToolbarPreparing", "accessKeyChange", "activeStateEnabledChange", "allowColumnReorderingChange", "allowColumnResizingChange", "autoNavigateToFocusedRowChange", "cacheEnabledChange", "cellHintEnabledChange", "columnAutoWidthChange", "columnChooserChange", "columnFixingChange", "columnHidingEnabledChange", "columnMinWidthChange", "columnResizingModeChange", "columnsChange", "columnWidthChange", "customizeColumnsChange", "dataRowTemplateChange", "dataSourceChange", "dateSerializationFormatChange", "disabledChange", "editingChange", "elementAttrChange", "errorRowEnabledChange", "exportChange", "filterBuilderChange", "filterBuilderPopupChange", "filterPanelChange", "filterRowChange", "filterSyncEnabledChange", "filterValueChange", "focusedColumnIndexChange", "focusedRowEnabledChange", "focusedRowIndexChange", "focusedRowKeyChange", "groupingChange", "groupPanelChange", "headerFilterChange", "heightChange", "highlightChangesChange", "hintChange", "hoverStateEnabledChange", "keyboardNavigationChange", "keyExprChange", "loadPanelChange", "masterDetailChange", "noDataTextChange", "pagerChange", "pagingChange", "remoteOperationsChange", "renderAsyncChange", "repaintChangesOnlyChange", "rowAlternationEnabledChange", "rowDraggingChange", "rowTemplateChange", "rtlEnabledChange", "scrollingChange", "searchPanelChange", "selectedRowKeysChange", "selectionChange", "selectionFilterChange", "showBordersChange", "showColumnHeadersChange", "showColumnLinesChange", "showRowLinesChange", "sortByGroupSummaryInfoChange", "sortingChange", "stateStoringChange", "summaryChange", "syncLookupFilterValuesChange", "tabIndexChange", "toolbarChange", "twoWayBindingEnabledChange", "visibleChange", "widthChange", "wordWrapEnabledChange"] }, { kind: "component", type: i5$1.DxiColumnComponent, selector: "dxi-column", inputs: ["alignment", "allowEditing", "allowExporting", "allowFiltering", "allowFixing", "allowGrouping", "allowHeaderFiltering", "allowHiding", "allowReordering", "allowResizing", "allowSearch", "allowSorting", "autoExpandGroup", "buttons", "calculateCellValue", "calculateDisplayValue", "calculateFilterExpression", "calculateGroupValue", "calculateSortValue", "caption", "cellTemplate", "columns", "cssClass", "customizeText", "dataField", "dataType", "editCellTemplate", "editorOptions", "encodeHtml", "falseText", "filterOperations", "filterType", "filterValue", "filterValues", "fixed", "fixedPosition", "format", "formItem", "groupCellTemplate", "groupIndex", "headerCellTemplate", "headerFilter", "hidingPriority", "isBand", "lookup", "minWidth", "name", "ownerBand", "renderAsync", "selectedFilterOperation", "setCellValue", "showEditorAlways", "showInColumnChooser", "showWhenGrouped", "sortIndex", "sortingMethod", "sortOrder", "trueText", "type", "validationRules", "visible", "visibleIndex", "width"], outputs: ["filterValueChange", "filterValuesChange", "groupIndexChange", "selectedFilterOperationChange", "sortIndexChange", "sortOrderChange", "visibleChange", "visibleIndexChange"] }, { kind: "component", type: i5$1.DxoHeaderFilterComponent, selector: "dxo-header-filter", inputs: ["allowSearch", "dataSource", "groupInterval", "height", "searchMode", "width", "searchTimeout", "texts", "visible", "showRelevantValues"] }, { kind: "component", type: i5$1.DxoFilterRowComponent, selector: "dxo-filter-row", inputs: ["applyFilter", "applyFilterText", "betweenEndText", "betweenStartText", "operationDescriptions", "resetOperationText", "showAllText", "showOperationChooser", "visible"] }, { kind: "component", type: i5$1.DxoPagerComponent, selector: "dxo-pager", inputs: ["allowedPageSizes", "displayMode", "infoText", "label", "showInfo", "showNavigationButtons", "showPageSizeSelector", "visible"] }, { kind: "component", type: i5$1.DxoPagingComponent, selector: "dxo-paging", inputs: ["enabled", "pageIndex", "pageSize"], outputs: ["pageIndexChange", "pageSizeChange"] }, { kind: "component", type: i5$1.DxoSearchPanelComponent, selector: "dxo-search-panel", inputs: ["highlightCaseSensitive", "highlightSearchText", "placeholder", "searchVisibleColumnsOnly", "text", "visible", "width"], outputs: ["textChange"] }, { kind: "directive", type: i7.DxTemplateDirective, selector: "[dxTemplate]", inputs: ["dxTemplateOf"] }, { kind: "directive", type: i8.NgbDropdown, selector: "[ngbDropdown]", inputs: ["autoClose", "dropdownClass", "open", "placement", "container", "display"], outputs: ["openChange"], exportAs: ["ngbDropdown"] }, { kind: "directive", type: i8.NgbDropdownToggle, selector: "[ngbDropdownToggle]" }, { kind: "directive", type: i8.NgbDropdownMenu, selector: "[ngbDropdownMenu]" }, { kind: "directive", type: i8.NgbDropdownItem, selector: "[ngbDropdownItem]", inputs: ["disabled"] }, { kind: "component", type: HitFactoryEntryFormComponent, selector: "lib-hit-factory-entry-form", inputs: ["visible", "record"], outputs: ["visibleChange", "saved", "cancelled"] }, { kind: "pipe", type: i1.LocalizationPipe, name: "abpLocalization" }] });
786
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitFactoryEntryListComponent, decorators: [{
787
+ type: Component,
788
+ args: [{ selector: 'lib-hit-factory-entry-list', template: "<abp-page [breadcrumb]=\"false\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"row align-items-center\">\r\n <div class=\"col\">\r\n <h3 class=\"page-title\">{{ 'Kadooglu::FactoryEntryTitle' | abpLocalization }}</h3>\r\n </div>\r\n </div>\r\n </abp-page-toolbar-container>\r\n\r\n <div class=\"card mt-2\">\r\n <div class=\"card-body\">\r\n\r\n <!-- Grid -->\r\n <dx-data-grid\r\n [dataSource]=\"filteredData\"\r\n [columnAutoWidth]=\"true\"\r\n [showBorders]=\"true\"\r\n [showRowLines]=\"true\"\r\n [hoverStateEnabled]=\"true\"\r\n [allowColumnResizing]=\"true\"\r\n columnResizingMode=\"widget\"\r\n [rowAlternationEnabled]=\"true\"\r\n keyExpr=\"docEntry\"\r\n (onToolbarPreparing)=\"onToolbarPreparing($event)\"\r\n style=\"height: calc(100vh - 280px);\">\r\n\r\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\r\n <dxo-header-filter [visible]=\"true\"></dxo-header-filter>\r\n <dxo-search-panel [visible]=\"true\" [width]=\"200\" [placeholder]=\"'Kadooglu::Ara' | abpLocalization\"></dxo-search-panel>\r\n\r\n <dxo-pager\r\n [visible]=\"true\"\r\n [showInfo]=\"true\"\r\n [allowedPageSizes]=\"[10, 20, 50]\"\r\n [showPageSizeSelector]=\"true\"\r\n [showNavigationButtons]=\"true\">\r\n </dxo-pager>\r\n <dxo-paging [pageSize]=\"10\"></dxo-paging>\r\n\r\n <dxi-column [fixed]=\"true\" dataField=\"docEntry\" width=\"120\" [allowGrouping]=\"false\" [allowFiltering]=\"false\"\r\n [allowHeaderFiltering]=\"false\" [allowHiding]=\"false\" [allowReordering]=\"false\"\r\n cellTemplate=\"operationTemplate\" caption=\"{{ 'AbpUi::Actions' | abpLocalization }}\">\r\n <div *dxTemplate=\"let row of 'operationTemplate'\">\r\n <div ngbDropdown container=\"body\" class=\"d-inline-block\">\r\n <button class=\"btn btn-primary btn-sm dropdown-toggle\" data-toggle=\"dropdown\"\r\n aria-haspopup=\"true\" ngbDropdownToggle [disabled]=\"disabledIdColumn\">\r\n <i class=\"fa fa-cog mr-1\" aria-hidden=\"true\"></i>\r\n {{ 'AbpUi::Actions' | abpLocalization }}\r\n </button>\r\n <div ngbDropdownMenu>\r\n <button ngbDropdownItem (click)=\"duzenle(row.data)\">\r\n <i class=\"fa fa-edit\" aria-hidden=\"true\"></i> {{ 'AbpUi::Edit' | abpLocalization }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </dxi-column>\r\n\r\n <dxi-column\r\n dataField=\"u_EntryDate\"\r\n caption=\"{{ 'Kadooglu::EntryDateTime' | abpLocalization }}\"\r\n cellTemplate=\"entryDateTemplate\">\r\n </dxi-column>\r\n\r\n <dxi-column dataField=\"u_EntryType\" caption=\"Ara\u00E7 Hareket T\u00FCr\u00FC\"\r\n cellTemplate=\"vehicleTypeTemplate\">\r\n </dxi-column>\r\n <dxi-column dataField=\"u_Plate\" caption=\"{{ 'Kadooglu::Plate' | abpLocalization }}\" cellTemplate=\"plateTemplate\"></dxi-column>\r\n <dxi-column dataField=\"u_DorsePlate\" caption=\"{{ 'Kadooglu::DorsePlate' | abpLocalization }}\" cellTemplate=\"dorsePlateTemplate\"></dxi-column>\r\n <dxi-column dataField=\"u_Driver\" caption=\"{{ 'Kadooglu::Driver' | abpLocalization }}\"></dxi-column>\r\n <dxi-column dataField=\"u_TcNo\" caption=\"{{ 'Kadooglu::TcIdentityNo' | abpLocalization }}\"></dxi-column>\r\n <dxi-column dataField=\"u_CardCode\" caption=\"{{ 'Kadooglu::BusinessPartner' | abpLocalization }}\"></dxi-column>\r\n\r\n <div *dxTemplate=\"let cell of 'vehicleTypeTemplate'\">\r\n {{ getVehicleTypeName(cell.data.u_EntryType) }}\r\n </div>\r\n\r\n <div *dxTemplate=\"let cell of 'entryDateTemplate'\">\r\n {{ formatEntryDateTime(cell.data.u_EntryDate, cell.data.u_EntryTime) }}\r\n </div>\r\n\r\n <div *dxTemplate=\"let cell of 'plateTemplate'\">\r\n <span *ngIf=\"cell.data.u_Plate\" class=\"tr-plate\">\r\n <span class=\"tr-plate-blue\">TR</span>\r\n <span class=\"tr-plate-text\">{{ formatPlate(cell.data.u_Plate) }}</span>\r\n </span>\r\n </div>\r\n\r\n <div *dxTemplate=\"let cell of 'dorsePlateTemplate'\">\r\n <span *ngIf=\"cell.data.u_DorsePlate\" class=\"tr-plate\">\r\n <span class=\"tr-plate-blue\">TR</span>\r\n <span class=\"tr-plate-text\">{{ formatPlate(cell.data.u_DorsePlate) }}</span>\r\n </span>\r\n </div>\r\n </dx-data-grid>\r\n\r\n </div>\r\n </div>\r\n</abp-page>\r\n\r\n<lib-hit-factory-entry-form\r\n [(visible)]=\"showForm\"\r\n [record]=\"selectedRecord\"\r\n (saved)=\"onFormSaved()\"\r\n (cancelled)=\"onFormCancelled()\">\r\n</lib-hit-factory-entry-form>\r\n" }]
789
+ }], ctorParameters: function () { return [{ type: i2$1.ConfirmationService }, { type: HitFactoryEntryService }, { type: HitVehicleTypeService }, { type: i1.LocalizationService }]; } });
790
+
791
+ const routes$8 = [
792
+ { path: '', component: HitFactoryEntryListComponent },
793
+ ];
794
+ class HitFactoryEntryRoutingModule {
795
+ }
796
+ HitFactoryEntryRoutingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitFactoryEntryRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
797
+ HitFactoryEntryRoutingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: HitFactoryEntryRoutingModule, imports: [i1$1.RouterModule], exports: [RouterModule] });
798
+ HitFactoryEntryRoutingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitFactoryEntryRoutingModule, imports: [RouterModule.forChild(routes$8), RouterModule] });
799
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitFactoryEntryRoutingModule, decorators: [{
800
+ type: NgModule,
801
+ args: [{
802
+ imports: [RouterModule.forChild(routes$8)],
803
+ exports: [RouterModule],
804
+ }]
805
+ }] });
806
+
807
+ class HitUIModule {
808
+ }
809
+ HitUIModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitUIModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
810
+ HitUIModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: HitUIModule, declarations: [HitModalComponent], imports: [CoreModule,
811
+ ThemeSharedModule,
812
+ FormsModule,
813
+ DxDataGridModule,
814
+ DxTextBoxModule], exports: [HitModalComponent] });
815
+ HitUIModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitUIModule, imports: [CoreModule,
816
+ ThemeSharedModule,
817
+ FormsModule,
818
+ DxDataGridModule,
819
+ DxTextBoxModule] });
820
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitUIModule, decorators: [{
821
+ type: NgModule,
822
+ args: [{
823
+ declarations: [HitModalComponent],
824
+ imports: [
825
+ CoreModule,
826
+ ThemeSharedModule,
827
+ FormsModule,
828
+ DxDataGridModule,
829
+ DxTextBoxModule,
830
+ ],
831
+ exports: [HitModalComponent],
832
+ }]
833
+ }] });
834
+
835
+ class HitFactoryEntryModule {
836
+ }
837
+ HitFactoryEntryModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitFactoryEntryModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
838
+ HitFactoryEntryModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: HitFactoryEntryModule, declarations: [HitFactoryEntryListComponent, HitFactoryEntryFormComponent], imports: [CommonModule,
839
+ FormsModule,
840
+ CoreModule,
841
+ ThemeSharedModule,
842
+ PageModule,
843
+ CommercialUiModule,
844
+ HitFactoryEntryRoutingModule,
845
+ HitUIModule,
846
+ DxDataGridModule,
847
+ DxDateBoxModule,
848
+ DxNumberBoxModule,
849
+ DxSelectBoxModule,
850
+ DxTextBoxModule,
851
+ DxTextAreaModule,
852
+ DxTagBoxModule,
853
+ DxButtonModule,
854
+ DxCheckBoxModule,
855
+ NgbDropdownModule] });
856
+ HitFactoryEntryModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitFactoryEntryModule, imports: [CommonModule,
857
+ FormsModule,
858
+ CoreModule,
859
+ ThemeSharedModule,
860
+ PageModule,
861
+ CommercialUiModule,
862
+ HitFactoryEntryRoutingModule,
863
+ HitUIModule,
864
+ DxDataGridModule,
865
+ DxDateBoxModule,
866
+ DxNumberBoxModule,
867
+ DxSelectBoxModule,
868
+ DxTextBoxModule,
869
+ DxTextAreaModule,
870
+ DxTagBoxModule,
871
+ DxButtonModule,
872
+ DxCheckBoxModule,
873
+ NgbDropdownModule] });
874
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitFactoryEntryModule, decorators: [{
875
+ type: NgModule,
876
+ args: [{
877
+ declarations: [HitFactoryEntryListComponent, HitFactoryEntryFormComponent],
878
+ imports: [
879
+ CommonModule,
880
+ FormsModule,
881
+ CoreModule,
882
+ ThemeSharedModule,
883
+ PageModule,
884
+ CommercialUiModule,
885
+ HitFactoryEntryRoutingModule,
886
+ HitUIModule,
887
+ DxDataGridModule,
888
+ DxDateBoxModule,
889
+ DxNumberBoxModule,
890
+ DxSelectBoxModule,
891
+ DxTextBoxModule,
892
+ DxTextAreaModule,
893
+ DxTagBoxModule,
894
+ DxButtonModule,
895
+ DxCheckBoxModule,
896
+ NgbDropdownModule,
897
+ ],
898
+ }]
899
+ }] });
900
+ function loadHitFactoryEntryModuleAsChild() {
901
+ return Promise.resolve(HitFactoryEntryModule);
902
+ }
903
+
904
+ class HitScaleService {
905
+ constructor(restService) {
906
+ this.restService = restService;
907
+ this.apiName = 'Kadooglu';
908
+ this.baseUrl = '/api/entegration-service/scales';
909
+ }
910
+ getList(params) {
911
+ return this.restService.request({ method: 'GET', url: this.baseUrl, params }, { apiName: this.apiName }).pipe(map$1(response => response?.items ?? []));
912
+ }
913
+ get(code) {
914
+ return this.restService.request({ method: 'GET', url: `${this.baseUrl}/${code}` }, { apiName: this.apiName }).pipe(map$1(r => r?.items));
915
+ }
916
+ create(body) {
917
+ return this.restService.request({ method: 'POST', url: this.baseUrl, body }, { apiName: this.apiName }).pipe(map$1(r => r?.items));
918
+ }
919
+ update(code, body) {
920
+ return this.restService.request({ method: 'PATCH', url: `${this.baseUrl}/${code}`, body }, { apiName: this.apiName }).pipe(map$1(r => r?.items));
921
+ }
922
+ delete(code) {
923
+ return this.restService.request({ method: 'DELETE', url: `${this.baseUrl}/${code}` }, { apiName: this.apiName });
924
+ }
925
+ }
926
+ HitScaleService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitScaleService, deps: [{ token: i1.RestService }], target: i0.ɵɵFactoryTarget.Injectable });
927
+ HitScaleService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitScaleService, providedIn: 'root' });
928
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitScaleService, decorators: [{
929
+ type: Injectable,
930
+ args: [{ providedIn: 'root' }]
931
+ }], ctorParameters: function () { return [{ type: i1.RestService }]; } });
932
+
933
+ class HitItemService {
934
+ constructor(restService) {
935
+ this.restService = restService;
936
+ this.apiName = 'Kadooglu';
937
+ this.baseUrl = '/api/entegration-service/items';
938
+ }
939
+ getList(params) {
940
+ const defaultParams = { maxResultCount: 1000, ...params };
941
+ return this.restService.request({ method: 'GET', url: this.baseUrl, params: defaultParams }, { apiName: this.apiName }).pipe(map$1(response => response?.items ?? []));
942
+ }
943
+ }
944
+ HitItemService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitItemService, deps: [{ token: i1.RestService }], target: i0.ɵɵFactoryTarget.Injectable });
945
+ HitItemService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitItemService, providedIn: 'root' });
946
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitItemService, decorators: [{
947
+ type: Injectable,
948
+ args: [{ providedIn: 'root' }]
949
+ }], ctorParameters: function () { return [{ type: i1.RestService }]; } });
950
+
951
+ class HitPurchaseDeliveryNoteService {
952
+ constructor(restService) {
953
+ this.restService = restService;
954
+ this.apiName = 'Kadooglu';
955
+ this.baseUrl = '/api/entegration-service/purchase-delivery-notes';
956
+ }
957
+ getList(params) {
958
+ const defaultParams = { maxResultCount: 1000, ...params };
959
+ return this.restService.request({ method: 'GET', url: this.baseUrl, params: defaultParams }, { apiName: this.apiName }).pipe(map$1(response => response?.items ?? []));
960
+ }
961
+ }
962
+ HitPurchaseDeliveryNoteService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitPurchaseDeliveryNoteService, deps: [{ token: i1.RestService }], target: i0.ɵɵFactoryTarget.Injectable });
963
+ HitPurchaseDeliveryNoteService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitPurchaseDeliveryNoteService, providedIn: 'root' });
964
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitPurchaseDeliveryNoteService, decorators: [{
965
+ type: Injectable,
966
+ args: [{ providedIn: 'root' }]
967
+ }], ctorParameters: function () { return [{ type: i1.RestService }]; } });
968
+
969
+ class HitStockTransferService {
970
+ constructor(restService) {
971
+ this.restService = restService;
972
+ this.apiName = 'Kadooglu';
973
+ this.baseUrl = '/api/entegration-service/stock-transfers';
974
+ }
975
+ getList(params) {
976
+ const defaultParams = { maxResultCount: 1000, ...params };
977
+ return this.restService.request({ method: 'GET', url: this.baseUrl, params: defaultParams }, { apiName: this.apiName }).pipe(map$1(response => response?.items ?? []));
978
+ }
979
+ }
980
+ HitStockTransferService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitStockTransferService, deps: [{ token: i1.RestService }], target: i0.ɵɵFactoryTarget.Injectable });
981
+ HitStockTransferService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitStockTransferService, providedIn: 'root' });
982
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitStockTransferService, decorators: [{
983
+ type: Injectable,
984
+ args: [{ providedIn: 'root' }]
985
+ }], ctorParameters: function () { return [{ type: i1.RestService }]; } });
986
+
987
+ class HitGateService {
988
+ constructor(restService) {
989
+ this.restService = restService;
990
+ this.apiName = 'Kadooglu';
991
+ this.baseUrl = '/api/entegration-service/gates';
992
+ }
993
+ getList(params) {
994
+ return this.restService.request({ method: 'GET', url: this.baseUrl, params }, { apiName: this.apiName }).pipe(map$1(response => response?.items ?? []));
995
+ }
996
+ get(code) {
997
+ return this.restService.request({ method: 'GET', url: `${this.baseUrl}/${code}` }, { apiName: this.apiName }).pipe(map$1(r => r?.items));
998
+ }
999
+ create(body) {
1000
+ return this.restService.request({ method: 'POST', url: this.baseUrl, body }, { apiName: this.apiName }).pipe(map$1(r => r?.items));
1001
+ }
1002
+ update(code, body) {
1003
+ return this.restService.request({ method: 'PATCH', url: `${this.baseUrl}/${code}`, body }, { apiName: this.apiName }).pipe(map$1(r => r?.items));
1004
+ }
1005
+ delete(code) {
1006
+ return this.restService.request({ method: 'DELETE', url: `${this.baseUrl}/${code}` }, { apiName: this.apiName });
1007
+ }
1008
+ }
1009
+ HitGateService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitGateService, deps: [{ token: i1.RestService }], target: i0.ɵɵFactoryTarget.Injectable });
1010
+ HitGateService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitGateService, providedIn: 'root' });
1011
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitGateService, decorators: [{
1012
+ type: Injectable,
1013
+ args: [{ providedIn: 'root' }]
1014
+ }], ctorParameters: function () { return [{ type: i1.RestService }]; } });
1015
+
1016
+ class HitEntryWeighingService {
1017
+ constructor(restService, scaleService, plateService, carrierPersonService, businessPartnerService, itemService, purchaseDeliveryNoteService, stockTransferService, gateService, vehicleTypeService) {
1018
+ this.restService = restService;
1019
+ this.scaleService = scaleService;
1020
+ this.plateService = plateService;
1021
+ this.carrierPersonService = carrierPersonService;
1022
+ this.businessPartnerService = businessPartnerService;
1023
+ this.itemService = itemService;
1024
+ this.purchaseDeliveryNoteService = purchaseDeliveryNoteService;
1025
+ this.stockTransferService = stockTransferService;
1026
+ this.gateService = gateService;
1027
+ this.vehicleTypeService = vehicleTypeService;
1028
+ this.apiName = 'Kadooglu';
1029
+ this.baseUrl = '/api/entegration-service/entry-weighings';
1030
+ }
1031
+ getList(params) {
1032
+ const defaultParams = { maxResultCount: 50, ...params };
1033
+ return this.restService.request({ method: 'GET', url: this.baseUrl, params: defaultParams }, { apiName: this.apiName }).pipe(map$1(response => response?.items ?? []));
1034
+ }
1035
+ get(docEntry) {
1036
+ return this.restService.request({ method: 'GET', url: `${this.baseUrl}/${docEntry}` }, { apiName: this.apiName }).pipe(map$1(response => response?.items));
1037
+ }
1038
+ create(body) {
1039
+ return this.restService.request({ method: 'POST', url: this.baseUrl, body }, { apiName: this.apiName }).pipe(map$1(response => response?.items));
1040
+ }
1041
+ update(docEntry, body) {
1042
+ return this.restService.request({ method: 'PATCH', url: `${this.baseUrl}/${docEntry}`, body }, { apiName: this.apiName }).pipe(map$1(response => response?.items));
1043
+ }
1044
+ delete(docEntry) {
1045
+ return this.restService.request({ method: 'DELETE', url: `${this.baseUrl}/${docEntry}` }, { apiName: this.apiName });
1046
+ }
1047
+ doWeighing(docEntry, body) {
1048
+ return this.restService.request({ method: 'POST', url: `${this.baseUrl}/${docEntry}/do-weighing`, body }, { apiName: this.apiName }).pipe(map$1(response => response?.items));
1049
+ }
1050
+ // --- Lookup methods ---
1051
+ getDocuments() {
1052
+ return this.purchaseDeliveryNoteService.getList().pipe(map$1(notes => notes.map(n => ({ code: n.docNum.toString(), name: n.cardName ?? '' }))));
1053
+ }
1054
+ getScales() {
1055
+ return this.scaleService.getList().pipe(map$1(scales => scales.map(s => ({ code: s.code, name: s.name }))));
1056
+ }
1057
+ getTruckPlates() {
1058
+ return this.plateService.getList().pipe(map$1(plates => plates
1059
+ .filter(p => p.u_IsTrailer === 'N' || !p.u_IsTrailer)
1060
+ .map(p => ({ code: p.code, plateNo: p.code }))));
1061
+ }
1062
+ getTrailerPlates() {
1063
+ return this.plateService.getList().pipe(map$1(plates => plates
1064
+ .filter(p => p.u_IsTrailer === 'Y')
1065
+ .map(p => ({ code: p.code, plateNo: p.code }))));
1066
+ }
1067
+ getDrivers() {
1068
+ return this.carrierPersonService.getList().pipe(map$1(persons => persons
1069
+ .filter(p => p.u_Active === 'Y')
1070
+ .map(p => ({ code: p.code, name: `${p.u_Firstname ?? ''} ${p.u_Lastname ?? ''}`.trim() }))));
1071
+ }
1072
+ getAccounts() {
1073
+ return this.businessPartnerService.getList().pipe(map$1(partners => partners.map(p => ({ code: p.cardCode, title: p.cardName }))));
1074
+ }
1075
+ getStockItems() {
1076
+ return this.itemService.getList().pipe(map$1(items => items.map(i => ({ code: i.itemCode, name: i.itemName }))));
1077
+ }
1078
+ getGates() {
1079
+ return this.gateService.getList().pipe(map$1(gates => gates.map(g => ({ code: g.code, name: g.name }))));
1080
+ }
1081
+ getVehicleTypes() {
1082
+ return this.vehicleTypeService.getList().pipe(map$1(types => types.map(t => ({
1083
+ code: t.code, name: t.name,
1084
+ u_TrtmYpilck: t.u_TrtmYpilck, u_MalGC: t.u_MalGC
1085
+ }))));
1086
+ }
1087
+ doGoodsMovement(docEntry) {
1088
+ return this.restService.request({ method: 'POST', url: `${this.baseUrl}/${docEntry}/do-goods-movement` }, { apiName: this.apiName }).pipe(map$1(r => r?.items));
1089
+ }
1090
+ }
1091
+ HitEntryWeighingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitEntryWeighingService, deps: [{ token: i1.RestService }, { token: HitScaleService }, { token: HitPlateService }, { token: HitCarrierPersonService }, { token: HitBusinessPartnerService }, { token: HitItemService }, { token: HitPurchaseDeliveryNoteService }, { token: HitStockTransferService }, { token: HitGateService }, { token: HitVehicleTypeService }], target: i0.ɵɵFactoryTarget.Injectable });
1092
+ HitEntryWeighingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitEntryWeighingService, providedIn: 'root' });
1093
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitEntryWeighingService, decorators: [{
1094
+ type: Injectable,
1095
+ args: [{ providedIn: 'root' }]
1096
+ }], ctorParameters: function () { return [{ type: i1.RestService }, { type: HitScaleService }, { type: HitPlateService }, { type: HitCarrierPersonService }, { type: HitBusinessPartnerService }, { type: HitItemService }, { type: HitPurchaseDeliveryNoteService }, { type: HitStockTransferService }, { type: HitGateService }, { type: HitVehicleTypeService }]; } });
1097
+
1098
+ class HitEntryWeighingListComponent {
1099
+ constructor(service, confirmation, router, localizationService, gateService) {
1100
+ this.service = service;
1101
+ this.confirmation = confirmation;
1102
+ this.router = router;
1103
+ this.localizationService = localizationService;
1104
+ this.gateService = gateService;
1105
+ this.allData = [];
1106
+ this.filteredData = [];
1107
+ this.vehicleTypeList = [];
1108
+ this.gateList = [];
1109
+ this.malGcTypes = new Set();
1110
+ this.weighingTypes = new Set();
1111
+ this.disabledIdColumn = false;
1112
+ this.filterMode = 'pending';
1113
+ }
1114
+ ngOnInit() {
1115
+ this.gateService.getList().subscribe(gates => (this.gateList = gates));
1116
+ this.service.getVehicleTypes().subscribe(types => {
1117
+ this.vehicleTypeList = types;
1118
+ this.malGcTypes = new Set(types.filter(t => t.u_MalGC === 'Y').map(t => t.code));
1119
+ this.weighingTypes = new Set(types.filter(t => t.u_TrtmYpilck === 'Y').map(t => t.code));
1120
+ this.loadList();
1121
+ });
1122
+ }
1123
+ loadList() {
1124
+ this.service.getList().subscribe(data => {
1125
+ this.allData = data.filter(x => this.weighingTypes.has(x.u_EntryType));
1126
+ this.applyFilter();
1127
+ });
1128
+ }
1129
+ setFilter(mode) {
1130
+ this.filterMode = mode;
1131
+ this.applyFilter();
1132
+ this.dataGrid?.instance?.repaint();
1133
+ }
1134
+ onToolbarPreparing(e) {
1135
+ const allText = this.localizationService.instant('Kadooglu::AllWeighings');
1136
+ const pendingText = this.localizationService.instant('Kadooglu::PendingWeighings');
1137
+ const newRecordText = this.localizationService.instant('Kadooglu::NewRecord');
1138
+ e.toolbarOptions.items.unshift({
1139
+ location: 'after',
1140
+ widget: 'dxButton',
1141
+ options: {
1142
+ icon: 'plus',
1143
+ text: newRecordText,
1144
+ type: 'default',
1145
+ onClick: () => this.yeniKayit(),
1146
+ },
1147
+ }, {
1148
+ location: 'before',
1149
+ widget: 'dxButton',
1150
+ options: {
1151
+ text: allText,
1152
+ type: this.filterMode === 'all' ? 'success' : 'normal',
1153
+ stylingMode: this.filterMode === 'all' ? 'contained' : 'outlined',
1154
+ onClick: () => this.setFilter('all'),
1155
+ },
1156
+ }, {
1157
+ location: 'before',
1158
+ widget: 'dxButton',
1159
+ options: {
1160
+ text: pendingText,
1161
+ type: this.filterMode === 'pending' ? 'success' : 'normal',
1162
+ stylingMode: this.filterMode === 'pending' ? 'contained' : 'outlined',
1163
+ onClick: () => this.setFilter('pending'),
1164
+ },
1165
+ });
1166
+ }
1167
+ applyFilter() {
1168
+ if (this.filterMode === 'pending') {
1169
+ this.filteredData = this.allData.filter(x => {
1170
+ if (x.u_Status === '4')
1171
+ return false;
1172
+ if (x.u_Status === '2' && this.malGcTypes.has(x.u_EntryType))
1173
+ return true;
1174
+ return !(x.u_LastWeighing ?? x.u_LastWeighing);
1175
+ });
1176
+ }
1177
+ else {
1178
+ this.filteredData = [...this.allData];
1179
+ }
1180
+ }
1181
+ isMalGC(entryType) {
1182
+ return this.malGcTypes?.has(entryType) ?? false;
1183
+ }
1184
+ yeniKayit() {
1185
+ this.router.navigate(['/kadooglu/entry-weighing/new']);
1186
+ }
1187
+ duzenle(row) {
1188
+ this.router.navigate(['/kadooglu/entry-weighing', row.docEntry ?? row.docEntry], {
1189
+ state: { rowData: row }
1190
+ });
1191
+ }
1192
+ tartimYap(row, mode) {
1193
+ this.router.navigate(['/kadooglu/entry-weighing', row.docEntry ?? row.docEntry], {
1194
+ queryParams: { mode },
1195
+ state: { rowData: row }
1196
+ });
1197
+ }
1198
+ sil(row) {
1199
+ const docEntry = row.docEntry ?? row.docEntry;
1200
+ this.confirmation
1201
+ .warn(`"${row.u_Plate || row.u_Plate || row.docNum || row.docNum}" kaydı silmek istediğinize emin misiniz?`, ``, {
1202
+ yesText: 'Evet',
1203
+ cancelText: 'Hayır',
1204
+ })
1205
+ .subscribe(status => {
1206
+ if (status === 'confirm') {
1207
+ this.service.delete(docEntry).subscribe(() => this.loadList());
1208
+ }
1209
+ });
1210
+ }
1211
+ formatPlate(plate) {
1212
+ if (!plate)
1213
+ return '';
1214
+ const p = plate.replace(/\s+/g, '').toUpperCase();
1215
+ const match = p.match(/^(\d{2})([A-ZÇĞİÖŞÜ]{1,3})(\d{1,4})$/);
1216
+ return match ? `${match[1]} ${match[2]} ${match[3]}` : plate;
1217
+ }
1218
+ formatEntryDateTime(dateStr, timeStr) {
1219
+ if (!dateStr)
1220
+ return '';
1221
+ const parts = dateStr.split('T')[0].split('-');
1222
+ if (parts.length < 3)
1223
+ return dateStr;
1224
+ const d = new Date(+parts[0], +parts[1] - 1, +parts[2]);
1225
+ if (isNaN(d.getTime()))
1226
+ return dateStr;
1227
+ const dd = String(d.getDate()).padStart(2, '0');
1228
+ const mm = String(d.getMonth() + 1).padStart(2, '0');
1229
+ const yyyy = d.getFullYear();
1230
+ const time = this.formatTime(timeStr);
1231
+ return time ? `${dd}.${mm}.${yyyy} ${time}` : `${dd}.${mm}.${yyyy}`;
1232
+ }
1233
+ formatTime(time) {
1234
+ if (!time)
1235
+ return '';
1236
+ const t = time.replace(/[^0-9]/g, '');
1237
+ if (t.length === 4)
1238
+ return t.substring(0, 2) + ':' + t.substring(2);
1239
+ if (t.length === 3)
1240
+ return '0' + t.substring(0, 1) + ':' + t.substring(1);
1241
+ return time;
1242
+ }
1243
+ getStatusLabel(status) {
1244
+ switch (status) {
1245
+ case '0': return this.localizationService.instant('Kadooglu::StatusEntered');
1246
+ case '1': return this.localizationService.instant('Kadooglu::StatusFirstWeighingDone');
1247
+ case '2': return this.localizationService.instant('Kadooglu::StatusLastWeighingDone');
1248
+ case '3': return this.localizationService.instant('Kadooglu::StatusExited');
1249
+ case '4': return this.localizationService.instant('Kadooglu::StatusGoodsMovementDone');
1250
+ default: return this.localizationService.instant('Kadooglu::StatusUnknown');
1251
+ }
1252
+ }
1253
+ getStatusClass(status) {
1254
+ switch (status) {
1255
+ case '0': return 'badge rounded-pill bg-secondary fs-6 fw-normal';
1256
+ case '1': return 'badge rounded-pill bg-info fs-6 fw-normal';
1257
+ case '2': return 'badge rounded-pill bg-success fs-6 fw-normal';
1258
+ case '3': return 'badge rounded-pill bg-success fs-6 fw-normal';
1259
+ case '4': return 'badge rounded-pill bg-success fs-6 fw-normal';
1260
+ default: return 'badge rounded-pill bg-secondary fs-6 fw-normal';
1261
+ }
1262
+ }
1263
+ malGcYap(row) {
1264
+ const docEntry = row.docEntry ?? row.docEntry;
1265
+ this.confirmation
1266
+ .warn(this.localizationService.instant('Kadooglu::MalGcConfirmMessage', String(row.u_Plate || row.docNum)), '', {
1267
+ yesText: this.localizationService.instant('Kadooglu::Yes'),
1268
+ cancelText: this.localizationService.instant('Kadooglu::No'),
1269
+ })
1270
+ .subscribe(status => {
1271
+ if (status === 'confirm') {
1272
+ this.service.doGoodsMovement(docEntry).subscribe(() => this.loadList());
1273
+ }
1274
+ });
1275
+ }
1276
+ }
1277
+ HitEntryWeighingListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitEntryWeighingListComponent, deps: [{ token: HitEntryWeighingService }, { token: i2$1.ConfirmationService }, { token: i1$1.Router }, { token: i1.LocalizationService }, { token: HitGateService }], target: i0.ɵɵFactoryTarget.Component });
1278
+ HitEntryWeighingListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: HitEntryWeighingListComponent, selector: "lib-hit-entry-weighing-list", viewQueries: [{ propertyName: "dataGrid", first: true, predicate: ["dataGrid"], descendants: true }], ngImport: i0, template: "<abp-page [breadcrumb]=\"false\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"row align-items-center\">\r\n <div class=\"col\">\r\n <h3 class=\"page-title\">{{ 'Kadooglu::EntryWeighingTitle' | abpLocalization }}</h3>\r\n </div>\r\n </div>\r\n </abp-page-toolbar-container>\r\n\r\n <div class=\"card mt-2\">\r\n <div class=\"card-body\">\r\n <dx-data-grid\r\n #dataGrid\r\n [dataSource]=\"filteredData\"\r\n [columnAutoWidth]=\"true\"\r\n [showBorders]=\"true\"\r\n [showRowLines]=\"true\"\r\n [hoverStateEnabled]=\"true\"\r\n [allowColumnResizing]=\"true\"\r\n columnResizingMode=\"widget\"\r\n [rowAlternationEnabled]=\"true\"\r\n keyExpr=\"docEntry\"\r\n (onToolbarPreparing)=\"onToolbarPreparing($event)\"\r\n style=\"height: calc(100vh - 280px);\">\r\n\r\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\r\n <dxo-header-filter [visible]=\"true\"></dxo-header-filter>\r\n <dxo-search-panel [visible]=\"true\" [width]=\"200\" [placeholder]=\"'Kadooglu::Ara' | abpLocalization\"></dxo-search-panel>\r\n\r\n <dxo-pager\r\n [visible]=\"true\"\r\n [showInfo]=\"true\"\r\n [allowedPageSizes]=\"[10, 20, 50]\"\r\n [showPageSizeSelector]=\"true\"\r\n [showNavigationButtons]=\"true\">\r\n </dxo-pager>\r\n <dxo-paging [pageSize]=\"10\"></dxo-paging>\r\n <dxi-column [fixed]=\"true\" dataField=\"docEntry\" [allowGrouping]=\"false\" [allowFiltering]=\"false\"\r\n [allowHeaderFiltering]=\"false\" [allowHiding]=\"false\" [allowReordering]=\"false\"\r\n alignment=\"center\"\r\n cellTemplate=\"operationTemplate\" caption=\"{{ 'AbpUi::Actions' | abpLocalization }}\">\r\n <div *dxTemplate=\"let row of 'operationTemplate'\" style=\"text-align:center\">\r\n <!-- Devam eden tart\u0131m: i\u015Flemler dropdown (status '0' ve '1') -->\r\n <div ngbDropdown container=\"body\" class=\"d-inline-block\">\r\n <button class=\"btn btn-primary btn-sm dropdown-toggle\" style=\"min-width: 110px;\" data-toggle=\"dropdown\"\r\n aria-haspopup=\"true\" ngbDropdownToggle [disabled]=\"disabledIdColumn\">\r\n <i class=\"fa fa-cog mr-1\" aria-hidden=\"true\"></i>\r\n {{ 'AbpUi::Actions' | abpLocalization }}\r\n </button>\r\n <div ngbDropdownMenu>\r\n <button ngbDropdownItem *ngIf=\"row.data.u_Status === '0'\" (click)=\"tartimYap(row.data, 'first')\">\r\n <i class=\"fa fa-balance-scale\" aria-hidden=\"true\"></i> {{ 'Kadooglu::PerformFirstWeighing' | abpLocalization }}\r\n </button>\r\n <button ngbDropdownItem *ngIf=\"row.data.u_Status === '1'\" (click)=\"tartimYap(row.data, 'last')\">\r\n <i class=\"fa fa-balance-scale\" aria-hidden=\"true\"></i> {{ 'Kadooglu::PerformLastWeighing' | abpLocalization }}\r\n </button>\r\n <button ngbDropdownItem *ngIf=\"row.data.u_Status === '2' && isMalGC(row.data.u_EntryType)\" (click)=\"malGcYap(row.data)\">\r\n <i class=\"fa fa-exchange\" aria-hidden=\"true\"></i> {{ 'Kadooglu::MalGcYap' | abpLocalization }}\r\n </button>\r\n <button ngbDropdownItem *ngIf=\"row.data.u_Status === '0'\" (click)=\"duzenle(row.data)\">\r\n <i class=\"fa fa-edit\" aria-hidden=\"true\"></i> {{ 'AbpUi::Edit' | abpLocalization }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </dxi-column>\r\n\r\n <dxi-column\r\n dataField=\"u_Status\"\r\n caption=\"{{ 'Kadooglu::Status' | abpLocalization }}\"\r\n [fixed]=\"true\"\r\n alignment=\"center\"\r\n cellTemplate=\"statusTemplate\"\r\n [allowFiltering]=\"false\">\r\n </dxi-column>\r\n\r\n <dxi-column dataField=\"docNum\" caption=\"{{ 'Kadooglu::DocumentNo' | abpLocalization }}\" width=\"100\"></dxi-column>\r\n\r\n <dxi-column dataField=\"u_GateCode\" caption=\"{{ 'Kadooglu::Gate' | abpLocalization }}\">\r\n <dxo-lookup [dataSource]=\"gateList\" valueExpr=\"code\" displayExpr=\"name\"></dxo-lookup>\r\n </dxi-column>\r\n\r\n <dxi-column\r\n dataField=\"u_EntryDate\"\r\n caption=\"{{ 'Kadooglu::EntryDateTime' | abpLocalization }}\"\r\n cellTemplate=\"entryDateTimeTemplate\"\r\n [allowFiltering]=\"true\">\r\n </dxi-column>\r\n\r\n <dxi-column dataField=\"u_EntryType\" caption=\"Ara\u00E7 Hareket T\u00FCr\u00FC\">\r\n <dxo-lookup [dataSource]=\"vehicleTypeList\" valueExpr=\"code\" displayExpr=\"name\"></dxo-lookup>\r\n </dxi-column>\r\n <dxi-column dataField=\"u_Plate\" caption=\"{{ 'Kadooglu::TruckPlate' | abpLocalization }}\" cellTemplate=\"plateTemplate\"></dxi-column>\r\n <dxi-column dataField=\"u_DorsePlate\" caption=\"{{ 'Kadooglu::DorsePlate' | abpLocalization }}\" cellTemplate=\"dorsePlateTemplate\"></dxi-column>\r\n <dxi-column dataField=\"u_Driver\" caption=\"{{ 'Kadooglu::DriverName' | abpLocalization }}\"></dxi-column>\r\n <dxi-column dataField=\"u_DriverCode\" caption=\"{{ 'Kadooglu::DriverCode' | abpLocalization }}\"></dxi-column>\r\n <dxi-column dataField=\"u_TcNo\" caption=\"{{ 'Kadooglu::TcIdentityNo' | abpLocalization }}\"></dxi-column>\r\n <dxi-column dataField=\"u_CardCode\" caption=\"{{ 'Kadooglu::CardCode' | abpLocalization }}\"></dxi-column>\r\n <dxi-column dataField=\"u_ItemCode\" caption=\"{{ 'Kadooglu::ItemCode' | abpLocalization }}\"></dxi-column>\r\n <dxi-column dataField=\"u_DespatchAdviceNo\" caption=\"{{ 'Kadooglu::DespatchAdviceNo' | abpLocalization }}\"></dxi-column>\r\n <dxi-column dataField=\"u_ScaleCode\" caption=\"{{ 'Kadooglu::ScaleCode' | abpLocalization }}\"></dxi-column>\r\n\r\n <dxi-column\r\n dataField=\"u_FirstWeighing\"\r\n caption=\"{{ 'Kadooglu::FirstWeighingKg' | abpLocalization }}\"\r\n dataType=\"number\"\r\n [format]=\"{ type: 'fixedPoint', precision: 0 }\">\r\n </dxi-column>\r\n\r\n <dxi-column\r\n dataField=\"u_LastWeighing\"\r\n caption=\"{{ 'Kadooglu::LastWeighingKg' | abpLocalization }}\"\r\n dataType=\"number\"\r\n [format]=\"{ type: 'fixedPoint', precision: 0 }\">\r\n </dxi-column>\r\n\r\n <dxi-column\r\n dataField=\"u_Net\"\r\n caption=\"{{ 'Kadooglu::NetKg' | abpLocalization }}\"\r\n dataType=\"number\"\r\n [format]=\"{ type: 'fixedPoint', precision: 0 }\">\r\n </dxi-column>\r\n\r\n <dxi-column\r\n dataField=\"u_ExitDate\"\r\n caption=\"{{ 'Kadooglu::ExitDate' | abpLocalization }}\"\r\n cellTemplate=\"exitDateTimeTemplate\"\r\n [allowFiltering]=\"true\">\r\n </dxi-column>\r\n <dxi-column dataField=\"u_Description\" caption=\"{{ 'Kadooglu::Description' | abpLocalization }}\"></dxi-column>\r\n\r\n <div *dxTemplate=\"let cell of 'plateTemplate'\">\r\n <span *ngIf=\"cell.data.u_Plate\" class=\"tr-plate\">\r\n <span class=\"tr-plate-blue\">TR</span>\r\n <span class=\"tr-plate-text\">{{ formatPlate(cell.data.u_Plate) }}</span>\r\n </span>\r\n </div>\r\n\r\n <div *dxTemplate=\"let cell of 'dorsePlateTemplate'\">\r\n <span *ngIf=\"cell.data.u_DorsePlate\" class=\"tr-plate\">\r\n <span class=\"tr-plate-blue\">TR</span>\r\n <span class=\"tr-plate-text\">{{ formatPlate(cell.data.u_DorsePlate) }}</span>\r\n </span>\r\n </div>\r\n\r\n <div *dxTemplate=\"let cell of 'entryDateTimeTemplate'\">\r\n {{ formatEntryDateTime(cell.data.u_EntryDate, cell.data.u_EntryTime) }}\r\n </div>\r\n\r\n <div *dxTemplate=\"let cell of 'exitDateTimeTemplate'\">\r\n <span *ngIf=\"cell.data.u_ExitDate\">\r\n {{ cell.data.u_ExitDate | date:'dd.MM.yyyy' }}\r\n <span *ngIf=\"cell.data.u_ExitTime\" class=\"text-muted ms-1\">{{ formatTime(cell.data.u_ExitTime) }}</span>\r\n </span>\r\n </div>\r\n\r\n <div *dxTemplate=\"let cell of 'statusTemplate'\">\r\n <span [class]=\"getStatusClass(cell.data.u_Status)\" style=\"padding: 0.25em .5em .25em .5em;\">\r\n {{ getStatusLabel(cell.data.u_Status) }}\r\n </span>\r\n </div>\r\n </dx-data-grid>\r\n </div>\r\n </div>\r\n</abp-page>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.PageComponent, selector: "abp-page", inputs: ["title", "toolbar", "breadcrumb"] }, { kind: "component", type: i4.PageToolbarContainerComponent, selector: "abp-page-toolbar-container" }, { kind: "component", type: i5.DxDataGridComponent, selector: "dx-data-grid", inputs: ["accessKey", "activeStateEnabled", "allowColumnReordering", "allowColumnResizing", "autoNavigateToFocusedRow", "cacheEnabled", "cellHintEnabled", "columnAutoWidth", "columnChooser", "columnFixing", "columnHidingEnabled", "columnMinWidth", "columnResizingMode", "columns", "columnWidth", "customizeColumns", "dataRowTemplate", "dataSource", "dateSerializationFormat", "disabled", "editing", "elementAttr", "errorRowEnabled", "export", "filterBuilder", "filterBuilderPopup", "filterPanel", "filterRow", "filterSyncEnabled", "filterValue", "focusedColumnIndex", "focusedRowEnabled", "focusedRowIndex", "focusedRowKey", "grouping", "groupPanel", "headerFilter", "height", "highlightChanges", "hint", "hoverStateEnabled", "keyboardNavigation", "keyExpr", "loadPanel", "masterDetail", "noDataText", "pager", "paging", "remoteOperations", "renderAsync", "repaintChangesOnly", "rowAlternationEnabled", "rowDragging", "rowTemplate", "rtlEnabled", "scrolling", "searchPanel", "selectedRowKeys", "selection", "selectionFilter", "showBorders", "showColumnHeaders", "showColumnLines", "showRowLines", "sortByGroupSummaryInfo", "sorting", "stateStoring", "summary", "syncLookupFilterValues", "tabIndex", "toolbar", "twoWayBindingEnabled", "visible", "width", "wordWrapEnabled"], outputs: ["onAdaptiveDetailRowPreparing", "onCellClick", "onCellDblClick", "onCellHoverChanged", "onCellPrepared", "onContentReady", "onContextMenuPreparing", "onDataErrorOccurred", "onDisposing", "onEditCanceled", "onEditCanceling", "onEditingStart", "onEditorPrepared", "onEditorPreparing", "onExporting", "onFocusedCellChanged", "onFocusedCellChanging", "onFocusedRowChanged", "onFocusedRowChanging", "onInitialized", "onInitNewRow", "onKeyDown", "onOptionChanged", "onRowClick", "onRowCollapsed", "onRowCollapsing", "onRowDblClick", "onRowExpanded", "onRowExpanding", "onRowInserted", "onRowInserting", "onRowPrepared", "onRowRemoved", "onRowRemoving", "onRowUpdated", "onRowUpdating", "onRowValidating", "onSaved", "onSaving", "onSelectionChanged", "onToolbarPreparing", "accessKeyChange", "activeStateEnabledChange", "allowColumnReorderingChange", "allowColumnResizingChange", "autoNavigateToFocusedRowChange", "cacheEnabledChange", "cellHintEnabledChange", "columnAutoWidthChange", "columnChooserChange", "columnFixingChange", "columnHidingEnabledChange", "columnMinWidthChange", "columnResizingModeChange", "columnsChange", "columnWidthChange", "customizeColumnsChange", "dataRowTemplateChange", "dataSourceChange", "dateSerializationFormatChange", "disabledChange", "editingChange", "elementAttrChange", "errorRowEnabledChange", "exportChange", "filterBuilderChange", "filterBuilderPopupChange", "filterPanelChange", "filterRowChange", "filterSyncEnabledChange", "filterValueChange", "focusedColumnIndexChange", "focusedRowEnabledChange", "focusedRowIndexChange", "focusedRowKeyChange", "groupingChange", "groupPanelChange", "headerFilterChange", "heightChange", "highlightChangesChange", "hintChange", "hoverStateEnabledChange", "keyboardNavigationChange", "keyExprChange", "loadPanelChange", "masterDetailChange", "noDataTextChange", "pagerChange", "pagingChange", "remoteOperationsChange", "renderAsyncChange", "repaintChangesOnlyChange", "rowAlternationEnabledChange", "rowDraggingChange", "rowTemplateChange", "rtlEnabledChange", "scrollingChange", "searchPanelChange", "selectedRowKeysChange", "selectionChange", "selectionFilterChange", "showBordersChange", "showColumnHeadersChange", "showColumnLinesChange", "showRowLinesChange", "sortByGroupSummaryInfoChange", "sortingChange", "stateStoringChange", "summaryChange", "syncLookupFilterValuesChange", "tabIndexChange", "toolbarChange", "twoWayBindingEnabledChange", "visibleChange", "widthChange", "wordWrapEnabledChange"] }, { kind: "component", type: i5$1.DxiColumnComponent, selector: "dxi-column", inputs: ["alignment", "allowEditing", "allowExporting", "allowFiltering", "allowFixing", "allowGrouping", "allowHeaderFiltering", "allowHiding", "allowReordering", "allowResizing", "allowSearch", "allowSorting", "autoExpandGroup", "buttons", "calculateCellValue", "calculateDisplayValue", "calculateFilterExpression", "calculateGroupValue", "calculateSortValue", "caption", "cellTemplate", "columns", "cssClass", "customizeText", "dataField", "dataType", "editCellTemplate", "editorOptions", "encodeHtml", "falseText", "filterOperations", "filterType", "filterValue", "filterValues", "fixed", "fixedPosition", "format", "formItem", "groupCellTemplate", "groupIndex", "headerCellTemplate", "headerFilter", "hidingPriority", "isBand", "lookup", "minWidth", "name", "ownerBand", "renderAsync", "selectedFilterOperation", "setCellValue", "showEditorAlways", "showInColumnChooser", "showWhenGrouped", "sortIndex", "sortingMethod", "sortOrder", "trueText", "type", "validationRules", "visible", "visibleIndex", "width"], outputs: ["filterValueChange", "filterValuesChange", "groupIndexChange", "selectedFilterOperationChange", "sortIndexChange", "sortOrderChange", "visibleChange", "visibleIndexChange"] }, { kind: "component", type: i5$1.DxoHeaderFilterComponent, selector: "dxo-header-filter", inputs: ["allowSearch", "dataSource", "groupInterval", "height", "searchMode", "width", "searchTimeout", "texts", "visible", "showRelevantValues"] }, { kind: "component", type: i5$1.DxoLookupComponent, selector: "dxo-lookup", inputs: ["allowClearing", "calculateCellValue", "dataSource", "displayExpr", "valueExpr"] }, { kind: "component", type: i5$1.DxoFilterRowComponent, selector: "dxo-filter-row", inputs: ["applyFilter", "applyFilterText", "betweenEndText", "betweenStartText", "operationDescriptions", "resetOperationText", "showAllText", "showOperationChooser", "visible"] }, { kind: "component", type: i5$1.DxoPagerComponent, selector: "dxo-pager", inputs: ["allowedPageSizes", "displayMode", "infoText", "label", "showInfo", "showNavigationButtons", "showPageSizeSelector", "visible"] }, { kind: "component", type: i5$1.DxoPagingComponent, selector: "dxo-paging", inputs: ["enabled", "pageIndex", "pageSize"], outputs: ["pageIndexChange", "pageSizeChange"] }, { kind: "component", type: i5$1.DxoSearchPanelComponent, selector: "dxo-search-panel", inputs: ["highlightCaseSensitive", "highlightSearchText", "placeholder", "searchVisibleColumnsOnly", "text", "visible", "width"], outputs: ["textChange"] }, { kind: "directive", type: i7.DxTemplateDirective, selector: "[dxTemplate]", inputs: ["dxTemplateOf"] }, { kind: "directive", type: i8.NgbDropdown, selector: "[ngbDropdown]", inputs: ["autoClose", "dropdownClass", "open", "placement", "container", "display"], outputs: ["openChange"], exportAs: ["ngbDropdown"] }, { kind: "directive", type: i8.NgbDropdownToggle, selector: "[ngbDropdownToggle]" }, { kind: "directive", type: i8.NgbDropdownMenu, selector: "[ngbDropdownMenu]" }, { kind: "directive", type: i8.NgbDropdownItem, selector: "[ngbDropdownItem]", inputs: ["disabled"] }, { kind: "pipe", type: i6.DatePipe, name: "date" }, { kind: "pipe", type: i1.LocalizationPipe, name: "abpLocalization" }] });
1279
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitEntryWeighingListComponent, decorators: [{
1280
+ type: Component,
1281
+ args: [{ selector: 'lib-hit-entry-weighing-list', template: "<abp-page [breadcrumb]=\"false\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"row align-items-center\">\r\n <div class=\"col\">\r\n <h3 class=\"page-title\">{{ 'Kadooglu::EntryWeighingTitle' | abpLocalization }}</h3>\r\n </div>\r\n </div>\r\n </abp-page-toolbar-container>\r\n\r\n <div class=\"card mt-2\">\r\n <div class=\"card-body\">\r\n <dx-data-grid\r\n #dataGrid\r\n [dataSource]=\"filteredData\"\r\n [columnAutoWidth]=\"true\"\r\n [showBorders]=\"true\"\r\n [showRowLines]=\"true\"\r\n [hoverStateEnabled]=\"true\"\r\n [allowColumnResizing]=\"true\"\r\n columnResizingMode=\"widget\"\r\n [rowAlternationEnabled]=\"true\"\r\n keyExpr=\"docEntry\"\r\n (onToolbarPreparing)=\"onToolbarPreparing($event)\"\r\n style=\"height: calc(100vh - 280px);\">\r\n\r\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\r\n <dxo-header-filter [visible]=\"true\"></dxo-header-filter>\r\n <dxo-search-panel [visible]=\"true\" [width]=\"200\" [placeholder]=\"'Kadooglu::Ara' | abpLocalization\"></dxo-search-panel>\r\n\r\n <dxo-pager\r\n [visible]=\"true\"\r\n [showInfo]=\"true\"\r\n [allowedPageSizes]=\"[10, 20, 50]\"\r\n [showPageSizeSelector]=\"true\"\r\n [showNavigationButtons]=\"true\">\r\n </dxo-pager>\r\n <dxo-paging [pageSize]=\"10\"></dxo-paging>\r\n <dxi-column [fixed]=\"true\" dataField=\"docEntry\" [allowGrouping]=\"false\" [allowFiltering]=\"false\"\r\n [allowHeaderFiltering]=\"false\" [allowHiding]=\"false\" [allowReordering]=\"false\"\r\n alignment=\"center\"\r\n cellTemplate=\"operationTemplate\" caption=\"{{ 'AbpUi::Actions' | abpLocalization }}\">\r\n <div *dxTemplate=\"let row of 'operationTemplate'\" style=\"text-align:center\">\r\n <!-- Devam eden tart\u0131m: i\u015Flemler dropdown (status '0' ve '1') -->\r\n <div ngbDropdown container=\"body\" class=\"d-inline-block\">\r\n <button class=\"btn btn-primary btn-sm dropdown-toggle\" style=\"min-width: 110px;\" data-toggle=\"dropdown\"\r\n aria-haspopup=\"true\" ngbDropdownToggle [disabled]=\"disabledIdColumn\">\r\n <i class=\"fa fa-cog mr-1\" aria-hidden=\"true\"></i>\r\n {{ 'AbpUi::Actions' | abpLocalization }}\r\n </button>\r\n <div ngbDropdownMenu>\r\n <button ngbDropdownItem *ngIf=\"row.data.u_Status === '0'\" (click)=\"tartimYap(row.data, 'first')\">\r\n <i class=\"fa fa-balance-scale\" aria-hidden=\"true\"></i> {{ 'Kadooglu::PerformFirstWeighing' | abpLocalization }}\r\n </button>\r\n <button ngbDropdownItem *ngIf=\"row.data.u_Status === '1'\" (click)=\"tartimYap(row.data, 'last')\">\r\n <i class=\"fa fa-balance-scale\" aria-hidden=\"true\"></i> {{ 'Kadooglu::PerformLastWeighing' | abpLocalization }}\r\n </button>\r\n <button ngbDropdownItem *ngIf=\"row.data.u_Status === '2' && isMalGC(row.data.u_EntryType)\" (click)=\"malGcYap(row.data)\">\r\n <i class=\"fa fa-exchange\" aria-hidden=\"true\"></i> {{ 'Kadooglu::MalGcYap' | abpLocalization }}\r\n </button>\r\n <button ngbDropdownItem *ngIf=\"row.data.u_Status === '0'\" (click)=\"duzenle(row.data)\">\r\n <i class=\"fa fa-edit\" aria-hidden=\"true\"></i> {{ 'AbpUi::Edit' | abpLocalization }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </dxi-column>\r\n\r\n <dxi-column\r\n dataField=\"u_Status\"\r\n caption=\"{{ 'Kadooglu::Status' | abpLocalization }}\"\r\n [fixed]=\"true\"\r\n alignment=\"center\"\r\n cellTemplate=\"statusTemplate\"\r\n [allowFiltering]=\"false\">\r\n </dxi-column>\r\n\r\n <dxi-column dataField=\"docNum\" caption=\"{{ 'Kadooglu::DocumentNo' | abpLocalization }}\" width=\"100\"></dxi-column>\r\n\r\n <dxi-column dataField=\"u_GateCode\" caption=\"{{ 'Kadooglu::Gate' | abpLocalization }}\">\r\n <dxo-lookup [dataSource]=\"gateList\" valueExpr=\"code\" displayExpr=\"name\"></dxo-lookup>\r\n </dxi-column>\r\n\r\n <dxi-column\r\n dataField=\"u_EntryDate\"\r\n caption=\"{{ 'Kadooglu::EntryDateTime' | abpLocalization }}\"\r\n cellTemplate=\"entryDateTimeTemplate\"\r\n [allowFiltering]=\"true\">\r\n </dxi-column>\r\n\r\n <dxi-column dataField=\"u_EntryType\" caption=\"Ara\u00E7 Hareket T\u00FCr\u00FC\">\r\n <dxo-lookup [dataSource]=\"vehicleTypeList\" valueExpr=\"code\" displayExpr=\"name\"></dxo-lookup>\r\n </dxi-column>\r\n <dxi-column dataField=\"u_Plate\" caption=\"{{ 'Kadooglu::TruckPlate' | abpLocalization }}\" cellTemplate=\"plateTemplate\"></dxi-column>\r\n <dxi-column dataField=\"u_DorsePlate\" caption=\"{{ 'Kadooglu::DorsePlate' | abpLocalization }}\" cellTemplate=\"dorsePlateTemplate\"></dxi-column>\r\n <dxi-column dataField=\"u_Driver\" caption=\"{{ 'Kadooglu::DriverName' | abpLocalization }}\"></dxi-column>\r\n <dxi-column dataField=\"u_DriverCode\" caption=\"{{ 'Kadooglu::DriverCode' | abpLocalization }}\"></dxi-column>\r\n <dxi-column dataField=\"u_TcNo\" caption=\"{{ 'Kadooglu::TcIdentityNo' | abpLocalization }}\"></dxi-column>\r\n <dxi-column dataField=\"u_CardCode\" caption=\"{{ 'Kadooglu::CardCode' | abpLocalization }}\"></dxi-column>\r\n <dxi-column dataField=\"u_ItemCode\" caption=\"{{ 'Kadooglu::ItemCode' | abpLocalization }}\"></dxi-column>\r\n <dxi-column dataField=\"u_DespatchAdviceNo\" caption=\"{{ 'Kadooglu::DespatchAdviceNo' | abpLocalization }}\"></dxi-column>\r\n <dxi-column dataField=\"u_ScaleCode\" caption=\"{{ 'Kadooglu::ScaleCode' | abpLocalization }}\"></dxi-column>\r\n\r\n <dxi-column\r\n dataField=\"u_FirstWeighing\"\r\n caption=\"{{ 'Kadooglu::FirstWeighingKg' | abpLocalization }}\"\r\n dataType=\"number\"\r\n [format]=\"{ type: 'fixedPoint', precision: 0 }\">\r\n </dxi-column>\r\n\r\n <dxi-column\r\n dataField=\"u_LastWeighing\"\r\n caption=\"{{ 'Kadooglu::LastWeighingKg' | abpLocalization }}\"\r\n dataType=\"number\"\r\n [format]=\"{ type: 'fixedPoint', precision: 0 }\">\r\n </dxi-column>\r\n\r\n <dxi-column\r\n dataField=\"u_Net\"\r\n caption=\"{{ 'Kadooglu::NetKg' | abpLocalization }}\"\r\n dataType=\"number\"\r\n [format]=\"{ type: 'fixedPoint', precision: 0 }\">\r\n </dxi-column>\r\n\r\n <dxi-column\r\n dataField=\"u_ExitDate\"\r\n caption=\"{{ 'Kadooglu::ExitDate' | abpLocalization }}\"\r\n cellTemplate=\"exitDateTimeTemplate\"\r\n [allowFiltering]=\"true\">\r\n </dxi-column>\r\n <dxi-column dataField=\"u_Description\" caption=\"{{ 'Kadooglu::Description' | abpLocalization }}\"></dxi-column>\r\n\r\n <div *dxTemplate=\"let cell of 'plateTemplate'\">\r\n <span *ngIf=\"cell.data.u_Plate\" class=\"tr-plate\">\r\n <span class=\"tr-plate-blue\">TR</span>\r\n <span class=\"tr-plate-text\">{{ formatPlate(cell.data.u_Plate) }}</span>\r\n </span>\r\n </div>\r\n\r\n <div *dxTemplate=\"let cell of 'dorsePlateTemplate'\">\r\n <span *ngIf=\"cell.data.u_DorsePlate\" class=\"tr-plate\">\r\n <span class=\"tr-plate-blue\">TR</span>\r\n <span class=\"tr-plate-text\">{{ formatPlate(cell.data.u_DorsePlate) }}</span>\r\n </span>\r\n </div>\r\n\r\n <div *dxTemplate=\"let cell of 'entryDateTimeTemplate'\">\r\n {{ formatEntryDateTime(cell.data.u_EntryDate, cell.data.u_EntryTime) }}\r\n </div>\r\n\r\n <div *dxTemplate=\"let cell of 'exitDateTimeTemplate'\">\r\n <span *ngIf=\"cell.data.u_ExitDate\">\r\n {{ cell.data.u_ExitDate | date:'dd.MM.yyyy' }}\r\n <span *ngIf=\"cell.data.u_ExitTime\" class=\"text-muted ms-1\">{{ formatTime(cell.data.u_ExitTime) }}</span>\r\n </span>\r\n </div>\r\n\r\n <div *dxTemplate=\"let cell of 'statusTemplate'\">\r\n <span [class]=\"getStatusClass(cell.data.u_Status)\" style=\"padding: 0.25em .5em .25em .5em;\">\r\n {{ getStatusLabel(cell.data.u_Status) }}\r\n </span>\r\n </div>\r\n </dx-data-grid>\r\n </div>\r\n </div>\r\n</abp-page>\r\n" }]
1282
+ }], ctorParameters: function () { return [{ type: HitEntryWeighingService }, { type: i2$1.ConfirmationService }, { type: i1$1.Router }, { type: i1.LocalizationService }, { type: HitGateService }]; }, propDecorators: { dataGrid: [{
1283
+ type: ViewChild,
1284
+ args: ['dataGrid', { static: false }]
1285
+ }] } });
1286
+
1287
+ class HitEntryWeighingFormComponent {
1288
+ constructor(service, stockTransferService, confirmation, toaster, route, router, localizationService) {
1289
+ this.service = service;
1290
+ this.stockTransferService = stockTransferService;
1291
+ this.confirmation = confirmation;
1292
+ this.toaster = toaster;
1293
+ this.route = route;
1294
+ this.router = router;
1295
+ this.localizationService = localizationService;
1296
+ this.record = null;
1297
+ // Wizard phase: 1 = Araç & Belge, 2 = Tartım Paneli
1298
+ this.formPhase = 1;
1299
+ // Weighing mode from query param: 'first' | 'last' | null (null = normal new/edit)
1300
+ this.weighingMode = null;
1301
+ // Lookup loader functions (called lazily when modal opens)
1302
+ this.loadDocuments = () => this.service.getDocuments();
1303
+ this.loadScales = () => this.service.getScales();
1304
+ this.loadTruckPlates = () => this.service.getTruckPlates();
1305
+ this.loadTrailerPlates = () => this.service.getTrailerPlates();
1306
+ this.loadDrivers = () => this.service.getDrivers();
1307
+ this.loadAccounts = () => this.service.getAccounts();
1308
+ this.loadStockItems = () => this.service.getStockItems();
1309
+ this.loadWaybills = () => this.stockTransferService.getList();
1310
+ this.loadGates = () => this.service.getGates();
1311
+ this.loadVehicleTypes = () => this.service.getVehicleTypes();
1312
+ // Column configs
1313
+ this.documentColumns = [
1314
+ { dataField: 'code', caption: 'Belge No', width: 120 },
1315
+ { dataField: 'name', caption: 'Cari Adı' },
1316
+ ];
1317
+ this.scaleColumns = [
1318
+ { dataField: 'code', caption: 'Kod', width: 80 },
1319
+ { dataField: 'name', caption: 'Kantar Adı' },
1320
+ ];
1321
+ this.truckPlateColumns = [
1322
+ { dataField: 'code', caption: 'Kod', width: 100 },
1323
+ { dataField: 'plateNo', caption: 'Plaka' },
1324
+ ];
1325
+ this.trailerPlateColumns = [
1326
+ { dataField: 'code', caption: 'Kod', width: 100 },
1327
+ { dataField: 'plateNo', caption: 'Plaka' },
1328
+ ];
1329
+ this.driverColumns = [
1330
+ { dataField: 'code', caption: 'Kod', width: 100 },
1331
+ { dataField: 'name', caption: 'Ad Soyad' },
1332
+ ];
1333
+ this.accountColumns = [
1334
+ { dataField: 'code', caption: 'Kod', width: 100 },
1335
+ { dataField: 'title', caption: 'Unvan' },
1336
+ ];
1337
+ this.stockItemColumns = [
1338
+ { dataField: 'code', caption: 'Kod', width: 100 },
1339
+ { dataField: 'name', caption: 'Stok Adı' },
1340
+ ];
1341
+ this.waybillColumns = [
1342
+ { dataField: 'docNum', caption: 'Belge No', width: 120 },
1343
+ { dataField: 'cardName', caption: 'Cari Adı' },
1344
+ { dataField: 'fromWarehouse', caption: 'Çıkış Deposu', width: 140 },
1345
+ { dataField: 'comments', caption: 'Açıklama' },
1346
+ ];
1347
+ this.gateColumns = [
1348
+ { dataField: 'code', caption: 'Kod', width: 80 },
1349
+ { dataField: 'name', caption: 'Kapı Adı' },
1350
+ ];
1351
+ this.vehicleTypeColumns = [
1352
+ { dataField: 'code', caption: 'Kod', width: 80 },
1353
+ { dataField: 'name', caption: 'Giriş Tipi' },
1354
+ ];
1355
+ // Form fields
1356
+ this.documentCode = '';
1357
+ this.documentName = '';
1358
+ this.scaleCode = '1';
1359
+ this.scaleName = 'Kantar 1';
1360
+ this.accountCode = '';
1361
+ this.accountTitle = '';
1362
+ this.truckPlateCode = '';
1363
+ this.truckPlateNo = '';
1364
+ this.trailerPlateCode = '';
1365
+ this.trailerPlateNo = '';
1366
+ this.driverCode = '';
1367
+ this.driverName = '';
1368
+ this.stockCode = '';
1369
+ this.stockName = '';
1370
+ this.containerNo = '';
1371
+ this.description = '';
1372
+ this.waybillNo = '';
1373
+ this.departureLocation = '';
1374
+ this.arrivalLocation = 'Fabrika';
1375
+ // ZZZ_TEST2 yeni alanlar
1376
+ this.gateCode = '';
1377
+ this.gateName = '';
1378
+ this.entryDate = null;
1379
+ this.entryTime = '';
1380
+ this.exitDate = null;
1381
+ this.exitTime = '';
1382
+ this.entryTypeCode = '';
1383
+ this.entryTypeName = '';
1384
+ this.driverFullName = '';
1385
+ this.tcNo = '';
1386
+ this.isTcCitizen = true;
1387
+ // Tartım bilgileri (readonly)
1388
+ this.firstOperatorCode = '';
1389
+ this.firstWeighingValue = null;
1390
+ this.lastOperatorCode = '';
1391
+ this.lastWeighingValue = null;
1392
+ this.currentScaleValue = null;
1393
+ this.isSaving = false;
1394
+ this.isWeighing = false;
1395
+ this.entryTypeTrtmYpilck = false;
1396
+ this.entryTypeMalGC = false;
1397
+ this.isDoingGoodsMovement = false;
1398
+ }
1399
+ /** SAP response camelCase/PascalCase farkını handle eder */
1400
+ getDocEntry(rec) {
1401
+ if (!rec)
1402
+ return undefined;
1403
+ return rec.docEntry ?? rec.docEntry;
1404
+ }
1405
+ ngOnInit() {
1406
+ // Read weighing mode from query params
1407
+ const mode = this.route.snapshot.queryParamMap.get('mode');
1408
+ if (mode === 'first' || mode === 'last') {
1409
+ this.weighingMode = mode;
1410
+ }
1411
+ // Önce router state'den satır verisini oku (liste ekranından aktarılan)
1412
+ const stateData = history.state?.rowData;
1413
+ const id = this.route.snapshot.paramMap.get('id');
1414
+ if (stateData) {
1415
+ // State'den gelen veriyi kullan (API çağrısı olmadan)
1416
+ this.record = stateData;
1417
+ this.initForm();
1418
+ // Son tartım modundaysa direkt tartım panelini aç
1419
+ if (this.weighingMode === 'last') {
1420
+ this.formPhase = 2;
1421
+ }
1422
+ }
1423
+ else if (id) {
1424
+ // Fallback: state yoksa API'den yükle
1425
+ this.service.get(+id).subscribe(record => {
1426
+ this.record = record;
1427
+ this.initForm();
1428
+ // Son tartım modundaysa direkt tartım panelini aç
1429
+ if (this.weighingMode === 'last') {
1430
+ this.formPhase = 2;
1431
+ }
1432
+ });
1433
+ }
1434
+ }
1435
+ get weighingStep() {
1436
+ const status = this.record?.u_Status;
1437
+ if (this.lastWeighingValue !== null || status === '2')
1438
+ return 3;
1439
+ if (this.firstWeighingValue !== null || status === '1')
1440
+ return 2;
1441
+ return 1;
1442
+ }
1443
+ /** İlk tartım yapıldıysa (step >= 2) detay alanlarını kilitle */
1444
+ get isFormLocked() {
1445
+ return this.weighingStep >= 2;
1446
+ }
1447
+ /** Her iki tartım da tamamlandıysa (step === 3) tüm ekranı kilitle */
1448
+ get isFullyCompleted() {
1449
+ return this.weighingStep === 3;
1450
+ }
1451
+ get entryDateTime() {
1452
+ return this.buildDateTime(this.entryDate, this.entryTime);
1453
+ }
1454
+ get exitDateTime() {
1455
+ return this.buildDateTime(this.exitDate, this.exitTime);
1456
+ }
1457
+ /** Tarih string + sayısal saat (ör. 830 = 08:30) değerinden Date oluşturur */
1458
+ buildDateTime(dateStr, timeVal) {
1459
+ if (!dateStr)
1460
+ return null;
1461
+ const d = new Date(dateStr);
1462
+ if (isNaN(d.getTime()))
1463
+ return null;
1464
+ const t = Number(timeVal);
1465
+ if (!isNaN(t)) {
1466
+ d.setHours(Math.floor(t / 100), t % 100, 0, 0);
1467
+ }
1468
+ return d;
1469
+ }
1470
+ get netWeight() {
1471
+ if (this.firstWeighingValue !== null && this.lastWeighingValue !== null) {
1472
+ return Math.abs(this.firstWeighingValue - this.lastWeighingValue);
1473
+ }
1474
+ return null;
1475
+ }
1476
+ get weighingModeLabel() {
1477
+ return this.weighingMode === 'first'
1478
+ ? this.localizationService.instant('Kadooglu::FirstWeighing')
1479
+ : this.localizationService.instant('Kadooglu::LastWeighing');
1480
+ }
1481
+ initForm() {
1482
+ if (this.record) {
1483
+ const r = this.record; // SAP camelCase fallback
1484
+ this.scaleCode = r.u_ScaleCode ?? r.u_ScaleCode ?? '';
1485
+ this.accountCode = r.u_CardCode ?? r.u_CardCode ?? '';
1486
+ this.truckPlateCode = r.u_Plate ?? r.u_Plate ?? '';
1487
+ this.truckPlateNo = r.u_Plate ?? r.u_Plate ?? '';
1488
+ this.trailerPlateCode = r.u_DorsePlate ?? '';
1489
+ this.trailerPlateNo = r.u_DorsePlate ?? '';
1490
+ this.driverCode = r.u_DriverCode ?? r.u_DriverCode ?? '';
1491
+ this.stockCode = r.u_ItemCode ?? r.u_ItemCode ?? '';
1492
+ this.containerNo = r.u_ContainerNo ?? r.u_ContainerNo ?? '';
1493
+ this.waybillNo = r.u_DespatchAdviceNo ?? r.u_DespatchAdviceNo ?? '';
1494
+ this.departureLocation = r.u_ShipPlace ?? r.u_ShipPlace ?? '';
1495
+ this.arrivalLocation = r.u_ShipTo ?? r.u_ShipTo ?? 'Fabrika';
1496
+ this.firstOperatorCode = r.u_FirstOpt ?? r.u_FirstOpt ?? '';
1497
+ this.lastOperatorCode = r.u_LastOpt ?? r.u_LastOpt ?? '';
1498
+ const rawFirst = r.u_FirstWeighing ?? r.u_FirstWeighing ?? null;
1499
+ this.firstWeighingValue = (rawFirst != null && rawFirst !== 0) ? rawFirst : null;
1500
+ const rawLast = r.u_LastWeighing ?? r.u_LastWeighing ?? null;
1501
+ this.lastWeighingValue = (rawLast != null && rawLast !== 0) ? rawLast : null;
1502
+ this.description = r.u_Description ?? r.u_Description ?? '';
1503
+ // ZZZ_TEST2 yeni alanlar
1504
+ this.gateCode = r.u_GateCode ?? r.u_GateCode ?? '';
1505
+ this.entryDate = r.u_EntryDate ?? r.u_EntryDate ?? null;
1506
+ this.entryTime = r.u_EntryTime ?? r.u_EntryTime ?? '';
1507
+ this.exitDate = r.u_ExitDate ?? r.u_ExitDate ?? null;
1508
+ this.exitTime = r.u_ExitTime ?? r.u_ExitTime ?? '';
1509
+ this.entryTypeCode = r.u_EntryType ?? r.u_EntryType ?? '';
1510
+ this.driverFullName = r.u_Driver ?? r.u_Driver ?? '';
1511
+ this.tcNo = r.u_TcNo ?? r.u_TcNo ?? '';
1512
+ this.isTcCitizen = true;
1513
+ // Lookup alanlarının görünen isimlerini çözümle
1514
+ this.resolveDisplayNames();
1515
+ }
1516
+ }
1517
+ /** Kayıttaki kod alanlarına karşılık gelen görünen isimleri lookup servislerinden çözümler */
1518
+ resolveDisplayNames() {
1519
+ const lookups = {};
1520
+ if (this.gateCode) {
1521
+ lookups['gates'] = this.loadGates();
1522
+ }
1523
+ if (this.entryTypeCode) {
1524
+ lookups['vehicleTypes'] = this.loadVehicleTypes();
1525
+ }
1526
+ if (this.scaleCode) {
1527
+ lookups['scales'] = this.loadScales();
1528
+ }
1529
+ if (this.accountCode) {
1530
+ lookups['accounts'] = this.loadAccounts();
1531
+ }
1532
+ if (this.driverCode) {
1533
+ lookups['drivers'] = this.loadDrivers();
1534
+ }
1535
+ if (this.stockCode) {
1536
+ lookups['stockItems'] = this.loadStockItems();
1537
+ }
1538
+ const keys = Object.keys(lookups);
1539
+ if (keys.length === 0)
1540
+ return;
1541
+ forkJoin(lookups).subscribe((results) => {
1542
+ if (results.gates) {
1543
+ const gate = results.gates.find((g) => g.code === this.gateCode);
1544
+ if (gate)
1545
+ this.gateName = gate.name;
1546
+ }
1547
+ if (results.vehicleTypes) {
1548
+ const vt = results.vehicleTypes.find((t) => t.code === this.entryTypeCode);
1549
+ if (vt) {
1550
+ this.entryTypeName = vt.name;
1551
+ this.entryTypeTrtmYpilck = vt.u_TrtmYpilck === 'Y';
1552
+ this.entryTypeMalGC = vt.u_MalGC === 'Y';
1553
+ }
1554
+ }
1555
+ if (results.scales) {
1556
+ const scale = results.scales.find((s) => s.code === this.scaleCode);
1557
+ if (scale)
1558
+ this.scaleName = scale.name;
1559
+ }
1560
+ if (results.accounts) {
1561
+ const account = results.accounts.find((a) => a.code === this.accountCode);
1562
+ if (account)
1563
+ this.accountTitle = account.title;
1564
+ }
1565
+ if (results.drivers) {
1566
+ const driver = results.drivers.find((d) => d.code === this.driverCode);
1567
+ if (driver)
1568
+ this.driverName = driver.name;
1569
+ }
1570
+ if (results.stockItems) {
1571
+ const item = results.stockItems.find((i) => i.code === this.stockCode);
1572
+ if (item)
1573
+ this.stockName = item.name;
1574
+ }
1575
+ });
1576
+ }
1577
+ onDocumentSelected(e) {
1578
+ if (!e)
1579
+ return;
1580
+ this.documentCode = e.code;
1581
+ this.documentName = e.name;
1582
+ }
1583
+ onScaleSelected(e) {
1584
+ if (!e)
1585
+ return;
1586
+ this.scaleCode = e.code;
1587
+ this.scaleName = e.name;
1588
+ }
1589
+ onAccountSelected(e) {
1590
+ if (!e)
1591
+ return;
1592
+ this.accountCode = e.code;
1593
+ this.accountTitle = e.title;
1594
+ }
1595
+ onTruckPlateSelected(e) {
1596
+ if (!e)
1597
+ return;
1598
+ this.truckPlateCode = e.code;
1599
+ this.truckPlateNo = e.plateNo;
1600
+ }
1601
+ onTrailerPlateSelected(e) {
1602
+ if (!e)
1603
+ return;
1604
+ this.trailerPlateCode = e.code;
1605
+ this.trailerPlateNo = e.plateNo;
1606
+ }
1607
+ onDriverSelected(e) {
1608
+ if (!e)
1609
+ return;
1610
+ this.driverCode = e.code;
1611
+ this.driverName = e.name;
1612
+ }
1613
+ onStockItemSelected(e) {
1614
+ if (!e)
1615
+ return;
1616
+ this.stockCode = e.code;
1617
+ this.stockName = e.name;
1618
+ }
1619
+ onGateSelected(e) {
1620
+ if (!e)
1621
+ return;
1622
+ this.gateCode = e.code;
1623
+ this.gateName = e.name;
1624
+ }
1625
+ onVehicleTypeSelected(e) {
1626
+ if (!e)
1627
+ return;
1628
+ this.entryTypeCode = e.code;
1629
+ this.entryTypeName = e.name;
1630
+ this.entryTypeTrtmYpilck = e.u_TrtmYpilck === 'Y';
1631
+ this.entryTypeMalGC = e.u_MalGC === 'Y';
1632
+ }
1633
+ onWaybillSelected(e) {
1634
+ if (!e)
1635
+ return;
1636
+ this.waybillNo = e.docNum.toString();
1637
+ if (e.cardCode) {
1638
+ this.accountCode = e.cardCode;
1639
+ this.accountTitle = e.cardName;
1640
+ }
1641
+ if (e.fromWarehouse) {
1642
+ this.departureLocation = e.fromWarehouse;
1643
+ }
1644
+ if (e.comments) {
1645
+ this.description = e.comments;
1646
+ }
1647
+ const lines = e.stockTransferLines ?? [];
1648
+ const uniqueCodes = [...new Set(lines.map(l => l.itemCode).filter(c => !!c))];
1649
+ if (uniqueCodes.length === 1) {
1650
+ this.stockCode = uniqueCodes[0];
1651
+ this.stockName = lines.find(l => l.itemCode === uniqueCodes[0])?.itemDescription ?? '';
1652
+ }
1653
+ else {
1654
+ this.stockCode = '';
1655
+ this.stockName = '';
1656
+ }
1657
+ }
1658
+ /** Phase 1 → Phase 2 geçişi */
1659
+ ileriGit() {
1660
+ if (!this.truckPlateCode) {
1661
+ this.confirmation.warn(this.localizationService.instant('Kadooglu::SelectTruckPlate'), '', {
1662
+ hideYesBtn: true,
1663
+ cancelText: this.localizationService.instant('Kadooglu::Cancel'),
1664
+ dismissible: false,
1665
+ });
1666
+ return;
1667
+ }
1668
+ if (this.entryTypeTrtmYpilck && !this.stockCode) {
1669
+ this.confirmation.warn(this.localizationService.instant('Kadooglu::StockCodeRequired'), '', {
1670
+ hideYesBtn: true,
1671
+ cancelText: this.localizationService.instant('Kadooglu::Cancel'),
1672
+ dismissible: false,
1673
+ });
1674
+ return;
1675
+ }
1676
+ this.formPhase = 2;
1677
+ }
1678
+ /** Phase 2 → Phase 1 geri dön */
1679
+ geriGitPhase() {
1680
+ this.formPhase = 1;
1681
+ }
1682
+ save() {
1683
+ // Tartım modundaysa doWeighing API çağır
1684
+ const docEntry = this.getDocEntry(this.record);
1685
+ if (this.weighingMode && docEntry) {
1686
+ if (this.currentScaleValue == null) {
1687
+ this.confirmation.warn(this.localizationService.instant('Kadooglu::DoWeighingFirst'), '', {
1688
+ hideYesBtn: true,
1689
+ cancelText: this.localizationService.instant('Kadooglu::Cancel'),
1690
+ dismissible: false,
1691
+ });
1692
+ return;
1693
+ }
1694
+ this.isSaving = true;
1695
+ this.service.doWeighing(docEntry, {
1696
+ weighingValue: this.currentScaleValue,
1697
+ operatorCode: ''
1698
+ }).subscribe({
1699
+ next: () => {
1700
+ // Tartım değerlerini weighingMode'a göre güncelle
1701
+ if (this.weighingMode === 'first') {
1702
+ this.firstWeighingValue = this.currentScaleValue;
1703
+ }
1704
+ else {
1705
+ this.lastWeighingValue = this.currentScaleValue;
1706
+ }
1707
+ this.isSaving = false;
1708
+ this.toaster.success(this.weighingMode === 'first'
1709
+ ? this.localizationService.instant('Kadooglu::FirstWeighingSaved')
1710
+ : this.localizationService.instant('Kadooglu::LastWeighingSaved'));
1711
+ // Kısa bir gecikme ile listeye dön (kullanıcı progress bar değişimini görsün)
1712
+ setTimeout(() => {
1713
+ this.router.navigate(['/kadooglu/entry-weighing']);
1714
+ }, 1500);
1715
+ },
1716
+ error: () => {
1717
+ this.isSaving = false;
1718
+ this.toaster.error(this.localizationService.instant('Kadooglu::WeighingRecordError'));
1719
+ },
1720
+ });
1721
+ return;
1722
+ }
1723
+ // Normal kayıt modu (yeni kayıt veya düzenleme)
1724
+ if (!this.truckPlateCode) {
1725
+ this.confirmation.warn(this.localizationService.instant('Kadooglu::SelectTruckPlate'), '', {
1726
+ hideYesBtn: true,
1727
+ cancelText: this.localizationService.instant('Kadooglu::Cancel'),
1728
+ dismissible: false,
1729
+ });
1730
+ return;
1731
+ }
1732
+ const now = new Date();
1733
+ const currentDate = now.toISOString().split('T')[0];
1734
+ const currentTime = now.toTimeString().split(' ')[0]; // HH:mm:ss
1735
+ const dto = {
1736
+ u_GateCode: this.gateCode || undefined,
1737
+ u_EntryDate: this.entryDate || currentDate,
1738
+ u_EntryTime: this.entryTime || currentTime,
1739
+ u_ExitDate: this.exitDate || null,
1740
+ u_ExitTime: this.exitTime || undefined,
1741
+ u_Plate: this.truckPlateCode,
1742
+ u_DorsePlate: this.trailerPlateCode || undefined,
1743
+ u_EntryType: this.entryTypeCode || undefined,
1744
+ u_Description: this.description || undefined,
1745
+ u_Driver: this.driverFullName || undefined,
1746
+ u_DriverCode: this.driverCode || undefined,
1747
+ u_TcNo: this.tcNo || undefined,
1748
+ u_CardCode: this.accountCode || undefined,
1749
+ u_ScaleCode: this.scaleCode || undefined,
1750
+ u_ItemCode: this.stockCode || undefined,
1751
+ u_DespatchAdviceNo: this.waybillNo || undefined,
1752
+ u_DespatchExist: 'N',
1753
+ u_ShipTo: this.arrivalLocation || undefined,
1754
+ u_ContainerNo: this.containerNo || undefined,
1755
+ u_ShipPlace: this.departureLocation || undefined,
1756
+ };
1757
+ const obs$ = docEntry
1758
+ ? this.service.update(docEntry, dto)
1759
+ : this.service.create(dto);
1760
+ this.isSaving = true;
1761
+ obs$.subscribe({
1762
+ next: () => {
1763
+ this.isSaving = false;
1764
+ this.toaster.success(this.localizationService.instant('Kadooglu::RecordSavedSuccess'));
1765
+ this.router.navigate(['/kadooglu/entry-weighing']);
1766
+ },
1767
+ error: () => {
1768
+ this.isSaving = false;
1769
+ this.toaster.error(this.localizationService.instant('Kadooglu::RecordSaveError'));
1770
+ },
1771
+ });
1772
+ }
1773
+ doGoodsMovement() {
1774
+ const docEntry = this.getDocEntry(this.record);
1775
+ if (!docEntry)
1776
+ return;
1777
+ this.isDoingGoodsMovement = true;
1778
+ this.service.doGoodsMovement(docEntry).subscribe({
1779
+ next: updated => {
1780
+ this.record = updated;
1781
+ this.isDoingGoodsMovement = false;
1782
+ this.toaster.success(this.localizationService.instant('Kadooglu::GoodsMovementSuccess'));
1783
+ },
1784
+ error: () => {
1785
+ this.isDoingGoodsMovement = false;
1786
+ },
1787
+ });
1788
+ }
1789
+ doWeighing() {
1790
+ // Random değer üret 30000-40000 arası
1791
+ this.currentScaleValue = Math.floor(Math.random() * 10001) + 30000;
1792
+ }
1793
+ goBack() {
1794
+ this.router.navigate(['/kadooglu/entry-weighing']);
1795
+ }
1796
+ validateTCKN(value) {
1797
+ const tc = value?.trim();
1798
+ if (!tc || tc.length !== 11)
1799
+ return false;
1800
+ if (!/^\d{11}$/.test(tc))
1801
+ return false;
1802
+ if (tc[0] === '0')
1803
+ return false;
1804
+ const d = tc.split('').map(Number);
1805
+ const d10 = ((d[0] + d[2] + d[4] + d[6] + d[8]) * 7 - (d[1] + d[3] + d[5] + d[7])) % 10;
1806
+ if (d10 !== d[9])
1807
+ return false;
1808
+ const d11 = d.slice(0, 10).reduce((a, b) => a + b, 0) % 10;
1809
+ return d11 === d[10];
1810
+ }
1811
+ }
1812
+ HitEntryWeighingFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitEntryWeighingFormComponent, deps: [{ token: HitEntryWeighingService }, { token: HitStockTransferService }, { token: i2$1.ConfirmationService }, { token: i2$1.ToasterService }, { token: i1$1.ActivatedRoute }, { token: i1$1.Router }, { token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
1813
+ HitEntryWeighingFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: HitEntryWeighingFormComponent, selector: "lib-hit-entry-weighing-form", ngImport: i0, template: "<abp-page [breadcrumb]=\"false\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"row align-items-center\">\r\n <div class=\"col\">\r\n <h3 class=\"page-title\">\r\n {{ 'Kadooglu::EntryWeighingTitle' | abpLocalization }}\r\n <span *ngIf=\"weighingMode\" class=\"badge ms-2 fs-6\"\r\n [ngClass]=\"{\r\n 'bg-warning text-dark': weighingMode === 'first',\r\n 'bg-primary': weighingMode === 'last'\r\n }\">\r\n {{ weighingModeLabel }}\r\n </span>\r\n <span *ngIf=\"!weighingMode\" class=\"badge ms-2 fs-6\"\r\n [ngClass]=\"{\r\n 'bg-secondary': weighingStep === 1,\r\n 'bg-info': weighingStep === 2,\r\n 'bg-success': weighingStep === 3\r\n }\">\r\n {{ (weighingStep === 1 ? 'Kadooglu::RecordStep' : weighingStep === 2 ? 'Kadooglu::FirstWeighing' : 'Kadooglu::Completed') | abpLocalization }}\r\n </span>\r\n </h3>\r\n </div>\r\n </div>\r\n </abp-page-toolbar-container>\r\n\r\n <!-- Step Indicator -->\r\n <div class=\"card mb-3\">\r\n <div class=\"card-body py-3\">\r\n <div class=\"d-flex align-items-center justify-content-center\">\r\n\r\n <!-- Step 1: Ara\u00E7 & Belge -->\r\n <div class=\"d-flex flex-column align-items-center\">\r\n <div class=\"rounded-circle d-flex align-items-center justify-content-center fw-bold text-white\"\r\n style=\"width:40px; height:40px; font-size:1rem;\"\r\n [style.background-color]=\"formPhase > 1 || isFullyCompleted ? '#198754' : (formPhase === 1 ? '#0d6efd' : '#6c757d')\">\r\n <i *ngIf=\"formPhase > 1 || isFullyCompleted\" class=\"fa fa-check\"></i>\r\n <span *ngIf=\"formPhase <= 1 && !isFullyCompleted\">1</span>\r\n </div>\r\n <small class=\"mt-1 fw-semibold\" [class.text-success]=\"formPhase > 1 || isFullyCompleted\" [class.text-primary]=\"formPhase === 1 && !isFullyCompleted\">{{ 'Kadooglu::VehicleAndDocument' | abpLocalization }}</small>\r\n </div>\r\n\r\n <div class=\"flex-grow-1 mx-2\" style=\"height:3px; max-width:120px;\"\r\n [style.background-color]=\"formPhase > 1 ? '#198754' : '#dee2e6'\"></div>\r\n\r\n <!-- Step 2: Tart\u0131m -->\r\n <div class=\"d-flex flex-column align-items-center\">\r\n <div class=\"rounded-circle d-flex align-items-center justify-content-center fw-bold text-white\"\r\n style=\"width:40px; height:40px; font-size:1rem;\"\r\n [style.background-color]=\"weighingStep === 3 ? '#198754' : (formPhase === 2 ? '#0d6efd' : '#6c757d')\">\r\n <i *ngIf=\"weighingStep === 3\" class=\"fa fa-check\"></i>\r\n <span *ngIf=\"weighingStep < 3\">2</span>\r\n </div>\r\n <small class=\"mt-1 fw-semibold\" [class.text-success]=\"weighingStep === 3\" [class.text-primary]=\"formPhase === 2 && weighingStep < 3\" [class.text-muted]=\"formPhase < 2 && weighingStep < 3\">{{ 'Kadooglu::WeighingStep' | abpLocalization }}</small>\r\n </div>\r\n\r\n <div class=\"flex-grow-1 mx-2\" style=\"height:3px; max-width:120px;\"\r\n [style.background-color]=\"weighingStep === 3 ? '#198754' : '#dee2e6'\"></div>\r\n\r\n <!-- Step 3: Tamamland\u0131 -->\r\n <div class=\"d-flex flex-column align-items-center\">\r\n <div class=\"rounded-circle d-flex align-items-center justify-content-center fw-bold text-white\"\r\n style=\"width:40px; height:40px; font-size:1rem;\"\r\n [style.background-color]=\"weighingStep === 3 ? '#198754' : '#6c757d'\">\r\n <i *ngIf=\"weighingStep === 3\" class=\"fa fa-check\"></i>\r\n <span *ngIf=\"weighingStep < 3\">3</span>\r\n </div>\r\n <small class=\"mt-1 fw-semibold\" [class.text-success]=\"weighingStep === 3\" [class.text-muted]=\"weighingStep < 3\">{{ 'Kadooglu::Completed' | abpLocalization }}</small>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- ========== PHASE 1: Ara\u00E7 & Belge ========== -->\r\n <div *ngIf=\"formPhase === 1 && !isFullyCompleted\">\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <div class=\"card\">\r\n <div class=\"card-header fw-bold\">\r\n <i class=\"fa fa-truck me-2\"></i>{{ 'Kadooglu::VehicleAndDocument' | abpLocalization }}\r\n </div>\r\n <div class=\"card-body\">\r\n <div class=\"row\">\r\n <div class=\"col-md-6\">\r\n\r\n <!-- Kap\u0131 Se\u00E7imi -->\r\n <div class=\"mb-3\">\r\n <label class=\"form-label fw-semibold\">{{ 'Kadooglu::GateSelection' | abpLocalization }}</label>\r\n <hit-lookup-select\r\n [loadFn]=\"loadGates\"\r\n [columns]=\"gateColumns\"\r\n displayName=\"name\"\r\n [editingData]=\"gateName\"\r\n [disabled]=\"isFormLocked\"\r\n (selected)=\"onGateSelected($event)\">\r\n </hit-lookup-select>\r\n </div>\r\n\r\n <!-- Giri\u015F Tipi -->\r\n <div class=\"mb-3\">\r\n <label class=\"form-label fw-semibold\">Ara\u00E7 Hareket T\u00FCr\u00FC</label>\r\n <hit-lookup-select\r\n [loadFn]=\"loadVehicleTypes\"\r\n [columns]=\"vehicleTypeColumns\"\r\n displayName=\"name\"\r\n [editingData]=\"entryTypeName\"\r\n [disabled]=\"isFormLocked\"\r\n (selected)=\"onVehicleTypeSelected($event)\">\r\n </hit-lookup-select>\r\n </div>\r\n\r\n <!-- Ara\u00E7 Giri\u015F Tarihi / Saati -->\r\n <div class=\"mb-3\">\r\n <label class=\"form-label fw-semibold\">{{ 'Kadooglu::EntryDate' | abpLocalization }}</label>\r\n <dx-date-box\r\n [value]=\"entryDateTime\"\r\n type=\"datetime\"\r\n displayFormat=\"dd.MM.yyyy HH:mm\"\r\n [disabled]=\"true\"\r\n width=\"100%\">\r\n </dx-date-box>\r\n </div>\r\n\r\n <!-- Ara\u00E7 \u00C7\u0131k\u0131\u015F Tarihi / Saati -->\r\n <div class=\"mb-3\">\r\n <label class=\"form-label fw-semibold\">{{ 'Kadooglu::ExitDate' | abpLocalization }}</label>\r\n <dx-date-box\r\n [value]=\"exitDateTime\"\r\n type=\"datetime\"\r\n displayFormat=\"dd.MM.yyyy HH:mm\"\r\n [disabled]=\"true\"\r\n width=\"100%\">\r\n </dx-date-box>\r\n </div>\r\n\r\n <!-- Kamyon / Ara\u00E7 Plakas\u0131 -->\r\n <div class=\"mb-3\">\r\n <label class=\"form-label fw-semibold\">\r\n {{ 'Kadooglu::TruckPlate' | abpLocalization }}\r\n <span class=\"text-danger\">*</span>\r\n </label>\r\n <hit-lookup-select\r\n [loadFn]=\"loadTruckPlates\"\r\n [columns]=\"truckPlateColumns\"\r\n displayName=\"plateNo\"\r\n [editingData]=\"truckPlateNo\"\r\n [disabled]=\"isFormLocked\"\r\n (selected)=\"onTruckPlateSelected($event)\">\r\n </hit-lookup-select>\r\n </div>\r\n\r\n <!-- Dorse Plakas\u0131 -->\r\n <div class=\"mb-3\" *ngIf=\"trailerPlateNo\">\r\n <label class=\"form-label fw-semibold\">{{ 'Kadooglu::TrailerPlate' | abpLocalization }}</label>\r\n <hit-lookup-select\r\n [loadFn]=\"loadTrailerPlates\"\r\n [columns]=\"trailerPlateColumns\"\r\n displayName=\"plateNo\"\r\n [editingData]=\"trailerPlateNo\"\r\n [disabled]=\"isFormLocked\"\r\n (selected)=\"onTrailerPlateSelected($event)\">\r\n </hit-lookup-select>\r\n </div>\r\n\r\n <!-- S\u00FCr\u00FCc\u00FC Ad\u0131 -->\r\n <div class=\"mb-3\">\r\n <label class=\"form-label fw-semibold\">{{ 'Kadooglu::DriverName' | abpLocalization }}</label>\r\n <dx-text-box\r\n [(value)]=\"driverFullName\"\r\n [placeholder]=\"'Kadooglu::EnterDriverName' | abpLocalization\"\r\n [readOnly]=\"isFormLocked\"\r\n width=\"100%\">\r\n </dx-text-box>\r\n </div>\r\n\r\n <!-- TC Kimlik No -->\r\n <div class=\"mb-3\">\r\n <div class=\"d-flex align-items-center gap-2 mb-1\">\r\n <label class=\"form-label fw-semibold mb-0\">{{ isTcCitizen ? ('Kadooglu::TcIdentityNo' | abpLocalization) : 'Kimlik No' }}</label>\r\n <dx-check-box [(value)]=\"isTcCitizen\" text=\"T.C. Vatanda\u015F\u0131\"></dx-check-box>\r\n </div>\r\n <dx-text-box\r\n [(value)]=\"tcNo\"\r\n [placeholder]=\"isTcCitizen ? ('Kadooglu::TcIdentityNo' | abpLocalization) : 'Kimlik No'\"\r\n [readOnly]=\"isFormLocked\"\r\n width=\"100%\">\r\n </dx-text-box>\r\n </div>\r\n\r\n </div>\r\n <div class=\"col-md-6\">\r\n\r\n <!-- \u015Eof\u00F6r Kodu -->\r\n <div class=\"mb-3\">\r\n <label class=\"form-label fw-semibold\">{{ 'Kadooglu::DriverCode' | abpLocalization }}</label>\r\n <hit-lookup-select\r\n [loadFn]=\"loadDrivers\"\r\n [columns]=\"driverColumns\"\r\n displayName=\"name\"\r\n [editingData]=\"driverName\"\r\n [disabled]=\"isFormLocked\"\r\n (selected)=\"onDriverSelected($event)\">\r\n </hit-lookup-select>\r\n </div>\r\n\r\n <!-- Cari -->\r\n <div class=\"mb-3\">\r\n <label class=\"form-label fw-semibold\">{{ 'Kadooglu::BusinessPartner' | abpLocalization }}</label>\r\n <hit-lookup-select\r\n [loadFn]=\"loadAccounts\"\r\n [columns]=\"accountColumns\"\r\n displayName=\"title\"\r\n [editingData]=\"accountTitle\"\r\n [disabled]=\"isFormLocked\"\r\n (selected)=\"onAccountSelected($event)\">\r\n </hit-lookup-select>\r\n </div>\r\n\r\n <!-- Stok Nakli -->\r\n <div class=\"mb-3\">\r\n <label class=\"form-label fw-semibold\">\r\n {{ 'Kadooglu::WaybillNumber' | abpLocalization }}\r\n </label>\r\n <hit-lookup-select\r\n [loadFn]=\"loadWaybills\"\r\n [columns]=\"waybillColumns\"\r\n displayName=\"docNum\"\r\n keyExpr=\"docEntry\"\r\n [editingData]=\"waybillNo\"\r\n [disabled]=\"isFormLocked\"\r\n (selected)=\"onWaybillSelected($event)\">\r\n </hit-lookup-select>\r\n </div>\r\n\r\n <!-- Kantar Kodu -->\r\n <div class=\"mb-3\">\r\n <label class=\"form-label fw-semibold\">{{ 'Kadooglu::ScaleCode' | abpLocalization }}</label>\r\n <hit-lookup-select\r\n [loadFn]=\"loadScales\"\r\n [columns]=\"scaleColumns\"\r\n displayName=\"name\"\r\n [editingData]=\"scaleName\"\r\n [disabled]=\"isFormLocked\"\r\n (selected)=\"onScaleSelected($event)\">\r\n </hit-lookup-select>\r\n </div>\r\n\r\n <!-- Stok Kodu -->\r\n <div class=\"mb-3\">\r\n <label class=\"form-label fw-semibold\">{{ 'Kadooglu::ItemCode' | abpLocalization }}</label>\r\n <hit-lookup-select\r\n [loadFn]=\"loadStockItems\"\r\n [columns]=\"stockItemColumns\"\r\n displayName=\"name\"\r\n [editingData]=\"stockName\"\r\n [disabled]=\"isFormLocked\"\r\n (selected)=\"onStockItemSelected($event)\">\r\n </hit-lookup-select>\r\n </div>\r\n\r\n <!-- Konteyner Numaras\u0131 -->\r\n <div class=\"mb-3\">\r\n <label class=\"form-label fw-semibold\">{{ 'Kadooglu::ContainerNo' | abpLocalization }}</label>\r\n <dx-text-box\r\n [(value)]=\"containerNo\"\r\n [placeholder]=\"'Kadooglu::ManualEntry' | abpLocalization\"\r\n [readOnly]=\"isFormLocked\"\r\n width=\"100%\">\r\n </dx-text-box>\r\n </div>\r\n\r\n <!-- Kalk\u0131\u015F / Var\u0131\u015F Yeri -->\r\n <div class=\"row mb-3\">\r\n <div class=\"col-6\">\r\n <label class=\"form-label fw-semibold\">{{ 'Kadooglu::DeparturePlace' | abpLocalization }}</label>\r\n <dx-text-box\r\n [(value)]=\"departureLocation\"\r\n [disabled]=\"true\"\r\n [placeholder]=\"'Kadooglu::AutoFilledFromWaybill' | abpLocalization\"\r\n width=\"100%\">\r\n </dx-text-box>\r\n </div>\r\n <div class=\"col-6\">\r\n <label class=\"form-label fw-semibold\">{{ 'Kadooglu::ArrivalPlace' | abpLocalization }}</label>\r\n <dx-text-box\r\n [(value)]=\"arrivalLocation\"\r\n [disabled]=\"true\"\r\n width=\"100%\">\r\n </dx-text-box>\r\n </div>\r\n </div>\r\n\r\n <!-- A\u00E7\u0131klama -->\r\n <div class=\"mb-3\">\r\n <label class=\"form-label fw-semibold\">{{ 'Kadooglu::Description' | abpLocalization }}</label>\r\n <dx-text-area\r\n [(value)]=\"description\"\r\n [height]=\"70\"\r\n [readOnly]=\"isFormLocked\"\r\n width=\"100%\">\r\n </dx-text-area>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Phase 1 Alt Butonlar -->\r\n <div class=\"d-flex justify-content-between mt-3 mb-3\">\r\n <button class=\"btn btn-secondary\" (click)=\"goBack()\">\r\n <i class=\"fa fa-arrow-left me-1\"></i> {{ 'Kadooglu::Back' | abpLocalization }}\r\n </button>\r\n <div class=\"d-flex gap-2\">\r\n <abp-button\r\n *ngIf=\"!weighingMode && !isFormLocked\"\r\n iconClass=\"fa fa-save\"\r\n buttonType=\"button\"\r\n [loading]=\"isSaving\"\r\n (click)=\"save()\">\r\n {{ 'Kadooglu::Save' | abpLocalization }}\r\n </abp-button>\r\n <button class=\"btn btn-primary\" (click)=\"ileriGit()\">\r\n {{ 'Kadooglu::Next' | abpLocalization }} <i class=\"fa fa-arrow-right ms-1\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- ========== PHASE 2: Tart\u0131m Paneli ========== -->\r\n <div *ngIf=\"formPhase === 2 && !isFullyCompleted\">\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <div class=\"card\">\r\n <div class=\"card-header fw-bold\">\r\n <i class=\"fa fa-balance-scale me-2\"></i>{{ 'Kadooglu::WeighingPanel' | abpLocalization }}\r\n <span *ngIf=\"weighingMode\" class=\"badge ms-2\"\r\n [ngClass]=\"weighingMode === 'first' ? 'bg-warning text-dark' : 'bg-primary'\">\r\n {{ weighingModeLabel }}\r\n </span>\r\n </div>\r\n <div class=\"card-body\">\r\n\r\n <div class=\"row\">\r\n <div class=\"col-md-6 mx-auto\">\r\n\r\n <!-- Kantardaki De\u011Fer -->\r\n <div class=\"card bg-light mb-3\">\r\n <div class=\"card-body text-center py-4\">\r\n <div class=\"text-muted small mb-1\">{{ 'Kadooglu::ScaleValue' | abpLocalization }}</div>\r\n <div style=\"font-size: 2.5rem; font-weight: bold; letter-spacing: 0.05em;\">\r\n {{ currentScaleValue != null ? (currentScaleValue | number:'1.0-0') + ' kg' : '\u2014 kg' }}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Tart\u0131m Yap butonu -->\r\n <button\r\n *ngIf=\"!isFullyCompleted\"\r\n class=\"btn btn-primary btn-lg w-100 mb-4\"\r\n (click)=\"doWeighing()\">\r\n <i class=\"fa fa-balance-scale me-2\"></i>\r\n {{ 'Kadooglu::PerformWeighing' | abpLocalization }}\r\n </button>\r\n\r\n <!-- \u0130lk Tart\u0131m -->\r\n <div class=\"mb-3\">\r\n <div class=\"text-muted small fw-semibold text-uppercase mb-1\">{{ 'Kadooglu::FirstWeighing' | abpLocalization }}</div>\r\n <div *ngIf=\"firstWeighingValue != null; else noFirstWeighing\" class=\"card card-body p-2\">\r\n <div class=\"d-flex justify-content-between align-items-center\">\r\n <span class=\"fw-bold fs-5\">{{ firstWeighingValue | number:'1.0-0' }} kg</span>\r\n <span class=\"text-muted small\">{{ 'Kadooglu::Operator' | abpLocalization }}: {{ firstOperatorCode }}</span>\r\n </div>\r\n </div>\r\n <ng-template #noFirstWeighing>\r\n <div class=\"card card-body p-2 text-muted text-center fst-italic\">{{ 'Kadooglu::NotYetDone' | abpLocalization }}</div>\r\n </ng-template>\r\n </div>\r\n\r\n <!-- Son Tart\u0131m -->\r\n <div class=\"mb-3\">\r\n <div class=\"text-muted small fw-semibold text-uppercase mb-1\">{{ 'Kadooglu::LastWeighing' | abpLocalization }}</div>\r\n <div *ngIf=\"lastWeighingValue != null; else noLastWeighing\" class=\"card card-body p-2\">\r\n <div class=\"d-flex justify-content-between align-items-center\">\r\n <span class=\"fw-bold fs-5\">{{ lastWeighingValue | number:'1.0-0' }} kg</span>\r\n <span class=\"text-muted small\">{{ 'Kadooglu::Operator' | abpLocalization }}: {{ lastOperatorCode }}</span>\r\n </div>\r\n </div>\r\n <ng-template #noLastWeighing>\r\n <div class=\"card card-body p-2 text-muted text-center fst-italic\">{{ 'Kadooglu::NotYetDone' | abpLocalization }}</div>\r\n </ng-template>\r\n </div>\r\n\r\n <!-- Net Y\u00FCk (sadece step=3'te g\u00F6ster) -->\r\n <div *ngIf=\"weighingStep === 3 && netWeight != null\" class=\"card border-success mb-3\">\r\n <div class=\"card-body text-center py-3\" style=\"background-color: rgba(25,135,84,0.08);\">\r\n <div class=\"text-success small fw-semibold text-uppercase mb-1\">{{ 'Kadooglu::NetWeight' | abpLocalization }}</div>\r\n <div class=\"text-success fw-bold\" style=\"font-size: 2rem;\">\r\n {{ netWeight | number:'1.0-0' }} kg\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Phase 2 Alt Butonlar -->\r\n <div class=\"d-flex justify-content-between mt-3 mb-3\">\r\n <button class=\"btn btn-secondary\" (click)=\"geriGitPhase()\">\r\n <i class=\"fa fa-arrow-left me-1\"></i> {{ 'Kadooglu::Back' | abpLocalization }}\r\n </button>\r\n <abp-button\r\n *ngIf=\"!isFullyCompleted\"\r\n iconClass=\"fa fa-save\"\r\n buttonType=\"button\"\r\n [loading]=\"isSaving\"\r\n (click)=\"save()\">\r\n {{ 'Kadooglu::Save' | abpLocalization }}\r\n </abp-button>\r\n </div>\r\n </div>\r\n\r\n <!-- ========== SUMMARY: Tamamland\u0131 G\u00F6r\u00FCn\u00FCm\u00FC ========== -->\r\n <div *ngIf=\"isFullyCompleted\">\r\n\r\n <!-- \u00DCst B\u00F6l\u00FCm \u2014 Tart\u0131m Sonu\u00E7 Kartlar\u0131 -->\r\n <div class=\"row mb-4\">\r\n <!-- \u0130lk Tart\u0131m -->\r\n <div class=\"col-md-4 mb-3 mb-md-0\">\r\n <div class=\"bg-white shadow-sm rounded py-3 px-4 h-100\" style=\"border-left: 4px solid #0d6efd;\">\r\n <div class=\"text-uppercase text-muted small fw-semibold mb-1\">{{ 'Kadooglu::FirstWeighing' | abpLocalization }}</div>\r\n <div class=\"fw-bold\" style=\"font-size: 1.75rem; letter-spacing: 0.02em;\">\r\n {{ firstWeighingValue != null ? (firstWeighingValue | number:'1.0-0') + ' kg' : '\u2014 kg' }}\r\n </div>\r\n <div class=\"text-muted small mt-1\">{{ 'Kadooglu::Operator' | abpLocalization }}: {{ firstOperatorCode || '\u2014' }}</div>\r\n </div>\r\n </div>\r\n <!-- Son Tart\u0131m -->\r\n <div class=\"col-md-4 mb-3 mb-md-0\">\r\n <div class=\"bg-white shadow-sm rounded py-3 px-4 h-100\" style=\"border-left: 4px solid #6f42c1;\">\r\n <div class=\"text-uppercase text-muted small fw-semibold mb-1\">{{ 'Kadooglu::LastWeighing' | abpLocalization }}</div>\r\n <div class=\"fw-bold\" style=\"font-size: 1.75rem; letter-spacing: 0.02em;\">\r\n {{ lastWeighingValue != null ? (lastWeighingValue | number:'1.0-0') + ' kg' : '\u2014 kg' }}\r\n </div>\r\n <div class=\"text-muted small mt-1\">{{ 'Kadooglu::Operator' | abpLocalization }}: {{ lastOperatorCode || '\u2014' }}</div>\r\n </div>\r\n </div>\r\n <!-- Net Y\u00FCk -->\r\n <div class=\"col-md-4\">\r\n <div class=\"shadow-sm rounded py-3 px-4 h-100\" style=\"border-left: 4px solid #198754; background: rgba(25,135,84,0.06);\">\r\n <div class=\"text-uppercase text-muted small fw-semibold mb-1\">{{ 'Kadooglu::NetWeight' | abpLocalization }}</div>\r\n <div class=\"fw-bold\" style=\"font-size: 1.75rem; letter-spacing: 0.02em; color: #198754;\">\r\n {{ netWeight != null ? (netWeight | number:'1.0-0') + ' kg' : '\u2014 kg' }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Alt B\u00F6l\u00FCm \u2014 Detay Bilgileri -->\r\n <div class=\"card shadow-sm\">\r\n <div class=\"card-header fw-bold\">\r\n <i class=\"fa fa-file-text me-2\"></i>{{ 'Kadooglu::RecordDetails' | abpLocalization }}\r\n </div>\r\n <div class=\"card-body\">\r\n <div class=\"row\">\r\n <!-- Sol S\u00FCtun -->\r\n <div class=\"col-md-6\">\r\n <div class=\"row mb-2 py-1\" style=\"border-bottom: 1px solid #f0f0f0;\">\r\n <div class=\"col-5 text-muted small fw-semibold\">{{ 'Kadooglu::Gate' | abpLocalization }}</div>\r\n <div class=\"col-7 fw-medium\">{{ gateName || '\u2014' }}</div>\r\n </div>\r\n <div class=\"row mb-2 py-1\" style=\"border-bottom: 1px solid #f0f0f0;\">\r\n <div class=\"col-5 text-muted small fw-semibold\">Ara\u00E7 Hareket T\u00FCr\u00FC</div>\r\n <div class=\"col-7 fw-medium\">{{ entryTypeName || '\u2014' }}</div>\r\n </div>\r\n <div class=\"row mb-2 py-1\" style=\"border-bottom: 1px solid #f0f0f0;\">\r\n <div class=\"col-5 text-muted small fw-semibold\">{{ 'Kadooglu::EntryDate' | abpLocalization }}</div>\r\n <div class=\"col-7 fw-medium\">{{ entryDate ? (entryDate | date:'dd.MM.yyyy') : '\u2014' }} {{ entryTime || '' }}</div>\r\n </div>\r\n <div class=\"row mb-2 py-1\" style=\"border-bottom: 1px solid #f0f0f0;\">\r\n <div class=\"col-5 text-muted small fw-semibold\">{{ 'Kadooglu::ExitDate' | abpLocalization }}</div>\r\n <div class=\"col-7 fw-medium\">{{ exitDate ? (exitDate | date:'dd.MM.yyyy') : '\u2014' }} {{ exitTime || '' }}</div>\r\n </div>\r\n <div class=\"row mb-2 py-1\" style=\"border-bottom: 1px solid #f0f0f0;\">\r\n <div class=\"col-5 text-muted small fw-semibold\">{{ 'Kadooglu::TruckPlate' | abpLocalization }}</div>\r\n <div class=\"col-7 fw-medium\">{{ truckPlateNo || '\u2014' }}</div>\r\n </div>\r\n <div class=\"row mb-2 py-1\" style=\"border-bottom: 1px solid #f0f0f0;\">\r\n <div class=\"col-5 text-muted small fw-semibold\">{{ 'Kadooglu::TrailerPlate' | abpLocalization }}</div>\r\n <div class=\"col-7 fw-medium\">{{ trailerPlateNo || '\u2014' }}</div>\r\n </div>\r\n <div class=\"row mb-2 py-1\" style=\"border-bottom: 1px solid #f0f0f0;\">\r\n <div class=\"col-5 text-muted small fw-semibold\">{{ 'Kadooglu::DriverName' | abpLocalization }}</div>\r\n <div class=\"col-7 fw-medium\">{{ driverFullName || '\u2014' }}</div>\r\n </div>\r\n <div class=\"row mb-2 py-1\" style=\"border-bottom: 1px solid #f0f0f0;\">\r\n <div class=\"col-5 text-muted small fw-semibold\">{{ 'Kadooglu::TcIdentityNo' | abpLocalization }}</div>\r\n <div class=\"col-7 fw-medium\">{{ tcNo || '\u2014' }}</div>\r\n </div>\r\n </div>\r\n <!-- Sa\u011F S\u00FCtun -->\r\n <div class=\"col-md-6\">\r\n <div class=\"row mb-2 py-1\" style=\"border-bottom: 1px solid #f0f0f0;\">\r\n <div class=\"col-5 text-muted small fw-semibold\">{{ 'Kadooglu::DriverCode' | abpLocalization }}</div>\r\n <div class=\"col-7 fw-medium\">{{ driverName || '\u2014' }}</div>\r\n </div>\r\n <div class=\"row mb-2 py-1\" style=\"border-bottom: 1px solid #f0f0f0;\">\r\n <div class=\"col-5 text-muted small fw-semibold\">{{ 'Kadooglu::BusinessPartner' | abpLocalization }}</div>\r\n <div class=\"col-7 fw-medium\">{{ accountTitle || '\u2014' }}</div>\r\n </div>\r\n <div class=\"row mb-2 py-1\" style=\"border-bottom: 1px solid #f0f0f0;\">\r\n <div class=\"col-5 text-muted small fw-semibold\">{{ 'Kadooglu::WaybillNumber' | abpLocalization }}</div>\r\n <div class=\"col-7 fw-medium\">{{ waybillNo || '\u2014' }}</div>\r\n </div>\r\n <div class=\"row mb-2 py-1\" style=\"border-bottom: 1px solid #f0f0f0;\">\r\n <div class=\"col-5 text-muted small fw-semibold\">{{ 'Kadooglu::ScaleCode' | abpLocalization }}</div>\r\n <div class=\"col-7 fw-medium\">{{ scaleName || '\u2014' }}</div>\r\n </div>\r\n <div class=\"row mb-2 py-1\" style=\"border-bottom: 1px solid #f0f0f0;\">\r\n <div class=\"col-5 text-muted small fw-semibold\">{{ 'Kadooglu::ItemCode' | abpLocalization }}</div>\r\n <div class=\"col-7 fw-medium\">{{ stockName || '\u2014' }}</div>\r\n </div>\r\n <div class=\"row mb-2 py-1\" style=\"border-bottom: 1px solid #f0f0f0;\">\r\n <div class=\"col-5 text-muted small fw-semibold\">{{ 'Kadooglu::ContainerNo' | abpLocalization }}</div>\r\n <div class=\"col-7 fw-medium\">{{ containerNo || '\u2014' }}</div>\r\n </div>\r\n <div class=\"row mb-2 py-1\" style=\"border-bottom: 1px solid #f0f0f0;\">\r\n <div class=\"col-5 text-muted small fw-semibold\">{{ 'Kadooglu::DepartureToArrival' | abpLocalization }}</div>\r\n <div class=\"col-7 fw-medium\">{{ (departureLocation || '\u2014') + ' \u2192 ' + (arrivalLocation || '\u2014') }}</div>\r\n </div>\r\n <div class=\"row mb-2 py-1\" style=\"border-bottom: 1px solid #f0f0f0;\">\r\n <div class=\"col-5 text-muted small fw-semibold\">{{ 'Kadooglu::Description' | abpLocalization }}</div>\r\n <div class=\"col-7 fw-medium\">{{ description || '\u2014' }}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Alt Butonlar -->\r\n <div class=\"d-flex justify-content-between mt-3 mb-3\">\r\n <button class=\"btn btn-secondary\" (click)=\"goBack()\">\r\n <i class=\"fa fa-arrow-left me-1\"></i> {{ 'Kadooglu::BackToList' | abpLocalization }}\r\n </button>\r\n <button\r\n *ngIf=\"entryTypeMalGC && record?.u_Status === '2'\"\r\n class=\"btn btn-warning\"\r\n type=\"button\"\r\n [disabled]=\"isDoingGoodsMovement\"\r\n (click)=\"doGoodsMovement()\">\r\n <i [class]=\"isDoingGoodsMovement ? 'fa fa-spinner fa-spin me-1' : 'fa fa-exchange me-1'\" aria-hidden=\"true\"></i>\r\n {{ 'Kadooglu::MalGcYap' | abpLocalization }}\r\n </button>\r\n </div>\r\n </div>\r\n\r\n</abp-page>\r\n", dependencies: [{ kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$1.ButtonComponent, selector: "abp-button", inputs: ["buttonId", "buttonClass", "buttonType", "formName", "iconClass", "loading", "disabled", "attributes"], outputs: ["click", "focus", "blur", "abpClick", "abpFocus", "abpBlur"] }, { kind: "component", type: i4.PageComponent, selector: "abp-page", inputs: ["title", "toolbar", "breadcrumb"] }, { kind: "component", type: i4.PageToolbarContainerComponent, selector: "abp-page-toolbar-container" }, { kind: "component", type: HitModalComponent, selector: "hit-lookup-select", inputs: ["displayName", "keyExpr", "modalSize", "getFn", "loadFn", "columns", "isVisible", "disabled", "editingData"], outputs: ["selected"] }, { kind: "component", type: i5.DxDateBoxComponent, selector: "dx-date-box", inputs: ["acceptCustomValue", "accessKey", "activeStateEnabled", "adaptivityEnabled", "applyButtonText", "applyValueMode", "buttons", "calendarOptions", "cancelButtonText", "dateOutOfRangeMessage", "dateSerializationFormat", "deferRendering", "disabled", "disabledDates", "displayFormat", "dropDownButtonTemplate", "dropDownOptions", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "inputAttr", "interval", "invalidDateMessage", "isValid", "label", "labelMode", "max", "maxLength", "min", "name", "opened", "openOnFieldClick", "pickerType", "placeholder", "readOnly", "rtlEnabled", "showAnalogClock", "showClearButton", "showDropDownButton", "spellcheck", "stylingMode", "tabIndex", "text", "todayButtonText", "type", "useMaskBehavior", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "valueChangeEvent", "visible", "width"], outputs: ["onChange", "onClosed", "onContentReady", "onCopy", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onKeyDown", "onKeyUp", "onOpened", "onOptionChanged", "onPaste", "onValueChanged", "acceptCustomValueChange", "accessKeyChange", "activeStateEnabledChange", "adaptivityEnabledChange", "applyButtonTextChange", "applyValueModeChange", "buttonsChange", "calendarOptionsChange", "cancelButtonTextChange", "dateOutOfRangeMessageChange", "dateSerializationFormatChange", "deferRenderingChange", "disabledChange", "disabledDatesChange", "displayFormatChange", "dropDownButtonTemplateChange", "dropDownOptionsChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "intervalChange", "invalidDateMessageChange", "isValidChange", "labelChange", "labelModeChange", "maxChange", "maxLengthChange", "minChange", "nameChange", "openedChange", "openOnFieldClickChange", "pickerTypeChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "showAnalogClockChange", "showClearButtonChange", "showDropDownButtonChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "todayButtonTextChange", "typeChange", "useMaskBehaviorChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "visibleChange", "widthChange", "onBlur"] }, { kind: "component", type: i5.DxTextBoxComponent, selector: "dx-text-box", inputs: ["accessKey", "activeStateEnabled", "buttons", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "inputAttr", "isValid", "label", "labelMode", "mask", "maskChar", "maskInvalidMessage", "maskRules", "maxLength", "mode", "name", "placeholder", "readOnly", "rtlEnabled", "showClearButton", "showMaskMode", "spellcheck", "stylingMode", "tabIndex", "text", "useMaskedValue", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "valueChangeEvent", "visible", "width"], outputs: ["onChange", "onContentReady", "onCopy", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onKeyDown", "onKeyUp", "onOptionChanged", "onPaste", "onValueChanged", "accessKeyChange", "activeStateEnabledChange", "buttonsChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "isValidChange", "labelChange", "labelModeChange", "maskChange", "maskCharChange", "maskInvalidMessageChange", "maskRulesChange", "maxLengthChange", "modeChange", "nameChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "showClearButtonChange", "showMaskModeChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "useMaskedValueChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "visibleChange", "widthChange", "onBlur"] }, { kind: "component", type: i5.DxTextAreaComponent, selector: "dx-text-area", inputs: ["accessKey", "activeStateEnabled", "autoResizeEnabled", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "inputAttr", "isValid", "label", "labelMode", "maxHeight", "maxLength", "minHeight", "name", "placeholder", "readOnly", "rtlEnabled", "spellcheck", "stylingMode", "tabIndex", "text", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "valueChangeEvent", "visible", "width"], outputs: ["onChange", "onContentReady", "onCopy", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onKeyDown", "onKeyUp", "onOptionChanged", "onPaste", "onValueChanged", "accessKeyChange", "activeStateEnabledChange", "autoResizeEnabledChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "isValidChange", "labelChange", "labelModeChange", "maxHeightChange", "maxLengthChange", "minHeightChange", "nameChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "visibleChange", "widthChange", "onBlur"] }, { kind: "component", type: i5.DxCheckBoxComponent, selector: "dx-check-box", inputs: ["accessKey", "activeStateEnabled", "disabled", "elementAttr", "enableThreeStateBehavior", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "iconSize", "isValid", "name", "readOnly", "rtlEnabled", "tabIndex", "text", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "visible", "width"], outputs: ["onContentReady", "onDisposing", "onInitialized", "onOptionChanged", "onValueChanged", "accessKeyChange", "activeStateEnabledChange", "disabledChange", "elementAttrChange", "enableThreeStateBehaviorChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "iconSizeChange", "isValidChange", "nameChange", "readOnlyChange", "rtlEnabledChange", "tabIndexChange", "textChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "visibleChange", "widthChange", "onBlur"] }, { kind: "pipe", type: i6.DecimalPipe, name: "number" }, { kind: "pipe", type: i6.DatePipe, name: "date" }, { kind: "pipe", type: i1.LocalizationPipe, name: "abpLocalization" }] });
1814
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitEntryWeighingFormComponent, decorators: [{
1815
+ type: Component,
1816
+ args: [{ selector: 'lib-hit-entry-weighing-form', template: "<abp-page [breadcrumb]=\"false\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"row align-items-center\">\r\n <div class=\"col\">\r\n <h3 class=\"page-title\">\r\n {{ 'Kadooglu::EntryWeighingTitle' | abpLocalization }}\r\n <span *ngIf=\"weighingMode\" class=\"badge ms-2 fs-6\"\r\n [ngClass]=\"{\r\n 'bg-warning text-dark': weighingMode === 'first',\r\n 'bg-primary': weighingMode === 'last'\r\n }\">\r\n {{ weighingModeLabel }}\r\n </span>\r\n <span *ngIf=\"!weighingMode\" class=\"badge ms-2 fs-6\"\r\n [ngClass]=\"{\r\n 'bg-secondary': weighingStep === 1,\r\n 'bg-info': weighingStep === 2,\r\n 'bg-success': weighingStep === 3\r\n }\">\r\n {{ (weighingStep === 1 ? 'Kadooglu::RecordStep' : weighingStep === 2 ? 'Kadooglu::FirstWeighing' : 'Kadooglu::Completed') | abpLocalization }}\r\n </span>\r\n </h3>\r\n </div>\r\n </div>\r\n </abp-page-toolbar-container>\r\n\r\n <!-- Step Indicator -->\r\n <div class=\"card mb-3\">\r\n <div class=\"card-body py-3\">\r\n <div class=\"d-flex align-items-center justify-content-center\">\r\n\r\n <!-- Step 1: Ara\u00E7 & Belge -->\r\n <div class=\"d-flex flex-column align-items-center\">\r\n <div class=\"rounded-circle d-flex align-items-center justify-content-center fw-bold text-white\"\r\n style=\"width:40px; height:40px; font-size:1rem;\"\r\n [style.background-color]=\"formPhase > 1 || isFullyCompleted ? '#198754' : (formPhase === 1 ? '#0d6efd' : '#6c757d')\">\r\n <i *ngIf=\"formPhase > 1 || isFullyCompleted\" class=\"fa fa-check\"></i>\r\n <span *ngIf=\"formPhase <= 1 && !isFullyCompleted\">1</span>\r\n </div>\r\n <small class=\"mt-1 fw-semibold\" [class.text-success]=\"formPhase > 1 || isFullyCompleted\" [class.text-primary]=\"formPhase === 1 && !isFullyCompleted\">{{ 'Kadooglu::VehicleAndDocument' | abpLocalization }}</small>\r\n </div>\r\n\r\n <div class=\"flex-grow-1 mx-2\" style=\"height:3px; max-width:120px;\"\r\n [style.background-color]=\"formPhase > 1 ? '#198754' : '#dee2e6'\"></div>\r\n\r\n <!-- Step 2: Tart\u0131m -->\r\n <div class=\"d-flex flex-column align-items-center\">\r\n <div class=\"rounded-circle d-flex align-items-center justify-content-center fw-bold text-white\"\r\n style=\"width:40px; height:40px; font-size:1rem;\"\r\n [style.background-color]=\"weighingStep === 3 ? '#198754' : (formPhase === 2 ? '#0d6efd' : '#6c757d')\">\r\n <i *ngIf=\"weighingStep === 3\" class=\"fa fa-check\"></i>\r\n <span *ngIf=\"weighingStep < 3\">2</span>\r\n </div>\r\n <small class=\"mt-1 fw-semibold\" [class.text-success]=\"weighingStep === 3\" [class.text-primary]=\"formPhase === 2 && weighingStep < 3\" [class.text-muted]=\"formPhase < 2 && weighingStep < 3\">{{ 'Kadooglu::WeighingStep' | abpLocalization }}</small>\r\n </div>\r\n\r\n <div class=\"flex-grow-1 mx-2\" style=\"height:3px; max-width:120px;\"\r\n [style.background-color]=\"weighingStep === 3 ? '#198754' : '#dee2e6'\"></div>\r\n\r\n <!-- Step 3: Tamamland\u0131 -->\r\n <div class=\"d-flex flex-column align-items-center\">\r\n <div class=\"rounded-circle d-flex align-items-center justify-content-center fw-bold text-white\"\r\n style=\"width:40px; height:40px; font-size:1rem;\"\r\n [style.background-color]=\"weighingStep === 3 ? '#198754' : '#6c757d'\">\r\n <i *ngIf=\"weighingStep === 3\" class=\"fa fa-check\"></i>\r\n <span *ngIf=\"weighingStep < 3\">3</span>\r\n </div>\r\n <small class=\"mt-1 fw-semibold\" [class.text-success]=\"weighingStep === 3\" [class.text-muted]=\"weighingStep < 3\">{{ 'Kadooglu::Completed' | abpLocalization }}</small>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- ========== PHASE 1: Ara\u00E7 & Belge ========== -->\r\n <div *ngIf=\"formPhase === 1 && !isFullyCompleted\">\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <div class=\"card\">\r\n <div class=\"card-header fw-bold\">\r\n <i class=\"fa fa-truck me-2\"></i>{{ 'Kadooglu::VehicleAndDocument' | abpLocalization }}\r\n </div>\r\n <div class=\"card-body\">\r\n <div class=\"row\">\r\n <div class=\"col-md-6\">\r\n\r\n <!-- Kap\u0131 Se\u00E7imi -->\r\n <div class=\"mb-3\">\r\n <label class=\"form-label fw-semibold\">{{ 'Kadooglu::GateSelection' | abpLocalization }}</label>\r\n <hit-lookup-select\r\n [loadFn]=\"loadGates\"\r\n [columns]=\"gateColumns\"\r\n displayName=\"name\"\r\n [editingData]=\"gateName\"\r\n [disabled]=\"isFormLocked\"\r\n (selected)=\"onGateSelected($event)\">\r\n </hit-lookup-select>\r\n </div>\r\n\r\n <!-- Giri\u015F Tipi -->\r\n <div class=\"mb-3\">\r\n <label class=\"form-label fw-semibold\">Ara\u00E7 Hareket T\u00FCr\u00FC</label>\r\n <hit-lookup-select\r\n [loadFn]=\"loadVehicleTypes\"\r\n [columns]=\"vehicleTypeColumns\"\r\n displayName=\"name\"\r\n [editingData]=\"entryTypeName\"\r\n [disabled]=\"isFormLocked\"\r\n (selected)=\"onVehicleTypeSelected($event)\">\r\n </hit-lookup-select>\r\n </div>\r\n\r\n <!-- Ara\u00E7 Giri\u015F Tarihi / Saati -->\r\n <div class=\"mb-3\">\r\n <label class=\"form-label fw-semibold\">{{ 'Kadooglu::EntryDate' | abpLocalization }}</label>\r\n <dx-date-box\r\n [value]=\"entryDateTime\"\r\n type=\"datetime\"\r\n displayFormat=\"dd.MM.yyyy HH:mm\"\r\n [disabled]=\"true\"\r\n width=\"100%\">\r\n </dx-date-box>\r\n </div>\r\n\r\n <!-- Ara\u00E7 \u00C7\u0131k\u0131\u015F Tarihi / Saati -->\r\n <div class=\"mb-3\">\r\n <label class=\"form-label fw-semibold\">{{ 'Kadooglu::ExitDate' | abpLocalization }}</label>\r\n <dx-date-box\r\n [value]=\"exitDateTime\"\r\n type=\"datetime\"\r\n displayFormat=\"dd.MM.yyyy HH:mm\"\r\n [disabled]=\"true\"\r\n width=\"100%\">\r\n </dx-date-box>\r\n </div>\r\n\r\n <!-- Kamyon / Ara\u00E7 Plakas\u0131 -->\r\n <div class=\"mb-3\">\r\n <label class=\"form-label fw-semibold\">\r\n {{ 'Kadooglu::TruckPlate' | abpLocalization }}\r\n <span class=\"text-danger\">*</span>\r\n </label>\r\n <hit-lookup-select\r\n [loadFn]=\"loadTruckPlates\"\r\n [columns]=\"truckPlateColumns\"\r\n displayName=\"plateNo\"\r\n [editingData]=\"truckPlateNo\"\r\n [disabled]=\"isFormLocked\"\r\n (selected)=\"onTruckPlateSelected($event)\">\r\n </hit-lookup-select>\r\n </div>\r\n\r\n <!-- Dorse Plakas\u0131 -->\r\n <div class=\"mb-3\" *ngIf=\"trailerPlateNo\">\r\n <label class=\"form-label fw-semibold\">{{ 'Kadooglu::TrailerPlate' | abpLocalization }}</label>\r\n <hit-lookup-select\r\n [loadFn]=\"loadTrailerPlates\"\r\n [columns]=\"trailerPlateColumns\"\r\n displayName=\"plateNo\"\r\n [editingData]=\"trailerPlateNo\"\r\n [disabled]=\"isFormLocked\"\r\n (selected)=\"onTrailerPlateSelected($event)\">\r\n </hit-lookup-select>\r\n </div>\r\n\r\n <!-- S\u00FCr\u00FCc\u00FC Ad\u0131 -->\r\n <div class=\"mb-3\">\r\n <label class=\"form-label fw-semibold\">{{ 'Kadooglu::DriverName' | abpLocalization }}</label>\r\n <dx-text-box\r\n [(value)]=\"driverFullName\"\r\n [placeholder]=\"'Kadooglu::EnterDriverName' | abpLocalization\"\r\n [readOnly]=\"isFormLocked\"\r\n width=\"100%\">\r\n </dx-text-box>\r\n </div>\r\n\r\n <!-- TC Kimlik No -->\r\n <div class=\"mb-3\">\r\n <div class=\"d-flex align-items-center gap-2 mb-1\">\r\n <label class=\"form-label fw-semibold mb-0\">{{ isTcCitizen ? ('Kadooglu::TcIdentityNo' | abpLocalization) : 'Kimlik No' }}</label>\r\n <dx-check-box [(value)]=\"isTcCitizen\" text=\"T.C. Vatanda\u015F\u0131\"></dx-check-box>\r\n </div>\r\n <dx-text-box\r\n [(value)]=\"tcNo\"\r\n [placeholder]=\"isTcCitizen ? ('Kadooglu::TcIdentityNo' | abpLocalization) : 'Kimlik No'\"\r\n [readOnly]=\"isFormLocked\"\r\n width=\"100%\">\r\n </dx-text-box>\r\n </div>\r\n\r\n </div>\r\n <div class=\"col-md-6\">\r\n\r\n <!-- \u015Eof\u00F6r Kodu -->\r\n <div class=\"mb-3\">\r\n <label class=\"form-label fw-semibold\">{{ 'Kadooglu::DriverCode' | abpLocalization }}</label>\r\n <hit-lookup-select\r\n [loadFn]=\"loadDrivers\"\r\n [columns]=\"driverColumns\"\r\n displayName=\"name\"\r\n [editingData]=\"driverName\"\r\n [disabled]=\"isFormLocked\"\r\n (selected)=\"onDriverSelected($event)\">\r\n </hit-lookup-select>\r\n </div>\r\n\r\n <!-- Cari -->\r\n <div class=\"mb-3\">\r\n <label class=\"form-label fw-semibold\">{{ 'Kadooglu::BusinessPartner' | abpLocalization }}</label>\r\n <hit-lookup-select\r\n [loadFn]=\"loadAccounts\"\r\n [columns]=\"accountColumns\"\r\n displayName=\"title\"\r\n [editingData]=\"accountTitle\"\r\n [disabled]=\"isFormLocked\"\r\n (selected)=\"onAccountSelected($event)\">\r\n </hit-lookup-select>\r\n </div>\r\n\r\n <!-- Stok Nakli -->\r\n <div class=\"mb-3\">\r\n <label class=\"form-label fw-semibold\">\r\n {{ 'Kadooglu::WaybillNumber' | abpLocalization }}\r\n </label>\r\n <hit-lookup-select\r\n [loadFn]=\"loadWaybills\"\r\n [columns]=\"waybillColumns\"\r\n displayName=\"docNum\"\r\n keyExpr=\"docEntry\"\r\n [editingData]=\"waybillNo\"\r\n [disabled]=\"isFormLocked\"\r\n (selected)=\"onWaybillSelected($event)\">\r\n </hit-lookup-select>\r\n </div>\r\n\r\n <!-- Kantar Kodu -->\r\n <div class=\"mb-3\">\r\n <label class=\"form-label fw-semibold\">{{ 'Kadooglu::ScaleCode' | abpLocalization }}</label>\r\n <hit-lookup-select\r\n [loadFn]=\"loadScales\"\r\n [columns]=\"scaleColumns\"\r\n displayName=\"name\"\r\n [editingData]=\"scaleName\"\r\n [disabled]=\"isFormLocked\"\r\n (selected)=\"onScaleSelected($event)\">\r\n </hit-lookup-select>\r\n </div>\r\n\r\n <!-- Stok Kodu -->\r\n <div class=\"mb-3\">\r\n <label class=\"form-label fw-semibold\">{{ 'Kadooglu::ItemCode' | abpLocalization }}</label>\r\n <hit-lookup-select\r\n [loadFn]=\"loadStockItems\"\r\n [columns]=\"stockItemColumns\"\r\n displayName=\"name\"\r\n [editingData]=\"stockName\"\r\n [disabled]=\"isFormLocked\"\r\n (selected)=\"onStockItemSelected($event)\">\r\n </hit-lookup-select>\r\n </div>\r\n\r\n <!-- Konteyner Numaras\u0131 -->\r\n <div class=\"mb-3\">\r\n <label class=\"form-label fw-semibold\">{{ 'Kadooglu::ContainerNo' | abpLocalization }}</label>\r\n <dx-text-box\r\n [(value)]=\"containerNo\"\r\n [placeholder]=\"'Kadooglu::ManualEntry' | abpLocalization\"\r\n [readOnly]=\"isFormLocked\"\r\n width=\"100%\">\r\n </dx-text-box>\r\n </div>\r\n\r\n <!-- Kalk\u0131\u015F / Var\u0131\u015F Yeri -->\r\n <div class=\"row mb-3\">\r\n <div class=\"col-6\">\r\n <label class=\"form-label fw-semibold\">{{ 'Kadooglu::DeparturePlace' | abpLocalization }}</label>\r\n <dx-text-box\r\n [(value)]=\"departureLocation\"\r\n [disabled]=\"true\"\r\n [placeholder]=\"'Kadooglu::AutoFilledFromWaybill' | abpLocalization\"\r\n width=\"100%\">\r\n </dx-text-box>\r\n </div>\r\n <div class=\"col-6\">\r\n <label class=\"form-label fw-semibold\">{{ 'Kadooglu::ArrivalPlace' | abpLocalization }}</label>\r\n <dx-text-box\r\n [(value)]=\"arrivalLocation\"\r\n [disabled]=\"true\"\r\n width=\"100%\">\r\n </dx-text-box>\r\n </div>\r\n </div>\r\n\r\n <!-- A\u00E7\u0131klama -->\r\n <div class=\"mb-3\">\r\n <label class=\"form-label fw-semibold\">{{ 'Kadooglu::Description' | abpLocalization }}</label>\r\n <dx-text-area\r\n [(value)]=\"description\"\r\n [height]=\"70\"\r\n [readOnly]=\"isFormLocked\"\r\n width=\"100%\">\r\n </dx-text-area>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Phase 1 Alt Butonlar -->\r\n <div class=\"d-flex justify-content-between mt-3 mb-3\">\r\n <button class=\"btn btn-secondary\" (click)=\"goBack()\">\r\n <i class=\"fa fa-arrow-left me-1\"></i> {{ 'Kadooglu::Back' | abpLocalization }}\r\n </button>\r\n <div class=\"d-flex gap-2\">\r\n <abp-button\r\n *ngIf=\"!weighingMode && !isFormLocked\"\r\n iconClass=\"fa fa-save\"\r\n buttonType=\"button\"\r\n [loading]=\"isSaving\"\r\n (click)=\"save()\">\r\n {{ 'Kadooglu::Save' | abpLocalization }}\r\n </abp-button>\r\n <button class=\"btn btn-primary\" (click)=\"ileriGit()\">\r\n {{ 'Kadooglu::Next' | abpLocalization }} <i class=\"fa fa-arrow-right ms-1\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- ========== PHASE 2: Tart\u0131m Paneli ========== -->\r\n <div *ngIf=\"formPhase === 2 && !isFullyCompleted\">\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <div class=\"card\">\r\n <div class=\"card-header fw-bold\">\r\n <i class=\"fa fa-balance-scale me-2\"></i>{{ 'Kadooglu::WeighingPanel' | abpLocalization }}\r\n <span *ngIf=\"weighingMode\" class=\"badge ms-2\"\r\n [ngClass]=\"weighingMode === 'first' ? 'bg-warning text-dark' : 'bg-primary'\">\r\n {{ weighingModeLabel }}\r\n </span>\r\n </div>\r\n <div class=\"card-body\">\r\n\r\n <div class=\"row\">\r\n <div class=\"col-md-6 mx-auto\">\r\n\r\n <!-- Kantardaki De\u011Fer -->\r\n <div class=\"card bg-light mb-3\">\r\n <div class=\"card-body text-center py-4\">\r\n <div class=\"text-muted small mb-1\">{{ 'Kadooglu::ScaleValue' | abpLocalization }}</div>\r\n <div style=\"font-size: 2.5rem; font-weight: bold; letter-spacing: 0.05em;\">\r\n {{ currentScaleValue != null ? (currentScaleValue | number:'1.0-0') + ' kg' : '\u2014 kg' }}\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Tart\u0131m Yap butonu -->\r\n <button\r\n *ngIf=\"!isFullyCompleted\"\r\n class=\"btn btn-primary btn-lg w-100 mb-4\"\r\n (click)=\"doWeighing()\">\r\n <i class=\"fa fa-balance-scale me-2\"></i>\r\n {{ 'Kadooglu::PerformWeighing' | abpLocalization }}\r\n </button>\r\n\r\n <!-- \u0130lk Tart\u0131m -->\r\n <div class=\"mb-3\">\r\n <div class=\"text-muted small fw-semibold text-uppercase mb-1\">{{ 'Kadooglu::FirstWeighing' | abpLocalization }}</div>\r\n <div *ngIf=\"firstWeighingValue != null; else noFirstWeighing\" class=\"card card-body p-2\">\r\n <div class=\"d-flex justify-content-between align-items-center\">\r\n <span class=\"fw-bold fs-5\">{{ firstWeighingValue | number:'1.0-0' }} kg</span>\r\n <span class=\"text-muted small\">{{ 'Kadooglu::Operator' | abpLocalization }}: {{ firstOperatorCode }}</span>\r\n </div>\r\n </div>\r\n <ng-template #noFirstWeighing>\r\n <div class=\"card card-body p-2 text-muted text-center fst-italic\">{{ 'Kadooglu::NotYetDone' | abpLocalization }}</div>\r\n </ng-template>\r\n </div>\r\n\r\n <!-- Son Tart\u0131m -->\r\n <div class=\"mb-3\">\r\n <div class=\"text-muted small fw-semibold text-uppercase mb-1\">{{ 'Kadooglu::LastWeighing' | abpLocalization }}</div>\r\n <div *ngIf=\"lastWeighingValue != null; else noLastWeighing\" class=\"card card-body p-2\">\r\n <div class=\"d-flex justify-content-between align-items-center\">\r\n <span class=\"fw-bold fs-5\">{{ lastWeighingValue | number:'1.0-0' }} kg</span>\r\n <span class=\"text-muted small\">{{ 'Kadooglu::Operator' | abpLocalization }}: {{ lastOperatorCode }}</span>\r\n </div>\r\n </div>\r\n <ng-template #noLastWeighing>\r\n <div class=\"card card-body p-2 text-muted text-center fst-italic\">{{ 'Kadooglu::NotYetDone' | abpLocalization }}</div>\r\n </ng-template>\r\n </div>\r\n\r\n <!-- Net Y\u00FCk (sadece step=3'te g\u00F6ster) -->\r\n <div *ngIf=\"weighingStep === 3 && netWeight != null\" class=\"card border-success mb-3\">\r\n <div class=\"card-body text-center py-3\" style=\"background-color: rgba(25,135,84,0.08);\">\r\n <div class=\"text-success small fw-semibold text-uppercase mb-1\">{{ 'Kadooglu::NetWeight' | abpLocalization }}</div>\r\n <div class=\"text-success fw-bold\" style=\"font-size: 2rem;\">\r\n {{ netWeight | number:'1.0-0' }} kg\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Phase 2 Alt Butonlar -->\r\n <div class=\"d-flex justify-content-between mt-3 mb-3\">\r\n <button class=\"btn btn-secondary\" (click)=\"geriGitPhase()\">\r\n <i class=\"fa fa-arrow-left me-1\"></i> {{ 'Kadooglu::Back' | abpLocalization }}\r\n </button>\r\n <abp-button\r\n *ngIf=\"!isFullyCompleted\"\r\n iconClass=\"fa fa-save\"\r\n buttonType=\"button\"\r\n [loading]=\"isSaving\"\r\n (click)=\"save()\">\r\n {{ 'Kadooglu::Save' | abpLocalization }}\r\n </abp-button>\r\n </div>\r\n </div>\r\n\r\n <!-- ========== SUMMARY: Tamamland\u0131 G\u00F6r\u00FCn\u00FCm\u00FC ========== -->\r\n <div *ngIf=\"isFullyCompleted\">\r\n\r\n <!-- \u00DCst B\u00F6l\u00FCm \u2014 Tart\u0131m Sonu\u00E7 Kartlar\u0131 -->\r\n <div class=\"row mb-4\">\r\n <!-- \u0130lk Tart\u0131m -->\r\n <div class=\"col-md-4 mb-3 mb-md-0\">\r\n <div class=\"bg-white shadow-sm rounded py-3 px-4 h-100\" style=\"border-left: 4px solid #0d6efd;\">\r\n <div class=\"text-uppercase text-muted small fw-semibold mb-1\">{{ 'Kadooglu::FirstWeighing' | abpLocalization }}</div>\r\n <div class=\"fw-bold\" style=\"font-size: 1.75rem; letter-spacing: 0.02em;\">\r\n {{ firstWeighingValue != null ? (firstWeighingValue | number:'1.0-0') + ' kg' : '\u2014 kg' }}\r\n </div>\r\n <div class=\"text-muted small mt-1\">{{ 'Kadooglu::Operator' | abpLocalization }}: {{ firstOperatorCode || '\u2014' }}</div>\r\n </div>\r\n </div>\r\n <!-- Son Tart\u0131m -->\r\n <div class=\"col-md-4 mb-3 mb-md-0\">\r\n <div class=\"bg-white shadow-sm rounded py-3 px-4 h-100\" style=\"border-left: 4px solid #6f42c1;\">\r\n <div class=\"text-uppercase text-muted small fw-semibold mb-1\">{{ 'Kadooglu::LastWeighing' | abpLocalization }}</div>\r\n <div class=\"fw-bold\" style=\"font-size: 1.75rem; letter-spacing: 0.02em;\">\r\n {{ lastWeighingValue != null ? (lastWeighingValue | number:'1.0-0') + ' kg' : '\u2014 kg' }}\r\n </div>\r\n <div class=\"text-muted small mt-1\">{{ 'Kadooglu::Operator' | abpLocalization }}: {{ lastOperatorCode || '\u2014' }}</div>\r\n </div>\r\n </div>\r\n <!-- Net Y\u00FCk -->\r\n <div class=\"col-md-4\">\r\n <div class=\"shadow-sm rounded py-3 px-4 h-100\" style=\"border-left: 4px solid #198754; background: rgba(25,135,84,0.06);\">\r\n <div class=\"text-uppercase text-muted small fw-semibold mb-1\">{{ 'Kadooglu::NetWeight' | abpLocalization }}</div>\r\n <div class=\"fw-bold\" style=\"font-size: 1.75rem; letter-spacing: 0.02em; color: #198754;\">\r\n {{ netWeight != null ? (netWeight | number:'1.0-0') + ' kg' : '\u2014 kg' }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Alt B\u00F6l\u00FCm \u2014 Detay Bilgileri -->\r\n <div class=\"card shadow-sm\">\r\n <div class=\"card-header fw-bold\">\r\n <i class=\"fa fa-file-text me-2\"></i>{{ 'Kadooglu::RecordDetails' | abpLocalization }}\r\n </div>\r\n <div class=\"card-body\">\r\n <div class=\"row\">\r\n <!-- Sol S\u00FCtun -->\r\n <div class=\"col-md-6\">\r\n <div class=\"row mb-2 py-1\" style=\"border-bottom: 1px solid #f0f0f0;\">\r\n <div class=\"col-5 text-muted small fw-semibold\">{{ 'Kadooglu::Gate' | abpLocalization }}</div>\r\n <div class=\"col-7 fw-medium\">{{ gateName || '\u2014' }}</div>\r\n </div>\r\n <div class=\"row mb-2 py-1\" style=\"border-bottom: 1px solid #f0f0f0;\">\r\n <div class=\"col-5 text-muted small fw-semibold\">Ara\u00E7 Hareket T\u00FCr\u00FC</div>\r\n <div class=\"col-7 fw-medium\">{{ entryTypeName || '\u2014' }}</div>\r\n </div>\r\n <div class=\"row mb-2 py-1\" style=\"border-bottom: 1px solid #f0f0f0;\">\r\n <div class=\"col-5 text-muted small fw-semibold\">{{ 'Kadooglu::EntryDate' | abpLocalization }}</div>\r\n <div class=\"col-7 fw-medium\">{{ entryDate ? (entryDate | date:'dd.MM.yyyy') : '\u2014' }} {{ entryTime || '' }}</div>\r\n </div>\r\n <div class=\"row mb-2 py-1\" style=\"border-bottom: 1px solid #f0f0f0;\">\r\n <div class=\"col-5 text-muted small fw-semibold\">{{ 'Kadooglu::ExitDate' | abpLocalization }}</div>\r\n <div class=\"col-7 fw-medium\">{{ exitDate ? (exitDate | date:'dd.MM.yyyy') : '\u2014' }} {{ exitTime || '' }}</div>\r\n </div>\r\n <div class=\"row mb-2 py-1\" style=\"border-bottom: 1px solid #f0f0f0;\">\r\n <div class=\"col-5 text-muted small fw-semibold\">{{ 'Kadooglu::TruckPlate' | abpLocalization }}</div>\r\n <div class=\"col-7 fw-medium\">{{ truckPlateNo || '\u2014' }}</div>\r\n </div>\r\n <div class=\"row mb-2 py-1\" style=\"border-bottom: 1px solid #f0f0f0;\">\r\n <div class=\"col-5 text-muted small fw-semibold\">{{ 'Kadooglu::TrailerPlate' | abpLocalization }}</div>\r\n <div class=\"col-7 fw-medium\">{{ trailerPlateNo || '\u2014' }}</div>\r\n </div>\r\n <div class=\"row mb-2 py-1\" style=\"border-bottom: 1px solid #f0f0f0;\">\r\n <div class=\"col-5 text-muted small fw-semibold\">{{ 'Kadooglu::DriverName' | abpLocalization }}</div>\r\n <div class=\"col-7 fw-medium\">{{ driverFullName || '\u2014' }}</div>\r\n </div>\r\n <div class=\"row mb-2 py-1\" style=\"border-bottom: 1px solid #f0f0f0;\">\r\n <div class=\"col-5 text-muted small fw-semibold\">{{ 'Kadooglu::TcIdentityNo' | abpLocalization }}</div>\r\n <div class=\"col-7 fw-medium\">{{ tcNo || '\u2014' }}</div>\r\n </div>\r\n </div>\r\n <!-- Sa\u011F S\u00FCtun -->\r\n <div class=\"col-md-6\">\r\n <div class=\"row mb-2 py-1\" style=\"border-bottom: 1px solid #f0f0f0;\">\r\n <div class=\"col-5 text-muted small fw-semibold\">{{ 'Kadooglu::DriverCode' | abpLocalization }}</div>\r\n <div class=\"col-7 fw-medium\">{{ driverName || '\u2014' }}</div>\r\n </div>\r\n <div class=\"row mb-2 py-1\" style=\"border-bottom: 1px solid #f0f0f0;\">\r\n <div class=\"col-5 text-muted small fw-semibold\">{{ 'Kadooglu::BusinessPartner' | abpLocalization }}</div>\r\n <div class=\"col-7 fw-medium\">{{ accountTitle || '\u2014' }}</div>\r\n </div>\r\n <div class=\"row mb-2 py-1\" style=\"border-bottom: 1px solid #f0f0f0;\">\r\n <div class=\"col-5 text-muted small fw-semibold\">{{ 'Kadooglu::WaybillNumber' | abpLocalization }}</div>\r\n <div class=\"col-7 fw-medium\">{{ waybillNo || '\u2014' }}</div>\r\n </div>\r\n <div class=\"row mb-2 py-1\" style=\"border-bottom: 1px solid #f0f0f0;\">\r\n <div class=\"col-5 text-muted small fw-semibold\">{{ 'Kadooglu::ScaleCode' | abpLocalization }}</div>\r\n <div class=\"col-7 fw-medium\">{{ scaleName || '\u2014' }}</div>\r\n </div>\r\n <div class=\"row mb-2 py-1\" style=\"border-bottom: 1px solid #f0f0f0;\">\r\n <div class=\"col-5 text-muted small fw-semibold\">{{ 'Kadooglu::ItemCode' | abpLocalization }}</div>\r\n <div class=\"col-7 fw-medium\">{{ stockName || '\u2014' }}</div>\r\n </div>\r\n <div class=\"row mb-2 py-1\" style=\"border-bottom: 1px solid #f0f0f0;\">\r\n <div class=\"col-5 text-muted small fw-semibold\">{{ 'Kadooglu::ContainerNo' | abpLocalization }}</div>\r\n <div class=\"col-7 fw-medium\">{{ containerNo || '\u2014' }}</div>\r\n </div>\r\n <div class=\"row mb-2 py-1\" style=\"border-bottom: 1px solid #f0f0f0;\">\r\n <div class=\"col-5 text-muted small fw-semibold\">{{ 'Kadooglu::DepartureToArrival' | abpLocalization }}</div>\r\n <div class=\"col-7 fw-medium\">{{ (departureLocation || '\u2014') + ' \u2192 ' + (arrivalLocation || '\u2014') }}</div>\r\n </div>\r\n <div class=\"row mb-2 py-1\" style=\"border-bottom: 1px solid #f0f0f0;\">\r\n <div class=\"col-5 text-muted small fw-semibold\">{{ 'Kadooglu::Description' | abpLocalization }}</div>\r\n <div class=\"col-7 fw-medium\">{{ description || '\u2014' }}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Alt Butonlar -->\r\n <div class=\"d-flex justify-content-between mt-3 mb-3\">\r\n <button class=\"btn btn-secondary\" (click)=\"goBack()\">\r\n <i class=\"fa fa-arrow-left me-1\"></i> {{ 'Kadooglu::BackToList' | abpLocalization }}\r\n </button>\r\n <button\r\n *ngIf=\"entryTypeMalGC && record?.u_Status === '2'\"\r\n class=\"btn btn-warning\"\r\n type=\"button\"\r\n [disabled]=\"isDoingGoodsMovement\"\r\n (click)=\"doGoodsMovement()\">\r\n <i [class]=\"isDoingGoodsMovement ? 'fa fa-spinner fa-spin me-1' : 'fa fa-exchange me-1'\" aria-hidden=\"true\"></i>\r\n {{ 'Kadooglu::MalGcYap' | abpLocalization }}\r\n </button>\r\n </div>\r\n </div>\r\n\r\n</abp-page>\r\n" }]
1817
+ }], ctorParameters: function () { return [{ type: HitEntryWeighingService }, { type: HitStockTransferService }, { type: i2$1.ConfirmationService }, { type: i2$1.ToasterService }, { type: i1$1.ActivatedRoute }, { type: i1$1.Router }, { type: i1.LocalizationService }]; } });
1818
+
1819
+ const routes$7 = [
1820
+ { path: '', component: HitEntryWeighingListComponent },
1821
+ { path: 'new', component: HitEntryWeighingFormComponent },
1822
+ { path: ':id', component: HitEntryWeighingFormComponent },
1823
+ ];
1824
+ class HitEntryWeighingRoutingModule {
1825
+ }
1826
+ HitEntryWeighingRoutingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitEntryWeighingRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1827
+ HitEntryWeighingRoutingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: HitEntryWeighingRoutingModule, imports: [i1$1.RouterModule], exports: [RouterModule] });
1828
+ HitEntryWeighingRoutingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitEntryWeighingRoutingModule, imports: [RouterModule.forChild(routes$7), RouterModule] });
1829
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitEntryWeighingRoutingModule, decorators: [{
1830
+ type: NgModule,
1831
+ args: [{
1832
+ imports: [RouterModule.forChild(routes$7)],
1833
+ exports: [RouterModule],
1834
+ }]
1835
+ }] });
1836
+
1837
+ class HitEntryWeighingModule {
1838
+ }
1839
+ HitEntryWeighingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitEntryWeighingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1840
+ HitEntryWeighingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: HitEntryWeighingModule, declarations: [HitEntryWeighingListComponent, HitEntryWeighingFormComponent], imports: [CommonModule,
1841
+ FormsModule,
1842
+ CoreModule,
1843
+ ThemeSharedModule,
1844
+ PageModule,
1845
+ CommercialUiModule,
1846
+ HitEntryWeighingRoutingModule,
1847
+ HitUIModule,
1848
+ DxDataGridModule,
1849
+ DxDateBoxModule,
1850
+ DxTextBoxModule,
1851
+ DxTextAreaModule,
1852
+ DxNumberBoxModule,
1853
+ DxButtonModule,
1854
+ NgbDropdownModule,
1855
+ DxCheckBoxModule] });
1856
+ HitEntryWeighingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitEntryWeighingModule, imports: [CommonModule,
1857
+ FormsModule,
1858
+ CoreModule,
1859
+ ThemeSharedModule,
1860
+ PageModule,
1861
+ CommercialUiModule,
1862
+ HitEntryWeighingRoutingModule,
1863
+ HitUIModule,
1864
+ DxDataGridModule,
1865
+ DxDateBoxModule,
1866
+ DxTextBoxModule,
1867
+ DxTextAreaModule,
1868
+ DxNumberBoxModule,
1869
+ DxButtonModule,
1870
+ NgbDropdownModule,
1871
+ DxCheckBoxModule] });
1872
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitEntryWeighingModule, decorators: [{
1873
+ type: NgModule,
1874
+ args: [{
1875
+ declarations: [HitEntryWeighingListComponent, HitEntryWeighingFormComponent],
1876
+ imports: [
1877
+ CommonModule,
1878
+ FormsModule,
1879
+ CoreModule,
1880
+ ThemeSharedModule,
1881
+ PageModule,
1882
+ CommercialUiModule,
1883
+ HitEntryWeighingRoutingModule,
1884
+ HitUIModule,
1885
+ DxDataGridModule,
1886
+ DxDateBoxModule,
1887
+ DxTextBoxModule,
1888
+ DxTextAreaModule,
1889
+ DxNumberBoxModule,
1890
+ DxButtonModule,
1891
+ NgbDropdownModule,
1892
+ DxCheckBoxModule
1893
+ ],
1894
+ }]
1895
+ }] });
1896
+ function loadHitEntryWeighingModuleAsChild() {
1897
+ return Promise.resolve(HitEntryWeighingModule);
1898
+ }
1899
+
1900
+ class HitWarehouseService {
1901
+ constructor(restService) {
1902
+ this.restService = restService;
1903
+ this.apiName = 'Kadooglu';
1904
+ this.baseUrl = '/api/entegration-service/warehouses';
1905
+ }
1906
+ getList() {
1907
+ return this.restService.request({ method: 'GET', url: this.baseUrl }, { apiName: this.apiName }).pipe(map$1(response => response?.items ?? []));
1908
+ }
1909
+ }
1910
+ HitWarehouseService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitWarehouseService, deps: [{ token: i1.RestService }], target: i0.ɵɵFactoryTarget.Injectable });
1911
+ HitWarehouseService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitWarehouseService, providedIn: 'root' });
1912
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitWarehouseService, decorators: [{
1913
+ type: Injectable,
1914
+ args: [{ providedIn: 'root' }]
1915
+ }], ctorParameters: function () { return [{ type: i1.RestService }]; } });
1916
+
1917
+ class HitVehicleTypeFormComponent {
1918
+ constructor(service, warehouseService, confirmation) {
1919
+ this.service = service;
1920
+ this.warehouseService = warehouseService;
1921
+ this.confirmation = confirmation;
1922
+ this.visible = false;
1923
+ this.visibleChange = new EventEmitter();
1924
+ this.record = null;
1925
+ this.saved = new EventEmitter();
1926
+ this.cancelled = new EventEmitter();
1927
+ this.code = '';
1928
+ this.name = '';
1929
+ this.trtmYpilck = false;
1930
+ this.malGC = false;
1931
+ this.sourceWH = '';
1932
+ this.targetWH = '';
1933
+ this.isActive = false;
1934
+ this.isLoading = false;
1935
+ this.warehouseData = [];
1936
+ this.warehouseColumns = [
1937
+ { dataField: 'warehouseCode', caption: 'Kod', width: 120 },
1938
+ { dataField: 'warehouseName', caption: 'Depo Adı' },
1939
+ ];
1940
+ }
1941
+ ngOnInit() {
1942
+ this.warehouseService.getList().subscribe(d => (this.warehouseData = d));
1943
+ }
1944
+ ngOnChanges(changes) {
1945
+ if (changes['visible']?.currentValue === true) {
1946
+ this.initForm();
1947
+ }
1948
+ }
1949
+ initForm() {
1950
+ if (this.record) {
1951
+ this.code = this.record.code;
1952
+ this.name = this.record.name;
1953
+ this.trtmYpilck = this.record.u_TrtmYpilck === 'Y';
1954
+ this.malGC = this.record.u_MalGC === 'Y';
1955
+ this.sourceWH = this.record.u_SourceWH ?? '';
1956
+ this.targetWH = this.record.u_TargetWH ?? '';
1957
+ this.isActive = this.record.u_Active === 'Y';
1958
+ }
1959
+ else {
1960
+ this.code = '';
1961
+ this.name = '';
1962
+ this.trtmYpilck = false;
1963
+ this.malGC = false;
1964
+ this.sourceWH = '';
1965
+ this.targetWH = '';
1966
+ this.isActive = true;
1967
+ }
1968
+ }
1969
+ onSourceWHSelected(wh) {
1970
+ this.sourceWH = wh.warehouseCode;
1971
+ }
1972
+ onTargetWHSelected(wh) {
1973
+ this.targetWH = wh.warehouseCode;
1974
+ }
1975
+ save() {
1976
+ if (!this.code || !this.name) {
1977
+ this.confirmation.warn('Lütfen Kod ve Ad alanlarını doldurunuz.', '', {
1978
+ hideYesBtn: true,
1979
+ cancelText: 'Kapat',
1980
+ dismissible: false,
1981
+ });
1982
+ return;
1983
+ }
1984
+ if (this.malGC && (!this.sourceWH || !this.targetWH)) {
1985
+ this.confirmation.warn('Mal G/Ç yapılacak araç türleri için Kaynak ve Hedef Depo zorunludur.', '', {
1986
+ hideYesBtn: true,
1987
+ cancelText: 'Kapat',
1988
+ dismissible: false,
1989
+ });
1990
+ return;
1991
+ }
1992
+ if (this.malGC && this.sourceWH && this.targetWH && this.sourceWH === this.targetWH) {
1993
+ this.confirmation.warn('Kaynak Depo ve Hedef Depo aynı olamaz.', '', {
1994
+ hideYesBtn: true,
1995
+ cancelText: 'Kapat',
1996
+ dismissible: false,
1997
+ });
1998
+ return;
1999
+ }
2000
+ const dto = {
2001
+ code: this.code,
2002
+ name: this.name,
2003
+ u_TrtmYpilck: this.trtmYpilck ? 'Y' : 'N',
2004
+ u_MalGC: this.malGC ? 'Y' : 'N',
2005
+ u_SourceWH: this.sourceWH,
2006
+ u_TargetWH: this.targetWH,
2007
+ u_Active: this.isActive ? 'Y' : 'N',
2008
+ };
2009
+ const obs$ = this.record?.code
2010
+ ? this.service.update(this.record.code, dto)
2011
+ : this.service.create(dto);
2012
+ this.isLoading = true;
2013
+ obs$.subscribe({
2014
+ next: () => {
2015
+ this.isLoading = false;
2016
+ this.saved.emit();
2017
+ },
2018
+ error: () => {
2019
+ this.isLoading = false;
2020
+ },
2021
+ });
2022
+ }
2023
+ onModalVisibleChange(val) {
2024
+ this.visible = val;
2025
+ this.visibleChange.emit(val);
2026
+ if (!val) {
2027
+ this.cancelled.emit();
2028
+ }
2029
+ }
2030
+ cancel() {
2031
+ this.onModalVisibleChange(false);
2032
+ }
2033
+ }
2034
+ HitVehicleTypeFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitVehicleTypeFormComponent, deps: [{ token: HitVehicleTypeService }, { token: HitWarehouseService }, { token: i2$1.ConfirmationService }], target: i0.ɵɵFactoryTarget.Component });
2035
+ HitVehicleTypeFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: HitVehicleTypeFormComponent, selector: "lib-hit-vehicle-type-form", inputs: { visible: "visible", record: "record" }, outputs: { visibleChange: "visibleChange", saved: "saved", cancelled: "cancelled" }, usesOnChanges: true, ngImport: i0, template: "<abp-modal [visible]=\"visible\" (visibleChange)=\"onModalVisibleChange($event)\" [options]=\"{ size: 'lg', backdrop: 'static' }\">\r\n <ng-template #abpHeader>\r\n <h3>{{ record?.code ? ('AbpUi::Edit' | abpLocalization) : ('Kadooglu::NewRecord' | abpLocalization) }}</h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <div class=\"border rounded p-3 mb-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-truck me-2\"></i>{{ 'Kadooglu::BasicInfo' | abpLocalization }}\r\n </div>\r\n <div class=\"row mb-3\">\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::Code' | abpLocalization }} <span class=\"text-danger\">*</span></label>\r\n <dx-text-box [(value)]=\"code\" [disabled]=\"!!record?.code\" placeholder=\"Ara\u00E7 hareket t\u00FCr\u00FC kodu\" width=\"100%\"></dx-text-box>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::Name' | abpLocalization }} <span class=\"text-danger\">*</span></label>\r\n <dx-text-box [(value)]=\"name\" placeholder=\"Ara\u00E7 hareket t\u00FCr\u00FC ad\u0131\" width=\"100%\"></dx-text-box>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-12 mb-2\">\r\n <dx-check-box [(value)]=\"trtmYpilck\" [text]=\"'Kadooglu::IsWeighingRequired' | abpLocalization\"></dx-check-box>\r\n </div>\r\n <div class=\"col-md-12\">\r\n <dx-check-box [(value)]=\"malGC\" text=\"Mal G/\u00C7 Yap\u0131lacak M\u0131?\"></dx-check-box>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"malGC\" class=\"border rounded p-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-warehouse me-2\"></i>{{ 'Kadooglu::WarehouseSettings' | abpLocalization }}\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::SourceWarehouse' | abpLocalization }}</label>\r\n <hit-lookup-select\r\n [getFn]=\"warehouseData\"\r\n [columns]=\"warehouseColumns\"\r\n displayName=\"warehouseCode\"\r\n keyExpr=\"warehouseCode\"\r\n [editingData]=\"sourceWH\"\r\n (selected)=\"onSourceWHSelected($event)\">\r\n </hit-lookup-select>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::TargetWarehouse' | abpLocalization }}</label>\r\n <hit-lookup-select\r\n [getFn]=\"warehouseData\"\r\n [columns]=\"warehouseColumns\"\r\n displayName=\"warehouseCode\"\r\n keyExpr=\"warehouseCode\"\r\n [editingData]=\"targetWH\"\r\n (selected)=\"onTargetWHSelected($event)\">\r\n </hit-lookup-select>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Durum -->\r\n <div class=\"border rounded p-3 mt-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-toggle-on me-2\"></i>{{ 'Kadooglu::Status' | abpLocalization }}\r\n </div>\r\n <dx-check-box [(value)]=\"isActive\" [text]=\"'Kadooglu::IsActive' | abpLocalization\"></dx-check-box>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #abpFooter>\r\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"cancel()\">\r\n {{ 'AbpUi::Cancel' | abpLocalization }}\r\n </button>\r\n <abp-button iconClass=\"fa fa-save\" buttonType=\"button\" [loading]=\"isLoading\" (click)=\"save()\">\r\n {{ 'AbpUi::Save' | abpLocalization }}\r\n </abp-button>\r\n </ng-template>\r\n</abp-modal>\r\n", dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$1.ButtonComponent, selector: "abp-button", inputs: ["buttonId", "buttonClass", "buttonType", "formName", "iconClass", "loading", "disabled", "attributes"], outputs: ["click", "focus", "blur", "abpClick", "abpFocus", "abpBlur"] }, { kind: "component", type: i2$1.ModalComponent, selector: "abp-modal", inputs: ["visible", "busy", "options", "suppressUnsavedChangesWarning"], outputs: ["visibleChange", "init", "appear", "disappear"] }, { kind: "component", type: HitModalComponent, selector: "hit-lookup-select", inputs: ["displayName", "keyExpr", "modalSize", "getFn", "loadFn", "columns", "isVisible", "disabled", "editingData"], outputs: ["selected"] }, { kind: "component", type: i5.DxTextBoxComponent, selector: "dx-text-box", inputs: ["accessKey", "activeStateEnabled", "buttons", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "inputAttr", "isValid", "label", "labelMode", "mask", "maskChar", "maskInvalidMessage", "maskRules", "maxLength", "mode", "name", "placeholder", "readOnly", "rtlEnabled", "showClearButton", "showMaskMode", "spellcheck", "stylingMode", "tabIndex", "text", "useMaskedValue", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "valueChangeEvent", "visible", "width"], outputs: ["onChange", "onContentReady", "onCopy", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onKeyDown", "onKeyUp", "onOptionChanged", "onPaste", "onValueChanged", "accessKeyChange", "activeStateEnabledChange", "buttonsChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "isValidChange", "labelChange", "labelModeChange", "maskChange", "maskCharChange", "maskInvalidMessageChange", "maskRulesChange", "maxLengthChange", "modeChange", "nameChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "showClearButtonChange", "showMaskModeChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "useMaskedValueChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "visibleChange", "widthChange", "onBlur"] }, { kind: "component", type: i5.DxCheckBoxComponent, selector: "dx-check-box", inputs: ["accessKey", "activeStateEnabled", "disabled", "elementAttr", "enableThreeStateBehavior", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "iconSize", "isValid", "name", "readOnly", "rtlEnabled", "tabIndex", "text", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "visible", "width"], outputs: ["onContentReady", "onDisposing", "onInitialized", "onOptionChanged", "onValueChanged", "accessKeyChange", "activeStateEnabledChange", "disabledChange", "elementAttrChange", "enableThreeStateBehaviorChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "iconSizeChange", "isValidChange", "nameChange", "readOnlyChange", "rtlEnabledChange", "tabIndexChange", "textChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "visibleChange", "widthChange", "onBlur"] }, { kind: "pipe", type: i1.LocalizationPipe, name: "abpLocalization" }] });
2036
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitVehicleTypeFormComponent, decorators: [{
2037
+ type: Component,
2038
+ args: [{ selector: 'lib-hit-vehicle-type-form', template: "<abp-modal [visible]=\"visible\" (visibleChange)=\"onModalVisibleChange($event)\" [options]=\"{ size: 'lg', backdrop: 'static' }\">\r\n <ng-template #abpHeader>\r\n <h3>{{ record?.code ? ('AbpUi::Edit' | abpLocalization) : ('Kadooglu::NewRecord' | abpLocalization) }}</h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <div class=\"border rounded p-3 mb-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-truck me-2\"></i>{{ 'Kadooglu::BasicInfo' | abpLocalization }}\r\n </div>\r\n <div class=\"row mb-3\">\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::Code' | abpLocalization }} <span class=\"text-danger\">*</span></label>\r\n <dx-text-box [(value)]=\"code\" [disabled]=\"!!record?.code\" placeholder=\"Ara\u00E7 hareket t\u00FCr\u00FC kodu\" width=\"100%\"></dx-text-box>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::Name' | abpLocalization }} <span class=\"text-danger\">*</span></label>\r\n <dx-text-box [(value)]=\"name\" placeholder=\"Ara\u00E7 hareket t\u00FCr\u00FC ad\u0131\" width=\"100%\"></dx-text-box>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-12 mb-2\">\r\n <dx-check-box [(value)]=\"trtmYpilck\" [text]=\"'Kadooglu::IsWeighingRequired' | abpLocalization\"></dx-check-box>\r\n </div>\r\n <div class=\"col-md-12\">\r\n <dx-check-box [(value)]=\"malGC\" text=\"Mal G/\u00C7 Yap\u0131lacak M\u0131?\"></dx-check-box>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"malGC\" class=\"border rounded p-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-warehouse me-2\"></i>{{ 'Kadooglu::WarehouseSettings' | abpLocalization }}\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::SourceWarehouse' | abpLocalization }}</label>\r\n <hit-lookup-select\r\n [getFn]=\"warehouseData\"\r\n [columns]=\"warehouseColumns\"\r\n displayName=\"warehouseCode\"\r\n keyExpr=\"warehouseCode\"\r\n [editingData]=\"sourceWH\"\r\n (selected)=\"onSourceWHSelected($event)\">\r\n </hit-lookup-select>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::TargetWarehouse' | abpLocalization }}</label>\r\n <hit-lookup-select\r\n [getFn]=\"warehouseData\"\r\n [columns]=\"warehouseColumns\"\r\n displayName=\"warehouseCode\"\r\n keyExpr=\"warehouseCode\"\r\n [editingData]=\"targetWH\"\r\n (selected)=\"onTargetWHSelected($event)\">\r\n </hit-lookup-select>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Durum -->\r\n <div class=\"border rounded p-3 mt-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-toggle-on me-2\"></i>{{ 'Kadooglu::Status' | abpLocalization }}\r\n </div>\r\n <dx-check-box [(value)]=\"isActive\" [text]=\"'Kadooglu::IsActive' | abpLocalization\"></dx-check-box>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #abpFooter>\r\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"cancel()\">\r\n {{ 'AbpUi::Cancel' | abpLocalization }}\r\n </button>\r\n <abp-button iconClass=\"fa fa-save\" buttonType=\"button\" [loading]=\"isLoading\" (click)=\"save()\">\r\n {{ 'AbpUi::Save' | abpLocalization }}\r\n </abp-button>\r\n </ng-template>\r\n</abp-modal>\r\n" }]
2039
+ }], ctorParameters: function () { return [{ type: HitVehicleTypeService }, { type: HitWarehouseService }, { type: i2$1.ConfirmationService }]; }, propDecorators: { visible: [{
2040
+ type: Input
2041
+ }], visibleChange: [{
2042
+ type: Output
2043
+ }], record: [{
2044
+ type: Input
2045
+ }], saved: [{
2046
+ type: Output
2047
+ }], cancelled: [{
2048
+ type: Output
2049
+ }] } });
2050
+
2051
+ class HitVehicleTypeListComponent {
2052
+ constructor(service, confirmation) {
2053
+ this.service = service;
2054
+ this.confirmation = confirmation;
2055
+ this.allData = [];
2056
+ this.filteredData = [];
2057
+ this.filterCode = '';
2058
+ this.filterName = '';
2059
+ this.showForm = false;
2060
+ this.disabledIdColumn = false;
2061
+ this.selectedRecord = null;
2062
+ }
2063
+ ngOnInit() {
2064
+ this.loadList();
2065
+ }
2066
+ onToolbarPreparing(e) {
2067
+ e.toolbarOptions.items.unshift({
2068
+ location: 'after',
2069
+ widget: 'dxButton',
2070
+ options: {
2071
+ icon: 'plus',
2072
+ text: 'Yeni Kayıt',
2073
+ type: 'default',
2074
+ onClick: () => this.yeniKayit(),
2075
+ },
2076
+ });
2077
+ }
2078
+ loadList() {
2079
+ this.service.getList().subscribe(data => {
2080
+ this.allData = data;
2081
+ this.filteredData = [...data];
2082
+ });
2083
+ }
2084
+ bul() {
2085
+ this.filteredData = this.allData.filter(x => {
2086
+ if (this.filterCode && !x.code?.toLowerCase().includes(this.filterCode.toLowerCase())) {
2087
+ return false;
2088
+ }
2089
+ if (this.filterName && !x.name?.toLowerCase().includes(this.filterName.toLowerCase())) {
2090
+ return false;
2091
+ }
2092
+ return true;
2093
+ });
2094
+ }
2095
+ temizle() {
2096
+ this.filterCode = '';
2097
+ this.filterName = '';
2098
+ this.filteredData = [...this.allData];
2099
+ }
2100
+ yeniKayit() {
2101
+ this.selectedRecord = null;
2102
+ this.showForm = true;
2103
+ }
2104
+ duzenle(row) {
2105
+ this.selectedRecord = { ...row };
2106
+ this.showForm = true;
2107
+ }
2108
+ sil(row) {
2109
+ this.confirmation
2110
+ .warn(`"${row.name}" araç türünü silmek istediğinize emin misiniz?`, '', {
2111
+ yesText: 'Evet',
2112
+ cancelText: 'Hayır',
2113
+ })
2114
+ .subscribe(status => {
2115
+ if (status === 'confirm') {
2116
+ this.service.delete(row.code).subscribe(() => this.loadList());
2117
+ }
2118
+ });
2119
+ }
2120
+ onFormSaved() {
2121
+ this.showForm = false;
2122
+ this.loadList();
2123
+ }
2124
+ onFormCancelled() {
2125
+ this.showForm = false;
2126
+ }
2127
+ }
2128
+ HitVehicleTypeListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitVehicleTypeListComponent, deps: [{ token: HitVehicleTypeService }, { token: i2$1.ConfirmationService }], target: i0.ɵɵFactoryTarget.Component });
2129
+ HitVehicleTypeListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: HitVehicleTypeListComponent, selector: "lib-hit-vehicle-type-list", ngImport: i0, template: "<abp-page [breadcrumb]=\"false\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"row align-items-center\">\r\n <div class=\"col\">\r\n <h3 class=\"page-title\">Ara\u00E7 Hareket T\u00FCrleri</h3>\r\n </div>\r\n </div>\r\n </abp-page-toolbar-container>\r\n\r\n <div class=\"card mt-2\">\r\n <div class=\"card-body\">\r\n\r\n <dx-data-grid\r\n [dataSource]=\"filteredData\"\r\n [columnAutoWidth]=\"true\"\r\n [showBorders]=\"true\"\r\n [showRowLines]=\"true\"\r\n [hoverStateEnabled]=\"true\"\r\n [allowColumnResizing]=\"true\"\r\n columnResizingMode=\"widget\"\r\n [rowAlternationEnabled]=\"true\"\r\n (onToolbarPreparing)=\"onToolbarPreparing($event)\"\r\n keyExpr=\"code\"\r\n style=\"height: calc(100vh - 320px);\">\r\n\r\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\r\n <dxo-header-filter [visible]=\"true\"></dxo-header-filter>\r\n <dxo-search-panel [visible]=\"true\" [width]=\"200\" [placeholder]=\"'Kadooglu::Ara' | abpLocalization\"></dxo-search-panel>\r\n\r\n <dxo-pager\r\n [visible]=\"true\"\r\n [showInfo]=\"true\"\r\n [allowedPageSizes]=\"[10, 20, 50]\"\r\n [showPageSizeSelector]=\"true\"\r\n [showNavigationButtons]=\"true\">\r\n </dxo-pager>\r\n <dxo-paging [pageSize]=\"10\"></dxo-paging>\r\n <dxi-column [fixed]=\"true\" dataField=\"id\" width=\"120\" [allowGrouping]=\"false\" [allowFiltering]=\"false\"\r\n [allowHeaderFiltering]=\"false\" [allowHiding]=\"false\" [allowReordering]=\"false\"\r\n cellTemplate=\"operationTemplate\" caption=\"{{ 'AbpUi::Actions' | abpLocalization }}\">\r\n <div *dxTemplate=\"let row of 'operationTemplate'\">\r\n <div ngbDropdown container=\"body\" class=\"d-inline-block\">\r\n <button class=\"btn btn-primary btn-sm dropdown-toggle\" data-toggle=\"dropdown\"\r\n aria-haspopup=\"true\" ngbDropdownToggle [disabled]=\"disabledIdColumn\">\r\n <i class=\"fa fa-cog mr-1\" aria-hidden=\"true\"></i>\r\n {{ 'AbpUi::Actions' | abpLocalization }}\r\n </button>\r\n <div ngbDropdownMenu>\r\n <button ngbDropdownItem (click)=\"duzenle(row.data)\">\r\n <i class=\"fa fa-edit\" aria-hidden=\"true\"></i> {{ 'AbpUi::Edit' | abpLocalization }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </dxi-column>\r\n\r\n <dxi-column dataField=\"code\" caption=\"{{ 'Kadooglu::Code' | abpLocalization }}\" [width]=\"150\"></dxi-column>\r\n <dxi-column dataField=\"name\" caption=\"{{ 'Kadooglu::Name' | abpLocalization }}\"></dxi-column>\r\n <dxi-column dataField=\"u_SourceWH\" caption=\"{{ 'Kadooglu::SourceWarehouse' | abpLocalization }}\" [width]=\"130\"></dxi-column>\r\n <dxi-column dataField=\"u_TargetWH\" caption=\"{{ 'Kadooglu::TargetWarehouse' | abpLocalization }}\" [width]=\"130\"></dxi-column>\r\n <dxi-column\r\n dataField=\"u_TrtmYpilck\"\r\n caption=\"{{ 'Kadooglu::WeighingStep' | abpLocalization }}\"\r\n [width]=\"90\"\r\n cellTemplate=\"trtmTemplate\"\r\n [allowFiltering]=\"false\">\r\n </dxi-column>\r\n <dxi-column\r\n dataField=\"u_MalGC\"\r\n caption=\"G/\u00C7 Yap\u0131lacak m\u0131?\"\r\n [width]=\"130\"\r\n cellTemplate=\"malGcTemplate\"\r\n [allowFiltering]=\"false\">\r\n </dxi-column>\r\n <dxi-column dataField=\"u_Active\" caption=\"{{ 'Kadooglu::IsActive' | abpLocalization }}\" [width]=\"80\"></dxi-column>\r\n\r\n <div *dxTemplate=\"let cell of 'trtmTemplate'\">\r\n <i class=\"fa\" [ngClass]=\"cell.value === 'Y' ? 'fa-check text-success' : 'fa-times text-secondary'\"></i>\r\n </div>\r\n <div *dxTemplate=\"let cell of 'malGcTemplate'\">\r\n <i class=\"fa\" [ngClass]=\"cell.value === 'Y' ? 'fa-check text-success' : 'fa-times text-secondary'\"></i>\r\n </div>\r\n </dx-data-grid>\r\n\r\n </div>\r\n </div>\r\n</abp-page>\r\n\r\n<lib-hit-vehicle-type-form\r\n [(visible)]=\"showForm\"\r\n [record]=\"selectedRecord\"\r\n (saved)=\"onFormSaved()\"\r\n (cancelled)=\"onFormCancelled()\">\r\n</lib-hit-vehicle-type-form>\r\n", dependencies: [{ kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i4.PageComponent, selector: "abp-page", inputs: ["title", "toolbar", "breadcrumb"] }, { kind: "component", type: i4.PageToolbarContainerComponent, selector: "abp-page-toolbar-container" }, { kind: "component", type: i5.DxDataGridComponent, selector: "dx-data-grid", inputs: ["accessKey", "activeStateEnabled", "allowColumnReordering", "allowColumnResizing", "autoNavigateToFocusedRow", "cacheEnabled", "cellHintEnabled", "columnAutoWidth", "columnChooser", "columnFixing", "columnHidingEnabled", "columnMinWidth", "columnResizingMode", "columns", "columnWidth", "customizeColumns", "dataRowTemplate", "dataSource", "dateSerializationFormat", "disabled", "editing", "elementAttr", "errorRowEnabled", "export", "filterBuilder", "filterBuilderPopup", "filterPanel", "filterRow", "filterSyncEnabled", "filterValue", "focusedColumnIndex", "focusedRowEnabled", "focusedRowIndex", "focusedRowKey", "grouping", "groupPanel", "headerFilter", "height", "highlightChanges", "hint", "hoverStateEnabled", "keyboardNavigation", "keyExpr", "loadPanel", "masterDetail", "noDataText", "pager", "paging", "remoteOperations", "renderAsync", "repaintChangesOnly", "rowAlternationEnabled", "rowDragging", "rowTemplate", "rtlEnabled", "scrolling", "searchPanel", "selectedRowKeys", "selection", "selectionFilter", "showBorders", "showColumnHeaders", "showColumnLines", "showRowLines", "sortByGroupSummaryInfo", "sorting", "stateStoring", "summary", "syncLookupFilterValues", "tabIndex", "toolbar", "twoWayBindingEnabled", "visible", "width", "wordWrapEnabled"], outputs: ["onAdaptiveDetailRowPreparing", "onCellClick", "onCellDblClick", "onCellHoverChanged", "onCellPrepared", "onContentReady", "onContextMenuPreparing", "onDataErrorOccurred", "onDisposing", "onEditCanceled", "onEditCanceling", "onEditingStart", "onEditorPrepared", "onEditorPreparing", "onExporting", "onFocusedCellChanged", "onFocusedCellChanging", "onFocusedRowChanged", "onFocusedRowChanging", "onInitialized", "onInitNewRow", "onKeyDown", "onOptionChanged", "onRowClick", "onRowCollapsed", "onRowCollapsing", "onRowDblClick", "onRowExpanded", "onRowExpanding", "onRowInserted", "onRowInserting", "onRowPrepared", "onRowRemoved", "onRowRemoving", "onRowUpdated", "onRowUpdating", "onRowValidating", "onSaved", "onSaving", "onSelectionChanged", "onToolbarPreparing", "accessKeyChange", "activeStateEnabledChange", "allowColumnReorderingChange", "allowColumnResizingChange", "autoNavigateToFocusedRowChange", "cacheEnabledChange", "cellHintEnabledChange", "columnAutoWidthChange", "columnChooserChange", "columnFixingChange", "columnHidingEnabledChange", "columnMinWidthChange", "columnResizingModeChange", "columnsChange", "columnWidthChange", "customizeColumnsChange", "dataRowTemplateChange", "dataSourceChange", "dateSerializationFormatChange", "disabledChange", "editingChange", "elementAttrChange", "errorRowEnabledChange", "exportChange", "filterBuilderChange", "filterBuilderPopupChange", "filterPanelChange", "filterRowChange", "filterSyncEnabledChange", "filterValueChange", "focusedColumnIndexChange", "focusedRowEnabledChange", "focusedRowIndexChange", "focusedRowKeyChange", "groupingChange", "groupPanelChange", "headerFilterChange", "heightChange", "highlightChangesChange", "hintChange", "hoverStateEnabledChange", "keyboardNavigationChange", "keyExprChange", "loadPanelChange", "masterDetailChange", "noDataTextChange", "pagerChange", "pagingChange", "remoteOperationsChange", "renderAsyncChange", "repaintChangesOnlyChange", "rowAlternationEnabledChange", "rowDraggingChange", "rowTemplateChange", "rtlEnabledChange", "scrollingChange", "searchPanelChange", "selectedRowKeysChange", "selectionChange", "selectionFilterChange", "showBordersChange", "showColumnHeadersChange", "showColumnLinesChange", "showRowLinesChange", "sortByGroupSummaryInfoChange", "sortingChange", "stateStoringChange", "summaryChange", "syncLookupFilterValuesChange", "tabIndexChange", "toolbarChange", "twoWayBindingEnabledChange", "visibleChange", "widthChange", "wordWrapEnabledChange"] }, { kind: "component", type: i5$1.DxiColumnComponent, selector: "dxi-column", inputs: ["alignment", "allowEditing", "allowExporting", "allowFiltering", "allowFixing", "allowGrouping", "allowHeaderFiltering", "allowHiding", "allowReordering", "allowResizing", "allowSearch", "allowSorting", "autoExpandGroup", "buttons", "calculateCellValue", "calculateDisplayValue", "calculateFilterExpression", "calculateGroupValue", "calculateSortValue", "caption", "cellTemplate", "columns", "cssClass", "customizeText", "dataField", "dataType", "editCellTemplate", "editorOptions", "encodeHtml", "falseText", "filterOperations", "filterType", "filterValue", "filterValues", "fixed", "fixedPosition", "format", "formItem", "groupCellTemplate", "groupIndex", "headerCellTemplate", "headerFilter", "hidingPriority", "isBand", "lookup", "minWidth", "name", "ownerBand", "renderAsync", "selectedFilterOperation", "setCellValue", "showEditorAlways", "showInColumnChooser", "showWhenGrouped", "sortIndex", "sortingMethod", "sortOrder", "trueText", "type", "validationRules", "visible", "visibleIndex", "width"], outputs: ["filterValueChange", "filterValuesChange", "groupIndexChange", "selectedFilterOperationChange", "sortIndexChange", "sortOrderChange", "visibleChange", "visibleIndexChange"] }, { kind: "component", type: i5$1.DxoHeaderFilterComponent, selector: "dxo-header-filter", inputs: ["allowSearch", "dataSource", "groupInterval", "height", "searchMode", "width", "searchTimeout", "texts", "visible", "showRelevantValues"] }, { kind: "component", type: i5$1.DxoFilterRowComponent, selector: "dxo-filter-row", inputs: ["applyFilter", "applyFilterText", "betweenEndText", "betweenStartText", "operationDescriptions", "resetOperationText", "showAllText", "showOperationChooser", "visible"] }, { kind: "component", type: i5$1.DxoPagerComponent, selector: "dxo-pager", inputs: ["allowedPageSizes", "displayMode", "infoText", "label", "showInfo", "showNavigationButtons", "showPageSizeSelector", "visible"] }, { kind: "component", type: i5$1.DxoPagingComponent, selector: "dxo-paging", inputs: ["enabled", "pageIndex", "pageSize"], outputs: ["pageIndexChange", "pageSizeChange"] }, { kind: "component", type: i5$1.DxoSearchPanelComponent, selector: "dxo-search-panel", inputs: ["highlightCaseSensitive", "highlightSearchText", "placeholder", "searchVisibleColumnsOnly", "text", "visible", "width"], outputs: ["textChange"] }, { kind: "directive", type: i7.DxTemplateDirective, selector: "[dxTemplate]", inputs: ["dxTemplateOf"] }, { kind: "directive", type: i8.NgbDropdown, selector: "[ngbDropdown]", inputs: ["autoClose", "dropdownClass", "open", "placement", "container", "display"], outputs: ["openChange"], exportAs: ["ngbDropdown"] }, { kind: "directive", type: i8.NgbDropdownToggle, selector: "[ngbDropdownToggle]" }, { kind: "directive", type: i8.NgbDropdownMenu, selector: "[ngbDropdownMenu]" }, { kind: "directive", type: i8.NgbDropdownItem, selector: "[ngbDropdownItem]", inputs: ["disabled"] }, { kind: "component", type: HitVehicleTypeFormComponent, selector: "lib-hit-vehicle-type-form", inputs: ["visible", "record"], outputs: ["visibleChange", "saved", "cancelled"] }, { kind: "pipe", type: i1.LocalizationPipe, name: "abpLocalization" }] });
2130
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitVehicleTypeListComponent, decorators: [{
2131
+ type: Component,
2132
+ args: [{ selector: 'lib-hit-vehicle-type-list', template: "<abp-page [breadcrumb]=\"false\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"row align-items-center\">\r\n <div class=\"col\">\r\n <h3 class=\"page-title\">Ara\u00E7 Hareket T\u00FCrleri</h3>\r\n </div>\r\n </div>\r\n </abp-page-toolbar-container>\r\n\r\n <div class=\"card mt-2\">\r\n <div class=\"card-body\">\r\n\r\n <dx-data-grid\r\n [dataSource]=\"filteredData\"\r\n [columnAutoWidth]=\"true\"\r\n [showBorders]=\"true\"\r\n [showRowLines]=\"true\"\r\n [hoverStateEnabled]=\"true\"\r\n [allowColumnResizing]=\"true\"\r\n columnResizingMode=\"widget\"\r\n [rowAlternationEnabled]=\"true\"\r\n (onToolbarPreparing)=\"onToolbarPreparing($event)\"\r\n keyExpr=\"code\"\r\n style=\"height: calc(100vh - 320px);\">\r\n\r\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\r\n <dxo-header-filter [visible]=\"true\"></dxo-header-filter>\r\n <dxo-search-panel [visible]=\"true\" [width]=\"200\" [placeholder]=\"'Kadooglu::Ara' | abpLocalization\"></dxo-search-panel>\r\n\r\n <dxo-pager\r\n [visible]=\"true\"\r\n [showInfo]=\"true\"\r\n [allowedPageSizes]=\"[10, 20, 50]\"\r\n [showPageSizeSelector]=\"true\"\r\n [showNavigationButtons]=\"true\">\r\n </dxo-pager>\r\n <dxo-paging [pageSize]=\"10\"></dxo-paging>\r\n <dxi-column [fixed]=\"true\" dataField=\"id\" width=\"120\" [allowGrouping]=\"false\" [allowFiltering]=\"false\"\r\n [allowHeaderFiltering]=\"false\" [allowHiding]=\"false\" [allowReordering]=\"false\"\r\n cellTemplate=\"operationTemplate\" caption=\"{{ 'AbpUi::Actions' | abpLocalization }}\">\r\n <div *dxTemplate=\"let row of 'operationTemplate'\">\r\n <div ngbDropdown container=\"body\" class=\"d-inline-block\">\r\n <button class=\"btn btn-primary btn-sm dropdown-toggle\" data-toggle=\"dropdown\"\r\n aria-haspopup=\"true\" ngbDropdownToggle [disabled]=\"disabledIdColumn\">\r\n <i class=\"fa fa-cog mr-1\" aria-hidden=\"true\"></i>\r\n {{ 'AbpUi::Actions' | abpLocalization }}\r\n </button>\r\n <div ngbDropdownMenu>\r\n <button ngbDropdownItem (click)=\"duzenle(row.data)\">\r\n <i class=\"fa fa-edit\" aria-hidden=\"true\"></i> {{ 'AbpUi::Edit' | abpLocalization }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </dxi-column>\r\n\r\n <dxi-column dataField=\"code\" caption=\"{{ 'Kadooglu::Code' | abpLocalization }}\" [width]=\"150\"></dxi-column>\r\n <dxi-column dataField=\"name\" caption=\"{{ 'Kadooglu::Name' | abpLocalization }}\"></dxi-column>\r\n <dxi-column dataField=\"u_SourceWH\" caption=\"{{ 'Kadooglu::SourceWarehouse' | abpLocalization }}\" [width]=\"130\"></dxi-column>\r\n <dxi-column dataField=\"u_TargetWH\" caption=\"{{ 'Kadooglu::TargetWarehouse' | abpLocalization }}\" [width]=\"130\"></dxi-column>\r\n <dxi-column\r\n dataField=\"u_TrtmYpilck\"\r\n caption=\"{{ 'Kadooglu::WeighingStep' | abpLocalization }}\"\r\n [width]=\"90\"\r\n cellTemplate=\"trtmTemplate\"\r\n [allowFiltering]=\"false\">\r\n </dxi-column>\r\n <dxi-column\r\n dataField=\"u_MalGC\"\r\n caption=\"G/\u00C7 Yap\u0131lacak m\u0131?\"\r\n [width]=\"130\"\r\n cellTemplate=\"malGcTemplate\"\r\n [allowFiltering]=\"false\">\r\n </dxi-column>\r\n <dxi-column dataField=\"u_Active\" caption=\"{{ 'Kadooglu::IsActive' | abpLocalization }}\" [width]=\"80\"></dxi-column>\r\n\r\n <div *dxTemplate=\"let cell of 'trtmTemplate'\">\r\n <i class=\"fa\" [ngClass]=\"cell.value === 'Y' ? 'fa-check text-success' : 'fa-times text-secondary'\"></i>\r\n </div>\r\n <div *dxTemplate=\"let cell of 'malGcTemplate'\">\r\n <i class=\"fa\" [ngClass]=\"cell.value === 'Y' ? 'fa-check text-success' : 'fa-times text-secondary'\"></i>\r\n </div>\r\n </dx-data-grid>\r\n\r\n </div>\r\n </div>\r\n</abp-page>\r\n\r\n<lib-hit-vehicle-type-form\r\n [(visible)]=\"showForm\"\r\n [record]=\"selectedRecord\"\r\n (saved)=\"onFormSaved()\"\r\n (cancelled)=\"onFormCancelled()\">\r\n</lib-hit-vehicle-type-form>\r\n" }]
2133
+ }], ctorParameters: function () { return [{ type: HitVehicleTypeService }, { type: i2$1.ConfirmationService }]; } });
2134
+
2135
+ const routes$6 = [
2136
+ { path: '', component: HitVehicleTypeListComponent },
2137
+ ];
2138
+ class HitVehicleTypeRoutingModule {
2139
+ }
2140
+ HitVehicleTypeRoutingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitVehicleTypeRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2141
+ HitVehicleTypeRoutingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: HitVehicleTypeRoutingModule, imports: [i1$1.RouterModule], exports: [RouterModule] });
2142
+ HitVehicleTypeRoutingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitVehicleTypeRoutingModule, imports: [RouterModule.forChild(routes$6), RouterModule] });
2143
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitVehicleTypeRoutingModule, decorators: [{
2144
+ type: NgModule,
2145
+ args: [{
2146
+ imports: [RouterModule.forChild(routes$6)],
2147
+ exports: [RouterModule],
2148
+ }]
2149
+ }] });
2150
+
2151
+ class HitVehicleTypeModule {
2152
+ }
2153
+ HitVehicleTypeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitVehicleTypeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2154
+ HitVehicleTypeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: HitVehicleTypeModule, declarations: [HitVehicleTypeListComponent, HitVehicleTypeFormComponent], imports: [CommonModule,
2155
+ FormsModule,
2156
+ CoreModule,
2157
+ ThemeSharedModule,
2158
+ PageModule,
2159
+ CommercialUiModule,
2160
+ HitVehicleTypeRoutingModule,
2161
+ HitUIModule,
2162
+ DxDataGridModule,
2163
+ DxTextBoxModule,
2164
+ DxButtonModule,
2165
+ NgbDropdownModule,
2166
+ DxCheckBoxModule] });
2167
+ HitVehicleTypeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitVehicleTypeModule, imports: [CommonModule,
2168
+ FormsModule,
2169
+ CoreModule,
2170
+ ThemeSharedModule,
2171
+ PageModule,
2172
+ CommercialUiModule,
2173
+ HitVehicleTypeRoutingModule,
2174
+ HitUIModule,
2175
+ DxDataGridModule,
2176
+ DxTextBoxModule,
2177
+ DxButtonModule,
2178
+ NgbDropdownModule,
2179
+ DxCheckBoxModule] });
2180
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitVehicleTypeModule, decorators: [{
2181
+ type: NgModule,
2182
+ args: [{
2183
+ declarations: [HitVehicleTypeListComponent, HitVehicleTypeFormComponent],
2184
+ imports: [
2185
+ CommonModule,
2186
+ FormsModule,
2187
+ CoreModule,
2188
+ ThemeSharedModule,
2189
+ PageModule,
2190
+ CommercialUiModule,
2191
+ HitVehicleTypeRoutingModule,
2192
+ HitUIModule,
2193
+ DxDataGridModule,
2194
+ DxTextBoxModule,
2195
+ DxButtonModule,
2196
+ NgbDropdownModule,
2197
+ DxCheckBoxModule,
2198
+ ],
2199
+ }]
2200
+ }] });
2201
+ function loadHitVehicleTypeModuleAsChild() {
2202
+ return Promise.resolve(HitVehicleTypeModule);
2203
+ }
2204
+
2205
+ class HitScaleFormComponent {
2206
+ constructor(service, confirmation) {
2207
+ this.service = service;
2208
+ this.confirmation = confirmation;
2209
+ this.visible = false;
2210
+ this.visibleChange = new EventEmitter();
2211
+ this.record = null;
2212
+ this.saved = new EventEmitter();
2213
+ this.cancelled = new EventEmitter();
2214
+ this.code = '';
2215
+ this.name = '';
2216
+ this.u_Port = '';
2217
+ this.u_BaudRate = '';
2218
+ this.u_DataBits = '';
2219
+ this.u_StopBits = '';
2220
+ this.u_Parity = '';
2221
+ this.isActive = false;
2222
+ this.isLoading = false;
2223
+ this.dataBitsOptions = [
2224
+ { value: '7', display: '7BITS' },
2225
+ { value: '8', display: '8BITS' },
2226
+ ];
2227
+ this.stopBitsOptions = [
2228
+ { value: '1', display: 'One' },
2229
+ { value: '2', display: 'Two' },
2230
+ ];
2231
+ this.parityOptions = [
2232
+ { value: 'N', display: 'None' },
2233
+ { value: 'O', display: 'Odd' },
2234
+ { value: 'E', display: 'Even' },
2235
+ ];
2236
+ }
2237
+ ngOnInit() { }
2238
+ ngOnChanges(changes) {
2239
+ if (changes['visible']?.currentValue === true) {
2240
+ this.initForm();
2241
+ }
2242
+ }
2243
+ initForm() {
2244
+ if (this.record) {
2245
+ this.code = this.record.code;
2246
+ this.name = this.record.name;
2247
+ this.u_Port = this.record.u_Port ?? '';
2248
+ this.u_BaudRate = this.record.u_BaudRate ?? '';
2249
+ this.u_DataBits = this.record.u_DataBits ?? '';
2250
+ this.u_StopBits = this.record.u_StopBits ?? '';
2251
+ this.u_Parity = this.record.u_Parity ?? '';
2252
+ this.isActive = this.record.u_Active === 'Y';
2253
+ }
2254
+ else {
2255
+ this.code = '';
2256
+ this.name = '';
2257
+ this.u_Port = '';
2258
+ this.u_BaudRate = '';
2259
+ this.u_DataBits = '';
2260
+ this.u_StopBits = '';
2261
+ this.u_Parity = '';
2262
+ this.isActive = true;
2263
+ }
2264
+ }
2265
+ save() {
2266
+ if (!this.code || !this.name) {
2267
+ this.confirmation.warn('Lütfen Kod ve Ad alanlarını doldurunuz.', '', {
2268
+ hideYesBtn: true,
2269
+ cancelText: 'Kapat',
2270
+ dismissible: false,
2271
+ });
2272
+ return;
2273
+ }
2274
+ const dto = {
2275
+ code: this.code,
2276
+ name: this.name,
2277
+ u_Port: this.u_Port,
2278
+ u_BaudRate: this.u_BaudRate,
2279
+ u_DataBits: this.u_DataBits,
2280
+ u_StopBits: this.u_StopBits,
2281
+ u_Parity: this.u_Parity,
2282
+ u_Active: this.isActive ? 'Y' : 'N',
2283
+ };
2284
+ const obs$ = this.record?.code
2285
+ ? this.service.update(this.record.code, dto)
2286
+ : this.service.create(dto);
2287
+ this.isLoading = true;
2288
+ obs$.subscribe({
2289
+ next: () => {
2290
+ this.isLoading = false;
2291
+ this.saved.emit();
2292
+ },
2293
+ error: () => {
2294
+ this.isLoading = false;
2295
+ },
2296
+ });
2297
+ }
2298
+ onModalVisibleChange(val) {
2299
+ this.visible = val;
2300
+ this.visibleChange.emit(val);
2301
+ if (!val) {
2302
+ this.cancelled.emit();
2303
+ }
2304
+ }
2305
+ cancel() {
2306
+ this.onModalVisibleChange(false);
2307
+ }
2308
+ }
2309
+ HitScaleFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitScaleFormComponent, deps: [{ token: HitScaleService }, { token: i2$1.ConfirmationService }], target: i0.ɵɵFactoryTarget.Component });
2310
+ HitScaleFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: HitScaleFormComponent, selector: "lib-hit-scale-form", inputs: { visible: "visible", record: "record" }, outputs: { visibleChange: "visibleChange", saved: "saved", cancelled: "cancelled" }, usesOnChanges: true, ngImport: i0, template: "<abp-modal [visible]=\"visible\" (visibleChange)=\"onModalVisibleChange($event)\" [options]=\"{ size: 'lg', backdrop: 'static' }\">\r\n <ng-template #abpHeader>\r\n <h3>{{ record?.code ? ('AbpUi::Edit' | abpLocalization) : ('Kadooglu::NewRecord' | abpLocalization) }}</h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <div class=\"border rounded p-3 mb-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-cog me-2\"></i>{{ 'Kadooglu::BasicInfo' | abpLocalization }}\r\n </div>\r\n <div class=\"row mb-3\">\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::Code' | abpLocalization }} <span class=\"text-danger\">*</span></label>\r\n <dx-text-box [(value)]=\"code\" [disabled]=\"!!record?.code\" placeholder=\"Kantar kodu\" width=\"100%\"></dx-text-box>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::Name' | abpLocalization }} <span class=\"text-danger\">*</span></label>\r\n <dx-text-box [(value)]=\"name\" placeholder=\"Kantar ad\u0131\" width=\"100%\"></dx-text-box>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"border rounded p-3 mb-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-plug me-2\"></i>{{ 'Kadooglu::SerialPortSettings' | abpLocalization }}\r\n </div>\r\n <div class=\"row mb-3\">\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::Port' | abpLocalization }}</label>\r\n <dx-text-box [(value)]=\"u_Port\" [placeholder]=\"'Kadooglu::PortExample' | abpLocalization\" width=\"100%\"></dx-text-box>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::BaudRate' | abpLocalization }}</label>\r\n <dx-text-box [(value)]=\"u_BaudRate\" [placeholder]=\"'Kadooglu::BaudRateExample' | abpLocalization\" width=\"100%\"></dx-text-box>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-4\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::DataBits' | abpLocalization }}</label>\r\n <dx-select-box [(value)]=\"u_DataBits\" [items]=\"dataBitsOptions\" valueExpr=\"value\" displayExpr=\"display\" width=\"100%\"></dx-select-box>\r\n </div>\r\n <div class=\"col-md-4\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::StopBits' | abpLocalization }}</label>\r\n <dx-select-box [(value)]=\"u_StopBits\" [items]=\"stopBitsOptions\" valueExpr=\"value\" displayExpr=\"display\" width=\"100%\"></dx-select-box>\r\n </div>\r\n <div class=\"col-md-4\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::Parity' | abpLocalization }}</label>\r\n <dx-select-box [(value)]=\"u_Parity\" [items]=\"parityOptions\" valueExpr=\"value\" displayExpr=\"display\" width=\"100%\"></dx-select-box>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Durum -->\r\n <div class=\"border rounded p-3 mt-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-toggle-on me-2\"></i>{{ 'Kadooglu::Status' | abpLocalization }}\r\n </div>\r\n <dx-check-box [(value)]=\"isActive\" [text]=\"'Kadooglu::IsActive' | abpLocalization\"></dx-check-box>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #abpFooter>\r\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"cancel()\">\r\n {{ 'AbpUi::Cancel' | abpLocalization }}\r\n </button>\r\n <abp-button iconClass=\"fa fa-save\" buttonType=\"button\" [loading]=\"isLoading\" (click)=\"save()\">\r\n {{ 'AbpUi::Save' | abpLocalization }}\r\n </abp-button>\r\n </ng-template>\r\n</abp-modal>\r\n", dependencies: [{ kind: "component", type: i2$1.ButtonComponent, selector: "abp-button", inputs: ["buttonId", "buttonClass", "buttonType", "formName", "iconClass", "loading", "disabled", "attributes"], outputs: ["click", "focus", "blur", "abpClick", "abpFocus", "abpBlur"] }, { kind: "component", type: i2$1.ModalComponent, selector: "abp-modal", inputs: ["visible", "busy", "options", "suppressUnsavedChangesWarning"], outputs: ["visibleChange", "init", "appear", "disappear"] }, { kind: "component", type: i5.DxTextBoxComponent, selector: "dx-text-box", inputs: ["accessKey", "activeStateEnabled", "buttons", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "inputAttr", "isValid", "label", "labelMode", "mask", "maskChar", "maskInvalidMessage", "maskRules", "maxLength", "mode", "name", "placeholder", "readOnly", "rtlEnabled", "showClearButton", "showMaskMode", "spellcheck", "stylingMode", "tabIndex", "text", "useMaskedValue", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "valueChangeEvent", "visible", "width"], outputs: ["onChange", "onContentReady", "onCopy", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onKeyDown", "onKeyUp", "onOptionChanged", "onPaste", "onValueChanged", "accessKeyChange", "activeStateEnabledChange", "buttonsChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "isValidChange", "labelChange", "labelModeChange", "maskChange", "maskCharChange", "maskInvalidMessageChange", "maskRulesChange", "maxLengthChange", "modeChange", "nameChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "showClearButtonChange", "showMaskModeChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "useMaskedValueChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "visibleChange", "widthChange", "onBlur"] }, { kind: "component", type: i5.DxSelectBoxComponent, selector: "dx-select-box", inputs: ["acceptCustomValue", "accessKey", "activeStateEnabled", "buttons", "customItemCreateEvent", "dataSource", "deferRendering", "disabled", "displayExpr", "displayValue", "dropDownButtonTemplate", "dropDownOptions", "elementAttr", "fieldTemplate", "focusStateEnabled", "grouped", "groupTemplate", "height", "hint", "hoverStateEnabled", "inputAttr", "isValid", "items", "itemTemplate", "label", "labelMode", "maxLength", "minSearchLength", "name", "noDataText", "opened", "openOnFieldClick", "placeholder", "readOnly", "rtlEnabled", "searchEnabled", "searchExpr", "searchMode", "searchTimeout", "selectedItem", "showClearButton", "showDataBeforeSearch", "showDropDownButton", "showSelectionControls", "spellcheck", "stylingMode", "tabIndex", "text", "useItemTextAsTitle", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "valueChangeEvent", "valueExpr", "visible", "width", "wrapItemText"], outputs: ["onChange", "onClosed", "onContentReady", "onCopy", "onCustomItemCreating", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onItemClick", "onKeyDown", "onKeyUp", "onOpened", "onOptionChanged", "onPaste", "onSelectionChanged", "onValueChanged", "acceptCustomValueChange", "accessKeyChange", "activeStateEnabledChange", "buttonsChange", "customItemCreateEventChange", "dataSourceChange", "deferRenderingChange", "disabledChange", "displayExprChange", "displayValueChange", "dropDownButtonTemplateChange", "dropDownOptionsChange", "elementAttrChange", "fieldTemplateChange", "focusStateEnabledChange", "groupedChange", "groupTemplateChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "isValidChange", "itemsChange", "itemTemplateChange", "labelChange", "labelModeChange", "maxLengthChange", "minSearchLengthChange", "nameChange", "noDataTextChange", "openedChange", "openOnFieldClickChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "searchEnabledChange", "searchExprChange", "searchModeChange", "searchTimeoutChange", "selectedItemChange", "showClearButtonChange", "showDataBeforeSearchChange", "showDropDownButtonChange", "showSelectionControlsChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "useItemTextAsTitleChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "valueExprChange", "visibleChange", "widthChange", "wrapItemTextChange", "onBlur"] }, { kind: "component", type: i5.DxCheckBoxComponent, selector: "dx-check-box", inputs: ["accessKey", "activeStateEnabled", "disabled", "elementAttr", "enableThreeStateBehavior", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "iconSize", "isValid", "name", "readOnly", "rtlEnabled", "tabIndex", "text", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "visible", "width"], outputs: ["onContentReady", "onDisposing", "onInitialized", "onOptionChanged", "onValueChanged", "accessKeyChange", "activeStateEnabledChange", "disabledChange", "elementAttrChange", "enableThreeStateBehaviorChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "iconSizeChange", "isValidChange", "nameChange", "readOnlyChange", "rtlEnabledChange", "tabIndexChange", "textChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "visibleChange", "widthChange", "onBlur"] }, { kind: "pipe", type: i1.LocalizationPipe, name: "abpLocalization" }] });
2311
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitScaleFormComponent, decorators: [{
2312
+ type: Component,
2313
+ args: [{ selector: 'lib-hit-scale-form', template: "<abp-modal [visible]=\"visible\" (visibleChange)=\"onModalVisibleChange($event)\" [options]=\"{ size: 'lg', backdrop: 'static' }\">\r\n <ng-template #abpHeader>\r\n <h3>{{ record?.code ? ('AbpUi::Edit' | abpLocalization) : ('Kadooglu::NewRecord' | abpLocalization) }}</h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <div class=\"border rounded p-3 mb-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-cog me-2\"></i>{{ 'Kadooglu::BasicInfo' | abpLocalization }}\r\n </div>\r\n <div class=\"row mb-3\">\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::Code' | abpLocalization }} <span class=\"text-danger\">*</span></label>\r\n <dx-text-box [(value)]=\"code\" [disabled]=\"!!record?.code\" placeholder=\"Kantar kodu\" width=\"100%\"></dx-text-box>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::Name' | abpLocalization }} <span class=\"text-danger\">*</span></label>\r\n <dx-text-box [(value)]=\"name\" placeholder=\"Kantar ad\u0131\" width=\"100%\"></dx-text-box>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"border rounded p-3 mb-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-plug me-2\"></i>{{ 'Kadooglu::SerialPortSettings' | abpLocalization }}\r\n </div>\r\n <div class=\"row mb-3\">\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::Port' | abpLocalization }}</label>\r\n <dx-text-box [(value)]=\"u_Port\" [placeholder]=\"'Kadooglu::PortExample' | abpLocalization\" width=\"100%\"></dx-text-box>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::BaudRate' | abpLocalization }}</label>\r\n <dx-text-box [(value)]=\"u_BaudRate\" [placeholder]=\"'Kadooglu::BaudRateExample' | abpLocalization\" width=\"100%\"></dx-text-box>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-4\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::DataBits' | abpLocalization }}</label>\r\n <dx-select-box [(value)]=\"u_DataBits\" [items]=\"dataBitsOptions\" valueExpr=\"value\" displayExpr=\"display\" width=\"100%\"></dx-select-box>\r\n </div>\r\n <div class=\"col-md-4\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::StopBits' | abpLocalization }}</label>\r\n <dx-select-box [(value)]=\"u_StopBits\" [items]=\"stopBitsOptions\" valueExpr=\"value\" displayExpr=\"display\" width=\"100%\"></dx-select-box>\r\n </div>\r\n <div class=\"col-md-4\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::Parity' | abpLocalization }}</label>\r\n <dx-select-box [(value)]=\"u_Parity\" [items]=\"parityOptions\" valueExpr=\"value\" displayExpr=\"display\" width=\"100%\"></dx-select-box>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Durum -->\r\n <div class=\"border rounded p-3 mt-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-toggle-on me-2\"></i>{{ 'Kadooglu::Status' | abpLocalization }}\r\n </div>\r\n <dx-check-box [(value)]=\"isActive\" [text]=\"'Kadooglu::IsActive' | abpLocalization\"></dx-check-box>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #abpFooter>\r\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"cancel()\">\r\n {{ 'AbpUi::Cancel' | abpLocalization }}\r\n </button>\r\n <abp-button iconClass=\"fa fa-save\" buttonType=\"button\" [loading]=\"isLoading\" (click)=\"save()\">\r\n {{ 'AbpUi::Save' | abpLocalization }}\r\n </abp-button>\r\n </ng-template>\r\n</abp-modal>\r\n" }]
2314
+ }], ctorParameters: function () { return [{ type: HitScaleService }, { type: i2$1.ConfirmationService }]; }, propDecorators: { visible: [{
2315
+ type: Input
2316
+ }], visibleChange: [{
2317
+ type: Output
2318
+ }], record: [{
2319
+ type: Input
2320
+ }], saved: [{
2321
+ type: Output
2322
+ }], cancelled: [{
2323
+ type: Output
2324
+ }] } });
2325
+
2326
+ class HitScaleListComponent {
2327
+ constructor(service, confirmation) {
2328
+ this.service = service;
2329
+ this.confirmation = confirmation;
2330
+ this.allData = [];
2331
+ this.filteredData = [];
2332
+ this.dataBitsLookup = [
2333
+ { value: '7', display: '7BITS' },
2334
+ { value: '8', display: '8BITS' },
2335
+ ];
2336
+ this.stopBitsLookup = [
2337
+ { value: '1', display: 'One' },
2338
+ { value: '2', display: 'Two' },
2339
+ ];
2340
+ this.parityLookup = [
2341
+ { value: 'N', display: 'None' },
2342
+ { value: 'O', display: 'Odd' },
2343
+ { value: 'E', display: 'Even' },
2344
+ ];
2345
+ this.filterCode = '';
2346
+ this.filterName = '';
2347
+ this.showForm = false;
2348
+ this.disabledIdColumn = false;
2349
+ this.selectedRecord = null;
2350
+ }
2351
+ ngOnInit() {
2352
+ this.loadList();
2353
+ }
2354
+ onToolbarPreparing(e) {
2355
+ e.toolbarOptions.items.unshift({
2356
+ location: 'after',
2357
+ widget: 'dxButton',
2358
+ options: {
2359
+ icon: 'plus',
2360
+ text: 'Yeni Kayıt',
2361
+ type: 'default',
2362
+ onClick: () => this.yeniKayit(),
2363
+ },
2364
+ });
2365
+ }
2366
+ loadList() {
2367
+ this.service.getList().subscribe(data => {
2368
+ this.allData = data;
2369
+ this.filteredData = [...data];
2370
+ });
2371
+ }
2372
+ bul() {
2373
+ this.filteredData = this.allData.filter(x => {
2374
+ if (this.filterCode && !x.code?.toLowerCase().includes(this.filterCode.toLowerCase()))
2375
+ return false;
2376
+ if (this.filterName && !x.name?.toLowerCase().includes(this.filterName.toLowerCase()))
2377
+ return false;
2378
+ return true;
2379
+ });
2380
+ }
2381
+ temizle() {
2382
+ this.filterCode = '';
2383
+ this.filterName = '';
2384
+ this.filteredData = [...this.allData];
2385
+ }
2386
+ yeniKayit() {
2387
+ this.selectedRecord = null;
2388
+ this.showForm = true;
2389
+ }
2390
+ duzenle(row) {
2391
+ this.selectedRecord = { ...row };
2392
+ this.showForm = true;
2393
+ }
2394
+ sil(row) {
2395
+ this.confirmation
2396
+ .warn(`"${row.name}" kantarını silmek istediğinize emin misiniz?`, '', {
2397
+ yesText: 'Evet',
2398
+ cancelText: 'Hayır',
2399
+ })
2400
+ .subscribe(status => {
2401
+ if (status === 'confirm') {
2402
+ this.service.delete(row.code).subscribe(() => this.loadList());
2403
+ }
2404
+ });
2405
+ }
2406
+ onFormSaved() {
2407
+ this.showForm = false;
2408
+ this.loadList();
2409
+ }
2410
+ onFormCancelled() {
2411
+ this.showForm = false;
2412
+ }
2413
+ }
2414
+ HitScaleListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitScaleListComponent, deps: [{ token: HitScaleService }, { token: i2$1.ConfirmationService }], target: i0.ɵɵFactoryTarget.Component });
2415
+ HitScaleListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: HitScaleListComponent, selector: "lib-hit-scale-list", ngImport: i0, template: "<abp-page [breadcrumb]=\"false\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"row align-items-center\">\r\n <div class=\"col\">\r\n <h3 class=\"page-title\">{{ 'Kadooglu::ScaleTitle' | abpLocalization }}</h3>\r\n </div>\r\n </div>\r\n </abp-page-toolbar-container>\r\n\r\n <div class=\"card mt-2\">\r\n <div class=\"card-body\">\r\n\r\n <dx-data-grid\r\n [dataSource]=\"filteredData\"\r\n [columnAutoWidth]=\"true\"\r\n [showBorders]=\"true\"\r\n [showRowLines]=\"true\"\r\n [hoverStateEnabled]=\"true\"\r\n [allowColumnResizing]=\"true\"\r\n columnResizingMode=\"widget\"\r\n [rowAlternationEnabled]=\"true\"\r\n (onToolbarPreparing)=\"onToolbarPreparing($event)\"\r\n keyExpr=\"code\"\r\n style=\"height: calc(100vh - 320px);\">\r\n\r\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\r\n <dxo-header-filter [visible]=\"true\"></dxo-header-filter>\r\n <dxo-search-panel [visible]=\"true\" [width]=\"200\" [placeholder]=\"'Kadooglu::Ara' | abpLocalization\"></dxo-search-panel>\r\n <dxo-pager [visible]=\"true\" [showInfo]=\"true\" [allowedPageSizes]=\"[10,20,50]\"\r\n [showPageSizeSelector]=\"true\" [showNavigationButtons]=\"true\"></dxo-pager>\r\n <dxo-paging [pageSize]=\"10\"></dxo-paging>\r\n <dxi-column [fixed]=\"true\" dataField=\"id\" width=\"120\" [allowGrouping]=\"false\" [allowFiltering]=\"false\"\r\n [allowHeaderFiltering]=\"false\" [allowHiding]=\"false\" [allowReordering]=\"false\"\r\n cellTemplate=\"operationTemplate\" caption=\"{{ 'AbpUi::Actions' | abpLocalization }}\">\r\n <div *dxTemplate=\"let row of 'operationTemplate'\">\r\n <div ngbDropdown container=\"body\" class=\"d-inline-block\">\r\n <button class=\"btn btn-primary btn-sm dropdown-toggle\" data-toggle=\"dropdown\"\r\n aria-haspopup=\"true\" ngbDropdownToggle [disabled]=\"disabledIdColumn\">\r\n <i class=\"fa fa-cog mr-1\" aria-hidden=\"true\"></i>\r\n {{ 'AbpUi::Actions' | abpLocalization }}\r\n </button>\r\n <div ngbDropdownMenu>\r\n <button ngbDropdownItem (click)=\"duzenle(row.data)\">\r\n <i class=\"fa fa-edit\" aria-hidden=\"true\"></i> {{ 'AbpUi::Edit' | abpLocalization }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </dxi-column>\r\n <dxi-column dataField=\"code\" caption=\"{{ 'Kadooglu::Code' | abpLocalization }}\" [width]=\"150\"></dxi-column>\r\n <dxi-column dataField=\"name\" caption=\"{{ 'Kadooglu::Name' | abpLocalization }}\"></dxi-column>\r\n <dxi-column dataField=\"u_Port\" caption=\"{{ 'Kadooglu::Port' | abpLocalization }}\" [width]=\"120\"></dxi-column>\r\n <dxi-column dataField=\"u_BaudRate\" caption=\"{{ 'Kadooglu::BaudRate' | abpLocalization }}\" [width]=\"120\"></dxi-column>\r\n <dxi-column dataField=\"u_DataBits\" caption=\"{{ 'Kadooglu::DataBits' | abpLocalization }}\" [width]=\"100\">\r\n <dxo-lookup [dataSource]=\"dataBitsLookup\" valueExpr=\"value\" displayExpr=\"display\"></dxo-lookup>\r\n </dxi-column>\r\n <dxi-column dataField=\"u_StopBits\" caption=\"{{ 'Kadooglu::StopBits' | abpLocalization }}\" [width]=\"100\">\r\n <dxo-lookup [dataSource]=\"stopBitsLookup\" valueExpr=\"value\" displayExpr=\"display\"></dxo-lookup>\r\n </dxi-column>\r\n <dxi-column dataField=\"u_Parity\" caption=\"{{ 'Kadooglu::Parity' | abpLocalization }}\" [width]=\"100\">\r\n </dxi-column>\r\n <dxi-column dataField=\"u_Active\" caption=\"{{ 'Kadooglu::IsActive' | abpLocalization }}\" [width]=\"80\"></dxi-column>\r\n </dx-data-grid>\r\n\r\n </div>\r\n </div>\r\n</abp-page>\r\n\r\n<lib-hit-scale-form\r\n [(visible)]=\"showForm\"\r\n [record]=\"selectedRecord\"\r\n (saved)=\"onFormSaved()\"\r\n (cancelled)=\"onFormCancelled()\">\r\n</lib-hit-scale-form>\r\n", dependencies: [{ kind: "component", type: i4.PageComponent, selector: "abp-page", inputs: ["title", "toolbar", "breadcrumb"] }, { kind: "component", type: i4.PageToolbarContainerComponent, selector: "abp-page-toolbar-container" }, { kind: "component", type: i5.DxDataGridComponent, selector: "dx-data-grid", inputs: ["accessKey", "activeStateEnabled", "allowColumnReordering", "allowColumnResizing", "autoNavigateToFocusedRow", "cacheEnabled", "cellHintEnabled", "columnAutoWidth", "columnChooser", "columnFixing", "columnHidingEnabled", "columnMinWidth", "columnResizingMode", "columns", "columnWidth", "customizeColumns", "dataRowTemplate", "dataSource", "dateSerializationFormat", "disabled", "editing", "elementAttr", "errorRowEnabled", "export", "filterBuilder", "filterBuilderPopup", "filterPanel", "filterRow", "filterSyncEnabled", "filterValue", "focusedColumnIndex", "focusedRowEnabled", "focusedRowIndex", "focusedRowKey", "grouping", "groupPanel", "headerFilter", "height", "highlightChanges", "hint", "hoverStateEnabled", "keyboardNavigation", "keyExpr", "loadPanel", "masterDetail", "noDataText", "pager", "paging", "remoteOperations", "renderAsync", "repaintChangesOnly", "rowAlternationEnabled", "rowDragging", "rowTemplate", "rtlEnabled", "scrolling", "searchPanel", "selectedRowKeys", "selection", "selectionFilter", "showBorders", "showColumnHeaders", "showColumnLines", "showRowLines", "sortByGroupSummaryInfo", "sorting", "stateStoring", "summary", "syncLookupFilterValues", "tabIndex", "toolbar", "twoWayBindingEnabled", "visible", "width", "wordWrapEnabled"], outputs: ["onAdaptiveDetailRowPreparing", "onCellClick", "onCellDblClick", "onCellHoverChanged", "onCellPrepared", "onContentReady", "onContextMenuPreparing", "onDataErrorOccurred", "onDisposing", "onEditCanceled", "onEditCanceling", "onEditingStart", "onEditorPrepared", "onEditorPreparing", "onExporting", "onFocusedCellChanged", "onFocusedCellChanging", "onFocusedRowChanged", "onFocusedRowChanging", "onInitialized", "onInitNewRow", "onKeyDown", "onOptionChanged", "onRowClick", "onRowCollapsed", "onRowCollapsing", "onRowDblClick", "onRowExpanded", "onRowExpanding", "onRowInserted", "onRowInserting", "onRowPrepared", "onRowRemoved", "onRowRemoving", "onRowUpdated", "onRowUpdating", "onRowValidating", "onSaved", "onSaving", "onSelectionChanged", "onToolbarPreparing", "accessKeyChange", "activeStateEnabledChange", "allowColumnReorderingChange", "allowColumnResizingChange", "autoNavigateToFocusedRowChange", "cacheEnabledChange", "cellHintEnabledChange", "columnAutoWidthChange", "columnChooserChange", "columnFixingChange", "columnHidingEnabledChange", "columnMinWidthChange", "columnResizingModeChange", "columnsChange", "columnWidthChange", "customizeColumnsChange", "dataRowTemplateChange", "dataSourceChange", "dateSerializationFormatChange", "disabledChange", "editingChange", "elementAttrChange", "errorRowEnabledChange", "exportChange", "filterBuilderChange", "filterBuilderPopupChange", "filterPanelChange", "filterRowChange", "filterSyncEnabledChange", "filterValueChange", "focusedColumnIndexChange", "focusedRowEnabledChange", "focusedRowIndexChange", "focusedRowKeyChange", "groupingChange", "groupPanelChange", "headerFilterChange", "heightChange", "highlightChangesChange", "hintChange", "hoverStateEnabledChange", "keyboardNavigationChange", "keyExprChange", "loadPanelChange", "masterDetailChange", "noDataTextChange", "pagerChange", "pagingChange", "remoteOperationsChange", "renderAsyncChange", "repaintChangesOnlyChange", "rowAlternationEnabledChange", "rowDraggingChange", "rowTemplateChange", "rtlEnabledChange", "scrollingChange", "searchPanelChange", "selectedRowKeysChange", "selectionChange", "selectionFilterChange", "showBordersChange", "showColumnHeadersChange", "showColumnLinesChange", "showRowLinesChange", "sortByGroupSummaryInfoChange", "sortingChange", "stateStoringChange", "summaryChange", "syncLookupFilterValuesChange", "tabIndexChange", "toolbarChange", "twoWayBindingEnabledChange", "visibleChange", "widthChange", "wordWrapEnabledChange"] }, { kind: "component", type: i5$1.DxiColumnComponent, selector: "dxi-column", inputs: ["alignment", "allowEditing", "allowExporting", "allowFiltering", "allowFixing", "allowGrouping", "allowHeaderFiltering", "allowHiding", "allowReordering", "allowResizing", "allowSearch", "allowSorting", "autoExpandGroup", "buttons", "calculateCellValue", "calculateDisplayValue", "calculateFilterExpression", "calculateGroupValue", "calculateSortValue", "caption", "cellTemplate", "columns", "cssClass", "customizeText", "dataField", "dataType", "editCellTemplate", "editorOptions", "encodeHtml", "falseText", "filterOperations", "filterType", "filterValue", "filterValues", "fixed", "fixedPosition", "format", "formItem", "groupCellTemplate", "groupIndex", "headerCellTemplate", "headerFilter", "hidingPriority", "isBand", "lookup", "minWidth", "name", "ownerBand", "renderAsync", "selectedFilterOperation", "setCellValue", "showEditorAlways", "showInColumnChooser", "showWhenGrouped", "sortIndex", "sortingMethod", "sortOrder", "trueText", "type", "validationRules", "visible", "visibleIndex", "width"], outputs: ["filterValueChange", "filterValuesChange", "groupIndexChange", "selectedFilterOperationChange", "sortIndexChange", "sortOrderChange", "visibleChange", "visibleIndexChange"] }, { kind: "component", type: i5$1.DxoHeaderFilterComponent, selector: "dxo-header-filter", inputs: ["allowSearch", "dataSource", "groupInterval", "height", "searchMode", "width", "searchTimeout", "texts", "visible", "showRelevantValues"] }, { kind: "component", type: i5$1.DxoLookupComponent, selector: "dxo-lookup", inputs: ["allowClearing", "calculateCellValue", "dataSource", "displayExpr", "valueExpr"] }, { kind: "component", type: i5$1.DxoFilterRowComponent, selector: "dxo-filter-row", inputs: ["applyFilter", "applyFilterText", "betweenEndText", "betweenStartText", "operationDescriptions", "resetOperationText", "showAllText", "showOperationChooser", "visible"] }, { kind: "component", type: i5$1.DxoPagerComponent, selector: "dxo-pager", inputs: ["allowedPageSizes", "displayMode", "infoText", "label", "showInfo", "showNavigationButtons", "showPageSizeSelector", "visible"] }, { kind: "component", type: i5$1.DxoPagingComponent, selector: "dxo-paging", inputs: ["enabled", "pageIndex", "pageSize"], outputs: ["pageIndexChange", "pageSizeChange"] }, { kind: "component", type: i5$1.DxoSearchPanelComponent, selector: "dxo-search-panel", inputs: ["highlightCaseSensitive", "highlightSearchText", "placeholder", "searchVisibleColumnsOnly", "text", "visible", "width"], outputs: ["textChange"] }, { kind: "directive", type: i7.DxTemplateDirective, selector: "[dxTemplate]", inputs: ["dxTemplateOf"] }, { kind: "directive", type: i8.NgbDropdown, selector: "[ngbDropdown]", inputs: ["autoClose", "dropdownClass", "open", "placement", "container", "display"], outputs: ["openChange"], exportAs: ["ngbDropdown"] }, { kind: "directive", type: i8.NgbDropdownToggle, selector: "[ngbDropdownToggle]" }, { kind: "directive", type: i8.NgbDropdownMenu, selector: "[ngbDropdownMenu]" }, { kind: "directive", type: i8.NgbDropdownItem, selector: "[ngbDropdownItem]", inputs: ["disabled"] }, { kind: "component", type: HitScaleFormComponent, selector: "lib-hit-scale-form", inputs: ["visible", "record"], outputs: ["visibleChange", "saved", "cancelled"] }, { kind: "pipe", type: i1.LocalizationPipe, name: "abpLocalization" }] });
2416
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitScaleListComponent, decorators: [{
2417
+ type: Component,
2418
+ args: [{ selector: 'lib-hit-scale-list', template: "<abp-page [breadcrumb]=\"false\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"row align-items-center\">\r\n <div class=\"col\">\r\n <h3 class=\"page-title\">{{ 'Kadooglu::ScaleTitle' | abpLocalization }}</h3>\r\n </div>\r\n </div>\r\n </abp-page-toolbar-container>\r\n\r\n <div class=\"card mt-2\">\r\n <div class=\"card-body\">\r\n\r\n <dx-data-grid\r\n [dataSource]=\"filteredData\"\r\n [columnAutoWidth]=\"true\"\r\n [showBorders]=\"true\"\r\n [showRowLines]=\"true\"\r\n [hoverStateEnabled]=\"true\"\r\n [allowColumnResizing]=\"true\"\r\n columnResizingMode=\"widget\"\r\n [rowAlternationEnabled]=\"true\"\r\n (onToolbarPreparing)=\"onToolbarPreparing($event)\"\r\n keyExpr=\"code\"\r\n style=\"height: calc(100vh - 320px);\">\r\n\r\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\r\n <dxo-header-filter [visible]=\"true\"></dxo-header-filter>\r\n <dxo-search-panel [visible]=\"true\" [width]=\"200\" [placeholder]=\"'Kadooglu::Ara' | abpLocalization\"></dxo-search-panel>\r\n <dxo-pager [visible]=\"true\" [showInfo]=\"true\" [allowedPageSizes]=\"[10,20,50]\"\r\n [showPageSizeSelector]=\"true\" [showNavigationButtons]=\"true\"></dxo-pager>\r\n <dxo-paging [pageSize]=\"10\"></dxo-paging>\r\n <dxi-column [fixed]=\"true\" dataField=\"id\" width=\"120\" [allowGrouping]=\"false\" [allowFiltering]=\"false\"\r\n [allowHeaderFiltering]=\"false\" [allowHiding]=\"false\" [allowReordering]=\"false\"\r\n cellTemplate=\"operationTemplate\" caption=\"{{ 'AbpUi::Actions' | abpLocalization }}\">\r\n <div *dxTemplate=\"let row of 'operationTemplate'\">\r\n <div ngbDropdown container=\"body\" class=\"d-inline-block\">\r\n <button class=\"btn btn-primary btn-sm dropdown-toggle\" data-toggle=\"dropdown\"\r\n aria-haspopup=\"true\" ngbDropdownToggle [disabled]=\"disabledIdColumn\">\r\n <i class=\"fa fa-cog mr-1\" aria-hidden=\"true\"></i>\r\n {{ 'AbpUi::Actions' | abpLocalization }}\r\n </button>\r\n <div ngbDropdownMenu>\r\n <button ngbDropdownItem (click)=\"duzenle(row.data)\">\r\n <i class=\"fa fa-edit\" aria-hidden=\"true\"></i> {{ 'AbpUi::Edit' | abpLocalization }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </dxi-column>\r\n <dxi-column dataField=\"code\" caption=\"{{ 'Kadooglu::Code' | abpLocalization }}\" [width]=\"150\"></dxi-column>\r\n <dxi-column dataField=\"name\" caption=\"{{ 'Kadooglu::Name' | abpLocalization }}\"></dxi-column>\r\n <dxi-column dataField=\"u_Port\" caption=\"{{ 'Kadooglu::Port' | abpLocalization }}\" [width]=\"120\"></dxi-column>\r\n <dxi-column dataField=\"u_BaudRate\" caption=\"{{ 'Kadooglu::BaudRate' | abpLocalization }}\" [width]=\"120\"></dxi-column>\r\n <dxi-column dataField=\"u_DataBits\" caption=\"{{ 'Kadooglu::DataBits' | abpLocalization }}\" [width]=\"100\">\r\n <dxo-lookup [dataSource]=\"dataBitsLookup\" valueExpr=\"value\" displayExpr=\"display\"></dxo-lookup>\r\n </dxi-column>\r\n <dxi-column dataField=\"u_StopBits\" caption=\"{{ 'Kadooglu::StopBits' | abpLocalization }}\" [width]=\"100\">\r\n <dxo-lookup [dataSource]=\"stopBitsLookup\" valueExpr=\"value\" displayExpr=\"display\"></dxo-lookup>\r\n </dxi-column>\r\n <dxi-column dataField=\"u_Parity\" caption=\"{{ 'Kadooglu::Parity' | abpLocalization }}\" [width]=\"100\">\r\n </dxi-column>\r\n <dxi-column dataField=\"u_Active\" caption=\"{{ 'Kadooglu::IsActive' | abpLocalization }}\" [width]=\"80\"></dxi-column>\r\n </dx-data-grid>\r\n\r\n </div>\r\n </div>\r\n</abp-page>\r\n\r\n<lib-hit-scale-form\r\n [(visible)]=\"showForm\"\r\n [record]=\"selectedRecord\"\r\n (saved)=\"onFormSaved()\"\r\n (cancelled)=\"onFormCancelled()\">\r\n</lib-hit-scale-form>\r\n" }]
2419
+ }], ctorParameters: function () { return [{ type: HitScaleService }, { type: i2$1.ConfirmationService }]; } });
2420
+
2421
+ const routes$5 = [
2422
+ { path: '', component: HitScaleListComponent },
2423
+ ];
2424
+ class HitScaleRoutingModule {
2425
+ }
2426
+ HitScaleRoutingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitScaleRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2427
+ HitScaleRoutingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: HitScaleRoutingModule, imports: [i1$1.RouterModule], exports: [RouterModule] });
2428
+ HitScaleRoutingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitScaleRoutingModule, imports: [RouterModule.forChild(routes$5), RouterModule] });
2429
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitScaleRoutingModule, decorators: [{
2430
+ type: NgModule,
2431
+ args: [{
2432
+ imports: [RouterModule.forChild(routes$5)],
2433
+ exports: [RouterModule],
2434
+ }]
2435
+ }] });
2436
+
2437
+ class HitScaleModule {
2438
+ }
2439
+ HitScaleModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitScaleModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2440
+ HitScaleModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: HitScaleModule, declarations: [HitScaleListComponent, HitScaleFormComponent], imports: [CommonModule,
2441
+ FormsModule,
2442
+ CoreModule,
2443
+ ThemeSharedModule,
2444
+ PageModule,
2445
+ CommercialUiModule,
2446
+ HitScaleRoutingModule,
2447
+ HitUIModule,
2448
+ DxDataGridModule,
2449
+ DxTextBoxModule,
2450
+ DxButtonModule,
2451
+ NgbDropdownModule,
2452
+ DxSelectBoxModule,
2453
+ DxCheckBoxModule] });
2454
+ HitScaleModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitScaleModule, imports: [CommonModule,
2455
+ FormsModule,
2456
+ CoreModule,
2457
+ ThemeSharedModule,
2458
+ PageModule,
2459
+ CommercialUiModule,
2460
+ HitScaleRoutingModule,
2461
+ HitUIModule,
2462
+ DxDataGridModule,
2463
+ DxTextBoxModule,
2464
+ DxButtonModule,
2465
+ NgbDropdownModule,
2466
+ DxSelectBoxModule,
2467
+ DxCheckBoxModule] });
2468
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitScaleModule, decorators: [{
2469
+ type: NgModule,
2470
+ args: [{
2471
+ declarations: [HitScaleListComponent, HitScaleFormComponent],
2472
+ imports: [
2473
+ CommonModule,
2474
+ FormsModule,
2475
+ CoreModule,
2476
+ ThemeSharedModule,
2477
+ PageModule,
2478
+ CommercialUiModule,
2479
+ HitScaleRoutingModule,
2480
+ HitUIModule,
2481
+ DxDataGridModule,
2482
+ DxTextBoxModule,
2483
+ DxButtonModule,
2484
+ NgbDropdownModule,
2485
+ DxSelectBoxModule,
2486
+ DxCheckBoxModule,
2487
+ ],
2488
+ }]
2489
+ }] });
2490
+ function loadHitScaleModuleAsChild() {
2491
+ return Promise.resolve(HitScaleModule);
2492
+ }
2493
+
2494
+ class HitGateFormComponent {
2495
+ constructor(service, confirmation, userGateService, restService) {
2496
+ this.service = service;
2497
+ this.confirmation = confirmation;
2498
+ this.userGateService = userGateService;
2499
+ this.restService = restService;
2500
+ this.visible = false;
2501
+ this.visibleChange = new EventEmitter();
2502
+ this.record = null;
2503
+ this.saved = new EventEmitter();
2504
+ this.cancelled = new EventEmitter();
2505
+ this.code = '';
2506
+ this.name = '';
2507
+ this.isActive = false;
2508
+ this.isLoading = false;
2509
+ this.userGates = [];
2510
+ this.allAbpUsers = [];
2511
+ this.selectedUserIdToAdd = '';
2512
+ }
2513
+ ngOnInit() {
2514
+ this.restService.request({ method: 'GET', url: '/api/identity/users', params: { maxResultCount: 200 } }, { apiName: 'AbpIdentity' }).pipe(map$1(r => r?.items ?? [])).subscribe(users => {
2515
+ this.allAbpUsers = users.map((u) => ({
2516
+ id: u.id,
2517
+ tenantId: u.tenantId ?? '',
2518
+ userName: u.userName,
2519
+ }));
2520
+ });
2521
+ }
2522
+ ngOnChanges(changes) {
2523
+ if (changes['visible']?.currentValue === true) {
2524
+ this.initForm();
2525
+ }
2526
+ }
2527
+ initForm() {
2528
+ if (this.record) {
2529
+ this.code = this.record.code;
2530
+ this.name = this.record.name;
2531
+ this.isActive = this.record.u_Active === 'Y';
2532
+ this.userGateService.getByGateCode(this.record.code).subscribe(items => {
2533
+ this.userGates = items.map(item => ({
2534
+ ...item,
2535
+ userName: this.allAbpUsers.find(u => u.id === item.u_UserId)?.userName ?? ''
2536
+ }));
2537
+ });
2538
+ }
2539
+ else {
2540
+ this.code = '';
2541
+ this.name = '';
2542
+ this.isActive = true;
2543
+ this.userGates = [];
2544
+ }
2545
+ }
2546
+ addUser() {
2547
+ if (!this.selectedUserIdToAdd)
2548
+ return;
2549
+ const user = this.allAbpUsers.find(u => u.id === this.selectedUserIdToAdd);
2550
+ if (!user)
2551
+ return;
2552
+ if (this.userGates.some(g => g.u_UserId === user.id))
2553
+ return;
2554
+ this.userGates = [
2555
+ ...this.userGates,
2556
+ {
2557
+ u_GateCode: this.code,
2558
+ u_UserId: user.id,
2559
+ u_TenantId: user.tenantId,
2560
+ u_IsDefault: 'N',
2561
+ userName: user.userName,
2562
+ },
2563
+ ];
2564
+ this.selectedUserIdToAdd = '';
2565
+ }
2566
+ removeUser(index) {
2567
+ this.userGates = this.userGates.filter((_, i) => i !== index);
2568
+ }
2569
+ setDefault(index) {
2570
+ this.userGates = this.userGates.map((g, i) => ({ ...g, u_IsDefault: i === index ? 'Y' : 'N' }));
2571
+ }
2572
+ save() {
2573
+ if (!this.code || !this.name) {
2574
+ this.confirmation.warn('Lütfen Kod ve Ad alanlarını doldurunuz.', '', {
2575
+ hideYesBtn: true,
2576
+ cancelText: 'Kapat',
2577
+ dismissible: false,
2578
+ });
2579
+ return;
2580
+ }
2581
+ const dto = { code: this.code, name: this.name, u_Active: this.isActive ? 'Y' : 'N' };
2582
+ const obs$ = this.record?.code
2583
+ ? this.service.update(this.record.code, dto)
2584
+ : this.service.create(dto);
2585
+ this.isLoading = true;
2586
+ obs$.subscribe({
2587
+ next: (gate) => {
2588
+ const gateCode = gate?.code ?? this.code;
2589
+ this.userGateService.saveGateUsers(gateCode, this.userGates).subscribe({
2590
+ next: () => {
2591
+ this.isLoading = false;
2592
+ this.saved.emit();
2593
+ },
2594
+ error: () => {
2595
+ this.isLoading = false;
2596
+ },
2597
+ });
2598
+ },
2599
+ error: () => {
2600
+ this.isLoading = false;
2601
+ },
2602
+ });
2603
+ }
2604
+ onModalVisibleChange(val) {
2605
+ this.visible = val;
2606
+ this.visibleChange.emit(val);
2607
+ if (!val) {
2608
+ this.cancelled.emit();
2609
+ }
2610
+ }
2611
+ cancel() {
2612
+ this.onModalVisibleChange(false);
2613
+ }
2614
+ }
2615
+ HitGateFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitGateFormComponent, deps: [{ token: HitGateService }, { token: i2$1.ConfirmationService }, { token: HitUserGateService }, { token: i1.RestService }], target: i0.ɵɵFactoryTarget.Component });
2616
+ HitGateFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: HitGateFormComponent, selector: "lib-hit-gate-form", inputs: { visible: "visible", record: "record" }, outputs: { visibleChange: "visibleChange", saved: "saved", cancelled: "cancelled" }, usesOnChanges: true, ngImport: i0, template: "<abp-modal [visible]=\"visible\" (visibleChange)=\"onModalVisibleChange($event)\" [options]=\"{ size: 'xl', backdrop: 'static' }\">\r\n <ng-template #abpHeader>\r\n <h3>{{ record?.code ? ('AbpUi::Edit' | abpLocalization) : ('Kadooglu::NewRecord' | abpLocalization) }}</h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <div class=\"border rounded p-3 mb-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-door-open me-2\"></i>{{ 'Kadooglu::BasicInfo' | abpLocalization }}\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::Code' | abpLocalization }} <span class=\"text-danger\">*</span></label>\r\n <dx-text-box [(value)]=\"code\" [disabled]=\"!!record?.code\" placeholder=\"Kap\u0131 kodu\" width=\"100%\"></dx-text-box>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::Name' | abpLocalization }} <span class=\"text-danger\">*</span></label>\r\n <dx-text-box [(value)]=\"name\" placeholder=\"Kap\u0131 ad\u0131\" width=\"100%\"></dx-text-box>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"border rounded p-3 mb-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-users me-2\"></i>{{ 'Kadooglu::UserAuthorization' | abpLocalization }}\r\n </div>\r\n\r\n <div class=\"d-flex gap-2 mb-3\">\r\n <dx-select-box\r\n [(value)]=\"selectedUserIdToAdd\"\r\n [dataSource]=\"allAbpUsers\"\r\n displayExpr=\"userName\"\r\n valueExpr=\"id\"\r\n [placeholder]=\"'Kadooglu::SelectUser' | abpLocalization\"\r\n [searchEnabled]=\"true\"\r\n style=\"flex: 1\">\r\n </dx-select-box>\r\n <button type=\"button\" class=\"btn btn-outline-primary btn-sm text-nowrap\" (click)=\"addUser()\">\r\n <i class=\"fa fa-plus me-1\"></i>{{ 'Kadooglu::Add' | abpLocalization }}\r\n </button>\r\n </div>\r\n\r\n <dx-data-grid\r\n [dataSource]=\"userGates\"\r\n [showBorders]=\"true\"\r\n [showRowLines]=\"true\"\r\n [columnAutoWidth]=\"true\"\r\n [noDataText]=\"'Kadooglu::NoUsersAdded' | abpLocalization\">\r\n <dxi-column dataField=\"userName\" caption=\"{{ 'Kadooglu::User' | abpLocalization }}\" [allowEditing]=\"false\"></dxi-column>\r\n <dxi-column dataField=\"u_UserId\" caption=\"{{ 'Kadooglu::UserId' | abpLocalization }}\" [allowEditing]=\"false\" [visible]=\"false\"></dxi-column>\r\n <dxi-column caption=\"{{ 'Kadooglu::Default' | abpLocalization }}\" [width]=\"100\" cellTemplate=\"defaultTemplate\"></dxi-column>\r\n <dxi-column caption=\"{{ 'AbpUi::Delete' | abpLocalization }}\" [width]=\"70\" cellTemplate=\"deleteTemplate\"></dxi-column>\r\n\r\n <div *dxTemplate=\"let d of 'defaultTemplate'\">\r\n <div class=\"text-center\">\r\n <input\r\n type=\"checkbox\"\r\n [checked]=\"d.data.u_IsDefault === 'Y'\"\r\n (change)=\"setDefault(d.rowIndex)\">\r\n </div>\r\n </div>\r\n <div *dxTemplate=\"let d of 'deleteTemplate'\">\r\n <div class=\"text-center\">\r\n <button type=\"button\" class=\"btn btn-outline-danger btn-sm\" (click)=\"removeUser(d.rowIndex)\">\r\n <i class=\"fa fa-trash\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </dx-data-grid>\r\n </div>\r\n\r\n <!-- Durum -->\r\n <div class=\"border rounded p-3 mt-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-toggle-on me-2\"></i>{{ 'Kadooglu::Status' | abpLocalization }}\r\n </div>\r\n <dx-check-box [(value)]=\"isActive\" [text]=\"'Kadooglu::IsActive' | abpLocalization\"></dx-check-box>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #abpFooter>\r\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"cancel()\">\r\n {{ 'AbpUi::Cancel' | abpLocalization }}\r\n </button>\r\n <abp-button iconClass=\"fa fa-save\" buttonType=\"button\" [loading]=\"isLoading\" (click)=\"save()\">\r\n {{ 'AbpUi::Save' | abpLocalization }}\r\n </abp-button>\r\n </ng-template>\r\n</abp-modal>\r\n", dependencies: [{ kind: "component", type: i2$1.ButtonComponent, selector: "abp-button", inputs: ["buttonId", "buttonClass", "buttonType", "formName", "iconClass", "loading", "disabled", "attributes"], outputs: ["click", "focus", "blur", "abpClick", "abpFocus", "abpBlur"] }, { kind: "component", type: i2$1.ModalComponent, selector: "abp-modal", inputs: ["visible", "busy", "options", "suppressUnsavedChangesWarning"], outputs: ["visibleChange", "init", "appear", "disappear"] }, { kind: "component", type: i5.DxDataGridComponent, selector: "dx-data-grid", inputs: ["accessKey", "activeStateEnabled", "allowColumnReordering", "allowColumnResizing", "autoNavigateToFocusedRow", "cacheEnabled", "cellHintEnabled", "columnAutoWidth", "columnChooser", "columnFixing", "columnHidingEnabled", "columnMinWidth", "columnResizingMode", "columns", "columnWidth", "customizeColumns", "dataRowTemplate", "dataSource", "dateSerializationFormat", "disabled", "editing", "elementAttr", "errorRowEnabled", "export", "filterBuilder", "filterBuilderPopup", "filterPanel", "filterRow", "filterSyncEnabled", "filterValue", "focusedColumnIndex", "focusedRowEnabled", "focusedRowIndex", "focusedRowKey", "grouping", "groupPanel", "headerFilter", "height", "highlightChanges", "hint", "hoverStateEnabled", "keyboardNavigation", "keyExpr", "loadPanel", "masterDetail", "noDataText", "pager", "paging", "remoteOperations", "renderAsync", "repaintChangesOnly", "rowAlternationEnabled", "rowDragging", "rowTemplate", "rtlEnabled", "scrolling", "searchPanel", "selectedRowKeys", "selection", "selectionFilter", "showBorders", "showColumnHeaders", "showColumnLines", "showRowLines", "sortByGroupSummaryInfo", "sorting", "stateStoring", "summary", "syncLookupFilterValues", "tabIndex", "toolbar", "twoWayBindingEnabled", "visible", "width", "wordWrapEnabled"], outputs: ["onAdaptiveDetailRowPreparing", "onCellClick", "onCellDblClick", "onCellHoverChanged", "onCellPrepared", "onContentReady", "onContextMenuPreparing", "onDataErrorOccurred", "onDisposing", "onEditCanceled", "onEditCanceling", "onEditingStart", "onEditorPrepared", "onEditorPreparing", "onExporting", "onFocusedCellChanged", "onFocusedCellChanging", "onFocusedRowChanged", "onFocusedRowChanging", "onInitialized", "onInitNewRow", "onKeyDown", "onOptionChanged", "onRowClick", "onRowCollapsed", "onRowCollapsing", "onRowDblClick", "onRowExpanded", "onRowExpanding", "onRowInserted", "onRowInserting", "onRowPrepared", "onRowRemoved", "onRowRemoving", "onRowUpdated", "onRowUpdating", "onRowValidating", "onSaved", "onSaving", "onSelectionChanged", "onToolbarPreparing", "accessKeyChange", "activeStateEnabledChange", "allowColumnReorderingChange", "allowColumnResizingChange", "autoNavigateToFocusedRowChange", "cacheEnabledChange", "cellHintEnabledChange", "columnAutoWidthChange", "columnChooserChange", "columnFixingChange", "columnHidingEnabledChange", "columnMinWidthChange", "columnResizingModeChange", "columnsChange", "columnWidthChange", "customizeColumnsChange", "dataRowTemplateChange", "dataSourceChange", "dateSerializationFormatChange", "disabledChange", "editingChange", "elementAttrChange", "errorRowEnabledChange", "exportChange", "filterBuilderChange", "filterBuilderPopupChange", "filterPanelChange", "filterRowChange", "filterSyncEnabledChange", "filterValueChange", "focusedColumnIndexChange", "focusedRowEnabledChange", "focusedRowIndexChange", "focusedRowKeyChange", "groupingChange", "groupPanelChange", "headerFilterChange", "heightChange", "highlightChangesChange", "hintChange", "hoverStateEnabledChange", "keyboardNavigationChange", "keyExprChange", "loadPanelChange", "masterDetailChange", "noDataTextChange", "pagerChange", "pagingChange", "remoteOperationsChange", "renderAsyncChange", "repaintChangesOnlyChange", "rowAlternationEnabledChange", "rowDraggingChange", "rowTemplateChange", "rtlEnabledChange", "scrollingChange", "searchPanelChange", "selectedRowKeysChange", "selectionChange", "selectionFilterChange", "showBordersChange", "showColumnHeadersChange", "showColumnLinesChange", "showRowLinesChange", "sortByGroupSummaryInfoChange", "sortingChange", "stateStoringChange", "summaryChange", "syncLookupFilterValuesChange", "tabIndexChange", "toolbarChange", "twoWayBindingEnabledChange", "visibleChange", "widthChange", "wordWrapEnabledChange"] }, { kind: "component", type: i5$1.DxiColumnComponent, selector: "dxi-column", inputs: ["alignment", "allowEditing", "allowExporting", "allowFiltering", "allowFixing", "allowGrouping", "allowHeaderFiltering", "allowHiding", "allowReordering", "allowResizing", "allowSearch", "allowSorting", "autoExpandGroup", "buttons", "calculateCellValue", "calculateDisplayValue", "calculateFilterExpression", "calculateGroupValue", "calculateSortValue", "caption", "cellTemplate", "columns", "cssClass", "customizeText", "dataField", "dataType", "editCellTemplate", "editorOptions", "encodeHtml", "falseText", "filterOperations", "filterType", "filterValue", "filterValues", "fixed", "fixedPosition", "format", "formItem", "groupCellTemplate", "groupIndex", "headerCellTemplate", "headerFilter", "hidingPriority", "isBand", "lookup", "minWidth", "name", "ownerBand", "renderAsync", "selectedFilterOperation", "setCellValue", "showEditorAlways", "showInColumnChooser", "showWhenGrouped", "sortIndex", "sortingMethod", "sortOrder", "trueText", "type", "validationRules", "visible", "visibleIndex", "width"], outputs: ["filterValueChange", "filterValuesChange", "groupIndexChange", "selectedFilterOperationChange", "sortIndexChange", "sortOrderChange", "visibleChange", "visibleIndexChange"] }, { kind: "directive", type: i7.DxTemplateDirective, selector: "[dxTemplate]", inputs: ["dxTemplateOf"] }, { kind: "component", type: i5.DxTextBoxComponent, selector: "dx-text-box", inputs: ["accessKey", "activeStateEnabled", "buttons", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "inputAttr", "isValid", "label", "labelMode", "mask", "maskChar", "maskInvalidMessage", "maskRules", "maxLength", "mode", "name", "placeholder", "readOnly", "rtlEnabled", "showClearButton", "showMaskMode", "spellcheck", "stylingMode", "tabIndex", "text", "useMaskedValue", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "valueChangeEvent", "visible", "width"], outputs: ["onChange", "onContentReady", "onCopy", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onKeyDown", "onKeyUp", "onOptionChanged", "onPaste", "onValueChanged", "accessKeyChange", "activeStateEnabledChange", "buttonsChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "isValidChange", "labelChange", "labelModeChange", "maskChange", "maskCharChange", "maskInvalidMessageChange", "maskRulesChange", "maxLengthChange", "modeChange", "nameChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "showClearButtonChange", "showMaskModeChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "useMaskedValueChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "visibleChange", "widthChange", "onBlur"] }, { kind: "component", type: i5.DxSelectBoxComponent, selector: "dx-select-box", inputs: ["acceptCustomValue", "accessKey", "activeStateEnabled", "buttons", "customItemCreateEvent", "dataSource", "deferRendering", "disabled", "displayExpr", "displayValue", "dropDownButtonTemplate", "dropDownOptions", "elementAttr", "fieldTemplate", "focusStateEnabled", "grouped", "groupTemplate", "height", "hint", "hoverStateEnabled", "inputAttr", "isValid", "items", "itemTemplate", "label", "labelMode", "maxLength", "minSearchLength", "name", "noDataText", "opened", "openOnFieldClick", "placeholder", "readOnly", "rtlEnabled", "searchEnabled", "searchExpr", "searchMode", "searchTimeout", "selectedItem", "showClearButton", "showDataBeforeSearch", "showDropDownButton", "showSelectionControls", "spellcheck", "stylingMode", "tabIndex", "text", "useItemTextAsTitle", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "valueChangeEvent", "valueExpr", "visible", "width", "wrapItemText"], outputs: ["onChange", "onClosed", "onContentReady", "onCopy", "onCustomItemCreating", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onItemClick", "onKeyDown", "onKeyUp", "onOpened", "onOptionChanged", "onPaste", "onSelectionChanged", "onValueChanged", "acceptCustomValueChange", "accessKeyChange", "activeStateEnabledChange", "buttonsChange", "customItemCreateEventChange", "dataSourceChange", "deferRenderingChange", "disabledChange", "displayExprChange", "displayValueChange", "dropDownButtonTemplateChange", "dropDownOptionsChange", "elementAttrChange", "fieldTemplateChange", "focusStateEnabledChange", "groupedChange", "groupTemplateChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "isValidChange", "itemsChange", "itemTemplateChange", "labelChange", "labelModeChange", "maxLengthChange", "minSearchLengthChange", "nameChange", "noDataTextChange", "openedChange", "openOnFieldClickChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "searchEnabledChange", "searchExprChange", "searchModeChange", "searchTimeoutChange", "selectedItemChange", "showClearButtonChange", "showDataBeforeSearchChange", "showDropDownButtonChange", "showSelectionControlsChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "useItemTextAsTitleChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "valueExprChange", "visibleChange", "widthChange", "wrapItemTextChange", "onBlur"] }, { kind: "component", type: i5.DxCheckBoxComponent, selector: "dx-check-box", inputs: ["accessKey", "activeStateEnabled", "disabled", "elementAttr", "enableThreeStateBehavior", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "iconSize", "isValid", "name", "readOnly", "rtlEnabled", "tabIndex", "text", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "visible", "width"], outputs: ["onContentReady", "onDisposing", "onInitialized", "onOptionChanged", "onValueChanged", "accessKeyChange", "activeStateEnabledChange", "disabledChange", "elementAttrChange", "enableThreeStateBehaviorChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "iconSizeChange", "isValidChange", "nameChange", "readOnlyChange", "rtlEnabledChange", "tabIndexChange", "textChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "visibleChange", "widthChange", "onBlur"] }, { kind: "pipe", type: i1.LocalizationPipe, name: "abpLocalization" }] });
2617
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitGateFormComponent, decorators: [{
2618
+ type: Component,
2619
+ args: [{ selector: 'lib-hit-gate-form', template: "<abp-modal [visible]=\"visible\" (visibleChange)=\"onModalVisibleChange($event)\" [options]=\"{ size: 'xl', backdrop: 'static' }\">\r\n <ng-template #abpHeader>\r\n <h3>{{ record?.code ? ('AbpUi::Edit' | abpLocalization) : ('Kadooglu::NewRecord' | abpLocalization) }}</h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <div class=\"border rounded p-3 mb-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-door-open me-2\"></i>{{ 'Kadooglu::BasicInfo' | abpLocalization }}\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::Code' | abpLocalization }} <span class=\"text-danger\">*</span></label>\r\n <dx-text-box [(value)]=\"code\" [disabled]=\"!!record?.code\" placeholder=\"Kap\u0131 kodu\" width=\"100%\"></dx-text-box>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::Name' | abpLocalization }} <span class=\"text-danger\">*</span></label>\r\n <dx-text-box [(value)]=\"name\" placeholder=\"Kap\u0131 ad\u0131\" width=\"100%\"></dx-text-box>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"border rounded p-3 mb-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-users me-2\"></i>{{ 'Kadooglu::UserAuthorization' | abpLocalization }}\r\n </div>\r\n\r\n <div class=\"d-flex gap-2 mb-3\">\r\n <dx-select-box\r\n [(value)]=\"selectedUserIdToAdd\"\r\n [dataSource]=\"allAbpUsers\"\r\n displayExpr=\"userName\"\r\n valueExpr=\"id\"\r\n [placeholder]=\"'Kadooglu::SelectUser' | abpLocalization\"\r\n [searchEnabled]=\"true\"\r\n style=\"flex: 1\">\r\n </dx-select-box>\r\n <button type=\"button\" class=\"btn btn-outline-primary btn-sm text-nowrap\" (click)=\"addUser()\">\r\n <i class=\"fa fa-plus me-1\"></i>{{ 'Kadooglu::Add' | abpLocalization }}\r\n </button>\r\n </div>\r\n\r\n <dx-data-grid\r\n [dataSource]=\"userGates\"\r\n [showBorders]=\"true\"\r\n [showRowLines]=\"true\"\r\n [columnAutoWidth]=\"true\"\r\n [noDataText]=\"'Kadooglu::NoUsersAdded' | abpLocalization\">\r\n <dxi-column dataField=\"userName\" caption=\"{{ 'Kadooglu::User' | abpLocalization }}\" [allowEditing]=\"false\"></dxi-column>\r\n <dxi-column dataField=\"u_UserId\" caption=\"{{ 'Kadooglu::UserId' | abpLocalization }}\" [allowEditing]=\"false\" [visible]=\"false\"></dxi-column>\r\n <dxi-column caption=\"{{ 'Kadooglu::Default' | abpLocalization }}\" [width]=\"100\" cellTemplate=\"defaultTemplate\"></dxi-column>\r\n <dxi-column caption=\"{{ 'AbpUi::Delete' | abpLocalization }}\" [width]=\"70\" cellTemplate=\"deleteTemplate\"></dxi-column>\r\n\r\n <div *dxTemplate=\"let d of 'defaultTemplate'\">\r\n <div class=\"text-center\">\r\n <input\r\n type=\"checkbox\"\r\n [checked]=\"d.data.u_IsDefault === 'Y'\"\r\n (change)=\"setDefault(d.rowIndex)\">\r\n </div>\r\n </div>\r\n <div *dxTemplate=\"let d of 'deleteTemplate'\">\r\n <div class=\"text-center\">\r\n <button type=\"button\" class=\"btn btn-outline-danger btn-sm\" (click)=\"removeUser(d.rowIndex)\">\r\n <i class=\"fa fa-trash\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </dx-data-grid>\r\n </div>\r\n\r\n <!-- Durum -->\r\n <div class=\"border rounded p-3 mt-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-toggle-on me-2\"></i>{{ 'Kadooglu::Status' | abpLocalization }}\r\n </div>\r\n <dx-check-box [(value)]=\"isActive\" [text]=\"'Kadooglu::IsActive' | abpLocalization\"></dx-check-box>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #abpFooter>\r\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"cancel()\">\r\n {{ 'AbpUi::Cancel' | abpLocalization }}\r\n </button>\r\n <abp-button iconClass=\"fa fa-save\" buttonType=\"button\" [loading]=\"isLoading\" (click)=\"save()\">\r\n {{ 'AbpUi::Save' | abpLocalization }}\r\n </abp-button>\r\n </ng-template>\r\n</abp-modal>\r\n" }]
2620
+ }], ctorParameters: function () { return [{ type: HitGateService }, { type: i2$1.ConfirmationService }, { type: HitUserGateService }, { type: i1.RestService }]; }, propDecorators: { visible: [{
2621
+ type: Input
2622
+ }], visibleChange: [{
2623
+ type: Output
2624
+ }], record: [{
2625
+ type: Input
2626
+ }], saved: [{
2627
+ type: Output
2628
+ }], cancelled: [{
2629
+ type: Output
2630
+ }] } });
2631
+
2632
+ class HitGateListComponent {
2633
+ constructor(service, confirmation) {
2634
+ this.service = service;
2635
+ this.confirmation = confirmation;
2636
+ this.allData = [];
2637
+ this.filteredData = [];
2638
+ this.filterCode = '';
2639
+ this.filterName = '';
2640
+ this.showForm = false;
2641
+ this.disabledIdColumn = false;
2642
+ this.selectedRecord = null;
2643
+ }
2644
+ ngOnInit() {
2645
+ this.loadList();
2646
+ }
2647
+ onToolbarPreparing(e) {
2648
+ e.toolbarOptions.items.unshift({
2649
+ location: 'after',
2650
+ widget: 'dxButton',
2651
+ options: {
2652
+ icon: 'plus',
2653
+ text: 'Yeni Kayıt',
2654
+ type: 'default',
2655
+ onClick: () => this.yeniKayit(),
2656
+ },
2657
+ });
2658
+ }
2659
+ loadList() {
2660
+ this.service.getList().subscribe(data => {
2661
+ this.allData = data;
2662
+ this.filteredData = [...data];
2663
+ });
2664
+ }
2665
+ bul() {
2666
+ this.filteredData = this.allData.filter(x => {
2667
+ if (this.filterCode && !x.code?.toLowerCase().includes(this.filterCode.toLowerCase()))
2668
+ return false;
2669
+ if (this.filterName && !x.name?.toLowerCase().includes(this.filterName.toLowerCase()))
2670
+ return false;
2671
+ return true;
2672
+ });
2673
+ }
2674
+ temizle() {
2675
+ this.filterCode = '';
2676
+ this.filterName = '';
2677
+ this.filteredData = [...this.allData];
2678
+ }
2679
+ yeniKayit() {
2680
+ this.selectedRecord = null;
2681
+ this.showForm = true;
2682
+ }
2683
+ duzenle(row) {
2684
+ this.selectedRecord = { ...row };
2685
+ this.showForm = true;
2686
+ }
2687
+ sil(row) {
2688
+ this.confirmation
2689
+ .warn(`"${row.name}" kapısını silmek istediğinize emin misiniz?`, '', {
2690
+ yesText: 'Evet',
2691
+ cancelText: 'Hayır',
2692
+ })
2693
+ .subscribe(status => {
2694
+ if (status === 'confirm') {
2695
+ this.service.delete(row.code).subscribe(() => this.loadList());
2696
+ }
2697
+ });
2698
+ }
2699
+ onFormSaved() {
2700
+ this.showForm = false;
2701
+ this.loadList();
2702
+ }
2703
+ onFormCancelled() {
2704
+ this.showForm = false;
2705
+ }
2706
+ }
2707
+ HitGateListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitGateListComponent, deps: [{ token: HitGateService }, { token: i2$1.ConfirmationService }], target: i0.ɵɵFactoryTarget.Component });
2708
+ HitGateListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: HitGateListComponent, selector: "lib-hit-gate-list", ngImport: i0, template: "<abp-page [breadcrumb]=\"false\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"row align-items-center\">\r\n <div class=\"col\">\r\n <h3 class=\"page-title\">{{ 'Kadooglu::GateTitle' | abpLocalization }}</h3>\r\n </div>\r\n </div>\r\n </abp-page-toolbar-container>\r\n\r\n <div class=\"card mt-2\">\r\n <div class=\"card-body\">\r\n <dx-data-grid\r\n [dataSource]=\"filteredData\"\r\n [columnAutoWidth]=\"true\"\r\n [showBorders]=\"true\"\r\n [showRowLines]=\"true\"\r\n [hoverStateEnabled]=\"true\"\r\n [allowColumnResizing]=\"true\"\r\n columnResizingMode=\"widget\"\r\n [rowAlternationEnabled]=\"true\"\r\n (onToolbarPreparing)=\"onToolbarPreparing($event)\"\r\n keyExpr=\"code\"\r\n style=\"height: calc(100vh - 320px);\">\r\n\r\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\r\n <dxo-header-filter [visible]=\"true\"></dxo-header-filter>\r\n <dxo-search-panel [visible]=\"true\" [width]=\"200\" [placeholder]=\"'Kadooglu::Ara' | abpLocalization\"></dxo-search-panel>\r\n <dxo-pager [visible]=\"true\" [showInfo]=\"true\" [allowedPageSizes]=\"[10,20,50]\"\r\n [showPageSizeSelector]=\"true\" [showNavigationButtons]=\"true\"></dxo-pager>\r\n <dxo-paging [pageSize]=\"10\"></dxo-paging>\r\n <dxi-column [fixed]=\"true\" dataField=\"id\" width=\"120\" [allowGrouping]=\"false\" [allowFiltering]=\"false\"\r\n [allowHeaderFiltering]=\"false\" [allowHiding]=\"false\" [allowReordering]=\"false\"\r\n cellTemplate=\"operationTemplate\" caption=\"{{ 'AbpUi::Actions' | abpLocalization }}\">\r\n <div *dxTemplate=\"let row of 'operationTemplate'\">\r\n <div ngbDropdown container=\"body\" class=\"d-inline-block\">\r\n <button class=\"btn btn-primary btn-sm dropdown-toggle\" data-toggle=\"dropdown\"\r\n aria-haspopup=\"true\" ngbDropdownToggle [disabled]=\"disabledIdColumn\">\r\n <i class=\"fa fa-cog mr-1\" aria-hidden=\"true\"></i>\r\n {{ 'AbpUi::Actions' | abpLocalization }}\r\n </button>\r\n <div ngbDropdownMenu>\r\n <button ngbDropdownItem (click)=\"duzenle(row.data)\">\r\n <i class=\"fa fa-edit\" aria-hidden=\"true\"></i> {{ 'AbpUi::Edit' | abpLocalization }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </dxi-column>\r\n <dxi-column dataField=\"code\" caption=\"{{ 'Kadooglu::Code' | abpLocalization }}\" [width]=\"150\"></dxi-column>\r\n <dxi-column dataField=\"name\" caption=\"{{ 'Kadooglu::Name' | abpLocalization }}\"></dxi-column>\r\n <dxi-column dataField=\"u_Active\" caption=\"{{ 'Kadooglu::IsActive' | abpLocalization }}\" [width]=\"80\"></dxi-column>\r\n </dx-data-grid>\r\n\r\n </div>\r\n </div>\r\n</abp-page>\r\n\r\n<lib-hit-gate-form\r\n [(visible)]=\"showForm\"\r\n [record]=\"selectedRecord\"\r\n (saved)=\"onFormSaved()\"\r\n (cancelled)=\"onFormCancelled()\">\r\n</lib-hit-gate-form>\r\n", dependencies: [{ kind: "component", type: i4.PageComponent, selector: "abp-page", inputs: ["title", "toolbar", "breadcrumb"] }, { kind: "component", type: i4.PageToolbarContainerComponent, selector: "abp-page-toolbar-container" }, { kind: "component", type: i5.DxDataGridComponent, selector: "dx-data-grid", inputs: ["accessKey", "activeStateEnabled", "allowColumnReordering", "allowColumnResizing", "autoNavigateToFocusedRow", "cacheEnabled", "cellHintEnabled", "columnAutoWidth", "columnChooser", "columnFixing", "columnHidingEnabled", "columnMinWidth", "columnResizingMode", "columns", "columnWidth", "customizeColumns", "dataRowTemplate", "dataSource", "dateSerializationFormat", "disabled", "editing", "elementAttr", "errorRowEnabled", "export", "filterBuilder", "filterBuilderPopup", "filterPanel", "filterRow", "filterSyncEnabled", "filterValue", "focusedColumnIndex", "focusedRowEnabled", "focusedRowIndex", "focusedRowKey", "grouping", "groupPanel", "headerFilter", "height", "highlightChanges", "hint", "hoverStateEnabled", "keyboardNavigation", "keyExpr", "loadPanel", "masterDetail", "noDataText", "pager", "paging", "remoteOperations", "renderAsync", "repaintChangesOnly", "rowAlternationEnabled", "rowDragging", "rowTemplate", "rtlEnabled", "scrolling", "searchPanel", "selectedRowKeys", "selection", "selectionFilter", "showBorders", "showColumnHeaders", "showColumnLines", "showRowLines", "sortByGroupSummaryInfo", "sorting", "stateStoring", "summary", "syncLookupFilterValues", "tabIndex", "toolbar", "twoWayBindingEnabled", "visible", "width", "wordWrapEnabled"], outputs: ["onAdaptiveDetailRowPreparing", "onCellClick", "onCellDblClick", "onCellHoverChanged", "onCellPrepared", "onContentReady", "onContextMenuPreparing", "onDataErrorOccurred", "onDisposing", "onEditCanceled", "onEditCanceling", "onEditingStart", "onEditorPrepared", "onEditorPreparing", "onExporting", "onFocusedCellChanged", "onFocusedCellChanging", "onFocusedRowChanged", "onFocusedRowChanging", "onInitialized", "onInitNewRow", "onKeyDown", "onOptionChanged", "onRowClick", "onRowCollapsed", "onRowCollapsing", "onRowDblClick", "onRowExpanded", "onRowExpanding", "onRowInserted", "onRowInserting", "onRowPrepared", "onRowRemoved", "onRowRemoving", "onRowUpdated", "onRowUpdating", "onRowValidating", "onSaved", "onSaving", "onSelectionChanged", "onToolbarPreparing", "accessKeyChange", "activeStateEnabledChange", "allowColumnReorderingChange", "allowColumnResizingChange", "autoNavigateToFocusedRowChange", "cacheEnabledChange", "cellHintEnabledChange", "columnAutoWidthChange", "columnChooserChange", "columnFixingChange", "columnHidingEnabledChange", "columnMinWidthChange", "columnResizingModeChange", "columnsChange", "columnWidthChange", "customizeColumnsChange", "dataRowTemplateChange", "dataSourceChange", "dateSerializationFormatChange", "disabledChange", "editingChange", "elementAttrChange", "errorRowEnabledChange", "exportChange", "filterBuilderChange", "filterBuilderPopupChange", "filterPanelChange", "filterRowChange", "filterSyncEnabledChange", "filterValueChange", "focusedColumnIndexChange", "focusedRowEnabledChange", "focusedRowIndexChange", "focusedRowKeyChange", "groupingChange", "groupPanelChange", "headerFilterChange", "heightChange", "highlightChangesChange", "hintChange", "hoverStateEnabledChange", "keyboardNavigationChange", "keyExprChange", "loadPanelChange", "masterDetailChange", "noDataTextChange", "pagerChange", "pagingChange", "remoteOperationsChange", "renderAsyncChange", "repaintChangesOnlyChange", "rowAlternationEnabledChange", "rowDraggingChange", "rowTemplateChange", "rtlEnabledChange", "scrollingChange", "searchPanelChange", "selectedRowKeysChange", "selectionChange", "selectionFilterChange", "showBordersChange", "showColumnHeadersChange", "showColumnLinesChange", "showRowLinesChange", "sortByGroupSummaryInfoChange", "sortingChange", "stateStoringChange", "summaryChange", "syncLookupFilterValuesChange", "tabIndexChange", "toolbarChange", "twoWayBindingEnabledChange", "visibleChange", "widthChange", "wordWrapEnabledChange"] }, { kind: "component", type: i5$1.DxiColumnComponent, selector: "dxi-column", inputs: ["alignment", "allowEditing", "allowExporting", "allowFiltering", "allowFixing", "allowGrouping", "allowHeaderFiltering", "allowHiding", "allowReordering", "allowResizing", "allowSearch", "allowSorting", "autoExpandGroup", "buttons", "calculateCellValue", "calculateDisplayValue", "calculateFilterExpression", "calculateGroupValue", "calculateSortValue", "caption", "cellTemplate", "columns", "cssClass", "customizeText", "dataField", "dataType", "editCellTemplate", "editorOptions", "encodeHtml", "falseText", "filterOperations", "filterType", "filterValue", "filterValues", "fixed", "fixedPosition", "format", "formItem", "groupCellTemplate", "groupIndex", "headerCellTemplate", "headerFilter", "hidingPriority", "isBand", "lookup", "minWidth", "name", "ownerBand", "renderAsync", "selectedFilterOperation", "setCellValue", "showEditorAlways", "showInColumnChooser", "showWhenGrouped", "sortIndex", "sortingMethod", "sortOrder", "trueText", "type", "validationRules", "visible", "visibleIndex", "width"], outputs: ["filterValueChange", "filterValuesChange", "groupIndexChange", "selectedFilterOperationChange", "sortIndexChange", "sortOrderChange", "visibleChange", "visibleIndexChange"] }, { kind: "component", type: i5$1.DxoHeaderFilterComponent, selector: "dxo-header-filter", inputs: ["allowSearch", "dataSource", "groupInterval", "height", "searchMode", "width", "searchTimeout", "texts", "visible", "showRelevantValues"] }, { kind: "component", type: i5$1.DxoFilterRowComponent, selector: "dxo-filter-row", inputs: ["applyFilter", "applyFilterText", "betweenEndText", "betweenStartText", "operationDescriptions", "resetOperationText", "showAllText", "showOperationChooser", "visible"] }, { kind: "component", type: i5$1.DxoPagerComponent, selector: "dxo-pager", inputs: ["allowedPageSizes", "displayMode", "infoText", "label", "showInfo", "showNavigationButtons", "showPageSizeSelector", "visible"] }, { kind: "component", type: i5$1.DxoPagingComponent, selector: "dxo-paging", inputs: ["enabled", "pageIndex", "pageSize"], outputs: ["pageIndexChange", "pageSizeChange"] }, { kind: "component", type: i5$1.DxoSearchPanelComponent, selector: "dxo-search-panel", inputs: ["highlightCaseSensitive", "highlightSearchText", "placeholder", "searchVisibleColumnsOnly", "text", "visible", "width"], outputs: ["textChange"] }, { kind: "directive", type: i7.DxTemplateDirective, selector: "[dxTemplate]", inputs: ["dxTemplateOf"] }, { kind: "directive", type: i8.NgbDropdown, selector: "[ngbDropdown]", inputs: ["autoClose", "dropdownClass", "open", "placement", "container", "display"], outputs: ["openChange"], exportAs: ["ngbDropdown"] }, { kind: "directive", type: i8.NgbDropdownToggle, selector: "[ngbDropdownToggle]" }, { kind: "directive", type: i8.NgbDropdownMenu, selector: "[ngbDropdownMenu]" }, { kind: "directive", type: i8.NgbDropdownItem, selector: "[ngbDropdownItem]", inputs: ["disabled"] }, { kind: "component", type: HitGateFormComponent, selector: "lib-hit-gate-form", inputs: ["visible", "record"], outputs: ["visibleChange", "saved", "cancelled"] }, { kind: "pipe", type: i1.LocalizationPipe, name: "abpLocalization" }] });
2709
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitGateListComponent, decorators: [{
2710
+ type: Component,
2711
+ args: [{ selector: 'lib-hit-gate-list', template: "<abp-page [breadcrumb]=\"false\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"row align-items-center\">\r\n <div class=\"col\">\r\n <h3 class=\"page-title\">{{ 'Kadooglu::GateTitle' | abpLocalization }}</h3>\r\n </div>\r\n </div>\r\n </abp-page-toolbar-container>\r\n\r\n <div class=\"card mt-2\">\r\n <div class=\"card-body\">\r\n <dx-data-grid\r\n [dataSource]=\"filteredData\"\r\n [columnAutoWidth]=\"true\"\r\n [showBorders]=\"true\"\r\n [showRowLines]=\"true\"\r\n [hoverStateEnabled]=\"true\"\r\n [allowColumnResizing]=\"true\"\r\n columnResizingMode=\"widget\"\r\n [rowAlternationEnabled]=\"true\"\r\n (onToolbarPreparing)=\"onToolbarPreparing($event)\"\r\n keyExpr=\"code\"\r\n style=\"height: calc(100vh - 320px);\">\r\n\r\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\r\n <dxo-header-filter [visible]=\"true\"></dxo-header-filter>\r\n <dxo-search-panel [visible]=\"true\" [width]=\"200\" [placeholder]=\"'Kadooglu::Ara' | abpLocalization\"></dxo-search-panel>\r\n <dxo-pager [visible]=\"true\" [showInfo]=\"true\" [allowedPageSizes]=\"[10,20,50]\"\r\n [showPageSizeSelector]=\"true\" [showNavigationButtons]=\"true\"></dxo-pager>\r\n <dxo-paging [pageSize]=\"10\"></dxo-paging>\r\n <dxi-column [fixed]=\"true\" dataField=\"id\" width=\"120\" [allowGrouping]=\"false\" [allowFiltering]=\"false\"\r\n [allowHeaderFiltering]=\"false\" [allowHiding]=\"false\" [allowReordering]=\"false\"\r\n cellTemplate=\"operationTemplate\" caption=\"{{ 'AbpUi::Actions' | abpLocalization }}\">\r\n <div *dxTemplate=\"let row of 'operationTemplate'\">\r\n <div ngbDropdown container=\"body\" class=\"d-inline-block\">\r\n <button class=\"btn btn-primary btn-sm dropdown-toggle\" data-toggle=\"dropdown\"\r\n aria-haspopup=\"true\" ngbDropdownToggle [disabled]=\"disabledIdColumn\">\r\n <i class=\"fa fa-cog mr-1\" aria-hidden=\"true\"></i>\r\n {{ 'AbpUi::Actions' | abpLocalization }}\r\n </button>\r\n <div ngbDropdownMenu>\r\n <button ngbDropdownItem (click)=\"duzenle(row.data)\">\r\n <i class=\"fa fa-edit\" aria-hidden=\"true\"></i> {{ 'AbpUi::Edit' | abpLocalization }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </dxi-column>\r\n <dxi-column dataField=\"code\" caption=\"{{ 'Kadooglu::Code' | abpLocalization }}\" [width]=\"150\"></dxi-column>\r\n <dxi-column dataField=\"name\" caption=\"{{ 'Kadooglu::Name' | abpLocalization }}\"></dxi-column>\r\n <dxi-column dataField=\"u_Active\" caption=\"{{ 'Kadooglu::IsActive' | abpLocalization }}\" [width]=\"80\"></dxi-column>\r\n </dx-data-grid>\r\n\r\n </div>\r\n </div>\r\n</abp-page>\r\n\r\n<lib-hit-gate-form\r\n [(visible)]=\"showForm\"\r\n [record]=\"selectedRecord\"\r\n (saved)=\"onFormSaved()\"\r\n (cancelled)=\"onFormCancelled()\">\r\n</lib-hit-gate-form>\r\n" }]
2712
+ }], ctorParameters: function () { return [{ type: HitGateService }, { type: i2$1.ConfirmationService }]; } });
2713
+
2714
+ const routes$4 = [
2715
+ { path: '', component: HitGateListComponent },
2716
+ ];
2717
+ class HitGateRoutingModule {
2718
+ }
2719
+ HitGateRoutingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitGateRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2720
+ HitGateRoutingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: HitGateRoutingModule, imports: [i1$1.RouterModule], exports: [RouterModule] });
2721
+ HitGateRoutingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitGateRoutingModule, imports: [RouterModule.forChild(routes$4), RouterModule] });
2722
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitGateRoutingModule, decorators: [{
2723
+ type: NgModule,
2724
+ args: [{
2725
+ imports: [RouterModule.forChild(routes$4)],
2726
+ exports: [RouterModule],
2727
+ }]
2728
+ }] });
2729
+
2730
+ class HitGateModule {
2731
+ }
2732
+ HitGateModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitGateModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2733
+ HitGateModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: HitGateModule, declarations: [HitGateListComponent, HitGateFormComponent], imports: [CommonModule,
2734
+ FormsModule,
2735
+ CoreModule,
2736
+ ThemeSharedModule,
2737
+ PageModule,
2738
+ CommercialUiModule,
2739
+ HitGateRoutingModule,
2740
+ HitUIModule,
2741
+ DxDataGridModule,
2742
+ DxTextBoxModule,
2743
+ DxButtonModule,
2744
+ DxSelectBoxModule,
2745
+ DxCheckBoxModule,
2746
+ NgbDropdownModule] });
2747
+ HitGateModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitGateModule, imports: [CommonModule,
2748
+ FormsModule,
2749
+ CoreModule,
2750
+ ThemeSharedModule,
2751
+ PageModule,
2752
+ CommercialUiModule,
2753
+ HitGateRoutingModule,
2754
+ HitUIModule,
2755
+ DxDataGridModule,
2756
+ DxTextBoxModule,
2757
+ DxButtonModule,
2758
+ DxSelectBoxModule,
2759
+ DxCheckBoxModule,
2760
+ NgbDropdownModule] });
2761
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitGateModule, decorators: [{
2762
+ type: NgModule,
2763
+ args: [{
2764
+ declarations: [HitGateListComponent, HitGateFormComponent],
2765
+ imports: [
2766
+ CommonModule,
2767
+ FormsModule,
2768
+ CoreModule,
2769
+ ThemeSharedModule,
2770
+ PageModule,
2771
+ CommercialUiModule,
2772
+ HitGateRoutingModule,
2773
+ HitUIModule,
2774
+ DxDataGridModule,
2775
+ DxTextBoxModule,
2776
+ DxButtonModule,
2777
+ DxSelectBoxModule,
2778
+ DxCheckBoxModule,
2779
+ NgbDropdownModule,
2780
+ ],
2781
+ }]
2782
+ }] });
2783
+ function loadHitGateModuleAsChild() {
2784
+ return Promise.resolve(HitGateModule);
2785
+ }
2786
+
2787
+ class HitCarrierPersonFormComponent {
2788
+ constructor(service, confirmation, plateService) {
2789
+ this.service = service;
2790
+ this.confirmation = confirmation;
2791
+ this.plateService = plateService;
2792
+ this.visible = false;
2793
+ this.visibleChange = new EventEmitter();
2794
+ this.record = null;
2795
+ this.saved = new EventEmitter();
2796
+ this.cancelled = new EventEmitter();
2797
+ this.code = '';
2798
+ this.name = '';
2799
+ this.u_Firstname = '';
2800
+ this.u_Lastname = '';
2801
+ this.u_Plate = '';
2802
+ this.u_Tel = '';
2803
+ this.isActive = false;
2804
+ this.u_DefBP = '';
2805
+ this.u_CarrierFirm = '';
2806
+ this.isTcCitizen = true;
2807
+ this.isLoading = false;
2808
+ this.plateData = [];
2809
+ this.plateColumns = [
2810
+ { dataField: 'code', caption: 'Plaka', width: 120 },
2811
+ { dataField: 'name', caption: 'Açıklama' },
2812
+ { dataField: 'u_Model', caption: 'Model' },
2813
+ ];
2814
+ }
2815
+ ngOnInit() {
2816
+ this.plateService.getList().subscribe(d => (this.plateData = d));
2817
+ }
2818
+ ngOnChanges(changes) {
2819
+ if (changes['visible']?.currentValue === true) {
2820
+ this.initForm();
2821
+ }
2822
+ }
2823
+ initForm() {
2824
+ this.isTcCitizen = true;
2825
+ if (this.record) {
2826
+ this.code = this.record.code;
2827
+ this.name = this.record.name;
2828
+ this.u_Firstname = this.record.u_Firstname ?? '';
2829
+ this.u_Lastname = this.record.u_Lastname ?? '';
2830
+ this.u_Plate = this.record.u_Plate ?? '';
2831
+ this.u_Tel = this.record.u_Tel ?? '';
2832
+ this.isActive = this.record.u_Active === 'Y';
2833
+ this.u_DefBP = this.record.u_DefBP ?? '';
2834
+ this.u_CarrierFirm = this.record.u_CarrierFirm ?? '';
2835
+ }
2836
+ else {
2837
+ this.code = '';
2838
+ this.name = '';
2839
+ this.u_Firstname = '';
2840
+ this.u_Lastname = '';
2841
+ this.u_Plate = '';
2842
+ this.u_Tel = '';
2843
+ this.isActive = true;
2844
+ this.u_DefBP = '';
2845
+ this.u_CarrierFirm = '';
2846
+ }
2847
+ }
2848
+ onPlateSelected(e) {
2849
+ if (!e)
2850
+ return;
2851
+ this.u_Plate = e.code;
2852
+ }
2853
+ save() {
2854
+ const fullName = [this.u_Firstname, this.u_Lastname].filter(Boolean).join(' ').trim();
2855
+ if (!this.code || !fullName) {
2856
+ this.confirmation.warn('Lütfen T.C. No, Ad ve Soyad alanlarını doldurunuz.', '', {
2857
+ hideYesBtn: true,
2858
+ cancelText: 'Kapat',
2859
+ dismissible: false,
2860
+ });
2861
+ return;
2862
+ }
2863
+ if (this.isTcCitizen && !this.record?.code && !this.validateTCKN(this.code)) {
2864
+ this.confirmation.warn('Geçersiz T.C. Kimlik No. Lütfen 11 haneli, geçerli bir TCKN giriniz.', '', {
2865
+ hideYesBtn: true,
2866
+ cancelText: 'Kapat',
2867
+ dismissible: false,
2868
+ });
2869
+ return;
2870
+ }
2871
+ const dto = {
2872
+ code: this.code,
2873
+ name: fullName,
2874
+ u_Firstname: this.u_Firstname,
2875
+ u_Lastname: this.u_Lastname,
2876
+ u_Plate: this.u_Plate,
2877
+ u_Tel: this.u_Tel,
2878
+ u_Active: this.isActive ? 'Y' : 'N',
2879
+ u_DefBP: this.u_DefBP,
2880
+ u_CarrierFirm: this.u_CarrierFirm,
2881
+ };
2882
+ const obs$ = this.record?.code
2883
+ ? this.service.update(this.record.code, dto)
2884
+ : this.service.create(dto);
2885
+ this.isLoading = true;
2886
+ obs$.subscribe({
2887
+ next: () => {
2888
+ this.isLoading = false;
2889
+ this.saved.emit();
2890
+ },
2891
+ error: () => {
2892
+ this.isLoading = false;
2893
+ },
2894
+ });
2895
+ }
2896
+ onModalVisibleChange(val) {
2897
+ this.visible = val;
2898
+ this.visibleChange.emit(val);
2899
+ if (!val) {
2900
+ this.cancelled.emit();
2901
+ }
2902
+ }
2903
+ cancel() {
2904
+ this.onModalVisibleChange(false);
2905
+ }
2906
+ validateTCKN(value) {
2907
+ const tc = value?.trim();
2908
+ if (!tc || tc.length !== 11)
2909
+ return false;
2910
+ if (!/^\d{11}$/.test(tc))
2911
+ return false;
2912
+ if (tc[0] === '0')
2913
+ return false;
2914
+ const d = tc.split('').map(Number);
2915
+ const d10 = ((d[0] + d[2] + d[4] + d[6] + d[8]) * 7 - (d[1] + d[3] + d[5] + d[7])) % 10;
2916
+ if (d10 !== d[9])
2917
+ return false;
2918
+ const d11 = d.slice(0, 10).reduce((a, b) => a + b, 0) % 10;
2919
+ return d11 === d[10];
2920
+ }
2921
+ }
2922
+ HitCarrierPersonFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitCarrierPersonFormComponent, deps: [{ token: HitCarrierPersonService }, { token: i2$1.ConfirmationService }, { token: HitPlateService }], target: i0.ɵɵFactoryTarget.Component });
2923
+ HitCarrierPersonFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: HitCarrierPersonFormComponent, selector: "lib-hit-carrier-person-form", inputs: { visible: "visible", record: "record" }, outputs: { visibleChange: "visibleChange", saved: "saved", cancelled: "cancelled" }, usesOnChanges: true, ngImport: i0, template: "<abp-modal [visible]=\"visible\" (visibleChange)=\"onModalVisibleChange($event)\" [options]=\"{ size: 'lg', backdrop: 'static' }\">\r\n <ng-template #abpHeader>\r\n <h3>{{ record?.code ? ('AbpUi::Edit' | abpLocalization) : ('Kadooglu::NewRecord' | abpLocalization) }}</h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <!-- B\u00F6l\u00FCm 1: Kimlik Bilgileri -->\r\n <div class=\"border rounded p-3 mb-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-id-card me-2\"></i>{{ 'Kadooglu::IdentityInfo' | abpLocalization }}\r\n </div>\r\n\r\n <div class=\"row mb-3\">\r\n <div class=\"col-md-12\">\r\n <div class=\"d-flex align-items-center gap-2 mb-1\">\r\n <label class=\"form-label mb-0 small fw-semibold text-muted\">\r\n {{ isTcCitizen ? ('Kadooglu::TcIdentityNo' | abpLocalization) : 'Kimlik No' }} <span class=\"text-danger\">*</span>\r\n </label>\r\n <dx-check-box [(value)]=\"isTcCitizen\" text=\"T.C. Vatanda\u015F\u0131\"></dx-check-box>\r\n </div>\r\n <dx-text-box [(value)]=\"code\" [disabled]=\"!!record?.code\"\r\n [placeholder]=\"isTcCitizen ? ('Kadooglu::TcIdentityNo' | abpLocalization) : 'Kimlik No'\" width=\"100%\"></dx-text-box>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row\">\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">\r\n {{ 'Kadooglu::FirstName' | abpLocalization }} <span class=\"text-danger\">*</span>\r\n </label>\r\n <dx-text-box [(value)]=\"u_Firstname\" [placeholder]=\"'Kadooglu::FirstName' | abpLocalization\" width=\"100%\"></dx-text-box>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">\r\n {{ 'Kadooglu::LastName' | abpLocalization }} <span class=\"text-danger\">*</span>\r\n </label>\r\n <dx-text-box [(value)]=\"u_Lastname\" [placeholder]=\"'Kadooglu::LastName' | abpLocalization\" width=\"100%\"></dx-text-box>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- B\u00F6l\u00FCm 2: \u0130leti\u015Fim & Ara\u00E7 Bilgileri -->\r\n <div class=\"border rounded p-3 mb-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-truck me-2\"></i>{{ 'Kadooglu::ContactAndVehicleInfo' | abpLocalization }}\r\n </div>\r\n\r\n <div class=\"row mb-3\">\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::Phone' | abpLocalization }}</label>\r\n <dx-text-box [(value)]=\"u_Tel\" placeholder=\"Telefon numaras\u0131\" width=\"100%\"></dx-text-box>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::Plate' | abpLocalization }}</label>\r\n <hit-lookup-select\r\n [getFn]=\"plateData\"\r\n [columns]=\"plateColumns\"\r\n displayName=\"code\"\r\n keyExpr=\"code\"\r\n [editingData]=\"u_Plate\"\r\n (selected)=\"onPlateSelected($event)\">\r\n </hit-lookup-select>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row\">\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::CarrierFirm' | abpLocalization }}</label>\r\n <dx-text-box [(value)]=\"u_CarrierFirm\" placeholder=\"Firma ad\u0131\" width=\"100%\"></dx-text-box>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::DefaultBusinessPartner' | abpLocalization }}</label>\r\n <dx-text-box [(value)]=\"u_DefBP\" placeholder=\"Varsay\u0131lan cari\" width=\"100%\"></dx-text-box>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- B\u00F6l\u00FCm 3: Durum -->\r\n <div class=\"border rounded p-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-toggle-on me-2\"></i>{{ 'Kadooglu::Status' | abpLocalization }}\r\n </div>\r\n <dx-check-box [(value)]=\"isActive\" [text]=\"'Kadooglu::IsActive' | abpLocalization\"></dx-check-box>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #abpFooter>\r\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"cancel()\">\r\n {{ 'AbpUi::Cancel' | abpLocalization }}\r\n </button>\r\n <abp-button iconClass=\"fa fa-save\" buttonType=\"button\" [loading]=\"isLoading\" (click)=\"save()\">\r\n {{ 'AbpUi::Save' | abpLocalization }}\r\n </abp-button>\r\n </ng-template>\r\n</abp-modal>\r\n", dependencies: [{ kind: "component", type: i2$1.ButtonComponent, selector: "abp-button", inputs: ["buttonId", "buttonClass", "buttonType", "formName", "iconClass", "loading", "disabled", "attributes"], outputs: ["click", "focus", "blur", "abpClick", "abpFocus", "abpBlur"] }, { kind: "component", type: i2$1.ModalComponent, selector: "abp-modal", inputs: ["visible", "busy", "options", "suppressUnsavedChangesWarning"], outputs: ["visibleChange", "init", "appear", "disappear"] }, { kind: "component", type: HitModalComponent, selector: "hit-lookup-select", inputs: ["displayName", "keyExpr", "modalSize", "getFn", "loadFn", "columns", "isVisible", "disabled", "editingData"], outputs: ["selected"] }, { kind: "component", type: i5.DxTextBoxComponent, selector: "dx-text-box", inputs: ["accessKey", "activeStateEnabled", "buttons", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "inputAttr", "isValid", "label", "labelMode", "mask", "maskChar", "maskInvalidMessage", "maskRules", "maxLength", "mode", "name", "placeholder", "readOnly", "rtlEnabled", "showClearButton", "showMaskMode", "spellcheck", "stylingMode", "tabIndex", "text", "useMaskedValue", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "valueChangeEvent", "visible", "width"], outputs: ["onChange", "onContentReady", "onCopy", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onKeyDown", "onKeyUp", "onOptionChanged", "onPaste", "onValueChanged", "accessKeyChange", "activeStateEnabledChange", "buttonsChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "isValidChange", "labelChange", "labelModeChange", "maskChange", "maskCharChange", "maskInvalidMessageChange", "maskRulesChange", "maxLengthChange", "modeChange", "nameChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "showClearButtonChange", "showMaskModeChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "useMaskedValueChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "visibleChange", "widthChange", "onBlur"] }, { kind: "component", type: i5.DxCheckBoxComponent, selector: "dx-check-box", inputs: ["accessKey", "activeStateEnabled", "disabled", "elementAttr", "enableThreeStateBehavior", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "iconSize", "isValid", "name", "readOnly", "rtlEnabled", "tabIndex", "text", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "visible", "width"], outputs: ["onContentReady", "onDisposing", "onInitialized", "onOptionChanged", "onValueChanged", "accessKeyChange", "activeStateEnabledChange", "disabledChange", "elementAttrChange", "enableThreeStateBehaviorChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "iconSizeChange", "isValidChange", "nameChange", "readOnlyChange", "rtlEnabledChange", "tabIndexChange", "textChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "visibleChange", "widthChange", "onBlur"] }, { kind: "pipe", type: i1.LocalizationPipe, name: "abpLocalization" }] });
2924
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitCarrierPersonFormComponent, decorators: [{
2925
+ type: Component,
2926
+ args: [{ selector: 'lib-hit-carrier-person-form', template: "<abp-modal [visible]=\"visible\" (visibleChange)=\"onModalVisibleChange($event)\" [options]=\"{ size: 'lg', backdrop: 'static' }\">\r\n <ng-template #abpHeader>\r\n <h3>{{ record?.code ? ('AbpUi::Edit' | abpLocalization) : ('Kadooglu::NewRecord' | abpLocalization) }}</h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <!-- B\u00F6l\u00FCm 1: Kimlik Bilgileri -->\r\n <div class=\"border rounded p-3 mb-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-id-card me-2\"></i>{{ 'Kadooglu::IdentityInfo' | abpLocalization }}\r\n </div>\r\n\r\n <div class=\"row mb-3\">\r\n <div class=\"col-md-12\">\r\n <div class=\"d-flex align-items-center gap-2 mb-1\">\r\n <label class=\"form-label mb-0 small fw-semibold text-muted\">\r\n {{ isTcCitizen ? ('Kadooglu::TcIdentityNo' | abpLocalization) : 'Kimlik No' }} <span class=\"text-danger\">*</span>\r\n </label>\r\n <dx-check-box [(value)]=\"isTcCitizen\" text=\"T.C. Vatanda\u015F\u0131\"></dx-check-box>\r\n </div>\r\n <dx-text-box [(value)]=\"code\" [disabled]=\"!!record?.code\"\r\n [placeholder]=\"isTcCitizen ? ('Kadooglu::TcIdentityNo' | abpLocalization) : 'Kimlik No'\" width=\"100%\"></dx-text-box>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row\">\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">\r\n {{ 'Kadooglu::FirstName' | abpLocalization }} <span class=\"text-danger\">*</span>\r\n </label>\r\n <dx-text-box [(value)]=\"u_Firstname\" [placeholder]=\"'Kadooglu::FirstName' | abpLocalization\" width=\"100%\"></dx-text-box>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">\r\n {{ 'Kadooglu::LastName' | abpLocalization }} <span class=\"text-danger\">*</span>\r\n </label>\r\n <dx-text-box [(value)]=\"u_Lastname\" [placeholder]=\"'Kadooglu::LastName' | abpLocalization\" width=\"100%\"></dx-text-box>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- B\u00F6l\u00FCm 2: \u0130leti\u015Fim & Ara\u00E7 Bilgileri -->\r\n <div class=\"border rounded p-3 mb-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-truck me-2\"></i>{{ 'Kadooglu::ContactAndVehicleInfo' | abpLocalization }}\r\n </div>\r\n\r\n <div class=\"row mb-3\">\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::Phone' | abpLocalization }}</label>\r\n <dx-text-box [(value)]=\"u_Tel\" placeholder=\"Telefon numaras\u0131\" width=\"100%\"></dx-text-box>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::Plate' | abpLocalization }}</label>\r\n <hit-lookup-select\r\n [getFn]=\"plateData\"\r\n [columns]=\"plateColumns\"\r\n displayName=\"code\"\r\n keyExpr=\"code\"\r\n [editingData]=\"u_Plate\"\r\n (selected)=\"onPlateSelected($event)\">\r\n </hit-lookup-select>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row\">\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::CarrierFirm' | abpLocalization }}</label>\r\n <dx-text-box [(value)]=\"u_CarrierFirm\" placeholder=\"Firma ad\u0131\" width=\"100%\"></dx-text-box>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::DefaultBusinessPartner' | abpLocalization }}</label>\r\n <dx-text-box [(value)]=\"u_DefBP\" placeholder=\"Varsay\u0131lan cari\" width=\"100%\"></dx-text-box>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- B\u00F6l\u00FCm 3: Durum -->\r\n <div class=\"border rounded p-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-toggle-on me-2\"></i>{{ 'Kadooglu::Status' | abpLocalization }}\r\n </div>\r\n <dx-check-box [(value)]=\"isActive\" [text]=\"'Kadooglu::IsActive' | abpLocalization\"></dx-check-box>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #abpFooter>\r\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"cancel()\">\r\n {{ 'AbpUi::Cancel' | abpLocalization }}\r\n </button>\r\n <abp-button iconClass=\"fa fa-save\" buttonType=\"button\" [loading]=\"isLoading\" (click)=\"save()\">\r\n {{ 'AbpUi::Save' | abpLocalization }}\r\n </abp-button>\r\n </ng-template>\r\n</abp-modal>\r\n" }]
2927
+ }], ctorParameters: function () { return [{ type: HitCarrierPersonService }, { type: i2$1.ConfirmationService }, { type: HitPlateService }]; }, propDecorators: { visible: [{
2928
+ type: Input
2929
+ }], visibleChange: [{
2930
+ type: Output
2931
+ }], record: [{
2932
+ type: Input
2933
+ }], saved: [{
2934
+ type: Output
2935
+ }], cancelled: [{
2936
+ type: Output
2937
+ }] } });
2938
+
2939
+ class HitCarrierPersonListComponent {
2940
+ constructor(service, confirmation) {
2941
+ this.service = service;
2942
+ this.confirmation = confirmation;
2943
+ this.allData = [];
2944
+ this.filteredData = [];
2945
+ this.filterCode = '';
2946
+ this.filterName = '';
2947
+ this.showForm = false;
2948
+ this.disabledIdColumn = false;
2949
+ this.selectedRecord = null;
2950
+ }
2951
+ ngOnInit() {
2952
+ this.loadList();
2953
+ }
2954
+ onToolbarPreparing(e) {
2955
+ e.toolbarOptions.items.unshift({
2956
+ location: 'after',
2957
+ widget: 'dxButton',
2958
+ options: {
2959
+ icon: 'plus',
2960
+ text: 'Yeni Kayıt',
2961
+ type: 'default',
2962
+ onClick: () => this.yeniKayit(),
2963
+ },
2964
+ });
2965
+ }
2966
+ loadList() {
2967
+ this.service.getList().subscribe(data => {
2968
+ this.allData = data;
2969
+ this.filteredData = [...data];
2970
+ });
2971
+ }
2972
+ bul() {
2973
+ this.filteredData = this.allData.filter(x => {
2974
+ if (this.filterCode && !x.code?.toLowerCase().includes(this.filterCode.toLowerCase()))
2975
+ return false;
2976
+ if (this.filterName && !x.name?.toLowerCase().includes(this.filterName.toLowerCase()))
2977
+ return false;
2978
+ return true;
2979
+ });
2980
+ }
2981
+ temizle() {
2982
+ this.filterCode = '';
2983
+ this.filterName = '';
2984
+ this.filteredData = [...this.allData];
2985
+ }
2986
+ yeniKayit() {
2987
+ this.selectedRecord = null;
2988
+ this.showForm = true;
2989
+ }
2990
+ duzenle(row) {
2991
+ this.selectedRecord = { ...row };
2992
+ this.showForm = true;
2993
+ }
2994
+ sil(row) {
2995
+ this.confirmation
2996
+ .warn(`"${row.name}" şoförünü silmek istediğinize emin misiniz?`, ``, {
2997
+ yesText: 'Evet',
2998
+ cancelText: 'Hayır',
2999
+ })
3000
+ .subscribe(status => {
3001
+ if (status === 'confirm') {
3002
+ this.service.delete(row.code).subscribe(() => this.loadList());
3003
+ }
3004
+ });
3005
+ }
3006
+ onFormSaved() {
3007
+ this.showForm = false;
3008
+ this.loadList();
3009
+ }
3010
+ onFormCancelled() {
3011
+ this.showForm = false;
3012
+ }
3013
+ formatPlate(plate) {
3014
+ if (!plate)
3015
+ return '';
3016
+ const p = plate.replace(/\s+/g, '').toUpperCase();
3017
+ const match = p.match(/^(\d{2})([A-ZÇĞİÖŞÜ]{1,3})(\d{1,4})$/);
3018
+ return match ? `${match[1]} ${match[2]} ${match[3]}` : plate;
3019
+ }
3020
+ }
3021
+ HitCarrierPersonListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitCarrierPersonListComponent, deps: [{ token: HitCarrierPersonService }, { token: i2$1.ConfirmationService }], target: i0.ɵɵFactoryTarget.Component });
3022
+ HitCarrierPersonListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: HitCarrierPersonListComponent, selector: "lib-hit-carrier-person-list", ngImport: i0, template: "<abp-page [breadcrumb]=\"false\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"row align-items-center\">\r\n <div class=\"col\">\r\n <h3 class=\"page-title\">{{ 'Kadooglu::CarrierPersonTitle' | abpLocalization }}</h3>\r\n </div>\r\n </div>\r\n </abp-page-toolbar-container>\r\n\r\n <div class=\"card mt-2\">\r\n <div class=\"card-body\">\r\n <dx-data-grid\r\n #carrierPersonGrid\r\n [dataSource]=\"filteredData\"\r\n [columnAutoWidth]=\"true\"\r\n [showBorders]=\"true\"\r\n [showRowLines]=\"true\"\r\n [hoverStateEnabled]=\"true\"\r\n [allowColumnResizing]=\"true\"\r\n columnResizingMode=\"widget\"\r\n [rowAlternationEnabled]=\"true\"\r\n (onToolbarPreparing)=\"onToolbarPreparing($event)\"\r\n keyExpr=\"code\"\r\n style=\"height: calc(100vh - 320px);\">\r\n\r\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\r\n <dxo-header-filter [visible]=\"true\"></dxo-header-filter>\r\n <dxo-search-panel [visible]=\"true\" [width]=\"200\" [placeholder]=\"'Kadooglu::Ara' | abpLocalization\"></dxo-search-panel>\r\n <dxo-pager [visible]=\"true\" [showInfo]=\"true\" [allowedPageSizes]=\"[10,20,50]\"\r\n [showPageSizeSelector]=\"true\" [showNavigationButtons]=\"true\"></dxo-pager>\r\n <dxo-paging [pageSize]=\"10\"></dxo-paging>\r\n\r\n <dxi-column [fixed]=\"true\" dataField=\"id\" width=\"120\" [allowGrouping]=\"false\" [allowFiltering]=\"false\"\r\n [allowHeaderFiltering]=\"false\" [allowHiding]=\"false\" [allowReordering]=\"false\"\r\n cellTemplate=\"operationTemplate\" caption=\"{{ 'AbpUi::Actions' | abpLocalization }}\">\r\n <div *dxTemplate=\"let row of 'operationTemplate'\">\r\n <div ngbDropdown container=\"body\" class=\"d-inline-block\">\r\n <button class=\"btn btn-primary btn-sm dropdown-toggle\" data-toggle=\"dropdown\"\r\n aria-haspopup=\"true\" ngbDropdownToggle [disabled]=\"disabledIdColumn\">\r\n <i class=\"fa fa-cog mr-1\" aria-hidden=\"true\"></i>\r\n {{ 'AbpUi::Actions' | abpLocalization }}\r\n </button>\r\n <div ngbDropdownMenu>\r\n <button ngbDropdownItem (click)=\"duzenle(row.data)\">\r\n <i class=\"fa fa-edit\" aria-hidden=\"true\"></i> {{ 'AbpUi::Edit' | abpLocalization }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </dxi-column>\r\n\r\n <dxi-column dataField=\"code\" caption=\"{{ 'Kadooglu::TcIdentityNo' | abpLocalization }}\" [width]=\"140\"></dxi-column>\r\n <dxi-column dataField=\"name\" caption=\"{{ 'Kadooglu::FullName' | abpLocalization }}\"></dxi-column>\r\n <dxi-column dataField=\"u_Firstname\" caption=\"{{ 'Kadooglu::FirstName' | abpLocalization }}\" [width]=\"130\"></dxi-column>\r\n <dxi-column dataField=\"u_Lastname\" caption=\"{{ 'Kadooglu::LastName' | abpLocalization }}\" [width]=\"130\"></dxi-column>\r\n <dxi-column dataField=\"u_Plate\" caption=\"{{ 'Kadooglu::Plate' | abpLocalization }}\" cellTemplate=\"plateTemplate\"></dxi-column>\r\n <dxi-column dataField=\"u_Tel\" caption=\"{{ 'Kadooglu::Phone' | abpLocalization }}\" [width]=\"130\"></dxi-column>\r\n <dxi-column dataField=\"u_Active\" caption=\"{{ 'Kadooglu::IsActive' | abpLocalization }}\" [width]=\"80\"></dxi-column>\r\n <dxi-column dataField=\"u_DefBP\" caption=\"{{ 'Kadooglu::DefaultBP' | abpLocalization }}\" [width]=\"100\"></dxi-column>\r\n <dxi-column dataField=\"u_CarrierFirm\" caption=\"{{ 'Kadooglu::CarrierFirm' | abpLocalization }}\" [width]=\"150\"></dxi-column>\r\n <div *dxTemplate=\"let cell of 'plateTemplate'\">\r\n <span *ngIf=\"cell.data.u_Plate\" class=\"tr-plate\">\r\n <span class=\"tr-plate-blue\">TR</span>\r\n <span class=\"tr-plate-text\">{{ formatPlate(cell.data.u_Plate) }}</span>\r\n </span>\r\n </div>\r\n </dx-data-grid>\r\n\r\n </div>\r\n </div>\r\n</abp-page>\r\n\r\n<lib-hit-carrier-person-form\r\n [(visible)]=\"showForm\"\r\n [record]=\"selectedRecord\"\r\n (saved)=\"onFormSaved()\"\r\n (cancelled)=\"onFormCancelled()\">\r\n</lib-hit-carrier-person-form>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.PageComponent, selector: "abp-page", inputs: ["title", "toolbar", "breadcrumb"] }, { kind: "component", type: i4.PageToolbarContainerComponent, selector: "abp-page-toolbar-container" }, { kind: "directive", type: i8.NgbDropdown, selector: "[ngbDropdown]", inputs: ["autoClose", "dropdownClass", "open", "placement", "container", "display"], outputs: ["openChange"], exportAs: ["ngbDropdown"] }, { kind: "directive", type: i8.NgbDropdownToggle, selector: "[ngbDropdownToggle]" }, { kind: "directive", type: i8.NgbDropdownMenu, selector: "[ngbDropdownMenu]" }, { kind: "directive", type: i8.NgbDropdownItem, selector: "[ngbDropdownItem]", inputs: ["disabled"] }, { kind: "component", type: i5.DxDataGridComponent, selector: "dx-data-grid", inputs: ["accessKey", "activeStateEnabled", "allowColumnReordering", "allowColumnResizing", "autoNavigateToFocusedRow", "cacheEnabled", "cellHintEnabled", "columnAutoWidth", "columnChooser", "columnFixing", "columnHidingEnabled", "columnMinWidth", "columnResizingMode", "columns", "columnWidth", "customizeColumns", "dataRowTemplate", "dataSource", "dateSerializationFormat", "disabled", "editing", "elementAttr", "errorRowEnabled", "export", "filterBuilder", "filterBuilderPopup", "filterPanel", "filterRow", "filterSyncEnabled", "filterValue", "focusedColumnIndex", "focusedRowEnabled", "focusedRowIndex", "focusedRowKey", "grouping", "groupPanel", "headerFilter", "height", "highlightChanges", "hint", "hoverStateEnabled", "keyboardNavigation", "keyExpr", "loadPanel", "masterDetail", "noDataText", "pager", "paging", "remoteOperations", "renderAsync", "repaintChangesOnly", "rowAlternationEnabled", "rowDragging", "rowTemplate", "rtlEnabled", "scrolling", "searchPanel", "selectedRowKeys", "selection", "selectionFilter", "showBorders", "showColumnHeaders", "showColumnLines", "showRowLines", "sortByGroupSummaryInfo", "sorting", "stateStoring", "summary", "syncLookupFilterValues", "tabIndex", "toolbar", "twoWayBindingEnabled", "visible", "width", "wordWrapEnabled"], outputs: ["onAdaptiveDetailRowPreparing", "onCellClick", "onCellDblClick", "onCellHoverChanged", "onCellPrepared", "onContentReady", "onContextMenuPreparing", "onDataErrorOccurred", "onDisposing", "onEditCanceled", "onEditCanceling", "onEditingStart", "onEditorPrepared", "onEditorPreparing", "onExporting", "onFocusedCellChanged", "onFocusedCellChanging", "onFocusedRowChanged", "onFocusedRowChanging", "onInitialized", "onInitNewRow", "onKeyDown", "onOptionChanged", "onRowClick", "onRowCollapsed", "onRowCollapsing", "onRowDblClick", "onRowExpanded", "onRowExpanding", "onRowInserted", "onRowInserting", "onRowPrepared", "onRowRemoved", "onRowRemoving", "onRowUpdated", "onRowUpdating", "onRowValidating", "onSaved", "onSaving", "onSelectionChanged", "onToolbarPreparing", "accessKeyChange", "activeStateEnabledChange", "allowColumnReorderingChange", "allowColumnResizingChange", "autoNavigateToFocusedRowChange", "cacheEnabledChange", "cellHintEnabledChange", "columnAutoWidthChange", "columnChooserChange", "columnFixingChange", "columnHidingEnabledChange", "columnMinWidthChange", "columnResizingModeChange", "columnsChange", "columnWidthChange", "customizeColumnsChange", "dataRowTemplateChange", "dataSourceChange", "dateSerializationFormatChange", "disabledChange", "editingChange", "elementAttrChange", "errorRowEnabledChange", "exportChange", "filterBuilderChange", "filterBuilderPopupChange", "filterPanelChange", "filterRowChange", "filterSyncEnabledChange", "filterValueChange", "focusedColumnIndexChange", "focusedRowEnabledChange", "focusedRowIndexChange", "focusedRowKeyChange", "groupingChange", "groupPanelChange", "headerFilterChange", "heightChange", "highlightChangesChange", "hintChange", "hoverStateEnabledChange", "keyboardNavigationChange", "keyExprChange", "loadPanelChange", "masterDetailChange", "noDataTextChange", "pagerChange", "pagingChange", "remoteOperationsChange", "renderAsyncChange", "repaintChangesOnlyChange", "rowAlternationEnabledChange", "rowDraggingChange", "rowTemplateChange", "rtlEnabledChange", "scrollingChange", "searchPanelChange", "selectedRowKeysChange", "selectionChange", "selectionFilterChange", "showBordersChange", "showColumnHeadersChange", "showColumnLinesChange", "showRowLinesChange", "sortByGroupSummaryInfoChange", "sortingChange", "stateStoringChange", "summaryChange", "syncLookupFilterValuesChange", "tabIndexChange", "toolbarChange", "twoWayBindingEnabledChange", "visibleChange", "widthChange", "wordWrapEnabledChange"] }, { kind: "component", type: i5$1.DxiColumnComponent, selector: "dxi-column", inputs: ["alignment", "allowEditing", "allowExporting", "allowFiltering", "allowFixing", "allowGrouping", "allowHeaderFiltering", "allowHiding", "allowReordering", "allowResizing", "allowSearch", "allowSorting", "autoExpandGroup", "buttons", "calculateCellValue", "calculateDisplayValue", "calculateFilterExpression", "calculateGroupValue", "calculateSortValue", "caption", "cellTemplate", "columns", "cssClass", "customizeText", "dataField", "dataType", "editCellTemplate", "editorOptions", "encodeHtml", "falseText", "filterOperations", "filterType", "filterValue", "filterValues", "fixed", "fixedPosition", "format", "formItem", "groupCellTemplate", "groupIndex", "headerCellTemplate", "headerFilter", "hidingPriority", "isBand", "lookup", "minWidth", "name", "ownerBand", "renderAsync", "selectedFilterOperation", "setCellValue", "showEditorAlways", "showInColumnChooser", "showWhenGrouped", "sortIndex", "sortingMethod", "sortOrder", "trueText", "type", "validationRules", "visible", "visibleIndex", "width"], outputs: ["filterValueChange", "filterValuesChange", "groupIndexChange", "selectedFilterOperationChange", "sortIndexChange", "sortOrderChange", "visibleChange", "visibleIndexChange"] }, { kind: "component", type: i5$1.DxoHeaderFilterComponent, selector: "dxo-header-filter", inputs: ["allowSearch", "dataSource", "groupInterval", "height", "searchMode", "width", "searchTimeout", "texts", "visible", "showRelevantValues"] }, { kind: "component", type: i5$1.DxoFilterRowComponent, selector: "dxo-filter-row", inputs: ["applyFilter", "applyFilterText", "betweenEndText", "betweenStartText", "operationDescriptions", "resetOperationText", "showAllText", "showOperationChooser", "visible"] }, { kind: "component", type: i5$1.DxoPagerComponent, selector: "dxo-pager", inputs: ["allowedPageSizes", "displayMode", "infoText", "label", "showInfo", "showNavigationButtons", "showPageSizeSelector", "visible"] }, { kind: "component", type: i5$1.DxoPagingComponent, selector: "dxo-paging", inputs: ["enabled", "pageIndex", "pageSize"], outputs: ["pageIndexChange", "pageSizeChange"] }, { kind: "component", type: i5$1.DxoSearchPanelComponent, selector: "dxo-search-panel", inputs: ["highlightCaseSensitive", "highlightSearchText", "placeholder", "searchVisibleColumnsOnly", "text", "visible", "width"], outputs: ["textChange"] }, { kind: "directive", type: i7.DxTemplateDirective, selector: "[dxTemplate]", inputs: ["dxTemplateOf"] }, { kind: "component", type: HitCarrierPersonFormComponent, selector: "lib-hit-carrier-person-form", inputs: ["visible", "record"], outputs: ["visibleChange", "saved", "cancelled"] }, { kind: "pipe", type: i1.LocalizationPipe, name: "abpLocalization" }] });
3023
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitCarrierPersonListComponent, decorators: [{
3024
+ type: Component,
3025
+ args: [{ selector: 'lib-hit-carrier-person-list', template: "<abp-page [breadcrumb]=\"false\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"row align-items-center\">\r\n <div class=\"col\">\r\n <h3 class=\"page-title\">{{ 'Kadooglu::CarrierPersonTitle' | abpLocalization }}</h3>\r\n </div>\r\n </div>\r\n </abp-page-toolbar-container>\r\n\r\n <div class=\"card mt-2\">\r\n <div class=\"card-body\">\r\n <dx-data-grid\r\n #carrierPersonGrid\r\n [dataSource]=\"filteredData\"\r\n [columnAutoWidth]=\"true\"\r\n [showBorders]=\"true\"\r\n [showRowLines]=\"true\"\r\n [hoverStateEnabled]=\"true\"\r\n [allowColumnResizing]=\"true\"\r\n columnResizingMode=\"widget\"\r\n [rowAlternationEnabled]=\"true\"\r\n (onToolbarPreparing)=\"onToolbarPreparing($event)\"\r\n keyExpr=\"code\"\r\n style=\"height: calc(100vh - 320px);\">\r\n\r\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\r\n <dxo-header-filter [visible]=\"true\"></dxo-header-filter>\r\n <dxo-search-panel [visible]=\"true\" [width]=\"200\" [placeholder]=\"'Kadooglu::Ara' | abpLocalization\"></dxo-search-panel>\r\n <dxo-pager [visible]=\"true\" [showInfo]=\"true\" [allowedPageSizes]=\"[10,20,50]\"\r\n [showPageSizeSelector]=\"true\" [showNavigationButtons]=\"true\"></dxo-pager>\r\n <dxo-paging [pageSize]=\"10\"></dxo-paging>\r\n\r\n <dxi-column [fixed]=\"true\" dataField=\"id\" width=\"120\" [allowGrouping]=\"false\" [allowFiltering]=\"false\"\r\n [allowHeaderFiltering]=\"false\" [allowHiding]=\"false\" [allowReordering]=\"false\"\r\n cellTemplate=\"operationTemplate\" caption=\"{{ 'AbpUi::Actions' | abpLocalization }}\">\r\n <div *dxTemplate=\"let row of 'operationTemplate'\">\r\n <div ngbDropdown container=\"body\" class=\"d-inline-block\">\r\n <button class=\"btn btn-primary btn-sm dropdown-toggle\" data-toggle=\"dropdown\"\r\n aria-haspopup=\"true\" ngbDropdownToggle [disabled]=\"disabledIdColumn\">\r\n <i class=\"fa fa-cog mr-1\" aria-hidden=\"true\"></i>\r\n {{ 'AbpUi::Actions' | abpLocalization }}\r\n </button>\r\n <div ngbDropdownMenu>\r\n <button ngbDropdownItem (click)=\"duzenle(row.data)\">\r\n <i class=\"fa fa-edit\" aria-hidden=\"true\"></i> {{ 'AbpUi::Edit' | abpLocalization }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </dxi-column>\r\n\r\n <dxi-column dataField=\"code\" caption=\"{{ 'Kadooglu::TcIdentityNo' | abpLocalization }}\" [width]=\"140\"></dxi-column>\r\n <dxi-column dataField=\"name\" caption=\"{{ 'Kadooglu::FullName' | abpLocalization }}\"></dxi-column>\r\n <dxi-column dataField=\"u_Firstname\" caption=\"{{ 'Kadooglu::FirstName' | abpLocalization }}\" [width]=\"130\"></dxi-column>\r\n <dxi-column dataField=\"u_Lastname\" caption=\"{{ 'Kadooglu::LastName' | abpLocalization }}\" [width]=\"130\"></dxi-column>\r\n <dxi-column dataField=\"u_Plate\" caption=\"{{ 'Kadooglu::Plate' | abpLocalization }}\" cellTemplate=\"plateTemplate\"></dxi-column>\r\n <dxi-column dataField=\"u_Tel\" caption=\"{{ 'Kadooglu::Phone' | abpLocalization }}\" [width]=\"130\"></dxi-column>\r\n <dxi-column dataField=\"u_Active\" caption=\"{{ 'Kadooglu::IsActive' | abpLocalization }}\" [width]=\"80\"></dxi-column>\r\n <dxi-column dataField=\"u_DefBP\" caption=\"{{ 'Kadooglu::DefaultBP' | abpLocalization }}\" [width]=\"100\"></dxi-column>\r\n <dxi-column dataField=\"u_CarrierFirm\" caption=\"{{ 'Kadooglu::CarrierFirm' | abpLocalization }}\" [width]=\"150\"></dxi-column>\r\n <div *dxTemplate=\"let cell of 'plateTemplate'\">\r\n <span *ngIf=\"cell.data.u_Plate\" class=\"tr-plate\">\r\n <span class=\"tr-plate-blue\">TR</span>\r\n <span class=\"tr-plate-text\">{{ formatPlate(cell.data.u_Plate) }}</span>\r\n </span>\r\n </div>\r\n </dx-data-grid>\r\n\r\n </div>\r\n </div>\r\n</abp-page>\r\n\r\n<lib-hit-carrier-person-form\r\n [(visible)]=\"showForm\"\r\n [record]=\"selectedRecord\"\r\n (saved)=\"onFormSaved()\"\r\n (cancelled)=\"onFormCancelled()\">\r\n</lib-hit-carrier-person-form>\r\n" }]
3026
+ }], ctorParameters: function () { return [{ type: HitCarrierPersonService }, { type: i2$1.ConfirmationService }]; } });
3027
+
3028
+ const routes$3 = [
3029
+ { path: '', component: HitCarrierPersonListComponent },
3030
+ ];
3031
+ class HitCarrierPersonRoutingModule {
3032
+ }
3033
+ HitCarrierPersonRoutingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitCarrierPersonRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3034
+ HitCarrierPersonRoutingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: HitCarrierPersonRoutingModule, imports: [i1$1.RouterModule], exports: [RouterModule] });
3035
+ HitCarrierPersonRoutingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitCarrierPersonRoutingModule, imports: [RouterModule.forChild(routes$3), RouterModule] });
3036
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitCarrierPersonRoutingModule, decorators: [{
3037
+ type: NgModule,
3038
+ args: [{
3039
+ imports: [RouterModule.forChild(routes$3)],
3040
+ exports: [RouterModule],
3041
+ }]
3042
+ }] });
3043
+
3044
+ class HitCarrierPersonModule {
3045
+ }
3046
+ HitCarrierPersonModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitCarrierPersonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3047
+ HitCarrierPersonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: HitCarrierPersonModule, declarations: [HitCarrierPersonListComponent, HitCarrierPersonFormComponent], imports: [CommonModule,
3048
+ FormsModule,
3049
+ CoreModule,
3050
+ ThemeSharedModule,
3051
+ PageModule,
3052
+ CommercialUiModule,
3053
+ HitCarrierPersonRoutingModule,
3054
+ HitUIModule,
3055
+ NgbDropdownModule,
3056
+ DxDataGridModule,
3057
+ DxTextBoxModule,
3058
+ DxButtonModule,
3059
+ DxCheckBoxModule] });
3060
+ HitCarrierPersonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitCarrierPersonModule, imports: [CommonModule,
3061
+ FormsModule,
3062
+ CoreModule,
3063
+ ThemeSharedModule,
3064
+ PageModule,
3065
+ CommercialUiModule,
3066
+ HitCarrierPersonRoutingModule,
3067
+ HitUIModule,
3068
+ NgbDropdownModule,
3069
+ DxDataGridModule,
3070
+ DxTextBoxModule,
3071
+ DxButtonModule,
3072
+ DxCheckBoxModule] });
3073
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitCarrierPersonModule, decorators: [{
3074
+ type: NgModule,
3075
+ args: [{
3076
+ declarations: [HitCarrierPersonListComponent, HitCarrierPersonFormComponent],
3077
+ imports: [
3078
+ CommonModule,
3079
+ FormsModule,
3080
+ CoreModule,
3081
+ ThemeSharedModule,
3082
+ PageModule,
3083
+ CommercialUiModule,
3084
+ HitCarrierPersonRoutingModule,
3085
+ HitUIModule,
3086
+ NgbDropdownModule,
3087
+ DxDataGridModule,
3088
+ DxTextBoxModule,
3089
+ DxButtonModule,
3090
+ DxCheckBoxModule,
3091
+ ],
3092
+ }]
3093
+ }] });
3094
+ function loadHitCarrierPersonModuleAsChild() {
3095
+ return Promise.resolve(HitCarrierPersonModule);
3096
+ }
3097
+
3098
+ class HitPlateFormComponent {
3099
+ constructor(service, confirmation) {
3100
+ this.service = service;
3101
+ this.confirmation = confirmation;
3102
+ this.visible = false;
3103
+ this.visibleChange = new EventEmitter();
3104
+ this.record = null;
3105
+ this.saved = new EventEmitter();
3106
+ this.cancelled = new EventEmitter();
3107
+ this.code = '';
3108
+ this.name = '';
3109
+ this.u_Model = '';
3110
+ this.u_IsTrailer = false;
3111
+ this.isActive = false;
3112
+ this.isLoading = false;
3113
+ }
3114
+ ngOnInit() { }
3115
+ ngOnChanges(changes) {
3116
+ if (changes['visible']?.currentValue === true) {
3117
+ this.initForm();
3118
+ }
3119
+ }
3120
+ initForm() {
3121
+ if (this.record) {
3122
+ this.code = this.record.code;
3123
+ this.name = this.record.name;
3124
+ this.u_Model = this.record.u_Model ?? '';
3125
+ this.u_IsTrailer = this.record.u_IsTrailer === 'Y';
3126
+ this.isActive = this.record.u_Active === 'Y';
3127
+ }
3128
+ else {
3129
+ this.code = '';
3130
+ this.name = '';
3131
+ this.u_Model = '';
3132
+ this.u_IsTrailer = false;
3133
+ this.isActive = true;
3134
+ }
3135
+ }
3136
+ save() {
3137
+ if (!this.code) {
3138
+ this.confirmation.warn('Lütfen Plaka alanını doldurunuz.', '', {
3139
+ hideYesBtn: true,
3140
+ cancelText: 'Kapat',
3141
+ dismissible: false,
3142
+ });
3143
+ return;
3144
+ }
3145
+ const dto = {
3146
+ code: this.code,
3147
+ name: this.name,
3148
+ u_Model: this.u_Model,
3149
+ u_IsTrailer: this.u_IsTrailer ? 'Y' : 'N',
3150
+ u_Active: this.isActive ? 'Y' : 'N',
3151
+ };
3152
+ const obs$ = this.record?.code
3153
+ ? this.service.update(this.record.code, dto)
3154
+ : this.service.create(dto);
3155
+ this.isLoading = true;
3156
+ obs$.subscribe({
3157
+ next: () => {
3158
+ this.isLoading = false;
3159
+ this.saved.emit();
3160
+ },
3161
+ error: () => {
3162
+ this.isLoading = false;
3163
+ },
3164
+ });
3165
+ }
3166
+ onModalVisibleChange(val) {
3167
+ this.visible = val;
3168
+ this.visibleChange.emit(val);
3169
+ if (!val) {
3170
+ this.cancelled.emit();
3171
+ }
3172
+ }
3173
+ cancel() {
3174
+ this.onModalVisibleChange(false);
3175
+ }
3176
+ }
3177
+ HitPlateFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitPlateFormComponent, deps: [{ token: HitPlateService }, { token: i2$1.ConfirmationService }], target: i0.ɵɵFactoryTarget.Component });
3178
+ HitPlateFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: HitPlateFormComponent, selector: "lib-hit-plate-form", inputs: { visible: "visible", record: "record" }, outputs: { visibleChange: "visibleChange", saved: "saved", cancelled: "cancelled" }, usesOnChanges: true, ngImport: i0, template: "<abp-modal [visible]=\"visible\" (visibleChange)=\"onModalVisibleChange($event)\" [options]=\"{ size: 'md', backdrop: 'static' }\">\r\n <ng-template #abpHeader>\r\n <h3>{{ record?.code ? ('AbpUi::Edit' | abpLocalization) : ('Kadooglu::NewRecord' | abpLocalization) }}</h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <div class=\"border rounded p-3 mb-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-car me-2\"></i>{{ 'Kadooglu::BasicInfo' | abpLocalization }}\r\n </div>\r\n <div class=\"row mb-3\">\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::Plate' | abpLocalization }} <span class=\"text-danger\">*</span></label>\r\n <dx-text-box [(value)]=\"code\" [disabled]=\"!!record?.code\" [placeholder]=\"'Kadooglu::EnterPlateNumber' | abpLocalization\" width=\"100%\"></dx-text-box>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::Description' | abpLocalization }}</label>\r\n <dx-text-box [(value)]=\"name\" [placeholder]=\"'Kadooglu::Description' | abpLocalization\" width=\"100%\"></dx-text-box>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::Model' | abpLocalization }}</label>\r\n <dx-text-box [(value)]=\"u_Model\" [placeholder]=\"'Kadooglu::EnterVehicleModel' | abpLocalization\" width=\"100%\"></dx-text-box>\r\n </div>\r\n <div class=\"col-md-6 d-flex align-items-end pb-1\">\r\n <dx-check-box [(value)]=\"u_IsTrailer\" [text]=\"'Kadooglu::IsTrailer' | abpLocalization\"></dx-check-box>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Durum -->\r\n <div class=\"border rounded p-3 mt-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-toggle-on me-2\"></i>{{ 'Kadooglu::Status' | abpLocalization }}\r\n </div>\r\n <dx-check-box [(value)]=\"isActive\" [text]=\"'Kadooglu::IsActive' | abpLocalization\"></dx-check-box>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #abpFooter>\r\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"cancel()\">\r\n {{ 'AbpUi::Cancel' | abpLocalization }}\r\n </button>\r\n <abp-button iconClass=\"fa fa-save\" buttonType=\"button\" [loading]=\"isLoading\" (click)=\"save()\">\r\n {{ 'AbpUi::Save' | abpLocalization }}\r\n </abp-button>\r\n </ng-template>\r\n</abp-modal>\r\n", dependencies: [{ kind: "component", type: i2$1.ButtonComponent, selector: "abp-button", inputs: ["buttonId", "buttonClass", "buttonType", "formName", "iconClass", "loading", "disabled", "attributes"], outputs: ["click", "focus", "blur", "abpClick", "abpFocus", "abpBlur"] }, { kind: "component", type: i2$1.ModalComponent, selector: "abp-modal", inputs: ["visible", "busy", "options", "suppressUnsavedChangesWarning"], outputs: ["visibleChange", "init", "appear", "disappear"] }, { kind: "component", type: i5.DxTextBoxComponent, selector: "dx-text-box", inputs: ["accessKey", "activeStateEnabled", "buttons", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "inputAttr", "isValid", "label", "labelMode", "mask", "maskChar", "maskInvalidMessage", "maskRules", "maxLength", "mode", "name", "placeholder", "readOnly", "rtlEnabled", "showClearButton", "showMaskMode", "spellcheck", "stylingMode", "tabIndex", "text", "useMaskedValue", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "valueChangeEvent", "visible", "width"], outputs: ["onChange", "onContentReady", "onCopy", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onKeyDown", "onKeyUp", "onOptionChanged", "onPaste", "onValueChanged", "accessKeyChange", "activeStateEnabledChange", "buttonsChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "isValidChange", "labelChange", "labelModeChange", "maskChange", "maskCharChange", "maskInvalidMessageChange", "maskRulesChange", "maxLengthChange", "modeChange", "nameChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "showClearButtonChange", "showMaskModeChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "useMaskedValueChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "visibleChange", "widthChange", "onBlur"] }, { kind: "component", type: i5.DxCheckBoxComponent, selector: "dx-check-box", inputs: ["accessKey", "activeStateEnabled", "disabled", "elementAttr", "enableThreeStateBehavior", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "iconSize", "isValid", "name", "readOnly", "rtlEnabled", "tabIndex", "text", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "visible", "width"], outputs: ["onContentReady", "onDisposing", "onInitialized", "onOptionChanged", "onValueChanged", "accessKeyChange", "activeStateEnabledChange", "disabledChange", "elementAttrChange", "enableThreeStateBehaviorChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "iconSizeChange", "isValidChange", "nameChange", "readOnlyChange", "rtlEnabledChange", "tabIndexChange", "textChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "visibleChange", "widthChange", "onBlur"] }, { kind: "pipe", type: i1.LocalizationPipe, name: "abpLocalization" }] });
3179
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitPlateFormComponent, decorators: [{
3180
+ type: Component,
3181
+ args: [{ selector: 'lib-hit-plate-form', template: "<abp-modal [visible]=\"visible\" (visibleChange)=\"onModalVisibleChange($event)\" [options]=\"{ size: 'md', backdrop: 'static' }\">\r\n <ng-template #abpHeader>\r\n <h3>{{ record?.code ? ('AbpUi::Edit' | abpLocalization) : ('Kadooglu::NewRecord' | abpLocalization) }}</h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <div class=\"border rounded p-3 mb-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-car me-2\"></i>{{ 'Kadooglu::BasicInfo' | abpLocalization }}\r\n </div>\r\n <div class=\"row mb-3\">\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::Plate' | abpLocalization }} <span class=\"text-danger\">*</span></label>\r\n <dx-text-box [(value)]=\"code\" [disabled]=\"!!record?.code\" [placeholder]=\"'Kadooglu::EnterPlateNumber' | abpLocalization\" width=\"100%\"></dx-text-box>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::Description' | abpLocalization }}</label>\r\n <dx-text-box [(value)]=\"name\" [placeholder]=\"'Kadooglu::Description' | abpLocalization\" width=\"100%\"></dx-text-box>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::Model' | abpLocalization }}</label>\r\n <dx-text-box [(value)]=\"u_Model\" [placeholder]=\"'Kadooglu::EnterVehicleModel' | abpLocalization\" width=\"100%\"></dx-text-box>\r\n </div>\r\n <div class=\"col-md-6 d-flex align-items-end pb-1\">\r\n <dx-check-box [(value)]=\"u_IsTrailer\" [text]=\"'Kadooglu::IsTrailer' | abpLocalization\"></dx-check-box>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Durum -->\r\n <div class=\"border rounded p-3 mt-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-toggle-on me-2\"></i>{{ 'Kadooglu::Status' | abpLocalization }}\r\n </div>\r\n <dx-check-box [(value)]=\"isActive\" [text]=\"'Kadooglu::IsActive' | abpLocalization\"></dx-check-box>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #abpFooter>\r\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"cancel()\">\r\n {{ 'AbpUi::Cancel' | abpLocalization }}\r\n </button>\r\n <abp-button iconClass=\"fa fa-save\" buttonType=\"button\" [loading]=\"isLoading\" (click)=\"save()\">\r\n {{ 'AbpUi::Save' | abpLocalization }}\r\n </abp-button>\r\n </ng-template>\r\n</abp-modal>\r\n" }]
3182
+ }], ctorParameters: function () { return [{ type: HitPlateService }, { type: i2$1.ConfirmationService }]; }, propDecorators: { visible: [{
3183
+ type: Input
3184
+ }], visibleChange: [{
3185
+ type: Output
3186
+ }], record: [{
3187
+ type: Input
3188
+ }], saved: [{
3189
+ type: Output
3190
+ }], cancelled: [{
3191
+ type: Output
3192
+ }] } });
3193
+
3194
+ class HitPlateListComponent {
3195
+ constructor(service, confirmation) {
3196
+ this.service = service;
3197
+ this.confirmation = confirmation;
3198
+ this.allData = [];
3199
+ this.filteredData = [];
3200
+ this.filterCode = '';
3201
+ this.filterName = '';
3202
+ this.showForm = false;
3203
+ this.disabledIdColumn = false;
3204
+ this.selectedRecord = null;
3205
+ }
3206
+ ngOnInit() {
3207
+ this.loadList();
3208
+ }
3209
+ onToolbarPreparing(e) {
3210
+ e.toolbarOptions.items.unshift({
3211
+ location: 'after',
3212
+ widget: 'dxButton',
3213
+ options: {
3214
+ icon: 'plus',
3215
+ text: 'Yeni Kayıt',
3216
+ type: 'default',
3217
+ onClick: () => this.yeniKayit(),
3218
+ },
3219
+ });
3220
+ }
3221
+ loadList() {
3222
+ this.service.getList().subscribe(data => {
3223
+ this.allData = data;
3224
+ this.filteredData = [...data];
3225
+ });
3226
+ }
3227
+ bul() {
3228
+ this.filteredData = this.allData.filter(x => {
3229
+ if (this.filterCode && !x.code?.toLowerCase().includes(this.filterCode.toLowerCase()))
3230
+ return false;
3231
+ if (this.filterName && !x.name?.toLowerCase().includes(this.filterName.toLowerCase()))
3232
+ return false;
3233
+ return true;
3234
+ });
3235
+ }
3236
+ temizle() {
3237
+ this.filterCode = '';
3238
+ this.filterName = '';
3239
+ this.filteredData = [...this.allData];
3240
+ }
3241
+ yeniKayit() {
3242
+ this.selectedRecord = null;
3243
+ this.showForm = true;
3244
+ }
3245
+ duzenle(row) {
3246
+ this.selectedRecord = { ...row };
3247
+ this.showForm = true;
3248
+ }
3249
+ sil(row) {
3250
+ this.confirmation
3251
+ .warn(`"${row.code}" plakasını silmek istediğinize emin misiniz?`, '', {
3252
+ yesText: 'Evet',
3253
+ cancelText: 'Hayır',
3254
+ })
3255
+ .subscribe(status => {
3256
+ if (status === 'confirm') {
3257
+ this.service.delete(row.code).subscribe(() => this.loadList());
3258
+ }
3259
+ });
3260
+ }
3261
+ onFormSaved() {
3262
+ this.showForm = false;
3263
+ this.loadList();
3264
+ }
3265
+ onFormCancelled() {
3266
+ this.showForm = false;
3267
+ }
3268
+ formatPlate(plate) {
3269
+ if (!plate)
3270
+ return '';
3271
+ const p = plate.replace(/\s+/g, '').toUpperCase();
3272
+ const match = p.match(/^(\d{2})([A-ZÇĞİÖŞÜ]{1,3})(\d{1,4})$/);
3273
+ return match ? `${match[1]} ${match[2]} ${match[3]}` : plate;
3274
+ }
3275
+ }
3276
+ HitPlateListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitPlateListComponent, deps: [{ token: HitPlateService }, { token: i2$1.ConfirmationService }], target: i0.ɵɵFactoryTarget.Component });
3277
+ HitPlateListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: HitPlateListComponent, selector: "lib-hit-plate-list", ngImport: i0, template: "<abp-page [breadcrumb]=\"false\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"row align-items-center\">\r\n <div class=\"col\">\r\n <h3 class=\"page-title\">{{ 'Kadooglu::PlateTitle' | abpLocalization }}</h3>\r\n </div>\r\n </div>\r\n </abp-page-toolbar-container>\r\n\r\n <div class=\"card mt-2\">\r\n <div class=\"card-body\">\r\n\r\n <dx-data-grid\r\n [dataSource]=\"filteredData\"\r\n [columnAutoWidth]=\"true\"\r\n [showBorders]=\"true\"\r\n [showRowLines]=\"true\"\r\n [hoverStateEnabled]=\"true\"\r\n [allowColumnResizing]=\"true\"\r\n columnResizingMode=\"widget\"\r\n [rowAlternationEnabled]=\"true\"\r\n (onToolbarPreparing)=\"onToolbarPreparing($event)\"\r\n keyExpr=\"code\"\r\n style=\"height: calc(100vh - 320px);\">\r\n\r\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\r\n <dxo-header-filter [visible]=\"true\"></dxo-header-filter>\r\n <dxo-search-panel [visible]=\"true\" [width]=\"200\" [placeholder]=\"'Kadooglu::Ara' | abpLocalization\"></dxo-search-panel>\r\n <dxo-pager [visible]=\"true\" [showInfo]=\"true\" [allowedPageSizes]=\"[10,20,50]\"\r\n [showPageSizeSelector]=\"true\" [showNavigationButtons]=\"true\"></dxo-pager>\r\n <dxo-paging [pageSize]=\"10\"></dxo-paging>\r\n <dxi-column [fixed]=\"true\" dataField=\"id\" width=\"120\" [allowGrouping]=\"false\" [allowFiltering]=\"false\"\r\n [allowHeaderFiltering]=\"false\" [allowHiding]=\"false\" [allowReordering]=\"false\"\r\n cellTemplate=\"operationTemplate\" caption=\"{{ 'AbpUi::Actions' | abpLocalization }}\">\r\n <div *dxTemplate=\"let row of 'operationTemplate'\">\r\n <div ngbDropdown container=\"body\" class=\"d-inline-block\">\r\n <button class=\"btn btn-primary btn-sm dropdown-toggle\" data-toggle=\"dropdown\"\r\n aria-haspopup=\"true\" ngbDropdownToggle [disabled]=\"disabledIdColumn\">\r\n <i class=\"fa fa-cog mr-1\" aria-hidden=\"true\"></i>\r\n {{ 'AbpUi::Actions' | abpLocalization }}\r\n </button>\r\n <div ngbDropdownMenu>\r\n <button ngbDropdownItem (click)=\"duzenle(row.data)\">\r\n <i class=\"fa fa-edit\" aria-hidden=\"true\"></i> {{ 'AbpUi::Edit' | abpLocalization }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </dxi-column>\r\n <dxi-column dataField=\"code\" caption=\"{{ 'Kadooglu::Plate' | abpLocalization }}\" [width]=\"180\" cellTemplate=\"plateTemplate\"></dxi-column>\r\n <dxi-column dataField=\"name\" caption=\"{{ 'Kadooglu::Description' | abpLocalization }}\"></dxi-column>\r\n <dxi-column dataField=\"u_Model\" caption=\"{{ 'Kadooglu::Model' | abpLocalization }}\" [width]=\"150\"></dxi-column>\r\n <dxi-column dataField=\"u_IsTrailer\" caption=\"{{ 'Kadooglu::IsTrailer' | abpLocalization }}\" [width]=\"100\"></dxi-column>\r\n <dxi-column dataField=\"u_Active\" caption=\"{{ 'Kadooglu::IsActive' | abpLocalization }}\" [width]=\"80\"></dxi-column>\r\n <div *dxTemplate=\"let cell of 'plateTemplate'\">\r\n <span *ngIf=\"cell.data.code\" class=\"tr-plate\">\r\n <span class=\"tr-plate-blue\">TR</span>\r\n <span class=\"tr-plate-text\">{{ formatPlate(cell.data.code) }}</span>\r\n </span>\r\n </div>\r\n </dx-data-grid>\r\n\r\n </div>\r\n </div>\r\n</abp-page>\r\n\r\n<lib-hit-plate-form\r\n [(visible)]=\"showForm\"\r\n [record]=\"selectedRecord\"\r\n (saved)=\"onFormSaved()\"\r\n (cancelled)=\"onFormCancelled()\">\r\n</lib-hit-plate-form>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.PageComponent, selector: "abp-page", inputs: ["title", "toolbar", "breadcrumb"] }, { kind: "component", type: i4.PageToolbarContainerComponent, selector: "abp-page-toolbar-container" }, { kind: "component", type: i5.DxDataGridComponent, selector: "dx-data-grid", inputs: ["accessKey", "activeStateEnabled", "allowColumnReordering", "allowColumnResizing", "autoNavigateToFocusedRow", "cacheEnabled", "cellHintEnabled", "columnAutoWidth", "columnChooser", "columnFixing", "columnHidingEnabled", "columnMinWidth", "columnResizingMode", "columns", "columnWidth", "customizeColumns", "dataRowTemplate", "dataSource", "dateSerializationFormat", "disabled", "editing", "elementAttr", "errorRowEnabled", "export", "filterBuilder", "filterBuilderPopup", "filterPanel", "filterRow", "filterSyncEnabled", "filterValue", "focusedColumnIndex", "focusedRowEnabled", "focusedRowIndex", "focusedRowKey", "grouping", "groupPanel", "headerFilter", "height", "highlightChanges", "hint", "hoverStateEnabled", "keyboardNavigation", "keyExpr", "loadPanel", "masterDetail", "noDataText", "pager", "paging", "remoteOperations", "renderAsync", "repaintChangesOnly", "rowAlternationEnabled", "rowDragging", "rowTemplate", "rtlEnabled", "scrolling", "searchPanel", "selectedRowKeys", "selection", "selectionFilter", "showBorders", "showColumnHeaders", "showColumnLines", "showRowLines", "sortByGroupSummaryInfo", "sorting", "stateStoring", "summary", "syncLookupFilterValues", "tabIndex", "toolbar", "twoWayBindingEnabled", "visible", "width", "wordWrapEnabled"], outputs: ["onAdaptiveDetailRowPreparing", "onCellClick", "onCellDblClick", "onCellHoverChanged", "onCellPrepared", "onContentReady", "onContextMenuPreparing", "onDataErrorOccurred", "onDisposing", "onEditCanceled", "onEditCanceling", "onEditingStart", "onEditorPrepared", "onEditorPreparing", "onExporting", "onFocusedCellChanged", "onFocusedCellChanging", "onFocusedRowChanged", "onFocusedRowChanging", "onInitialized", "onInitNewRow", "onKeyDown", "onOptionChanged", "onRowClick", "onRowCollapsed", "onRowCollapsing", "onRowDblClick", "onRowExpanded", "onRowExpanding", "onRowInserted", "onRowInserting", "onRowPrepared", "onRowRemoved", "onRowRemoving", "onRowUpdated", "onRowUpdating", "onRowValidating", "onSaved", "onSaving", "onSelectionChanged", "onToolbarPreparing", "accessKeyChange", "activeStateEnabledChange", "allowColumnReorderingChange", "allowColumnResizingChange", "autoNavigateToFocusedRowChange", "cacheEnabledChange", "cellHintEnabledChange", "columnAutoWidthChange", "columnChooserChange", "columnFixingChange", "columnHidingEnabledChange", "columnMinWidthChange", "columnResizingModeChange", "columnsChange", "columnWidthChange", "customizeColumnsChange", "dataRowTemplateChange", "dataSourceChange", "dateSerializationFormatChange", "disabledChange", "editingChange", "elementAttrChange", "errorRowEnabledChange", "exportChange", "filterBuilderChange", "filterBuilderPopupChange", "filterPanelChange", "filterRowChange", "filterSyncEnabledChange", "filterValueChange", "focusedColumnIndexChange", "focusedRowEnabledChange", "focusedRowIndexChange", "focusedRowKeyChange", "groupingChange", "groupPanelChange", "headerFilterChange", "heightChange", "highlightChangesChange", "hintChange", "hoverStateEnabledChange", "keyboardNavigationChange", "keyExprChange", "loadPanelChange", "masterDetailChange", "noDataTextChange", "pagerChange", "pagingChange", "remoteOperationsChange", "renderAsyncChange", "repaintChangesOnlyChange", "rowAlternationEnabledChange", "rowDraggingChange", "rowTemplateChange", "rtlEnabledChange", "scrollingChange", "searchPanelChange", "selectedRowKeysChange", "selectionChange", "selectionFilterChange", "showBordersChange", "showColumnHeadersChange", "showColumnLinesChange", "showRowLinesChange", "sortByGroupSummaryInfoChange", "sortingChange", "stateStoringChange", "summaryChange", "syncLookupFilterValuesChange", "tabIndexChange", "toolbarChange", "twoWayBindingEnabledChange", "visibleChange", "widthChange", "wordWrapEnabledChange"] }, { kind: "component", type: i5$1.DxiColumnComponent, selector: "dxi-column", inputs: ["alignment", "allowEditing", "allowExporting", "allowFiltering", "allowFixing", "allowGrouping", "allowHeaderFiltering", "allowHiding", "allowReordering", "allowResizing", "allowSearch", "allowSorting", "autoExpandGroup", "buttons", "calculateCellValue", "calculateDisplayValue", "calculateFilterExpression", "calculateGroupValue", "calculateSortValue", "caption", "cellTemplate", "columns", "cssClass", "customizeText", "dataField", "dataType", "editCellTemplate", "editorOptions", "encodeHtml", "falseText", "filterOperations", "filterType", "filterValue", "filterValues", "fixed", "fixedPosition", "format", "formItem", "groupCellTemplate", "groupIndex", "headerCellTemplate", "headerFilter", "hidingPriority", "isBand", "lookup", "minWidth", "name", "ownerBand", "renderAsync", "selectedFilterOperation", "setCellValue", "showEditorAlways", "showInColumnChooser", "showWhenGrouped", "sortIndex", "sortingMethod", "sortOrder", "trueText", "type", "validationRules", "visible", "visibleIndex", "width"], outputs: ["filterValueChange", "filterValuesChange", "groupIndexChange", "selectedFilterOperationChange", "sortIndexChange", "sortOrderChange", "visibleChange", "visibleIndexChange"] }, { kind: "component", type: i5$1.DxoHeaderFilterComponent, selector: "dxo-header-filter", inputs: ["allowSearch", "dataSource", "groupInterval", "height", "searchMode", "width", "searchTimeout", "texts", "visible", "showRelevantValues"] }, { kind: "component", type: i5$1.DxoFilterRowComponent, selector: "dxo-filter-row", inputs: ["applyFilter", "applyFilterText", "betweenEndText", "betweenStartText", "operationDescriptions", "resetOperationText", "showAllText", "showOperationChooser", "visible"] }, { kind: "component", type: i5$1.DxoPagerComponent, selector: "dxo-pager", inputs: ["allowedPageSizes", "displayMode", "infoText", "label", "showInfo", "showNavigationButtons", "showPageSizeSelector", "visible"] }, { kind: "component", type: i5$1.DxoPagingComponent, selector: "dxo-paging", inputs: ["enabled", "pageIndex", "pageSize"], outputs: ["pageIndexChange", "pageSizeChange"] }, { kind: "component", type: i5$1.DxoSearchPanelComponent, selector: "dxo-search-panel", inputs: ["highlightCaseSensitive", "highlightSearchText", "placeholder", "searchVisibleColumnsOnly", "text", "visible", "width"], outputs: ["textChange"] }, { kind: "directive", type: i7.DxTemplateDirective, selector: "[dxTemplate]", inputs: ["dxTemplateOf"] }, { kind: "directive", type: i8.NgbDropdown, selector: "[ngbDropdown]", inputs: ["autoClose", "dropdownClass", "open", "placement", "container", "display"], outputs: ["openChange"], exportAs: ["ngbDropdown"] }, { kind: "directive", type: i8.NgbDropdownToggle, selector: "[ngbDropdownToggle]" }, { kind: "directive", type: i8.NgbDropdownMenu, selector: "[ngbDropdownMenu]" }, { kind: "directive", type: i8.NgbDropdownItem, selector: "[ngbDropdownItem]", inputs: ["disabled"] }, { kind: "component", type: HitPlateFormComponent, selector: "lib-hit-plate-form", inputs: ["visible", "record"], outputs: ["visibleChange", "saved", "cancelled"] }, { kind: "pipe", type: i1.LocalizationPipe, name: "abpLocalization" }] });
3278
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitPlateListComponent, decorators: [{
3279
+ type: Component,
3280
+ args: [{ selector: 'lib-hit-plate-list', template: "<abp-page [breadcrumb]=\"false\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"row align-items-center\">\r\n <div class=\"col\">\r\n <h3 class=\"page-title\">{{ 'Kadooglu::PlateTitle' | abpLocalization }}</h3>\r\n </div>\r\n </div>\r\n </abp-page-toolbar-container>\r\n\r\n <div class=\"card mt-2\">\r\n <div class=\"card-body\">\r\n\r\n <dx-data-grid\r\n [dataSource]=\"filteredData\"\r\n [columnAutoWidth]=\"true\"\r\n [showBorders]=\"true\"\r\n [showRowLines]=\"true\"\r\n [hoverStateEnabled]=\"true\"\r\n [allowColumnResizing]=\"true\"\r\n columnResizingMode=\"widget\"\r\n [rowAlternationEnabled]=\"true\"\r\n (onToolbarPreparing)=\"onToolbarPreparing($event)\"\r\n keyExpr=\"code\"\r\n style=\"height: calc(100vh - 320px);\">\r\n\r\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\r\n <dxo-header-filter [visible]=\"true\"></dxo-header-filter>\r\n <dxo-search-panel [visible]=\"true\" [width]=\"200\" [placeholder]=\"'Kadooglu::Ara' | abpLocalization\"></dxo-search-panel>\r\n <dxo-pager [visible]=\"true\" [showInfo]=\"true\" [allowedPageSizes]=\"[10,20,50]\"\r\n [showPageSizeSelector]=\"true\" [showNavigationButtons]=\"true\"></dxo-pager>\r\n <dxo-paging [pageSize]=\"10\"></dxo-paging>\r\n <dxi-column [fixed]=\"true\" dataField=\"id\" width=\"120\" [allowGrouping]=\"false\" [allowFiltering]=\"false\"\r\n [allowHeaderFiltering]=\"false\" [allowHiding]=\"false\" [allowReordering]=\"false\"\r\n cellTemplate=\"operationTemplate\" caption=\"{{ 'AbpUi::Actions' | abpLocalization }}\">\r\n <div *dxTemplate=\"let row of 'operationTemplate'\">\r\n <div ngbDropdown container=\"body\" class=\"d-inline-block\">\r\n <button class=\"btn btn-primary btn-sm dropdown-toggle\" data-toggle=\"dropdown\"\r\n aria-haspopup=\"true\" ngbDropdownToggle [disabled]=\"disabledIdColumn\">\r\n <i class=\"fa fa-cog mr-1\" aria-hidden=\"true\"></i>\r\n {{ 'AbpUi::Actions' | abpLocalization }}\r\n </button>\r\n <div ngbDropdownMenu>\r\n <button ngbDropdownItem (click)=\"duzenle(row.data)\">\r\n <i class=\"fa fa-edit\" aria-hidden=\"true\"></i> {{ 'AbpUi::Edit' | abpLocalization }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </dxi-column>\r\n <dxi-column dataField=\"code\" caption=\"{{ 'Kadooglu::Plate' | abpLocalization }}\" [width]=\"180\" cellTemplate=\"plateTemplate\"></dxi-column>\r\n <dxi-column dataField=\"name\" caption=\"{{ 'Kadooglu::Description' | abpLocalization }}\"></dxi-column>\r\n <dxi-column dataField=\"u_Model\" caption=\"{{ 'Kadooglu::Model' | abpLocalization }}\" [width]=\"150\"></dxi-column>\r\n <dxi-column dataField=\"u_IsTrailer\" caption=\"{{ 'Kadooglu::IsTrailer' | abpLocalization }}\" [width]=\"100\"></dxi-column>\r\n <dxi-column dataField=\"u_Active\" caption=\"{{ 'Kadooglu::IsActive' | abpLocalization }}\" [width]=\"80\"></dxi-column>\r\n <div *dxTemplate=\"let cell of 'plateTemplate'\">\r\n <span *ngIf=\"cell.data.code\" class=\"tr-plate\">\r\n <span class=\"tr-plate-blue\">TR</span>\r\n <span class=\"tr-plate-text\">{{ formatPlate(cell.data.code) }}</span>\r\n </span>\r\n </div>\r\n </dx-data-grid>\r\n\r\n </div>\r\n </div>\r\n</abp-page>\r\n\r\n<lib-hit-plate-form\r\n [(visible)]=\"showForm\"\r\n [record]=\"selectedRecord\"\r\n (saved)=\"onFormSaved()\"\r\n (cancelled)=\"onFormCancelled()\">\r\n</lib-hit-plate-form>\r\n" }]
3281
+ }], ctorParameters: function () { return [{ type: HitPlateService }, { type: i2$1.ConfirmationService }]; } });
3282
+
3283
+ const routes$2 = [
3284
+ { path: '', component: HitPlateListComponent },
3285
+ ];
3286
+ class HitPlateRoutingModule {
3287
+ }
3288
+ HitPlateRoutingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitPlateRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3289
+ HitPlateRoutingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: HitPlateRoutingModule, imports: [i1$1.RouterModule], exports: [RouterModule] });
3290
+ HitPlateRoutingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitPlateRoutingModule, imports: [RouterModule.forChild(routes$2), RouterModule] });
3291
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitPlateRoutingModule, decorators: [{
3292
+ type: NgModule,
3293
+ args: [{
3294
+ imports: [RouterModule.forChild(routes$2)],
3295
+ exports: [RouterModule],
3296
+ }]
3297
+ }] });
3298
+
3299
+ class HitPlateModule {
3300
+ }
3301
+ HitPlateModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitPlateModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3302
+ HitPlateModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: HitPlateModule, declarations: [HitPlateListComponent, HitPlateFormComponent], imports: [CommonModule,
3303
+ FormsModule,
3304
+ CoreModule,
3305
+ ThemeSharedModule,
3306
+ PageModule,
3307
+ CommercialUiModule,
3308
+ HitPlateRoutingModule,
3309
+ HitUIModule,
3310
+ DxDataGridModule,
3311
+ DxTextBoxModule,
3312
+ DxButtonModule,
3313
+ NgbDropdownModule,
3314
+ DxCheckBoxModule] });
3315
+ HitPlateModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitPlateModule, imports: [CommonModule,
3316
+ FormsModule,
3317
+ CoreModule,
3318
+ ThemeSharedModule,
3319
+ PageModule,
3320
+ CommercialUiModule,
3321
+ HitPlateRoutingModule,
3322
+ HitUIModule,
3323
+ DxDataGridModule,
3324
+ DxTextBoxModule,
3325
+ DxButtonModule,
3326
+ NgbDropdownModule,
3327
+ DxCheckBoxModule] });
3328
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitPlateModule, decorators: [{
3329
+ type: NgModule,
3330
+ args: [{
3331
+ declarations: [HitPlateListComponent, HitPlateFormComponent],
3332
+ imports: [
3333
+ CommonModule,
3334
+ FormsModule,
3335
+ CoreModule,
3336
+ ThemeSharedModule,
3337
+ PageModule,
3338
+ CommercialUiModule,
3339
+ HitPlateRoutingModule,
3340
+ HitUIModule,
3341
+ DxDataGridModule,
3342
+ DxTextBoxModule,
3343
+ DxButtonModule,
3344
+ NgbDropdownModule,
3345
+ DxCheckBoxModule,
3346
+ ],
3347
+ }]
3348
+ }] });
3349
+ function loadHitPlateModuleAsChild() {
3350
+ return Promise.resolve(HitPlateModule);
3351
+ }
3352
+
3353
+ class HitKntItemEslService {
3354
+ constructor(restService) {
3355
+ this.restService = restService;
3356
+ this.apiName = 'Kadooglu';
3357
+ this.baseUrl = '/api/entegration-service/knt-item-esls';
3358
+ }
3359
+ getList(params) {
3360
+ return this.restService.request({ method: 'GET', url: this.baseUrl, params: { maxResultCount: 50, ...params } }, { apiName: this.apiName }).pipe(map$1(response => response?.items ?? []));
3361
+ }
3362
+ get(code) {
3363
+ return this.restService.request({ method: 'GET', url: `${this.baseUrl}/${code}` }, { apiName: this.apiName }).pipe(map$1(response => response?.items));
3364
+ }
3365
+ create(body) {
3366
+ return this.restService.request({ method: 'POST', url: this.baseUrl, body }, { apiName: this.apiName }).pipe(map$1(r => r?.items));
3367
+ }
3368
+ update(code, body) {
3369
+ return this.restService.request({ method: 'PATCH', url: `${this.baseUrl}/${code}`, body }, { apiName: this.apiName }).pipe(map$1(r => r?.items));
3370
+ }
3371
+ delete(code) {
3372
+ return this.restService.request({ method: 'DELETE', url: `${this.baseUrl}/${code}` }, { apiName: this.apiName });
3373
+ }
3374
+ }
3375
+ HitKntItemEslService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitKntItemEslService, deps: [{ token: i1.RestService }], target: i0.ɵɵFactoryTarget.Injectable });
3376
+ HitKntItemEslService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitKntItemEslService, providedIn: 'root' });
3377
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitKntItemEslService, decorators: [{
3378
+ type: Injectable,
3379
+ args: [{ providedIn: 'root' }]
3380
+ }], ctorParameters: function () { return [{ type: i1.RestService }]; } });
3381
+
3382
+ class HitKntItemEslFormComponent {
3383
+ constructor(service, itemService, confirmation, localizationService) {
3384
+ this.service = service;
3385
+ this.itemService = itemService;
3386
+ this.confirmation = confirmation;
3387
+ this.localizationService = localizationService;
3388
+ this.visible = false;
3389
+ this.visibleChange = new EventEmitter();
3390
+ this.record = null;
3391
+ this.saved = new EventEmitter();
3392
+ this.cancelled = new EventEmitter();
3393
+ this.code = '';
3394
+ this.u_CikisKalemTanimi = '';
3395
+ this.u_GirisKalemKodu = '';
3396
+ this.u_GirisKalemTanimi = '';
3397
+ this.isActive = false;
3398
+ this.isLoading = false;
3399
+ this.loadItems = () => this.itemService.getList();
3400
+ this.itemColumns = [
3401
+ { dataField: 'itemCode', caption: 'Kod', width: 120 },
3402
+ { dataField: 'itemName', caption: 'Kalem Adı' },
3403
+ ];
3404
+ }
3405
+ ngOnInit() { }
3406
+ ngOnChanges(changes) {
3407
+ if (changes['visible']?.currentValue === true) {
3408
+ this.initForm();
3409
+ }
3410
+ }
3411
+ initForm() {
3412
+ if (this.record) {
3413
+ this.code = this.record.code;
3414
+ this.u_CikisKalemTanimi = this.record.u_CikisKalemTanimi ?? '';
3415
+ this.u_GirisKalemKodu = this.record.u_GirisKalemKodu ?? '';
3416
+ this.u_GirisKalemTanimi = this.record.u_GirisKalemTanimi ?? '';
3417
+ this.isActive = this.record.u_Active === 'Y';
3418
+ }
3419
+ else {
3420
+ this.code = '';
3421
+ this.u_CikisKalemTanimi = '';
3422
+ this.u_GirisKalemKodu = '';
3423
+ this.u_GirisKalemTanimi = '';
3424
+ this.isActive = true;
3425
+ }
3426
+ }
3427
+ onExitItemSelected(item) {
3428
+ if (!item)
3429
+ return;
3430
+ this.code = item.itemCode;
3431
+ this.u_CikisKalemTanimi = item.itemName;
3432
+ }
3433
+ onEntryItemSelected(item) {
3434
+ if (!item)
3435
+ return;
3436
+ this.u_GirisKalemKodu = item.itemCode;
3437
+ this.u_GirisKalemTanimi = item.itemName;
3438
+ }
3439
+ save() {
3440
+ if (!this.code) {
3441
+ this.confirmation.warn(this.localizationService.instant('Kadooglu::SelectExitItemCode'), '', {
3442
+ hideYesBtn: true,
3443
+ cancelText: this.localizationService.instant('AbpUi::Cancel'),
3444
+ dismissible: false,
3445
+ });
3446
+ return;
3447
+ }
3448
+ if (!this.u_GirisKalemKodu) {
3449
+ this.confirmation.warn(this.localizationService.instant('Kadooglu::SelectEntryItemCode'), '', {
3450
+ hideYesBtn: true,
3451
+ cancelText: this.localizationService.instant('AbpUi::Cancel'),
3452
+ dismissible: false,
3453
+ });
3454
+ return;
3455
+ }
3456
+ if (this.code === this.u_GirisKalemKodu) {
3457
+ this.confirmation.warn(this.localizationService.instant('Kadooglu::EntryExitItemCodeMustBeDifferent'), '', {
3458
+ hideYesBtn: true,
3459
+ cancelText: this.localizationService.instant('AbpUi::Cancel'),
3460
+ dismissible: false,
3461
+ });
3462
+ return;
3463
+ }
3464
+ const dto = {
3465
+ code: this.code,
3466
+ u_CikisKalemKodu: this.code,
3467
+ u_CikisKalemTanimi: this.u_CikisKalemTanimi,
3468
+ u_GirisKalemKodu: this.u_GirisKalemKodu,
3469
+ u_GirisKalemTanimi: this.u_GirisKalemTanimi,
3470
+ u_Active: this.isActive ? 'Y' : 'N',
3471
+ };
3472
+ const obs$ = this.record?.code
3473
+ ? this.service.update(this.record.code, dto)
3474
+ : this.service.create(dto);
3475
+ this.isLoading = true;
3476
+ obs$.subscribe({
3477
+ next: () => {
3478
+ this.isLoading = false;
3479
+ this.saved.emit();
3480
+ },
3481
+ error: () => {
3482
+ this.isLoading = false;
3483
+ },
3484
+ });
3485
+ }
3486
+ onModalVisibleChange(val) {
3487
+ this.visible = val;
3488
+ this.visibleChange.emit(val);
3489
+ if (!val) {
3490
+ this.cancelled.emit();
3491
+ }
3492
+ }
3493
+ cancel() {
3494
+ this.onModalVisibleChange(false);
3495
+ }
3496
+ }
3497
+ HitKntItemEslFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitKntItemEslFormComponent, deps: [{ token: HitKntItemEslService }, { token: HitItemService }, { token: i2$1.ConfirmationService }, { token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
3498
+ HitKntItemEslFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: HitKntItemEslFormComponent, selector: "lib-hit-knt-item-esl-form", inputs: { visible: "visible", record: "record" }, outputs: { visibleChange: "visibleChange", saved: "saved", cancelled: "cancelled" }, usesOnChanges: true, ngImport: i0, template: "<abp-modal [visible]=\"visible\" (visibleChange)=\"onModalVisibleChange($event)\" [options]=\"{ size: 'lg', backdrop: 'static' }\">\r\n <ng-template #abpHeader>\r\n <h3>{{ record?.code ? ('AbpUi::Edit' | abpLocalization) : ('Kadooglu::NewRecord' | abpLocalization) }}</h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <div class=\"border rounded p-3 mb-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-link me-2\"></i>{{ 'Kadooglu::BasicInfo' | abpLocalization }}\r\n </div>\r\n <div class=\"row mb-3\">\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::ExitItemCode' | abpLocalization }} <span class=\"text-danger\">*</span></label>\r\n <hit-lookup-select\r\n [loadFn]=\"loadItems\"\r\n [columns]=\"itemColumns\"\r\n displayName=\"itemName\"\r\n keyExpr=\"itemCode\"\r\n [editingData]=\"u_CikisKalemTanimi\"\r\n [disabled]=\"!!record?.code\"\r\n (selected)=\"onExitItemSelected($event)\">\r\n </hit-lookup-select>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::ExitItemDesc' | abpLocalization }}</label>\r\n <dx-text-box [(value)]=\"u_CikisKalemTanimi\" [readOnly]=\"true\" width=\"100%\"></dx-text-box>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::EntryItemCode' | abpLocalization }} <span class=\"text-danger\">*</span></label>\r\n <hit-lookup-select\r\n [loadFn]=\"loadItems\"\r\n [columns]=\"itemColumns\"\r\n displayName=\"itemName\"\r\n keyExpr=\"itemCode\"\r\n [editingData]=\"u_GirisKalemTanimi\"\r\n (selected)=\"onEntryItemSelected($event)\">\r\n </hit-lookup-select>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::EntryItemDesc' | abpLocalization }}</label>\r\n <dx-text-box [(value)]=\"u_GirisKalemTanimi\" [readOnly]=\"true\" width=\"100%\"></dx-text-box>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Durum -->\r\n <div class=\"border rounded p-3 mt-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-toggle-on me-2\"></i>{{ 'Kadooglu::Status' | abpLocalization }}\r\n </div>\r\n <dx-check-box [(value)]=\"isActive\" [text]=\"'Kadooglu::IsActive' | abpLocalization\"></dx-check-box>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #abpFooter>\r\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"cancel()\">\r\n {{ 'AbpUi::Cancel' | abpLocalization }}\r\n </button>\r\n <abp-button iconClass=\"fa fa-save\" buttonType=\"button\" [loading]=\"isLoading\" (click)=\"save()\">\r\n {{ 'AbpUi::Save' | abpLocalization }}\r\n </abp-button>\r\n </ng-template>\r\n</abp-modal>\r\n", dependencies: [{ kind: "component", type: i2$1.ButtonComponent, selector: "abp-button", inputs: ["buttonId", "buttonClass", "buttonType", "formName", "iconClass", "loading", "disabled", "attributes"], outputs: ["click", "focus", "blur", "abpClick", "abpFocus", "abpBlur"] }, { kind: "component", type: i2$1.ModalComponent, selector: "abp-modal", inputs: ["visible", "busy", "options", "suppressUnsavedChangesWarning"], outputs: ["visibleChange", "init", "appear", "disappear"] }, { kind: "component", type: HitModalComponent, selector: "hit-lookup-select", inputs: ["displayName", "keyExpr", "modalSize", "getFn", "loadFn", "columns", "isVisible", "disabled", "editingData"], outputs: ["selected"] }, { kind: "component", type: i5.DxTextBoxComponent, selector: "dx-text-box", inputs: ["accessKey", "activeStateEnabled", "buttons", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "inputAttr", "isValid", "label", "labelMode", "mask", "maskChar", "maskInvalidMessage", "maskRules", "maxLength", "mode", "name", "placeholder", "readOnly", "rtlEnabled", "showClearButton", "showMaskMode", "spellcheck", "stylingMode", "tabIndex", "text", "useMaskedValue", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "valueChangeEvent", "visible", "width"], outputs: ["onChange", "onContentReady", "onCopy", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onKeyDown", "onKeyUp", "onOptionChanged", "onPaste", "onValueChanged", "accessKeyChange", "activeStateEnabledChange", "buttonsChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "isValidChange", "labelChange", "labelModeChange", "maskChange", "maskCharChange", "maskInvalidMessageChange", "maskRulesChange", "maxLengthChange", "modeChange", "nameChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "showClearButtonChange", "showMaskModeChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "useMaskedValueChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "visibleChange", "widthChange", "onBlur"] }, { kind: "component", type: i5.DxCheckBoxComponent, selector: "dx-check-box", inputs: ["accessKey", "activeStateEnabled", "disabled", "elementAttr", "enableThreeStateBehavior", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "iconSize", "isValid", "name", "readOnly", "rtlEnabled", "tabIndex", "text", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "visible", "width"], outputs: ["onContentReady", "onDisposing", "onInitialized", "onOptionChanged", "onValueChanged", "accessKeyChange", "activeStateEnabledChange", "disabledChange", "elementAttrChange", "enableThreeStateBehaviorChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "iconSizeChange", "isValidChange", "nameChange", "readOnlyChange", "rtlEnabledChange", "tabIndexChange", "textChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "visibleChange", "widthChange", "onBlur"] }, { kind: "pipe", type: i1.LocalizationPipe, name: "abpLocalization" }] });
3499
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitKntItemEslFormComponent, decorators: [{
3500
+ type: Component,
3501
+ args: [{ selector: 'lib-hit-knt-item-esl-form', template: "<abp-modal [visible]=\"visible\" (visibleChange)=\"onModalVisibleChange($event)\" [options]=\"{ size: 'lg', backdrop: 'static' }\">\r\n <ng-template #abpHeader>\r\n <h3>{{ record?.code ? ('AbpUi::Edit' | abpLocalization) : ('Kadooglu::NewRecord' | abpLocalization) }}</h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <div class=\"border rounded p-3 mb-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-link me-2\"></i>{{ 'Kadooglu::BasicInfo' | abpLocalization }}\r\n </div>\r\n <div class=\"row mb-3\">\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::ExitItemCode' | abpLocalization }} <span class=\"text-danger\">*</span></label>\r\n <hit-lookup-select\r\n [loadFn]=\"loadItems\"\r\n [columns]=\"itemColumns\"\r\n displayName=\"itemName\"\r\n keyExpr=\"itemCode\"\r\n [editingData]=\"u_CikisKalemTanimi\"\r\n [disabled]=\"!!record?.code\"\r\n (selected)=\"onExitItemSelected($event)\">\r\n </hit-lookup-select>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::ExitItemDesc' | abpLocalization }}</label>\r\n <dx-text-box [(value)]=\"u_CikisKalemTanimi\" [readOnly]=\"true\" width=\"100%\"></dx-text-box>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::EntryItemCode' | abpLocalization }} <span class=\"text-danger\">*</span></label>\r\n <hit-lookup-select\r\n [loadFn]=\"loadItems\"\r\n [columns]=\"itemColumns\"\r\n displayName=\"itemName\"\r\n keyExpr=\"itemCode\"\r\n [editingData]=\"u_GirisKalemTanimi\"\r\n (selected)=\"onEntryItemSelected($event)\">\r\n </hit-lookup-select>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::EntryItemDesc' | abpLocalization }}</label>\r\n <dx-text-box [(value)]=\"u_GirisKalemTanimi\" [readOnly]=\"true\" width=\"100%\"></dx-text-box>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Durum -->\r\n <div class=\"border rounded p-3 mt-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-toggle-on me-2\"></i>{{ 'Kadooglu::Status' | abpLocalization }}\r\n </div>\r\n <dx-check-box [(value)]=\"isActive\" [text]=\"'Kadooglu::IsActive' | abpLocalization\"></dx-check-box>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #abpFooter>\r\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"cancel()\">\r\n {{ 'AbpUi::Cancel' | abpLocalization }}\r\n </button>\r\n <abp-button iconClass=\"fa fa-save\" buttonType=\"button\" [loading]=\"isLoading\" (click)=\"save()\">\r\n {{ 'AbpUi::Save' | abpLocalization }}\r\n </abp-button>\r\n </ng-template>\r\n</abp-modal>\r\n" }]
3502
+ }], ctorParameters: function () { return [{ type: HitKntItemEslService }, { type: HitItemService }, { type: i2$1.ConfirmationService }, { type: i1.LocalizationService }]; }, propDecorators: { visible: [{
3503
+ type: Input
3504
+ }], visibleChange: [{
3505
+ type: Output
3506
+ }], record: [{
3507
+ type: Input
3508
+ }], saved: [{
3509
+ type: Output
3510
+ }], cancelled: [{
3511
+ type: Output
3512
+ }] } });
3513
+
3514
+ class HitKntItemEslListComponent {
3515
+ constructor(service, confirmation, localizationService) {
3516
+ this.service = service;
3517
+ this.confirmation = confirmation;
3518
+ this.localizationService = localizationService;
3519
+ this.allData = [];
3520
+ this.filteredData = [];
3521
+ this.showForm = false;
3522
+ this.disabledIdColumn = false;
3523
+ this.selectedRecord = null;
3524
+ }
3525
+ ngOnInit() {
3526
+ this.loadList();
3527
+ }
3528
+ onToolbarPreparing(e) {
3529
+ e.toolbarOptions.items.unshift({
3530
+ location: 'after',
3531
+ widget: 'dxButton',
3532
+ options: {
3533
+ icon: 'plus',
3534
+ text: this.localizationService.instant('Kadooglu::NewRecord'),
3535
+ type: 'default',
3536
+ onClick: () => this.yeniKayit(),
3537
+ },
3538
+ });
3539
+ }
3540
+ loadList() {
3541
+ this.service.getList().subscribe(data => {
3542
+ this.allData = data;
3543
+ this.filteredData = [...data];
3544
+ });
3545
+ }
3546
+ yeniKayit() {
3547
+ this.selectedRecord = null;
3548
+ this.showForm = true;
3549
+ }
3550
+ duzenle(row) {
3551
+ this.selectedRecord = { ...row };
3552
+ this.showForm = true;
3553
+ }
3554
+ sil(row) {
3555
+ this.confirmation
3556
+ .warn(`"${row.code}" kodlu kaydı silmek istediğinize emin misiniz?`, '', {
3557
+ yesText: 'Evet',
3558
+ cancelText: 'Hayır',
3559
+ })
3560
+ .subscribe(status => {
3561
+ if (status === 'confirm') {
3562
+ this.service.delete(row.code).subscribe(() => this.loadList());
3563
+ }
3564
+ });
3565
+ }
3566
+ onFormSaved() {
3567
+ this.showForm = false;
3568
+ this.loadList();
3569
+ }
3570
+ onFormCancelled() {
3571
+ this.showForm = false;
3572
+ }
3573
+ }
3574
+ HitKntItemEslListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitKntItemEslListComponent, deps: [{ token: HitKntItemEslService }, { token: i2$1.ConfirmationService }, { token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
3575
+ HitKntItemEslListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: HitKntItemEslListComponent, selector: "lib-hit-knt-item-esl-list", ngImport: i0, template: "<abp-page [breadcrumb]=\"false\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"row align-items-center\">\r\n <div class=\"col\">\r\n <h3 class=\"page-title\">{{ 'Kadooglu::KntItemEslTitle' | abpLocalization }}</h3>\r\n </div>\r\n </div>\r\n </abp-page-toolbar-container>\r\n\r\n <div class=\"card mt-2\">\r\n <div class=\"card-body\">\r\n\r\n <dx-data-grid\r\n [dataSource]=\"filteredData\"\r\n [columnAutoWidth]=\"true\"\r\n [showBorders]=\"true\"\r\n [showRowLines]=\"true\"\r\n [hoverStateEnabled]=\"true\"\r\n [allowColumnResizing]=\"true\"\r\n columnResizingMode=\"widget\"\r\n [rowAlternationEnabled]=\"true\"\r\n (onToolbarPreparing)=\"onToolbarPreparing($event)\"\r\n keyExpr=\"code\"\r\n style=\"height: calc(100vh - 320px);\">\r\n\r\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\r\n <dxo-header-filter [visible]=\"true\"></dxo-header-filter>\r\n <dxo-search-panel [visible]=\"true\" [width]=\"200\" [placeholder]=\"'Kadooglu::Ara' | abpLocalization\"></dxo-search-panel>\r\n <dxo-pager [visible]=\"true\" [showInfo]=\"true\" [allowedPageSizes]=\"[10,20,50]\"\r\n [showPageSizeSelector]=\"true\" [showNavigationButtons]=\"true\"></dxo-pager>\r\n <dxo-paging [pageSize]=\"10\"></dxo-paging>\r\n <dxi-column [fixed]=\"true\" dataField=\"id\" width=\"120\" [allowGrouping]=\"false\" [allowFiltering]=\"false\"\r\n [allowHeaderFiltering]=\"false\" [allowHiding]=\"false\" [allowReordering]=\"false\"\r\n cellTemplate=\"operationTemplate\" caption=\"{{ 'AbpUi::Actions' | abpLocalization }}\">\r\n <div *dxTemplate=\"let row of 'operationTemplate'\">\r\n <div ngbDropdown container=\"body\" class=\"d-inline-block\">\r\n <button class=\"btn btn-primary btn-sm dropdown-toggle\" data-toggle=\"dropdown\"\r\n aria-haspopup=\"true\" ngbDropdownToggle [disabled]=\"disabledIdColumn\">\r\n <i class=\"fa fa-cog mr-1\" aria-hidden=\"true\"></i>\r\n {{ 'AbpUi::Actions' | abpLocalization }}\r\n </button>\r\n <div ngbDropdownMenu>\r\n <button ngbDropdownItem (click)=\"duzenle(row.data)\">\r\n <i class=\"fa fa-edit\" aria-hidden=\"true\"></i> {{ 'AbpUi::Edit' | abpLocalization }}\r\n </button>\r\n <button ngbDropdownItem (click)=\"sil(row.data)\">\r\n <i class=\"fa fa-trash\" aria-hidden=\"true\"></i> {{ 'AbpUi::Delete' | abpLocalization }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </dxi-column>\r\n <dxi-column dataField=\"u_CikisKalemKodu\" caption=\"{{ 'Kadooglu::ExitItemCode' | abpLocalization }}\" [width]=\"180\"></dxi-column>\r\n <dxi-column dataField=\"u_CikisKalemTanimi\" caption=\"{{ 'Kadooglu::ExitItemDesc' | abpLocalization }}\"></dxi-column>\r\n <dxi-column dataField=\"u_GirisKalemKodu\" caption=\"{{ 'Kadooglu::EntryItemCode' | abpLocalization }}\" [width]=\"180\"></dxi-column>\r\n <dxi-column dataField=\"u_GirisKalemTanimi\" caption=\"{{ 'Kadooglu::EntryItemDesc' | abpLocalization }}\"></dxi-column>\r\n <dxi-column dataField=\"u_Active\" caption=\"{{ 'Kadooglu::IsActive' | abpLocalization }}\" [width]=\"80\"></dxi-column>\r\n </dx-data-grid>\r\n\r\n </div>\r\n </div>\r\n</abp-page>\r\n\r\n<lib-hit-knt-item-esl-form\r\n [(visible)]=\"showForm\"\r\n [record]=\"selectedRecord\"\r\n (saved)=\"onFormSaved()\"\r\n (cancelled)=\"onFormCancelled()\">\r\n</lib-hit-knt-item-esl-form>\r\n", dependencies: [{ kind: "component", type: i4.PageComponent, selector: "abp-page", inputs: ["title", "toolbar", "breadcrumb"] }, { kind: "component", type: i4.PageToolbarContainerComponent, selector: "abp-page-toolbar-container" }, { kind: "component", type: i5.DxDataGridComponent, selector: "dx-data-grid", inputs: ["accessKey", "activeStateEnabled", "allowColumnReordering", "allowColumnResizing", "autoNavigateToFocusedRow", "cacheEnabled", "cellHintEnabled", "columnAutoWidth", "columnChooser", "columnFixing", "columnHidingEnabled", "columnMinWidth", "columnResizingMode", "columns", "columnWidth", "customizeColumns", "dataRowTemplate", "dataSource", "dateSerializationFormat", "disabled", "editing", "elementAttr", "errorRowEnabled", "export", "filterBuilder", "filterBuilderPopup", "filterPanel", "filterRow", "filterSyncEnabled", "filterValue", "focusedColumnIndex", "focusedRowEnabled", "focusedRowIndex", "focusedRowKey", "grouping", "groupPanel", "headerFilter", "height", "highlightChanges", "hint", "hoverStateEnabled", "keyboardNavigation", "keyExpr", "loadPanel", "masterDetail", "noDataText", "pager", "paging", "remoteOperations", "renderAsync", "repaintChangesOnly", "rowAlternationEnabled", "rowDragging", "rowTemplate", "rtlEnabled", "scrolling", "searchPanel", "selectedRowKeys", "selection", "selectionFilter", "showBorders", "showColumnHeaders", "showColumnLines", "showRowLines", "sortByGroupSummaryInfo", "sorting", "stateStoring", "summary", "syncLookupFilterValues", "tabIndex", "toolbar", "twoWayBindingEnabled", "visible", "width", "wordWrapEnabled"], outputs: ["onAdaptiveDetailRowPreparing", "onCellClick", "onCellDblClick", "onCellHoverChanged", "onCellPrepared", "onContentReady", "onContextMenuPreparing", "onDataErrorOccurred", "onDisposing", "onEditCanceled", "onEditCanceling", "onEditingStart", "onEditorPrepared", "onEditorPreparing", "onExporting", "onFocusedCellChanged", "onFocusedCellChanging", "onFocusedRowChanged", "onFocusedRowChanging", "onInitialized", "onInitNewRow", "onKeyDown", "onOptionChanged", "onRowClick", "onRowCollapsed", "onRowCollapsing", "onRowDblClick", "onRowExpanded", "onRowExpanding", "onRowInserted", "onRowInserting", "onRowPrepared", "onRowRemoved", "onRowRemoving", "onRowUpdated", "onRowUpdating", "onRowValidating", "onSaved", "onSaving", "onSelectionChanged", "onToolbarPreparing", "accessKeyChange", "activeStateEnabledChange", "allowColumnReorderingChange", "allowColumnResizingChange", "autoNavigateToFocusedRowChange", "cacheEnabledChange", "cellHintEnabledChange", "columnAutoWidthChange", "columnChooserChange", "columnFixingChange", "columnHidingEnabledChange", "columnMinWidthChange", "columnResizingModeChange", "columnsChange", "columnWidthChange", "customizeColumnsChange", "dataRowTemplateChange", "dataSourceChange", "dateSerializationFormatChange", "disabledChange", "editingChange", "elementAttrChange", "errorRowEnabledChange", "exportChange", "filterBuilderChange", "filterBuilderPopupChange", "filterPanelChange", "filterRowChange", "filterSyncEnabledChange", "filterValueChange", "focusedColumnIndexChange", "focusedRowEnabledChange", "focusedRowIndexChange", "focusedRowKeyChange", "groupingChange", "groupPanelChange", "headerFilterChange", "heightChange", "highlightChangesChange", "hintChange", "hoverStateEnabledChange", "keyboardNavigationChange", "keyExprChange", "loadPanelChange", "masterDetailChange", "noDataTextChange", "pagerChange", "pagingChange", "remoteOperationsChange", "renderAsyncChange", "repaintChangesOnlyChange", "rowAlternationEnabledChange", "rowDraggingChange", "rowTemplateChange", "rtlEnabledChange", "scrollingChange", "searchPanelChange", "selectedRowKeysChange", "selectionChange", "selectionFilterChange", "showBordersChange", "showColumnHeadersChange", "showColumnLinesChange", "showRowLinesChange", "sortByGroupSummaryInfoChange", "sortingChange", "stateStoringChange", "summaryChange", "syncLookupFilterValuesChange", "tabIndexChange", "toolbarChange", "twoWayBindingEnabledChange", "visibleChange", "widthChange", "wordWrapEnabledChange"] }, { kind: "component", type: i5$1.DxiColumnComponent, selector: "dxi-column", inputs: ["alignment", "allowEditing", "allowExporting", "allowFiltering", "allowFixing", "allowGrouping", "allowHeaderFiltering", "allowHiding", "allowReordering", "allowResizing", "allowSearch", "allowSorting", "autoExpandGroup", "buttons", "calculateCellValue", "calculateDisplayValue", "calculateFilterExpression", "calculateGroupValue", "calculateSortValue", "caption", "cellTemplate", "columns", "cssClass", "customizeText", "dataField", "dataType", "editCellTemplate", "editorOptions", "encodeHtml", "falseText", "filterOperations", "filterType", "filterValue", "filterValues", "fixed", "fixedPosition", "format", "formItem", "groupCellTemplate", "groupIndex", "headerCellTemplate", "headerFilter", "hidingPriority", "isBand", "lookup", "minWidth", "name", "ownerBand", "renderAsync", "selectedFilterOperation", "setCellValue", "showEditorAlways", "showInColumnChooser", "showWhenGrouped", "sortIndex", "sortingMethod", "sortOrder", "trueText", "type", "validationRules", "visible", "visibleIndex", "width"], outputs: ["filterValueChange", "filterValuesChange", "groupIndexChange", "selectedFilterOperationChange", "sortIndexChange", "sortOrderChange", "visibleChange", "visibleIndexChange"] }, { kind: "component", type: i5$1.DxoHeaderFilterComponent, selector: "dxo-header-filter", inputs: ["allowSearch", "dataSource", "groupInterval", "height", "searchMode", "width", "searchTimeout", "texts", "visible", "showRelevantValues"] }, { kind: "component", type: i5$1.DxoFilterRowComponent, selector: "dxo-filter-row", inputs: ["applyFilter", "applyFilterText", "betweenEndText", "betweenStartText", "operationDescriptions", "resetOperationText", "showAllText", "showOperationChooser", "visible"] }, { kind: "component", type: i5$1.DxoPagerComponent, selector: "dxo-pager", inputs: ["allowedPageSizes", "displayMode", "infoText", "label", "showInfo", "showNavigationButtons", "showPageSizeSelector", "visible"] }, { kind: "component", type: i5$1.DxoPagingComponent, selector: "dxo-paging", inputs: ["enabled", "pageIndex", "pageSize"], outputs: ["pageIndexChange", "pageSizeChange"] }, { kind: "component", type: i5$1.DxoSearchPanelComponent, selector: "dxo-search-panel", inputs: ["highlightCaseSensitive", "highlightSearchText", "placeholder", "searchVisibleColumnsOnly", "text", "visible", "width"], outputs: ["textChange"] }, { kind: "directive", type: i7.DxTemplateDirective, selector: "[dxTemplate]", inputs: ["dxTemplateOf"] }, { kind: "directive", type: i8.NgbDropdown, selector: "[ngbDropdown]", inputs: ["autoClose", "dropdownClass", "open", "placement", "container", "display"], outputs: ["openChange"], exportAs: ["ngbDropdown"] }, { kind: "directive", type: i8.NgbDropdownToggle, selector: "[ngbDropdownToggle]" }, { kind: "directive", type: i8.NgbDropdownMenu, selector: "[ngbDropdownMenu]" }, { kind: "directive", type: i8.NgbDropdownItem, selector: "[ngbDropdownItem]", inputs: ["disabled"] }, { kind: "component", type: HitKntItemEslFormComponent, selector: "lib-hit-knt-item-esl-form", inputs: ["visible", "record"], outputs: ["visibleChange", "saved", "cancelled"] }, { kind: "pipe", type: i1.LocalizationPipe, name: "abpLocalization" }] });
3576
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitKntItemEslListComponent, decorators: [{
3577
+ type: Component,
3578
+ args: [{ selector: 'lib-hit-knt-item-esl-list', template: "<abp-page [breadcrumb]=\"false\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"row align-items-center\">\r\n <div class=\"col\">\r\n <h3 class=\"page-title\">{{ 'Kadooglu::KntItemEslTitle' | abpLocalization }}</h3>\r\n </div>\r\n </div>\r\n </abp-page-toolbar-container>\r\n\r\n <div class=\"card mt-2\">\r\n <div class=\"card-body\">\r\n\r\n <dx-data-grid\r\n [dataSource]=\"filteredData\"\r\n [columnAutoWidth]=\"true\"\r\n [showBorders]=\"true\"\r\n [showRowLines]=\"true\"\r\n [hoverStateEnabled]=\"true\"\r\n [allowColumnResizing]=\"true\"\r\n columnResizingMode=\"widget\"\r\n [rowAlternationEnabled]=\"true\"\r\n (onToolbarPreparing)=\"onToolbarPreparing($event)\"\r\n keyExpr=\"code\"\r\n style=\"height: calc(100vh - 320px);\">\r\n\r\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\r\n <dxo-header-filter [visible]=\"true\"></dxo-header-filter>\r\n <dxo-search-panel [visible]=\"true\" [width]=\"200\" [placeholder]=\"'Kadooglu::Ara' | abpLocalization\"></dxo-search-panel>\r\n <dxo-pager [visible]=\"true\" [showInfo]=\"true\" [allowedPageSizes]=\"[10,20,50]\"\r\n [showPageSizeSelector]=\"true\" [showNavigationButtons]=\"true\"></dxo-pager>\r\n <dxo-paging [pageSize]=\"10\"></dxo-paging>\r\n <dxi-column [fixed]=\"true\" dataField=\"id\" width=\"120\" [allowGrouping]=\"false\" [allowFiltering]=\"false\"\r\n [allowHeaderFiltering]=\"false\" [allowHiding]=\"false\" [allowReordering]=\"false\"\r\n cellTemplate=\"operationTemplate\" caption=\"{{ 'AbpUi::Actions' | abpLocalization }}\">\r\n <div *dxTemplate=\"let row of 'operationTemplate'\">\r\n <div ngbDropdown container=\"body\" class=\"d-inline-block\">\r\n <button class=\"btn btn-primary btn-sm dropdown-toggle\" data-toggle=\"dropdown\"\r\n aria-haspopup=\"true\" ngbDropdownToggle [disabled]=\"disabledIdColumn\">\r\n <i class=\"fa fa-cog mr-1\" aria-hidden=\"true\"></i>\r\n {{ 'AbpUi::Actions' | abpLocalization }}\r\n </button>\r\n <div ngbDropdownMenu>\r\n <button ngbDropdownItem (click)=\"duzenle(row.data)\">\r\n <i class=\"fa fa-edit\" aria-hidden=\"true\"></i> {{ 'AbpUi::Edit' | abpLocalization }}\r\n </button>\r\n <button ngbDropdownItem (click)=\"sil(row.data)\">\r\n <i class=\"fa fa-trash\" aria-hidden=\"true\"></i> {{ 'AbpUi::Delete' | abpLocalization }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </dxi-column>\r\n <dxi-column dataField=\"u_CikisKalemKodu\" caption=\"{{ 'Kadooglu::ExitItemCode' | abpLocalization }}\" [width]=\"180\"></dxi-column>\r\n <dxi-column dataField=\"u_CikisKalemTanimi\" caption=\"{{ 'Kadooglu::ExitItemDesc' | abpLocalization }}\"></dxi-column>\r\n <dxi-column dataField=\"u_GirisKalemKodu\" caption=\"{{ 'Kadooglu::EntryItemCode' | abpLocalization }}\" [width]=\"180\"></dxi-column>\r\n <dxi-column dataField=\"u_GirisKalemTanimi\" caption=\"{{ 'Kadooglu::EntryItemDesc' | abpLocalization }}\"></dxi-column>\r\n <dxi-column dataField=\"u_Active\" caption=\"{{ 'Kadooglu::IsActive' | abpLocalization }}\" [width]=\"80\"></dxi-column>\r\n </dx-data-grid>\r\n\r\n </div>\r\n </div>\r\n</abp-page>\r\n\r\n<lib-hit-knt-item-esl-form\r\n [(visible)]=\"showForm\"\r\n [record]=\"selectedRecord\"\r\n (saved)=\"onFormSaved()\"\r\n (cancelled)=\"onFormCancelled()\">\r\n</lib-hit-knt-item-esl-form>\r\n" }]
3579
+ }], ctorParameters: function () { return [{ type: HitKntItemEslService }, { type: i2$1.ConfirmationService }, { type: i1.LocalizationService }]; } });
3580
+
3581
+ const routes$1 = [
3582
+ { path: '', component: HitKntItemEslListComponent },
3583
+ ];
3584
+ class HitKntItemEslRoutingModule {
3585
+ }
3586
+ HitKntItemEslRoutingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitKntItemEslRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3587
+ HitKntItemEslRoutingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: HitKntItemEslRoutingModule, imports: [i1$1.RouterModule], exports: [RouterModule] });
3588
+ HitKntItemEslRoutingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitKntItemEslRoutingModule, imports: [RouterModule.forChild(routes$1), RouterModule] });
3589
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitKntItemEslRoutingModule, decorators: [{
3590
+ type: NgModule,
3591
+ args: [{
3592
+ imports: [RouterModule.forChild(routes$1)],
3593
+ exports: [RouterModule],
3594
+ }]
3595
+ }] });
3596
+
3597
+ class HitKntItemEslModule {
3598
+ }
3599
+ HitKntItemEslModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitKntItemEslModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3600
+ HitKntItemEslModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: HitKntItemEslModule, declarations: [HitKntItemEslListComponent, HitKntItemEslFormComponent], imports: [CommonModule,
3601
+ FormsModule,
3602
+ CoreModule,
3603
+ ThemeSharedModule,
3604
+ PageModule,
3605
+ CommercialUiModule,
3606
+ HitKntItemEslRoutingModule,
3607
+ HitUIModule,
3608
+ DxDataGridModule,
3609
+ DxTextBoxModule,
3610
+ DxButtonModule,
3611
+ DxCheckBoxModule,
3612
+ NgbDropdownModule] });
3613
+ HitKntItemEslModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitKntItemEslModule, imports: [CommonModule,
3614
+ FormsModule,
3615
+ CoreModule,
3616
+ ThemeSharedModule,
3617
+ PageModule,
3618
+ CommercialUiModule,
3619
+ HitKntItemEslRoutingModule,
3620
+ HitUIModule,
3621
+ DxDataGridModule,
3622
+ DxTextBoxModule,
3623
+ DxButtonModule,
3624
+ DxCheckBoxModule,
3625
+ NgbDropdownModule] });
3626
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitKntItemEslModule, decorators: [{
3627
+ type: NgModule,
3628
+ args: [{
3629
+ declarations: [HitKntItemEslListComponent, HitKntItemEslFormComponent],
3630
+ imports: [
3631
+ CommonModule,
3632
+ FormsModule,
3633
+ CoreModule,
3634
+ ThemeSharedModule,
3635
+ PageModule,
3636
+ CommercialUiModule,
3637
+ HitKntItemEslRoutingModule,
3638
+ HitUIModule,
3639
+ DxDataGridModule,
3640
+ DxTextBoxModule,
3641
+ DxButtonModule,
3642
+ DxCheckBoxModule,
3643
+ NgbDropdownModule,
3644
+ ],
3645
+ }]
3646
+ }] });
3647
+ function loadHitKntItemEslModuleAsChild() {
3648
+ return Promise.resolve(HitKntItemEslModule);
3649
+ }
3650
+
3651
+ const routes = [
3652
+ {
3653
+ path: '',
3654
+ pathMatch: 'full',
3655
+ component: KadoogluComponent,
3656
+ },
3657
+ { path: 'factory-entry', loadChildren: loadHitFactoryEntryModuleAsChild },
3658
+ { path: 'entry-weighing', loadChildren: loadHitEntryWeighingModuleAsChild },
3659
+ { path: 'vehicle-type', loadChildren: loadHitVehicleTypeModuleAsChild },
3660
+ { path: 'scale', loadChildren: loadHitScaleModuleAsChild },
3661
+ { path: 'gate', loadChildren: loadHitGateModuleAsChild },
3662
+ { path: 'carrier-person', loadChildren: loadHitCarrierPersonModuleAsChild },
3663
+ { path: 'plate', loadChildren: loadHitPlateModuleAsChild },
3664
+ { path: 'knt-item-esl', loadChildren: loadHitKntItemEslModuleAsChild },
3665
+ ];
3666
+ class KadoogluRoutingModule {
3667
+ }
3668
+ KadoogluRoutingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: KadoogluRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3669
+ KadoogluRoutingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: KadoogluRoutingModule, imports: [i1$1.RouterModule], exports: [RouterModule] });
3670
+ KadoogluRoutingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: KadoogluRoutingModule, imports: [RouterModule.forChild(routes), RouterModule] });
3671
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: KadoogluRoutingModule, decorators: [{
3672
+ type: NgModule,
3673
+ args: [{
3674
+ imports: [RouterModule.forChild(routes)],
3675
+ exports: [RouterModule],
3676
+ }]
3677
+ }] });
3678
+
3679
+ class KadoogluModule {
3680
+ constructor(localizationService) {
3681
+ this.localizationService = localizationService;
3682
+ this.localizationService.currentLang$.subscribe(item => {
3683
+ locale(item);
3684
+ });
3685
+ }
3686
+ static forChild() {
3687
+ return {
3688
+ ngModule: KadoogluModule,
3689
+ providers: [],
3690
+ };
3691
+ }
3692
+ static forLazy() {
3693
+ return new LazyModuleFactory(KadoogluModule.forChild());
3694
+ }
3695
+ }
3696
+ KadoogluModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: KadoogluModule, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.NgModule });
3697
+ KadoogluModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: KadoogluModule, declarations: [KadoogluComponent], imports: [CommonModule,
3698
+ CoreModule,
3699
+ ThemeSharedModule,
3700
+ KadoogluRoutingModule], exports: [KadoogluComponent] });
3701
+ KadoogluModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: KadoogluModule, imports: [CommonModule,
3702
+ CoreModule,
3703
+ ThemeSharedModule,
3704
+ KadoogluRoutingModule] });
3705
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: KadoogluModule, decorators: [{
3706
+ type: NgModule,
3707
+ args: [{
3708
+ declarations: [KadoogluComponent],
3709
+ imports: [
3710
+ CommonModule,
3711
+ CoreModule,
3712
+ ThemeSharedModule,
3713
+ KadoogluRoutingModule,
3714
+ ],
3715
+ exports: [KadoogluComponent],
3716
+ }]
3717
+ }], ctorParameters: function () { return [{ type: i1.LocalizationService }]; } });
3718
+
3719
+ /*
3720
+ * Public API Surface of kadooglu
3721
+ */
3722
+
3723
+ /**
3724
+ * Generated bundle index. Do not edit.
3725
+ */
3726
+
3727
+ export { HitFactoryEntryService, KadoogluComponent, KadoogluModule, KadoogluService };
3728
+ //# sourceMappingURL=hitsoft-abp.kadooglu.mjs.map