<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-family-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 #jobFamilyModal let-modal>
    <h3 mat-dialog-title>
        {{(currentModal=='add'?'AddJobFamily':'EditJobFamily') | 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">
            {{'JobFamilyCode' | translate}}
            <span class="text-danger">
                *
                <ng-container *ngIf="currentModal=='add'&&checkPrimary()">
                    {{'DuplicateJobFamilyCode' | 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">{{'JobFamilyNameThai' | 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">{{'JobFamilyNameEng' | translate}}<span
                class="text-danger">*</span></label>
        <input type="text" id="detail_eng" class="ti-form-input h-16" [(ngModel)]="position.select.edesc">
        <label for="detail_short" class="ti-form-label mt-2rem">{{'JobFamilyAbbr' | translate}}<span
                class="text-danger">*</span></label>
        <input type="text" id="detail_short" class="ti-form-input h-16" [(ngModel)]="position.select.edesc">
        <div class="grid grid-cols-12 gap-x-6 mt-2rem">
            <label class="col-span-3 ti-form-label text-primary mt-2 align-center">{{'Image' |
                translate}}</label>
            <div class="flex flex-row col-span-5" style="align-items: end;">
                <div style="width: 10rem;">
                    <div *ngIf="imgLoading" class="ti-spinner w-8 h-8 text-secondary mx-1" role="status"
                        aria-label="loading" style="height: 9rem;width: 9rem;">
                        <span class="sr-only">Loading...</span>
                    </div>
                    <!-- [src]="employee.select.picture?getImg(employee.select.picture):'./assets/img/users/defaultperson.jpg'" -->
                    <img *ngIf="!imgLoading" [src]="'./assets/img/users/defaultperson.jpg'"
                        (error)="onImageError($event)" class="rounded-full ring-4 ring-white/10 mx-auto object-cover"
                        id="profile-img" alt="profile-img" style="height: 10rem;width: 10rem;">
                </div>
                <div *ngIf="!imgLoading" class="relative" style="margin-left:-30px">
                    <i class="ri ri-pencil-line cursor-pointer" (click)="fileImg.click()"></i>
                    <input #fileImg id="fileImg" type="file" (change)="onImgSelected($event)" hidden>
                    <i class="ri-delete-bin-6-line text-danger cursor-pointer"></i>
                    <!-- (click)="employee.select.picture = ''"> -->
                </div>
            </div>
        </div>
    </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-family-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">
                {{'ImportJobFamily' | 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-family-component-upload-modal" [class.ti-btn-disabled]="!selectedFile"
                        (click)="uploadFile()" [disabled]="!selectedFile" [disabled]="!selectedFile">
                        {{'Upload' | translate}}
                    </button>
                </div>
            </div>
        </div>
    </div>
</div>