{"version":3,"file":"vineforce-modules-learning-management-assignment-detail.component-BzFyGVQj.mjs","sources":["../../../projects/learning-management/src/lib/assignments/assignment/components/assignment-detail.component.ts","../../../projects/learning-management/src/lib/assignments/assignment/components/assignment-detail.component.html"],"sourcesContent":["import { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule, DateAdapter, TimeAdapter } from '@abp/ng.theme.shared';\nimport { CommercialUiModule } from '@volo/abp.commercial.ng.ui';\nimport { ChangeDetectionStrategy, Component, inject, OnInit } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport {\n  NgbNavModule,\n  NgbDatepickerModule,\n  NgbTimepickerModule,\n  NgbDateAdapter,\n  NgbTimeAdapter,\n  NgbDateStruct,\n} from '@ng-bootstrap/ng-bootstrap';\nimport { AssignmentDetailViewService } from '../services/assignment-detail.service';\n\n@Component({\n  selector: 'lib-assignment-detail-modal',\n  changeDetection: ChangeDetectionStrategy.Default,\n  imports: [\n    CoreModule,\n    ThemeSharedModule,\n    CommercialUiModule,\n    ReactiveFormsModule,\n    NgbDatepickerModule,\n    NgbTimepickerModule,\n    NgbNavModule,\n  ],\n  providers: [\n    { provide: NgbDateAdapter, useClass: DateAdapter },\n    { provide: NgbTimeAdapter, useClass: TimeAdapter },\n  ],\n  templateUrl: './assignment-detail.component.html',\n  styles: [],\n})\nexport class AssignmentDetailModalComponent  implements OnInit {\n  public readonly service = inject(AssignmentDetailViewService);\n  ngOnInit(): void {\n    this.setMinDate();\n  }\n  minDate: NgbDateStruct | null = null;\n\n  setMinDate(): void {\n    const isEditMode = !!this.service.selected?.assignment?.id;\n\n    if (!isEditMode) {\n      const today = new Date();\n      this.minDate = {\n        year: today.getFullYear(),\n        month: today.getMonth() + 1,\n        day: today.getDate(),\n      };\n    } else {\n      this.minDate = null;\n    }\n  }\n\n}\n\n","<abp-modal [busy]=\"service.isBusy\" [(visible)]=\"service.isVisible\">\n  <ng-template #abpHeader>\n    <!--<suite-custom-code-block-0>-->\n    <!--</suite-custom-code-block-0>-->\n    <h3>\n      <!--<suite-custom-code-block-1>-->\n      <!--</suite-custom-code-block-1>-->\n      {{\n        (service.selected ? 'AbpUi::Edit' : 'LearningManagement::NewAssignment') | abpLocalization\n      }}\n      <!--<suite-custom-code-block-2>-->\n      <!--</suite-custom-code-block-2>-->\n    </h3>\n    <!--<suite-custom-code-block-3>-->\n    <!--</suite-custom-code-block-3>-->\n  </ng-template>\n\n  <ng-template #abpBody>\n    <!--<suite-custom-code-block-4>-->\n    <!--</suite-custom-code-block-4>-->\n    <form\n      [formGroup]=\"service.form\"\n      id=\"assignment\"\n      (ngSubmit)=\"service.submitForm()\"\n      validateOnSubmit\n    >\n      <!--<suite-custom-code-block-5>-->\n      <!--</suite-custom-code-block-5>-->\n\n      <ul ngbNav #nav=\"ngbNav\" class=\"nav-tabs\">\n        <li ngbNavItem>\n          <a ngbNavLink>\n            {{ 'LearningManagement::Assignment' | abpLocalization }}\n          </a>\n          <ng-template ngbNavContent>\n            <div class=\"mt-2 fade-in-top\">\n              <div class=\"mb-3\">\n                <label class=\"form-label\" for=\"assignment-title\">\n                  {{ 'LearningManagement::Title' | abpLocalization }} *\n                </label>\n\n                <input\n                  id=\"assignment-title\"\n                  formControlName=\"title\"\n                  class=\"form-control\"\n                  maxlength=\"100\"\n                  autofocus\n                />\n              </div>\n\n              <div class=\"mb-3\">\n                <label class=\"form-label\" for=\"assignment-description\">\n                  {{ 'LearningManagement::Description' | abpLocalization }}\n                </label>\n\n                <textarea\n                  id=\"assignment-description\"\n                  formControlName=\"description\"\n                  class=\"form-control\"\n                >\n                </textarea>\n              </div>\n\n              <div class=\"mb-3\">\n                <label class=\"form-label\" for=\"assignment-due-date\">\n                  {{ 'LearningManagement::DueDate' | abpLocalization }} *\n                </label>\n\n                <div class=\"input-group\" validationTarget>\n                  <input\n                    readonly\n                    id=\"assignment-due-date\"\n                    formControlName=\"dueDate\"\n                    class=\"form-control\"\n                     [minDate]=\"minDate\"\n                    ngbDatepicker\n                    #dueDateInput\n                    #dueDateDatepicker=\"ngbDatepicker\"\n                    (click)=\"dueDateDatepicker.open()\"\n                    (keyup.space)=\"dueDateDatepicker.open()\"\n                  />\n                  @if (dueDateInput.value) {\n                    <div class=\"input-group-append\">\n                      <button\n                        class=\"btn btn-link px-2\"\n                        type=\"button\"\n                        [title]=\"'AbpUi::Clear' | abpLocalization\"\n                        (click)=\"\n                          dueDateDatepicker.writeValue(null);\n                          dueDateDatepicker.manualDateChange(null, true)\n                        \"\n                      >\n                        <i class=\"fa fa-times\" aria-hidden=\"true\"></i>\n                      </button>\n                    </div>\n                  }\n                </div>\n              </div>\n\n              <div class=\"mb-3\">\n                <label class=\"form-label\" for=\"assignment-course-id\">\n                  {{ 'LearningManagement::Course' | abpLocalization }}\n                </label>\n                <abp-lookup-select\n                  cid=\"assignment-course-id\"\n                  formControlName=\"courseId\"\n                  [getFn]=\"service.getCourseLookup\"\n                ></abp-lookup-select>\n              </div>\n            </div>\n          </ng-template>\n        </li>\n      </ul>\n      <div [ngbNavOutlet]=\"nav\"></div>\n\n      <!--<suite-custom-code-block-6>-->\n      <!--</suite-custom-code-block-6>-->\n    </form>\n  </ng-template>\n\n  <ng-template #abpFooter>\n    <!--<suite-custom-code-block-7>-->\n    <!--</suite-custom-code-block-7>-->\n    <button type=\"button\" class=\"btn btn-secondary\" abpClose>\n      {{ 'AbpUi::Cancel' | abpLocalization }}\n    </button>\n    <!--<suite-custom-code-block-8>-->\n    <!--</suite-custom-code-block-8>-->\n    <abp-button iconClass=\"fa fa-check\" buttonType=\"submit\" formName=\"assignment\">\n      {{ 'AbpUi::Save' | abpLocalization }}\n    </abp-button>\n    <!--<suite-custom-code-block-9>-->\n    <!--</suite-custom-code-block-9>-->\n  </ng-template>\n</abp-modal>\n"],"names":["i6"],"mappings":"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"}