first commit

This commit is contained in:
2025-07-07 18:01:52 +05:45
commit 71241f5167
2095 changed files with 112735 additions and 0 deletions

View File

@ -0,0 +1,252 @@
@extends('backend.template')
@section('content')
<!-- start page title -->
<div class="row">
<div class="col-12">
<div class="page-title-box d-sm-flex align-items-center justify-content-between">
<h4 class="mb-sm-0">Add New Form</h4>
<div class="page-title-right">
<ol class="breadcrumb m-0">
<li class="breadcrumb-item"><a href="javascript: void(0);">Dashboards</a></li>
<li class="breadcrumb-item active">Add New Form</li>
</ol>
</div>
</div>
</div>
</div>
<!-- end page title -->
<form action="{{route('forms.store')}}" id="my-form" method="POST">
@csrf
<div class="row">
<div class="col-xl-9">
<div class="card">
<div class="card-body">
<div>
{{createText("title","title","Title")}}
<h5 class="fs-14 mt-2 mb-3 text-muted">Parmalink: <a href="#" target="_blank">http://localhost/bibadmin/bibcms/about.php</a> </h5>
</div>
<div class="border mt-3 border-dashed mb-3"></div>
{{createTextarea("text","text ckeditor-classic","Description")}}
</div>
</div>
<div class="card">
<div class="card-header"><h4 class="card-title mb-0">Add Custom Field</h4></div>
<div class="card-body">
<div id="repeater-container"></div>
<div id="add-button-container"></div>
</div>
</div>
<div class="card">
<div class="card-header"><h4 class="card-title mb-0">Email Notification</h4></div>
<div class="card-body">
<div class="row">
<div class="col-lg-6">{{createText("headers","headers","Headers")}}
</div>
<div class="col-lg-6">{{createText("toemail","toemail","To Email")}}
</div>
<div class="col-lg-6">{{createText("fromemail","fromemail","From Email")}}
</div>
<div class="col-lg-6">{{createText("emailsubject","emailsubject","Email Subject")}}
</div>
<div class="col-lg-6">{{createText("emailtext","emailtext","Email Text")}}
</div>
<div class="col-lg-6">{{createText("autoresponse","autoresponse","Auto Response")}}
</div>
<div class="col-lg-6">{{createText("responseheaders","responseheaders","Response Headers")}}
</div>
<div class="col-lg-6">{{createText("responsefrom","responsefrom","Response From")}}
</div>
<div class="col-lg-6">{{createText("responsesubject","responsesubject","Response Subject")}}
</div>
<div class="col-lg-6">{{createText("responsetext","responsetext","Response Text")}}
</div>
</div>
</div>
</div>
</div>
<div class="col-xl-3">
<div class="card">
<div class="card-header">
<h4 class="card-title mb-0">Featured Image</h4>
</div>
<div class="card-body">
<div class="col-lg-12 pb-2">{{createImageInput("cover_photo","Cover Photo")}}
</div>
<div class="border border-dashed mb-3"></div>
<div class="col-lg-12 pb-2">{{createImageInput("image_thumb","Image Thumb")}}
</div>
</div>
</div>
<div class="card">
<div class="card-header">
<h4 class="card-title mb-0">Published</h4>
</div>
<div class="card-body">
<div class="form-check form-switch form-switch-lg form-switch-success mb-3" dir="ltr">
<input type="checkbox" class="form-check-input" id="customSwitchsizelg" checked="">
<label class="form-check-label" for="customSwitchsizelg">Active</label>
</div>
</div>
<div class="card-footer">
<?php createButton("btn-primary btn-store", "", "Submit"); ?>
<?php createButton("btn-danger btn-cancel", "", "Cancel", route('forms.index')); ?>
</div>
</div>
</div>
</div>
</form>
@endsection
@push("js")
<script>
createFormFieldsRepeater();
// addFormField();
// const addButtonContainer = document.getElementById('add-button-container');
function createFormFieldsRepeater() {
const repeaterContainer = document.getElementById('repeater-container');
const addButtonContainer = document.getElementById('add-button-container');
// Add button
const addButton = document.createElement('button');
addButton.textContent = 'Add Field';
addButton.addEventListener('click', addFormField);
addButtonContainer.appendChild(addButton);
// Repeater fields
let fieldCount = 0;
function addFormField() {
event.preventDefault();
fieldCount++;
// Create form field container
const fieldContainer = document.createElement('div');
fieldContainer.classList.add('form-field');
fieldContainer.classList.add('row');
const fieldInputContainer = document.createElement('div');
fieldInputContainer.classList.add("col");
fieldInputContainer.innerHTML = ("<label for=\"fieldName\" class=\"form-label col-form-label\"> Field Name </label>");
const fieldNameInput = document.createElement('input');
fieldNameInput.setAttribute('type', 'text');
fieldNameInput.setAttribute('name', `fieldNames[]`);
fieldNameInput.setAttribute('placeholder', 'Field Name');
fieldInputContainer.classList.add('col');
fieldNameInput.classList.add('form-control');
fieldInputContainer.appendChild(fieldNameInput);
fieldContainer.appendChild(fieldInputContainer);
// Field Type select
const fieldInputContainers2 = document.createElement('div');
fieldInputContainers2.classList.add("col");
fieldInputContainers2.innerHTML = ("<label for=\"fieldName\" class=\"form-label col-form-label\"> Field Type </label>");
const fieldTypeSelect = document.createElement('select');
fieldTypeSelect.setAttribute('name', `fieldTypes[]`);
const textOption = document.createElement('option');
textOption.setAttribute('value', 'text');
textOption.textContent = 'Text';
fieldTypeSelect.appendChild(textOption);
const textareaOption = document.createElement('option');
textareaOption.setAttribute('value', 'textarea');
textareaOption.textContent = 'Textarea';
fieldTypeSelect.appendChild(textareaOption);
fieldTypeSelect.classList.add('col');
fieldTypeSelect.classList.add('form-control');
fieldInputContainers2.appendChild(fieldTypeSelect);
fieldContainer.appendChild(fieldInputContainers2);
// Field Default input
const fieldInputContainer3 = document.createElement('div');
fieldInputContainer3.classList.add("col");
fieldInputContainer3.innerHTML = ("<label for=\"fieldName\" class=\"form-label col-form-label\"> Default Value </label>");
const fieldDefaultInput = document.createElement('input');
fieldDefaultInput.setAttribute('type', 'text');
fieldDefaultInput.setAttribute('name', `fieldDefaults[]`);
fieldDefaultInput.setAttribute('placeholder', 'Field Default Value');
fieldDefaultInput.classList.add('col');
fieldDefaultInput.classList.add('form-control');
fieldInputContainer3.appendChild(fieldDefaultInput);
fieldContainer.appendChild(fieldInputContainer3);
// Field CSS input
const fieldInputContainer4 = document.createElement('div');
fieldInputContainer4.classList.add("col");
fieldInputContainer4.innerHTML = ("<label for=\"fieldName\" class=\"form-label col-form-label\"> Extra CSS </label>");
const fieldCssInput = document.createElement('input');
fieldCssInput.setAttribute('type', 'text');
fieldCssInput.setAttribute('name', `fieldCss[]`);
fieldCssInput.classList.add('form-control');
fieldInputContainer4.appendChild(fieldCssInput);
fieldContainer.appendChild(fieldInputContainer4);
// Remove button
const fieldInputContainer5 = document.createElement('div');
fieldInputContainer5.classList.add("col");
fieldInputContainer5.innerHTML = ("<label for=\"fieldName\" class=\"form-label col-form-label\"> &nbsp <span class=\"row-selector-handle\">&#9776;</span></label>");
const removeButton = document.createElement('button');
removeButton.textContent = 'Remove Field';
removeButton.classList.add('btn');
removeButton.classList.add('btn-danger');
removeButton.classList.add('col');
removeButton.classList.add('form-control');
removeButton.addEventListener('click', () => {
repeaterContainer.removeChild(fieldContainer);
});
fieldInputContainer5.appendChild(removeButton);
fieldContainer.appendChild(fieldInputContainer5);
repeaterContainer.appendChild(fieldContainer);
makeSortable();
}
}
</script>
<!-- jQuery library -->
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<!-- jQuery UI Sortable library -->
<script src="https://code.jquery.com/ui/1.13.1/jquery-ui.js"></script>
<!-- Add the CSS for jQuery UI Sortable (optional, but recommended for styling) -->
<link rel="stylesheet" href="https://code.jquery.com/ui/1.13.1/themes/base/jquery-ui.css">
<script>
function makeSortable(){
$(document).ready(function () {
// Make the repeater-container sortable
$("#repeater-container").sortable({
axis: "y", // Allow sorting only vertically
handle: ".row-selector-handle", // Define the handle element for dragging (form-field class)
containment: "parent", // Keep the sorting within the repeater-container
});
// Disable text selection while dragging to avoid text highlighting
$("#repeater-container").disableSelection();
});
}
</script>
@endpush

View File

@ -0,0 +1,277 @@
@extends('backend.template')
@section('content')
<div class="row">
<div class="col-12">
<div class="page-title-box d-sm-flex align-items-center justify-content-between">
<h4 class="mb-sm-0">Edit Form</h4>
<div class="page-title-right">
<ol class="breadcrumb m-0">
<li class="breadcrumb-item"><a href="javascript: void(0);">Dashboards</a></li>
<li class="breadcrumb-item active">Edit Form</li>
</ol>
</div>
</div>
</div>
</div>
<!-- end page title -->
<form action="{{route('forms.update',[$data->form_id])}}" id="updateCustomForm" method="POST">
@csrf <input type=hidden name='form_id' value='{{$data->form_id}}' />
<div class="row">
<div class="col-xl-9">
<div class="card">
<div class="card-body">
<div>
{{createText("title","title","Title",'',$data->title)}}
</div>
<div class="border mt-3 border-dashed mb-3"></div>
{{createTextarea("text","text ckeditor-classic","Description",$data->text)}}
</div>
</div>
<div class="card">
<div class="card-header">
<h4 class="card-title mb-0">Edit Custom Field</h4>
</div>
<div class="card-body">
<div id="repeater-container">
@foreach(json_decode($data->form_fields) as $field)
<div class="form-field row">
<div class="col"><label for="fieldName" class="form-label col-form-label"> Field Name </label><input type="text" name="fieldNames[]" placeholder="Field Name" class="form-control" autocomplete="off" value="{{$field->fieldName}}"></div>
<div class="col"><label for="fieldName" class="form-label col-form-label"> Field Type </label><select name="fieldTypes[]" class="col form-control">
<option value="text" <?php if($field->fieldType=="text") echo "SELECTED"; ?>>Text</option>
<option value="textarea" <?php if($field->fieldType=="textarea") echo "SELECTED"; ?>>Textarea</option>
</select></div>
<div class="col"><label for="fieldName" class="form-label col-form-label"> Default Value </label><input type="text" name="fieldDefaults[]" placeholder="Field Default Value" class="col form-control" value="{{$field->fieldDefault}}"></div>
<div class="col"><label for="fieldName" class="form-label col-form-label"> Extra CSS </label><input type="text" name="fieldCss[]" class="form-control" value="{{$field->fieldCss}}"></div>
<div class="col"><label for="fieldName" class="form-label col-form-label"> &nbsp; <span class="row-selector-handle">&#9776;</span></label><button class="btn btn-danger col form-control" onclick="removeRow(this);">Remove Field</button></div>
</div>
@endforeach
</div>
<div class="border mt-3 border-dashed mb-3"></div>
<div id="add-button-container">
</div>
</div>
</div>
<div class="card">
<div class="card-header">
<h4 class="card-title mb-0">Email Notification</h4>
</div>
<div class="card-body">
<div class="row">
<div class="col-lg-6">{{createText("headers","headers","Headers",'',$data->headers)}}
</div>
<div class="col-lg-6">{{createText("toemail","toemail","Toemail",'',$data->toemail)}}
</div>
<div class="col-lg-6">{{createText("fromemail","fromemail","Fromemail",'',$data->fromemail)}}
</div>
<div class="col-lg-6">{{createText("emailsubject","emailsubject","Emailsubject",'',$data->emailsubject)}}
</div>
<div class="col-lg-6">{{createText("emailtext","emailtext","Emailtext",'',$data->emailtext)}}
</div>
<div class="col-lg-6">{{createText("autoresponse","autoresponse","Autoresponse",'',$data->autoresponse)}}
</div>
<div class="col-lg-6">{{createText("responseheaders","responseheaders","Responseheaders",'',$data->responseheaders)}}
</div>
<div class="col-lg-6">{{createText("responsefrom","responsefrom","Responsefrom",'',$data->responsefrom)}}
</div>
<div class="col-lg-6">{{createText("responsesubject","responsesubject","Responsesubject",'',$data->responsesubject)}}
</div>
<div class="col-lg-6">{{createText("responsetext","responsetext","Responsetext",'',$data->responsetext)}}
</div>
</div>
</div>
</div>
</div>
<div class="col-xl-3">
<div class="card">
<div class="card-header">
<h4 class="card-title mb-0">Featured Image</h4>
</div>
<div class="card-body">
<div class="col-lg-12 pb-2">{{createImageInput("cover_photo","Cover Photo",'',$data->cover_photo)}}
</div>
<div class="border border-dashed mb-3"></div>
<div class="col-lg-12 pb-2">{{createImageInput("image_thumb","Image Thumb",'',$data->image_thumb)}}
</div>
</div>
</div>
<div class="card">
<div class="card-header">
<h4 class="card-title mb-0">Published</h4>
</div>
<div class="card-body">
<div class="form-check form-switch form-switch-lg form-switch-success mb-3" dir="ltr">
<input type="checkbox" class="form-check-input" id="customSwitchsizelg" checked="">
<label class="form-check-label" for="customSwitchsizelg">Active</label>
</div>
</div>
<div class="card-footer">
<?php createButton("btn-primary btn-update", "", "Submit"); ?>
<?php createButton("btn-danger btn-cancel", "", "Cancel", route('forms.index')); ?>
</div>
</div>
</div>
</div>
</form>
@endsection
@push("js")
<script>
function createFormFieldsRepeater() {
const repeaterContainer = document.getElementById('repeater-container');
const addButtonContainer = document.getElementById('add-button-container');
// Add button
const addButton = document.createElement('button');
addButton.textContent = 'Add Field';
addButton.addEventListener('click', addFormField);
addButtonContainer.appendChild(addButton);
// Repeater fields
let fieldCount = 0;
function addFormField() {
event.preventDefault();
fieldCount++;
// Create form field container
const fieldContainer = document.createElement('div');
fieldContainer.classList.add('form-field');
fieldContainer.classList.add('row');
const fieldInputContainer = document.createElement('div');
fieldInputContainer.classList.add("col");
fieldInputContainer.innerHTML = ("<label for=\"fieldName\" class=\"form-label col-form-label\"> Field Name </label>");
const fieldNameInput = document.createElement('input');
fieldNameInput.setAttribute('type', 'text');
fieldNameInput.setAttribute('name', `fieldNames[]`);
fieldNameInput.setAttribute('placeholder', 'Field Name');
fieldInputContainer.classList.add('col');
fieldNameInput.classList.add('form-control');
fieldInputContainer.appendChild(fieldNameInput);
fieldContainer.appendChild(fieldInputContainer);
// Field Type select
const fieldInputContainers2 = document.createElement('div');
fieldInputContainers2.classList.add("col");
fieldInputContainers2.innerHTML = ("<label for=\"fieldName\" class=\"form-label col-form-label\"> Field Type </label>");
const fieldTypeSelect = document.createElement('select');
fieldTypeSelect.setAttribute('name', `fieldTypes[]`);
const textOption = document.createElement('option');
textOption.setAttribute('value', 'text');
textOption.textContent = 'Text';
fieldTypeSelect.appendChild(textOption);
const textareaOption = document.createElement('option');
textareaOption.setAttribute('value', 'textarea');
textareaOption.textContent = 'Textarea';
fieldTypeSelect.appendChild(textareaOption);
fieldTypeSelect.classList.add('col');
fieldTypeSelect.classList.add('form-control');
fieldInputContainers2.appendChild(fieldTypeSelect);
fieldContainer.appendChild(fieldInputContainers2);
// Field Default input
const fieldInputContainer3 = document.createElement('div');
fieldInputContainer3.classList.add("col");
fieldInputContainer3.innerHTML = ("<label for=\"fieldName\" class=\"form-label col-form-label\"> Default Value </label>");
const fieldDefaultInput = document.createElement('input');
fieldDefaultInput.setAttribute('type', 'text');
fieldDefaultInput.setAttribute('name', `fieldDefaults[]`);
fieldDefaultInput.setAttribute('placeholder', 'Field Default Value');
fieldDefaultInput.classList.add('col');
fieldDefaultInput.classList.add('form-control');
fieldInputContainer3.appendChild(fieldDefaultInput);
fieldContainer.appendChild(fieldInputContainer3);
// Field CSS input
const fieldInputContainer4 = document.createElement('div');
fieldInputContainer4.classList.add("col");
fieldInputContainer4.innerHTML = ("<label for=\"fieldName\" class=\"form-label col-form-label\"> Extra CSS </label>");
const fieldCssInput = document.createElement('input');
fieldCssInput.setAttribute('type', 'text');
fieldCssInput.setAttribute('name', `fieldCss[]`);
fieldCssInput.classList.add('form-control');
fieldInputContainer4.appendChild(fieldCssInput);
fieldContainer.appendChild(fieldInputContainer4);
// Remove button
const fieldInputContainer5 = document.createElement('div');
fieldInputContainer5.classList.add("col");
fieldInputContainer5.innerHTML = ("<label for=\"fieldName\" class=\"form-label col-form-label\"> &nbsp <span class=\"row-selector-handle\">&#9776;</span></label>");
const removeButton = document.createElement('button');
removeButton.textContent = 'Remove Field';
removeButton.classList.add('btn');
removeButton.classList.add('btn-danger');
removeButton.classList.add('col');
removeButton.classList.add('form-control');
removeButton.addEventListener('click', () => {
//event.preventDefault();
repeaterContainer.removeChild(fieldContainer);
});
fieldInputContainer5.appendChild(removeButton);
fieldContainer.appendChild(fieldInputContainer5);
repeaterContainer.appendChild(fieldContainer);
}
makeSortable();
}
function removeRow(button) {
event.preventDefault();
const row = button.parentNode.parentNode;
row.parentNode.removeChild(row);
}
</script>
<!-- jQuery library -->
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<!-- jQuery UI Sortable library -->
<script src="https://code.jquery.com/ui/1.13.1/jquery-ui.js"></script>
<!-- Add the CSS for jQuery UI Sortable (optional, but recommended for styling) -->
<link rel="stylesheet" href="https://code.jquery.com/ui/1.13.1/themes/base/jquery-ui.css">
<script>
function makeSortable(){
$(document).ready(function () {
// Make the repeater-container sortable
$("#repeater-container").sortable({
axis: "y", // Allow sorting only vertically
handle: ".row-selector-handle", // Define the handle element for dragging (form-field class)
containment: "parent", // Keep the sorting within the repeater-container
});
// Disable text selection while dragging to avoid text highlighting
$("#repeater-container").disableSelection();
});
}
createFormFieldsRepeater();
</script>
@endpush

View File

@ -0,0 +1,208 @@
@extends('backend.template')
@section('content')
<div class="card">
<div class="card-header d-flex justify-content-between align-items-center">
<h2>{{ label("Forms List") }}</h2>
<a href="{{ route('forms.create') }}" class="btn btn-primary"><span>{{label("Create New")}}</span></a>
</div>
<div class="card-body">
<div class="table-responsive table-card">
<table class="table dataTable align-middle table-nowrap mb-0" id="tbl_forms" data-url="{{ route('forms.sort') }}">
<thead class="table-light">
<tr>
<th scope="col">{{label("Sn.")}}</th>
<th scope="col""><span class="overline-title">{{ label("Title") }}</span></th>
<th scope="col"><span class="overline-title">{{ label("Alias") }}</span></th>
<th scope="col"><span class="overline-title">{{ label("cover Photo") }}</span></th>
<th scope="col" data-sortable="false"><span class="overline-title">{{ label("Action") }}</span>
</th>
</tr>
</thead>
<tbody>
@php
$i = 1;
@endphp
@foreach ($data as $item)
<tr data-id="{{$item->form_id}}" data-display_order="{{$item->display_order}}" class="draggable-row">
<td class="tb-col">{{ $i++ }}</td>
<td class="tb-col">{{ $item->title }}</td>
<td class="tb-col">
<div class="alias-wrapper" data-id="{{$item->form_id}}">
<span class="alias">{{ $item->alias }}</span>
<input type="text" class="alias-input d-none" value="{{ $item->alias }}" id="alias_{{$item->form_id}}" />
</div>
<span class="badge badge-soft-primary change-alias-badge">change alias</span>
</td>
<td class="tb-col">{{ showImageThumb($item->cover_photo) }}</td>
<td class="tb-col">
<div class="dropdown d-inline-block">
<button class="btn btn-soft-secondary btn-sm dropdown" type="button" data-bs-toggle="dropdown" aria-expanded="false">
<i class="ri-more-fill align-middle"></i>
</button>
<ul class="dropdown-menu dropdown-menu-end">
<li><a href="{{route('forms.show',[$item->form_id])}}" class="dropdown-item"><i class="ri-eye-fill align-bottom me-2 text-muted"></i> {{label("View")}}</a></li>
<li><a href="{{route('forms.edit',[$item->form_id])}}" class="dropdown-item edit-item-btn"><i class="ri-pencil-fill align-bottom me-2 text-muted"></i> {{label("Edit")}}</a></li>
<li>
<a href="{{route('forms.destroy',[$item->form_id])}}" class="dropdown-item remove-item-btn" onclick="confirmDelete(this.href)">
<i class="ri-delete-bin-fill align-bottom me-2 text-muted"></i> {{ label('Delete') }}
</a>
</li>
</ul>
</div>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
</div>
@endsection
@push("css")
<link rel="stylesheet" href="https://cdn.datatables.net/1.13.5/css/dataTables.bootstrap4.min.css">
<link rel="stylesheet" href="https://cdn.datatables.net/rowreorder/1.4.0/css/rowReorder.dataTables.min.css">
@endpush
@push("js")
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.68/pdfmake.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.68/vfs_fonts.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script src="https://cdn.datatables.net/1.13.5/js/jquery.dataTables.min.js"></script>
<script src="https://cdn.datatables.net/buttons/2.4.1/js/buttons.html5.min.js"></script>
<script src="https://cdn.datatables.net/rowreorder/1.4.0/js/dataTables.rowReorder.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>
<script>
$(document).ready(function(e) {
$('.change-alias-badge').on('click', function() {
var aliasWrapper = $(this).prev('.alias-wrapper');
var aliasSpan = aliasWrapper.find('.alias');
var aliasInput = aliasWrapper.find('.alias-input');
var isEditing = $(this).hasClass('editing');
aliasInput.toggleClass("d-none");
if (isEditing) {
// Update alias text and switch to non-editing state
var newAlias = aliasInput.val();
aliasSpan.text(newAlias);
aliasSpan.show();
aliasInput.hide();
$(this).removeClass('editing').text('Change Alias');
var articleId = $(aliasWrapper).data('id');
var ajaxUrl = "{{ route('forms.updatealias') }}";
var data = {
articleId: articleId,
newAlias: newAlias
};
$.ajax({
url: ajaxUrl,
type: 'POST',
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
data: data,
success: function(response) {
console.log(response);
},
error: function(xhr, status, error) {
console.error(error);
}
});
} else {
// Switch to editing state
aliasSpan.hide();
aliasInput.show().focus();
$(this).addClass('editing').text('Save Alias');
}
});
var mytable = $(".dataTable").DataTable({
ordering: true,
rowReorder: {
//selector: 'tr'
},
});
var isRowReorderComplete = false;
mytable.on('row-reorder', function(e, diff, edit) {
isRowReorderComplete = true;
});
mytable.on('draw', function() {
if (isRowReorderComplete) {
var url = mytable.table().node().getAttribute('data-url');
var ids = mytable.rows().nodes().map(function(node) {
return $(node).data('id');
}).toArray();
console.log(ids);
$.ajax({
url: url,
type: "POST",
headers: {
"X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr('content')
},
data: {
id_order: ids
},
success: function(response) {
console.log(response);
},
error: function(xhr, status, error) {
console.error(error);
}
});
isRowReorderComplete = false;
}
});
});
function confirmDelete(url) {
event.preventDefault();
Swal.fire({
title: 'Are you sure?',
text: 'You will not be able to recover this item!',
icon: 'warning',
showCancelButton: true,
confirmButtonText: 'Delete',
cancelButtonText: 'Cancel',
reverseButtons: true
}).then((result) => {
if (result.isConfirmed) {
$.ajax({
url: url,
type: 'DELETE',
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
success: function(response) {
Swal.fire('Deleted!', 'The item has been deleted.', 'success');
location.reload();
},
error: function(xhr, status, error) {
Swal.fire('Error!', 'An error occurred while deleting the item.', 'error');
}
});
}
});
}
</script>
@endpush

View File

@ -0,0 +1,29 @@
@extends('backend.template')
@section('content')
<div class='card'>
<div class='card-header d-flex justify-content-between align-items-center'>
<h2><?php echo label('View Details'); ?></h2>
<?php createButton("btn-primary btn-cancel","","Back to List",route('forms.index')); ?>
</div>
<div class='card-body'>
<p><b>Title :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{$data->title}}</span></p><p><b>Alias :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{$data->alias}}</span></p><p><b>Cover Photo :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{$data->cover_photo}}</span></p><p><b>Image Thumb :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{$data->image_thumb}}</span></p><p><b>Form Fields :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{$data->form_fields}}</span></p><p><b>Text :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{$data->text}}</span></p><p><b>Headers :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{$data->headers}}</span></p><p><b>Toemail :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{$data->toemail}}</span></p><p><b>Fromemail :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{$data->fromemail}}</span></p><p><b>Emailsubject :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{$data->emailsubject}}</span></p><p><b>Emailtext :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{$data->emailtext}}</span></p><p><b>Autoresponse :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{$data->autoresponse}}</span></p><p><b>Responseheaders :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{$data->responseheaders}}</span></p><p><b>Responsefrom :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{$data->responsefrom}}</span></p><p><b>Responsesubject :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{$data->responsesubject}}</span></p><p><b>Responsetext :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{$data->responsetext}}</span></p><p><b>Display Order :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{$data->display_order}}</span></p><p><b>Status :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span
class="{{$data->status == 1 ? 'text-success' : 'text-danger'}}">{{$data->status == 1 ? 'Active' : 'Inactive'}}</span></p><p><b>Createdby :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{$data->createdby}}</span></p><p><b>Updatedby :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{$data->updatedby}}</span></p><div class="d-flex justify-content-between">
<div>
<p><b>Created On :</b>&nbsp;&nbsp;&nbsp;<span>{{$data->created_at}}</span></p>
<p><b>Created By :</b>&nbsp;&nbsp;&nbsp;<span>{{$data->createdBy}}</span></p>
</div>
<div>
<p><b>Updated On :</b>&nbsp;&nbsp;&nbsp;<span>{{$data->updated_at}}</span></p>
<p><b>Updated By :</b>&nbsp;&nbsp;&nbsp;<span>{{$data->updatedBy}}</span></p>
</div>
</div>
</div>
</div>
@endSection