<section class="content-header">
    <h2 translate class="subheader-title">
        <span class="subheader-icon fal fa-users"></span> State Code Master
    <small> </small>
    </h2>
</section>
  <section class="content">
<div class="box padding-15" style="display: block;">
  <div class="row">
    <div class="col-sm-8 col-md-9">
      <div class="dataTables_length" id="datatable_length">
       <button  type="button" (click)="openCheckListModal(Statecodetemplate,'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-4 col-md-3">
      <div class="input-group">
        <input type="text" class="form-control" placeholder="Search..." [(ngModel)]="searchText" [ngModelOptions]="{standalone: true}" 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>
    </div>
  </div>
  <div class="box-body">
  <div class="table-responsive">
    <table class="table table-bordered table-condensed table-hover table-striped">
      <thead class="headings">
        <tr>
          <th class="sno_width">#</th>
          <th class="action_width">
            <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('statename')">
            State Name
            <i *ngIf="key =='statename'" class="fa {{reverse==true?'fa-caret-up':'fa-caret-down'}}"></i>
          </th>
          <th class="pointer" (click)="sort('stateabbreviation')">
            State Code
            <i *ngIf="key =='stateabbreviation'" 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>
        </tr>
      </thead>
      <tbody>
        <tr *ngFor="let item of statecodelst| orderBy: key : reverse |filter:searchText |paginate: { itemsPerPage: itemsPerPage, currentPage: p};let i = index">
          <td>{{itemsPerPage * (p - 1) + i + 1}}</td>
          <td >
            <span class="fal fa-pencil blue" style="cursor:pointer;" (click)="openCheckListModal(Statecodetemplate,'update',item)">
            </span>&nbsp;&nbsp;
            <span *ngIf="item.active==1 " class="img-active" style="cursor:pointer;"
                  (click)="OpenConfirmTemplate(item)" title="Active"></span>
            <span *ngIf="item.active==0 " class="img-inactive" style="cursor:pointer;"
                  (click)="OpenConfirmTemplate(item)" title="Inactive"></span>
          </td>
          <td>{{item.statename}}</td>
          <td>{{item.stateabbreviation}}</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=" statecodelst.length==0 || (statecodelst |filter:searchText).length === 0">
          <td colspan="11" style="text-align:center;">No Records Found</td></tr>

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

<ng-template #Statecodetemplate>
  <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="fa fa-plus"></span>&nbsp;Add New State Code List</h4>
      <h4 class="modal-title pull-left" *ngIf="operation=='update'"><span class="fa fa-plus"></span>&nbsp;Edit State Code List</h4>
      <button type="button" class="close pull-right" aria-label="Close" (click)="clearForm()">
        <span aria-hidden="true">&times;</span>
      </button>
    </div>
    <div class="modal-body">

      <form [formGroup]="statecodeForm" (ngSubmit)="Post(statecodeForm.value)">
        <input type="hidden" name="statecodeid" formControlName="statecodeid" />
        <table class="table">
          <tr>
            <td>
              <div class="form-group">
                <label>State Name</label><span style="color:red;">*</span><input type="text" trim placeholder="State Name" name="statename" formControlName="statename" class="form-control" />
                <div *ngIf="submitted && g.statecodelst.errors" class="invalid-feedback">
                  <div *ngIf="g.statecodelst.errors.required" class="errormsg">State Name is required</div>
                </div>
              </div>
            </td>
            
          </tr>
          <tr>
            <td>
              <div class="form-group">
                <label>State Abbreviation</label><span style="color:red;">*</span><input type="text" trim placeholder="State Abbreviation" name="stateabbreviation" formControlName="stateabbreviation" class="form-control" />
                <div *ngIf="submitted && g.statecodelst.errors" class="invalid-feedback">
                  <div *ngIf="g.statecodelst.errors.required" class="errormsg">State Abbreviation is required</div>
                </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]="statecodeForm.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>


<ngx-spinner bdColor="rgba(255, 255, 255, 0.8)" size="default" type="line-scale-party" [fullScreen]="false">
</ngx-spinner>
