@hitsoft/uretim-yonetimi 1.0.1 → 1.0.3

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.
@@ -47,7 +47,7 @@ export class HitReceiptFromProductionsComponent {
47
47
  this.focusOnBarkodNumarasi();
48
48
  }
49
49
  generateReport() {
50
- this.service.getBarcodeInfo(this.barkodNumarasi, this.newRecordDocEntry, 1).subscribe({
50
+ this.service.getBarcodeInfo(this.isEmriNumarasiForBarcode, this.newRecordDocEntry, 1).subscribe({
51
51
  next: response => {
52
52
  const base64Data = response.base64; // base64 string (sadece veri kısmı, "data:application/pdf;base64,..." değilse)
53
53
  // Base64'ü decode edip binary veriye çeviriyoruz
@@ -103,15 +103,14 @@ export class HitReceiptFromProductionsComponent {
103
103
  this.isLoading = true;
104
104
  this.receiptFromProductionsPostDtoDocumentLine.batchNumbers = [this.receiptFromProductionsPostDtoBatchNumber];
105
105
  this.receiptFromProductionsPostDto.documentLines = [this.receiptFromProductionsPostDtoDocumentLine];
106
- console.log('documentLines', this.receiptFromProductionsPostDto.documentLines);
107
- console.log('batchNumbers', this.receiptFromProductionsPostDtoDocumentLine.batchNumbers);
108
- return;
109
106
  this.service.create(this.receiptFromProductionsPostDto).subscribe({
110
107
  next: (result) => {
111
108
  if (result.isSuccessful) {
112
109
  this.confirmation.success('İşlem Başarılı', '', this.options).subscribe(() => {
113
110
  this.newRecordDocEntry = result.items.docEntry;
111
+ this.isEmriNumarasiForBarcode = this.barkodNumarasi;
114
112
  this.showModal = true;
113
+ this.clearAll();
115
114
  });
116
115
  }
117
116
  else {
@@ -187,4 +186,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
187
186
  type: ViewChild,
188
187
  args: ['toplananMiktarRef', { static: false }]
189
188
  }] } });
190
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGl0LXJlY2VpcHQtZnJvbS1wcm9kdWN0aW9ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91cmV0aW0teW9uZXRpbWkvc3JjL2xpYi9jb21wb25lbnRzL2hpdC1yZWNlaXB0LWZyb20tcHJvZHVjdGlvbnMvaGl0LXJlY2VpcHQtZnJvbS1wcm9kdWN0aW9ucy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91cmV0aW0teW9uZXRpbWkvc3JjL2xpYi9jb21wb25lbnRzL2hpdC1yZWNlaXB0LWZyb20tcHJvZHVjdGlvbnMvaGl0LXJlY2VpcHQtZnJvbS1wcm9kdWN0aW9ucy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsV0FBVyxFQUFpQixNQUFNLGNBQWMsQ0FBQztBQUV6RCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDNUQsT0FBTyxFQUFnQix1QkFBdUIsRUFBRSxTQUFTLEVBQWtCLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMzRyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFJMUQsT0FBTyxFQUNMLHFCQUFxQixFQUNyQixrQ0FBa0MsRUFDbEMsMkJBQTJCLEVBQzNCLDZCQUE2QixFQUM5QixNQUFNLHFEQUFxRCxDQUFDO0FBRTdELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7Ozs7OztBQVlqRCxNQUFNLE9BQU8sa0NBQWtDO0lBVzdDLFlBQ1UsTUFBYyxFQUNOLElBQWlCLEVBQ2pCLEtBQXFCLEVBQ3JCLE9BQXlDLEVBQ2pELFlBQWlDLEVBQ2pDLHVCQUFtRCxFQUNuRCxTQUF1QjtRQU52QixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ04sU0FBSSxHQUFKLElBQUksQ0FBYTtRQUNqQixVQUFLLEdBQUwsS0FBSyxD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QWtHQTsyRkR2RWEsa0NBQWtDO2tCQVA5QyxTQUFTOytCQUNFLGtDQUFrQyxtQkFDM0IsdUJBQXVCLENBQUMsT0FBTyxhQUNyQyxDQUFDLFdBQVcsRUFBRSxFQUFDLE9BQU8sRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBQyxDQUFDO3lTQU16QixvQkFBb0I7c0JBQXBFLFNBQVM7dUJBQUMsbUJBQW1CLEVBQUUsRUFBQyxNQUFNLEVBQUUsS0FBSyxFQUFDO2dCQUNFLG9CQUFvQjtzQkFBcEUsU0FBUzt1QkFBQyxtQkFBbUIsRUFBRSxFQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0xpc3RTZXJ2aWNlLCBUcmFja0J5U2VydmljZX0gZnJvbSAnQGFicC9uZy5jb3JlJztcclxuaW1wb3J0IHtDb25maXJtYXRpb25TZXJ2aWNlLCBDb25maXJtYXRpb259IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcclxuaW1wb3J0IHtEYXRlQWRhcHRlcn0gZnJvbSAnQGFicC9uZy50aGVtZS5zaGFyZWQvZXh0ZW5zaW9ucyc7XHJcbmltcG9ydCB7QWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgTmdab25lLCBPbkluaXQsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7TmdiRGF0ZUFkYXB0ZXJ9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcclxuaW1wb3J0IHtcclxuICBIaXRSZWNlaXB0RnJvbVByb2R1Y3Rpb25zU2VydmljZVxyXG59IGZyb20gXCIuLi8uLi9oaXQtcHJveHkvaGl0LXJlY2VpcHQtZnJvbS1wcm9kdWN0aW9ucy9oaXQtcmVjZWlwdC1mcm9tLXByb2R1Y3Rpb25zLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtcclxuICBHZXRQcm9kdWN0aW9uT3JkZXJEdG8sXHJcbiAgUmVjZWlwdEZyb21Qcm9kdWN0aW9uc0JhdGNoTnVtYmVycyxcclxuICBSZWNlaXB0RnJvbVByb2R1Y3Rpb25zTGluZXMsXHJcbiAgUmVjZWlwdEZyb21Qcm9kdWN0aW9uc1Bvc3REdG9cclxufSBmcm9tICcuLi8uLi9oaXQtcHJveHkvaGl0LXJlY2VpcHQtZnJvbS1wcm9kdWN0aW9ucy9tb2RlbHMnO1xyXG5pbXBvcnQge0hpdFByb2R1Y3Rpb25PcmRlcnNTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vaGl0LXByb3h5L2hpdC1wcm9kdWN0aW9uLW9yZGVycy9oaXQtcHJvZHVjdGlvbi1vcmRlcnMuc2VydmljZVwiO1xyXG5pbXBvcnQge0hpdEhlbHBlcn0gZnJvbSBcIi4uLy4uL2hpdC1wcm94eS9tb2RlbHNcIjtcclxuaW1wb3J0IHtEeE51bWJlckJveENvbXBvbmVudCwgRHhUZXh0Qm94Q29tcG9uZW50fSBmcm9tIFwiZGV2ZXh0cmVtZS1hbmd1bGFyXCI7XHJcbmltcG9ydCB7V2FyZWhvdXNlfSBmcm9tIFwiLi4vLi4vaGl0LXByb3h5L2hpdC1wcm9kdWN0aW9uLW9yZGVycy9tb2RlbHNcIjtcclxuaW1wb3J0IHtEb21TYW5pdGl6ZXIsIFNhZmVSZXNvdXJjZVVybH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1oaXQtcmVjZWlwdC1mcm9tLXByb2R1Y3Rpb25zJyxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LkRlZmF1bHQsXHJcbiAgcHJvdmlkZXJzOiBbTGlzdFNlcnZpY2UsIHtwcm92aWRlOiBOZ2JEYXRlQWRhcHRlciwgdXNlQ2xhc3M6IERhdGVBZGFwdGVyfV0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2hpdC1yZWNlaXB0LWZyb20tcHJvZHVjdGlvbnMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlczogW10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBIaXRSZWNlaXB0RnJvbVByb2R1Y3Rpb25zQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcclxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgSGl0SGVscGVyID0gSGl0SGVscGVyO1xyXG4gIEBWaWV3Q2hpbGQoJ2JhcmtvZE51bWFyYXNpUmVmJywge3N0YXRpYzogZmFsc2V9KSBubWJCb3hCYXJrb2ROdW1hcmFzaTogRHhUZXh0Qm94Q29tcG9uZW50O1xyXG4gIEBWaWV3Q2hpbGQoJ3RvcGxhbmFuTWlrdGFyUmVmJywge3N0YXRpYzogZmFsc2V9KSBubWJCb3hUb3BsYW5hbk1pa3RhcjogRHhOdW1iZXJCb3hDb21wb25lbnQ7XHJcbiAgaXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgb3B0aW9uczogUGFydGlhbDxDb25maXJtYXRpb24uT3B0aW9ucz4gPSB7XHJcbiAgICBoaWRlWWVzQnRuOiB0cnVlLFxyXG4gICAgY2FuY2VsVGV4dDogJ0thcGF0JyxcclxuICAgIGRpc21pc3NpYmxlOiBmYWxzZSxcclxuICB9O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgbmdab25lOiBOZ1pvbmUsXHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgbGlzdDogTGlzdFNlcnZpY2UsXHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgdHJhY2s6IFRyYWNrQnlTZXJ2aWNlLFxyXG4gICAgcHVibGljIHJlYWRvbmx5IHNlcnZpY2U6IEhpdFJlY2VpcHRGcm9tUHJvZHVjdGlvbnNTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjb25maXJtYXRpb246IENvbmZpcm1hdGlvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHByb2R1Y3Rpb25PcmRlcnNTZXJ2aWNlOiBIaXRQcm9kdWN0aW9uT3JkZXJzU2VydmljZSxcclxuICAgIHByaXZhdGUgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXJcclxuICApIHtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5jbGVhckFsbCgpO1xyXG4gICAgdGhpcy5nZXRXYXJlaG91c2VzKCk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICB0aGlzLmZvY3VzT25CYXJrb2ROdW1hcmFzaSgpO1xyXG4gIH1cclxuXHJcbiAgYmFya29kTnVtYXJhc2k6IG51bWJlcjtcclxuICBpc1Byb2R1Y3Rpb25PcmRlclZhbGlkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgdW5pdE9mTWVhc3VyZTogc3RyaW5nO1xyXG4gIHNob3dNb2RhbDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHBkZlNyYzogU2FmZVJlc291cmNlVXJsIHwgbnVsbCA9IG51bGw7XHJcbiAgbmV3UmVjb3JkRG9jRW50cnk6IG51bWJlcjtcclxuXHJcbiAgZ2VuZXJhdGVSZXBvcnQoKSB7XHJcbiAgICB0aGlzLnNlcnZpY2UuZ2V0QmFyY29kZUluZm8odGhpcy5iYXJrb2ROdW1hcmFzaSwgdGhpcy5uZXdSZWNvcmREb2NFbnRyeSwgMSkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogcmVzcG9uc2UgPT4ge1xyXG4gICAgICAgIGNvbnN0IGJhc2U2NERhdGEgPSByZXNwb25zZS5iYXNlNjQ7IC8vIGJhc2U2NCBzdHJpbmcgKHNhZGVjZSB2ZXJpIGvEsXNtxLEsIFwiZGF0YTphcHBsaWNhdGlvbi9wZGY7YmFzZTY0LC4uLlwiIGRlxJ9pbHNlKVxyXG5cclxuICAgICAgICAvLyBCYXNlNjQnw7wgZGVjb2RlIGVkaXAgYmluYXJ5IHZlcml5ZSDDp2V2aXJpeW9ydXpcclxuICAgICAgICBjb25zdCBieXRlQ2hhcmFjdGVycyA9IGF0b2IoYmFzZTY0RGF0YSk7XHJcbiAgICAgICAgY29uc3QgYnl0ZU51bWJlcnMgPSBuZXcgQXJyYXkoYnl0ZUNoYXJhY3RlcnMubGVuZ3RoKTtcclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGJ5dGVDaGFyYWN0ZXJzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICBieXRlTnVtYmVyc1tpXSA9IGJ5dGVDaGFyYWN0ZXJzLmNoYXJDb2RlQXQoaSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IGJ5dGVBcnJheSA9IG5ldyBVaW50OEFycmF5KGJ5dGVOdW1iZXJzKTtcclxuXHJcbiAgICAgICAgLy8gQmxvYiBvbHXFn3R1cnV5b3J1elxyXG4gICAgICAgIGNvbnN0IGJsb2IgPSBuZXcgQmxvYihbYnl0ZUFycmF5XSwge3R5cGU6ICdhcHBsaWNhdGlvbi9wZGYnfSk7XHJcblxyXG4gICAgICAgIC8vIEJsb2IndGFuIFVSTCBvbHXFn3R1cnVwIHllbmkgc2VrbWVkZSBhw6fEsXlvcnV6ICh2ZXlhIGRvd25sb2FkIGVkZWJpbGlyc2luKVxyXG4gICAgICAgIGNvbnN0IGJsb2JVcmwgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpO1xyXG4gICAgICAgIHRoaXMucGRmU3JjID0gdGhpcy5ieXBhc3NBbmRTYW5pdGl6ZShibG9iVXJsKTtcclxuICAgICAgfSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgYnlwYXNzQW5kU2FuaXRpemUodXJsKTogU2FmZVJlc291cmNlVXJsIHtcclxuICAgIHJldHVybiB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0UmVzb3VyY2VVcmwodXJsKTtcclxuICB9XHJcblxyXG4gIHByb2R1Y3Rpb25PcmRlcjogR2V0UHJvZHVjdGlvbk9yZGVyRHRvID0gbmV3IEdldFByb2R1Y3Rpb25PcmRlckR0bygpO1xyXG5cclxuICBhc3luYyBnZXRQcm9kdWN0aW9uT3JkZXIoKSB7XHJcbiAgICB0aGlzLmNsZWFyRm9ybSgpO1xyXG4gICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy5wcm9kdWN0aW9uT3JkZXJzU2VydmljZS5nZXQodGhpcy5iYXJrb2ROdW1hcmFzaSkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKHJlc3VsdCkgPT4ge1xyXG4gICAgICAgIGlmIChyZXN1bHQuaXNTdWNjZXNzZnVsKSB7XHJcbiAgICAgICAgICB0aGlzLnByb2R1Y3Rpb25PcmRlciA9IHJlc3VsdC5pdGVtcztcclxuICAgICAgICAgIHRoaXMucmVjZWlwdEZyb21Qcm9kdWN0aW9uc1Bvc3REdG9RdWFudGl0eSA9IHJlc3VsdC5pdGVtcy5wbGFubmVkUXVhbnRpdHkgLSByZXN1bHQuaXRlbXMuY29tcGxldGVkUXVhbnRpdHk7XHJcblxyXG4gICAgICAgICAgdGhpcy5yZWNlaXB0RnJvbVByb2R1Y3Rpb25zUG9zdER0b0RvY3VtZW50TGluZS5iYXNlRW50cnkgPSB0aGlzLmJhcmtvZE51bWFyYXNpO1xyXG4gICAgICAgICAgdGhpcy5yZWNlaXB0RnJvbVByb2R1Y3Rpb25zUG9zdER0b0RvY3VtZW50TGluZS5iYXNlVHlwZSA9IDIwMjtcclxuICAgICAgICAgIHRoaXMucmVjZWlwdEZyb21Qcm9kdWN0aW9uc1Bvc3REdG9Eb2N1bWVudExpbmUucXVhbnRpdHkgPSB0aGlzLnJlY2VpcHRGcm9tUHJvZHVjdGlvbnNQb3N0RHRvUXVhbnRpdHk7XHJcbiAgICAgICAgICB0aGlzLnJlY2VpcHRGcm9tUHJvZHVjdGlvbnNQb3N0RHRvRG9jdW1lbnRMaW5lLndhcmVob3VzZUNvZGUgPSByZXN1bHQuaXRlbXMud2FyZWhvdXNlO1xyXG4gICAgICAgICAgdGhpcy5yZWNlaXB0RnJvbVByb2R1Y3Rpb25zUG9zdER0b0JhdGNoTnVtYmVyLmJhdGNoTnVtYmVyID0gcmVzdWx0Lml0ZW1zLnVfdHJrQmF0Y2g7XHJcbiAgICAgICAgICB0aGlzLnJlY2VpcHRGcm9tUHJvZHVjdGlvbnNQb3N0RHRvQmF0Y2hOdW1iZXIucXVhbnRpdHkgPSB0aGlzLnJlY2VpcHRGcm9tUHJvZHVjdGlvbnNQb3N0RHRvUXVhbnRpdHk7XHJcblxyXG4gICAgICAgICAgdGhpcy51bml0T2ZNZWFzdXJlID0gcmVzdWx0Lml0ZW1zLnVuaXRPZk1lYXN1cmVtZW50O1xyXG4gICAgICAgICAgdGhpcy5pc1Byb2R1Y3Rpb25PcmRlclZhbGlkID0gdHJ1ZTtcclxuICAgICAgICAgIHRoaXMuZm9jdXNPblRvcGxhbmFuTWlrdGFyKCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGlmIChyZXN1bHQ/LmlzU3VjY2Vzc2Z1bCA9PSBmYWxzZSkge1xyXG4gICAgICAgICAgICB0aGlzLmNvbmZpcm1hdGlvbi5zdGF0dXMkLnN1YnNjcmliZSh7XHJcbiAgICAgICAgICAgICAgbmV4dDogKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jbGVhckFsbCgpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICByZWNlaXB0RnJvbVByb2R1Y3Rpb25zUG9zdER0b1F1YW50aXR5OiBudW1iZXIgPSAwO1xyXG4gIHJlY2VpcHRGcm9tUHJvZHVjdGlvbnNQb3N0RHRvOiBSZWNlaXB0RnJvbVByb2R1Y3Rpb25zUG9zdER0byA9IG5ldyBSZWNlaXB0RnJvbVByb2R1Y3Rpb25zUG9zdER0bygpO1xyXG4gIHJlY2VpcHRGcm9tUHJvZHVjdGlvbnNQb3N0RHRvRG9jdW1lbnRMaW5lOiBSZWNlaXB0RnJvbVByb2R1Y3Rpb25zTGluZXMgPSBuZXcgUmVjZWlwdEZyb21Qcm9kdWN0aW9uc0xpbmVzKCk7XHJcbiAgcmVjZWlwdEZyb21Qcm9kdWN0aW9uc1Bvc3REdG9CYXRjaE51bWJlcjogUmVjZWlwdEZyb21Qcm9kdWN0aW9uc0JhdGNoTnVtYmVycyA9IG5ldyBSZWNlaXB0RnJvbVByb2R1Y3Rpb25zQmF0Y2hOdW1iZXJzKCk7XHJcblxyXG4gIGFzeW5jIHBvc3RSZWNlaXB0RnJvbVByb2R1Y3Rpb25zKCkge1xyXG4gICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xyXG5cclxuICAgIHRoaXMucmVjZWlwdEZyb21Qcm9kdWN0aW9uc1Bvc3REdG9Eb2N1bWVudExpbmUuYmF0Y2hOdW1iZXJzID0gW3RoaXMucmVjZWlwdEZyb21Qcm9kdWN0aW9uc1Bvc3REdG9CYXRjaE51bWJlcl07XHJcbiAgICB0aGlzLnJlY2VpcHRGcm9tUHJvZHVjdGlvbnNQb3N0RHRvLmRvY3VtZW50TGluZXMgPSBbdGhpcy5yZWNlaXB0RnJvbVByb2R1Y3Rpb25zUG9zdER0b0RvY3VtZW50TGluZV07XHJcbiAgICBjb25zb2xlLmxvZygnZG9jdW1lbnRMaW5lcycsdGhpcy5yZWNlaXB0RnJvbVByb2R1Y3Rpb25zUG9zdER0by5kb2N1bWVudExpbmVzKVxyXG4gICAgY29uc29sZS5sb2coJ2JhdGNoTnVtYmVycycsdGhpcy5yZWNlaXB0RnJvbVByb2R1Y3Rpb25zUG9zdER0b0RvY3VtZW50TGluZS5iYXRjaE51bWJlcnMpXHJcbiAgICByZXR1cm47XHJcbiAgICB0aGlzLnNlcnZpY2UuY3JlYXRlKHRoaXMucmVjZWlwdEZyb21Qcm9kdWN0aW9uc1Bvc3REdG8pLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChyZXN1bHQpID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0LmlzU3VjY2Vzc2Z1bCkge1xyXG4gICAgICAgICAgdGhpcy5jb25maXJtYXRpb24uc3VjY2VzcygnxLDFn2xlbSBCYcWfYXLEsWzEsScsICcnLCB0aGlzLm9wdGlvbnMpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMubmV3UmVjb3JkRG9jRW50cnkgPSByZXN1bHQuaXRlbXMuZG9jRW50cnk7XHJcbiAgICAgICAgICAgIHRoaXMuc2hvd01vZGFsID0gdHJ1ZTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLmNvbmZpcm1hdGlvbi5zdGF0dXMkLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuZm9jdXNPblRvcGxhbmFuTWlrdGFyKCk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5jb25maXJtYXRpb24uc3RhdHVzJC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5mb2N1c09uVG9wbGFuYW5NaWt0YXIoKTtcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIGNsZWFyQWxsKCkge1xyXG4gICAgdGhpcy5iYXJrb2ROdW1hcmFzaSA9IG51bGw7XHJcbiAgICB0aGlzLmNsZWFyRm9ybSgpO1xyXG4gIH1cclxuXHJcbiAgY2xlYXJGb3JtKCkge1xyXG4gICAgdGhpcy5wcm9kdWN0aW9uT3JkZXIgPSBuZXcgR2V0UHJvZHVjdGlvbk9yZGVyRHRvKCk7XHJcbiAgICB0aGlzLnJlY2VpcHRGcm9tUHJvZHVjdGlvbnNQb3N0RHRvID0gbmV3IFJlY2VpcHRGcm9tUHJvZHVjdGlvbnNQb3N0RHRvKCk7XHJcbiAgICB0aGlzLnJlY2VpcHRGcm9tUHJvZHVjdGlvbnNQb3N0RHRvRG9jdW1lbnRMaW5lID0gbmV3IFJlY2VpcHRGcm9tUHJvZHVjdGlvbnNMaW5lcygpO1xyXG4gICAgdGhpcy5yZWNlaXB0RnJvbVByb2R1Y3Rpb25zUG9zdER0b0JhdGNoTnVtYmVyID0gbmV3IFJlY2VpcHRGcm9tUHJvZHVjdGlvbnNCYXRjaE51bWJlcnMoKTtcclxuICAgIHRoaXMudW5pdE9mTWVhc3VyZSA9IG51bGw7XHJcbiAgICB0aGlzLmlzUHJvZHVjdGlvbk9yZGVyVmFsaWQgPSBmYWxzZTtcclxuICAgIHRoaXMuZm9jdXNPbkJhcmtvZE51bWFyYXNpKCk7XHJcbiAgfVxyXG5cclxuICB3YXJlaG91c2VzOiBXYXJlaG91c2VbXSA9IFtdO1xyXG5cclxuICBhc3luYyBnZXRXYXJlaG91c2VzKCkge1xyXG4gICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy5wcm9kdWN0aW9uT3JkZXJzU2VydmljZS5nZXRXYXJlaG91c2VzKCkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKHJlc3VsdCkgPT4ge1xyXG4gICAgICAgIGlmIChyZXN1bHQuaXRlbXMpIHtcclxuICAgICAgICAgIHRoaXMud2FyZWhvdXNlcyA9IHJlc3VsdC5pdGVtcy5zbGljZSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgZm9jdXNPbkJhcmtvZE51bWFyYXNpKCkge1xyXG4gICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5ubWJCb3hCYXJrb2ROdW1hcmFzaS5pbnN0YW5jZS5mb2N1cygpO1xyXG4gICAgICB9LCAwKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZm9jdXNPblRvcGxhbmFuTWlrdGFyKCkge1xyXG4gICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5ubWJCb3hUb3BsYW5hbk1pa3Rhci5pbnN0YW5jZS5mb2N1cygpO1xyXG4gICAgICB9LCAwKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0V2FyZWhvdXNlTmFtZShjb2RlOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgbWF0Y2ggPSB0aGlzLndhcmVob3VzZXMuZmluZCh4ID0+IHgud2hzQ29kZSA9PT0gY29kZSk7XHJcbiAgICByZXR1cm4gbWF0Y2ggPyBtYXRjaC53aHNOYW1lIDogJyc7XHJcbiAgfVxyXG5cclxuICBxdWFudGl0eUNoYW5nZWQoZTogYW55KXtcclxuICAgIHRoaXMucmVjZWlwdEZyb21Qcm9kdWN0aW9uc1Bvc3REdG9CYXRjaE51bWJlci5xdWFudGl0eSA9IGUudmFsdWU7XHJcbiAgICB0aGlzLnJlY2VpcHRGcm9tUHJvZHVjdGlvbnNQb3N0RHRvRG9jdW1lbnRMaW5lLnF1YW50aXR5ID0gZS52YWx1ZTtcclxuICB9XHJcbn1cclxuIiwiPGFicC1wYWdlIFticmVhZGNydW1iXT1cImZhbHNlXCIgc3R5bGU9XCJwYWRkaW5nOiAwO1wiPlxyXG4gIDxhYnAtcGFnZS10b29sYmFyLWNvbnRhaW5lciBjbGFzcz1cImNvbFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICA8aDMgY2xhc3M9XCJwYWdlLXRpdGxlXCI+XHJcbiAgICAgICAge3sgJ1VyZXRpbVlvbmV0aW1pOjpSZWNlaXB0RnJvbVByb2R1Y3Rpb25zLlRpdGxlJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICA8L2gzPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwicm93IHRleHQtbGctZW5kIHB0LTJcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNvbC04XCI+XHJcbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tc3VjY2VzcyBidG4tc21cIiB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJwb3N0UmVjZWlwdEZyb21Qcm9kdWN0aW9ucygpXCJcclxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhaXNQcm9kdWN0aW9uT3JkZXJWYWxpZFwiPlxyXG4gICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1wbHVzIG1lLTFcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XHJcbiAgICAgICAgICB7eyAnVXJldGltWW9uZXRpbWk6OlJlY2VpcHRGcm9tUHJvZHVjdGlvbnMuQ3JlYXRlJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNvbC00XCI+XHJcbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4td2FybmluZyBidG4tc21cIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cImNsZWFyQWxsKClcIj5cclxuICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtYnJvb20gbWUtMVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cclxuICAgICAgICAgIHt7ICdVcmV0aW1Zb25ldGltaTo6UmVjZWlwdEZyb21Qcm9kdWN0aW9ucy5DbGVhbicgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2FicC1wYWdlLXRvb2xiYXItY29udGFpbmVyPlxyXG4gIDxkaXYgY2xhc3M9XCJjYXJkXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5XCI+XHJcbiAgICAgIDxkaXYgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyO1wiPlxyXG4gICAgICAgIDxkeC1udW1iZXItYm94IGNsYXNzPVwibWUtMSB3LTEwMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgI2JhcmtvZE51bWFyYXNpUmVmXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidVcmV0aW1Zb25ldGltaTo6UmVjZWlwdEZyb21Qcm9kdWN0aW9ucy5Xb3JrT3JkZXJObycgfCBhYnBMb2NhbGl6YXRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFsodmFsdWUpXT1cImJhcmtvZE51bWFyYXNpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAob25DaGFuZ2UpPVwiZ2V0UHJvZHVjdGlvbk9yZGVyKClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIChvbkVudGVyS2V5KT1cImdldFByb2R1Y3Rpb25PcmRlcigpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNQcm9kdWN0aW9uT3JkZXJWYWxpZFwiPlxyXG4gICAgICAgIDwvZHgtbnVtYmVyLWJveD5cclxuICAgICAgICA8ZHgtYnV0dG9uIHN0eWxlPVwibWFyZ2luLXRvcDogNy41cHg7XCIgaWNvbj1cInNlYXJjaFwiIHR5cGU9XCJkZWZhdWx0XCJcclxuICAgICAgICAgICAgICAgICAgIChvbkNsaWNrKT1cImdldFByb2R1Y3Rpb25PcmRlcigpXCJcclxuICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJpc1Byb2R1Y3Rpb25PcmRlclZhbGlkXCI+XHJcbiAgICAgICAgPC9keC1idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2ICpuZ0lmPVwiaXNQcm9kdWN0aW9uT3JkZXJWYWxpZFwiPlxyXG4gICAgICAgIDxkeC10ZXh0LWJveCBbbGFiZWxdPVwiJ1VyZXRpbVlvbmV0aW1pOjpSZWNlaXB0RnJvbVByb2R1Y3Rpb25zLlN0b2tDb2RlJyB8IGFicExvY2FsaXphdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgIFsodmFsdWUpXT1cInByb2R1Y3Rpb25PcmRlci5pdGVtTm9cIlxyXG4gICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwidHJ1ZVwiPlxyXG4gICAgICAgIDwvZHgtdGV4dC1ib3g+XHJcblxyXG4gICAgICAgIDxkeC10ZXh0LWJveCBbbGFiZWxdPVwiJ1VyZXRpbVlvbmV0aW1pOjpSZWNlaXB0RnJvbVByb2R1Y3Rpb25zLlN0b2tEZXNjJyB8IGFicExvY2FsaXphdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgIFsodmFsdWUpXT1cInByb2R1Y3Rpb25PcmRlci5wcm9kdWN0RGVzY3JpcHRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICBbbWF4TGVuZ3RoXT1cIjEyOFwiIFtkaXNhYmxlZF09XCJ0cnVlXCI+XHJcbiAgICAgICAgPC9keC10ZXh0LWJveD5cclxuXHJcbiAgICAgICAgPGR4LXRleHQtYm94IFtsYWJlbF09XCInVXJldGltWW9uZXRpbWk6OlJlY2VpcHRGcm9tUHJvZHVjdGlvbnMuVG9XaHMnIHwgYWJwTG9jYWxpemF0aW9uXCIgW21heExlbmd0aF09XCIxMjhcIlxyXG4gICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwiZ2V0V2FyZWhvdXNlTmFtZShyZWNlaXB0RnJvbVByb2R1Y3Rpb25zUG9zdER0b0RvY3VtZW50TGluZS53YXJlaG91c2VDb2RlKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJ0cnVlXCI+XHJcbiAgICAgICAgPC9keC10ZXh0LWJveD5cclxuXHJcbiAgICAgICAgPGR4LXRleHQtYm94IFtsYWJlbF09XCInVXJldGltWW9uZXRpbWk6OlJlY2VpcHRGcm9tUHJvZHVjdGlvbnMuQmF0Y2hOdW1iZXInIHwgYWJwTG9jYWxpemF0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgWyh2YWx1ZSldPVwicmVjZWlwdEZyb21Qcm9kdWN0aW9uc1Bvc3REdG9CYXRjaE51bWJlci5iYXRjaE51bWJlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgIFttYXhMZW5ndGhdPVwiMTI4XCIgW2Rpc2FibGVkXT1cInRydWVcIj5cclxuICAgICAgICA8L2R4LXRleHQtYm94PlxyXG5cclxuICAgICAgICA8ZHgtbnVtYmVyLWJveCBbbGFiZWxdPVwiJ1VyZXRpbVlvbmV0aW1pOjpSZWNlaXB0RnJvbVByb2R1Y3Rpb25zLlBsYW5uZWRRdHknIHwgYWJwTG9jYWxpemF0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbKHZhbHVlKV09XCJwcm9kdWN0aW9uT3JkZXIucGxhbm5lZFF1YW50aXR5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbZm9ybWF0XT1cIkhpdEhlbHBlci5nZXRNZWFzdXJlbWVudEZvcm1hdHRlZCh1bml0T2ZNZWFzdXJlKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cInRydWVcIj5cclxuICAgICAgICA8L2R4LW51bWJlci1ib3g+XHJcblxyXG4gICAgICAgIDxkeC1udW1iZXItYm94IFtsYWJlbF09XCInVXJldGltWW9uZXRpbWk6OlJlY2VpcHRGcm9tUHJvZHVjdGlvbnMuQ29tcGxldGVkUXR5JyB8IGFicExvY2FsaXphdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgWyh2YWx1ZSldPVwicHJvZHVjdGlvbk9yZGVyLmNvbXBsZXRlZFF1YW50aXR5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbZm9ybWF0XT1cIkhpdEhlbHBlci5nZXRNZWFzdXJlbWVudEZvcm1hdHRlZCh1bml0T2ZNZWFzdXJlKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cInRydWVcIj5cclxuICAgICAgICA8L2R4LW51bWJlci1ib3g+XHJcblxyXG4gICAgICAgIDxkeC1udW1iZXItYm94IFtsYWJlbF09XCInVXJldGltWW9uZXRpbWk6OlJlY2VpcHRGcm9tUHJvZHVjdGlvbnMuUXVhbnRpdHknIHwgYWJwTG9jYWxpemF0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbKHZhbHVlKV09XCJyZWNlaXB0RnJvbVByb2R1Y3Rpb25zUG9zdER0b0JhdGNoTnVtYmVyLnF1YW50aXR5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAob25WYWx1ZUNoYW5nZWQpPVwicXVhbnRpdHlDaGFuZ2VkKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtmb3JtYXRdPVwiSGl0SGVscGVyLmdldE1lYXN1cmVtZW50Rm9ybWF0dGVkKHVuaXRPZk1lYXN1cmUpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbc2hvd1NwaW5CdXR0b25zXT1cInRydWVcIiBbbWluXT1cIjBcIiAjdG9wbGFuYW5NaWt0YXJSZWY+XHJcbiAgICAgICAgPC9keC1udW1iZXItYm94PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2FicC1wYWdlPlxyXG5cclxuPGFicC1tb2RhbCBbKHZpc2libGUpXT1cInNob3dNb2RhbFwiIChhcHBlYXIpPVwiZ2VuZXJhdGVSZXBvcnQoKVwiIChkaXNhcHBlYXIpPVwiY2xlYXJBbGwoKVwiPlxyXG4gIDxuZy10ZW1wbGF0ZSAjYWJwSGVhZGVyPlxyXG4gICAgPGgzPnt7ICdVcmV0aW1Zb25ldGltaTo6Q3JlYXRlQmFyY29kZXMuQmFyY29kZVByZXZpZXcnIHwgYWJwTG9jYWxpemF0aW9uIH19PC9oMz5cclxuICA8L25nLXRlbXBsYXRlPlxyXG4gIDxuZy10ZW1wbGF0ZSAjYWJwQm9keT5cclxuICAgIDxpZnJhbWUgKm5nSWY9XCJwZGZTcmNcIiBbc3JjXT1cInBkZlNyY1wiIHdpZHRoPVwiMTAwJVwiIGhlaWdodD1cIjMwMFwiXHJcbiAgICAgICAgICAgIHdlYmtpdGFsbG93ZnVsbHNjcmVlbiBtb3phbGxvd2Z1bGxzY3JlZW4gYWxsb3dmdWxsc2NyZWVuPjwvaWZyYW1lPlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcbiAgPG5nLXRlbXBsYXRlICNhYnBGb290ZXI+XHJcbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tc2Vjb25kYXJ5XCIgYWJwQ2xvc2U+IHt7ICdVcmV0aW1Zb25ldGltaTo6Q3JlYXRlQmFyY29kZXMuQ2xvc2UnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICA8L2J1dHRvbj5cclxuICA8L25nLXRlbXBsYXRlPlxyXG48L2FicC1tb2RhbD5cclxuIl19
189
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGl0LXJlY2VpcHQtZnJvbS1wcm9kdWN0aW9ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91cmV0aW0teW9uZXRpbWkvc3JjL2xpYi9jb21wb25lbnRzL2hpdC1yZWNlaXB0LWZyb20tcHJvZHVjdGlvbnMvaGl0LXJlY2VpcHQtZnJvbS1wcm9kdWN0aW9ucy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91cmV0aW0teW9uZXRpbWkvc3JjL2xpYi9jb21wb25lbnRzL2hpdC1yZWNlaXB0LWZyb20tcHJvZHVjdGlvbnMvaGl0LXJlY2VpcHQtZnJvbS1wcm9kdWN0aW9ucy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsV0FBVyxFQUFpQixNQUFNLGNBQWMsQ0FBQztBQUV6RCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDNUQsT0FBTyxFQUFnQix1QkFBdUIsRUFBRSxTQUFTLEVBQWtCLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMzRyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFJMUQsT0FBTyxFQUNMLHFCQUFxQixFQUNyQixrQ0FBa0MsRUFDbEMsMkJBQTJCLEVBQzNCLDZCQUE2QixFQUM5QixNQUFNLHFEQUFxRCxDQUFDO0FBRTdELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7Ozs7OztBQVlqRCxNQUFNLE9BQU8sa0NBQWtDO0lBVzdDLFlBQ1UsTUFBYyxFQUNOLElBQWlCLEVBQ2pCLEtBQXFCLEVBQ3JCLE9BQXlDLEVBQ2pELFlBQWlDLEVBQ2pDLHVCQUFtRCxFQUNuRCxTQUF1QjtRQU52QixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ04sU0FBSSxHQUFKLElBQUksQ0FBYTtRQUNqQixVQUFLLEdBQUwsS0FBSyxD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LENBQUMsV0FBVyxFQUFFLEVBQUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFDLENBQUM7eVNBTXpCLG9CQUFvQjtzQkFBcEUsU0FBUzt1QkFBQyxtQkFBbUIsRUFBRSxFQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUM7Z0JBQ0Usb0JBQW9CO3NCQUFwRSxTQUFTO3VCQUFDLG1CQUFtQixFQUFFLEVBQUMsTUFBTSxFQUFFLEtBQUssRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TGlzdFNlcnZpY2UsIFRyYWNrQnlTZXJ2aWNlfSBmcm9tICdAYWJwL25nLmNvcmUnO1xyXG5pbXBvcnQge0NvbmZpcm1hdGlvblNlcnZpY2UsIENvbmZpcm1hdGlvbn0gZnJvbSAnQGFicC9uZy50aGVtZS5zaGFyZWQnO1xyXG5pbXBvcnQge0RhdGVBZGFwdGVyfSBmcm9tICdAYWJwL25nLnRoZW1lLnNoYXJlZC9leHRlbnNpb25zJztcclxuaW1wb3J0IHtBZnRlclZpZXdJbml0LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBOZ1pvbmUsIE9uSW5pdCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtOZ2JEYXRlQWRhcHRlcn0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xyXG5pbXBvcnQge1xyXG4gIEhpdFJlY2VpcHRGcm9tUHJvZHVjdGlvbnNTZXJ2aWNlXHJcbn0gZnJvbSBcIi4uLy4uL2hpdC1wcm94eS9oaXQtcmVjZWlwdC1mcm9tLXByb2R1Y3Rpb25zL2hpdC1yZWNlaXB0LWZyb20tcHJvZHVjdGlvbnMuc2VydmljZVwiO1xyXG5pbXBvcnQge1xyXG4gIEdldFByb2R1Y3Rpb25PcmRlckR0byxcclxuICBSZWNlaXB0RnJvbVByb2R1Y3Rpb25zQmF0Y2hOdW1iZXJzLFxyXG4gIFJlY2VpcHRGcm9tUHJvZHVjdGlvbnNMaW5lcyxcclxuICBSZWNlaXB0RnJvbVByb2R1Y3Rpb25zUG9zdER0b1xyXG59IGZyb20gJy4uLy4uL2hpdC1wcm94eS9oaXQtcmVjZWlwdC1mcm9tLXByb2R1Y3Rpb25zL21vZGVscyc7XHJcbmltcG9ydCB7SGl0UHJvZHVjdGlvbk9yZGVyc1NlcnZpY2V9IGZyb20gXCIuLi8uLi9oaXQtcHJveHkvaGl0LXByb2R1Y3Rpb24tb3JkZXJzL2hpdC1wcm9kdWN0aW9uLW9yZGVycy5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7SGl0SGVscGVyfSBmcm9tIFwiLi4vLi4vaGl0LXByb3h5L21vZGVsc1wiO1xyXG5pbXBvcnQge0R4TnVtYmVyQm94Q29tcG9uZW50LCBEeFRleHRCb3hDb21wb25lbnR9IGZyb20gXCJkZXZleHRyZW1lLWFuZ3VsYXJcIjtcclxuaW1wb3J0IHtXYXJlaG91c2V9IGZyb20gXCIuLi8uLi9oaXQtcHJveHkvaGl0LXByb2R1Y3Rpb24tb3JkZXJzL21vZGVsc1wiO1xyXG5pbXBvcnQge0RvbVNhbml0aXplciwgU2FmZVJlc291cmNlVXJsfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWhpdC1yZWNlaXB0LWZyb20tcHJvZHVjdGlvbnMnLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuRGVmYXVsdCxcclxuICBwcm92aWRlcnM6IFtMaXN0U2VydmljZSwge3Byb3ZpZGU6IE5nYkRhdGVBZGFwdGVyLCB1c2VDbGFzczogRGF0ZUFkYXB0ZXJ9XSxcclxuICB0ZW1wbGF0ZVVybDogJy4vaGl0LXJlY2VpcHQtZnJvbS1wcm9kdWN0aW9ucy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVzOiBbXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEhpdFJlY2VpcHRGcm9tUHJvZHVjdGlvbnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xyXG4gIHByb3RlY3RlZCByZWFkb25seSBIaXRIZWxwZXIgPSBIaXRIZWxwZXI7XHJcbiAgQFZpZXdDaGlsZCgnYmFya29kTnVtYXJhc2lSZWYnLCB7c3RhdGljOiBmYWxzZX0pIG5tYkJveEJhcmtvZE51bWFyYXNpOiBEeFRleHRCb3hDb21wb25lbnQ7XHJcbiAgQFZpZXdDaGlsZCgndG9wbGFuYW5NaWt0YXJSZWYnLCB7c3RhdGljOiBmYWxzZX0pIG5tYkJveFRvcGxhbmFuTWlrdGFyOiBEeE51bWJlckJveENvbXBvbmVudDtcclxuICBpc0xvYWRpbmcgPSBmYWxzZTtcclxuICBvcHRpb25zOiBQYXJ0aWFsPENvbmZpcm1hdGlvbi5PcHRpb25zPiA9IHtcclxuICAgIGhpZGVZZXNCdG46IHRydWUsXHJcbiAgICBjYW5jZWxUZXh0OiAnS2FwYXQnLFxyXG4gICAgZGlzbWlzc2libGU6IGZhbHNlLFxyXG4gIH07XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSxcclxuICAgIHB1YmxpYyByZWFkb25seSBsaXN0OiBMaXN0U2VydmljZSxcclxuICAgIHB1YmxpYyByZWFkb25seSB0cmFjazogVHJhY2tCeVNlcnZpY2UsXHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgc2VydmljZTogSGl0UmVjZWlwdEZyb21Qcm9kdWN0aW9uc1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIGNvbmZpcm1hdGlvbjogQ29uZmlybWF0aW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgcHJvZHVjdGlvbk9yZGVyc1NlcnZpY2U6IEhpdFByb2R1Y3Rpb25PcmRlcnNTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBzYW5pdGl6ZXI6IERvbVNhbml0aXplclxyXG4gICkge1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNsZWFyQWxsKCk7XHJcbiAgICB0aGlzLmdldFdhcmVob3VzZXMoKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHRoaXMuZm9jdXNPbkJhcmtvZE51bWFyYXNpKCk7XHJcbiAgfVxyXG5cclxuICBiYXJrb2ROdW1hcmFzaTogbnVtYmVyO1xyXG4gIGlzUHJvZHVjdGlvbk9yZGVyVmFsaWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICB1bml0T2ZNZWFzdXJlOiBzdHJpbmc7XHJcbiAgc2hvd01vZGFsOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcGRmU3JjOiBTYWZlUmVzb3VyY2VVcmwgfCBudWxsID0gbnVsbDtcclxuICBuZXdSZWNvcmREb2NFbnRyeTogbnVtYmVyO1xyXG4gIGlzRW1yaU51bWFyYXNpRm9yQmFyY29kZTogbnVtYmVyO1xyXG5cclxuICBnZW5lcmF0ZVJlcG9ydCgpIHtcclxuICAgIHRoaXMuc2VydmljZS5nZXRCYXJjb2RlSW5mbyh0aGlzLmlzRW1yaU51bWFyYXNpRm9yQmFyY29kZSwgdGhpcy5uZXdSZWNvcmREb2NFbnRyeSwgMSkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogcmVzcG9uc2UgPT4ge1xyXG4gICAgICAgIGNvbnN0IGJhc2U2NERhdGEgPSByZXNwb25zZS5iYXNlNjQ7IC8vIGJhc2U2NCBzdHJpbmcgKHNhZGVjZSB2ZXJpIGvEsXNtxLEsIFwiZGF0YTphcHBsaWNhdGlvbi9wZGY7YmFzZTY0LC4uLlwiIGRlxJ9pbHNlKVxyXG5cclxuICAgICAgICAvLyBCYXNlNjQnw7wgZGVjb2RlIGVkaXAgYmluYXJ5IHZlcml5ZSDDp2V2aXJpeW9ydXpcclxuICAgICAgICBjb25zdCBieXRlQ2hhcmFjdGVycyA9IGF0b2IoYmFzZTY0RGF0YSk7XHJcbiAgICAgICAgY29uc3QgYnl0ZU51bWJlcnMgPSBuZXcgQXJyYXkoYnl0ZUNoYXJhY3RlcnMubGVuZ3RoKTtcclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGJ5dGVDaGFyYWN0ZXJzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICBieXRlTnVtYmVyc1tpXSA9IGJ5dGVDaGFyYWN0ZXJzLmNoYXJDb2RlQXQoaSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IGJ5dGVBcnJheSA9IG5ldyBVaW50OEFycmF5KGJ5dGVOdW1iZXJzKTtcclxuXHJcbiAgICAgICAgLy8gQmxvYiBvbHXFn3R1cnV5b3J1elxyXG4gICAgICAgIGNvbnN0IGJsb2IgPSBuZXcgQmxvYihbYnl0ZUFycmF5XSwge3R5cGU6ICdhcHBsaWNhdGlvbi9wZGYnfSk7XHJcblxyXG4gICAgICAgIC8vIEJsb2IndGFuIFVSTCBvbHXFn3R1cnVwIHllbmkgc2VrbWVkZSBhw6fEsXlvcnV6ICh2ZXlhIGRvd25sb2FkIGVkZWJpbGlyc2luKVxyXG4gICAgICAgIGNvbnN0IGJsb2JVcmwgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpO1xyXG4gICAgICAgIHRoaXMucGRmU3JjID0gdGhpcy5ieXBhc3NBbmRTYW5pdGl6ZShibG9iVXJsKTtcclxuICAgICAgfSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgYnlwYXNzQW5kU2FuaXRpemUodXJsKTogU2FmZVJlc291cmNlVXJsIHtcclxuICAgIHJldHVybiB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0UmVzb3VyY2VVcmwodXJsKTtcclxuICB9XHJcblxyXG4gIHByb2R1Y3Rpb25PcmRlcjogR2V0UHJvZHVjdGlvbk9yZGVyRHRvID0gbmV3IEdldFByb2R1Y3Rpb25PcmRlckR0bygpO1xyXG5cclxuICBhc3luYyBnZXRQcm9kdWN0aW9uT3JkZXIoKSB7XHJcbiAgICB0aGlzLmNsZWFyRm9ybSgpO1xyXG4gICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy5wcm9kdWN0aW9uT3JkZXJzU2VydmljZS5nZXQodGhpcy5iYXJrb2ROdW1hcmFzaSkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKHJlc3VsdCkgPT4ge1xyXG4gICAgICAgIGlmIChyZXN1bHQuaXNTdWNjZXNzZnVsKSB7XHJcbiAgICAgICAgICB0aGlzLnByb2R1Y3Rpb25PcmRlciA9IHJlc3VsdC5pdGVtcztcclxuICAgICAgICAgIHRoaXMucmVjZWlwdEZyb21Qcm9kdWN0aW9uc1Bvc3REdG9RdWFudGl0eSA9IHJlc3VsdC5pdGVtcy5wbGFubmVkUXVhbnRpdHkgLSByZXN1bHQuaXRlbXMuY29tcGxldGVkUXVhbnRpdHk7XHJcblxyXG4gICAgICAgICAgdGhpcy5yZWNlaXB0RnJvbVByb2R1Y3Rpb25zUG9zdER0b0RvY3VtZW50TGluZS5iYXNlRW50cnkgPSB0aGlzLmJhcmtvZE51bWFyYXNpO1xyXG4gICAgICAgICAgdGhpcy5yZWNlaXB0RnJvbVByb2R1Y3Rpb25zUG9zdER0b0RvY3VtZW50TGluZS5iYXNlVHlwZSA9IDIwMjtcclxuICAgICAgICAgIHRoaXMucmVjZWlwdEZyb21Qcm9kdWN0aW9uc1Bvc3REdG9Eb2N1bWVudExpbmUucXVhbnRpdHkgPSB0aGlzLnJlY2VpcHRGcm9tUHJvZHVjdGlvbnNQb3N0RHRvUXVhbnRpdHk7XHJcbiAgICAgICAgICB0aGlzLnJlY2VpcHRGcm9tUHJvZHVjdGlvbnNQb3N0RHRvRG9jdW1lbnRMaW5lLndhcmVob3VzZUNvZGUgPSByZXN1bHQuaXRlbXMud2FyZWhvdXNlO1xyXG4gICAgICAgICAgdGhpcy5yZWNlaXB0RnJvbVByb2R1Y3Rpb25zUG9zdER0b0JhdGNoTnVtYmVyLmJhdGNoTnVtYmVyID0gcmVzdWx0Lml0ZW1zLnVfdHJrQmF0Y2g7XHJcbiAgICAgICAgICB0aGlzLnJlY2VpcHRGcm9tUHJvZHVjdGlvbnNQb3N0RHRvQmF0Y2hOdW1iZXIucXVhbnRpdHkgPSB0aGlzLnJlY2VpcHRGcm9tUHJvZHVjdGlvbnNQb3N0RHRvUXVhbnRpdHk7XHJcblxyXG4gICAgICAgICAgdGhpcy51bml0T2ZNZWFzdXJlID0gcmVzdWx0Lml0ZW1zLnVuaXRPZk1lYXN1cmVtZW50O1xyXG4gICAgICAgICAgdGhpcy5pc1Byb2R1Y3Rpb25PcmRlclZhbGlkID0gdHJ1ZTtcclxuICAgICAgICAgIHRoaXMuZm9jdXNPblRvcGxhbmFuTWlrdGFyKCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGlmIChyZXN1bHQ/LmlzU3VjY2Vzc2Z1bCA9PSBmYWxzZSkge1xyXG4gICAgICAgICAgICB0aGlzLmNvbmZpcm1hdGlvbi5zdGF0dXMkLnN1YnNjcmliZSh7XHJcbiAgICAgICAgICAgICAgbmV4dDogKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jbGVhckFsbCgpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICByZWNlaXB0RnJvbVByb2R1Y3Rpb25zUG9zdER0b1F1YW50aXR5OiBudW1iZXIgPSAwO1xyXG4gIHJlY2VpcHRGcm9tUHJvZHVjdGlvbnNQb3N0RHRvOiBSZWNlaXB0RnJvbVByb2R1Y3Rpb25zUG9zdER0byA9IG5ldyBSZWNlaXB0RnJvbVByb2R1Y3Rpb25zUG9zdER0bygpO1xyXG4gIHJlY2VpcHRGcm9tUHJvZHVjdGlvbnNQb3N0RHRvRG9jdW1lbnRMaW5lOiBSZWNlaXB0RnJvbVByb2R1Y3Rpb25zTGluZXMgPSBuZXcgUmVjZWlwdEZyb21Qcm9kdWN0aW9uc0xpbmVzKCk7XHJcbiAgcmVjZWlwdEZyb21Qcm9kdWN0aW9uc1Bvc3REdG9CYXRjaE51bWJlcjogUmVjZWlwdEZyb21Qcm9kdWN0aW9uc0JhdGNoTnVtYmVycyA9IG5ldyBSZWNlaXB0RnJvbVByb2R1Y3Rpb25zQmF0Y2hOdW1iZXJzKCk7XHJcblxyXG4gIGFzeW5jIHBvc3RSZWNlaXB0RnJvbVByb2R1Y3Rpb25zKCkge1xyXG4gICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xyXG5cclxuICAgIHRoaXMucmVjZWlwdEZyb21Qcm9kdWN0aW9uc1Bvc3REdG9Eb2N1bWVudExpbmUuYmF0Y2hOdW1iZXJzID0gW3RoaXMucmVjZWlwdEZyb21Qcm9kdWN0aW9uc1Bvc3REdG9CYXRjaE51bWJlcl07XHJcbiAgICB0aGlzLnJlY2VpcHRGcm9tUHJvZHVjdGlvbnNQb3N0RHRvLmRvY3VtZW50TGluZXMgPSBbdGhpcy5yZWNlaXB0RnJvbVByb2R1Y3Rpb25zUG9zdER0b0RvY3VtZW50TGluZV07XHJcblxyXG4gICAgdGhpcy5zZXJ2aWNlLmNyZWF0ZSh0aGlzLnJlY2VpcHRGcm9tUHJvZHVjdGlvbnNQb3N0RHRvKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAocmVzdWx0KSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdC5pc1N1Y2Nlc3NmdWwpIHtcclxuICAgICAgICAgIHRoaXMuY29uZmlybWF0aW9uLnN1Y2Nlc3MoJ8SwxZ9sZW0gQmHFn2FyxLFsxLEnLCAnJywgdGhpcy5vcHRpb25zKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLm5ld1JlY29yZERvY0VudHJ5ID0gcmVzdWx0Lml0ZW1zLmRvY0VudHJ5O1xyXG4gICAgICAgICAgICB0aGlzLmlzRW1yaU51bWFyYXNpRm9yQmFyY29kZSA9IHRoaXMuYmFya29kTnVtYXJhc2k7XHJcbiAgICAgICAgICAgIHRoaXMuc2hvd01vZGFsID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5jbGVhckFsbCgpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuY29uZmlybWF0aW9uLnN0YXR1cyQuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5mb2N1c09uVG9wbGFuYW5NaWt0YXIoKTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6ICgpID0+IHtcclxuICAgICAgICB0aGlzLmNvbmZpcm1hdGlvbi5zdGF0dXMkLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmZvY3VzT25Ub3BsYW5hbk1pa3RhcigpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgY2xlYXJBbGwoKSB7XHJcbiAgICB0aGlzLmJhcmtvZE51bWFyYXNpID0gbnVsbDtcclxuICAgIHRoaXMuY2xlYXJGb3JtKCk7XHJcbiAgfVxyXG5cclxuICBjbGVhckZvcm0oKSB7XHJcbiAgICB0aGlzLnByb2R1Y3Rpb25PcmRlciA9IG5ldyBHZXRQcm9kdWN0aW9uT3JkZXJEdG8oKTtcclxuICAgIHRoaXMucmVjZWlwdEZyb21Qcm9kdWN0aW9uc1Bvc3REdG8gPSBuZXcgUmVjZWlwdEZyb21Qcm9kdWN0aW9uc1Bvc3REdG8oKTtcclxuICAgIHRoaXMucmVjZWlwdEZyb21Qcm9kdWN0aW9uc1Bvc3REdG9Eb2N1bWVudExpbmUgPSBuZXcgUmVjZWlwdEZyb21Qcm9kdWN0aW9uc0xpbmVzKCk7XHJcbiAgICB0aGlzLnJlY2VpcHRGcm9tUHJvZHVjdGlvbnNQb3N0RHRvQmF0Y2hOdW1iZXIgPSBuZXcgUmVjZWlwdEZyb21Qcm9kdWN0aW9uc0JhdGNoTnVtYmVycygpO1xyXG4gICAgdGhpcy51bml0T2ZNZWFzdXJlID0gbnVsbDtcclxuICAgIHRoaXMuaXNQcm9kdWN0aW9uT3JkZXJWYWxpZCA9IGZhbHNlO1xyXG4gICAgdGhpcy5mb2N1c09uQmFya29kTnVtYXJhc2koKTtcclxuICB9XHJcblxyXG4gIHdhcmVob3VzZXM6IFdhcmVob3VzZVtdID0gW107XHJcblxyXG4gIGFzeW5jIGdldFdhcmVob3VzZXMoKSB7XHJcbiAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XHJcbiAgICB0aGlzLnByb2R1Y3Rpb25PcmRlcnNTZXJ2aWNlLmdldFdhcmVob3VzZXMoKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAocmVzdWx0KSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdC5pdGVtcykge1xyXG4gICAgICAgICAgdGhpcy53YXJlaG91c2VzID0gcmVzdWx0Lml0ZW1zLnNsaWNlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBmb2N1c09uQmFya29kTnVtYXJhc2koKSB7XHJcbiAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICB0aGlzLm5tYkJveEJhcmtvZE51bWFyYXNpLmluc3RhbmNlLmZvY3VzKCk7XHJcbiAgICAgIH0sIDApO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBmb2N1c09uVG9wbGFuYW5NaWt0YXIoKSB7XHJcbiAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICB0aGlzLm5tYkJveFRvcGxhbmFuTWlrdGFyLmluc3RhbmNlLmZvY3VzKCk7XHJcbiAgICAgIH0sIDApO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBnZXRXYXJlaG91c2VOYW1lKGNvZGU6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBtYXRjaCA9IHRoaXMud2FyZWhvdXNlcy5maW5kKHggPT4geC53aHNDb2RlID09PSBjb2RlKTtcclxuICAgIHJldHVybiBtYXRjaCA/IG1hdGNoLndoc05hbWUgOiAnJztcclxuICB9XHJcblxyXG4gIHF1YW50aXR5Q2hhbmdlZChlOiBhbnkpe1xyXG4gICAgdGhpcy5yZWNlaXB0RnJvbVByb2R1Y3Rpb25zUG9zdER0b0JhdGNoTnVtYmVyLnF1YW50aXR5ID0gZS52YWx1ZTtcclxuICAgIHRoaXMucmVjZWlwdEZyb21Qcm9kdWN0aW9uc1Bvc3REdG9Eb2N1bWVudExpbmUucXVhbnRpdHkgPSBlLnZhbHVlO1xyXG4gIH1cclxufVxyXG4iLCI8YWJwLXBhZ2UgW2JyZWFkY3J1bWJdPVwiZmFsc2VcIiBzdHlsZT1cInBhZGRpbmc6IDA7XCI+XHJcbiAgPGFicC1wYWdlLXRvb2xiYXItY29udGFpbmVyIGNsYXNzPVwiY29sXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgIDxoMyBjbGFzcz1cInBhZ2UtdGl0bGVcIj5cclxuICAgICAgICB7eyAnVXJldGltWW9uZXRpbWk6OlJlY2VpcHRGcm9tUHJvZHVjdGlvbnMuVGl0bGUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgIDwvaDM+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJyb3cgdGV4dC1sZy1lbmQgcHQtMlwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLThcIj5cclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1zdWNjZXNzIGJ0bi1zbVwiIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInBvc3RSZWNlaXB0RnJvbVByb2R1Y3Rpb25zKClcIlxyXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFpc1Byb2R1Y3Rpb25PcmRlclZhbGlkXCI+XHJcbiAgICAgICAgICA8aSBjbGFzcz1cImZhIGZhLXBsdXMgbWUtMVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cclxuICAgICAgICAgIHt7ICdVcmV0aW1Zb25ldGltaTo6UmVjZWlwdEZyb21Qcm9kdWN0aW9ucy5DcmVhdGUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLTRcIj5cclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi13YXJuaW5nIGJ0bi1zbVwiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwiY2xlYXJBbGwoKVwiPlxyXG4gICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1icm9vbSBtZS0xXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxyXG4gICAgICAgICAge3sgJ1VyZXRpbVlvbmV0aW1pOjpSZWNlaXB0RnJvbVByb2R1Y3Rpb25zLkNsZWFuJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvYWJwLXBhZ2UtdG9vbGJhci1jb250YWluZXI+XHJcbiAgPGRpdiBjbGFzcz1cImNhcmRcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHlcIj5cclxuICAgICAgPGRpdiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7XCI+XHJcbiAgICAgICAgPGR4LW51bWJlci1ib3ggY2xhc3M9XCJtZS0xIHctMTAwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAjYmFya29kTnVtYXJhc2lSZWZcclxuICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ1VyZXRpbVlvbmV0aW1pOjpSZWNlaXB0RnJvbVByb2R1Y3Rpb25zLldvcmtPcmRlck5vJyB8IGFicExvY2FsaXphdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgWyh2YWx1ZSldPVwiYmFya29kTnVtYXJhc2lcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIChvbkNoYW5nZSk9XCJnZXRQcm9kdWN0aW9uT3JkZXIoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgKG9uRW50ZXJLZXkpPVwiZ2V0UHJvZHVjdGlvbk9yZGVyKClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJpc1Byb2R1Y3Rpb25PcmRlclZhbGlkXCI+XHJcbiAgICAgICAgPC9keC1udW1iZXItYm94PlxyXG4gICAgICAgIDxkeC1idXR0b24gc3R5bGU9XCJtYXJnaW4tdG9wOiA3LjVweDtcIiBpY29uPVwic2VhcmNoXCIgdHlwZT1cImRlZmF1bHRcIlxyXG4gICAgICAgICAgICAgICAgICAgKG9uQ2xpY2spPVwiZ2V0UHJvZHVjdGlvbk9yZGVyKClcIlxyXG4gICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImlzUHJvZHVjdGlvbk9yZGVyVmFsaWRcIj5cclxuICAgICAgICA8L2R4LWJ1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgKm5nSWY9XCJpc1Byb2R1Y3Rpb25PcmRlclZhbGlkXCI+XHJcbiAgICAgICAgPGR4LXRleHQtYm94IFtsYWJlbF09XCInVXJldGltWW9uZXRpbWk6OlJlY2VpcHRGcm9tUHJvZHVjdGlvbnMuU3Rva0NvZGUnIHwgYWJwTG9jYWxpemF0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgWyh2YWx1ZSldPVwicHJvZHVjdGlvbk9yZGVyLml0ZW1Ob1wiXHJcbiAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJ0cnVlXCI+XHJcbiAgICAgICAgPC9keC10ZXh0LWJveD5cclxuXHJcbiAgICAgICAgPGR4LXRleHQtYm94IFtsYWJlbF09XCInVXJldGltWW9uZXRpbWk6OlJlY2VpcHRGcm9tUHJvZHVjdGlvbnMuU3Rva0Rlc2MnIHwgYWJwTG9jYWxpemF0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgWyh2YWx1ZSldPVwicHJvZHVjdGlvbk9yZGVyLnByb2R1Y3REZXNjcmlwdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgIFttYXhMZW5ndGhdPVwiMTI4XCIgW2Rpc2FibGVkXT1cInRydWVcIj5cclxuICAgICAgICA8L2R4LXRleHQtYm94PlxyXG5cclxuICAgICAgICA8ZHgtdGV4dC1ib3ggW2xhYmVsXT1cIidVcmV0aW1Zb25ldGltaTo6UmVjZWlwdEZyb21Qcm9kdWN0aW9ucy5Ub1docycgfCBhYnBMb2NhbGl6YXRpb25cIiBbbWF4TGVuZ3RoXT1cIjEyOFwiXHJcbiAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJnZXRXYXJlaG91c2VOYW1lKHJlY2VpcHRGcm9tUHJvZHVjdGlvbnNQb3N0RHRvRG9jdW1lbnRMaW5lLndhcmVob3VzZUNvZGUpXCJcclxuICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cInRydWVcIj5cclxuICAgICAgICA8L2R4LXRleHQtYm94PlxyXG5cclxuICAgICAgICA8ZHgtdGV4dC1ib3ggW2xhYmVsXT1cIidVcmV0aW1Zb25ldGltaTo6UmVjZWlwdEZyb21Qcm9kdWN0aW9ucy5CYXRjaE51bWJlcicgfCBhYnBMb2NhbGl6YXRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICBbKHZhbHVlKV09XCJyZWNlaXB0RnJvbVByb2R1Y3Rpb25zUG9zdER0b0JhdGNoTnVtYmVyLmJhdGNoTnVtYmVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgW21heExlbmd0aF09XCIxMjhcIiBbZGlzYWJsZWRdPVwidHJ1ZVwiPlxyXG4gICAgICAgIDwvZHgtdGV4dC1ib3g+XHJcblxyXG4gICAgICAgIDxkeC1udW1iZXItYm94IFtsYWJlbF09XCInVXJldGltWW9uZXRpbWk6OlJlY2VpcHRGcm9tUHJvZHVjdGlvbnMuUGxhbm5lZFF0eScgfCBhYnBMb2NhbGl6YXRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFsodmFsdWUpXT1cInByb2R1Y3Rpb25PcmRlci5wbGFubmVkUXVhbnRpdHlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtmb3JtYXRdPVwiSGl0SGVscGVyLmdldE1lYXN1cmVtZW50Rm9ybWF0dGVkKHVuaXRPZk1lYXN1cmUpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwidHJ1ZVwiPlxyXG4gICAgICAgIDwvZHgtbnVtYmVyLWJveD5cclxuXHJcbiAgICAgICAgPGR4LW51bWJlci1ib3ggW2xhYmVsXT1cIidVcmV0aW1Zb25ldGltaTo6UmVjZWlwdEZyb21Qcm9kdWN0aW9ucy5Db21wbGV0ZWRRdHknIHwgYWJwTG9jYWxpemF0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbKHZhbHVlKV09XCJwcm9kdWN0aW9uT3JkZXIuY29tcGxldGVkUXVhbnRpdHlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtmb3JtYXRdPVwiSGl0SGVscGVyLmdldE1lYXN1cmVtZW50Rm9ybWF0dGVkKHVuaXRPZk1lYXN1cmUpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwidHJ1ZVwiPlxyXG4gICAgICAgIDwvZHgtbnVtYmVyLWJveD5cclxuXHJcbiAgICAgICAgPGR4LW51bWJlci1ib3ggW2xhYmVsXT1cIidVcmV0aW1Zb25ldGltaTo6UmVjZWlwdEZyb21Qcm9kdWN0aW9ucy5RdWFudGl0eScgfCBhYnBMb2NhbGl6YXRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFsodmFsdWUpXT1cInJlY2VpcHRGcm9tUHJvZHVjdGlvbnNQb3N0RHRvQmF0Y2hOdW1iZXIucXVhbnRpdHlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIChvblZhbHVlQ2hhbmdlZCk9XCJxdWFudGl0eUNoYW5nZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1hdF09XCJIaXRIZWxwZXIuZ2V0TWVhc3VyZW1lbnRGb3JtYXR0ZWQodW5pdE9mTWVhc3VyZSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtzaG93U3BpbkJ1dHRvbnNdPVwidHJ1ZVwiIFttaW5dPVwiMFwiICN0b3BsYW5hbk1pa3RhclJlZj5cclxuICAgICAgICA8L2R4LW51bWJlci1ib3g+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvYWJwLXBhZ2U+XHJcblxyXG48YWJwLW1vZGFsIFsodmlzaWJsZSldPVwic2hvd01vZGFsXCIgKGFwcGVhcik9XCJnZW5lcmF0ZVJlcG9ydCgpXCIgKGRpc2FwcGVhcik9XCJjbGVhckFsbCgpXCI+XHJcbiAgPG5nLXRlbXBsYXRlICNhYnBIZWFkZXI+XHJcbiAgICA8aDM+e3sgJ1VyZXRpbVlvbmV0aW1pOjpDcmVhdGVCYXJjb2Rlcy5CYXJjb2RlUHJldmlldycgfCBhYnBMb2NhbGl6YXRpb24gfX08L2gzPlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcbiAgPG5nLXRlbXBsYXRlICNhYnBCb2R5PlxyXG4gICAgPGlmcmFtZSAqbmdJZj1cInBkZlNyY1wiIFtzcmNdPVwicGRmU3JjXCIgd2lkdGg9XCIxMDAlXCIgaGVpZ2h0PVwiMzAwXCJcclxuICAgICAgICAgICAgd2Via2l0YWxsb3dmdWxsc2NyZWVuIG1vemFsbG93ZnVsbHNjcmVlbiBhbGxvd2Z1bGxzY3JlZW4+PC9pZnJhbWU+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuICA8bmctdGVtcGxhdGUgI2FicEZvb3Rlcj5cclxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1zZWNvbmRhcnlcIiBhYnBDbG9zZT4ge3sgJ1VyZXRpbVlvbmV0aW1pOjpDcmVhdGVCYXJjb2Rlcy5DbG9zZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgIDwvYnV0dG9uPlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcbjwvYWJwLW1vZGFsPlxyXG4iXX0=
@@ -1,17 +1,11 @@
1
1
  import { Component } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
- import * as i1 from "../services/uretim-yonetimi.service";
4
3
  export class UretimYonetimiComponent {
5
- constructor(service) {
6
- this.service = service;
7
- }
8
- ngOnInit() {
9
- }
10
4
  }
11
- UretimYonetimiComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: UretimYonetimiComponent, deps: [{ token: i1.UretimYonetimiService }], target: i0.ɵɵFactoryTarget.Component });
5
+ UretimYonetimiComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: UretimYonetimiComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12
6
  UretimYonetimiComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: UretimYonetimiComponent, selector: "lib-uretim-yonetimi", ngImport: i0, template: ` <p>uretim-yonetimi works!</p> `, isInline: true });
13
7
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: UretimYonetimiComponent, decorators: [{
14
8
  type: Component,
15
9
  args: [{ selector: 'lib-uretim-yonetimi', template: ` <p>uretim-yonetimi works!</p> ` }]
16
- }], ctorParameters: function () { return [{ type: i1.UretimYonetimiService }]; } });
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXJldGltLXlvbmV0aW1pLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VyZXRpbS15b25ldGltaS9zcmMvbGliL2NvbXBvbmVudHMvdXJldGltLXlvbmV0aW1pLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFTLE1BQU0sZUFBZSxDQUFDOzs7QUFRaEQsTUFBTSxPQUFPLHVCQUF1QjtJQUNsQyxZQUFvQixPQUE4QjtRQUE5QixZQUFPLEdBQVAsT0FBTyxDQUF1QjtJQUNsRCxDQUFDO0lBRUQsUUFBUTtJQUVSLENBQUM7O29IQU5VLHVCQUF1Qjt3R0FBdkIsdUJBQXVCLDJEQUh4QixpQ0FBaUM7MkZBR2hDLHVCQUF1QjtrQkFMbkMsU0FBUzsrQkFDRSxxQkFBcUIsWUFDckIsaUNBQWlDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7VXJldGltWW9uZXRpbWlTZXJ2aWNlfSBmcm9tICcuLi9zZXJ2aWNlcy91cmV0aW0teW9uZXRpbWkuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi11cmV0aW0teW9uZXRpbWknLFxyXG4gIHRlbXBsYXRlOiBgIDxwPnVyZXRpbS15b25ldGltaSB3b3JrcyE8L3A+IGAsXHJcbiAgc3R5bGVzOiBbXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFVyZXRpbVlvbmV0aW1pQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNlcnZpY2U6IFVyZXRpbVlvbmV0aW1pU2VydmljZSkge1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcblxyXG4gIH1cclxufVxyXG4iXX0=
10
+ }] });
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXJldGltLXlvbmV0aW1pLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VyZXRpbS15b25ldGltaS9zcmMvbGliL2NvbXBvbmVudHMvdXJldGltLXlvbmV0aW1pLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDOztBQU94QyxNQUFNLE9BQU8sdUJBQXVCOztvSEFBdkIsdUJBQXVCO3dHQUF2Qix1QkFBdUIsMkRBSHhCLGlDQUFpQzsyRkFHaEMsdUJBQXVCO2tCQUxuQyxTQUFTOytCQUNFLHFCQUFxQixZQUNyQixpQ0FBaUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi11cmV0aW0teW9uZXRpbWknLFxyXG4gIHRlbXBsYXRlOiBgIDxwPnVyZXRpbS15b25ldGltaSB3b3JrcyE8L3A+IGAsXHJcbiAgc3R5bGVzOiBbXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFVyZXRpbVlvbmV0aW1pQ29tcG9uZW50IHtcclxufVxyXG4iXX0=
@@ -2,6 +2,5 @@
2
2
  * Public API Surface of uretim-yonetimi
3
3
  */
4
4
  export * from './lib/components/uretim-yonetimi.component';
5
- export * from './lib/services/uretim-yonetimi.service';
6
5
  export * from './lib/uretim-yonetimi.module';
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3VyZXRpbS15b25ldGltaS9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLDhCQUE4QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiB1cmV0aW0teW9uZXRpbWlcbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3VyZXRpbS15b25ldGltaS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvdXJldGltLXlvbmV0aW1pLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdXJldGltLXlvbmV0aW1pLm1vZHVsZSc7XG4iXX0=
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3VyZXRpbS15b25ldGltaS9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYyw4QkFBOEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiB1cmV0aW0teW9uZXRpbWlcclxuICovXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3VyZXRpbS15b25ldGltaS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91cmV0aW0teW9uZXRpbWkubW9kdWxlJztcclxuIl19
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Injectable, Component, ChangeDetectionStrategy, ViewChild, NgModule } from '@angular/core';
2
+ import { Component, Injectable, ChangeDetectionStrategy, ViewChild, NgModule } from '@angular/core';
3
3
  import * as i1 from '@abp/ng.core';
4
4
  import { ListService, AuthGuard, PermissionGuard, CoreModule, LazyModuleFactory } from '@abp/ng.core';
5
5
  import * as i3 from '@abp/ng.theme.shared';
@@ -22,34 +22,14 @@ import * as i9 from 'devextreme-angular/ui/nested';
22
22
  import * as AspNetData from 'devextreme-aspnet-data-nojquery';
23
23
  import * as i5 from '@angular/platform-browser';
24
24
 
25
- class UretimYonetimiService {
26
- constructor(restService) {
27
- this.restService = restService;
28
- this.apiName = 'UretimYonetimi';
29
- }
30
- }
31
- UretimYonetimiService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: UretimYonetimiService, deps: [{ token: i1.RestService }], target: i0.ɵɵFactoryTarget.Injectable });
32
- UretimYonetimiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: UretimYonetimiService, providedIn: 'root' });
33
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: UretimYonetimiService, decorators: [{
34
- type: Injectable,
35
- args: [{
36
- providedIn: 'root',
37
- }]
38
- }], ctorParameters: function () { return [{ type: i1.RestService }]; } });
39
-
40
25
  class UretimYonetimiComponent {
41
- constructor(service) {
42
- this.service = service;
43
- }
44
- ngOnInit() {
45
- }
46
26
  }
47
- UretimYonetimiComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: UretimYonetimiComponent, deps: [{ token: UretimYonetimiService }], target: i0.ɵɵFactoryTarget.Component });
27
+ UretimYonetimiComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: UretimYonetimiComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
48
28
  UretimYonetimiComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: UretimYonetimiComponent, selector: "lib-uretim-yonetimi", ngImport: i0, template: ` <p>uretim-yonetimi works!</p> `, isInline: true });
49
29
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: UretimYonetimiComponent, decorators: [{
50
30
  type: Component,
51
31
  args: [{ selector: 'lib-uretim-yonetimi', template: ` <p>uretim-yonetimi works!</p> ` }]
52
- }], ctorParameters: function () { return [{ type: UretimYonetimiService }]; } });
32
+ }] });
53
33
 
54
34
  class ProductionOrder {
55
35
  }
@@ -307,7 +287,7 @@ class HitProductionOrdersComponent {
307
287
  });
308
288
  }
309
289
  patchProductionOrder() {
310
- // Map IssuesForProductionList to IssuesForProductionPostDto
290
+ this.isLoading = true;
311
291
  const productionOrderLines = this.productionOrderList.ProductionOrderLines.map(productionLine => {
312
292
  return new ProductionOrderLine$1(productionLine.ItemCode, productionLine.WarehouseCode, productionLine.Quantity, productionLine.Quantity, productionLine.Quantity, '', productionLine.BaseEntry, 0, [new BatchNumber$1(productionLine.BatchNumber, productionLine.Quantity)]);
313
293
  });
@@ -319,16 +299,9 @@ class HitProductionOrdersComponent {
319
299
  this.clearAll();
320
300
  });
321
301
  }
322
- else {
323
- this.confirmation.status$.subscribe({
324
- next: () => {
325
- this.clearAll();
326
- }
327
- });
328
- }
329
302
  },
330
303
  });
331
- this.clearAll();
304
+ this.isLoading = false;
332
305
  }
333
306
  clearAll() {
334
307
  this.isEmriBarkoduGecerliMi = false;
@@ -570,7 +543,7 @@ class HitReceiptFromProductionsComponent {
570
543
  this.focusOnBarkodNumarasi();
571
544
  }
572
545
  generateReport() {
573
- this.service.getBarcodeInfo(this.barkodNumarasi, this.newRecordDocEntry, 1).subscribe({
546
+ this.service.getBarcodeInfo(this.isEmriNumarasiForBarcode, this.newRecordDocEntry, 1).subscribe({
574
547
  next: response => {
575
548
  const base64Data = response.base64; // base64 string (sadece veri kısmı, "data:application/pdf;base64,..." değilse)
576
549
  // Base64'ü decode edip binary veriye çeviriyoruz
@@ -629,15 +602,14 @@ class HitReceiptFromProductionsComponent {
629
602
  this.isLoading = true;
630
603
  this.receiptFromProductionsPostDtoDocumentLine.batchNumbers = [this.receiptFromProductionsPostDtoBatchNumber];
631
604
  this.receiptFromProductionsPostDto.documentLines = [this.receiptFromProductionsPostDtoDocumentLine];
632
- console.log('documentLines', this.receiptFromProductionsPostDto.documentLines);
633
- console.log('batchNumbers', this.receiptFromProductionsPostDtoDocumentLine.batchNumbers);
634
- return;
635
605
  this.service.create(this.receiptFromProductionsPostDto).subscribe({
636
606
  next: (result) => {
637
607
  if (result.isSuccessful) {
638
608
  this.confirmation.success('İşlem Başarılı', '', this.options).subscribe(() => {
639
609
  this.newRecordDocEntry = result.items.docEntry;
610
+ this.isEmriNumarasiForBarcode = this.barkodNumarasi;
640
611
  this.showModal = true;
612
+ this.clearAll();
641
613
  });
642
614
  }
643
615
  else {
@@ -988,7 +960,6 @@ class HitIssuesForProductionsComponent {
988
960
  this.issuesForProductionPost.DocumentLines.forEach((x) => {
989
961
  x.BaseEntry = this.productionOrder.absoluteEntry;
990
962
  });
991
- console.log(this.issuesForProductionPost);
992
963
  this.issuesForProductionPost.DocumentLines = this.issuesForProductionPost.DocumentLines.filter((x) => x.IsQRReady);
993
964
  this.service.post(this.issuesForProductionPost).subscribe({
994
965
  next: (response) => {
@@ -1000,23 +971,20 @@ class HitIssuesForProductionsComponent {
1000
971
  else {
1001
972
  this.confirmation.status$.subscribe({
1002
973
  next: () => {
1003
- this.clearAll();
974
+ this.focusQRInput();
1004
975
  }
1005
976
  });
1006
977
  }
1007
978
  },
1008
979
  error: (e) => {
1009
- this.confirmation.error('', 'Bir hata oluştu!', this.options).subscribe({
980
+ this.confirmation.status$.subscribe({
1010
981
  next: () => {
1011
- this.clearAll();
982
+ this.focusQRInput();
1012
983
  }
1013
984
  });
1014
- this.isLoading = false;
1015
- },
1016
- complete: () => {
1017
- this.isLoading = false;
1018
985
  }
1019
986
  });
987
+ this.isLoading = false;
1020
988
  });
1021
989
  }
1022
990
  clearAll() {
@@ -1064,10 +1032,10 @@ class HitIssuesForProductionsComponent {
1064
1032
  }
1065
1033
  }
1066
1034
  HitIssuesForProductionsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitIssuesForProductionsComponent, deps: [{ token: i0.NgZone }, { token: i1.ListService }, { token: i1.TrackByService }, { token: HitIssuesForProductionsService }, { token: i3.ConfirmationService }, { token: i4.FormBuilder }, { token: HitProductionOrdersService }], target: i0.ɵɵFactoryTarget.Component });
1067
- HitIssuesForProductionsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: HitIssuesForProductionsComponent, selector: "lib-hit-issues-for-productions", providers: [ListService, { provide: NgbDateAdapter, useClass: DateAdapter }], viewQueries: [{ propertyName: "nmbBoxBarkodNumarasi", first: true, predicate: ["barkodNumarasiRef"], descendants: true }, { propertyName: "nmbBoxHammaddeQR", first: true, predicate: ["hammaddeQRRef"], descendants: true }, { propertyName: "dataGrid", first: true, predicate: ["getProductionOrderLineGrid"], descendants: true }], ngImport: i0, template: "<abp-page [breadcrumb]=\"false\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"row\">\r\n <h3 class=\"page-title\">\r\n {{ 'UretimYonetimi::IssuesForProductions.Title' | abpLocalization }}\r\n </h3>\r\n </div>\r\n <div class=\"row text-lg-end pt-2\">\r\n <div class=\"col-8\">\r\n <button class=\"btn btn-success btn-sm\" type=\"button\" (click)=\"postIssuesForProduction()\"\r\n [disabled]=\"!isEmriBarkoduGecerliMi\">\r\n <i class=\"fa fa-plus me-1\"></i>\r\n {{ 'UretimYonetimi::IssuesForProductions.Create' | abpLocalization }}\r\n </button>\r\n </div>\r\n <div class=\"col-4\">\r\n <button class=\"btn btn-warning btn-sm\" type=\"button\" (click)=\"clearAll()\">\r\n <i class=\"fa fa-broom me-1\"></i>\r\n {{ 'UretimYonetimi::IssuesForProductions.Clean' | abpLocalization }}\r\n </button>\r\n </div>\r\n </div>\r\n </abp-page-toolbar-container>\r\n <div class=\"card mt-2\">\r\n <div class=\"card-body\">\r\n <div style=\"display: flex; align-items: center;\">\r\n <dx-number-box #barkodNumarasiRef\r\n class=\"me-1\" style=\"width:100%;\"\r\n [label]=\"'UretimYonetimi::IssuesForProductions.WorkOrderNo' | abpLocalization\"\r\n [(value)]=\"isEmriBarkodu\"\r\n (onChange)=\"getProductionOrder()\"\r\n (onEnterKey)=\"getProductionOrder()\"\r\n [disabled]=\"isEmriBarkoduGecerliMi\">\r\n </dx-number-box>\r\n <dx-button style=\"margin-top: 7.5px;\" icon=\"search\" type=\"default\" (onClick)=\"getProductionOrder()\"\r\n [disabled]=\"isEmriBarkoduGecerliMi\">\r\n </dx-button>\r\n </div>\r\n <div class=\"mt-3\" *ngIf=\"isEmriBarkoduGecerliMi\">\r\n <dx-text-box style=\"width:100%;\"\r\n [label]=\"'UretimYonetimi::IssuesForProductions.WorkOrderName' | abpLocalization\"\r\n [(value)]=\"productionOrder.productDescription\"\r\n [disabled]=\"true\">\r\n </dx-text-box>\r\n <dx-number-box style=\"width:100%;\"\r\n [label]=\"'UretimYonetimi::IssuesForProductions.PlannedQty' | abpLocalization\"\r\n [(value)]=\"productionOrder.plannedQuantity\"\r\n [disabled]=\"true\">\r\n </dx-number-box>\r\n\r\n <div style=\"display: flex; align-items: center;\">\r\n <dx-text-box #hammaddeQRRef\r\n style=\"width:100%;\"\r\n class=\"me-1\"\r\n [label]=\"'UretimYonetimi::IssuesForProductions.IssueQRCode' | abpLocalization\"\r\n [maxLength]=\"256\"\r\n [(value)]=\"hammaddeQR\"\r\n (onEnterKey)=\"parseAndAddQR()\"\r\n [placeholder]=\"'UretimYonetimi::IssuesForProductions.IssueQRCode.Placeholder' | abpLocalization\">\r\n </dx-text-box>\r\n <dx-button style=\"margin-top: 7.5px;\" icon=\"plus\" type=\"default\" (onClick)=\"parseAndAddQR()\">\r\n </dx-button>\r\n </div>\r\n\r\n <div *ngIf=\"productionOrder.getProductionOrderLine?.length\" class=\"mt-3\">\r\n <dx-data-grid #getProductionOrderLineGrid\r\n [dataSource]=\"productionOrder.getProductionOrderLine\"\r\n [showBorders]=\"true\"\r\n [columnAutoWidth]=\"true\"\r\n [sorting]=\"{ mode: 'none' }\"\r\n (onRowPrepared)=\"onRowPrepared($event)\">\r\n <dxi-column dataField=\"itemName\"\r\n caption=\"{{'UretimYonetimi::IssuesForProductions.ItemName' | abpLocalization}}\"></dxi-column>\r\n <dxi-column dataField=\"quantity\"\r\n caption=\"{{'UretimYonetimi::IssuesForProductions.Quantity' | abpLocalization}}\"\r\n dataType=\"number\" [format]=\"HitHelper.getMeasurementFormatted('kg')\"></dxi-column>\r\n <dxi-column dataField=\"plannedQty\"\r\n caption=\"{{'UretimYonetimi::IssuesForProductions.PlannedQty' | abpLocalization}}\"\r\n dataType=\"number\" [format]=\"HitHelper.getMeasurementFormatted('kg')\"></dxi-column>\r\n <dxi-column dataField=\"issuedQty\"\r\n caption=\"{{'UretimYonetimi::IssuesForProductions.CompletedQty' | abpLocalization}}\"\r\n dataType=\"number\" [format]=\"HitHelper.getMeasurementFormatted('kg')\"></dxi-column>\r\n <dxi-column dataField=\"itemCode\"\r\n caption=\"{{'UretimYonetimi::IssuesForProductions.ItemCode' | abpLocalization}}\"\r\n [width]=\"150\"></dxi-column>\r\n <dxi-column dataField=\"batchNumber\"\r\n caption=\"{{'UretimYonetimi::IssuesForProductions.BatchNumber' | abpLocalization}}\"\r\n [width]=\"120\"></dxi-column>\r\n <dxi-column dataField=\"warehouse\"\r\n caption=\"{{'UretimYonetimi::IssuesForProductions.Warehouse' | abpLocalization}}\"\r\n [width]=\"120\">\r\n\r\n <dxo-lookup [dataSource]=\"warehouses\" displayExpr=\"whsName\" valueExpr=\"whsCode\">\r\n </dxo-lookup>\r\n </dxi-column>\r\n </dx-data-grid>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</abp-page>\r\n", styles: ["::ng-deep .hit-green-row{background-color:#daf5dc!important}::ng-deep .hit-grey-row{background-color:#f2f4f7!important}\n"], dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i7.PageComponent, selector: "abp-page", inputs: ["title", "toolbar", "breadcrumb"] }, { kind: "component", type: i7.PageToolbarContainerComponent, selector: "abp-page-toolbar-container" }, { kind: "component", type: i8.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: i8.DxButtonComponent, selector: "dx-button", inputs: ["accessKey", "activeStateEnabled", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "icon", "rtlEnabled", "stylingMode", "tabIndex", "template", "text", "type", "useSubmitBehavior", "validationGroup", "visible", "width"], outputs: ["onClick", "onContentReady", "onDisposing", "onInitialized", "onOptionChanged", "accessKeyChange", "activeStateEnabledChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "iconChange", "rtlEnabledChange", "stylingModeChange", "tabIndexChange", "templateChange", "textChange", "typeChange", "useSubmitBehaviorChange", "validationGroupChange", "visibleChange", "widthChange"] }, { kind: "component", type: i8.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: i9.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: i9.DxoLookupComponent, selector: "dxo-lookup", inputs: ["allowClearing", "calculateCellValue", "dataSource", "displayExpr", "valueExpr"] }, { kind: "component", type: i8.DxNumberBoxComponent, selector: "dx-number-box", inputs: ["accessKey", "activeStateEnabled", "buttons", "disabled", "elementAttr", "focusStateEnabled", "format", "height", "hint", "hoverStateEnabled", "inputAttr", "invalidValueMessage", "isValid", "label", "labelMode", "max", "min", "mode", "name", "placeholder", "readOnly", "rtlEnabled", "showClearButton", "showSpinButtons", "step", "stylingMode", "tabIndex", "text", "useLargeSpinButtons", "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", "formatChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "invalidValueMessageChange", "isValidChange", "labelChange", "labelModeChange", "maxChange", "minChange", "modeChange", "nameChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "showClearButtonChange", "showSpinButtonsChange", "stepChange", "stylingModeChange", "tabIndexChange", "textChange", "useLargeSpinButtonsChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "visibleChange", "widthChange", "onBlur"] }, { kind: "pipe", type: i1.LocalizationPipe, name: "abpLocalization" }], changeDetection: i0.ChangeDetectionStrategy.Default });
1035
+ HitIssuesForProductionsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: HitIssuesForProductionsComponent, selector: "lib-hit-issues-for-productions", providers: [ListService, { provide: NgbDateAdapter, useClass: DateAdapter }], viewQueries: [{ propertyName: "nmbBoxBarkodNumarasi", first: true, predicate: ["barkodNumarasiRef"], descendants: true }, { propertyName: "nmbBoxHammaddeQR", first: true, predicate: ["hammaddeQRRef"], descendants: true }, { propertyName: "dataGrid", first: true, predicate: ["getProductionOrderLineGrid"], descendants: true }], ngImport: i0, template: "<abp-page [breadcrumb]=\"false\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"row\">\r\n <h3 class=\"page-title\">\r\n {{ 'UretimYonetimi::IssuesForProductions.Title' | abpLocalization }}\r\n </h3>\r\n </div>\r\n <div class=\"row text-lg-end pt-2\">\r\n <div class=\"col-8\">\r\n <button class=\"btn btn-success btn-sm\" type=\"button\" (click)=\"postIssuesForProduction()\"\r\n [disabled]=\"!isEmriBarkoduGecerliMi\">\r\n <i class=\"fa fa-plus me-1\"></i>\r\n {{ 'UretimYonetimi::IssuesForProductions.Create' | abpLocalization }}\r\n </button>\r\n </div>\r\n <div class=\"col-4\">\r\n <button class=\"btn btn-warning btn-sm\" type=\"button\" (click)=\"clearAll()\">\r\n <i class=\"fa fa-broom me-1\"></i>\r\n {{ 'UretimYonetimi::IssuesForProductions.Clean' | abpLocalization }}\r\n </button>\r\n </div>\r\n </div>\r\n </abp-page-toolbar-container>\r\n <div class=\"card mt-2\">\r\n <div class=\"card-body\">\r\n <div style=\"display: flex; align-items: center;\">\r\n <dx-number-box #barkodNumarasiRef\r\n class=\"me-1\" style=\"width:100%;\"\r\n [label]=\"'UretimYonetimi::IssuesForProductions.WorkOrderNo' | abpLocalization\"\r\n [(value)]=\"isEmriBarkodu\"\r\n (onChange)=\"getProductionOrder()\"\r\n (onEnterKey)=\"getProductionOrder()\"\r\n [disabled]=\"isEmriBarkoduGecerliMi\">\r\n </dx-number-box>\r\n <dx-button style=\"margin-top: 7.5px;\" icon=\"search\" type=\"default\" (onClick)=\"getProductionOrder()\"\r\n [disabled]=\"isEmriBarkoduGecerliMi\">\r\n </dx-button>\r\n </div>\r\n <div class=\"mt-3\" *ngIf=\"isEmriBarkoduGecerliMi\">\r\n <dx-text-box style=\"width:100%;\"\r\n [label]=\"'UretimYonetimi::IssuesForProductions.WorkOrderName' | abpLocalization\"\r\n [(value)]=\"productionOrder.productDescription\"\r\n [disabled]=\"true\">\r\n </dx-text-box>\r\n <dx-number-box style=\"width:100%;\"\r\n [label]=\"'UretimYonetimi::IssuesForProductions.PlannedQty' | abpLocalization\"\r\n [(value)]=\"productionOrder.plannedQuantity\"\r\n [disabled]=\"true\"\r\n format=\"#,##0.00\">\r\n </dx-number-box>\r\n\r\n <div style=\"display: flex; align-items: center;\">\r\n <dx-text-box #hammaddeQRRef\r\n style=\"width:100%;\"\r\n class=\"me-1\"\r\n [label]=\"'UretimYonetimi::IssuesForProductions.IssueQRCode' | abpLocalization\"\r\n [maxLength]=\"256\"\r\n [(value)]=\"hammaddeQR\"\r\n (onEnterKey)=\"parseAndAddQR()\"\r\n [placeholder]=\"'UretimYonetimi::IssuesForProductions.IssueQRCode.Placeholder' | abpLocalization\">\r\n </dx-text-box>\r\n <dx-button style=\"margin-top: 7.5px;\" icon=\"plus\" type=\"default\" (onClick)=\"parseAndAddQR()\">\r\n </dx-button>\r\n </div>\r\n\r\n <div *ngIf=\"productionOrder.getProductionOrderLine?.length\" class=\"mt-3\">\r\n <dx-data-grid #getProductionOrderLineGrid\r\n [dataSource]=\"productionOrder.getProductionOrderLine\"\r\n [showBorders]=\"true\"\r\n [columnAutoWidth]=\"true\"\r\n [sorting]=\"{ mode: 'none' }\"\r\n (onRowPrepared)=\"onRowPrepared($event)\">\r\n <dxi-column dataField=\"itemName\"\r\n caption=\"{{'UretimYonetimi::IssuesForProductions.ItemName' | abpLocalization}}\"></dxi-column>\r\n <dxi-column dataField=\"quantity\"\r\n caption=\"{{'UretimYonetimi::IssuesForProductions.Quantity' | abpLocalization}}\"\r\n dataType=\"number\" [format]=\"HitHelper.getMeasurementFormatted()\"></dxi-column>\r\n <dxi-column dataField=\"plannedQty\"\r\n caption=\"{{'UretimYonetimi::IssuesForProductions.PlannedQty' | abpLocalization}}\"\r\n dataType=\"number\" [format]=\"HitHelper.getMeasurementFormatted('kg')\"></dxi-column>\r\n <dxi-column dataField=\"issuedQty\"\r\n caption=\"{{'UretimYonetimi::IssuesForProductions.CompletedQty' | abpLocalization}}\"\r\n dataType=\"number\" [format]=\"HitHelper.getMeasurementFormatted('kg')\"></dxi-column>\r\n <dxi-column dataField=\"itemCode\"\r\n caption=\"{{'UretimYonetimi::IssuesForProductions.ItemCode' | abpLocalization}}\"\r\n [width]=\"150\"></dxi-column>\r\n <dxi-column dataField=\"batchNumber\"\r\n caption=\"{{'UretimYonetimi::IssuesForProductions.BatchNumber' | abpLocalization}}\"\r\n [width]=\"120\"></dxi-column>\r\n <dxi-column dataField=\"warehouse\"\r\n caption=\"{{'UretimYonetimi::IssuesForProductions.Warehouse' | abpLocalization}}\"\r\n [width]=\"120\">\r\n\r\n <dxo-lookup [dataSource]=\"warehouses\" displayExpr=\"whsName\" valueExpr=\"whsCode\">\r\n </dxo-lookup>\r\n </dxi-column>\r\n </dx-data-grid>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</abp-page>\r\n", styles: ["::ng-deep .hit-green-row{background-color:#daf5dc!important}::ng-deep .hit-grey-row{background-color:#80808070!important}\n"], dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i7.PageComponent, selector: "abp-page", inputs: ["title", "toolbar", "breadcrumb"] }, { kind: "component", type: i7.PageToolbarContainerComponent, selector: "abp-page-toolbar-container" }, { kind: "component", type: i8.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: i8.DxButtonComponent, selector: "dx-button", inputs: ["accessKey", "activeStateEnabled", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "icon", "rtlEnabled", "stylingMode", "tabIndex", "template", "text", "type", "useSubmitBehavior", "validationGroup", "visible", "width"], outputs: ["onClick", "onContentReady", "onDisposing", "onInitialized", "onOptionChanged", "accessKeyChange", "activeStateEnabledChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "iconChange", "rtlEnabledChange", "stylingModeChange", "tabIndexChange", "templateChange", "textChange", "typeChange", "useSubmitBehaviorChange", "validationGroupChange", "visibleChange", "widthChange"] }, { kind: "component", type: i8.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: i9.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: i9.DxoLookupComponent, selector: "dxo-lookup", inputs: ["allowClearing", "calculateCellValue", "dataSource", "displayExpr", "valueExpr"] }, { kind: "component", type: i8.DxNumberBoxComponent, selector: "dx-number-box", inputs: ["accessKey", "activeStateEnabled", "buttons", "disabled", "elementAttr", "focusStateEnabled", "format", "height", "hint", "hoverStateEnabled", "inputAttr", "invalidValueMessage", "isValid", "label", "labelMode", "max", "min", "mode", "name", "placeholder", "readOnly", "rtlEnabled", "showClearButton", "showSpinButtons", "step", "stylingMode", "tabIndex", "text", "useLargeSpinButtons", "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", "formatChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "invalidValueMessageChange", "isValidChange", "labelChange", "labelModeChange", "maxChange", "minChange", "modeChange", "nameChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "showClearButtonChange", "showSpinButtonsChange", "stepChange", "stylingModeChange", "tabIndexChange", "textChange", "useLargeSpinButtonsChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "visibleChange", "widthChange", "onBlur"] }, { kind: "pipe", type: i1.LocalizationPipe, name: "abpLocalization" }], changeDetection: i0.ChangeDetectionStrategy.Default });
1068
1036
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitIssuesForProductionsComponent, decorators: [{
1069
1037
  type: Component,
1070
- args: [{ selector: 'lib-hit-issues-for-productions', changeDetection: ChangeDetectionStrategy.Default, providers: [ListService, { provide: NgbDateAdapter, useClass: DateAdapter }], template: "<abp-page [breadcrumb]=\"false\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"row\">\r\n <h3 class=\"page-title\">\r\n {{ 'UretimYonetimi::IssuesForProductions.Title' | abpLocalization }}\r\n </h3>\r\n </div>\r\n <div class=\"row text-lg-end pt-2\">\r\n <div class=\"col-8\">\r\n <button class=\"btn btn-success btn-sm\" type=\"button\" (click)=\"postIssuesForProduction()\"\r\n [disabled]=\"!isEmriBarkoduGecerliMi\">\r\n <i class=\"fa fa-plus me-1\"></i>\r\n {{ 'UretimYonetimi::IssuesForProductions.Create' | abpLocalization }}\r\n </button>\r\n </div>\r\n <div class=\"col-4\">\r\n <button class=\"btn btn-warning btn-sm\" type=\"button\" (click)=\"clearAll()\">\r\n <i class=\"fa fa-broom me-1\"></i>\r\n {{ 'UretimYonetimi::IssuesForProductions.Clean' | abpLocalization }}\r\n </button>\r\n </div>\r\n </div>\r\n </abp-page-toolbar-container>\r\n <div class=\"card mt-2\">\r\n <div class=\"card-body\">\r\n <div style=\"display: flex; align-items: center;\">\r\n <dx-number-box #barkodNumarasiRef\r\n class=\"me-1\" style=\"width:100%;\"\r\n [label]=\"'UretimYonetimi::IssuesForProductions.WorkOrderNo' | abpLocalization\"\r\n [(value)]=\"isEmriBarkodu\"\r\n (onChange)=\"getProductionOrder()\"\r\n (onEnterKey)=\"getProductionOrder()\"\r\n [disabled]=\"isEmriBarkoduGecerliMi\">\r\n </dx-number-box>\r\n <dx-button style=\"margin-top: 7.5px;\" icon=\"search\" type=\"default\" (onClick)=\"getProductionOrder()\"\r\n [disabled]=\"isEmriBarkoduGecerliMi\">\r\n </dx-button>\r\n </div>\r\n <div class=\"mt-3\" *ngIf=\"isEmriBarkoduGecerliMi\">\r\n <dx-text-box style=\"width:100%;\"\r\n [label]=\"'UretimYonetimi::IssuesForProductions.WorkOrderName' | abpLocalization\"\r\n [(value)]=\"productionOrder.productDescription\"\r\n [disabled]=\"true\">\r\n </dx-text-box>\r\n <dx-number-box style=\"width:100%;\"\r\n [label]=\"'UretimYonetimi::IssuesForProductions.PlannedQty' | abpLocalization\"\r\n [(value)]=\"productionOrder.plannedQuantity\"\r\n [disabled]=\"true\">\r\n </dx-number-box>\r\n\r\n <div style=\"display: flex; align-items: center;\">\r\n <dx-text-box #hammaddeQRRef\r\n style=\"width:100%;\"\r\n class=\"me-1\"\r\n [label]=\"'UretimYonetimi::IssuesForProductions.IssueQRCode' | abpLocalization\"\r\n [maxLength]=\"256\"\r\n [(value)]=\"hammaddeQR\"\r\n (onEnterKey)=\"parseAndAddQR()\"\r\n [placeholder]=\"'UretimYonetimi::IssuesForProductions.IssueQRCode.Placeholder' | abpLocalization\">\r\n </dx-text-box>\r\n <dx-button style=\"margin-top: 7.5px;\" icon=\"plus\" type=\"default\" (onClick)=\"parseAndAddQR()\">\r\n </dx-button>\r\n </div>\r\n\r\n <div *ngIf=\"productionOrder.getProductionOrderLine?.length\" class=\"mt-3\">\r\n <dx-data-grid #getProductionOrderLineGrid\r\n [dataSource]=\"productionOrder.getProductionOrderLine\"\r\n [showBorders]=\"true\"\r\n [columnAutoWidth]=\"true\"\r\n [sorting]=\"{ mode: 'none' }\"\r\n (onRowPrepared)=\"onRowPrepared($event)\">\r\n <dxi-column dataField=\"itemName\"\r\n caption=\"{{'UretimYonetimi::IssuesForProductions.ItemName' | abpLocalization}}\"></dxi-column>\r\n <dxi-column dataField=\"quantity\"\r\n caption=\"{{'UretimYonetimi::IssuesForProductions.Quantity' | abpLocalization}}\"\r\n dataType=\"number\" [format]=\"HitHelper.getMeasurementFormatted('kg')\"></dxi-column>\r\n <dxi-column dataField=\"plannedQty\"\r\n caption=\"{{'UretimYonetimi::IssuesForProductions.PlannedQty' | abpLocalization}}\"\r\n dataType=\"number\" [format]=\"HitHelper.getMeasurementFormatted('kg')\"></dxi-column>\r\n <dxi-column dataField=\"issuedQty\"\r\n caption=\"{{'UretimYonetimi::IssuesForProductions.CompletedQty' | abpLocalization}}\"\r\n dataType=\"number\" [format]=\"HitHelper.getMeasurementFormatted('kg')\"></dxi-column>\r\n <dxi-column dataField=\"itemCode\"\r\n caption=\"{{'UretimYonetimi::IssuesForProductions.ItemCode' | abpLocalization}}\"\r\n [width]=\"150\"></dxi-column>\r\n <dxi-column dataField=\"batchNumber\"\r\n caption=\"{{'UretimYonetimi::IssuesForProductions.BatchNumber' | abpLocalization}}\"\r\n [width]=\"120\"></dxi-column>\r\n <dxi-column dataField=\"warehouse\"\r\n caption=\"{{'UretimYonetimi::IssuesForProductions.Warehouse' | abpLocalization}}\"\r\n [width]=\"120\">\r\n\r\n <dxo-lookup [dataSource]=\"warehouses\" displayExpr=\"whsName\" valueExpr=\"whsCode\">\r\n </dxo-lookup>\r\n </dxi-column>\r\n </dx-data-grid>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</abp-page>\r\n", styles: ["::ng-deep .hit-green-row{background-color:#daf5dc!important}::ng-deep .hit-grey-row{background-color:#f2f4f7!important}\n"] }]
1038
+ args: [{ selector: 'lib-hit-issues-for-productions', changeDetection: ChangeDetectionStrategy.Default, providers: [ListService, { provide: NgbDateAdapter, useClass: DateAdapter }], template: "<abp-page [breadcrumb]=\"false\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"row\">\r\n <h3 class=\"page-title\">\r\n {{ 'UretimYonetimi::IssuesForProductions.Title' | abpLocalization }}\r\n </h3>\r\n </div>\r\n <div class=\"row text-lg-end pt-2\">\r\n <div class=\"col-8\">\r\n <button class=\"btn btn-success btn-sm\" type=\"button\" (click)=\"postIssuesForProduction()\"\r\n [disabled]=\"!isEmriBarkoduGecerliMi\">\r\n <i class=\"fa fa-plus me-1\"></i>\r\n {{ 'UretimYonetimi::IssuesForProductions.Create' | abpLocalization }}\r\n </button>\r\n </div>\r\n <div class=\"col-4\">\r\n <button class=\"btn btn-warning btn-sm\" type=\"button\" (click)=\"clearAll()\">\r\n <i class=\"fa fa-broom me-1\"></i>\r\n {{ 'UretimYonetimi::IssuesForProductions.Clean' | abpLocalization }}\r\n </button>\r\n </div>\r\n </div>\r\n </abp-page-toolbar-container>\r\n <div class=\"card mt-2\">\r\n <div class=\"card-body\">\r\n <div style=\"display: flex; align-items: center;\">\r\n <dx-number-box #barkodNumarasiRef\r\n class=\"me-1\" style=\"width:100%;\"\r\n [label]=\"'UretimYonetimi::IssuesForProductions.WorkOrderNo' | abpLocalization\"\r\n [(value)]=\"isEmriBarkodu\"\r\n (onChange)=\"getProductionOrder()\"\r\n (onEnterKey)=\"getProductionOrder()\"\r\n [disabled]=\"isEmriBarkoduGecerliMi\">\r\n </dx-number-box>\r\n <dx-button style=\"margin-top: 7.5px;\" icon=\"search\" type=\"default\" (onClick)=\"getProductionOrder()\"\r\n [disabled]=\"isEmriBarkoduGecerliMi\">\r\n </dx-button>\r\n </div>\r\n <div class=\"mt-3\" *ngIf=\"isEmriBarkoduGecerliMi\">\r\n <dx-text-box style=\"width:100%;\"\r\n [label]=\"'UretimYonetimi::IssuesForProductions.WorkOrderName' | abpLocalization\"\r\n [(value)]=\"productionOrder.productDescription\"\r\n [disabled]=\"true\">\r\n </dx-text-box>\r\n <dx-number-box style=\"width:100%;\"\r\n [label]=\"'UretimYonetimi::IssuesForProductions.PlannedQty' | abpLocalization\"\r\n [(value)]=\"productionOrder.plannedQuantity\"\r\n [disabled]=\"true\"\r\n format=\"#,##0.00\">\r\n </dx-number-box>\r\n\r\n <div style=\"display: flex; align-items: center;\">\r\n <dx-text-box #hammaddeQRRef\r\n style=\"width:100%;\"\r\n class=\"me-1\"\r\n [label]=\"'UretimYonetimi::IssuesForProductions.IssueQRCode' | abpLocalization\"\r\n [maxLength]=\"256\"\r\n [(value)]=\"hammaddeQR\"\r\n (onEnterKey)=\"parseAndAddQR()\"\r\n [placeholder]=\"'UretimYonetimi::IssuesForProductions.IssueQRCode.Placeholder' | abpLocalization\">\r\n </dx-text-box>\r\n <dx-button style=\"margin-top: 7.5px;\" icon=\"plus\" type=\"default\" (onClick)=\"parseAndAddQR()\">\r\n </dx-button>\r\n </div>\r\n\r\n <div *ngIf=\"productionOrder.getProductionOrderLine?.length\" class=\"mt-3\">\r\n <dx-data-grid #getProductionOrderLineGrid\r\n [dataSource]=\"productionOrder.getProductionOrderLine\"\r\n [showBorders]=\"true\"\r\n [columnAutoWidth]=\"true\"\r\n [sorting]=\"{ mode: 'none' }\"\r\n (onRowPrepared)=\"onRowPrepared($event)\">\r\n <dxi-column dataField=\"itemName\"\r\n caption=\"{{'UretimYonetimi::IssuesForProductions.ItemName' | abpLocalization}}\"></dxi-column>\r\n <dxi-column dataField=\"quantity\"\r\n caption=\"{{'UretimYonetimi::IssuesForProductions.Quantity' | abpLocalization}}\"\r\n dataType=\"number\" [format]=\"HitHelper.getMeasurementFormatted()\"></dxi-column>\r\n <dxi-column dataField=\"plannedQty\"\r\n caption=\"{{'UretimYonetimi::IssuesForProductions.PlannedQty' | abpLocalization}}\"\r\n dataType=\"number\" [format]=\"HitHelper.getMeasurementFormatted('kg')\"></dxi-column>\r\n <dxi-column dataField=\"issuedQty\"\r\n caption=\"{{'UretimYonetimi::IssuesForProductions.CompletedQty' | abpLocalization}}\"\r\n dataType=\"number\" [format]=\"HitHelper.getMeasurementFormatted('kg')\"></dxi-column>\r\n <dxi-column dataField=\"itemCode\"\r\n caption=\"{{'UretimYonetimi::IssuesForProductions.ItemCode' | abpLocalization}}\"\r\n [width]=\"150\"></dxi-column>\r\n <dxi-column dataField=\"batchNumber\"\r\n caption=\"{{'UretimYonetimi::IssuesForProductions.BatchNumber' | abpLocalization}}\"\r\n [width]=\"120\"></dxi-column>\r\n <dxi-column dataField=\"warehouse\"\r\n caption=\"{{'UretimYonetimi::IssuesForProductions.Warehouse' | abpLocalization}}\"\r\n [width]=\"120\">\r\n\r\n <dxo-lookup [dataSource]=\"warehouses\" displayExpr=\"whsName\" valueExpr=\"whsCode\">\r\n </dxo-lookup>\r\n </dxi-column>\r\n </dx-data-grid>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</abp-page>\r\n", styles: ["::ng-deep .hit-green-row{background-color:#daf5dc!important}::ng-deep .hit-grey-row{background-color:#80808070!important}\n"] }]
1071
1039
  }], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i1.ListService }, { type: i1.TrackByService }, { type: HitIssuesForProductionsService }, { type: i3.ConfirmationService }, { type: i4.FormBuilder }, { type: HitProductionOrdersService }]; }, propDecorators: { nmbBoxBarkodNumarasi: [{
1072
1040
  type: ViewChild,
1073
1041
  args: ['barkodNumarasiRef', { static: false }]
@@ -1482,5 +1450,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
1482
1450
  * Generated bundle index. Do not edit.
1483
1451
  */
1484
1452
 
1485
- export { UretimYonetimiComponent, UretimYonetimiModule, UretimYonetimiService };
1453
+ export { UretimYonetimiComponent, UretimYonetimiModule };
1486
1454
  //# sourceMappingURL=hitsoft-uretim-yonetimi.mjs.map