{"ast":null,"code":"import { 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\";\nimport * as i5 from \"@angular/forms\";\nimport * as i6 from \"@angular/common\";\nimport * as i7 from \"@angular/material/core\";\nimport * as i8 from \"@angular/material/form-field\";\nimport * as i9 from \"@angular/material/input\";\nimport * as i10 from \"@angular/material/select\";\nimport * as i11 from \"@angular/material/card\";\nimport * as i12 from \"@angular/material/button\";\nfunction AssignDeviceComponent_mat_option_19_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"mat-option\", 18);\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    const category_r1 = ctx.$implicit;\n    i0.ɵɵproperty(\"value\", category_r1.name);\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate1(\" \", category_r1.name, \" \");\n  }\n}\nfunction AssignDeviceComponent_mat_option_26_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"mat-option\", 18);\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    const brand_r2 = ctx.$implicit;\n    i0.ɵɵproperty(\"value\", brand_r2.name);\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate1(\" \", brand_r2.name, \" \");\n  }\n}\nfunction AssignDeviceComponent_mat_option_29_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"mat-option\", 18);\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    const device_r3 = ctx.$implicit;\n    i0.ɵɵproperty(\"value\", device_r3.id);\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate3(\" \", device_r3.name, \" , \", device_r3.brandName, \" , \", device_r3.categoryName, \" \");\n  }\n}\nfunction AssignDeviceComponent_mat_error_30_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"mat-error\");\n    i0.ɵɵtext(1, \"Cihaz Gerekli\");\n    i0.ɵɵelementEnd();\n  }\n}\nfunction AssignDeviceComponent_mat_option_43_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"mat-option\", 18);\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    const employee_r4 = ctx.$implicit;\n    i0.ɵɵproperty(\"value\", employee_r4.id);\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate3(\" \", employee_r4.firstName, \" \", employee_r4.lastName, \" ( Emp# :\", employee_r4.employeeNumber, \" ) \");\n  }\n}\nfunction AssignDeviceComponent_mat_error_44_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"mat-error\");\n    i0.ɵɵtext(1, \"Personel gerekli\");\n    i0.ɵɵelementEnd();\n  }\n}\nexport class AssignDeviceComponent {\n  constructor(repository, errorHandler, router, modal, fb) {\n    this.repository = repository;\n    this.errorHandler = errorHandler;\n    this.router = router;\n    this.modal = modal;\n    this.fb = fb;\n    this.errorMessage = '';\n    this.devices = [];\n    this.filteredDevices = [];\n    this.employees = [];\n    this.filteredEmployees = [];\n    this.categories = [];\n    this.brands = [];\n  }\n  ngOnInit() {\n    this.deviceAssignmentForm = this.fb.group({\n      deviceId: ['', Validators.required],\n      employeeId: ['', Validators.required],\n      category: [''],\n      brand: ['']\n    });\n    this.loadDropdownData();\n    this.deviceAssignmentForm.get('category').valueChanges.subscribe(() => {\n      this.applyFilter();\n    });\n    this.deviceAssignmentForm.get('brand').valueChanges.subscribe(() => {\n      this.applyFilter();\n    });\n  }\n  loadDropdownData() {\n    this.repository.getData('api/devices/available').subscribe(res => {\n      this.devices = res;\n      this.filteredDevices = this.devices;\n    }, err => this.errorHandler.handleError(err));\n    this.repository.getData('api/employees').subscribe(res => {\n      this.employees = res;\n      this.filteredEmployees = this.employees;\n    }, err => this.errorHandler.handleError(err));\n    this.repository.getData('api/categories').subscribe(res => this.categories = res, err => this.errorHandler.handleError(err));\n    this.repository.getData('api/brands').subscribe(res => this.brands = res, err => this.errorHandler.handleError(err));\n  }\n  validateControl(controlName) {\n    return this.deviceAssignmentForm.get(controlName).invalid && this.deviceAssignmentForm.get(controlName).touched;\n  }\n  hasError(controlName, errorName) {\n    return this.deviceAssignmentForm.get(controlName).hasError(errorName);\n  }\n  createDeviceAssignment(deviceAssignmentFormValue) {\n    if (this.deviceAssignmentForm.valid) {\n      this.executeDeviceAssignmentCreation(deviceAssignmentFormValue);\n    }\n  }\n  executeDeviceAssignmentCreation(deviceAssignmentFormValue) {\n    const deviceAssignment = {\n      deviceId: deviceAssignmentFormValue.deviceId,\n      employeeId: deviceAssignmentFormValue.employeeId\n    };\n    console.log(deviceAssignment);\n    const apiUrl = 'api/deviceassignments/employee';\n    this.repository.create(apiUrl, deviceAssignment).subscribe({\n      next: createdDeviceAssignment => {\n        const config = {\n          initialState: {\n            modalHeaderText: 'Success Message',\n            modalBodyText: `Device Assigned successfully`,\n            okButtonText: 'OK'\n          }\n        };\n        this.bsModalRef = this.modal.show(SuccessModalComponent, config);\n        this.bsModalRef.content.redirectOnOk.subscribe(() => this.redirectToDeviceAssignmentList());\n      },\n      error: err => {\n        this.errorHandler.handleError(err);\n        this.errorMessage = this.errorHandler.errorMessage;\n      }\n    });\n  }\n  redirectToDeviceAssignmentList() {\n    this.loadDropdownData();\n    this.deviceAssignmentForm.get('category').valueChanges.subscribe(() => {\n      this.applyFilter();\n    });\n    this.deviceAssignmentForm.get('brand').valueChanges.subscribe(() => {\n      this.applyFilter();\n    });\n  }\n  applyFilter() {\n    const selectedCategory = this.deviceAssignmentForm.get('category').value;\n    const selectedBrand = this.deviceAssignmentForm.get('brand').value;\n    this.filteredDevices = this.devices.filter(device => {\n      const matchesCategory = !selectedCategory || device.categoryName === selectedCategory;\n      const matchesBrand = !selectedBrand || device.brandName === selectedBrand;\n      return matchesCategory && matchesBrand;\n    });\n  }\n  onEmployeeSearch(searchTerm) {\n    if (!searchTerm) {\n      this.filteredEmployees = this.employees;\n    } else {\n      this.filteredEmployees = this.employees.filter(employee => employee.firstName.toLowerCase().includes(searchTerm.toLowerCase()));\n    }\n  }\n  static #_ = this.ɵfac = function AssignDeviceComponent_Factory(t) {\n    return new (t || AssignDeviceComponent)(i0.ɵɵdirectiveInject(i1.RepositoryService), i0.ɵɵdirectiveInject(i2.RepositoryErrorHandlerService), i0.ɵɵdirectiveInject(i3.Router), i0.ɵɵdirectiveInject(i4.BsModalService), i0.ɵɵdirectiveInject(i5.FormBuilder));\n  };\n  static #_2 = this.ɵcmp = /*@__PURE__*/i0.ɵɵdefineComponent({\n    type: AssignDeviceComponent,\n    selectors: [[\"app-assign-device\"]],\n    decls: 48,\n    vars: 8,\n    consts: [[1, \"cardWithShadow\", \"theme-card\"], [1, \"m-b-0\"], [\"autocomplete\", \"off\", \"novalidate\", \"\", 3, \"ngSubmit\", \"formGroup\"], [1, \"b-t-1\"], [1, \"row\"], [1, \"col-lg-6\"], [1, \"b-1\", \"shadow-none\"], [\"appearance\", \"outline\", 1, \"w-100\", \"col-sm-6\", \"col-lg-6\"], [\"formControlName\", \"category\"], [\"value\", \"\"], [3, \"value\", 4, \"ngFor\", \"ngForOf\"], [\"formControlName\", \"brand\"], [\"appearance\", \"outline\", \"color\", \"primary\", 1, \"w-100\"], [\"placeholder\", \"Cihaz Se\\u00E7\", \"formControlName\", \"deviceId\", \"id\", \"deviceId\"], [4, \"ngIf\"], [\"type\", \"text\", \"matInput\", \"\", \"placeholder\", \"Personal Ara\", 3, \"input\"], [\"placeholder\", \"Select Employee\", \"formControlName\", \"employeeId\", \"id\", \"employeeId\"], [\"mat-flat-button\", \"\", \"color\", \"primary\", 1, \"w-100\", \"action-button\", 3, \"disabled\"], [3, \"value\"]],\n    template: function AssignDeviceComponent_Template(rf, ctx) {\n      if (rf & 1) {\n        i0.ɵɵelementStart(0, \"mat-card\", 0)(1, \"mat-card-header\")(2, \"mat-card-title\", 1);\n        i0.ɵɵtext(3, \"Bir \\u00C7al\\u0131\\u015Fana Bir Cihaz Ata\");\n        i0.ɵɵelementEnd()();\n        i0.ɵɵelementStart(4, \"form\", 2);\n        i0.ɵɵlistener(\"ngSubmit\", function AssignDeviceComponent_Template_form_ngSubmit_4_listener() {\n          return ctx.createDeviceAssignment(ctx.deviceAssignmentForm.value);\n        });\n        i0.ɵɵelementStart(5, \"mat-card-content\", 3)(6, \"div\", 4)(7, \"div\", 5)(8, \"mat-card\", 6)(9, \"mat-card-header\")(10, \"mat-card-title\");\n        i0.ɵɵtext(11, \"Cihaz Listesi\");\n        i0.ɵɵelementEnd()();\n        i0.ɵɵelementStart(12, \"mat-card-content\", 3)(13, \"mat-form-field\", 7)(14, \"mat-label\");\n        i0.ɵɵtext(15, \"Kategori\");\n        i0.ɵɵelementEnd();\n        i0.ɵɵelementStart(16, \"mat-select\", 8)(17, \"mat-option\", 9);\n        i0.ɵɵtext(18, \"T\\u00FCm Kategoriler\");\n        i0.ɵɵelementEnd();\n        i0.ɵɵtemplate(19, AssignDeviceComponent_mat_option_19_Template, 2, 2, \"mat-option\", 10);\n        i0.ɵɵelementEnd()();\n        i0.ɵɵelementStart(20, \"mat-form-field\", 7)(21, \"mat-label\");\n        i0.ɵɵtext(22, \"Marka\");\n        i0.ɵɵelementEnd();\n        i0.ɵɵelementStart(23, \"mat-select\", 11)(24, \"mat-option\", 9);\n        i0.ɵɵtext(25, \"T\\u00FCm Markalar\");\n        i0.ɵɵelementEnd();\n        i0.ɵɵtemplate(26, AssignDeviceComponent_mat_option_26_Template, 2, 2, \"mat-option\", 10);\n        i0.ɵɵelementEnd()();\n        i0.ɵɵelementStart(27, \"mat-form-field\", 12)(28, \"mat-select\", 13);\n        i0.ɵɵtemplate(29, AssignDeviceComponent_mat_option_29_Template, 2, 4, \"mat-option\", 10);\n        i0.ɵɵelementEnd();\n        i0.ɵɵtemplate(30, AssignDeviceComponent_mat_error_30_Template, 2, 0, \"mat-error\", 14);\n        i0.ɵɵelementEnd()()()();\n        i0.ɵɵelementStart(31, \"div\", 5)(32, \"mat-card\", 6)(33, \"mat-card-header\")(34, \"mat-card-title\");\n        i0.ɵɵtext(35, \"Personel Listesi\");\n        i0.ɵɵelementEnd()();\n        i0.ɵɵelementStart(36, \"mat-card-content\", 3)(37, \"mat-form-field\", 12)(38, \"mat-label\");\n        i0.ɵɵtext(39, \"Personal Ara\");\n        i0.ɵɵelementEnd();\n        i0.ɵɵelementStart(40, \"input\", 15);\n        i0.ɵɵlistener(\"input\", function AssignDeviceComponent_Template_input_input_40_listener($event) {\n          return ctx.onEmployeeSearch($event.target.value);\n        });\n        i0.ɵɵelementEnd()();\n        i0.ɵɵelementStart(41, \"mat-form-field\", 12)(42, \"mat-select\", 16);\n        i0.ɵɵtemplate(43, AssignDeviceComponent_mat_option_43_Template, 2, 4, \"mat-option\", 10);\n        i0.ɵɵelementEnd();\n        i0.ɵɵtemplate(44, AssignDeviceComponent_mat_error_44_Template, 2, 0, \"mat-error\", 14);\n        i0.ɵɵelementEnd()()()()()();\n        i0.ɵɵelementStart(45, \"mat-card-actions\")(46, \"button\", 17);\n        i0.ɵɵtext(47, \"Cihaz Ata\");\n        i0.ɵɵelementEnd()()()();\n      }\n      if (rf & 2) {\n        i0.ɵɵadvance(4);\n        i0.ɵɵproperty(\"formGroup\", ctx.deviceAssignmentForm);\n        i0.ɵɵadvance(15);\n        i0.ɵɵproperty(\"ngForOf\", ctx.categories);\n        i0.ɵɵadvance(7);\n        i0.ɵɵproperty(\"ngForOf\", ctx.brands);\n        i0.ɵɵadvance(3);\n        i0.ɵɵproperty(\"ngForOf\", ctx.filteredDevices);\n        i0.ɵɵadvance();\n        i0.ɵɵproperty(\"ngIf\", ctx.hasError(\"deviceId\", \"required\"));\n        i0.ɵɵadvance(13);\n        i0.ɵɵproperty(\"ngForOf\", ctx.filteredEmployees);\n        i0.ɵɵadvance();\n        i0.ɵɵproperty(\"ngIf\", ctx.hasError(\"employeeId\", \"required\"));\n        i0.ɵɵadvance(2);\n        i0.ɵɵproperty(\"disabled\", !ctx.deviceAssignmentForm.valid);\n      }\n    },\n    dependencies: [i6.NgForOf, i6.NgIf, i7.MatOption, i8.MatFormField, i8.MatLabel, i8.MatError, i9.MatInput, i10.MatSelect, i11.MatCard, i11.MatCardActions, i11.MatCardContent, i11.MatCardHeader, i11.MatCardTitle, i12.MatButton, i5.ɵNgNoValidate, i5.NgControlStatus, i5.NgControlStatusGroup, i5.FormGroupDirective, i5.FormControlName],\n    styles: [\"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZVJvb3QiOiIifQ== */\"]\n  });\n}","map":{"version":3,"names":["Validators","SuccessModalComponent","i0","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵproperty","category_r1","name","ɵɵadvance","ɵɵtextInterpolate1","brand_r2","device_r3","id","ɵɵtextInterpolate3","brandName","categoryName","employee_r4","firstName","lastName","employeeNumber","AssignDeviceComponent","constructor","repository","errorHandler","router","modal","fb","errorMessage","devices","filteredDevices","employees","filteredEmployees","categories","brands","ngOnInit","deviceAssignmentForm","group","deviceId","required","employeeId","category","brand","loadDropdownData","get","valueChanges","subscribe","applyFilter","getData","res","err","handleError","validateControl","controlName","invalid","touched","hasError","errorName","createDeviceAssignment","deviceAssignmentFormValue","valid","executeDeviceAssignmentCreation","deviceAssignment","console","log","apiUrl","create","next","createdDeviceAssignment","config","initialState","modalHeaderText","modalBodyText","okButtonText","bsModalRef","show","content","redirectOnOk","redirectToDeviceAssignmentList","error","selectedCategory","value","selectedBrand","filter","device","matchesCategory","matchesBrand","onEmployeeSearch","searchTerm","employee","toLowerCase","includes","_","ɵɵdirectiveInject","i1","RepositoryService","i2","RepositoryErrorHandlerService","i3","Router","i4","BsModalService","i5","FormBuilder","_2","selectors","decls","vars","consts","template","AssignDeviceComponent_Template","rf","ctx","ɵɵlistener","AssignDeviceComponent_Template_form_ngSubmit_4_listener","ɵɵtemplate","AssignDeviceComponent_mat_option_19_Template","AssignDeviceComponent_mat_option_26_Template","AssignDeviceComponent_mat_option_29_Template","AssignDeviceComponent_mat_error_30_Template","AssignDeviceComponent_Template_input_input_40_listener","$event","target","AssignDeviceComponent_mat_option_43_Template","AssignDeviceComponent_mat_error_44_Template"],"sources":["C:\\Users\\Cem\\Desktop\\InventryUI-Client\\src\\app\\pages\\ui-components\\assign\\assign-device\\assign-device.component.ts","C:\\Users\\Cem\\Desktop\\InventryUI-Client\\src\\app\\pages\\ui-components\\assign\\assign-device\\assign-device.component.html"],"sourcesContent":["import { Component, OnInit } from '@angular/core';\nimport { FormGroup, FormControl, Validators, FormBuilder } from '@angular/forms';\nimport { Router } 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-assign-device',\n  templateUrl: './assign-device.component.html',\n  styleUrls: ['./assign-device.component.css']\n})\nexport class AssignDeviceComponent implements OnInit {\n\n  public deviceAssignmentForm: FormGroup | any;\n  public errorMessage: string = '';\n  public bsModalRef?: BsModalRef;\n  public devices: any[] = [];\n  public filteredDevices: any[] = [];\n  public employees: any[] = [];\n  public filteredEmployees: any[] = [];\n  public categories: any[] = [];\n  public brands: any[] = [];\n\n  constructor(\n    private repository: RepositoryService,\n    private errorHandler: RepositoryErrorHandlerService,\n    private router: Router,\n    private modal: BsModalService,\n    private fb: FormBuilder\n  ) { }\n\n  ngOnInit(): void {\n    this.deviceAssignmentForm = this.fb.group({\n      deviceId: ['', Validators.required],\n      employeeId: ['', Validators.required],\n      category: [''],\n      brand: ['']\n    });\n\n    this.loadDropdownData();\n\n    this.deviceAssignmentForm.get('category').valueChanges.subscribe(() => {\n      this.applyFilter();\n    });\n\n    this.deviceAssignmentForm.get('brand').valueChanges.subscribe(() => {\n      this.applyFilter();\n    });\n  }\n\n  private loadDropdownData() {\n    this.repository.getData('api/devices/available')\n      .subscribe(res => {\n        this.devices = res as any[];\n        this.filteredDevices = this.devices;\n      }, err => this.errorHandler.handleError(err));\n\n    this.repository.getData('api/employees')\n      .subscribe(res => {\n        this.employees = res as any[];\n        this.filteredEmployees = this.employees;\n      }, err => this.errorHandler.handleError(err));\n      \n\n    this.repository.getData('api/categories')\n      .subscribe(res => this.categories = res as any[], err => this.errorHandler.handleError(err));\n\n    this.repository.getData('api/brands')\n      .subscribe(res => this.brands = res as any[], err => this.errorHandler.handleError(err));\n  }\n\n  validateControl(controlName: string): boolean {\n    return this.deviceAssignmentForm.get(controlName).invalid && this.deviceAssignmentForm.get(controlName).touched;\n  }\n\n  hasError(controlName: string, errorName: string): boolean {\n    return this.deviceAssignmentForm.get(controlName).hasError(errorName);\n  }\n\n  createDeviceAssignment(deviceAssignmentFormValue: any): void {\n    if (this.deviceAssignmentForm.valid) {\n      this.executeDeviceAssignmentCreation(deviceAssignmentFormValue);\n    }\n  }\n\n  private executeDeviceAssignmentCreation(deviceAssignmentFormValue: any): void {\n    const deviceAssignment = {\n      deviceId: deviceAssignmentFormValue.deviceId,\n      employeeId: deviceAssignmentFormValue.employeeId\n    };\n\n    console.log(deviceAssignment);\n    const apiUrl = 'api/deviceassignments/employee';\n    this.repository.create(apiUrl, deviceAssignment)\n      .subscribe({\n        next: (createdDeviceAssignment: any) => {\n          const config: ModalOptions = {\n            initialState: {\n              modalHeaderText: 'Success Message',\n              modalBodyText: `Device Assigned successfully`,\n              okButtonText: 'OK'\n            }\n          };\n          this.bsModalRef = this.modal.show(SuccessModalComponent, config);\n          this.bsModalRef.content.redirectOnOk.subscribe(() => this.redirectToDeviceAssignmentList());\n        },\n        error: (err: any) => {\n          this.errorHandler.handleError(err);\n          this.errorMessage = this.errorHandler.errorMessage;\n        }\n      });\n  }\n\n\n  redirectToDeviceAssignmentList(): void {\n    this.loadDropdownData();\n    this.deviceAssignmentForm.get('category').valueChanges.subscribe(() => {\n      this.applyFilter();\n    });\n\n    this.deviceAssignmentForm.get('brand').valueChanges.subscribe(() => {\n      this.applyFilter();\n    });\n  }\n\n  private applyFilter() {\n    const selectedCategory = this.deviceAssignmentForm.get('category').value;\n    const selectedBrand = this.deviceAssignmentForm.get('brand').value;\n\n    this.filteredDevices = this.devices.filter(device => {\n      const matchesCategory = !selectedCategory || device.categoryName === selectedCategory;\n      const matchesBrand = !selectedBrand || device.brandName === selectedBrand;\n\n      return matchesCategory && matchesBrand;\n    });\n  }\n\n  onEmployeeSearch(searchTerm: string) {\n    if (!searchTerm) {\n      this.filteredEmployees = this.employees;\n    } else {\n      this.filteredEmployees = this.employees.filter(employee =>\n        employee.firstName.toLowerCase().includes(searchTerm.toLowerCase())\n      );\n    }\n  }\n\n}\n","<mat-card class=\"cardWithShadow theme-card\">\n  <mat-card-header>\n    <mat-card-title class=\"m-b-0\">Bir Çalışana Bir Cihaz Ata</mat-card-title>\n  </mat-card-header>\n  <form [formGroup]=\"deviceAssignmentForm\" autocomplete=\"off\" novalidate\n    (ngSubmit)=\"createDeviceAssignment(deviceAssignmentForm.value)\">\n    <mat-card-content class=\"b-t-1\">\n      <div class=\"row\">\n        <div class=\"col-lg-6\">\n          <mat-card class=\"b-1 shadow-none\">\n            <mat-card-header>\n              <mat-card-title>Cihaz Listesi</mat-card-title>\n            </mat-card-header>\n            <mat-card-content class=\"b-t-1\">\n              <!-- Category Dropdown -->\n              <mat-form-field class=\"w-100 col-sm-6 col-lg-6\" appearance=\"outline\">\n                <mat-label>Kategori</mat-label>\n                <mat-select formControlName=\"category\">\n                  <mat-option value=\"\">Tüm Kategoriler</mat-option>\n                  <mat-option *ngFor=\"let category of categories\" [value]=\"category.name\">\n                    {{ category.name }}\n                  </mat-option>\n                </mat-select>\n              </mat-form-field>\n\n              <!-- Brand Dropdown -->\n              <mat-form-field class=\"w-100 col-sm-6 col-lg-6\" appearance=\"outline\">\n                <mat-label>Marka</mat-label>\n                <mat-select formControlName=\"brand\">\n                  <mat-option value=\"\">Tüm Markalar</mat-option>\n                  <mat-option *ngFor=\"let brand of brands\" [value]=\"brand.name\">\n                    {{ brand.name }}\n                  </mat-option>\n                </mat-select>\n              </mat-form-field>\n\n              <!-- Device Dropdown -->\n              <mat-form-field appearance=\"outline\" class=\"w-100\" color=\"primary\">\n                <mat-select placeholder=\"Cihaz Seç\" formControlName=\"deviceId\" id=\"deviceId\">\n                  <mat-option *ngFor=\"let device of filteredDevices\" [value]=\"device.id\">\n                    {{ device.name }} ,  {{ device.brandName }}  , {{ device.categoryName }}\n                  </mat-option>\n                </mat-select>\n                <mat-error *ngIf=\"hasError('deviceId', 'required')\">Cihaz Gerekli</mat-error>\n              </mat-form-field>\n            </mat-card-content>\n          </mat-card>\n        </div>\n\n        <div class=\"col-lg-6\">\n\n          <mat-card class=\"b-1 shadow-none\">\n            <mat-card-header>\n              <mat-card-title>Personel Listesi</mat-card-title>\n            </mat-card-header>\n            <mat-card-content class=\"b-t-1\">\n              <!-- Employee Search Field -->\n              <mat-form-field appearance=\"outline\" class=\"w-100\" color=\"primary\">\n                <mat-label>Personal Ara</mat-label>\n                <input type=\"text\" matInput (input)=\"onEmployeeSearch($any($event).target.value)\"\n                  placeholder=\"Personal Ara\">\n              </mat-form-field>\n\n              <!-- Employee Dropdown -->\n              <mat-form-field appearance=\"outline\" class=\"w-100\" color=\"primary\">\n                <mat-select placeholder=\"Select Employee\" formControlName=\"employeeId\" id=\"employeeId\">\n                  <mat-option *ngFor=\"let employee of filteredEmployees\" [value]=\"employee.id\">\n                    {{ employee.firstName }} {{ employee.lastName }} ( Emp# :{{ employee.employeeNumber }} )\n                  </mat-option>\n                </mat-select>\n                <mat-error *ngIf=\"hasError('employeeId', 'required')\">Personel gerekli</mat-error>\n              </mat-form-field>\n            </mat-card-content>\n          </mat-card>\n        </div>\n      </div>\n    </mat-card-content>\n    <mat-card-actions>\n      <button mat-flat-button color=\"primary\" class=\"w-100 action-button\"\n        [disabled]=\"!deviceAssignmentForm.valid\">Cihaz Ata</button>\n    </mat-card-actions>\n  </form>\n</mat-card>\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}