{"version":3,"file":"vineforce-modules-asset-management-system-maintenance-child-detail.component-DQ34FKfE.mjs","sources":["../../../projects/asset-management-system/src/lib/assets/maintenance/components/maintenance-child-detail.component.ts","../../../projects/asset-management-system/src/lib/assets/maintenance/components/maintenance-child-detail.component.html"],"sourcesContent":["import { CoreModule } from '@abp/ng.core';\r\nimport { ThemeSharedModule, DateAdapter, TimeAdapter } from '@abp/ng.theme.shared';\r\nimport { CommercialUiModule } from '@volo/abp.commercial.ng.ui';\r\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\nimport {\r\n  NgbNavModule,\r\n  NgbDatepickerModule,\r\n  NgbTimepickerModule,\r\n  NgbDateAdapter,\r\n  NgbTimeAdapter,\r\n  NgbDateStruct,\r\n} from '@ng-bootstrap/ng-bootstrap';\r\nimport { MaintenanceDetailViewService } from '../services/maintenance-child-detail.service';\r\nimport { AssetService } from '@proxy/assets';\r\n\r\n@Component({\r\n  selector: 'lib-maintenance-detail-modal',\r\n  imports: [\r\n    CoreModule,\r\n    ThemeSharedModule,\r\n    CommercialUiModule,\r\n    ReactiveFormsModule,\r\n    NgbDatepickerModule,\r\n    NgbTimepickerModule,\r\n    NgbNavModule,\r\n  ],\r\n  changeDetection: ChangeDetectionStrategy.OnPush,\r\n  providers: [\r\n    { provide: NgbDateAdapter, useClass: DateAdapter },\r\n    { provide: NgbTimeAdapter, useClass: TimeAdapter },\r\n  ],\r\n  templateUrl: './maintenance-child-detail.component.html',\r\n})\r\nexport class MaintenanceDetailModalComponent {\r\n  public readonly service = inject(MaintenanceDetailViewService);\r\n  protected readonly assetService = inject(AssetService);\r\n  ngOnInit(): void {\r\n    this.assetService.get(this.service.assetId).subscribe(asset => {\r\n      this.setMinDate(asset.assignedDate);\r\n    });\r\n  }\r\n  minDate: NgbDateStruct | null = null;\r\n  setMinDate(assignedDate?: string): void {\r\n    if (assignedDate) {\r\n      const date = new Date(assignedDate);\r\n      this.minDate = {\r\n        year: date.getFullYear(),\r\n        month: date.getMonth() + 1,\r\n        day: date.getDate(),\r\n      };\r\n    } else {\r\n      const today = new Date();\r\n      this.minDate = {\r\n        year: today.getFullYear(),\r\n        month: today.getMonth() + 1,\r\n        day: today.getDate(),\r\n      };\r\n    }\r\n  }\r\n}\r\n","<abp-modal [busy]=\"service.isBusy\" [(visible)]=\"service.isVisible\" class=\"modal-lg\">\r\n  <ng-template #abpHeader>\r\n    <h3 class=\"mb-0\">\r\n      {{ (service.selected ? 'AbpUi::Edit' : 'AssetManagementSystem::NewMaintenance') | abpLocalization }}\r\n    </h3>\r\n  </ng-template>\r\n\r\n  <ng-template #abpBody>\r\n    <form [formGroup]=\"service.form\" id=\"maintenance\" (ngSubmit)=\"service.submitForm()\" validateOnSubmit>\r\n      <ul ngbNav #nav=\"ngbNav\" class=\"nav-tabs\">\r\n        <li ngbNavItem>\r\n          <a ngbNavLink>\r\n            {{ 'AssetManagementSystem::Maintenance' | abpLocalization }}\r\n          </a>\r\n          <ng-template ngbNavContent>\r\n            <div class=\"mt-3 fade-in-top\">\r\n\r\n              <!-- Maintenance Info -->\r\n              <h5 class=\"mb-3 border-bottom pb-2\">Maintenance Details</h5>\r\n              <div class=\"row g-3\">\r\n                <div class=\"col-md-6\">\r\n                  <label class=\"form-label\">{{ 'AssetManagementSystem::MaintenanceDate' | abpLocalization }} *</label>\r\n                  <div class=\"input-group\">\r\n                    <input readonly formControlName=\"maintenanceDate\" class=\"form-control\" ngbDatepicker #md=\"ngbDatepicker\"\r\n                           (click)=\"md.open()\" (keyup.space)=\"md.open()\" [minDate]=\"minDate\" autofocus />\r\n                    <button *ngIf=\"service.form.value.maintenanceDate\" class=\"btn btn-outline-secondary\" type=\"button\"\r\n                            (click)=\"md.writeValue(null); md.manualDateChange(null, true)\">\r\n                      <i class=\"fa fa-times\"></i>\r\n                    </button>\r\n                  </div>\r\n                </div>\r\n\r\n                <div class=\"col-md-6\">\r\n                  <label class=\"form-label\">{{ 'AssetManagementSystem::MaintenanceType' | abpLocalization }} *</label>\r\n                  <select formControlName=\"maintenanceType\" class=\"form-select\">\r\n                    <option [ngValue]=\"null\"></option>\r\n                    <option *ngFor=\"let option of service.maintenanceTypeOptions; trackBy: service.track.by('key')\"\r\n                            [ngValue]=\"option.value\">\r\n                      {{ 'AssetManagementSystem::Enum:MaintenanceType.' + option.value | abpLocalization }}\r\n                    </option>\r\n                  </select>\r\n                </div>\r\n\r\n                <div class=\"col-12\">\r\n                  <label class=\"form-label\">{{ 'AssetManagementSystem::Description' | abpLocalization }}</label>\r\n                  <textarea formControlName=\"description\" class=\"form-control\"></textarea>\r\n                </div>\r\n              </div>\r\n\r\n              <!-- Cost & Dates -->\r\n              <h5 class=\"mt-4 mb-3 border-bottom pb-2\">Cost & Schedule</h5>\r\n              <div class=\"row g-3\">\r\n                <div class=\"col-md-6\">\r\n                  <label class=\"form-label\">{{ 'AssetManagementSystem::Cost' | abpLocalization }} *</label>\r\n                  <input type=\"number\" formControlName=\"cost\" class=\"form-control text-end\" min=\"0\"\r\n                         step=\"0.01\" placeholder=\"0.00\" (blur)=\"serviceDetail.formatCost()\" />\r\n                </div>\r\n                <div class=\"col-md-6\">\r\n                  <label class=\"form-label\">{{ 'AssetManagementSystem::NextDueDate' | abpLocalization }}</label>\r\n                  <div class=\"input-group\">\r\n                    <input readonly formControlName=\"nextDueDate\" class=\"form-control\" ngbDatepicker #nd=\"ngbDatepicker\" [minDate]=\"minDate\"\r\n                           (click)=\"nd.open()\" (keyup.space)=\"nd.open()\" />\r\n                    <button *ngIf=\"service.form.value.nextDueDate\" class=\"btn btn-outline-secondary\" type=\"button\"\r\n                            (click)=\"nd.writeValue(null); nd.manualDateChange(null, true)\">\r\n                      <i class=\"fa fa-times\"></i>\r\n                    </button>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n\r\n              <!-- Lookup Fields -->\r\n              <h5 class=\"mt-4 mb-3 border-bottom pb-2\">Lookups</h5>\r\n              <div class=\"row g-3\">\r\n                <div class=\"col-md-6\">\r\n                  <label class=\"form-label\">{{ 'AssetManagementSystem::Vendor' | abpLocalization }}</label>\r\n                  <abp-lookup-select formControlName=\"vendorId\" [getFn]=\"service.getVendorLookup\"></abp-lookup-select>\r\n                </div>\r\n                <div class=\"col-md-6\">\r\n                  <label class=\"form-label\">{{ 'AssetManagementSystem::Status' | abpLocalization }}</label>\r\n                  <abp-lookup-select formControlName=\"statusId\" [getFn]=\"service.getStatusLookup\"></abp-lookup-select>\r\n                </div>\r\n              </div>\r\n\r\n            </div>\r\n          </ng-template>\r\n        </li>\r\n      </ul>\r\n      <div [ngbNavOutlet]=\"nav\"></div>\r\n    </form>\r\n  </ng-template>\r\n\r\n  <ng-template #abpFooter>\r\n    <button type=\"button\" class=\"btn btn-secondary\" abpClose>\r\n      {{ 'AbpUi::Cancel' | abpLocalization }}\r\n    </button>\r\n    <abp-button iconClass=\"fa fa-check\" buttonType=\"submit\" formName=\"maintenance\">\r\n      {{ 'AbpUi::Save' | abpLocalization }}\r\n    </abp-button>\r\n  </ng-template>\r\n</abp-modal>\r\n"],"names":["i6","i7"],"mappings":"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"}