penambahan UI scheduler list
This commit is contained in:
		
							parent
							
								
									9654cf92e8
								
							
						
					
					
						commit
						b1ee612602
					
				@ -12,6 +12,23 @@
 | 
				
			|||||||
<div class="modal-body" style="background-color: #fbfbfb !important">
 | 
					<div class="modal-body" style="background-color: #fbfbfb !important">
 | 
				
			||||||
  <form [formGroup]="myForm">
 | 
					  <form [formGroup]="myForm">
 | 
				
			||||||
    <div class="form-row">
 | 
					    <div class="form-row">
 | 
				
			||||||
 | 
					      <div class="form-group col-md-12">
 | 
				
			||||||
 | 
					        <label for="name" style="color: #242222">Name:</label>
 | 
				
			||||||
 | 
					        <input
 | 
				
			||||||
 | 
					          type="text"
 | 
				
			||||||
 | 
					          class="form-control"
 | 
				
			||||||
 | 
					          id="name"
 | 
				
			||||||
 | 
					          formControlName="name"
 | 
				
			||||||
 | 
					          maxlength="50"
 | 
				
			||||||
 | 
					        />
 | 
				
			||||||
 | 
					        <div
 | 
				
			||||||
 | 
					          *ngIf="myForm.get('name').touched && myForm.get('name').invalid"
 | 
				
			||||||
 | 
					          class="text-danger"
 | 
				
			||||||
 | 
					        >
 | 
				
			||||||
 | 
					          Name is required.
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					      </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      <div class="form-group col-md-12">
 | 
					      <div class="form-group col-md-12">
 | 
				
			||||||
        <label for="timeset" style="color: #242222">Time</label>
 | 
					        <label for="timeset" style="color: #242222">Time</label>
 | 
				
			||||||
        <input
 | 
					        <input
 | 
				
			||||||
@ -58,7 +75,9 @@
 | 
				
			|||||||
              [formControlName]="day.value"
 | 
					              [formControlName]="day.value"
 | 
				
			||||||
              (change)="onDayChange(day.value, $event.target.checked)"
 | 
					              (change)="onDayChange(day.value, $event.target.checked)"
 | 
				
			||||||
            />
 | 
					            />
 | 
				
			||||||
            <label class="form-check-label" style="color: #242222">{{ day.label }}</label>
 | 
					            <label class="form-check-label" style="color: #242222">{{
 | 
				
			||||||
 | 
					              day.label
 | 
				
			||||||
 | 
					            }}</label>
 | 
				
			||||||
          </div>
 | 
					          </div>
 | 
				
			||||||
        </div>
 | 
					        </div>
 | 
				
			||||||
      </div>
 | 
					      </div>
 | 
				
			||||||
@ -70,7 +89,7 @@
 | 
				
			|||||||
          <input
 | 
					          <input
 | 
				
			||||||
            type="checkbox"
 | 
					            type="checkbox"
 | 
				
			||||||
            class="form-check-input"
 | 
					            class="form-check-input"
 | 
				
			||||||
            formControlName="repeat"
 | 
					            formControlName="recurring"
 | 
				
			||||||
          />
 | 
					          />
 | 
				
			||||||
          <label class="form-check-label" style="color: #242222">Yes</label>
 | 
					          <label class="form-check-label" style="color: #242222">Yes</label>
 | 
				
			||||||
        </div>
 | 
					        </div>
 | 
				
			||||||
 | 
				
			|||||||
@ -1,4 +1,4 @@
 | 
				
			|||||||
import { Component } from "@angular/core";
 | 
					import { Component, Input } from "@angular/core";
 | 
				
			||||||
import { FormBuilder, FormControl, FormGroup, Validators } from "@angular/forms";
 | 
					import { FormBuilder, FormControl, FormGroup, Validators } from "@angular/forms";
 | 
				
			||||||
import { NgbActiveModal } from "@ng-bootstrap/ng-bootstrap";
 | 
					import { NgbActiveModal } from "@ng-bootstrap/ng-bootstrap";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -8,6 +8,7 @@ import { NgbActiveModal } from "@ng-bootstrap/ng-bootstrap";
 | 
				
			|||||||
  styleUrls: ["./control-scheduler.component.css"],
 | 
					  styleUrls: ["./control-scheduler.component.css"],
 | 
				
			||||||
})
 | 
					})
 | 
				
			||||||
export class ControlSchedulerComponent {
 | 
					export class ControlSchedulerComponent {
 | 
				
			||||||
 | 
					  @Input() device: any;
 | 
				
			||||||
  labelModal: string = "";
 | 
					  labelModal: string = "";
 | 
				
			||||||
  myForm: FormGroup;
 | 
					  myForm: FormGroup;
 | 
				
			||||||
  dataSwitch = [
 | 
					  dataSwitch = [
 | 
				
			||||||
@ -39,13 +40,17 @@ export class ControlSchedulerComponent {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  ngOnInit() {
 | 
					  ngOnInit() {
 | 
				
			||||||
    this.createForm()
 | 
					    this.createForm()
 | 
				
			||||||
 | 
					    console.log(this.device);
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  createForm() {
 | 
					  createForm() {
 | 
				
			||||||
    const controls = {
 | 
					    const controls = {
 | 
				
			||||||
 | 
					      name:["", Validators.required],
 | 
				
			||||||
      timeset: ["", Validators.required],
 | 
					      timeset: ["", Validators.required],
 | 
				
			||||||
      switch: [false],
 | 
					      switch: [false],
 | 
				
			||||||
      repeat: [false], // Default value for repeat checkbox
 | 
					      recurring: [false], // Default value for repeat checkbox
 | 
				
			||||||
 | 
					      device_id: this.device.id
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // Initialize checkboxes for each day of the week
 | 
					    // Initialize checkboxes for each day of the week
 | 
				
			||||||
@ -74,10 +79,12 @@ export class ControlSchedulerComponent {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    // Construct the final output
 | 
					    // Construct the final output
 | 
				
			||||||
    const result = {
 | 
					    const result = {
 | 
				
			||||||
 | 
					      name: formValues.name,
 | 
				
			||||||
      timeset: formValues.timeset,
 | 
					      timeset: formValues.timeset,
 | 
				
			||||||
      switch: formValues.switch,
 | 
					      switch: formValues.switch,
 | 
				
			||||||
      repeat: formValues.repeat,
 | 
					      recurring: formValues.recurring,
 | 
				
			||||||
      day: selectedDays
 | 
					      device_id: formValues.device_id,
 | 
				
			||||||
 | 
					      days: selectedDays
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    console.log("Form Result: ", result);
 | 
					    console.log("Form Result: ", result);
 | 
				
			||||||
 | 
				
			|||||||
@ -174,28 +174,31 @@ export class DeviceControlComponent {
 | 
				
			|||||||
    });
 | 
					    });
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  schedulerItem(item) {
 | 
					  schedulerItem(row) {
 | 
				
			||||||
    console.log(item);
 | 
					    this.router.navigate(["/device/scheduler", row.id]);
 | 
				
			||||||
    const modalRef = this.modalService.open(ControlSchedulerComponent, {
 | 
					  }
 | 
				
			||||||
      size: "md",
 | 
					 | 
				
			||||||
      backdrop: "static", 
 | 
					 | 
				
			||||||
      keyboard: false, 
 | 
					 | 
				
			||||||
      centered: true
 | 
					 | 
				
			||||||
    });
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    modalRef.componentInstance.mode = "edit";
 | 
					  // schedulerItem(item) {
 | 
				
			||||||
    modalRef.result.then(
 | 
					  //   const modalRef = this.modalService.open(ControlSchedulerComponent, {
 | 
				
			||||||
      (result) => {
 | 
					  //     size: "md",
 | 
				
			||||||
        if (result) {
 | 
					  //     backdrop: "static", 
 | 
				
			||||||
          console.log(result);
 | 
					  //     keyboard: false, 
 | 
				
			||||||
        }
 | 
					  //     centered: true
 | 
				
			||||||
      },
 | 
					  //   });
 | 
				
			||||||
      (reason) => {
 | 
					
 | 
				
			||||||
        console.log(`Dismissed: ${reason}`);
 | 
					  //   modalRef.componentInstance.device = item;
 | 
				
			||||||
      }
 | 
					  //   modalRef.result.then(
 | 
				
			||||||
    );
 | 
					  //     (result) => {
 | 
				
			||||||
    // Handle edit action
 | 
					  //       if (result) {
 | 
				
			||||||
  }
 | 
					  //         console.log(result);
 | 
				
			||||||
 | 
					  //       }
 | 
				
			||||||
 | 
					  //     },
 | 
				
			||||||
 | 
					  //     (reason) => {
 | 
				
			||||||
 | 
					  //       console.log(`Dismissed: ${reason}`);
 | 
				
			||||||
 | 
					  //     }
 | 
				
			||||||
 | 
					  //   );
 | 
				
			||||||
 | 
					  //   // Handle edit action
 | 
				
			||||||
 | 
					  // }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @HostListener('document:click', ['$event'])
 | 
					  @HostListener('document:click', ['$event'])
 | 
				
			||||||
  clickout(event) {
 | 
					  clickout(event) {
 | 
				
			||||||
 | 
				
			|||||||
@ -17,6 +17,7 @@ import { ModalAddEditComponent } from './modal-add-edit/modal-add-edit.component
 | 
				
			|||||||
import { DeviceControlComponent } from './device-control/device-control.component';
 | 
					import { DeviceControlComponent } from './device-control/device-control.component';
 | 
				
			||||||
import { UiSwitchModule } from 'ngx-ui-switch';
 | 
					import { UiSwitchModule } from 'ngx-ui-switch';
 | 
				
			||||||
import { ControlSchedulerComponent } from './control-scheduler/control-scheduler.component';
 | 
					import { ControlSchedulerComponent } from './control-scheduler/control-scheduler.component';
 | 
				
			||||||
 | 
					import { SchedulerListComponent } from './scheduler-list/scheduler-list.component';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -26,7 +27,8 @@ import { ControlSchedulerComponent } from './control-scheduler/control-scheduler
 | 
				
			|||||||
    AddEditDeviceComponent,
 | 
					    AddEditDeviceComponent,
 | 
				
			||||||
    ModalAddEditComponent,
 | 
					    ModalAddEditComponent,
 | 
				
			||||||
    DeviceControlComponent,
 | 
					    DeviceControlComponent,
 | 
				
			||||||
    ControlSchedulerComponent
 | 
					    ControlSchedulerComponent,
 | 
				
			||||||
 | 
					    SchedulerListComponent
 | 
				
			||||||
  ],
 | 
					  ],
 | 
				
			||||||
  imports: [
 | 
					  imports: [
 | 
				
			||||||
    CommonModule,
 | 
					    CommonModule,
 | 
				
			||||||
@ -65,8 +67,15 @@ import { ControlSchedulerComponent } from './control-scheduler/control-scheduler
 | 
				
			|||||||
        path: 'view/:id',
 | 
					        path: 'view/:id',
 | 
				
			||||||
        component: AddEditDeviceComponent,
 | 
					        component: AddEditDeviceComponent,
 | 
				
			||||||
        data: { mode: 'view' } 
 | 
					        data: { mode: 'view' } 
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      {
 | 
				
			||||||
 | 
					        path: 'scheduler/:id',
 | 
				
			||||||
 | 
					        component: SchedulerListComponent,
 | 
				
			||||||
 | 
					        data: { mode: 'scheduler' } 
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    ])
 | 
					    ]),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
  ]
 | 
					  ]
 | 
				
			||||||
})
 | 
					})
 | 
				
			||||||
export class DeviceModule { }
 | 
					export class DeviceModule { }
 | 
				
			||||||
 | 
				
			|||||||
@ -0,0 +1,55 @@
 | 
				
			|||||||
 | 
					.app-content {
 | 
				
			||||||
 | 
					    padding-top: 20px;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  .card {
 | 
				
			||||||
 | 
					    border-radius: 15px;
 | 
				
			||||||
 | 
					    overflow: hidden;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  .card-header {
 | 
				
			||||||
 | 
					    padding: 1.5rem;
 | 
				
			||||||
 | 
					    border-bottom: 1px solid #ddd;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  .card-body {
 | 
				
			||||||
 | 
					    padding: 2rem;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  .list-group-item {
 | 
				
			||||||
 | 
					    background-color: #f7f8fa;
 | 
				
			||||||
 | 
					    margin-bottom: 10px;
 | 
				
			||||||
 | 
					    border-radius: 10px;
 | 
				
			||||||
 | 
					    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
 | 
				
			||||||
 | 
					    transition: transform 0.2s ease, box-shadow 0.2s ease;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  .list-group-item:hover {
 | 
				
			||||||
 | 
					    transform: translateY(-5px);
 | 
				
			||||||
 | 
					    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  .list-group-item h5 {
 | 
				
			||||||
 | 
					    margin-bottom: 5px;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  .list-group-item .btn-outline-secondary,
 | 
				
			||||||
 | 
					  .list-group-item .btn-outline-danger {
 | 
				
			||||||
 | 
					    border-radius: 20px;
 | 
				
			||||||
 | 
					    padding: 0.25rem 0.75rem;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  .btn-light {
 | 
				
			||||||
 | 
					    background-color: #e8eaf6;
 | 
				
			||||||
 | 
					    color: #3f51b5;
 | 
				
			||||||
 | 
					    border: none;
 | 
				
			||||||
 | 
					    border-radius: 20px;
 | 
				
			||||||
 | 
					    padding: 0.5rem 1.25rem;
 | 
				
			||||||
 | 
					    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  .btn-light:hover {
 | 
				
			||||||
 | 
					    background-color: #d1d9ff;
 | 
				
			||||||
 | 
					    color: #303f9f;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
@ -0,0 +1,100 @@
 | 
				
			|||||||
 | 
					<div class="app-content content" style="background-color: #fbfbfb !important">
 | 
				
			||||||
 | 
					  <div class="content-wrapper">
 | 
				
			||||||
 | 
					    <div class="content-header row mb-1">
 | 
				
			||||||
 | 
					      <app-breadcrumb class="col-12" [breadcrumb]="breadcrumb"></app-breadcrumb>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					    <div class="content-body">
 | 
				
			||||||
 | 
					      <section id="basic-form-layouts">
 | 
				
			||||||
 | 
					        <div class="row">
 | 
				
			||||||
 | 
					          <div class="col-6" *blockUI="'projectInfo'; message: 'Loading'">
 | 
				
			||||||
 | 
					            <div class="card" style="background-color: #fbfbfb !important">
 | 
				
			||||||
 | 
					              <div class="card-content">
 | 
				
			||||||
 | 
					                <div
 | 
				
			||||||
 | 
					                  class="card-header d-flex justify-content-between align-items-center"
 | 
				
			||||||
 | 
					                  style="background-color: #fbfbfb !important"
 | 
				
			||||||
 | 
					                >
 | 
				
			||||||
 | 
					                  <h4 class="form-section m-0" style="color: #242222">
 | 
				
			||||||
 | 
					                    <i class="feather ft-calendar" style="color: #242222"></i>
 | 
				
			||||||
 | 
					                    Smart Plug Single Connector
 | 
				
			||||||
 | 
					                  </h4>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                  <button
 | 
				
			||||||
 | 
					                    class="btn"
 | 
				
			||||||
 | 
					                    style="
 | 
				
			||||||
 | 
					                      background-color: #37a647 !important;
 | 
				
			||||||
 | 
					                      border-color: #37a647 !important;
 | 
				
			||||||
 | 
					                      color: #ffffff !important;
 | 
				
			||||||
 | 
					                    "
 | 
				
			||||||
 | 
					                    (click)="addSchedulerItem(1)"
 | 
				
			||||||
 | 
					                  >
 | 
				
			||||||
 | 
					                    <span style="font-weight: 600">Add Schedule</span>
 | 
				
			||||||
 | 
					                  </button>
 | 
				
			||||||
 | 
					                </div>
 | 
				
			||||||
 | 
					                <div class="card-body">
 | 
				
			||||||
 | 
					                  <div class="form-body">
 | 
				
			||||||
 | 
					                    <div class="row">
 | 
				
			||||||
 | 
					                      <div class="col-md-12">
 | 
				
			||||||
 | 
					                        <div *ngIf="schedules.length > 0; else noSchedules">
 | 
				
			||||||
 | 
					                          <ul class="list-group">
 | 
				
			||||||
 | 
					                            <li
 | 
				
			||||||
 | 
					                              class="list-group-item d-flex justify-content-between align-items-center mb-3"
 | 
				
			||||||
 | 
					                              *ngFor="let schedule of schedules"
 | 
				
			||||||
 | 
					                            >
 | 
				
			||||||
 | 
					                              <div>
 | 
				
			||||||
 | 
					                                <h5 style="color: #242222">
 | 
				
			||||||
 | 
					                                  {{ schedule.title }}
 | 
				
			||||||
 | 
					                                </h5>
 | 
				
			||||||
 | 
					                                <h2 class="mb-0" style="color: #242222">
 | 
				
			||||||
 | 
					                                  {{ schedule.time }}
 | 
				
			||||||
 | 
					                                </h2>
 | 
				
			||||||
 | 
					                              </div>
 | 
				
			||||||
 | 
					                              <div>
 | 
				
			||||||
 | 
					                                <button
 | 
				
			||||||
 | 
					                                  class="btn btn-sm btn-info mr-1"
 | 
				
			||||||
 | 
					                                  style="
 | 
				
			||||||
 | 
					                                    background-color: transparent !important;
 | 
				
			||||||
 | 
					                                    border-color: #37a647 !important;
 | 
				
			||||||
 | 
					                                  "
 | 
				
			||||||
 | 
					                                  (click)="openEditModal(schedule)"
 | 
				
			||||||
 | 
					                                >
 | 
				
			||||||
 | 
					                                  <i
 | 
				
			||||||
 | 
					                                    class="ficon la la-edit"
 | 
				
			||||||
 | 
					                                    style="color: #37a647 !important"
 | 
				
			||||||
 | 
					                                  ></i>
 | 
				
			||||||
 | 
					                                </button>
 | 
				
			||||||
 | 
					                                <button
 | 
				
			||||||
 | 
					                                  class="btn btn-sm btn-warning mr-1"
 | 
				
			||||||
 | 
					                                  style="
 | 
				
			||||||
 | 
					                                    background-color: transparent !important;
 | 
				
			||||||
 | 
					                                    border-color: #37a647 !important;
 | 
				
			||||||
 | 
					                                  "
 | 
				
			||||||
 | 
					                                  (click)="deleteSchedule(schedule.id)"
 | 
				
			||||||
 | 
					                                >
 | 
				
			||||||
 | 
					                                  <i
 | 
				
			||||||
 | 
					                                    class="ficon la la-trash"
 | 
				
			||||||
 | 
					                                    style="color: #37a647 !important"
 | 
				
			||||||
 | 
					                                  ></i>
 | 
				
			||||||
 | 
					                                </button>
 | 
				
			||||||
 | 
					                              </div>
 | 
				
			||||||
 | 
					                            </li>
 | 
				
			||||||
 | 
					                          </ul>
 | 
				
			||||||
 | 
					                        </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                        <ng-template #noSchedules>
 | 
				
			||||||
 | 
					                          <div class="alert alert-info text-center">
 | 
				
			||||||
 | 
					                            <strong>No schedules available.</strong> Click the
 | 
				
			||||||
 | 
					                            "Add Schedule" button to create one.
 | 
				
			||||||
 | 
					                          </div>
 | 
				
			||||||
 | 
					                        </ng-template>
 | 
				
			||||||
 | 
					                      </div>
 | 
				
			||||||
 | 
					                    </div>
 | 
				
			||||||
 | 
					                  </div>
 | 
				
			||||||
 | 
					                </div>
 | 
				
			||||||
 | 
					              </div>
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
 | 
					          </div>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					      </section>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					  </div>
 | 
				
			||||||
 | 
					</div>
 | 
				
			||||||
@ -0,0 +1,23 @@
 | 
				
			|||||||
 | 
					import { ComponentFixture, TestBed } from '@angular/core/testing';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import { SchedulerListComponent } from './scheduler-list.component';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					describe('SchedulerListComponent', () => {
 | 
				
			||||||
 | 
					  let component: SchedulerListComponent;
 | 
				
			||||||
 | 
					  let fixture: ComponentFixture<SchedulerListComponent>;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  beforeEach(async () => {
 | 
				
			||||||
 | 
					    await TestBed.configureTestingModule({
 | 
				
			||||||
 | 
					      declarations: [ SchedulerListComponent ]
 | 
				
			||||||
 | 
					    })
 | 
				
			||||||
 | 
					    .compileComponents();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    fixture = TestBed.createComponent(SchedulerListComponent);
 | 
				
			||||||
 | 
					    component = fixture.componentInstance;
 | 
				
			||||||
 | 
					    fixture.detectChanges();
 | 
				
			||||||
 | 
					  });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  it('should create', () => {
 | 
				
			||||||
 | 
					    expect(component).toBeTruthy();
 | 
				
			||||||
 | 
					  });
 | 
				
			||||||
 | 
					});
 | 
				
			||||||
@ -0,0 +1,70 @@
 | 
				
			|||||||
 | 
					import { Component } from "@angular/core";
 | 
				
			||||||
 | 
					import { NgbModal } from "@ng-bootstrap/ng-bootstrap";
 | 
				
			||||||
 | 
					import { ControlSchedulerComponent } from "../control-scheduler/control-scheduler.component";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@Component({
 | 
				
			||||||
 | 
					  selector: "app-scheduler-list",
 | 
				
			||||||
 | 
					  templateUrl: "./scheduler-list.component.html",
 | 
				
			||||||
 | 
					  styleUrls: ["./scheduler-list.component.css"],
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					export class SchedulerListComponent {
 | 
				
			||||||
 | 
					  public breadcrumb: any;
 | 
				
			||||||
 | 
					  schedules = [
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      id: 1,
 | 
				
			||||||
 | 
					      title: "Lampu Depan ON",
 | 
				
			||||||
 | 
					      time: "08:55",
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      id: 2,
 | 
				
			||||||
 | 
					      title: "Lampu Depan OFF",
 | 
				
			||||||
 | 
					      time: "09:50",
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					  ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  constructor(private modalService: NgbModal) {}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  ngOnInit(): void {
 | 
				
			||||||
 | 
					    this.breadcrumb = {
 | 
				
			||||||
 | 
					      mainlabel: "Scheduler List",
 | 
				
			||||||
 | 
					      links: [
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          name: "Home",
 | 
				
			||||||
 | 
					          isLink: false,
 | 
				
			||||||
 | 
					          link: "/dashboard/sales",
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          name: "Control Device",
 | 
				
			||||||
 | 
					          isLink: false,
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          name: "Scheduler List",
 | 
				
			||||||
 | 
					          isLink: false,
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					      ],
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  addSchedulerItem(item) {
 | 
				
			||||||
 | 
					    const modalRef = this.modalService.open(ControlSchedulerComponent, {
 | 
				
			||||||
 | 
					      size: "md",
 | 
				
			||||||
 | 
					      backdrop: "static", 
 | 
				
			||||||
 | 
					      keyboard: false, 
 | 
				
			||||||
 | 
					      centered: true
 | 
				
			||||||
 | 
					    });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    modalRef.componentInstance.device = item;
 | 
				
			||||||
 | 
					    modalRef.result.then(
 | 
				
			||||||
 | 
					      (result) => {
 | 
				
			||||||
 | 
					        if (result) {
 | 
				
			||||||
 | 
					          console.log(result);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      (reason) => {
 | 
				
			||||||
 | 
					        console.log(`Dismissed: ${reason}`);
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    );
 | 
				
			||||||
 | 
					    // Handle edit action
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user