Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Sarun Mungthanya
SpnPatch-Laravel
Compare Revisions
fb8995ec1f30a1a71560a769a058456f3e0590ac...3dca194a7d8516fa04bead32b7703bde482ef476
Hide whitespace changes
Inline
Side-by-side
Too many changes to show.
To preserve performance only
309 of 309+
files are displayed.
resources/views/livewire/pages/server-license/global.blade.php
0 → 100644
View file @
3dca194a
<div
class=
"p-4"
>
<div
class=
"max-w-6xl mx-auto bg-white rounded-lg"
>
<!-- Header -->
<div
class=
"text-black p-4 rounded-t-lg flex justify-between items-center"
>
<h1
class=
"text-lg font-semibold"
>
Profiles
</h1>
</div>
@if (count($globalListGroup) > 0)
@foreach ($globalListGroup as $profileCode => $profileData)
<div
x-data=
"{ expanded: false }"
class=
"mb-4"
>
<div
@
click=
"expanded = !expanded"
class=
"bg-gray-500 text-white px-4 py-2 cursor-pointer"
>
<strong>
Profile = {{ $profileCode }}
</strong>
</div>
<div
x-show=
"expanded"
class=
"overflow-x-auto p-4"
>
<div
class=
"max-w-3xl mx-auto bg-white rounded-lg"
>
<table
aria-describedby=
"mydesc"
class=
"min-w-full bg-white border border-gray-300 text-sm"
>
<thead>
<tr
class=
"bg-slate-300 text-gray-700 text-xs"
>
<th
scope=
"col"
class=
"py-2 px-4 border-b w-1/2"
>
Name
</th>
<th
scope=
"col"
class=
"py-2 px-4 border-b w-1/2"
>
Value
</th>
</tr>
</thead>
<tbody>
@foreach ($profileData as $item)
<tr
class=
"border-b text-xs"
>
<td
class=
"py-2 px-4 border"
>
<input
type=
"text"
class=
"w-full p-2 border border-gray-300 rounded-md"
wire:model.defer=
"globalListGroup.{{ $profileCode }}.{{ $loop->index }}.name"
/>
</td>
<td
class=
"py-2 px-4 border"
>
<input
type=
"text"
class=
"w-full p-2 border border-gray-300 rounded-md"
wire:model.defer=
"globalListGroup.{{ $profileCode }}.{{ $loop->index }}.value"
/>
</td>
<input
type=
"hidden"
wire:model.defer=
"globalListGroup.{{ $profileCode }}.{{ $loop->index }}.profilecode"
>
</tr>
@endforeach
</tbody>
</table>
<div
class=
"p-4"
>
<button
wire:click=
"saveGlobal"
class=
"bg-primary hover:bg-primary-focus text-white font-bold py-2 px-4 rounded"
>
Save
</button>
</div>
</div>
</div>
</div>
@endforeach
@endif
</div>
</div>
</div>
resources/views/livewire/pages/server-license/history-patch.blade.php
0 → 100644
View file @
3dca194a
<div
class=
" p-4"
>
<div
class=
"max-w-full mx-auto bg-white rounded-lg"
>
<div
class=
"text-black p-4 rounded-t-lg flex justify-between items-center"
>
<h1
class=
"text-lg font-semibold"
>
{{ $company }} (SN={{ $serverKey }}):: History Patch
</h1>
{{--
<button
class=
"bg-info hover:info-focus text-white font-bold py-2 px-4 rounded"
>
Export Query
</button>
--}}
</div>
<!-- Table Section -->
<div
class=
"overflow-x-auto p-4"
>
<table
aria-describedby=
"mydesc"
class=
"min-w-full bg-white border border-gray-300"
>
<thead>
<tr
class=
"bg-slate-300 text-gray-700"
>
<th
scope=
"col"
class=
"py-2 px-4 border-b cursor-pointer"
wire:click=
"sortHistoryBy('cp.TaskDate')"
>
Task Date
@if ($sortHistoryField == 'cp.TaskDate')
<span>
{{ $sortHistoryDirection == 'asc' ? '↑' : '↓' }}
</span>
@endif
</th>
<th
scope=
"col"
class=
"py-2 px-4 border-b cursor-pointer"
wire:click=
"sortHistoryBy('cp.TaskStatus')"
>
Task Status
@if ($sortHistoryField == 'cp.TaskStatus')
<span>
{{ $sortHistoryDirection == 'asc' ? '↑' : '↓' }}
</span>
@endif
</th>
<th
scope=
"col"
class=
"py-2 px-4 border-b cursor-pointer"
wire:click=
"sortHistoryBy('cp.TaskRunner')"
>
Task Runner
@if ($sortHistoryField == 'cp.TaskRunner')
<span>
{{ $sortHistoryDirection == 'asc' ? '↑' : '↓' }}
</span>
@endif
</th>
<th
scope=
"col"
class=
"py-2 px-4 border-b cursor-pointer"
wire:click=
"sortHistoryBy('cp.TaskFinish')"
>
Task Finish
@if ($sortHistoryField == 'cp.TaskFinish')
<span>
{{ $sortHistoryDirection == 'asc' ? '↑' : '↓' }}
</span>
@endif
</th>
<th
scope=
"col"
class=
"py-2 px-4 border-b cursor-pointer"
wire:click=
"sortHistoryBy('cs.PID')"
>
Patch ID
@if ($sortHistoryField == 'cs.PID')
<span>
{{ $sortHistoryDirection == 'asc' ? '↑' : '↓' }}
</span>
@endif
</th>
<th
scope=
"col"
class=
"py-2 px-4 border-b cursor-pointer"
wire:click=
"sortHistoryBy('cs.PATCHNAME')"
>
Patch Name
@if ($sortHistoryField == 'cs.PATCHNAME')
<span>
{{ $sortHistoryDirection == 'asc' ? '↑' : '↓' }}
</span>
@endif
</th>
<th
scope=
"col"
class=
"py-2 px-4 border-b cursor-pointer"
wire:click=
"sortHistoryBy('cs.PAPPROVEDATE')"
>
Approve Date
@if ($sortHistoryField == 'cs.PAPPROVEDATE')
<span>
{{ $sortHistoryDirection == 'asc' ? '↑' : '↓' }}
</span>
@endif
</th>
<th
scope=
"col"
class=
"py-2 px-4 border-b cursor-pointer"
wire:click=
"sortHistoryBy('cs.PDESC')"
>
Description
@if ($sortHistoryField == 'cs.PDESC')
<span>
{{ $sortHistoryDirection == 'asc' ? '↑' : '↓' }}
</span>
@endif
</th>
</tr>
</thead>
<tbody>
@foreach ($historyPatchList as $key => $patch)
<tr
class=
"border-b"
>
<td
class=
"py-2 px-4 border min-w-36 max-w-36 text-center"
>
{{ $patch->TaskDate }}
</td>
<td
class=
"py-2 px-4 border min-w-24 max-w-24 text-center"
>
{{ $patch->TaskStatus }}
</td>
<td
class=
"py-2 px-4 border min-w-24 max-w-24 text-center"
>
{{ $patch->TaskRunner }}
</td>
<td
class=
"py-2 px-4 border min-w-36 max-w-36 text-center"
>
{{ $patch->TaskFinish }}
</td>
<td
class=
"py-2 px-4 border min-w-24 max-w-24 text-center"
>
{{ $patch->PID }}
</td>
<td
class=
"py-2 px-4 border min-w-48 max-w-48 text-center"
>
{{ $patch->PATCHNAME }}
</td>
<td
class=
"py-2 px-4 border min-w-32 max-w-32 text-center"
>
{{ $patch->PAPPROVEDATE }}
</td>
<td
class=
"py-2 px-4 border min-w-64 max-w-64 text-center"
>
{{ $patch->PDESC }}
</td>
</tr>
@endforeach
</tbody>
</table>
<div
class=
"mt-4"
>
{{ $historyPatchList->links('livewire.paginate-custom') }}
</div>
</div>
</div>
</div>
resources/views/livewire/pages/server-license/main-var.blade.php
0 → 100644
View file @
3dca194a
<div
class=
" p-4"
>
<div
class=
"max-w-full mx-auto bg-white rounded-lg"
>
<!-- Header -->
<div
class=
"text-black p-4 rounded-t-lg flex justify-between items-center"
>
<h1
class=
"text-lg font-semibold"
>
{{ $company }} (SN={{ $serverKey }}):: MAINVAR.inc
</h1>
</div>
<div
class=
"overflow-x-auto p-4"
>
<div
class=
"w-full p-4"
>
<h3
class=
"text-lg font-semibold"
>
Code:
</h3>
<textarea
wire:model.defer=
"mainvarCode"
rows=
"20"
class=
"w-full p-2 border rounded language-none"
placeholder=
"Paste your code here..."
style=
"max-height: 60vh; overflow-y: auto;"
></textarea>
<button
wire:click=
"saveMainVar"
class=
"bg-primary hover:bg-primary-focus text-white font-bold py-2 px-4 rounded mt-2"
>
Save
</button>
</div>
</div>
</div>
</div>
resources/views/livewire/pages/server-license/map-to.blade.php
0 → 100644
View file @
3dca194a
<div
class=
" p-4"
>
<div
class=
"max-w-full mx-auto bg-white rounded-lg"
>
<!-- Header -->
<div
class=
"text-black p-4 rounded-t-lg flex justify-between items-center"
>
<h1
class=
"text-lg font-semibold"
>
{{ $company }} (SN={{ $serverKey }}):: Map To
</h1>
<button
class=
"bg-info hover:info-focus text-white font-bold py-2 px-4 rounded"
>
Export Query
</button>
</div>
<!-- Table Section -->
<div
class=
"overflow-x-auto p-4"
>
<table
aria-describedby=
"mydesc"
class=
"min-w-full bg-white border border-gray-300"
>
<thead>
<tr
class=
"bg-slate-300 text-gray-700"
>
<th
scope=
"col"
class=
"py-2 px-4 border-b"
>
ID
</th>
<th
scope=
"col"
class=
"py-2 px-4 border-b"
>
Name
</th>
<th
scope=
"col"
class=
"py-2 px-4 border-b"
>
Code
</th>
<th
scope=
"col"
class=
"py-2 px-4 border-b"
>
Type
</th>
</tr>
</thead>
<tbody>
@if (count($mapToList) > 0)
@foreach ($mapToList['id'] as $index => $onload)
<tr
class=
"border-b"
>
<td
class=
"py-2 px-4 border w-24 text-center"
>
{{ $index +1 }}
</td>
{{--
<td
class=
"py-2 px-4 border w-32"
>
<input
type=
"text"
class=
"w-full p-2 border border-gray-300 rounded-md"
wire:model.defer=
"mapToList.step.{{ $index }}"
/>
</td>
<td
class=
"py-2 px-4 border w-48"
>
<input
type=
"text"
class=
"w-full p-2 border border-gray-300 rounded-md"
wire:model.defer=
"mapToList.level.{{ $index }}"
/>
</td>
--}}
<td
class=
"py-2 px-4 border w-32"
>
<input
type=
"text"
class=
"w-full p-2 border border-gray-300 rounded-md"
wire:model.defer=
"mapToList.name.{{ $index }}"
/>
</td>
{{--
<td
class=
"py-2 px-4 border w-64"
>
<textarea
class=
"w-full p-1 border rounded"
wire:model.defer=
"mapToList.desc.{{ $index }}"
></textarea>
</td>
--}}
<td
class=
"py-2 px-4 border w-64"
>
<textarea
class=
"w-full p-1 border rounded"
wire:model.defer=
"mapToList.validateCode.{{ $index }}"
></textarea>
</td>
<td
class=
"py-2 px-4 border w-48"
>
<input
type=
"text"
class=
"w-full p-2 border border-gray-300 rounded-md"
wire:model.defer=
"mapToList.doctype.{{ $index }}"
/>
</td>
{{--
<td
class=
"py-2 px-4 border w-24"
>
<input
type=
"text"
class=
"w-full p-2 border border-gray-300 rounded-md"
wire:model.defer=
"mapToList.active.{{ $index }}"
/>
</td>
--}}
</tr>
@endforeach
@endif
</tbody>
</table>
<div
class=
"p-4"
>
<button
wire:click=
"saveMapTo"
class=
"bg-primary hover:bg-primary-focus text-white font-bold py-2 px-4 rounded"
>
Save
</button>
</div>
</div>
</div>
</div>
resources/views/livewire/pages/server-license/onload.blade.php
0 → 100644
View file @
3dca194a
<div
class=
" p-4"
>
<div
class=
"max-w-full mx-auto bg-white rounded-lg"
>
<!-- Header -->
<div
class=
"text-black p-4 rounded-t-lg flex justify-between items-center"
>
<h1
class=
"text-lg font-semibold"
>
{{ $company }} (SN={{ $serverKey }}):: Onload Condition
</h1>
<button
class=
"bg-info hover:info-focus text-white font-bold py-2 px-4 rounded"
>
Export Query
</button>
</div>
<!-- Table Section -->
<div
class=
"overflow-x-auto p-4"
>
<table
aria-describedby=
"mydesc"
class=
"min-w-full bg-white border border-gray-300"
>
<thead>
<tr
class=
"bg-slate-300 text-gray-700"
>
<th
scope=
"col"
class=
"py-2 px-4 border-b"
>
Serverkey
</th>
<th
scope=
"col"
class=
"py-2 px-4 border-b"
>
Service Name
</th>
<th
scope=
"col"
class=
"py-2 px-4 border-b"
>
Action
</th>
<th
scope=
"col"
class=
"py-2 px-4 border-b"
>
Onload Code
</th>
</tr>
</thead>
<tbody>
@if (count($onloadList) > 0)
@foreach ($onloadList['SKEY'] as $index => $onload)
<tr
class=
"border-b"
>
<td
class=
"py-2 px-4 border w-32"
>
<input
type=
"text"
class=
"w-full p-2 border border-gray-300 rounded-md"
wire:model.defer=
"onloadList.SKEY.{{ $index }}"
/>
</td>
<td
class=
"py-2 px-4 border w-48"
>
<input
type=
"text"
class=
"w-full p-2 border border-gray-300 rounded-md"
wire:model.defer=
"onloadList.SERVNAME.{{ $index }}"
/>
</td>
<td
class=
"py-2 px-4 border w-32"
>
<input
type=
"text"
class=
"w-full p-2 border border-gray-300 rounded-md"
wire:model.defer=
"onloadList.ACT.{{ $index }}"
/>
</td>
<td
class=
"py-2 px-4 border w-64"
>
<textarea
class=
"w-full p-1 border rounded"
wire:model.defer=
"onloadList.ONLOAD.{{ $index }}"
></textarea>
</td>
</tr>
@endforeach
@endif
</tbody>
</table>
<div
class=
"p-4"
>
<button
wire:click=
"saveOnload"
class=
"bg-primary hover:bg-primary-focus text-white font-bold py-2 px-4 rounded"
>
Save
</button>
</div>
</div>
</div>
</div>
resources/views/livewire/pages/server-license/organize.blade.php
0 → 100644
View file @
3dca194a
<div
class=
""
>
<div
class=
"max-w-6xl mx-auto bg-white rounded-lg"
>
<!-- Header -->
<div
class=
" text-black p-4 rounded-t-lg"
>
<h1
class=
"text-lg font-semibold"
>
{{ $company }} ( SNKEY = {{ $serverKey }} ) :: Organize
</h1>
</div>
<!-- Form Section -->
<div
class=
"pt-2 px-4 pb-4 border-b"
>
<label
for=
"selectDateOrg"
class=
"text-gray-700 font-semibold"
>
Receive Data From SPN:
</label>
<select
id=
"selectDateOrg"
wire:model=
"selectDateOrg"
class=
"ml-2 p-2 border border-gray-300 rounded-md"
>
@if (isset($allDate))
@foreach ($allDate as $date)
<option
value=
"{{ $date->id ?? '' }}"
>
{{ $date->createDate ?? '' }}
</option>
@endforeach
@endif
</select>
</div>
<!-- Table Section -->
<div
class=
"overflow-x-auto p-4"
>
<table
aria-describedby=
"mydesc"
class=
"min-w-full is-hoverable bg-white border border-gray-300 border-b "
>
<thead>
<tr
class=
"bg-gray-200 text-gray-700"
>
<th
scope=
"col"
class=
"py-2 px-4 border-b rounded-tl-lg"
>
Organize
</th>
<th
scope=
"col"
class=
"py-2 px-4 border-b"
>
Profile
</th>
<th
scope=
"col"
class=
"py-2 px-4 border-b rounded-tr-lg"
>
Document Type
</th>
</tr>
</thead>
<tbody>
@if (count($orgList) > 0)
@foreach ($orgList as $org)
<tr
class=
"border-b hover:bg-slate-300"
>
<td
class=
"py-4 px-4 border-b text-left hover:bg-slate-300"
>
<ul
class=
""
>
<li><strong>
Organize: {{ $org->spnOrganize?? ''}}
</strong></li>
<li>
Last Update: {{ $org->epromotionCheckDate?? '' }}
</li>
<li>
Team (e-promotion): {{ $org->epromotionSaleTeam?? '' }}
</li>
<li>
Size (e-promotion): {{ $org->epromotionSize?? '' }}
</li>
</ul>
</td>
<td
class=
"py-4 px-4 border-b text-left "
>
<!-- Example Profile Data -->
<ul
class=
"list-disc"
>
@if (count($org->profileList??[]) > 0)
@foreach ($org->profileList as $profile)
<li>
{{ $profile->profileCode }}
</li>
@endforeach
@endif
</ul>
</td>
<td
class=
"py-4 px-4 border-b text-left "
>
<!-- Example Document Type Data -->
<ul
class=
"list-disc"
>
@if (count($org->docTypeList??[]) > 0)
@foreach ($org->docTypeList as $doc)
<li>
{{ $doc->DTDESC }}
</li>
@endforeach
@endif
</ul>
</td>
</tr>
@endforeach
@endif
</tbody>
</table>
</div>
</div>
</div>
resources/views/livewire/pages/server-license/parameter.blade.php
0 → 100644
View file @
3dca194a
<div
class=
" p-4"
>
<div
class=
"max-w-full mx-auto bg-white rounded-lg"
>
<!-- Header -->
<div
class=
"text-black p-4 rounded-t-lg flex justify-between items-center"
>
<h1
class=
"text-lg font-semibold"
>
{{ $company }} (SN={{ $serverKey }}):: Print Form
</h1>
<button
class=
"bg-info hover:info-focus text-white font-bold py-2 px-4 rounded"
>
Export Query
</button>
</div>
<!-- Table Section -->
<div
class=
"overflow-x-auto p-4"
>
<table
aria-describedby=
"mydesc"
class=
"min-w-full bg-white border border-gray-300"
>
<thead>
<tr
class=
"bg-slate-300 text-gray-700"
>
<th
scope=
"col"
class=
"py-2 px-4 border-b"
>
Name
</th>
<th
scope=
"col"
class=
"py-2 px-4 border-b"
>
Value
</th>
<th
scope=
"col"
class=
"py-2 px-4 border-b"
>
Description
</th>
<th
scope=
"col"
class=
"py-2 px-4 border-b"
>
Active
</th>
</tr>
</thead>
<tbody>
@if (count($parameterList) > 0)
@foreach ($parameterList['PID'] as $index => $parameter)
<tr
class=
"border-b"
>
<td
class=
"py-2 px-4 border min-w-48"
>
<input
type=
"text"
class=
"w-full p-2 border border-gray-300 rounded-md"
wire:model.defer=
"parameterList.name.{{ $index }}"
/>
</td>
<td
class=
"py-2 px-4 border min-w-48"
>
<input
type=
"text"
class=
"w-full p-2 border border-gray-300 rounded-md"
wire:model.defer=
"parameterList.value.{{ $index }}"
/>
</td>
<td
class=
"py-2 px-4 border min-w-48"
>
<textarea
class=
"w-full p-1 border rounded"
wire:model.defer=
"parameterList.description.{{ $index }}"
></textarea>
</td>
<td
class=
"py-2 px-4 border min-w-48"
>
<input
type=
"text"
class=
"w-full p-2 border border-gray-300 rounded-md"
wire:model.defer=
"parameterList.active.{{ $index }}"
/>
</td>
<input
type=
"hidden"
wire:model.defer=
"parameterList.PID.{{ $index }}"
>
</tr>
@endforeach
@endif
</tbody>
</table>
<div
class=
"p-4"
>
<button
wire:click=
"saveParameter"
class=
"bg-primary hover:bg-primary-focus text-white font-bold py-2 px-4 rounded"
>
Save
</button>
</div>
</div>
</div>
</div>
resources/views/livewire/pages/server-license/print-form.blade.php
0 → 100644
View file @
3dca194a
<div
class=
" p-4"
>
<div
class=
"max-w-full mx-auto bg-white rounded-lg"
>
<!-- Header -->
<div
class=
"text-black p-4 rounded-t-lg flex justify-between items-center"
>
<h1
class=
"text-lg font-semibold"
>
{{ $company }} (SN={{ $serverKey }}):: Print Form
</h1>
<button
class=
"bg-info hover:info-focus text-white font-bold py-2 px-4 rounded"
>
Export Query
</button>
</div>
<!-- Table Section -->
<div
class=
"overflow-x-auto p-4"
>
<table
aria-describedby=
"mydesc"
class=
"min-w-full bg-white border border-gray-300"
>
<thead>
<tr
class=
"bg-slate-300 text-gray-700"
>
<th
scope=
"col"
class=
"py-2 px-4 border-b"
>
ID
</th>
<th
scope=
"col"
class=
"py-2 px-4 border-b"
>
Form Name
</th>
<th
scope=
"col"
class=
"py-2 px-4 border-b"
>
L Name
</th>
<th
scope=
"col"
class=
"py-2 px-4 border-b"
>
L Value
</th>
<th
scope=
"col"
class=
"py-2 px-4 border-b"
>
X
</th>
<th
scope=
"col"
class=
"py-2 px-4 border-b"
>
Y
</th>
<th
scope=
"col"
class=
"py-2 px-4 border-b"
>
Parent ID
</th>
<th
scope=
"col"
class=
"py-2 px-4 border-b"
>
Edit Layout
</th>
<th
scope=
"col"
class=
"py-2 px-4 border-b"
>
Width
</th>
<th
scope=
"col"
class=
"py-2 px-4 border-b"
>
Height
</th>
<th
scope=
"col"
class=
"py-2 px-4 border-b"
>
Type
</th>
<th
scope=
"col"
class=
"py-2 px-4 border-b"
>
Format
</th>
</tr>
</thead>
<tbody>
@if (count($labelList) > 0)
@foreach ($labelList['lid'] as $index => $mapId)
<tr
class=
"border-b"
>
<td
class=
"py-2 px-4 border w-10"
>
<!-- Adjust as necessary -->
{{ $index + 1 }}
</td>
<td
class=
"py-2 px-4 border w-1/5"
>
<input
type=
"text"
class=
"w-full p-2 border border-gray-300 rounded-md"
wire:model.defer=
"labelList.form_name.{{ $index }}"
/>
</td>
<td
class=
"py-2 px-4 border w-1/5"
>
<input
type=
"text"
class=
"w-full p-2 border border-gray-300 rounded-md"
wire:model.defer=
"labelList.l_name.{{ $index }}"
/>
</td>
<td
class=
"py-2 px-4 border w-2/5"
>
<textarea
class=
"w-full p-1 border rounded"
wire:model.defer=
"labelList.l_value.{{ $index }}"
></textarea>
</td>
<td
class=
"py-2 px-4 border w-10"
>
<input
type=
"text"
class=
"w-full p-2 border border-gray-300 rounded-md"
wire:model.defer=
"labelList.x.{{ $index }}"
/>
</td>
<td
class=
"py-2 px-4 border w-10"
>
<input
type=
"text"
class=
"w-full p-2 border border-gray-300 rounded-md"
wire:model.defer=
"labelList.y.{{ $index }}"
/>
</td>
<td
class=
"py-2 px-4 border w-1/12"
>
<input
type=
"text"
class=
"w-full p-2 border border-gray-300 rounded-md"
wire:model.defer=
"labelList.parentId.{{ $index }}"
/>
</td>
<td
class=
"py-2 px-4 border w-1/12"
>
<input
type=
"text"
class=
"w-full p-2 border border-gray-300 rounded-md"
wire:model.defer=
"labelList.editLayout.{{ $index }}"
/>
</td>
<td
class=
"py-2 px-4 border w-1/12"
>
<input
type=
"text"
class=
"w-full p-2 border border-gray-300 rounded-md"
wire:model.defer=
"labelList.width.{{ $index }}"
/>
</td>
<td
class=
"py-2 px-4 border w-1/12"
>
<input
type=
"text"
class=
"w-full p-2 border border-gray-300 rounded-md"
wire:model.defer=
"labelList.height.{{ $index }}"
/>
</td>
<td
class=
"py-2 px-4 border w-1/12"
>
<input
type=
"text"
class=
"w-full p-2 border border-gray-300 rounded-md"
wire:model.defer=
"labelList.type.{{ $index }}"
/>
</td>
<td
class=
"py-2 px-4 border w-1/12"
>
<input
type=
"text"
class=
"w-full p-2 border border-gray-300 rounded-md"
wire:model.defer=
"labelList.format.{{ $index }}"
/>
</td>
</tr>
@endforeach
@endif
</tbody>
</table>
<div
class=
"p-4"
>
<button
wire:click=
"saveLabel"
class=
"bg-primary hover:bg-primary-focus text-white font-bold py-2 px-4 rounded"
>
Save
</button>
</div>
</div>
</div>
</div>
resources/views/livewire/pages/server-license/server-license-create.blade.php
0 → 100644
View file @
3dca194a
<div
class=
"bg-main-container"
>
<div
class=
"max-w-full mx-auto px-5 "
>
<div
class=
"flex flex-wrap items-center"
>
</div>
@if (session()->has('message'))
<div
class=
"alert alert-success"
>
{{ session('message') }}
</div>
@endif
<div
class=
"flex flex-wrap -mx-3 w-full items-center justify-center "
>
<div
class=
"w-3/5 p-5 mb-6 shadow-md bg-white rounded-lg"
>
<form>
<!-- Server Key -->
<div
class=
" flex items-center"
>
<label
for=
"serverKey"
class=
"w-1/4 text-gray-700"
>
Server Key
</label>
<div
class=
"flex flex-col w-3/4"
>
<input
type=
"text"
id=
"serverKey"
class=
" p-2 border border-gray-300 rounded-md"
wire:model.defer=
"serverKey"
>
@error('serverKey')
<div
class=
"text-red-500 text-sm "
>
{{ $message }}
</div>
@enderror
</div>
</div>
<!-- Team -->
<div
class=
"mt-3 flex items-center"
>
<label
for=
"teamId"
class=
"w-1/4 text-gray-700"
>
Team
</label>
<div
class=
"flex flex-col w-3/4"
>
<select
id=
"teamId"
wire:model.defer=
"teamId"
class=
" p-2 border border-gray-300 rounded-md"
>
@foreach ($teams as $team)
<option
value=
"{{ $team->id }}"
>
{{ $team->teamName }}
</option>
@endforeach
</select>
@error('teamId')
<div
class=
"text-red-500 text-sm "
>
{{ $message }}
</div>
@enderror
</div>
</div>
<!-- Customer Sizing -->
<div
class=
"mt-3 flex items-center"
>
<label
for=
"customerSize"
class=
"w-1/4 text-gray-700"
>
Customer Sizing
</label>
<div
class=
"flex flex-col w-3/4"
>
<select
id=
"customerSize"
wire:model.defer=
"customerSize"
class=
" p-2 border border-gray-300 rounded-md"
>
@foreach ($sizings as $size)
<option
value=
"{{ $size->id }}"
>
{{ $size->sizeName }}
</option>
@endforeach
</select>
@error('customerSize')
<div
class=
"text-red-500 text-sm "
>
{{ $message }}
</div>
@enderror
</div>
</div>
<!-- Customer Type -->
<div
class=
"mt-3 flex items-center"
>
<label
for=
"customerType"
class=
"w-1/4 text-gray-700"
>
Customer Type
</label>
<div
class=
"flex flex-col w-3/4"
>
<select
id=
"customerType"
wire:model.defer=
"customerType"
class=
" p-2 border border-gray-300 rounded-md"
>
@foreach ($customerTypes as $type)
<option
value=
"{{ $type->id }}"
>
{{ $type->sizeTypeName }}
</option>
@endforeach
</select>
@error('customerType')
<div
class=
"text-red-500 text-sm "
>
{{ $message }}
</div>
@enderror
</div>
</div>
<!-- Company -->
<div
class=
"mt-3 flex items-center"
>
<label
for=
"company"
class=
"w-1/4 text-gray-700"
>
Company
</label>
<div
class=
"flex flex-col w-3/4"
>
<input
type=
"text"
id=
"company"
class=
" p-2 border border-gray-300 rounded-md"
wire:model.defer=
"company"
>
@error('company')
<div
class=
"text-red-500 text-sm "
>
{{ $message }}
</div>
@enderror
</div>
</div>
<!-- Branch -->
<div
class=
"mt-3 flex items-center"
>
<label
for=
"branch"
class=
"w-1/4 text-gray-700"
>
Branch
</label>
<div
class=
"flex flex-col w-3/4"
>
<input
type=
"text"
id=
"branch"
class=
" p-2 border border-gray-300 rounded-md"
wire:model.defer=
"branch"
>
@error('branch')
<div
class=
"text-red-500 text-sm "
>
{{ $message }}
</div>
@enderror
</div>
</div>
<!-- Status -->
<div
class=
"mt-3 flex items-center"
>
<label
class=
"w-1/4 text-gray-700"
>
Status
</label>
<div
class=
"flex flex-col w-3/4"
>
<div
class=
"flex items-center w-3/4"
>
<label
class=
"mr-4"
>
<input
type=
"radio"
name=
"status"
value=
"Y"
wire:model.defer=
"status"
>
Yes
</label>
<label>
<input
type=
"radio"
name=
"status"
value=
"N"
wire:model.defer=
"status"
>
No
</label>
</div>
@error('status')
<div
class=
"text-red-500 text-sm "
>
{{ $message }}
</div>
@enderror
</div>
</div>
<!-- Licensedate -->
<div
class=
"mt-3 flex items-center"
>
<label
for=
"licenseDate"
class=
"w-1/4 text-gray-700"
>
License Date
</label>
<div
class=
"flex flex-col w-3/4"
>
<input
type=
"date"
id=
"licenseDate"
class=
" p-2 border border-gray-300 rounded-md"
wire:model.defer=
"licenseDate"
>
@error('licenseDate')
<div
class=
"text-red-500 text-sm "
>
{{ $message }}
</div>
@enderror
</div>
</div>
<!-- PHP Version -->
<div
class=
"mt-3 flex items-center"
>
<label
for=
"phpVersionId"
class=
"w-1/4 text-gray-700"
>
PHP Version
</label>
<div
class=
"flex flex-col w-3/4"
>
<select
id=
"phpVersionId"
wire:model.defer=
"phpVersionId"
class=
" p-2 border border-gray-300 rounded-md"
>
@foreach ($phpVersions as $version)
<option
value=
"{{ $version->id }}"
>
{{ $version->version }}
</option>
@endforeach
</select>
@error('phpVersionId')
<div
class=
"text-red-500 text-sm "
>
{{ $message }}
</div>
@enderror
</div>
</div>
<!-- Version ปัจจุบัน -->
<div
class=
"mt-3 flex items-center"
>
<label
for=
"currentVersion"
class=
"w-1/4 text-gray-700"
>
Version ปัจจุบัน
</label>
<div
class=
"flex flex-col w-3/4"
>
<input
type=
"text"
id=
"currentVersion"
class=
" p-2 border border-gray-300 rounded-md"
wire:model.defer=
"currentVersion"
>
@error('currentVersion')
<div
class=
"text-red-500 text-sm "
>
{{ $message }}
</div>
@enderror
</div>
</div>
<!-- วันที่ไป Install -->
<div
class=
"mt-3 flex items-center"
>
<label
for=
"installDate"
class=
"w-1/4 text-gray-700"
>
วันที่ไป Install
</label>
<div
class=
"flex flex-col w-3/4"
>
<input
type=
"date"
id=
"installDate"
class=
" p-2 border border-gray-300 rounded-md"
wire:model.defer=
"installDate"
>
@error('installDate')
<div
class=
"text-red-500 text-sm "
>
{{ $message }}
</div>
@enderror
</div>
</div>
<!-- Version ที่ลงครั้งแรก -->
<div
class=
"mt-3 flex items-center"
>
<label
for=
"installVersion"
class=
"w-1/4 text-gray-700"
>
Version ที่ลงครั้งแรก
</label>
<div
class=
"flex flex-col w-3/4"
>
<input
type=
"text"
id=
"installVersion"
class=
" p-2 border border-gray-300 rounded-md"
wire:model.defer=
"installVersion"
>
@error('installVersion')
<div
class=
"text-red-500 text-sm "
>
{{ $message }}
</div>
@enderror
</div>
</div>
<!-- Database Type -->
<div
class=
"mt-3 flex items-center"
>
<label
for=
"databaseType"
class=
"w-1/4 text-gray-700"
>
Database Type
</label>
<div
class=
"flex flex-col w-3/4"
>
<select
id=
"databaseType"
wire:model.defer=
"databaseType"
class=
" p-2 border border-gray-300 rounded-md"
>
@foreach ($dbTypes as $db)
<option
value=
"{{ $db->id }}"
>
{{ $db->dbName }}
</option>
@endforeach
</select>
@error('databaseType')
<div
class=
"text-red-500 text-sm "
>
{{ $message }}
</div>
@enderror
</div>
</div>
<!-- Server of -->
<div
class=
"mt-3 flex items-center"
>
<label
for=
"ownerType"
class=
"w-1/4 text-gray-700"
>
Server of
</label>
<div
class=
"flex flex-col w-3/4"
>
<select
id=
"ownerType"
wire:model.defer=
"ownerType"
class=
" p-2 border border-gray-300 rounded-md"
>
@foreach ($ownerTypes as $owner)
<option
value=
"{{ $owner->owntype_code }}"
>
{{ $owner->owntype_description }}
</option>
@endforeach
</select>
@error('ownerType')
<div
class=
"text-red-500 text-sm "
>
{{ $message }}
</div>
@enderror
</div>
</div>
<!-- HSCODE 2017 Method -->
<div
class=
"mt-3 flex items-center"
>
<label
for=
"hscodeMethod"
class=
"w-1/4 text-gray-700"
>
HSCODE 2017 Method
</label>
<div
class=
"flex flex-col w-3/4"
>
<select
id=
"hscodeMethod"
wire:model.defer=
"hscodeMethod"
class=
" p-2 border border-gray-300 rounded-md"
>
<option
value=
"1"
{{
$
hscodeMethod =
=
'1'
?
'
selected
'
:
''
}}
>
Patch
</option>
<option
value=
"2"
{{
$
hscodeMethod =
=
'2'
?
'
selected
'
:
''
}}
>
Run script
</option>
</select>
@error('hscodeMethod')
<div
class=
"text-red-500 text-sm "
>
{{ $message }}
</div>
@enderror
</div>
</div>
<!-- URL / IP Address -->
<div
class=
"mt-3 flex items-center"
>
<label
for=
"customerUrl"
class=
"w-1/4 text-gray-700"
>
URL / IP Address
</label>
<div
class=
"flex flex-col w-3/4"
>
<input
type=
"text"
id=
"customerUrl"
class=
" p-2 border border-gray-300 rounded-md"
wire:model.defer=
"customerUrl"
>
@error('customerUrl')
<div
class=
"text-red-500 text-sm "
>
{{ $message }}
</div>
@enderror
</div>
</div>
<!-- Contact -->
<div
class=
"mt-3 flex items-center"
>
<label
for=
"contact"
class=
"w-1/4 text-gray-700"
>
Contact
</label>
<div
class=
"flex flex-col w-3/4"
>
<input
type=
"text"
id=
"contact"
class=
" p-2 border border-gray-300 rounded-md"
wire:model.defer=
"contact"
>
@error('contact')
<div
class=
"text-red-500 text-sm "
>
{{ $message }}
</div>
@enderror
</div>
</div>
<!-- Contact Customer Name -->
<div
class=
"mt-3 flex items-center"
>
<label
for=
"contactCustomerName"
class=
"w-1/4 text-gray-700"
>
Contact Customer Name
</label>
<div
class=
"flex flex-col w-3/4"
>
<input
type=
"text"
id=
"contactCustomerName"
class=
" p-2 border border-gray-300 rounded-md"
wire:model.defer=
"contactCustomerName"
>
@error('contactCustomerName')
<div
class=
"text-red-500 text-sm "
>
{{ $message }}
</div>
@enderror
</div>
</div>
<!-- Save and Reset Buttons -->
<div
class=
"mt-3 flex justify-center space-x-2"
>
<a
type=
"button"
href=
"/server-license"
class=
"bg-slate-300 text-black px-4 py-2 rounded-md hover:bg-slate-900 hover:text-white"
>
Back
</a>
<button
type=
"button"
wire:click=
"save"
class=
"bg-primary text-white px-4 py-2 rounded-md hover:bg-primary-focus"
>
Save
</button>
</div>
</form>
</div>
</div>
</div>
</div>
resources/views/livewire/pages/server-license/server-license-edit.blade.php
0 → 100644
View file @
3dca194a
<div
class=
"bg-main-container"
>
<div
class=
"max-w-full mx-auto p-5 "
>
<div
x-data=
"{ messages: @entangle('messages') }"
>
<template
x-for=
"(message, index) in messages"
:key=
"index"
>
<div
x-data=
"{ show: true }"
x-init=
"setTimeout(() => {
show = false;
setTimeout(() => { messages.splice(index, 1); }, 500);
}, 3000)"
x-show=
"show"
x-transition
class=
"fixed top-5 right-5 z-50 bg-green-500 text-white py-2 px-4 rounded-md shadow-lg mt-2"
>
<span
x-text=
"message"
></span>
</div>
</template>
</div>
<div
class=
"flex flex-wrap -mx-3 w-full bg-main-container items-center justify-center "
x-data=
"{ activeTab: 'form' }"
>
<div
class=
"w-11/12 p-5 mb-6 shadow-md rounded-lg bg-white"
>
<div
class=
"text-xl rounded-lg bg-white p-4 flex justify-between self-center"
>
<h3>
Server Key :: {{ $serverKey }}
</h3>
<a
type=
"button"
href=
"/server-license"
class=
"bg-primary text-white px-3 py-1 text-md rounded-md hover:bg-primary-focus"
>
Back
</a>
</div>
<div
class=
"mb-4 border-b border-gray-200"
>
<ul
class=
"flex flex-wrap -mb-px"
>
<li
class=
"mr-2"
>
<a
href=
"#"
@
click.prevent=
"activeTab = 'form'"
:class=
"{ 'border-b-2 border-blue-600 text-blue-600': activeTab === 'form' }"
class=
"inline-block py-2 px-4"
>
Form
</a>
</li>
<li
class=
"mr-2"
>
<a
href=
"#"
@
click.prevent=
"activeTab = 'organize'"
wire:click=
"loadOrganize"
:class=
"{ 'border-b-2 border-blue-600 text-blue-600': activeTab === 'organize' }"
class=
"inline-block py-2 px-4"
>
Organize
</a>
</li>
<li
class=
"mr-2"
>
<a
href=
"#"
@
click.prevent=
"activeTab = 'csvMapping'"
wire:click=
"loadMapping"
:class=
"{ 'border-b-2 border-blue-600 text-blue-600': activeTab === 'csvMapping' }"
class=
"inline-block py-2 px-4"
>
CSV Mapping
</a>
</li>
<li
class=
"mr-2"
>
<a
href=
"#"
@
click.prevent=
"activeTab = 'printForm'"
wire:click=
"loadPrintForm"
:class=
"{ 'border-b-2 border-blue-600 text-blue-600': activeTab === 'printForm' }"
class=
"inline-block py-2 px-4"
>
Print Form
</a>
</li>
<li
class=
"mr-2"
>
<a
href=
"#"
@
click.prevent=
"activeTab = 'userInterface'"
wire:click=
"loadUserInterface"
:class=
"{ 'border-b-2 border-blue-600 text-blue-600': activeTab === 'userInterface' }"
class=
"inline-block py-2 px-4"
>
User Interface
</a>
</li>
<li
class=
"mr-2"
>
<a
href=
"#"
@
click.prevent=
"activeTab = 'global'"
wire:click=
"loadGlobal"
:class=
"{ 'border-b-2 border-blue-600 text-blue-600': activeTab === 'global' }"
class=
"inline-block py-2 px-4"
>
Global
</a>
</li>
<li
class=
"mr-2"
>
<a
href=
"#"
@
click.prevent=
"activeTab = 'parameter'"
wire:click=
"loadParameter"
:class=
"{ 'border-b-2 border-blue-600 text-blue-600': activeTab === 'parameter' }"
class=
"inline-block py-2 px-4"
>
Parameter
</a>
</li>
<li
class=
"mr-2"
>
<a
href=
"#"
@
click.prevent=
"activeTab = 'onload'"
wire:click=
"loadOnload"
:class=
"{ 'border-b-2 border-blue-600 text-blue-600': activeTab === 'onload' }"
class=
"inline-block py-2 px-4"
>
Onload
</a>
</li>
<li
class=
"mr-2"
>
<a
href=
"#"
@
click.prevent=
"activeTab = 'validate'"
wire:click=
"loadValidate"
:class=
"{ 'border-b-2 border-blue-600 text-blue-600': activeTab === 'validate' }"
class=
"inline-block py-2 px-4"
>
Validate
</a>
</li>
<li
class=
"mr-2"
>
<a
href=
"#"
@
click.prevent=
"activeTab = 'mapTo'"
wire:click=
"loadMapTo"
:class=
"{ 'border-b-2 border-blue-600 text-blue-600': activeTab === 'mapTo' }"
class=
"inline-block py-2 px-4"
>
Map To
</a>
</li>
<li
class=
"mr-2"
>
<a
href=
"#"
@
click.prevent=
"activeTab = 'mainVar'"
wire:click=
"loadMainVar"
:class=
"{ 'border-b-2 border-blue-600 text-blue-600': activeTab === 'mainVar' }"
class=
"inline-block py-2 px-4"
>
MainVar
</a>
</li>
<li
class=
"mr-2"
>
<a
href=
"#"
@
click.prevent=
"activeTab = 'fileDownload'"
wire:click=
"loadFileDownload"
:class=
"{ 'border-b-2 border-blue-600 text-blue-600': activeTab === 'fileDownload' }"
class=
"inline-block py-2 px-4"
>
File Download
</a>
</li>
<li
class=
"mr-2"
>
<a
href=
"#"
@
click.prevent=
"activeTab = 'historyPatch'"
wire:click=
"loadHistoryPatch"
:class=
"{ 'border-b-2 border-blue-600 text-blue-600': activeTab === 'historyPatch' }"
class=
"inline-block py-2 px-4"
>
History Patch
</a>
</li>
</ul>
</div>
<div
class=
"flex flex-wrap items-center justify-center "
>
<div
x-show=
"activeTab === 'form'"
class=
"w-4/5 "
>
<form>
<!-- Server Key -->
<div
class=
" flex items-center"
>
<label
for=
"serverKey"
class=
"w-1/4 text-gray-700"
>
Server Key
</label>
<div
class=
"flex flex-col w-3/4"
>
<input
type=
"text"
id=
"serverKey"
class=
" p-2 border border-gray-300 rounded-md"
wire:model.defer=
"serverKey"
>
@error('serverKey')
<div
class=
"text-red-500 text-sm "
>
{{ $message }}
</div>
@enderror
</div>
</div>
<!-- Team -->
<div
class=
"mt-3 flex items-center"
>
<label
for=
"teamId"
class=
"w-1/4 text-gray-700"
>
Team
</label>
<div
class=
"flex flex-col w-3/4"
>
<select
id=
"teamId"
wire:model.defer=
"teamId"
class=
" p-2 border border-gray-300 rounded-md"
>
@foreach ($teams as $team)
<option
value=
"{{ is_object($team) ? $team->id : $team['id'] }}"
>
{{ is_object($team) ? $team->teamName : $team['teamName'] }}
</option>
@endforeach
</select>
@error('teamId')
<div
class=
"text-red-500 text-sm "
>
{{ $message }}
</div>
@enderror
</div>
</div>
<!-- Customer Sizing -->
<div
class=
"mt-3 flex items-center"
>
<label
for=
"customerSize"
class=
"w-1/4 text-gray-700"
>
Customer Sizing
</label>
<div
class=
"flex flex-col w-3/4"
>
<select
id=
"customerSize"
wire:model.defer=
"customerSize"
class=
" p-2 border border-gray-300 rounded-md"
>
@foreach ($sizings as $size)
<option
value=
"{{ is_object($size) ? $size->id : $size['id'] }}"
>
{{ is_object($size) ? $size->sizeName : $size['sizeName'] }}
</option>
@endforeach
</select>
@error('customerSize')
<div
class=
"text-red-500 text-sm "
>
{{ $message }}
</div>
@enderror
</div>
</div>
<!-- Customer Type -->
<div
class=
"mt-3 flex items-center"
>
<label
for=
"customerType"
class=
"w-1/4 text-gray-700"
>
Customer Type
</label>
<div
class=
"flex flex-col w-3/4"
>
<select
id=
"customerType"
wire:model.defer=
"customerType"
class=
" p-2 border border-gray-300 rounded-md"
>
@foreach ($customerTypes as $type)
<option
value=
"{{ is_object($type) ? $type->id : $type['id'] }}"
>
{{ is_object($type) ? $type->sizeTypeName : $type['sizeTypeName'] }}
</option>
@endforeach
</select>
@error('customerType')
<div
class=
"text-red-500 text-sm "
>
{{ $message }}
</div>
@enderror
</div>
</div>
<!-- Company -->
<div
class=
"mt-3 flex items-center"
>
<label
for=
"company"
class=
"w-1/4 text-gray-700"
>
Company
</label>
<div
class=
"flex flex-col w-3/4"
>
<input
type=
"text"
id=
"company"
class=
" p-2 border border-gray-300 rounded-md"
wire:model.defer=
"company"
>
@error('company')
<div
class=
"text-red-500 text-sm "
>
{{ $message }}
</div>
@enderror
</div>
</div>
<!-- Branch -->
<div
class=
"mt-3 flex items-center"
>
<label
for=
"branch"
class=
"w-1/4 text-gray-700"
>
Branch
</label>
<div
class=
"flex flex-col w-3/4"
>
<input
type=
"text"
id=
"branch"
class=
" p-2 border border-gray-300 rounded-md"
wire:model.defer=
"branch"
>
@error('branch')
<div
class=
"text-red-500 text-sm "
>
{{ $message }}
</div>
@enderror
</div>
</div>
<!-- Status -->
<div
class=
"mt-3 flex items-center"
>
<label
class=
"w-1/4 text-gray-700"
>
Status
</label>
<div
class=
"flex flex-col w-3/4"
>
<div
class=
"flex items-center w-3/4"
>
<label
class=
"mr-4"
>
<input
type=
"radio"
name=
"status"
value=
"Y"
wire:model.defer=
"status"
>
Yes
</label>
<label>
<input
type=
"radio"
name=
"status"
value=
"N"
wire:model.defer=
"status"
>
No
</label>
</div>
@error('status')
<div
class=
"text-red-500 text-sm "
>
{{ $message }}
</div>
@enderror
</div>
</div>
<!-- Licensedate -->
<div
class=
"mt-3 flex items-center"
>
<label
for=
"licenseDate"
class=
"w-1/4 text-gray-700"
>
License Date
</label>
<div
class=
"flex flex-col w-3/4"
>
<input
type=
"date"
id=
"licenseDate"
class=
" p-2 border border-gray-300 rounded-md"
wire:model.defer=
"licenseDate"
>
@error('licenseDate')
<div
class=
"text-red-500 text-sm "
>
{{ $message }}
</div>
@enderror
</div>
</div>
<!-- PHP Version -->
<div
class=
"mt-3 flex items-center"
>
<label
for=
"phpVersionId"
class=
"w-1/4 text-gray-700"
>
PHP Version
</label>
<div
class=
"flex flex-col w-3/4"
>
<select
id=
"phpVersionId"
wire:model.defer=
"phpVersionId"
class=
" p-2 border border-gray-300 rounded-md"
>
@foreach ($phpVersions as $version)
<option
value=
"{{ is_object($version) ? $version->id : $version['id'] }}"
>
{{ is_object($version) ? $version->version : $version['version'] }}
</option>
@endforeach
</select>
@error('phpVersionId')
<div
class=
"text-red-500 text-sm "
>
{{ $message }}
</div>
@enderror
</div>
</div>
<!-- Version ปัจจุบัน -->
<div
class=
"mt-3 flex items-center"
>
<label
for=
"currentVersion"
class=
"w-1/4 text-gray-700"
>
Version ปัจจุบัน
</label>
<div
class=
"flex flex-col w-3/4"
>
<input
type=
"text"
id=
"currentVersion"
class=
" p-2 border border-gray-300 rounded-md"
wire:model.defer=
"currentVersion"
>
@error('currentVersion')
<div
class=
"text-red-500 text-sm "
>
{{ $message }}
</div>
@enderror
</div>
</div>
<!-- วันที่ไป Install -->
<div
class=
"mt-3 flex items-center"
>
<label
for=
"installDate"
class=
"w-1/4 text-gray-700"
>
วันที่ไป Install
</label>
<div
class=
"flex flex-col w-3/4"
>
<input
type=
"date"
id=
"installDate"
class=
" p-2 border border-gray-300 rounded-md"
wire:model.defer=
"installDate"
>
@error('installDate')
<div
class=
"text-red-500 text-sm "
>
{{ $message }}
</div>
@enderror
</div>
</div>
<!-- Version ที่ลงครั้งแรก -->
<div
class=
"mt-3 flex items-center"
>
<label
for=
"installVersion"
class=
"w-1/4 text-gray-700"
>
Version ที่ลงครั้งแรก
</label>
<div
class=
"flex flex-col w-3/4"
>
<input
type=
"text"
id=
"installVersion"
class=
" p-2 border border-gray-300 rounded-md"
wire:model.defer=
"installVersion"
>
@error('installVersion')
<div
class=
"text-red-500 text-sm "
>
{{ $message }}
</div>
@enderror
</div>
</div>
<!-- Database Type -->
<div
class=
"mt-3 flex items-center"
>
<label
for=
"databaseType"
class=
"w-1/4 text-gray-700"
>
Database Type
</label>
<div
class=
"flex flex-col w-3/4"
>
<select
id=
"databaseType"
wire:model.defer=
"databaseType"
class=
" p-2 border border-gray-300 rounded-md"
>
@foreach ($dbTypes as $db)
<option
value=
"{{ is_object($db) ? $db->id : $db['id'] }}"
>
{{ is_object($db) ? $db->dbName : $db['dbName'] }}
</option>
@endforeach
</select>
@error('databaseType')
<div
class=
"text-red-500 text-sm "
>
{{ $message }}
</div>
@enderror
</div>
</div>
<!-- Server of -->
<div
class=
"mt-3 flex items-center"
>
<label
for=
"ownerType"
class=
"w-1/4 text-gray-700"
>
Server of
</label>
<div
class=
"flex flex-col w-3/4"
>
<select
id=
"ownerType"
wire:model.defer=
"ownerType"
class=
" p-2 border border-gray-300 rounded-md"
>
@foreach ($ownerTypes as $owner)
<option
value=
"{{ is_object($owner) ? $owner->owntype_code : $owner['owntype_code'] }}"
>
{{ is_object($owner) ? $owner->owntype_description : $owner['owntype_description'] }}
</option>
@endforeach
</select>
@error('ownerType')
<div
class=
"text-red-500 text-sm "
>
{{ $message }}
</div>
@enderror
</div>
</div>
<!-- HSCODE 2017 Method -->
<div
class=
"mt-3 flex items-center"
>
<label
for=
"hscodeMethod"
class=
"w-1/4 text-gray-700"
>
HSCODE 2017 Method
</label>
<div
class=
"flex flex-col w-3/4"
>
<select
id=
"hscodeMethod"
wire:model.defer=
"hscodeMethod"
class=
" p-2 border border-gray-300 rounded-md"
>
<option
value=
"1"
{{
$
hscodeMethod =
=
'1'
?
'
selected
'
:
''
}}
>
Patch
</option>
<option
value=
"2"
{{
$
hscodeMethod =
=
'2'
?
'
selected
'
:
''
}}
>
Run script
</option>
</select>
@error('hscodeMethod')
<div
class=
"text-red-500 text-sm "
>
{{ $message }}
</div>
@enderror
</div>
</div>
<!-- URL / IP Address -->
<div
class=
"mt-3 flex items-center"
>
<label
for=
"customerUrl"
class=
"w-1/4 text-gray-700"
>
URL / IP Address
</label>
<div
class=
"flex flex-col w-3/4"
>
<input
type=
"text"
id=
"customerUrl"
class=
" p-2 border border-gray-300 rounded-md"
wire:model.defer=
"customerUrl"
>
@error('customerUrl')
<div
class=
"text-red-500 text-sm "
>
{{ $message }}
</div>
@enderror
</div>
</div>
<!-- Contact -->
<div
class=
"mt-3 flex items-center"
>
<label
for=
"contact"
class=
"w-1/4 text-gray-700"
>
Contact
</label>
<div
class=
"flex flex-col w-3/4"
>
<input
type=
"text"
id=
"contact"
class=
" p-2 border border-gray-300 rounded-md"
wire:model.defer=
"contact"
>
@error('contact')
<div
class=
"text-red-500 text-sm "
>
{{ $message }}
</div>
@enderror
</div>
</div>
<!-- Contact Customer Name -->
<div
class=
"mt-3 flex items-center"
>
<label
for=
"contactCustomerName"
class=
"w-1/4 text-gray-700"
>
Contact Customer
Name
</label>
<div
class=
"flex flex-col w-3/4"
>
<input
type=
"text"
id=
"contactCustomerName"
class=
" p-2 border border-gray-300 rounded-md"
wire:model.defer=
"contactCustomerName"
>
@error('contactCustomerName')
<div
class=
"text-red-500 text-sm "
>
{{ $message }}
</div>
@enderror
</div>
</div>
<div
class=
"flex justify-center space-x-2 mt-3"
>
<a
type=
"button"
href=
"/server-license"
class=
"bg-slate-200 text-black px-4 py-2 rounded-md hover:bg-slate-400"
>
Back
</a>
<button
type=
"button"
wire:click=
"updateLicense"
class=
"bg-primary text-white px-4 py-2 rounded-md hover:bg-primary-focus"
>
Save
</button>
</div>
</form>
</div>
</div>
<div
x-show=
"activeTab === 'organize'"
>
@if ($tab == 'organize')
@include('livewire.pages.server-license.organize')
@endif
</div>
<div
x-show=
"activeTab === 'csvMapping'"
>
@if ($tab == 'csvMapping')
@include('livewire.pages.server-license.csv-mapping')
@endif
</div>
<div
x-show=
"activeTab === 'printForm'"
>
@if ($tab == 'printForm')
@include('livewire.pages.server-license.print-form')
@endif
</div>
<div
x-show=
"activeTab === 'userInterface'"
>
@if ($tab == 'userInterface')
@include('livewire.pages.server-license.user-interface')
@endif
</div>
<div
x-show=
"activeTab === 'global'"
>
@if ($tab == 'global')
@include('livewire.pages.server-license.global')
@endif
</div>
<div
x-show=
"activeTab === 'parameter'"
>
@if ($tab == 'parameter')
@include('livewire.pages.server-license.parameter')
@endif
</div>
<div
x-show=
"activeTab === 'onload'"
>
@if ($tab == 'onload')
@include('livewire.pages.server-license.onload')
@endif
</div>
<div
x-show=
"activeTab === 'validate'"
>
@if ($tab == 'validate')
@include('livewire.pages.server-license.validate')
@endif
</div>
<div
x-show=
"activeTab === 'mapTo'"
>
@if ($tab == 'mapTo')
@include('livewire.pages.server-license.map-to')
@endif
</div>
<div
x-show=
"activeTab === 'mainVar'"
>
@if ($tab == 'mainVar')
@include('livewire.pages.server-license.main-var')
@endif
</div>
<div
x-show=
"activeTab === 'fileDownload'"
>
@if ($tab == 'fileDownload')
@include('livewire.pages.server-license.file-download')
@endif
</div>
<div
x-show=
"activeTab === 'historyPatch'"
>
@if ($tab === 'historyPatch')
@include('livewire.pages.server-license.history-patch', [
'historyPatchList' => $historyPatchList,
])
@endif
</div>
</div>
</div>
</div>
</div>
resources/views/livewire/pages/server-license/server-license-index.blade.php
0 → 100644
View file @
3dca194a
<div
class=
"border-0 shadow-none "
>
<div
wire:loading.class=
""
wire:loading.class.remove=
"hidden"
wire:target=
"save"
class=
"absolute inset-0 items-center justify-center z-50 bg-slate-50 dark:bg-navy-900 hidden"
>
<div
class=
"flex justify-center items-center "
>
<div
class=
"items-center h-100vh"
style=
"align-content: center;"
>
<div
class=
"animate-spin rounded-full h-32 w-32 border-t-2 border-b-2 border-blue-500"
></div>
</div>
</div>
</div>
<div
class=
"my-5 flex h-8 place-content-center px-4 "
>
<a
href=
"/server-license"
>
<h2
class=
"text-xl text-slate-800 "
>
Server License Management
</h2></a>
<h2
class=
"ml-3 text-xl text-slate-800 font-semibold underline underline-offset-4"
>
{{ $action === 'add' ? 'Create' : ($action === 'edit' ? 'Edit' : '') }}
</h2>
</div>
<div
class=
"m-2"
>
@if ($action === 'list')
@if ($message)
<div
class=
"alert alert-success"
>
<div
wire:ignore
x-data=
"{ show: true }"
x-init=
"setTimeout(() => show = false, 3000)"
x-show.transition.duration.500ms=
"show"
class=
"fixed top-5 right-5 z-50 bg-green-500 text-white py-2 px-4 rounded-md shadow-lg"
>
{{ $message }}
</div>
</div>
@endif
<div
class=
"grid grid-cols-1 gap-4 sm:gap-5 lg:gap-6 bg-main-container rounded-md"
>
<div
class=
"pb-4 pt-5 bg-white rounded-lg shadow-lg"
>
<div
class=
"flex justify-between"
>
<div
class=
"px-2 ml-4"
>
<button
type=
"button"
class=
"py-2 px-3 bg-primary rounded-md text-white hover:bg-primary-focus"
wire:click=
"showServerLicenseAddForm"
>
Add
</button>
<button
type=
"button"
class=
"py-2 px-3 bg-primary rounded-md text-white hover:bg-primary-focus"
wire:click=
"exportLicense"
><i
class=
"fa fa-download mr-2"
aria-hidden=
"true"
></i>
Export
</button>
</div>
<div
class=
"inline-flex flex-initial"
>
<div
x-data=
"{ isInputActive: true }"
>
<div
class=
"flex flex-wrap gap-4 px-5 items-center"
>
<button
@
click=
"isInputActive = !isInputActive"
class=
"btn h-8 w-10 rounded-full p-0 hover:bg-primary-focus hover:text-main-container active:text-main-container focus:text-main-container primary-focus hover:text-main-container active:text-main-container focus:text-main-container dark:hover:bg-navy-300/20 dark:focus:bg-navy-300/20 dark:active:bg-navy-300/25"
>
<svg
xmlns=
"http://www.w3.org/2000/svg"
class=
"h-4.5 w-4.5"
fill=
"none"
viewBox=
"0 0 24 24"
stroke=
"black"
>
<path
stroke-linecap=
"round"
stroke-linejoin=
"round"
stroke-width=
"1.5"
d=
"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"
/>
</svg>
</button>
<span
class=
"w-64"
x-show=
"isInputActive === true"
>
<input
class=
"form-input h-9 peer w-full rounded-lg border border-slate-300 bg-transparent px-3 py-2 placeholder:text-slate-400/70 hover:border-slate-400 focus:border-primary dark:border-navy-450 dark:hover:border-navy-400 dark:focus:border-accent"
placeholder=
"Search Keyword"
type=
"text"
wire:model.defer=
"keyword"
/>
</span>
<span
class=
"w-52"
x-show=
"isInputActive === true"
>
<select
wire:model.defer=
"searchSelected"
class=
"form-select h-9 w-full rounded-lg border border-slate-300 bg-main-container px-3 py-2 hover:border-slate-400 focus:border-primary dark:border-navy-450 dark:bg-navy-700 dark:hover:border-navy-400 dark:focus:border-accent"
>
@foreach ($searchBy as $key => $by)
<option
value=
"{{ $key }}"
>
{{ $by }}
</option>
@endforeach
</select>
</span>
<button
type=
"button"
class=
"bg-primary text-white px-4 py-2 rounded hover:bg-primary-focus"
wire:click=
"search"
>
Search
</button>
</div>
</div>
</div>
</div>
<div
class=
"mx-3 mt-3 px-4"
>
<div
class=
"is-scrollbar-hidden min-w-full table-responsive"
x-data=
"pages.tables.initExample1"
>
<table
aria-describedby=
"mydesc"
class=
"is-hoverable table w-full text-left border-b"
>
<thead>
<tr>
{{--
<th
scope=
"col"
class=
"whitespace-nowrap rounded-tl-lg bg-slate-300 px-4 py-3 font-semibold uppercase text-black dark:bg-navy-800 dark:text-navy-100 lg:px-5"
>
#
</th>
--}}
<th
scope=
"col"
class=
"whitespace-nowrap rounded-tl-lg bg-slate-300 px-4 py-3 font-semibold uppercase text-black dark:bg-navy-800 dark:text-navy-100 lg:px-2"
>
Server Key
</th>
<th
scope=
"col"
class=
"whitespace-nowrap bg-slate-300 px-2 py-3 font-semibold uppercase text-black dark:bg-navy-800 dark:text-navy-100 lg:px-2"
>
Company
</th>
<th
scope=
"col"
class=
"whitespace-nowrap bg-slate-300 px-2 py-3 font-semibold uppercase text-black dark:bg-navy-800 dark:text-navy-100 lg:px-2"
>
Status
</th>
<th
scope=
"col"
class=
"whitespace-nowrap bg-slate-300 px-2 py-3 font-semibold uppercase text-black dark:bg-navy-800 dark:text-navy-100 lg:px-2"
>
License Date
</th>
<th
scope=
"col"
class=
"whitespace-nowrap bg-slate-300 px-2 py-3 font-semibold uppercase text-black dark:bg-navy-800 dark:text-navy-100 lg:px-2"
>
Current Version
</th>
<th
scope=
"col"
class=
"whitespace-nowrap bg-slate-300 px-2 py-3 font-semibold uppercase text-black dark:bg-navy-800 dark:text-navy-100 lg:px-2"
>
Database
</th>
<th
scope=
"col"
class=
"whitespace-nowrap rounded-tr-lg bg-slate-300 px-2 py-3 font-semibold uppercase text-black dark:bg-navy-800 dark:text-navy-100 lg:px-2"
>
Action
</th>
</tr>
</thead>
<tbody>
@foreach ($results as $license)
<tr
class=
"border-y border-transparent border-b-slate-200 dark:border-b-navy-500"
>
{{--
<td
class=
"whitespace-nowrap px-4 py-3 sm:px-5"
>
<label
class=
"inline-flex items-center space-x-2"
>
<input
class=
"form-checkbox is-basic h-4 w-4 rounded border-slate-400/70 checked:bg-primary checked:border-primary focus:border-primary dark:bg-navy-900 dark:border-navy-500 dark:checked:bg-accent dark:checked:border-accent dark:hover:border-accent dark:focus:border-accent"
type=
"checkbox"
wire:model.defer=
"selectedLicense"
value=
"{{ $license->ID }}"
/>
</label>
</td>
--}}
<td
class=
"whitespace-nowrap px-1 py-3 sm:px-2"
>
{{ $license->SNKEY }}
</td>
<td
class=
"whitespace-nowrap px-1 py-3 sm:px-2"
>
{{ \Illuminate\Support\Str::limit($license->COMPANY, 40) }}
</td>
<td
class=
"whitespace-nowrap px-1 py-3 sm:px-2"
>
{{ $license->STATUS }}
</td>
<td
class=
"whitespace-nowrap px-1 py-3 sm:px-2"
>
{{ $license->LICENSEDATE }}
</td>
<td
class=
"whitespace-nowrap px-1 py-3 sm:px-2"
>
{{ $license->CUR_VERSION }}
</td>
<td
class=
"whitespace-nowrap px-1 py-3 sm:px-2"
>
{{ \Illuminate\Support\Str::limit($license->DATABASETYPE, 40) }}
</td>
<td
class=
"whitespace-nowrap px-1 py-3 sm:px-2"
>
<div
class=
"flex justify-center space-x-2"
>
<a
wire:click=
"showServerLicenseEditForm({{ $license->ID }})"
class=
"btn h-8 w-8 p-0 hover:text-main-container active:text-main-container hover:primary-focus focus:primary-focus active:bg-info/25"
>
<i
aria-hidden=
"true"
class=
"fa fa-edit"
></i>
</a>
<a
wire:click=
"showDeleteModal({{ $license->ID }})"
class=
"btn h-8 w-8 p-0 hover:text-main-container active:text-main-container hover:primary-focus focus:primary-focus active:bg-info/25"
>
<i
aria-hidden=
"true"
class=
"fa fa-trash"
></i>
</a>
</div>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
<livewire:delete-modal
/>
{{ $results->links('livewire.paginate-custom') }}
</div>
</div>
</div>
@elseif($action === 'add')
<livewire:pages.server-license.server-license-create
/>
@elseif($action === 'edit')
<livewire:pages.server-license.server-license-edit
:editId=
"$editId"
/>
@endif
@push('script')
<script>
console
.
log
(
"
server-license
"
)
</script>
@endpush
</div>
</div>
resources/views/livewire/pages/server-license/user-interface.blade.php
0 → 100644
View file @
3dca194a
<div
class=
"p-4"
>
<div
class=
"max-w-full mx-auto bg-white rounded-lg"
>
<!-- Table Section -->
<div
class=
"overflow-x-auto p-4"
>
<table
aria-describedby=
"mydesc"
class=
"min-w-full bg-white border border-gray-300"
>
<thead>
<tr
class=
"bg-slate-300 text-gray-700"
>
<th
scope=
"col"
class=
"py-2 px-4 border-b"
>
ID
</th>
<th
scope=
"col"
class=
"py-2 px-4 border-b"
>
Page Code
</th>
<th
scope=
"col"
class=
"py-2 px-4 border-b"
>
Name
</th>
<th
scope=
"col"
class=
"py-2 px-4 border-b"
>
T Name
</th>
<th
scope=
"col"
class=
"py-2 px-4 border-b"
>
Required
</th>
<th
scope=
"col"
class=
"py-2 px-4 border-b"
>
Type
</th>
<th
scope=
"col"
class=
"py-2 px-4 border-b"
>
Spec
</th>
<th
scope=
"col"
class=
"py-2 px-4 border-b"
>
Manual
</th>
<th
scope=
"col"
class=
"py-2 px-4 border-b"
>
User Note
</th>
<th
scope=
"col"
class=
"py-2 px-4 border-b"
>
JS Before Focus
</th>
<th
scope=
"col"
class=
"py-2 px-4 border-b"
>
Cannot Import
</th>
<th
scope=
"col"
class=
"py-2 px-4 border-b"
>
F Name
</th>
<th
scope=
"col"
class=
"py-2 px-4 border-b"
>
Report Flag
</th>
<th
scope=
"col"
class=
"py-2 px-4 border-b"
>
Report Order By
</th>
<th
scope=
"col"
class=
"py-2 px-4 border-b"
>
Report Condition
</th>
<th
scope=
"col"
class=
"py-2 px-4 border-b"
>
Report Table
</th>
<th
scope=
"col"
class=
"py-2 px-4 border-b"
>
Report Type
</th>
<th
scope=
"col"
class=
"py-2 px-4 border-b"
>
Report Format
</th>
<th
scope=
"col"
class=
"py-2 px-4 border-b"
>
Report Align
</th>
<th
scope=
"col"
class=
"py-2 px-4 border-b"
>
User Default
</th>
</tr>
</thead>
<tbody>
@if (count($userInterfaceList) > 0)
@foreach ($userInterfaceList['name'] as $index => $mapId)
<tr
class=
"border-b"
>
<td
class=
"py-2 px-4 border"
>
{{ $index + 1 }}
</td>
<td
class=
"py-2 px-4 border min-w-32"
><input
type=
"text"
class=
"w-full p-2 border border-gray-300 rounded-md"
wire:model.defer=
"userInterfaceList.pageCode.{{ $index }}"
/></td>
<td
class=
"py-2 px-4 border min-w-32"
><input
type=
"text"
class=
"w-full p-2 border border-gray-300 rounded-md"
wire:model.defer=
"userInterfaceList.name.{{ $index }}"
/></td>
<td
class=
"py-2 px-4 border min-w-32"
><input
type=
"text"
class=
"w-full p-2 border border-gray-300 rounded-md"
wire:model.defer=
"userInterfaceList.tname.{{ $index }}"
/></td>
<td
class=
"py-2 px-4 border min-w-24"
><input
type=
"text"
class=
"w-full p-2 border border-gray-300 rounded-md"
wire:model.defer=
"userInterfaceList.required.{{ $index }}"
/></td>
<td
class=
"py-2 px-4 border min-w-32"
><input
type=
"text"
class=
"w-full p-2 border border-gray-300 rounded-md"
wire:model.defer=
"userInterfaceList.type.{{ $index }}"
/></td>
<td
class=
"py-2 px-4 border min-w-24"
><input
type=
"text"
class=
"w-full p-2 border border-gray-300 rounded-md"
wire:model.defer=
"userInterfaceList.spec.{{ $index }}"
/></td>
<td
class=
"py-2 px-4 border min-w-64"
>
<textarea
class=
"w-full p-1 border rounded"
wire:model.defer=
"userInterfaceList.manual.{{ $index }}"
></textarea>
</td>
<td
class=
"py-2 px-4 border min-w-64"
>
<textarea
class=
"w-full p-1 border rounded"
wire:model.defer=
"userInterfaceList.user_note.{{ $index }}"
></textarea>
</td>
<td
class=
"py-2 px-4 border min-w-24"
><input
type=
"text"
class=
"w-full p-2 border border-gray-300 rounded-md"
wire:model.defer=
"userInterfaceList.js_before_focus.{{ $index }}"
/></td>
<td
class=
"py-2 px-4 border min-w-24"
><input
type=
"text"
class=
"w-full p-2 border border-gray-300 rounded-md"
wire:model.defer=
"userInterfaceList.cannotImport.{{ $index }}"
/></td>
<td
class=
"py-2 px-4 border min-w-32"
><input
type=
"text"
class=
"w-full p-2 border border-gray-300 rounded-md"
wire:model.defer=
"userInterfaceList.fname.{{ $index }}"
/></td>
<td
class=
"py-2 px-4 border min-w-24"
><input
type=
"text"
class=
"w-full p-2 border border-gray-300 rounded-md"
wire:model.defer=
"userInterfaceList.reportFlag.{{ $index }}"
/></td>
<td
class=
"py-2 px-4 border min-w-24"
><input
type=
"text"
class=
"w-full p-2 border border-gray-300 rounded-md"
wire:model.defer=
"userInterfaceList.reportOrderBy.{{ $index }}"
/></td>
<td
class=
"py-2 px-4 border min-w-24"
><input
type=
"text"
class=
"w-full p-2 border border-gray-300 rounded-md"
wire:model.defer=
"userInterfaceList.reportCondition.{{ $index }}"
/></td>
<td
class=
"py-2 px-4 border min-w-32"
><input
type=
"text"
class=
"w-full p-2 border border-gray-300 rounded-md"
wire:model.defer=
"userInterfaceList.reportTable.{{ $index }}"
/></td>
<td
class=
"py-2 px-4 border min-w-24"
><input
type=
"text"
class=
"w-full p-2 border border-gray-300 rounded-md"
wire:model.defer=
"userInterfaceList.reportType.{{ $index }}"
/></td>
<td
class=
"py-2 px-4 border min-w-24"
><input
type=
"text"
class=
"w-full p-2 border border-gray-300 rounded-md"
wire:model.defer=
"userInterfaceList.reportFormat.{{ $index }}"
/></td>
<td
class=
"py-2 px-4 border min-w-24"
><input
type=
"text"
class=
"w-full p-2 border border-gray-300 rounded-md"
wire:model.defer=
"userInterfaceList.reportAlign.{{ $index }}"
/></td>
<td
class=
"py-2 px-4 border min-w-64"
>
<textarea
class=
"w-full p-1 border rounded"
wire:model.defer=
"userInterfaceList.user_default.{{ $index }}"
></textarea>
</td>
</tr>
@endforeach
@endif
</tbody>
</table>
</div>
<div
class=
"p-4"
>
<button
wire:click=
"saveUserInterface"
class=
"bg-primary hover:bg-primary-focus text-white font-bold py-2 px-4 rounded"
>
Save
</button>
</div>
</div>
</div>
\ No newline at end of file
resources/views/livewire/pages/server-license/validate.blade.php
0 → 100644
View file @
3dca194a
<div
class=
" p-4"
>
<div
class=
"max-w-full mx-auto bg-white rounded-lg"
>
<!-- Header -->
<div
class=
"text-black p-4 rounded-t-lg flex justify-between items-center"
>
<h1
class=
"text-lg font-semibold"
>
{{ $company }} (SN={{ $serverKey }}):: Onload Condition
</h1>
<button
class=
"bg-info hover:info-focus text-white font-bold py-2 px-4 rounded"
>
Export Query
</button>
</div>
<!-- Table Section -->
<div
class=
"overflow-x-auto p-4"
>
<table
aria-describedby=
"mydesc"
class=
"min-w-full bg-white border border-gray-300"
>
<thead>
<tr
class=
"bg-slate-300 text-gray-700"
>
<th
scope=
"col"
class=
"py-2 px-4 border-b"
>
ID
</th>
<th
scope=
"col"
class=
"py-2 px-4 border-b"
>
Step
</th>
<th
scope=
"col"
class=
"py-2 px-4 border-b"
>
Level
</th>
<th
scope=
"col"
class=
"py-2 px-4 border-b"
>
Name
</th>
<th
scope=
"col"
class=
"py-2 px-4 border-b"
>
Description
</th>
<th
scope=
"col"
class=
"py-2 px-4 border-b"
>
Validate Code
</th>
<th
scope=
"col"
class=
"py-2 px-4 border-b"
>
Doctype
</th>
<th
scope=
"col"
class=
"py-2 px-4 border-b"
>
Active
</th>
</tr>
</thead>
<tbody>
@if (count($validateList) > 0)
@foreach ($validateList['id'] as $index => $onload)
<tr
class=
"border-b"
>
<td
class=
"py-2 px-4 border w-24 text-center"
>
{{ $index +1 }}
</td>
<td
class=
"py-2 px-4 border w-32"
>
<input
type=
"text"
class=
"w-full p-2 border border-gray-300 rounded-md"
wire:model.defer=
"validateList.step.{{ $index }}"
/>
</td>
<td
class=
"py-2 px-4 border w-48"
>
<input
type=
"text"
class=
"w-full p-2 border border-gray-300 rounded-md"
wire:model.defer=
"validateList.level.{{ $index }}"
/>
</td>
<td
class=
"py-2 px-4 border w-32"
>
<input
type=
"text"
class=
"w-full p-2 border border-gray-300 rounded-md"
wire:model.defer=
"validateList.name.{{ $index }}"
/>
</td>
<td
class=
"py-2 px-4 border w-64"
>
<textarea
class=
"w-full p-1 border rounded"
wire:model.defer=
"validateList.desc.{{ $index }}"
></textarea>
</td>
<td
class=
"py-2 px-4 border w-64"
>
<textarea
class=
"w-full p-1 border rounded"
wire:model.defer=
"validateList.validateCode.{{ $index }}"
></textarea>
</td>
<td
class=
"py-2 px-4 border w-48"
>
<input
type=
"text"
class=
"w-full p-2 border border-gray-300 rounded-md"
wire:model.defer=
"validateList.doctype.{{ $index }}"
/>
</td>
<td
class=
"py-2 px-4 border w-24"
>
<input
type=
"text"
class=
"w-full p-2 border border-gray-300 rounded-md"
wire:model.defer=
"validateList.active.{{ $index }}"
/>
</td>
</tr>
@endforeach
@endif
</tbody>
</table>
<div
class=
"p-4"
>
<button
wire:click=
"saveValidate"
class=
"bg-primary hover:bg-primary-focus text-white font-bold py-2 px-4 rounded"
>
Save
</button>
</div>
</div>
</div>
</div>
resources/views/livewire/pages/user/config-manual-response.blade.php
0 → 100644
View file @
3dca194a
<div
class=
"w-4/6 mx-auto p-8 bg-white shadow-lg rounded-lg"
x-data=
"{ showPasswordField: false }"
>
<form
wire:submit.prevent=
"updateConfig"
autocomplete=
"off"
>
<div
class=
"mb-6"
>
<h2
class=
"font-medium flex items-center tracking-wide text-slate-700 line-clamp-1 dark:text-navy-100 lg:text-base"
>
<i
aria-hidden=
"true"
class=
"fa-solid fa-edit text-primary pr-2"
></i>
Edit Config Manual Response
</h2>
</div>
<div
class=
"mb-2"
>
<label
for=
"linkSPN"
class=
"block text-sm font-medium text-gray-700"
>
SPN Endpoint
</label>
<input
type=
"text"
id=
"linkSPN"
class=
"mt-1 block w-full px-4 py-2 border border-gray-300 rounded-md shadow-sm focus:ring-primary focus:border-primary sm:text-sm"
placeholder=
"Link SPN"
wire:model.defer=
"linkSPN"
autocomplete=
"off"
>
</div>
<div
class=
"mb-2"
>
<label
for=
"username"
class=
"block text-sm font-medium text-gray-700"
>
Username: SPN
</label>
<input
type=
"text"
id=
"usernameSPN"
class=
"mt-1 block w-full px-4 py-2 border border-gray-300 rounded-md shadow-sm focus:ring-primary focus:border-primary sm:text-sm"
placeholder=
"Username on SPN"
wire:model.defer=
"usernameSPN"
autocomplete=
"off"
>
</div>
<div
class=
"mb-2"
x-show=
"showPasswordField"
style=
"display: none;"
>
<label
for=
"first_name"
class=
"block text-sm font-medium text-gray-700"
>
Password: SPN
</label>
<input
type=
"password"
id=
"passwordSPN"
class=
"mt-1 block w-full px-4 py-2 border border-gray-300 rounded-md shadow-sm focus:ring-primary focus:border-primary sm:text-sm"
placeholder=
"Password on SPN"
wire:model.defer=
"passwordSPN"
autocomplete=
"off"
>
</div>
<div
class=
"flex w-full mt-5"
>
<div
class=
"ml-auto flex space-x-2 w-3/4 justify-end"
>
<button
class=
"w-1/4 py-2 bg-gray-200 text-gray-700 rounded-md shadow-sm hover:bg-gray-300 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-gray-400"
type=
"button"
wire:click=
"backToMainList"
>
Back
</button>
<button
class=
"w-1/4 py-2 bg-gray-200 text-gray-700 rounded-md shadow-sm hover:bg-gray-300 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-gray-400"
type=
"button"
@
click=
"showPasswordField = !showPasswordField"
>
Config Password
</button>
<button
class=
"w-1/4 py-2 bg-gray-200 text-gray-700 rounded-md shadow-sm hover:bg-gray-300 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-gray-400"
type=
"button"
wire:click=
"testConnection"
>
Test Connection
</button>
<button
class=
"w-1/4 py-2 bg-primary text-white rounded-md shadow-sm hover:bg-primary-dark focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-primary"
type=
"submit"
>
Save
</button>
</div>
</div>
</form>
</div>
resources/views/livewire/pages/user/user-create.blade.php
0 → 100644
View file @
3dca194a
<div
class=
"max-w-lg mx-auto p-8 bg-white shadow-lg rounded-lg"
>
<form
wire:submit.prevent=
"submitForm"
>
@csrf
<div
class=
"mb-6"
>
<h2
class=
"font-medium flex items-center tracking-wide text-slate-700 line-clamp-1 dark:text-navy-100 lg:text-base"
>
<i
aria-hidden=
"true"
class=
"fa-solid fa-edit text-primary"
></i>
Create
</h2>
</div>
<div
class=
"space-y-2"
>
<div
class=
"mb-2"
>
<label
for=
"username"
class=
"block text-sm font-medium text-gray-700"
>
Username:
</label>
<input
type=
"text"
wire:model.defer=
"username"
id=
"username"
class=
"mt-1 block w-full px-4 py-2 border border-gray-300 rounded-md shadow-sm focus:ring-primary focus:border-primary sm:text-sm"
placeholder=
"Enter your name"
>
@error('username')
<span
class=
"text-red-500 text-md self-center ml-4"
>
{{ $message }}
</span>
@enderror
</div>
<div
class=
"mb-2"
>
<label
for=
"first_name"
class=
"block text-sm font-medium text-gray-700"
>
Firstname:
</label>
<input
type=
"text"
wire:model.defer=
"first_name"
id=
"first_name"
class=
"mt-1 block w-full px-4 py-2 border border-gray-300 rounded-md shadow-sm focus:ring-primary focus:border-primary sm:text-sm"
placeholder=
"Enter your name"
>
@error('first_name')
<span
class=
"text-red-500 text-md self-center ml-4"
>
{{ $message }}
</span>
@enderror
</div>
<div
class=
"mb-2"
>
<label
for=
"last_name"
class=
"block text-sm font-medium text-gray-700"
>
Lastname:
</label>
<input
type=
"text"
wire:model.defer=
"last_name"
id=
"last_name"
class=
"mt-1 block w-full px-4 py-2 border border-gray-300 rounded-md shadow-sm focus:ring-primary focus:border-primary sm:text-sm"
placeholder=
"Enter your name"
>
@error('last_name')
<span
class=
"text-red-500 text-md self-center ml-4"
>
{{ $message }}
</span>
@enderror
</div>
<div
class=
"mb-2"
>
<label
for=
"email"
class=
"block text-sm font-medium text-gray-700"
>
Email:
</label>
<input
type=
"email"
wire:model.email=
"email"
id=
"email"
class=
"mt-1 block w-full px-4 py-2 border border-gray-300 rounded-md shadow-sm focus:ring-primary focus:border-primary sm:text-sm"
placeholder=
"Enter your email"
>
@error('email')
<span
class=
"text-red-500 text-md self-center ml-4"
>
{{ $message }}
</span>
@enderror
</div>
<div
class=
"mb-2"
>
<label
for=
"phone"
class=
"block text-sm font-medium text-gray-700"
>
Phone:
</label>
<input
type=
"text"
wire:model.defer=
"phone"
id=
"phone"
class=
"mt-1 block w-full px-4 py-2 border border-gray-300 rounded-md shadow-sm focus:ring-primary focus:border-primary sm:text-sm"
placeholder=
"Enter your name"
>
@error('phone')
<span
class=
"text-red-500 text-md self-center ml-4"
>
{{ $message }}
</span>
@enderror
</div>
<div
class=
"mb-2"
>
<label
for=
"password"
class=
"block text-sm font-medium text-gray-700"
>
Password:
</label>
<input
type=
"password"
wire:model.password=
"password"
id=
"password"
class=
"mt-1 block w-full px-4 py-2 border border-gray-300 rounded-md shadow-sm focus:ring-primary focus:border-primary sm:text-sm"
placeholder=
"Enter your password"
>
@error('password')
<span
class=
"text-red-500 text-md self-center ml-4"
>
{{ $message }}
</span>
@enderror
</div>
<div
class=
"mb-2"
>
<label
for=
"password_confirmation"
class=
"block text-sm font-medium text-gray-700"
>
Confirm
Password:
</label>
<input
type=
"password"
wire:model.defer=
"password_confirmation"
id=
"password_confirmation"
class=
"mt-1 block w-full px-4 py-2 border border-gray-300 rounded-md shadow-sm focus:ring-primary focus:border-primary sm:text-sm"
placeholder=
"Confirm your password"
>
@error('password_confirmation')
<span
class=
"text-red-500 text-xs"
>
{{ $message }}
</span>
@enderror
</div>
<div
wire:ignore
class=
"mb-2"
>
<label
for=
"group"
class=
"block text-sm font-medium text-gray-700"
>
Add Groups:
</label>
<span
class=
"relative flex w-full"
>
<input
class=
"mt-1.5 relative flex w-full"
wire:ignore
x-data=
"{ groupLists: @entangle('group_lists') }"
x-init=
"groupLists = [];
const tempGroup = pages.groupSelect;
pages.fetchGroups(tempGroup).then(() => {
$el._x_tom = new Tom($el, {
...tempGroup.group,
onChange: (value) => {
groupLists = value;
}
});
})"
type=
"text"
>
</span>
</div>
<div
class=
"flex justify-end space-x-4 mt-3"
>
<button
type=
"button"
wire:click=
"goBack"
class=
"px-4 py-2 bg-gray-200 text-gray-700 rounded-md shadow-sm hover:bg-gray-300 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-gray-400"
>
Cancel
</button>
<button
type=
"submit"
type=
"submit"
class=
"px-4 py-2 bg-primary text-white rounded-md shadow-sm hover:bg-primary-dark focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-primary"
>
Save
</button>
</div>
</div>
</div>
resources/views/livewire/pages/user/user-edit.blade.php
0 → 100644
View file @
3dca194a
<div
class=
"max-w-lg mx-auto p-8 bg-white shadow-lg rounded-lg"
x-data=
"{ changePassword: @entangle('changePassword'), tomGReady: false }"
x-show=
"tomGReady"
>
<form
wire:submit.prevent=
"submitEditForm"
>
@csrf
<div
class=
"mb-6"
>
<h2
class=
"font-medium flex items-center tracking-wide text-slate-700 line-clamp-1 dark:text-navy-100 lg:text-base"
>
<i
aria-hidden=
"true"
class=
"fa-solid fa-edit text-primary"
></i>
Edit User
</h2>
</div>
<form
class=
"space-y-6"
>
<div
class=
"mb-2"
>
<label
for=
"username"
class=
"block text-sm font-medium text-gray-700"
>
Username:
</label>
<input
type=
"text"
wire:model.defer=
"username"
id=
"username"
class=
"mt-1 block w-full px-4 py-2 border border-gray-300 rounded-md shadow-sm focus:ring-primary focus:border-primary sm:text-sm"
placeholder=
"Enter your name"
>
@error('username')
<span
class=
"text-red-500 text-md self-center ml-4"
>
{{ $message }}
</span>
@enderror
</div>
<div
class=
"mb-2"
>
<label
for=
"first_name"
class=
"block text-sm font-medium text-gray-700"
>
Firstname:
</label>
<input
type=
"text"
wire:model.defer=
"first_name"
id=
"first_name"
class=
"mt-1 block w-full px-4 py-2 border border-gray-300 rounded-md shadow-sm focus:ring-primary focus:border-primary sm:text-sm"
placeholder=
"Enter your name"
>
@error('first_name')
<span
class=
"text-red-500 text-md self-center ml-4"
>
{{ $message }}
</span>
@enderror
</div>
<div
class=
"mb-2"
>
<label
for=
"last_name"
class=
"block text-sm font-medium text-gray-700"
>
Lastname:
</label>
<input
type=
"text"
wire:model.defer=
"last_name"
id=
"last_name"
class=
"mt-1 block w-full px-4 py-2 border border-gray-300 rounded-md shadow-sm focus:ring-primary focus:border-primary sm:text-sm"
placeholder=
"Enter your name"
>
@error('last_name')
<span
class=
"text-red-500 text-md self-center ml-4"
>
{{ $message }}
</span>
@enderror
</div>
<div
class=
"mb-2"
>
<label
for=
"email"
class=
"block text-sm font-medium text-gray-700"
>
Email:
</label>
<input
type=
"email"
wire:model.email=
"email"
id=
"email"
class=
"mt-1 block w-full px-4 py-2 border border-gray-300 rounded-md shadow-sm focus:ring-primary focus:border-primary sm:text-sm"
placeholder=
"Enter your email"
>
@error('email')
<span
class=
"text-red-500 text-md self-center ml-4"
>
{{ $message }}
</span>
@enderror
</div>
<div
class=
"mb-2"
>
<label
for=
"phone"
class=
"block text-sm font-medium text-gray-700"
>
Phone:
</label>
<input
type=
"text"
wire:model.defer=
"phone"
id=
"phone"
class=
"mt-1 block w-full px-4 py-2 border border-gray-300 rounded-md shadow-sm focus:ring-primary focus:border-primary sm:text-sm"
placeholder=
"Enter your name"
>
@error('phone')
<span
class=
"text-red-500 text-md self-center ml-4"
>
{{ $message }}
</span>
@enderror
</div>
<div
wire:ignore
class=
"mb-2"
>
<label
for=
"group"
class=
"block text-sm font-medium text-gray-700"
>
Add Groups:
</label>
<span
class=
"relative flex w-full"
>
<input
class=
"mt-1.5 relative flex w-full"
wire:ignore
x-data=
"{ groupLists: @entangle('group_lists') }"
x-init=
"groupLists = @js($userGroups);
const tempGroup = pages.groupSelect;
pages.fetchGroups(tempGroup).then(() => {
$el._x_tom = new Tom($el, {
...tempGroup.group,
onChange: (value) => {
groupLists = value;
}
});
$el._x_tom.setValue(groupLists);
tomGReady = true
})"
type=
"text"
>
</span>
</div>
<div
class=
"mb-2"
>
<button
type=
"button"
@
click=
"changePassword = !changePassword"
class=
"btn border bg-gray-300 border-gray-300 font-medium text-gray-800 hover:text-white focus:text-white hover:bg-gray-500 focus:bg-gray-500 active:bg-gray-150/80 dark:border-navy-450 dark:text-navy-50 dark:hover:bg-navy-500 dark:focus:bg-navy-500 dark:active:bg-navy-500/90"
>
Change Password
</button>
</div>
<div
x-show=
"changePassword"
>
<div
class=
"mb-2"
>
<label
for=
"current_password"
class=
"block text-sm font-medium text-gray-700"
>
Current Password:
</label>
<input
type=
"password"
wire:model.defer=
"current_password"
id=
"current_password"
class=
"mt-1 block w-full px-4 py-2 border border-gray-300 rounded-md shadow-sm focus:ring-primary focus:border-primary sm:text-sm"
placeholder=
"Current Password"
>
@error('current_password')
<span
class=
"text-red-500 text-xs"
>
{{ $message }}
</span>
@enderror
</div>
<div
class=
"mb-2"
>
<label
for=
"new_password"
class=
"block text-sm font-medium text-gray-700"
>
New Password:
</label>
<input
type=
"password"
wire:model.defer=
"new_password"
id=
"new_password"
class=
"mt-1 block w-full px-4 py-2 border border-gray-300 rounded-md shadow-sm focus:ring-primary focus:border-primary sm:text-sm"
placeholder=
"Current Password"
>
@error('new_password')
<span
class=
"text-red-500 text-xs"
>
{{ $message }}
</span>
@enderror
</div>
<div
class=
"mb-2"
>
<label
for=
"new_password_confirmation"
class=
"block text-sm font-medium text-gray-700"
>
Confirm New Password:
</label>
<input
type=
"password"
wire:model.defer=
"new_password_confirmation"
id=
"new_password_confirmation"
class=
"mt-1 block w-full px-4 py-2 border border-gray-300 rounded-md shadow-sm focus:ring-primary focus:border-primary sm:text-sm"
placeholder=
"Current Password"
>
@error('new_password_confirmation')
<span
class=
"text-red-500 text-xs"
>
{{ $message }}
</span>
@enderror
</div>
</div>
<div
class=
"flex justify-end space-x-4 mt-3"
>
<button
type=
"button"
wire:click=
"goBack"
class=
"px-4 py-2 bg-gray-200 text-gray-700 rounded-md shadow-sm hover:bg-gray-300 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-gray-400"
>
Cancel
</button>
<button
type=
"submit"
type=
"submit"
class=
"px-4 py-2 bg-primary text-white rounded-md shadow-sm hover:bg-primary-dark focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-primary"
>
Save
</button>
</div>
</form>
</div>
resources/views/livewire/pages/user/user-index.blade.php
0 → 100644
View file @
3dca194a
<div
class=
"border-0 shadow-none"
x-cloak
>
<div
wire:loading.class=
""
wire:loading.class.remove=
"hidden"
wire:target=
"save"
class=
"absolute inset-0 items-center justify-center z-50 bg-slate-50 dark:bg-navy-900 hidden"
>
<div
class=
"flex justify-center items-center "
>
<div
class=
"items-center h-100vh"
style=
"align-content: center;"
>
<div
class=
"animate-spin rounded-full h-32 w-32 border-t-2 border-b-2 border-blue-500"
></div>
</div>
</div>
</div>
<div
class=
"my-5 flex h-8 place-content-center px-4 "
>
<h2
class=
"text-xl text-slate-800"
>
User Management
</h2>
<h2
class=
"ml-3 text-xl text-slate-800 font-semibold underline underline-offset-4"
>
{{ $action === 'create' ? 'Create' : ($action === 'edit' ? 'Edit' : '') }}
</h2>
</div>
<div
class=
"m-2"
x-data=
"{
showDeleteListModal: @entangle('showDeleteListModal') }"
>
@if ($action === 'list')
@if ($message)
<div
class=
"alert alert-success"
>
<div
wire:ignore
x-data=
"{ show: true }"
x-init=
"setTimeout(() => show = false, 3000)"
x-show.transition.duration.500ms=
"show"
class=
"fixed top-5 right-5 z-50 bg-green-500 text-white py-2 px-4 rounded-md shadow-lg"
>
{{ $message }}
</div>
</div>
@endif
<div
class=
"grid grid-cols-1 gap-4 sm:gap-5 lg:gap-6 bg-main-container rounded-md"
>
<div
class=
"pb-4 pt-5 bg-white rounded-lg shadow-lg"
>
<div
class=
"flex justify-between"
>
<div
class=
"px-2 ml-4"
>
<button
type=
"button"
class=
"py-2 px-3 bg-primary rounded-md text-white hover:bg-primary-focus"
wire:click=
"showUserAddForm"
>
Add
</button>
</div>
<div
class=
"inline-flex flex-initial"
>
<div
x-data=
"{ isInputActive: true }"
>
<div
class=
"flex flex-wrap gap-4 px-5 items-center"
>
<button
@
click=
"isInputActive = !isInputActive"
class=
"btn h-8 w-10 rounded-full p-0 hover:bg-primary-focus hover:text-main-container active:text-main-container focus:text-main-container primary-focus hover:text-main-container active:text-main-container focus:text-main-container dark:hover:bg-navy-300/20 dark:focus:bg-navy-300/20 dark:active:bg-navy-300/25"
>
<svg
xmlns=
"http://www.w3.org/2000/svg"
class=
"h-4.5 w-4.5"
fill=
"none"
viewBox=
"0 0 24 24"
stroke=
"black"
>
<path
stroke-linecap=
"round"
stroke-linejoin=
"round"
stroke-width=
"1.5"
d=
"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"
/>
</svg>
</button>
<span
class=
"w-64"
x-show=
"isInputActive === true"
>
<input
class=
"form-input h-9 peer w-full rounded-lg border border-slate-300 bg-transparent px-3 py-2 placeholder:text-slate-400/70 hover:border-slate-400 focus:border-primary dark:border-navy-450 dark:hover:border-navy-400 dark:focus:border-accent"
placeholder=
"Search Keyword"
type=
"text"
wire:model.defer=
"keyword"
/>
</span>
<span
class=
"w-52"
x-show=
"isInputActive === true"
>
<select
wire:model.defer=
"searchSelected"
class=
"form-select h-9 w-full rounded-lg border border-slate-300 bg-main-container px-3 py-2 hover:border-slate-400 focus:border-primary dark:border-navy-450 dark:bg-navy-700 dark:hover:border-navy-400 dark:focus:border-accent"
>
@foreach ($searchBy as $key => $by)
<option
value=
"{{ $key }}"
>
{{ $by }}
</option>
@endforeach
</select>
</span>
<button
type=
"button"
class=
"bg-primary text-white px-4 py-2 rounded hover:bg-primary-focus"
wire:click=
"search"
>
Search
</button>
</div>
</div>
</div>
</div>
<div
class=
"mx-3 mt-3 px-4"
>
<div
class=
"is-scrollbar-hidden min-w-full table-responsive"
x-data=
"pages.tables.initExample1"
>
<table
aria-describedby=
"mydesc"
class=
"is-hoverable table w-full text-left border-b text-black"
>
<thead>
<tr>
<th
scope=
"col"
class=
"whitespace-nowrap rounded-tl-lg bg-slate-300 px-4 py-3 font-semibold uppercase text-black dark:bg-navy-800 dark:text-navy-100 lg:px-5"
>
ID
</th>
<th
scope=
"col"
class=
"whitespace-nowrap bg-slate-300 px-4 py-3 font-semibold uppercase text-black dark:bg-navy-800 dark:text-navy-100 lg:px-5"
>
Name
</th>
<th
scope=
"col"
class=
"whitespace-nowrap bg-slate-300 px-4 py-3 font-semibold uppercase text-black dark:bg-navy-800 dark:text-navy-100 lg:px-5"
>
Email
</th>
<th
scope=
"col"
class=
"whitespace-nowrap bg-slate-300 px-4 py-3 font-semibold uppercase text-black dark:bg-navy-800 dark:text-navy-100 lg:px-5"
>
Group
</th>
<th
scope=
"col"
class=
"whitespace-nowrap bg-slate-300 px-4 py-3 font-semibold uppercase text-black dark:bg-navy-800 dark:text-navy-100 lg:px-5"
>
Create Date
</th>
<th
scope=
"col"
class=
"whitespace-nowrap rounded-tr-lg bg-slate-300 px-4 py-3 font-semibold uppercase text-black dark:bg-navy-800 dark:text-navy-100 lg:px-5"
>
Action
</th>
</tr>
</thead>
<tbody>
@foreach ($results as $index => $user)
<tr
class=
"border-y border-transparent border-b-slate-200 dark:border-b-navy-500"
>
<td
class=
"whitespace-nowrap px-4 py-3 sm:px-5"
>
{{--
<label
for=
"selectedUsers-{{ $user->id }}"
class=
"inline-flex items-center space-x-2"
>
<input
@
change=
"toggleGroup($event)"
class=
"form-checkbox is-basic h-4 w-4 rounded border-slate-400/70 checked:bg-primary checked:border-primary hover:border-primary focus:border-primary dark:bg-navy-900 dark:border-navy-500 dark:checked:bg-accent dark:checked:border-accent dark:hover:border-accent dark:focus:border-accent"
type=
"checkbox"
wire:model.defer=
"selectedUsers"
id=
"selectedUsers-{{ $user->id }}"
value=
"{{ $user->id }}"
/>
</label>
--}}
{{ $user->id }}
</td>
<td
class=
"whitespace-nowrap px-4 py-3 sm:px-5"
>
{{ $user->username }}
</td>
<td
class=
"whitespace-nowrap px-4 py-3 sm:px-5"
>
{{ $user->email }}
</td>
<td
class=
"whitespace-nowrap px-4 py-3 sm:px-5"
>
<ul>
@php
$groups = $user->groups->take(5);
$remainingCount = $user->groups->count() - $groups->count();
@endphp
@foreach ($groups as $group)
<li
class=
"inline-block mr-2 mb-2 px-2 py-1 bg-primary text-white rounded text-xs"
>
{{ $group->name }}
</li>
@endforeach
@if ($remainingCount > 0)
<li
class=
"inline-block px-2 py-1 bg-gray-300 text-gray-700 rounded"
>
+
{{ $remainingCount }} more
</li>
@endif
</ul>
</td>
<td
class=
"whitespace-nowrap px-4 py-3 sm:px-5"
>
{{ $user->created_at }}
</td>
<td
class=
"whitespace-nowrap px-1 py-3 sm:px-2"
>
<div
class=
"flex justify-center space-x-1"
>
<a
wire:click=
"showUserEditForm({{ $user->id }})"
class=
"btn h-8 w-8 p-0 hover:text-main-container active:text-main-container hover:primary-focus focus:primary-focus active:bg-info/25"
>
<i
aria-hidden=
"true"
class=
"fa fa-edit"
></i>
</a>
<a
wire:click=
"showConfigManualResponseForm({{ $user->id }})"
class=
"btn h-8 w-8 p-0 hover:text-main-container active:text-main-container hover:primary-focus focus:primary-focus active:bg-info/25"
>
<i
class=
"fa-solid fa-sliders"
></i>
</a>
<a
@
click=
"$wire.emit('showDeleteModal', {{ $user->id }})"
class=
"btn h-8 w-8 p-0 hover:text-main-container active:text-main-container hover:primary-focus focus:primary-focus active:bg-info/25"
>
<i
aria-hidden=
"true"
class=
"fa fa-trash"
></i>
</a>
</div>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
<template
x-if=
"showDeleteListModal"
>
<div
class=
"fixed inset-0 z-[100] flex flex-col items-center justify-center overflow-hidden px-4 py-6 sm:px-5"
@
keydown.window.escape=
"showDeleteListModal = false"
>
<div
class=
"absolute inset-0 bg-slate-900/60 transition-opacity duration-300"
@
click=
"showDeleteListModal = false"
></div>
<div
class=
"relative p-4 max-w-lg rounded-lg bg-white px-4 py-10 text-center transition-opacity duration-300 dark:bg-navy-700 sm:px-5"
>
<svg
xmlns=
"http://www.w3.org/2000/svg"
class=
"inline h-28 w-28 text-error"
fill=
"none"
viewBox=
"0 0 24 24"
stroke=
"currentColor"
>
<path
stroke-linecap=
"round"
stroke-linejoin=
"round"
stroke-width=
"2"
d=
"M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"
>
</path>
</svg>
<div
class=
"mt-4 mx-5"
>
<h2
class=
"text-2xl text-slate-700 dark:text-navy-100"
>
Are you sure
<br>
you want to delete
<span
x-text=
"selectedUsersAlpine.length"
></span>
users?
</h2>
<p
class=
"mt-2"
></p>
<button
@
click=
"showDeleteListModal = false"
class=
"btn mt-6 bg-[#6a6e69] font-medium text-white hover:bg-[#313430] focus:bg-[#313430]-focus active:bg-[#313430]-focus/90"
>
Close
</button>
<button
@
click=
"$wire.emitSelf('deleteSelected', selectedUsers ); showDeleteListModal = false"
class=
"btn mt-6 bg-error font-medium text-white hover:bg-error-focus focus:bg-error-focus active:bg-error-focus/90"
>
Confirm
</button>
</div>
</div>
</div>
</template>
<livewire:delete-modal
/>
{{ $results->links('livewire.paginate-custom') }}
</div>
</div>
</div>
@elseif($action === 'create')
<livewire:pages.user.user-create
wire:key=
"user-create"
/>
@elseif($action === 'edit')
<livewire:pages.user.user-edit
:editUserId=
"$editUserId"
wire:key=
"user-edit"
/>
@elseif($action === 'configManualResponse')
<livewire:pages.user.config-manual-response
:editUserId=
"$editUserId"
/>
@else
<div></div>
@endif
</div>
</div>
resources/views/livewire/paginate-custom.blade.php
0 → 100644
View file @
3dca194a
@
php
$paginate_master
=
config
(
'masterfile.defaultPagination'
)
?:
[];
// dd($paginator);
@
endphp
<
div
class
=
"flex flex-col flex-wrap justify-between space-y-4 px-4 py-4 sm:flex-row sm:items-center sm:space-y-0 sm:px-5"
>
<
div
class
=
"flex items-center space-x-2 text-xs+"
>
<
span
>
Show
</
span
>
<
label
class
=
"block"
>
<
select
wire
:
model
=
"perPage"
class
=
"form-select rounded-full border border-slate-300 px-2 py-1 pr-6 hover:border-slate-400 focus:border-primary dark:border-navy-450 dark:bg-navy-700 dark:hover:border-navy-400 dark:focus:border-accent"
>
@
foreach
(
$paginate_master
as
$per_page
)
<
option
value
=
"{{
$per_page
}}"
>
{{
$per_page
}}
</
option
>
@
endforeach
</
select
>
</
label
>
<
span
>
entries
</
span
>
</
div
>
<
div
class
=
"pagination"
>
<
span
class
=
"rounded-l-lg bg-slate-150 dark:bg-navy-500"
>
@
if
(
$paginator
->
currentPage
()
>
1
)
<
a
wire
:
click
=
"gotoPage({{
$paginator->currentPage
() - 1 }})"
class
=
"cursor-pointer flex h-8 w-8 items-center justify-center rounded-lg text-slate-500 hover:text-white transition-colors hover:bg-primary-focus focus:bg-primary-focus active:bg-primary-focus/80 dark:text-navy-200 dark:hover:bg-navy-450 dark:focus:bg-navy-450 dark:active:bg-navy-450/90"
>
<
svg
xmlns
=
"http://www.w3.org/2000/svg"
class
=
"h-4 w-4"
fill
=
"none"
viewBox
=
"0 0 24 24"
stroke
=
"currentColor"
>
<
path
stroke
-
linecap
=
"round"
stroke
-
linejoin
=
"round"
d
=
"M15 19l-7-7 7-7"
/>
</
svg
>
</
a
>
@
endif
</
span
>
@
foreach
(
$elements
as
$element
)
@
if
(
is_string
(
$element
))
<
span
class
=
"bg-slate-150 dark:bg-navy-500 list-none"
>
<
a
wire
:
click
=
"gotoPage({{
$page
}})"
class
=
"cursor-pointer flex h-8 min-w-[2rem] items-center justify-center rounded-lg px-3 leading-tight transition-colors hover:text-white hover:bg-primary-focus focus:bg-primary-focus active:bg-primary-focus/80 dark:hover:bg-navy-450 dark:focus:bg-navy-450 dark:active:bg-navy-450/90"
>
{{
$element
}}
</
a
>
</
span
>
@
endif
@
if
(
is_array
(
$element
))
@
foreach
(
$element
as
$page
=>
$url
)
<
span
class
=
"bg-slate-150 dark:bg-navy-500 list-none"
>
@
if
(
$page
==
$paginator
->
currentPage
())
<
span
class
=
"cursor-pointer flex h-8 min-w-[2rem] items-center justify-center rounded-lg bg-primary px-3 leading-tight text-white"
>
{{
$page
}}
</
span
>
@
else
<
a
wire
:
click
=
"gotoPage({{
$page
}})"
class
=
"cursor-pointer flex h-8 min-w-[2rem] items-center justify-center rounded-lg px-3 leading-tight transition-colors hover:text-white hover:bg-primary-focus focus:bg-primary-focus active:bg-primary-focus/80 dark:hover:bg-navy-450 dark:focus:bg-navy-450 dark:active:bg-navy-450/90"
>
{{
$page
}}
</
a
>
@
endif
</
span
>
@
endforeach
@
endif
@
endforeach
<
span
class
=
"rounded-r-lg bg-slate-150 dark:bg-navy-500"
>
@
if
(
$paginator
->
hasMorePages
())
<
a
wire
:
click
=
"gotoPage({{
$paginator->currentPage
() + 1 }})"
class
=
"flex h-8 w-8 items-center justify-center rounded-lg text-slate-500 hover:text-white transition-colors hover:bg-primary-focus focus:bg-primary-focus active:bg-primary-focus/80 dark:text-navy-200 dark:hover:bg-navy-450 dark:focus:bg-navy-450 dark:active:bg-navy-450/90"
>
<
svg
xmlns
=
"http://www.w3.org/2000/svg"
class
=
"h-4 w-4"
fill
=
"none"
viewBox
=
"0 0 24 24"
stroke
=
"currentColor"
>
<
path
stroke
-
linecap
=
"round"
stroke
-
linejoin
=
"round"
d
=
"M9 5l7 7-7 7"
/>
</
svg
>
</
a
>
@
endif
</
span
>
</
div
>
<
div
class
=
"text-xs+"
>
{{
((
$paginator
->
perPage
()
*
$paginator
->
currentPage
()
)
-
$paginator
->
perPage
())
+
1
}}
-
{{
(
$paginator
->
perPage
()
*
$paginator
->
currentPage
()
>
$paginator
->
total
())
?
$paginator
->
total
()
:
$paginator
->
perPage
()
*
$paginator
->
currentPage
()
}}
of
{{
$paginator
->
total
()
}}
entries
</
div
>
</
div
>
resources/views/livewire/select-atleast-modal.blade.php
0 → 100644
View file @
3dca194a
<style>
.bg-gray-800.bg-opacity-20
{
background-color
:
rgba
(
31
,
41
,
55
,
0.20
);
}
</style>
<div
x-show=
"showAlert"
@
click=
"showAlert = false"
class=
"fixed inset-0 z-50 flex items-center justify-center bg-gray-800 bg-opacity-20"
>
<div
class=
"bg-white rounded-lg shadow-lg p-6 max-w-sm w-full"
>
<div
class=
"flex justify-between items-center mb-4"
>
<h2
class=
"text-lg font-semibold text-gray-800"
>
Alert
</h2>
<button
@
click=
"showAlert = false"
class=
"text-gray-400 hover:text-gray-600"
>
<svg
xmlns=
"http://www.w3.org/2000/svg"
class=
"h-6 w-6"
fill=
"none"
viewBox=
"0 0 24 24"
stroke=
"currentColor"
>
<path
stroke-linecap=
"round"
stroke-linejoin=
"round"
stroke-width=
"2"
d=
"M6 18L18 6M6 6l12 12"
/>
</svg>
</button>
</div>
<p
class=
"text-gray-700"
>
Please select at least one.
</p>
<div
class=
"mt-4 text-right"
>
<button
@
click=
"showAlert = false"
class=
"bg-primary text-white px-4 py-2 rounded hover:bg-primary-focus"
>
OK
</button>
</div>
</div>
</div>
resources/views/login.blade.php
View file @
3dca194a
<x-
base
-layout
title=
"Login"
>
<x-
guest
-layout
title=
"Login"
>
<style>
input
:-webkit-autofill
,
input
:-webkit-autofill:focus
{
-webkit-box-shadow
:
0
0
0px
1000px
transparent
inset
;
-webkit-text-fill-color
:
inherit
;
transition
:
background-color
5000s
ease-in-out
0s
;
}
.background-image
{
background-image
:
url('images/login-background.jpg')
;
/* Replace with your image URL */
background-image
:
url('images/login-background.jpg')
;
/* Replace with your image URL */
background-size
:
cover
;
background-position
:
center
;
height
:
100vh
;
...
...
@@ -9,6 +17,7 @@
align-items
:
center
;
justify-content
:
center
;
}
.background-blur
{
position
:
absolute
;
top
:
0
;
...
...
@@ -34,12 +43,14 @@
}
.input-field
{
background
:
rgba
(
255
,
255
,
255
,
0.9
);
/* Change this to the desired background color */
background
:
rgba
(
255
,
255
,
255
,
0.9
);
/* Change this to the desired background color */
border
:
none
;
padding
:
1rem
;
border-radius
:
5px
;
width
:
100%
;
color
:
#333
;
/* Change this to the desired text color */
color
:
#333
;
/* Change this to the desired text color */
}
.input-field
:focus
{
...
...
@@ -73,45 +84,54 @@
<div
class=
"background-image"
>
<div
class=
"background-blur"
></div>
{{--
<div
class=
"background-blur"
></div>
--}}
<div
class=
"glass-effect"
>
<h2
class=
"text-3xl font-bold mb-6 text-center text-white"
>
Sign In
</h2>
<p
class=
"text-center mb-6 text-white"
>
Your Social Campaigns
</p>
<div
class=
"flex flex-col items-center mb-6"
>
{{--
<a
href=
"{{ url('auth/google') }}"
class=
"social-button"
>
<i
class=
"fab fa-google social-icon"
></i>
Sign in with Google
</a>
<a
href=
"{{ url('auth/apple') }}"
class=
"social-button"
>
<i
class=
"fab fa-apple social-icon"
></i>
Sign in with Apple
</a>
--}}
<a
href=
"{{ url('auth/microsoft') }}"
class=
"social-button"
>
<i
class=
"fab fa-microsoft social-icon"
></i>
Sign in with Microsoft Teams
</a>
</div>
<div
class=
"text-center mb-6 text-white"
>
Or with Username
</div>
<form
method=
"POST"
action=
"{{ route('login') }}"
class=
"flex flex-col items-center"
>
@csrf
<div
class=
"w-full mb-4"
>
<label
for=
"username"
class=
"block text-white mb-2"
>
Username
</label>
<input
type=
"text"
id=
"username"
name=
"username"
class=
"input-field"
>
<label
for=
"username"
class=
"block text-white mb-2"
>
UserName
</label>
<input
type=
"text"
id=
"username"
name=
"username"
autocomplete=
"off"
class=
"w-full bg-transparent border-b-2 border-white text-black text-md p-3 active:border-none focus:outline-none active:outline-none focus:border-b-indigo-500 focus:transform focus:translate-y-1 focus:duration-300 focus:text-xl"
placeholder=
"Enter your username"
>
@error('username')
<span
class=
"text-tiny+ text-error"
>
{{ $message }}
</span>
@enderror
</div>
<div
class=
"w-full mb-6"
>
<label
for=
"password"
class=
"block text-white mb-2"
>
Password
</label>
<input
type=
"password"
id=
"password"
name=
"password"
class=
"input-field"
>
<input
type=
"password"
id=
"password"
name=
"password"
autocomplete=
"off"
class=
"w-full bg-transparent border-b-2 border-white text-black text-md p-3 focus:outline-none active:outline-none focus:border-b-indigo-500 focus:transform focus:translate-y-1 focus:duration-300 focus:text-xl"
>
@error('password')
<span
class=
"text-tiny+ text-error"
>
{{ $message }}
</span>
@enderror
</div>
<button
type=
"submit"
class=
"w-full bg-indigo-600 text-white py-2 rounded-lg hover:bg-indigo-700 transition duration-300"
>
Sign In
</button>
<button
type=
"submit"
class=
"w-full bg-[#db6e46] text-white py-2 rounded-lg hover:bg-[#d94400] transition duration-300"
>
Sign
In
</button>
</form>
<div
class=
"text-center mt-6 text-white"
>
Not a Member yet?
<a
href=
"{{ route('register') }}"
class=
"text-indigo-300 hover:text-indigo-500 transition duration-300"
>
Sign Up
</a>
<div
class=
"flex flex-col items-center mb-6 mt-4"
>
{{--
<a
href=
"{{ url('auth/google') }}"
class=
"social-button"
>
<i
aria-hidden=
"true"
class=
"fab fa-google social-icon"
></i>
Sign in with Google
</a>
<a
href=
"{{ url('auth/apple') }}"
class=
"social-button"
>
<i
aria-hidden=
"true"
class=
"fab fa-apple social-icon"
></i>
Sign in with Apple
</a>
--}}
{{--
<a
href=
"{{ url('auth/microsoft') }}"
class=
"social-button"
>
<i
aria-hidden=
"true"
class=
"fab fa-microsoft social-icon"
></i>
Sign in with Microsoft Teams
</a>
--}}
</div>
{{--
<div
class=
"text-center mt-6 text-white"
>
Not a Member yet?
<a
href=
"{{ route('register') }}"
class=
"text-indigo-300 hover:text-indigo-500 transition duration-300"
>
Sign Up
</a>
</div>
--}}
</div>
</div>
</x-
base
-layout>
</x-
guest
-layout>
Prev
1
…
10
11
12
13
14
15
16
Next