{"ast":null,"code":"import { FormGroup, FormControl, Validators } from '@angular/forms';\nimport { SuccessModalComponent } from 'src/app/shared/modals/success-modal/success-modal.component';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"src/app/shared/services/repository.service\";\nimport * as i2 from \"src/app/shared/services/repository-error-handler.service\";\nimport * as i3 from \"@angular/router\";\nimport * as i4 from \"ngx-bootstrap/modal\";\nfunction UpdateBrandComponent_mat_error_11_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"mat-error\");\n    i0.ɵɵtext(1, \"Ad gerekli\");\n    i0.ɵɵelementEnd();\n  }\n}\nfunction UpdateBrandComponent_mat_error_12_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"mat-error\");\n    i0.ɵɵtext(1, \"60'tan fazla karakteriniz var.\");\n    i0.ɵɵelementEnd();\n  }\n}\nexport class UpdateBrandComponent {\n  constructor(repository, errorHandler, router, route, modal) {\n    this.repository = repository;\n    this.errorHandler = errorHandler;\n    this.router = router;\n    this.route = route;\n    this.modal = modal;\n    this.errorMessage = '';\n    this.loadBrand = () => {\n      const apiUrl = `api/brands/${this.brandId}`;\n      this.repository.getData(apiUrl).subscribe({\n        next: brand => {\n          this.brandForm.patchValue(brand);\n        },\n        error: err => {\n          this.errorHandler.handleError(err);\n          this.errorMessage = this.errorHandler.errorMessage;\n        }\n      });\n    };\n    this.validateControl = controlName => {\n      if (this.brandForm.get(controlName).invalid && this.brandForm.get(controlName).touched) return true;\n      return false;\n    };\n    this.hasError = (controlName, errorName) => {\n      if (this.brandForm.get(controlName).hasError(errorName)) return true;\n      return false;\n    };\n    this.updateBrand = brandFormValue => {\n      if (this.brandForm.valid) this.executeBrandUpdate(brandFormValue);\n    };\n    this.executeBrandUpdate = brandFormValue => {\n      const brand = {\n        name: brandFormValue.name\n      };\n      console.log(brand);\n      const apiUrl = `api/brands/${this.brandId}`;\n      this.repository.update(apiUrl, brand).subscribe({\n        next: () => {\n          const config = {\n            initialState: {\n              modalHeaderText: 'Success Message',\n              modalBodyText: `Brand updated successfully`,\n              okButtonText: 'OK'\n            }\n          };\n          this.bsModalRef = this.modal.show(SuccessModalComponent, config);\n          this.bsModalRef.content.redirectOnOk.subscribe(_ => this.redirectToBrandList());\n        },\n        error: err => {\n          this.errorHandler.handleError(err);\n          this.errorMessage = this.errorHandler.errorMessage;\n        }\n      });\n    };\n    this.redirectToBrandList = () => {\n      this.router.navigate(['/ui-components/brand']);\n    };\n  }\n  ngOnInit() {\n    this.brandId = this.route.snapshot.paramMap.get('id');\n    this.loadBrand();\n    this.brandForm = new FormGroup({\n      name: new FormControl('', [Validators.required, Validators.maxLength(60)])\n    });\n  }\n  static #_ = this.ɵfac = function UpdateBrandComponent_Factory(t) {\n    return new (t || UpdateBrandComponent)(i0.ɵɵdirectiveInject(i1.RepositoryService), i0.ɵɵdirectiveInject(i2.RepositoryErrorHandlerService), i0.ɵɵdirectiveInject(i3.Router), i0.ɵɵdirectiveInject(i3.ActivatedRoute), i0.ɵɵdirectiveInject(i4.BsModalService));\n  };\n  static #_2 = this.ɵcmp = /*@__PURE__*/i0.ɵɵdefineComponent({\n    type: UpdateBrandComponent,\n    selectors: [[\"app-update-brand\"]],\n    decls: 18,\n    vars: 4,\n    consts: [[\"fxLayout\", \"row wrap\", \"fxLayoutAlign\", \"center center\"], [\"fxFlex\", \"500px\", \"fxFlex.xs\", \"100%\", 1, \"b-1\", \"shadow-none\"], [\"autocomplete\", \"off\", \"novalidate\", \"\", 3, \"ngSubmit\", \"formGroup\"], [\"appearance\", \"outline\", \"color\", \"primary\", 1, \"w-100\"], [\"matInput\", \"\", \"type\", \"text\", \"placeholder\", \"Marka Ad\\u0131\", \"formControlName\", \"name\", \"id\", \"name\"], [\"align\", \"end\"], [4, \"ngIf\"], [\"mat-flat-button\", \"\", \"color\", \"primary\", 1, \"w-100\", \"action-button\", 3, \"disabled\"], [\"type\", \"button\", \"mat-flat-button\", \"\", \"color\", \"warn\", 1, \"w-100\", 3, \"click\"]],\n    template: function UpdateBrandComponent_Template(rf, ctx) {\n      if (rf & 1) {\n        i0.ɵɵelementStart(0, \"section\", 0)(1, \"mat-card\", 1)(2, \"mat-card-header\")(3, \"mat-card-title\");\n        i0.ɵɵtext(4, \"Marka G\\u00FCncelle\");\n        i0.ɵɵelementEnd()();\n        i0.ɵɵelementStart(5, \"form\", 2);\n        i0.ɵɵlistener(\"ngSubmit\", function UpdateBrandComponent_Template_form_ngSubmit_5_listener() {\n          return ctx.updateBrand(ctx.brandForm.value);\n        });\n        i0.ɵɵelementStart(6, \"mat-card-content\")(7, \"mat-form-field\", 3);\n        i0.ɵɵelement(8, \"input\", 4);\n        i0.ɵɵelementStart(9, \"mat-hint\", 5);\n        i0.ɵɵtext(10, \"60 karakterden uzun olmamal\\u0131d\\u0131r.\");\n        i0.ɵɵelementEnd();\n        i0.ɵɵtemplate(11, UpdateBrandComponent_mat_error_11_Template, 2, 0, \"mat-error\", 6)(12, UpdateBrandComponent_mat_error_12_Template, 2, 0, \"mat-error\", 6);\n        i0.ɵɵelementEnd()();\n        i0.ɵɵelementStart(13, \"mat-card-actions\")(14, \"button\", 7);\n        i0.ɵɵtext(15, \"G\\u00FCncelle\");\n        i0.ɵɵelementEnd();\n        i0.ɵɵelementStart(16, \"button\", 8);\n        i0.ɵɵlistener(\"click\", function UpdateBrandComponent_Template_button_click_16_listener() {\n          return ctx.redirectToBrandList();\n        });\n        i0.ɵɵtext(17, \"\\u0130ptal Et\");\n        i0.ɵɵelementEnd()()()()();\n      }\n      if (rf & 2) {\n        i0.ɵɵadvance(5);\n        i0.ɵɵproperty(\"formGroup\", ctx.brandForm);\n        i0.ɵɵadvance(6);\n        i0.ɵɵproperty(\"ngIf\", ctx.hasError(\"name\", \"required\"));\n        i0.ɵɵadvance();\n        i0.ɵɵproperty(\"ngIf\", ctx.hasError(\"name\", \"maxlength\"));\n        i0.ɵɵadvance(2);\n        i0.ɵɵproperty(\"disabled\", !ctx.brandForm.valid);\n      }\n    },\n    styles: [\"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZVJvb3QiOiIifQ== */\"]\n  });\n}","map":{"version":3,"names":["FormGroup","FormControl","Validators","SuccessModalComponent","i0","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","UpdateBrandComponent","constructor","repository","errorHandler","router","route","modal","errorMessage","loadBrand","apiUrl","brandId","getData","subscribe","next","brand","brandForm","patchValue","error","err","handleError","validateControl","controlName","get","invalid","touched","hasError","errorName","updateBrand","brandFormValue","valid","executeBrandUpdate","name","console","log","update","config","initialState","modalHeaderText","modalBodyText","okButtonText","bsModalRef","show","content","redirectOnOk","_","redirectToBrandList","navigate","ngOnInit","snapshot","paramMap","required","maxLength","ɵɵdirectiveInject","i1","RepositoryService","i2","RepositoryErrorHandlerService","i3","Router","ActivatedRoute","i4","BsModalService","_2","selectors","decls","vars","consts","template","UpdateBrandComponent_Template","rf","ctx","ɵɵlistener","UpdateBrandComponent_Template_form_ngSubmit_5_listener","value","ɵɵelement","ɵɵtemplate","UpdateBrandComponent_mat_error_11_Template","UpdateBrandComponent_mat_error_12_Template","UpdateBrandComponent_Template_button_click_16_listener","ɵɵadvance","ɵɵproperty"],"sources":["C:\\Users\\Cem\\Desktop\\InventryUI-Client\\src\\app\\pages\\ui-components\\brand\\update-brand\\update-brand.component.ts","C:\\Users\\Cem\\Desktop\\InventryUI-Client\\src\\app\\pages\\ui-components\\brand\\update-brand\\update-brand.component.html"],"sourcesContent":["import { HttpErrorResponse } from '@angular/common/http';\nimport { Component, OnInit } from '@angular/core';\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { BsModalRef, BsModalService, ModalOptions } from 'ngx-bootstrap/modal';\nimport { SuccessModalComponent } from 'src/app/shared/modals/success-modal/success-modal.component';\nimport { RepositoryErrorHandlerService } from 'src/app/shared/services/repository-error-handler.service';\nimport { RepositoryService } from 'src/app/shared/services/repository.service';\n\n@Component({\n  selector: 'app-update-brand',\n  templateUrl: './update-brand.component.html',\n  styleUrls: ['./update-brand.component.css']\n})\nexport class UpdateBrandComponent implements OnInit {\n\n  public brandForm: FormGroup | any;\n  public errorMessage: string = '';\n  public bsModalRef?: BsModalRef;\n  private brandId: string;\n\n  constructor(\n    private repository: RepositoryService,\n    private errorHandler: RepositoryErrorHandlerService,\n    private router: Router,\n    private route: ActivatedRoute,\n    private modal: BsModalService\n  ) { }\n\n  ngOnInit(): void {\n    this.brandId = this.route.snapshot.paramMap.get('id')!;\n    this.loadBrand();\n    this.brandForm = new FormGroup({\n      name: new FormControl('', [Validators.required, Validators.maxLength(60)])\n    });\n  }\n\n  private loadBrand = () => {\n    const apiUrl = `api/brands/${this.brandId}`;\n    this.repository.getData(apiUrl)\n      .subscribe({\n        next: (brand: any) => {\n          this.brandForm.patchValue(brand);\n        },\n        error: (err: HttpErrorResponse) => {\n          this.errorHandler.handleError(err);\n          this.errorMessage = this.errorHandler.errorMessage;\n        }\n      });\n  }\n\n  validateControl = (controlName: string) => {\n    if (this.brandForm.get(controlName).invalid && this.brandForm.get(controlName).touched)\n      return true;\n    \n    return false;\n  }\n\n  hasError = (controlName: string, errorName: string) => {\n    if (this.brandForm.get(controlName).hasError(errorName))\n      return true;\n    \n    return false;\n  }\n\n  updateBrand = (brandFormValue: any) => {\n    if (this.brandForm.valid)\n      this.executeBrandUpdate(brandFormValue);\n  }\n\n  private executeBrandUpdate = (brandFormValue: any) => {\n    const brand: any = {\n      name: brandFormValue.name\n    };\n\n    console.log(brand);\n    const apiUrl = `api/brands/${this.brandId}`;\n    this.repository.update(apiUrl, brand)\n      .subscribe({\n        next: () => {\n          const config: ModalOptions = {\n            initialState: {\n              modalHeaderText: 'Success Message',\n              modalBodyText: `Brand updated successfully`,\n              okButtonText: 'OK'\n            }\n          };\n\n          this.bsModalRef = this.modal.show(SuccessModalComponent, config);\n          this.bsModalRef.content.redirectOnOk.subscribe((_: any) => this.redirectToBrandList());\n        },\n        error: (err: HttpErrorResponse) => {\n          this.errorHandler.handleError(err);\n          this.errorMessage = this.errorHandler.errorMessage;\n        }\n      });\n  }\n\n  redirectToBrandList = () => {\n    this.router.navigate(['/ui-components/brand']);\n  }\n\n}\n","<section fxLayout=\"row wrap\" fxLayoutAlign=\"center center\">\n  <mat-card fxFlex=\"500px\" fxFlex.xs=\"100%\" class=\"b-1 shadow-none\">\n    <mat-card-header>\n      <mat-card-title>Marka Güncelle</mat-card-title>\n    </mat-card-header>\n    <form [formGroup]=\"brandForm\" autocomplete=\"off\" novalidate (ngSubmit)=\"updateBrand(brandForm.value)\">\n      <mat-card-content>\n        <mat-form-field appearance=\"outline\" class=\"w-100\" color=\"primary\">\n          <input matInput type=\"text\" placeholder=\"Marka Adı\" formControlName=\"name\" id=\"name\">\n          <mat-hint align=\"end\">60 karakterden uzun olmamalıdır.</mat-hint>\n          <mat-error *ngIf=\"hasError('name', 'required')\">Ad gerekli</mat-error>\n          <mat-error *ngIf=\"hasError('name', 'maxlength')\">60'tan fazla karakteriniz var.</mat-error>\n        </mat-form-field>\n      </mat-card-content>\n      <mat-card-actions>\n        <button mat-flat-button color=\"primary\" class=\"w-100 action-button\" [disabled]=\"!brandForm.valid\">Güncelle</button>\n        <button type=\"button\" mat-flat-button color=\"warn\" class=\"w-100\" (click)=\"redirectToBrandList()\">İptal Et</button>\n      </mat-card-actions>\n    </form>\n  </mat-card>\n</section>\n\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}