<div class="w-full min-height-50px mb-10px justify-between items-center">
    <div class="flex justify-end">
        <div class="px-1">
            <div class="relative shadow-md">
                <input type="text" class="ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
                    [placeholder]="'SearchByNoOrName' | translate" [(ngModel)]="search">
                <div
                    class="absolute inset-y-0 ltr:left-0 rtl:right-0 flex items-center pointer-events-none z-20 ltr:pl-4 rtl:pr-4">
                    <i class="ri-search-line text-gray"></i>
                </div>
            </div>
        </div>
        <div class="px-1">
            <button type="button"
                class=" h-45px  ti-btn ti-btn bg-pink-500/10 text-pink-500 hover:text-white hover:bg-pink-500 ring-offset-white focus:ring-pink-500 dark:focus:ring-offset-white/10 h-10 m-0 shadow-md"
                data-hs-overlay="#job-grade-component-upload-modal"
                (click)="fileInput.value = '';selectedFile=null;selectedFileName = 'กรุณาเลือกไฟล์'">
                <i class="ti ti-file-plus"></i>
                {{'Import' | translate}}
            </button>
        </div>
        <div class="px-1">
            <button type="button" class="ti-btn ti-btn-soft-secondary h-45px m-0 shadow-md"
                (click)="currentModal='add';selectPosition();openDialog()">
                <i class="ri-add-line"></i>
                {{'Add' | translate}}
            </button>
        </div>
        <div class="px-1">
            <button href="javascript:void(0);" class="ti-btn ti-btn-soft-danger h-45px m-0 shadow-md"
                (click)="currentModal='delete';selectPosition();deletePosition()">
                <i class="ri-delete-bin-6-line"></i>
                {{'Delete' | translate}}
            </button>
        </div>
    </div>
</div>

<div class="page px-rem">
    <app-datagrid-syncfution [searchSettings]="searchSettings" [searchText]="search" [dataSource]="position.dataList"
        [columns]="columns" [selectedItems]="selectedItems"
        (sendSelectData)="currentModal='edit';selectPosition($event);openDialog()"
        (sendSelectedItems)="onSelectItemChange($event)">
    </app-datagrid-syncfution>
</div>
<ng-template #jobGradeModal let-modal>
    <h3 mat-dialog-title>
        {{(currentModal=='add'?'AddJobGrade':'EditJobGrade') | translate}}
    </h3>
    <div class="w-full flex justify-end mb-1rem">
        <div class="absolute flex">
            <div class="px-1">
                <button type="button" class="ti-btn ti-btn-soft-indigo h-45px m-0 shadow-md" (click)="selectPosition()">
                    <i class="ti ti-eraser text-base"></i>
                    {{'Clear' |translate}}
                </button>
            </div>
        </div>
    </div>
    <mat-dialog-content>
        <label for="input-label" class="ti-form-label mt-2rem">
            {{'JobGradeCode' | translate}}
            <span class="text-danger">
                *
                <ng-container *ngIf="currentModal=='add'&&checkPrimary()">
                    {{'DuplicateJobGradeCode' | translate}}
                </ng-container>
            </span></label>
        <input type="text" id="input-label" class="ti-form-input w-1/2 "
            [ngClass]="{'bg-input-readonly':currentModal=='edit'}" [readonly]="currentModal=='edit'"
            [(ngModel)]="position.select.positionId">
        <label for="detail_th" class="ti-form-label mt-2rem">{{'JobGradeGroupCode' | translate}}<span
                class="text-danger">*</span></label>
        <div class="relative flex rounded-md w-1/2">
            <input type="text" class="ti-form-input rounded-sm ltr:rounded-r-sm rtl:rounded-l-sm focus:z-10 " readonly
                style="padding-right: 3.5rem;" (click)="openJobGradeGroupDialog()">
            <div class="absolute inset-y-0 ltr:right-0 rtl:left-0 flex items-center z-20 ltr:pr-4 rtl:pl-4 space-x-2">
                <button type="button" class="flex items-center text-red-500">
                    <i class="ti ti-circle-x cursor-pointer"></i>
                </button>
                <button type="button" class="flex items-center text-gray-500 dark:text-white/70"
                    (click)="openJobGradeGroupDialog()">
                    <i class="ri-search-line cursor-pointer text-gray"></i>
                </button>
            </div>
        </div>
        <label for="detail_th" class="ti-form-label mt-2rem">{{'JobGradeDescThai' | translate}}<span
                class="text-danger">*</span></label>
        <input type="text" id="detail_th" class="ti-form-input h-16" [(ngModel)]="position.select.tdesc">
        <label for="detail_eng" class="ti-form-label mt-2rem">{{'JobGradeDescEng' | translate}}<span
                class="text-danger">*</span></label>
        <input type="text" id="detail_eng" class="ti-form-input h-16" [(ngModel)]="position.select.edesc">
    </mat-dialog-content>
    <mat-dialog-actions align="end">
        <button type="button" mat-button [mat-dialog-close]
            class="hs-dropdown-toggle ti-btn ti-border font-medium bg-white text-gray-700 shadow-sm align-middle hover:bg-gray-50 focus:ring-offset-white focus:ring-primary dark:bg-bgdark dark:hover:bg-black/20 dark:border-white/10 dark:text-white/70 dark:hover:text-white dark:focus:ring-offset-white/10">
            {{'Back' | translate}}
        </button>
        <button type="button" class="ti-btn ti-btn-success" mat-button (click)="addPosition()"
            [class.ti-btn-disabled]="!position.select.positionId||!position.select.tdesc||(currentModal=='add'&&checkPrimary())"
            [disabled]="!position.select.positionId||!position.select.tdesc||(currentModal=='add'&&checkPrimary())">
            {{'SaveData' | translate}}
        </button>
    </mat-dialog-actions>
</ng-template>




<div id="job-grade-component-upload-modal" class="hs-overlay hidden ti-modal">
    <div class="hs-overlay-open:mt-7 ti-modal-box mt-0 ease-out rounded-md">
        <div class="ti-modal-header bg-primary !rounded-none !rounded-t-sm">
            <h5 class="text-xxl font-bold text-white">
                {{'ImportJobGrade' | translate}}
            </h5>
        </div>
        <div class="ti-modal-body max-h-full overflow-hidden ti-modal-content !rounded-t-none !rounded-b-sm">
            <h1 class="mt-2" style="text-align: center;">{{'File' | translate}}</h1>
            <div class="mt-2 p-2">
                <div class="flex rounded-md">
                    <input #fileInput id="fileInput" type="file" (change)="onFileSelected($event)" hidden>
                    <input type="text" [value]="selectedFileName | translate" readonly (click)="fileInput.click()"
                        class="ti-form-input rounded-none ltr:rounded-l-md rtl:rounded-r-md focus:z-10 cursor-pointer">
                    <button type="button" (click)="fileInput.click()"
                        class="inline-flex flex-shrink-0 justify-center items-center h-[2.875rem] w-[2.875rem] ltr:rounded-r-md rtl:rounded-l-md border border-transparent font-semibold bg-secondary text-white hover:bg-secondary focus:z-10 focus:outline-none focus:ring-0 focus:ring-secondary transition-all text-sm">
                        <i class="ti ti-upload"></i>
                    </button>
                </div>
                <div class="flex justify-center mt-2rem ">
                    <h1 class="cursor-pointer justify-center -mb-px inline-flex items-center gap-2 font-weight-500 font-size-12px
                    text-center text-secondary border-secondary border-b-2 align-items-end" (click)="downloadFile()">
                        {{'DownloadSampleFile' | translate}}</h1>
                </div>
                <div class="flex justify-center mt-2rem mb-1rem space-x-4">
                    <button type="submit" class="ti-btn ti-btn-secondary"
                        data-hs-overlay="#job-grade-component-upload-modal" [class.ti-btn-disabled]="!selectedFile"
                        (click)="uploadFile()" [disabled]="!selectedFile" [disabled]="!selectedFile">
                        {{'Upload' | translate}}
                    </button>
                </div>
            </div>
        </div>
    </div>
</div>


<ng-template #jobGradeGroupModal let-modal>
    <h3 mat-dialog-title>
        {{'JobGradeGroup' | translate}}
    </h3>
    <mat-dialog-content>
        <div class="flex justify-end pb-1rem">
            <div class="px-1">
                <div class="relative shadow-md">
                    <input type="text" class="ti-form-input ltr:pl-11 rtl:pr-11 focus:z-10 "
                        [placeholder]="'SearchByNoOrName' | translate">
                    <div
                        class="absolute inset-y-0 ltr:left-0 rtl:right-0 flex items-center pointer-events-none z-20 ltr:pl-4 rtl:pr-4">
                        <i class="ri-search-line text-gray"></i>
                    </div>
                </div>
            </div>
        </div>
        <div class="overflow-auto border">
            <table class="ti-custom-table ti-custom-table-head ti-custom-table-hover">
                <thead>
                    <tr>
                        <ng-container
                            *ngFor="let item of ['No.','JobGradeGroupCode','JobGradeGroupDescThai','JobGradeGroupDescEng']; let f = first; let l = last">
                            <th scope="col" class="relative px-10px py-10px bg-soft-secondary text-primary"
                                [class.!text-center]="f">
                                <span class="text-sm">{{ item | translate}}</span>
                                <div class="absolute top-1/2 transform -translate-y-1/2 right-0" *ngIf="!l">
                                    <i class="ti ti-dots-vertical fs-l"></i>
                                </div>
                            </th>
                        </ng-container>
                    </tr>
                </thead>
                <tbody *ngIf="false">
                    <tr>
                        <td class="text-center" colspan="100%">
                            <div *ngFor="let item of [1,2,3]" class="ti-spinner w-8 h-8 text-secondary mx-1"
                                role="status" aria-label="loading">
                                <span class="sr-only">Loading...</span>
                            </div>
                        </td>
                    </tr>
                </tbody>
                <tbody *ngIf="!false&&!position.dataList.length">
                    <tr>
                        <td class="text-center" colspan="100%">
                            {{'NoInformation' | translate}}
                        </td>
                    </tr>
                </tbody>
                <tbody *ngIf="!false&&position.dataList.length">
                    <!-- <tr *ngFor="let item of position.dataList | slice:((currentPage-1) * pageSize) : (((currentPage-1) * pageSize) + pageSize);let i = index"
                        class="cursor-pointer" (click)="selectBu1(item);closeBu1Dialog()">
                        <td class="flex justify-center">
                            {{((currentPage-1) * pageSize)+(i+1)}}
                        </td>
                        <td>{{item.bu1id}}</td>
                        <td>{{item.tdesc}}</td>
                        <td>{{item.edesc}}</td>
                    </tr> -->
                </tbody>
            </table>
        </div>
        <!-- <app-pagination [totalItems]="position.dataList.length" [pageSize]="pageSize" (pageChange)="currentPage = $event"
            (pageSizeChange)="pageSize = $event;currentPage = 1"></app-pagination> -->
    </mat-dialog-content>
    <mat-dialog-actions align="end">
        <button type="button" mat-button [mat-dialog-close]
            class="hs-dropdown-toggle ti-btn ti-border font-medium bg-white text-gray-700 shadow-sm align-middle hover:bg-gray-50 focus:ring-offset-white focus:ring-primary dark:bg-bgdark dark:hover:bg-black/20 dark:border-white/10 dark:text-white/70 dark:hover:text-white dark:focus:ring-offset-white/10">
            {{'Back' | translate}}
        </button>
    </mat-dialog-actions>
</ng-template>