CasperSecurity
<div>
<div class="row">
<div class="card z-auto p-[25px]" style="min-height: 690px;">
<div class="card-header">
<div class="flex justify-between items-center mb-2">
<h1 class="heading text-[1.8rem] font-medium uppercase">Notification Rule</h1>
<div class="flex items-center">
<a class="btn btn-primary duration-500 hover:bg-hover-primary py-[5px] px-3 text-[13px] rounded text-white bg-primary leading-[18px] inline-block border border-primary ml-2 offcanvas-toggle cursor-pointer"
wire:click="showmodalclick">+ Add Notification Rule</a>
</div>
</div>
</div>
<div class="card-body">
<div class="p-[1.563rem]">
<div class="flex justify-between">
<div class="w-1/4 px-0 py-2">
<input wire:model="search" type="text"
class="form-control relative text-[13px] text-dark h-[2.813rem] border border-dark block rounded-md py-1.5 px-3 duration-500 dark:hover:border-b-color outline-none w-full"
id="search" placeholder="Search ..." autocomplete="off"/>
</div>
<div class="w-1/3 px-1">
<div class="row flex justify-between">
<div class="w-1/3 px-2 py-2 justify-end">
<select name="orderBy" wire:model="orderBy"
class="form-select w-full rounded-md style-1 py-1.5 px-3 bg-transparent text-[13px] font-normal outline-none relative focus:ring-0 border border-dark text-dark h-[2.813rem] leading-[1.813rem]">
<option value="id">ID</option>
<option value="notification_based_on">Based On</option>
<option value="notification_thru">Through</option>
</select>
</div>
<div class="w-1/3 px-2 py-2 justify-end">
<select name="orderAsc" wire:model="orderAsc"
class="form-select w-full rounded-md style-1 py-1.5 px-3 bg-transparent text-[13px] font-normal outline-none relative focus:ring-0 border border-dark text-dark h-[2.813rem] leading-[1.813rem]">
<option value="1">Ascending</option>
<option value="0">Descending</option>
</select>
</div>
<div class="w-1/3 px-2 py-2 justify-end">
<select name="perPage" wire:model="perPage"
class="form-select w-full rounded-md style-1 py-1.5 px-3 bg-transparent text-[13px] font-normal outline-none relative focus:ring-0 border border-dark text-dark h-[2.813rem] leading-[1.813rem]">
<option value="10">10</option>
<option value="25">25</option>
<option value="50">50</option>
<option value="100">100</option>
<option value="500">500</option>
</select>
</div>
</div>
</div>
</div>
<div class="overflow-x-auto table-scroll">
<table id="dept_datatable" class="display table w-full">
<thead>
<tr class="bg-transparent">
<th class="text-black py-2 px-[0.9375rem] border-2 border-solid border-[#E6E6E6] dark:border-[#444444] capitalize whitespace-nowrap text-xs font-medium text-center">
Action
</th>
<th class="text-black py-2 px-[0.9375rem] border-2 border-solid border-[#E6E6E6] dark:border-[#444444] capitalize whitespace-nowrap text-xs font-medium text-center">
Status
</th>
<th class="text-black py-2 px-[0.9375rem] border-2 border-solid border-[#E6E6E6] dark:border-[#444444] capitalize whitespace-nowrap text-xs font-medium text-center">
Module
</th>
<th class="text-black py-2 px-[0.9375rem] border-2 border-solid border-[#E6E6E6] dark:border-[#444444] capitalize whitespace-nowrap text-xs font-medium text-center">
Feature
</th>
<th class="text-black py-2 px-[0.9375rem] border-2 border-solid border-[#E6E6E6] dark:border-[#444444] capitalize whitespace-nowrap text-xs font-medium text-center">
User
</th>
<th class="text-black py-2 px-[0.9375rem] border-2 border-solid border-[#E6E6E6] dark:border-[#444444] capitalize whitespace-nowrap text-xs font-medium text-center">
Role
</th>
<th class="text-black py-2 px-[0.9375rem] border-2 border-solid border-[#E6E6E6] dark:border-[#444444] capitalize whitespace-nowrap text-xs font-medium text-center">
Notification
</th>
<th class="text-black py-2 px-[0.9375rem] border-2 border-solid border-[#E6E6E6] dark:border-[#444444] capitalize whitespace-nowrap text-xs font-medium text-center">
Through
</th>
</tr>
</thead>
<tbody>
@if(sizeof($dataTables)>0)
@foreach($dataTables as $notify)
<tr class="bg-transparent">
<td class="bg-transparent border-2 border-solid border-[#E6E6E6] dark:border-[#444444] py-2 px-[0.9375rem] capitalize whitespace-nowrap text-[15px] font-normal text-center">
<div class="flex justify-center">
<a href="javascript:void(0);" wire:key="{{$notify['id']}}"
wire:click="updateclick('{{$notify['id']}}')"
class="btn w-[1.625rem] h-[1.625rem] leading-[1.625rem] rounded-md text-center text-white bg-primary hover:bg-hover-primary duration-300 mr-1 offcanvas-toggle"><i
class="fas fa-pencil-alt text-[0.875em]"></i></a>
<a href="javascript:void(0);"
wire:click="deleteclick('{{$notify['id']}}')"
class="btn w-[1.625rem] h-[1.625rem] leading-[1.625rem] rounded-md text-center text-white bg-danger hover:bg-danger-hover duration-300"><i
class="fa fa-trash text-[0.875em]"></i></a>
</div>
</td>
<td class="text-black border-2 border-solid border-[#E6E6E6] dark:border-[#444444] bg-transparent xl:py-2 py-2 xl:px-[0.9375rem] px-[0.9375rem] capitalize whitespace-nowrap text-xs font-normal text-center">
@if($notify->status == '1')
<span class="text-xs py-[5px] px-3 rounded font-medium leading-[1.5] text-success bg-success-light">Active</span>
@else
<span class="text-xs py-[5px] px-3 rounded font-medium leading-[1.5] text-dark bg-d-light-2">Inactive</span>
@endif
</td>
<td class="text-black border-2 border-solid border-[#E6E6E6] dark:border-[#444444] bg-transparent xl:py-2 py-2 xl:px-[0.9375rem] px-[0.9375rem] capitalize whitespace-nowrap text-xs font-normal text-center">
{{$notify->module_name}}</td>
<td class="text-black border-2 border-solid border-[#E6E6E6] dark:border-[#444444] bg-transparent xl:py-2 py-2 xl:px-[0.9375rem] px-[0.9375rem] capitalize whitespace-nowrap text-xs font-normal text-center">{{$notify->feature_name}}</td>
<td class="text-black border-2 border-solid border-[#E6E6E6] dark:border-[#444444] bg-transparent xl:py-2 py-2 xl:px-[0.9375rem] px-[0.9375rem] capitalize whitespace-nowrap text-xs font-normal text-center">
@if($notify['user_names'] && sizeof($notify['user_names']) > 0)
@foreach($notify['user_names'] as $user)
{{$user->name}} ,
@endforeach
@else N/A @endif
</td>
<td class="text-black border-2 border-solid border-[#E6E6E6] dark:border-[#444444] bg-transparent xl:py-2 py-2 xl:px-[0.9375rem] px-[0.9375rem] capitalize whitespace-nowrap text-xs font-normal text-center">@if($notify->role_id){{$notify->display_name}}@else
N/A @endif</td>
<td class="text-black border-2 border-solid border-[#E6E6E6] dark:border-[#444444] bg-transparent xl:py-2 py-2 xl:px-[0.9375rem] px-[0.9375rem] capitalize whitespace-nowrap text-xs font-normal text-center">{{$notify->notification_thru}}</td>
<td class="text-black border-2 border-solid border-[#E6E6E6] dark:border-[#444444] bg-transparent xl:py-2 py-2 xl:px-[0.9375rem] px-[0.9375rem] capitalize whitespace-nowrap text-xs font-normal text-center">{{$notify->notification_based_on}}</td>
</tr>
@endforeach
@else
<tr class="bg-transparent">
<td colspan="8"
class="text-danger border-2 border-solid border-[#E6E6E6] dark:border-[#444444] bg-transparent xl:py-2 py-2 xl:px-[0.9375rem] px-[0.9375rem] capitalize whitespace-nowrap xl:text-[15px] text-[15px] font-bold text-center">
No Data Available
</td>
</tr>
@endif
</tbody>
</table>
</div>
<div class="w-full" wire:ignore.self>
{{$dataTables->links('livewire.pagination-livewire')}}
</div>
</div>
</div>
@if(!$showmodal)
<div wire:ignore.self>
<x-notify::notify/>
</div>
@endif
</div>
<div wire:ignore.self>
<div
class="fixed top-0 right-0 flex flex-col xl:w-[500px] md:w-[500px] w-[350px] h-[100vh] z-[1045] bg-white dark:bg-[#1E1E1E] text-body-color duration-500 ease-in-out offcanvas @if($showmodal) @else is-closed @endif"
id="offcanvasExample">
<div class="ml-4 flex items-center justify-between p-4">
<h5 class="modal-title" id="#gridSystemModal">
@if($modelid)
Update Notification Rule
@else
Add New Notification Rule
@endif
</h5>
<button type="button"
class="offcanvas-close h-6 w-6 box-content bg-danger-light rounded-md text-lg mr-4 p-2 opacity-50 hover:opacity-100 text-red"
wire:click="closemodalclick">
<i class="fa-solid fa-xmark"></i>
</button>
</div>
<div class="p-4 overflow-y-auto overflow-x-hidden dz-scroll">
<div class="container-fluid px-[15px] py-0">
<div>
<div class="row">
<div class="xl:w-1/2 mb-4">
<label for="exampleFormControlInputfirst" class="form-label">Select Module<span
class="text-danger">*</span></label>
<select name="module_id" wire:model="module_id"
class="form-select w-full rounded-md style-1 py-1.5 px-3 bg-transparent text-[13px] font-normal outline-none relative focus:ring-0 border border-b-color block rounded-md py-1.5 px-3 duration-500 focus:border-primary dark:hover:border-b-color outline-none w-full">
<option value="">Choose Module</option>
@foreach($modules as $module)
<option value="{{$module->id}}">{{$module->module_name}}</option>
@endforeach
</select>
@error('module_id') <span
class="error text-danger">{{ $message }}</span> @enderror
</div>
<div class="xl:w-1/2 mb-4">
<label for="exampleFormControlInputfirst" class="form-label">Select Feature<span
class="text-danger">*</span></label>
<select name="feature_id" wire:model="feature_id"
class="form-select w-full rounded-md style-1 py-1.5 px-3 bg-transparent text-[13px] font-normal outline-none relative focus:ring-0 border border-b-color block rounded-md py-1.5 px-3 duration-500 focus:border-primary dark:hover:border-b-color outline-none w-full">
<option value="">Choose Feature</option>
@foreach($features as $feature)
<option value="{{$feature->id}}">{{$feature->feature_name}}</option>
@endforeach
</select>
@error('feature_id') <span
class="error text-danger">{{ $message }}</span> @enderror
</div>
<div class="xl:w-1/2 mb-4">
<label for="exampleFormControlInputfirst" class="form-label">Get Notification
From<span
class="text-danger">*</span></label>
<select name="notification_thru" wire:model="notification_thru"
class="form-select w-full rounded-md style-1 py-1.5 px-3 bg-transparent text-[13px] font-normal outline-none relative focus:ring-0 border border-b-color block rounded-md py-1.5 px-3 duration-500 focus:border-primary dark:hover:border-b-color outline-none w-full">
<option value="">select</option>
<option value="All">All</option>
<option value="System">System</option>
<option value="Mail">Mail</option>
<option value="SMS">SMS</option>
</select>
@error('notification_thru') <span
class="error text-danger">{{ $message }}</span> @enderror
</div>
<div class="xl:w-1/2 mb-4">
<label for="exampleFormControlInputfirst" class="form-label">Select Type<span
class="text-danger">*</span></label>
<select name="notification_based_on" wire:model="notification_based_on"
class="form-select w-full rounded-md style-1 py-1.5 px-3 bg-transparent text-[13px] font-normal outline-none relative focus:ring-0 border border-b-color block rounded-md py-1.5 px-3 duration-500 focus:border-primary dark:hover:border-b-color outline-none w-full">
<option value="">select</option>
<option value="Role">Role</option>
<option value="User">User</option>
</select>
@error('notification_based_on') <span
class="error text-danger">{{ $message }}</span> @enderror
</div>
@if($notification_based_on == "Role")
<div class="xl:w-full mb-4">
<label for="exampleFormControlInputfirst" class="form-label">Select Role<span
class="text-danger">*</span></label>
<select name="role_id" wire:model="role_id"
class="form-select w-full rounded-md style-1 py-1.5 px-3 bg-transparent text-[13px] font-normal outline-none relative focus:ring-0 border border-b-color block rounded-md py-1.5 px-3 duration-500 focus:border-primary dark:hover:border-b-color outline-none w-full">
<option value="">Choose Role</option>
@foreach($roles as $role)
<option value="{{$role->id}}">{{$role->display_name}}</option>
@endforeach
</select>
@error('role_id') <span
class="error text-danger">{{ $message }}</span> @enderror
</div>
@elseif($notification_based_on == "User")
<div class="xl:w-full mb-4">
<label for="exampleFormControlInputfirst" class="form-label">Select User<span
class="text-danger">*</span></label>
<select name="user_id" wire:model="user_id" multiple
class="form-select w-full rounded-md style-1 py-1.5 px-3 bg-transparent text-[13px] font-normal outline-none relative focus:ring-0 border border-b-color block rounded-md py-1.5 px-3 duration-500 focus:border-primary dark:hover:border-b-color outline-none w-full">
<option value="">Select</option>
@foreach($users as $user)
<option value="{{$user->id}}">{{$user->name}}</option>
@endforeach
</select>
@error('user_id') <span
class="error text-danger">{{ $message }}</span> @enderror
</div>
@endif
</div>
@if($modelid)
<div class="flex justify-end mt-3 items-center">
<div class="xl:w-full mb-4 flex justify-between">
<label for="exampleFormControlInputfirst" class="form-label mt-4">Status</label>
<div class="row">
<div class="flex justify-end w-full px-2 py-2">
<select name="orderAsc" wire:model="status"
class="form-select w-full rounded-md style-1 py-1.5 px-3 bg-transparent text-[13px] font-normal outline-none relative focus:ring-0 border border-b-color block rounded-md py-1.5 px-3 duration-500 focus:border-primary dark:hover:border-b-color outline-none w-full">
<option value="1">Active</option>
<option value="0">Inactive</option>
</select>
</div>
</div>
</div>
</div>
@endif
<div class="flex justify-center">
<button
class="btn xl:py-[0.719rem] mr-4 py-2.5 xl:px-[1.563rem] px-4 duration-300 xl:text-[15px] text-[13px] font-medium rounded text-danger bg-danger-light leading-5 inline-block border border-danger-light btn-danger light hover:text-white hover:bg-danger offcanvas-close"
wire:click="closemodalclick">Cancel
</button>
@if($modelid)
<button
class="btn btn-primary xl:py-[0.719rem] py-2.5 xl:px-[1.563rem] px-4 duration-300 xl:text-[15px] text-[13px] font-medium rounded text-white bg-primary leading-5 inline-block border border-primary hover:bg-hover-primary"
wire:click="updateRule">Update
</button>
@else
<button
class="btn btn-primary xl:py-[0.719rem] py-2.5 xl:px-[1.563rem] px-4 duration-300 xl:text-[15px] text-[13px] font-medium rounded text-white bg-primary leading-5 inline-block border border-primary hover:bg-hover-primary"
wire:click="saveRule">Submit
</button>
@endif
</div>
</div>
</div>
</div>
@if($showmodal)
<x-notify::notify/>
@endif
</div>
</div>
</div>
@section('externaljs')
@endsection
</div>