<section class="content-header">
    <h4 translate class="subheader-title">
        <span class="subheader-icon fal fa-table"></span>&nbsp;Customer Master
    <small> </small>
  </h4>
</section>

<section class="content">

  <div class="box padding-15 clearfix" style="display: block;">
  <div class="x_content" style="display: block;">
    <div class="row">
      <div class="col-sm-9">
        <div class="dataTables_length" id="datatable_length">
          <button type="button" *ngIf="add==true" (click)="openCustomerModal(customerTemplate,'add')"
                  class="btn btn-outline-primary waves-effect waves-themed btn-sm">
                  <span class="fal fa-plus"></span>&nbsp;Add New
          </button>
          &nbsp; &nbsp; <a href="#/dashboard" class="btn btn-outline-primary waves-effect waves-themed btn-sm">
            <i class="fal fa-chart-area"></i> Go back to dashboard</a>
        </div>
      </div>
      <div class="col-sm-3">
        <div class="input-group">
          <input type="text" class="form-control" placeholder="Customer Name" [(ngModel)]="searchText"
                 aria-label="Search">
                 <span class="input-group-append">
                    <button class="btn btn-primary waves-effect waves-themed btn-sm" type="button">
                      <span class="fal fa-search"></span>
                          </button>
          </span>
        </div>
        <!--<input id="txtPending" type="text" class="form-control table-search" [(ngModel)]="searchText" placeholder="Search" aria-label="Search">-->
      </div>
    </div>
    <div class="table-responsive">
      <table class="table jambo_table table-striped table-condensed table-hover">
        <thead>
          <tr class="headings">
            <th style="width:60px">#</th>
            <th *ngIf="(edit==true || delete==true)" style="width:110px;">
              <label style="font-weight:bold;margin-bottom:0px;">Action</label>&nbsp;&nbsp;
              <span *ngIf="showall==false" class="img-showactive" style="cursor:pointer;"
                    (click)="getactiveinactive(false)" title="Show all"></span>
              <span *ngIf="showall==true" class="img-showall" style="cursor:pointer;" (click)="getactiveinactive(true)"
                    title="Show only active"></span>
            </th>
            <th class="pointer" (click)="sort('customername')">
              Customer Name
              <i *ngIf="key =='customername'" class="fa {{reverse==true?'fa-caret-up':'fa-caret-down'}}"></i>

            </th>
            <th class="pointer" (click)="sort('address')">
              Address
              <i *ngIf="key =='address'" class="fa {{reverse==true?'fa-caret-up':'fa-caret-down'}}"></i>

            </th>
            <th class="pointer" (click)="sort('email')">
              Email
              <i *ngIf="key =='email'" class="fa {{reverse==true?'fa-caret-up':'fa-caret-down'}}"></i>

            </th>
            <th class="pointer" (click)="sort('contactnumber')">
              Contact Number
              <i *ngIf="key =='contactnumber'" class="fa {{reverse==true?'fa-caret-up':'fa-caret-down'}}"></i>

            </th>
            <th class="pointer" (click)="sort('iconnectcode')">
              iConnect Code
              <i *ngIf="key =='iconnectcode'" class="fa {{reverse==true?'fa-caret-up':'fa-caret-down'}}"></i>

            </th>
            <th class="pointer" (click)="sort('createdbyname')">
              Created By
              <i *ngIf="key =='createdbyname'" class="fa {{reverse==true?'fa-caret-up':'fa-caret-down'}}"></i>
            </th>
            <th class="pointer" (click)="sort('createdon')">
              Created Date
              <i *ngIf="key =='createdon'" class="fa {{reverse==true?'fa-caret-up':'fa-caret-down'}}"></i>
            </th>
            <th class="pointer" (click)="sort('updatedbyname')">
              Last Modified By
              <i *ngIf="key =='updatedbyname'" class="fa {{reverse==true?'fa-caret-up':'fa-caret-down'}}"></i>
            </th>
            <th class="pointer" (click)="sort('updatedon')">
              Last Modified Date
              <i *ngIf="key =='updatedon'" class="fa {{reverse==true?'fa-caret-up':'fa-caret-down'}}"></i>
            </th>
            <!--<th>Status</th>-->

          </tr>
        </thead>
        <tbody>
          <tr *ngFor="let item of customers| orderBy: key : reverse |filter:searchText|paginate: { itemsPerPage: itemsPerPage, currentPage: p};let i = index">
            <td>{{itemsPerPage * (p - 1) + i + 1}}</td>
            <td *ngIf="(edit==true || delete==true)">
              <span class="fal fa-pencil blue" style="cursor:pointer;"
                    (click)="openCustomerModal(customerTemplate,'update',item)" title="Edit"
                    *ngIf="edit==true"></span>&nbsp;&nbsp;
              <span *ngIf="item.active==1 && delete==true" class="img-active" style="cursor:pointer;"
                    (click)="OpenConfirmTemplate(item)" title="Active"></span>
              <span *ngIf="item.active==0 && delete==true" class="img-inactive" style="cursor:pointer;"
                    (click)="OpenConfirmTemplate(item)" title="Inactive"></span>
            </td>

            <td>{{item.customername}}</td>

            <td>{{item.address}}</td>
            <td>{{item.email}}</td>
            <td>{{item.contactnumber}}</td>
            <td>{{item.iconnectcode}}</td>
            <td>{{item.createdbyname}}</td>
            <td>{{item.createdon | date:'MM-dd-yyyy'}}</td>
            <td>{{item.updatedbyname}}</td>
            <td>{{item.updatedon | date:'MM-dd-yyyy'}}</td>
          </tr>
          <tr *ngIf="customers.length==0 || (customers |filter:searchText).length === 0">
            <td colspan="11" style="text-align:center;">No Records Found</td>
          </tr>

        </tbody>
      </table>
      <div *ngIf="customers && customers.length!=0" class="pull-right">
        <pagination-controls (pageChange)="p = $event"></pagination-controls>
      </div>
    </div>
  </div>

  <div class="row">

    <ng-template #customerTemplate>
      <div class="modal-content" id="mainNgCnt" ngDraggable [handle]="dragHandle">
        <div class="modal-header" style="cursor:move" #dragHandle>
          <h4 class="modal-title pull-left" *ngIf="operation=='add'"><span class="fal fa-plus"></span>&nbsp;Add New Customer</h4>
          <h4 class="modal-title pull-left" *ngIf="operation=='update'"><span class="fal fa-edit"></span>&nbsp;Edit Customer</h4>
          <button type="button" class="close pull-right" aria-label="Close" (click)="customerModalRef.hide()">
            <span aria-hidden="true">&times;</span>
          </button>
        </div>
        <div class="modal-body">

          <form [formGroup]="customerForm" (ngSubmit)="Post(customerForm.value)">
            <input type="hidden" name="customerid" formControlName="customerid" />
            <table class="table">
              <tr>
                <td>
                  <div class="form-group row">
                    <label class="col-sm-3">Customer Name <span style="color:red;">*</span></label>
                    <div class="col-sm-9">
                      <input type="text" trim placeholder="Customer Name" name="customername" formControlName="customername" class="form-control" />
                      <div *ngIf="submitted && g.customername.errors" class="invalid-feedback">
                        <div *ngIf="g.customername.errors.required" class="errormsg">
                          Customer Name is required
                        </div>
                      </div>
                    </div>
                  </div>

                  <div class="form-group row">
                    <label class="col-sm-3">Address</label>
                    <div class="col-sm-9">
                      <input type="text" trim placeholder="Address" name="address" formControlName="address" class="form-control" />
                    </div>
                  </div>

                  <div class="form-group row">
                    <label class="col-sm-3">Email</label>
                    <div class="col-sm-9">
                      <input type="text" trim placeholder="Email" name="email" formControlName="email" class="form-control" />
                    </div>
                  </div>

                  <div class="form-group row">
                    <label class="col-sm-3">Contact Number</label>
                    <div class="col-sm-9">
                      <input type="number" trim placeholder="Contact Number" name="contactnumber" formControlName="contactnumber" class="form-control" />
                    </div>
                  </div>

                  <div class="form-group row">
                    <label class="col-sm-3">iConnect Code</label>
                    <div class="col-sm-9">
                      <input type="number" trim placeholder="iConnect Code" min="0" name="iconnectcode" formControlName="iconnectcode" class="form-control" />
                    </div>
                  </div>


                </td>
              </tr>
              <tr *ngIf="operation=='update'">
                <td colspan="2">
                  <div class="form-group">
                    <input type="checkbox" (change)="ChangeActive($event)" name="active"
                           formControlName="active" /><label>Active</label>
                  </div>
                </td>
              </tr>
              <tr>
                <td>
                  <div class="form-group">
                    <button type="button" class="btn btn-sm btn-outline-warning waves-effect waves-themed pull-right" (click)="clearForm();">Cancel</button>
                    <button type="submit" *ngIf="(edit==true || add==true)" 
                    class="btn btn-sm btn-outline-primary waves-effect waves-themed pull-right"
                            [disabled]="customerForm.invalid">
                      <span *ngIf="operation=='add' && add==true">Add</span>
                      <span *ngIf="operation!='add' && edit==true">Update</span>
                    </button>
                  </div>
                </td>
              </tr>
            </table>

          </form>


        </div>
      </div>
    </ng-template>

  </div>
</div>
</section>
