simedkom/resources/views/partials/app/datatable.blade.php
myuqinurrohman 04a464a2f9 feat: filter data
feat: export data
2025-04-22 08:27:43 +07:00

1276 lines
54 KiB
PHP

{{-- <script>
alert('hai');
</script> --}}
<script>
var datatableLanguage = {
search: "", // Menghilangkan teks 'Search :'
searchPlaceholder: "Cari data...", // Placeholder untuk input pencarian
zeroRecords: "Tidak ditemukan data yang sesuai", // Teks ketika data tidak ditemukan
info: "Menampilkan _START_ sampai _END_ dari _TOTAL_ entri", // Info menampilkan data
infoEmpty: "Menampilkan 0 sampai 0 dari 0 entri", // Jika tidak ada data
infoFiltered: "(difilter dari _MAX_ total entri)", // Info setelah difilter
lengthMenu: "_MENU_", // Custom teks untuk Show Entries
paginate: {
previous: "Sebelumnya", // Custom teks Previous
next: "Berikutnya" // Custom teks Next
},
processing: '<div class="spinner-border" role="status"><span class="sr-only">Loading...</span></div>',
emptyTable: "Tidak ada data tersedia",
zeroRecords: "Tidak ditemukan data yang sesuai",
processing: '<div class="custom-loader">Memuat data...</div>'
};
</script>
@if ($datatable === 'classification')
<script>
$(document).ready(function() {
$('#classificationsTable').DataTable({
processing: true,
serverSide: true,
ajax: {
url: '{{ route('dashboard.classifications.data') }}',
type: 'GET',
data: function(d) {
d.filter = '{{ $filter }}';
d.new_data = '{{ $new_data }}';
}
},
columns: [
{ data: 'DT_RowIndex', name: 'DT_RowIndex', orderable: false, searchable: false },
{ data: 'name', name: 'name' },
{ data: 'sub_classifications', name: 'sub_classifications' },
{ data: 'issues', name: 'issues' },
{ data: 'status', name: 'status' },
{ data: 'action', name: 'action', orderable: false, searchable: false },
{ data: 'created_at', name: 'created_at', visible: false },
{ data: 'id', name: 'id', orderable: true, searchable: false, visible: false },
],
columnDefs: [
{ targets: 0, width: '3%' }, // Index
{ targets: 1, width: '40%' }, // Name
{ targets: 2, width: '8%' }, // Sub Classification
{ targets: 3, width: '8%' }, // Issue
{ targets: 4, width: '5%' }, // Status
{ targets: 5, width: '2%', className: 'text-center' }, // Action button
{
targets: [1], // Title & Link
createdCell: function(td) {
$(td).css({
'white-space': 'normal',
'word-break': 'break-word',
});
}
}
],
language: datatableLanguage,
// responsive: true,
autoWidth: false,
order: [
[6, 'desc'],
],
pagingType: "simple",
lengthMenu: [[10, 25, 50, 100, -1], ['Tampilkan 10 data', 'Tampilkan 25 data', 'Tampilkan 50 data', 'Tampilkan 100 data', 'Tampilkan semua']],
scrollX: true
});
});
</script>
@endif
@if ($datatable === 'sub_classification')
<script>
$(document).ready(function() {
$('#subClassificationsTable').DataTable({
processing: true,
serverSide: true,
ajax: {
url: '{{ route('dashboard.sub.classifications.data') }}',
type: 'GET',
data: function(d) {
d.classification = '{{ $classification }}';
d.filter = '{{ $filter }}';
d.new_data = '{{ $new_data }}';
}
},
columns: [
{ data: 'DT_RowIndex', name: 'DT_RowIndex', orderable: false, searchable: false },
{ data: 'name', name: 'name' },
{ data: 'classification', name: 'classification' },
{ data: 'issues', name: 'issues' },
{ data: 'status', name: 'status' },
{ data: 'action', name: 'action', orderable: false, searchable: false },
{ data: 'created_at', name: 'created_at', visible: false },
{ data: 'id', name: 'id', orderable: true, searchable: false, visible: false },
],
columnDefs: [
{ targets: 0, width: '3%' }, // Index
{ targets: 1, width: '20%' }, // Classification
{ targets: 2, width: '20%' }, // Name
{ targets: 3, width: '5%' }, // Issue
{ targets: 4, width: '5%' }, // Status
{ targets: 5, width: '2%', className: 'text-center' }, // Action button
{
targets: [1, 2], // Title & Link
createdCell: function(td) {
$(td).css({
'white-space': 'normal',
'word-break': 'break-word',
});
}
}
],
language: datatableLanguage,
// responsive: true,
autoWidth: false,
order: [
[6, 'desc']
],
pagingType: "simple",
lengthMenu: [[10, 25, 50, 100, -1], ['Tampilkan 10 data', 'Tampilkan 25 data', 'Tampilkan 50 data', 'Tampilkan 100 data', 'Tampilkan semua']],
scrollX: true
});
});
</script>
@endif
@if ($datatable === 'location')
<script>
$(document).ready(function() {
$('#locationsTable').DataTable({
processing: true,
serverSide: true,
ajax: '{{ route('dashboard.locations.data') }}',
ajax: {
url: '{{ route('dashboard.locations.data') }}',
type: 'GET',
data: function(d) {
d.new_data = '{{ $new_data }}';
}
},
columns: [
{ data: 'DT_RowIndex', name: 'DT_RowIndex', orderable: false, searchable: false },
{ data: 'name', name: 'name' },
{ data: 'sub_locations', name: 'sub_locations' },
{ data: 'issues', name: 'issues' },
{ data: 'status', name: 'status' },
{ data: 'action', name: 'action', orderable: false, searchable: false },
{ data: 'created_at', name: 'created_at', visible: false },
{ data: 'id', name: 'id', orderable: true, searchable: false, visible: false },
],
columnDefs: [
{ targets: 0, width: '2%' }, // Index
{ targets: 1, width: '20%' }, // Name
{ targets: 2, width: '3%' }, // Sub Location
{ targets: 3, width: '3%' }, // Issue
{ targets: 4, width: '3%' }, // Status
{ targets: 5, width: '2%', className: 'text-center' }, // Action button
{
targets: [1, 2], // Title & Link
createdCell: function(td) {
$(td).css({
'white-space': 'normal',
'word-break': 'break-word',
});
}
}
],
language: datatableLanguage,
// responsive: true,
autoWidth: false,
order: [[6, 'desc']],
pagingType: "simple",
lengthMenu: [[10, 25, 50, 100, -1], ['Tampilkan 10 data', 'Tampilkan 25 data', 'Tampilkan 50 data', 'Tampilkan 100 data', 'Tampilkan semua']],
scrollX: true
});
});
</script>
@endif
@if ($datatable === 'sub_location')
<script>
$(document).ready(function() {
$('#subLocationsTable').DataTable({
processing: true,
serverSide: true,
ajax: {
url: '{{ route('dashboard.sub.locations.data') }}',
type: 'GET',
data: function(d) {
d.location = '{{ $location }}';
d.new_data = '{{ $new_data }}';
}
},
columns: [
{ data: 'DT_RowIndex', name: 'DT_RowIndex', orderable: false, searchable: false },
{ data: 'name', name: 'name' },
{ data: 'location', name: 'location' },
{ data: 'issues', name: 'issues' },
{ data: 'status', name: 'status' },
{ data: 'action', name: 'action', orderable: false, searchable: false },
{ data: 'created_at', name: 'created_at', visible: false },
{ data: 'id', name: 'id', orderable: true, searchable: false, visible: false },
],
columnDefs: [
{ targets: 0, width: '2%' }, // Index
{ targets: 1, width: '20%' }, // Name
{ targets: 2, width: '3%' }, // Sub Location
{ targets: 3, width: '3%' }, // Issue
{ targets: 4, width: '3%' }, // Status
{ targets: 5, width: '2%', className: 'text-center' }, // Action button
{
targets: [1, 2], // Title & Link
createdCell: function(td) {
$(td).css({
'white-space': 'normal',
'word-break': 'break-word',
});
}
}
],
language: datatableLanguage,
// responsive: true,
autoWidth: false,
order: [[6, 'desc']],
pagingType: "simple",
lengthMenu: [[10, 25, 50, 100, -1], ['Tampilkan 10 data', 'Tampilkan 25 data', 'Tampilkan 50 data', 'Tampilkan 100 data', 'Tampilkan semua']],
scrollX: true
});
});
</script>
@endif
@if ($datatable === 'government_agency')
<script>
$(document).ready(function() {
$('#governmentAgenciesTable').DataTable({
processing: true,
serverSide: true,
ajax: {
url: '{{ route('dashboard.government.agencies.data') }}',
type: 'GET',
data: function(d) {
d.new_data = '{{ $new_data }}';
}
},
columns: [
{ data: 'DT_RowIndex', name: 'DT_RowIndex', orderable: false, searchable: false },
{ data: 'name', name: 'name' },
{ data: 'short_name', name: 'short_name' },
{ data: 'issues', name: 'issues' },
{ data: 'action', name: 'action', orderable: false, searchable: false },
{ data: 'created_at', name: 'created_at', visible: false },
{ data: 'id', name: 'id', orderable: true, searchable: false, visible: false },
],
columnDefs: [
{ targets: 0, width: '2%' }, // Index
{ targets: 1, width: '20%' }, // Name
{ targets: 2, width: '6%' }, // Short Name
{ targets: 3, width: '3%' }, // Issue
{ targets: 4, width: '2%', className: 'text-center' }, // Action button
{
targets: [1, 2], // Title & Link
createdCell: function(td) {
$(td).css({
'white-space': 'normal',
'word-break': 'break-word',
});
}
}
],
language: datatableLanguage,
// responsive: true,
autoWidth: false,
order: [[5, 'desc']],
pagingType: "simple",
lengthMenu: [[10, 25, 50, 100, -1], ['Tampilkan 10 data', 'Tampilkan 25 data', 'Tampilkan 50 data', 'Tampilkan 100 data', 'Tampilkan semua']],
scrollX: true
});
});
</script>
@endif
@if ($datatable === 'airing_proof_theme')
<script>
$(document).ready(function() {
$('#airingProofThemesTable').DataTable({
processing: true,
serverSide: true,
ajax: '{{ route('dashboard.airing.proof.themes.data') }}',
columns: [
{ data: 'DT_RowIndex', name: 'DT_RowIndex', orderable: false, searchable: false },
{ data: 'name', name: 'name' },
{ data: 'year', name: 'year' },
{ data: 'date_created', name: 'date_created' },
{ data: 'action', name: 'action', orderable: false, searchable: false },
{ data: 'created_at', name: 'created_at', visible: false },
{ data: 'id', name: 'id', orderable: true, searchable: false, visible: false },
],
language: datatableLanguage,
// responsive: true,
autoWidth: false,
order: [[5, 'desc']],
pagingType: "simple",
lengthMenu: [[10, 25, 50, 100, -1], ['Tampilkan 10 data', 'Tampilkan 25 data', 'Tampilkan 50 data', 'Tampilkan 100 data', 'Tampilkan semua']],
scrollX: true
});
});
</script>
@endif
@if ($datatable === 'content_recap_classification')
<script>
$(document).ready(function() {
$('#contentRecapClassificationsTable').DataTable({
processing: true,
serverSide: true,
ajax: '{{ route('dashboard.content.recap.classifications.data') }}',
columns: [
{ data: 'DT_RowIndex', name: 'DT_RowIndex', orderable: false, searchable: false },
{ data: 'name', name: 'name' },
{ data: 'content_recaps', name: 'content_recaps' },
{ data: 'date_created', name: 'date_created' },
{ data: 'action', name: 'action', orderable: false, searchable: false },
{ data: 'created_at', name: 'created_at', visible: false },
{ data: 'id', name: 'id', orderable: true, searchable: false, visible: false },
],
columnDefs: [
{ targets: 0, width: '2%' }, // Index
{ targets: 1, width: '20%' }, // Name
{ targets: 2, width: '5%' }, // Content Recaps
{ targets: 3, width: '7%' }, // Created Date
{ targets: 4, width: '2%', className: 'text-center' }, // Action button
{
targets: [1, 2], // Title & Link
createdCell: function(td) {
$(td).css({
'white-space': 'normal',
'word-break': 'break-word',
});
}
}
],
language: datatableLanguage,
// responsive: true,
autoWidth: false,
order: [[5, 'desc']],
pagingType: "simple",
lengthMenu: [[10, 25, 50, 100, -1], ['Tampilkan 10 data', 'Tampilkan 25 data', 'Tampilkan 50 data', 'Tampilkan 100 data', 'Tampilkan semua']],
scrollX: true
});
});
</script>
@endif
@if ($datatable === 'news')
<script>
$(document).ready(function() {
$('#newsTable').DataTable({
processing: true,
serverSide: true,
ajax: {
url: '{{ route('dashboard.news.data') }}',
type: 'GET',
data: function(d) {
d.category = '{{ $category }}';
d.year = '{{ $year }}';
d.month = '{{ $month }}';
d.date = '{{ $date }}';
}
},
columns: [
{ data: 'DT_RowIndex', name: 'DT_RowIndex', orderable: false, searchable: false },
{ data: 'title', name: 'title' },
{ data: 'link', name: 'link' },
{ data: 'category', name: 'category' },
{ data: 'tag', name: 'tag' },
{ data: 'posted_at', name: 'posted_at' },
{ data: 'action', name: 'action', orderable: false, searchable: false },
{ data: 'created_at', name: 'created_at', visible: false },
{ data: 'id', name: 'id', orderable: true, searchable: false, visible: false },
],
columnDefs: [
{ targets: 0, width: '5%' }, // Index
{ targets: 1, width: '25%' }, // Title
{ targets: 2, width: '15%' }, // Link
{ targets: 3, width: '7%' }, // Category
{ targets: 4, width: '10%' }, // Tag
{ targets: 5, width: '7%' }, // Dibuat
{ targets: 6, width: '2%', className: 'text-center' }, // Action button
{
targets: [1, 2], // Title & Link
createdCell: function(td) {
$(td).css({
'white-space': 'normal',
'word-break': 'break-word',
});
}
}
],
language: datatableLanguage,
// responsive: true,
autoWidth: false,
order: [[7, 'desc']],
pagingType: "simple",
lengthMenu: [[10, 25, 50, 100, -1], ['Tampilkan 10 data', 'Tampilkan 25 data', 'Tampilkan 50 data', 'Tampilkan 100 data', 'Tampilkan semua']],
scrollX: true
});
});
</script>
@endif
@if ($datatable === 'announcement')
<script>
$(document).ready(function() {
$('#announcementsTable').DataTable({
processing: true,
serverSide: true,
ajax: '{{ route('dashboard.announcements.data', ["type" => $category]) }}',
columns: [
{ data: 'DT_RowIndex', name: 'DT_RowIndex', orderable: false, searchable: false },
{ data: 'headline', name: 'headline' },
{ data: 'sender', name: 'sender' },
{ data: 'sent_at', name: 'sent_at' },
{ data: 'action', name: 'action', orderable: false, searchable: false },
{ data: 'created_at', name: 'created_at', visible: false },
{ data: 'id', name: 'id', orderable: true, searchable: false, visible: false },
],
columnDefs: [
{ targets: 0, width: '10%' }, // Kolom No
{
targets: 1,
width: '30%',
createdCell: function(td, cellData, rowData, row, col) {
// Membungkus teks di kolom Headline
$(td).css({
'word-wrap': 'break-word',
'white-space': 'normal',
'overflow-wrap': 'break-word'
});
}
}, // Kolom Headline
{ targets: 2, width: '10%' }, // Kolom Pengirim
{ targets: 3, width: '18%' }, // Kolom Tanggal
{ targets: 4, width: '5%' }, // Kolom aksi
],
language: datatableLanguage,
// responsive: true,
autoWidth: false,
order: [
[5, 'desc']
],
pagingType: "simple",
lengthMenu: [[10, 25, 50, 100, -1], ['Tampilkan 10 data', 'Tampilkan 25 data', 'Tampilkan 50 data', 'Tampilkan 100 data', 'Tampilkan semua']],
scrollX: true
});
});
</script>
@endif
@if ($datatable === 'media_announcement')
<script>
$(document).ready(function() {
$('#mediaAnnouncementsTable').DataTable({
processing: true,
serverSide: true,
ajax: '{{ route('dashboard.announcements.media.data', ["type" => $category]) }}',
columns: [
{ data: 'DT_RowIndex', name: 'DT_RowIndex', orderable: false, searchable: false },
{ data: 'headline', name: 'headline' },
{ data: 'sender', name: 'sender' },
{ data: 'sent_at', name: 'sent_at' },
{ data: 'status', name: 'status' },
{ data: 'action', name: 'action', orderable: false, searchable: false },
{ data: 'created_at', name: 'created_at', visible: false },
{ data: 'id', name: 'id', orderable: true, searchable: false, visible: false },
],
columnDefs: [
{ targets: 0, width: '10%' }, // Kolom No
{
targets: 1,
width: '30%',
createdCell: function(td, cellData, rowData, row, col) {
// Membungkus teks di kolom Headline
$(td).css({
'word-wrap': 'break-word',
'white-space': 'normal',
'overflow-wrap': 'break-word'
});
}
}, // Kolom Headline
{ targets: 2, width: '10%' }, // Kolom Pengirim
{ targets: 3, width: '18%' }, // Kolom Tanggal
{ targets: 4, width: '10%' }, // Kolom Status
{ targets: 5, width: '5%' }, // Kolom aksi
],
language: datatableLanguage,
// responsive: true,
autoWidth: false,
order: [
[4, 'desc'],
[6, 'desc']
],
pagingType: "simple",
lengthMenu: [[10, 25, 50, 100, -1], ['Tampilkan 10 data', 'Tampilkan 25 data', 'Tampilkan 50 data', 'Tampilkan 100 data', 'Tampilkan semua']],
scrollX: true
});
});
</script>
@endif
@if ($datatable === 'company')
<script>
$(document).ready(function() {
$('#companiesTable').DataTable({
processing: true,
serverSide: true,
ajax: {
url: '{{ route('dashboard.companies.data') }}',
type: 'GET',
data: function(d) {
d.status = '{{ $status }}';
d.edit_status = '{{ $edit_status }}';
d.address = '{{ $address }}';
d.register_year = '{{ $register_year }}';
d.register_month = '{{ $register_month }}';
d.register_date = '{{ $register_date }}';
}
},
columns: [
{ data: 'DT_RowIndex', name: 'DT_RowIndex', orderable: false, searchable: false },
{ data: 'name', name: 'name' },
{ data: 'email', name: 'email' },
{ data: 'director_name', name: 'director_name' },
{ data: 'address', name: 'address' },
{ data: 'register_at', name: 'register_at' },
{ data: 'validated_at', name: 'validated_at' },
{ data: 'status', name: 'status' },
{ data: 'status_edit', name: 'status_edit' },
{ data: 'action', name: 'action', orderable: false, searchable: false },
{ data: 'created_at', name: 'created_at', visible: false },
{ data: 'id', name: 'id', orderable: true, searchable: false, visible: false },
],
language: datatableLanguage,
// responsive: true,
autoWidth: false,
order: [[10, 'desc']],
pagingType: "simple",
lengthMenu: [[10, 25, 50, 100, -1], ['Tampilkan 10 data', 'Tampilkan 25 data', 'Tampilkan 50 data', 'Tampilkan 100 data', 'Tampilkan semua']],
scrollX: true
});
});
</script>
@endif
@if ($datatable === 'media')
<script>
$(document).ready(function() {
$('#mediaTable').DataTable({
processing: true,
serverSide: true,
ajax: {
url: '{{ route('dashboard.media.data') }}',
type: 'GET',
data: function(d) {
d.type = '{{ $type }}';
d.classification = '{{ $classification }}';
d.status = '{{ $status }}';
d.edit_status = '{{ $edit_status }}';
d.address = '{{ $address }}';
d.register_year = '{{ $register_year }}';
d.register_month = '{{ $register_month }}';
d.register_date = '{{ $register_date }}';
}
},
columns: [
{ data: 'DT_RowIndex', name: 'DT_RowIndex', orderable: false, searchable: false },
{ data: 'media_name', name: 'media_name' },
{ data: 'company_name', name: 'company_name' },
{ data: 'type', name: 'type' },
{ data: 'classification', name: 'classification' },
{ data: 'link', name: 'link' },
{ data: 'address', name: 'address' },
{ data: 'status', name: 'status' },
{ data: 'status_edit', name: 'status_edit' },
{ data: 'action', name: 'action', orderable: false, searchable: false },
{ data: 'created_at', name: 'created_at', visible: false },
{ data: 'id', name: 'id', orderable: true, searchable: false, visible: false },
],
language: datatableLanguage,
// responsive: true,
autoWidth: false,
order: [[10, 'desc']],
pagingType: "simple",
lengthMenu: [[10, 25, 50, 100, -1], ['Tampilkan 10 data', 'Tampilkan 25 data', 'Tampilkan 50 data', 'Tampilkan 100 data', 'Tampilkan semua']],
scrollX: true
});
});
</script>
@endif
@if ($datatable === 'journalist')
<script>
$(document).ready(function() {
$('#journalistsTable').DataTable({
processing: true,
serverSide: true,
ajax: {
url: '{{ route('dashboard.journalists.data') }}',
type: 'GET',
data: function(d) {
d.media_ids = '@json($media_ids);';
d.status = '{{ $status }}';
d.edit_status = '{{ $edit_status }}';
d.register_year = '{{ $register_year }}';
d.register_month = '{{ $register_month }}';
d.register_date = '{{ $register_date }}';
}
},
columns: [
{ data: 'DT_RowIndex', name: 'DT_RowIndex', orderable: false, searchable: false },
{ data: 'journalist_name', name: 'journalist_name' },
{ data: 'company_name', name: 'company_name' },
{ data: 'media_name', name: 'media_name' },
{ data: 'email', name: 'email' },
{ data: 'phone_number', name: 'phone_number' },
{ data: 'status', name: 'status' },
{ data: 'status_edit', name: 'status_edit' },
{ data: 'action', name: 'action', orderable: false, searchable: false },
{ data: 'created_at', name: 'created_at', visible: false },
{ data: 'id', name: 'id', orderable: true, searchable: false, visible: false },
],
language: datatableLanguage,
// responsive: true,
autoWidth: false,
order: [[8, 'desc']],
pagingType: "simple",
lengthMenu: [[10, 25, 50, 100, -1], ['Tampilkan 10 data', 'Tampilkan 25 data', 'Tampilkan 50 data', 'Tampilkan 100 data', 'Tampilkan semua']],
// dom: '<"top d-flex justify-content-between"l f>rt<"bottom d-flex justify-content-between"ip>',
scrollX: true
});
});
</script>
@endif
@if ($datatable === 'journalist_submission')
<script>
$(document).ready(function() {
$('#journalistSubmissionsTable').DataTable({
processing: true,
serverSide: true,
ajax: '{{ route('dashboard.journalists.submission.data', ["role" => Auth::user()->role_id]) }}',
@if (is_role(['1']))
columns: [
{ data: 'DT_RowIndex', name: 'DT_RowIndex', orderable: false, searchable: false },
{ data: 'journalist_name', name: 'journalist_name' },
{ data: 'company_name', name: 'company_name' },
{ data: 'email', name: 'email' },
{ data: 'phone_number', name: 'phone_number' },
{ data: 'approved_status', name: 'approved_status' },
{ data: 'action', name: 'action', orderable: false, searchable: false },
{ data: 'created_at', name: 'created_at', visible: false },
{ data: 'id', name: 'id', orderable: true, searchable: false, visible: false },
],
@else
columns: [
{ data: 'DT_RowIndex', name: 'DT_RowIndex', orderable: false, searchable: false },
{ data: 'journalist_name', name: 'journalist_name' },
{ data: 'email', name: 'email' },
{ data: 'phone_number', name: 'phone_number' },
{ data: 'approved_status', name: 'approved_status' },
{ data: 'action', name: 'action', orderable: false, searchable: false },
{ data: 'created_at', name: 'created_at', visible: false },
{ data: 'id', name: 'id', orderable: true, searchable: false, visible: false },
],
@endif
language: datatableLanguage,
// responsive: true,
autoWidth: false,
order: [[6, 'desc']],
pagingType: "simple",
lengthMenu: [[10, 25, 50, 100, -1], ['Tampilkan 10 data', 'Tampilkan 25 data', 'Tampilkan 50 data', 'Tampilkan 100 data', 'Tampilkan semua']],
// dom: '<"top d-flex justify-content-between"l f>rt<"bottom d-flex justify-content-between"ip>',
scrollX: true
});
});
</script>
@endif
@if ($datatable === 'cooperation')
<script>
$(document).ready(function() {
$('#cooperationsTable').DataTable({
processing: true,
serverSide: true,
ajax: '{{ route('dashboard.cooperations.data') }}',
columns: [
{ data: 'DT_RowIndex', name: 'DT_RowIndex', orderable: false, searchable: false },
{ data: 'name', name: 'name' },
// { data: 'start_date', name: 'start_date' },
// { data: 'end_date', name: 'end_date' },
{ data: 'posted_at', name: 'posted_at' },
{ data: 'status', name: 'status' },
{ data: 'action', name: 'action', orderable: false, searchable: false },
{ data: 'created_at', name: 'created_at', visible: false },
{ data: 'id', name: 'id', orderable: true, searchable: false, visible: false },
],
language: datatableLanguage,
// responsive: true,
autoWidth: false,
order: [[6, 'desc']],
pagingType: "simple",
lengthMenu: [[10, 25, 50, 100, -1], ['Tampilkan 10 data', 'Tampilkan 25 data', 'Tampilkan 50 data', 'Tampilkan 100 data', 'Tampilkan semua']],
scrollX: true,
// scrollY: true,
});
});
</script>
@endif
@if ($datatable === 'cooperation_media')
<script>
$(document).ready(function() {
$('#cooperationMediaTable').DataTable({
processing: true,
serverSide: true,
ajax: '{{ route('dashboard.cooperations.media.data', ["id" => encrypt_id($mediaCooperation->id)]) }}',
columns: [
{ data: 'DT_RowIndex', name: 'DT_RowIndex', orderable: false, searchable: false },
{ data: 'media_name', name: 'media_name' },
{ data: 'company_name', name: 'company_name' },
{ data: 'email', name: 'email' },
{ data: 'type', name: 'type' },
{ data: 'classification', name: 'classification' },
{ data: 'status', name: 'status' },
{ data: 'created_at', name: 'created_at', visible: false },
{ data: 'id', name: 'id', orderable: true, searchable: false, visible: false },
],
language: datatableLanguage,
// responsive: true,
autoWidth: false,
order: [[7, 'desc']],
pagingType: "simple",
lengthMenu: [[10, 25, 50, 100, -1], ['Tampilkan 10 data', 'Tampilkan 25 data', 'Tampilkan 50 data', 'Tampilkan 100 data', 'Tampilkan semua']],
scrollX: true
});
});
</script>
@endif
@if ($datatable === 'cooperation_request')
<script>
$(document).ready(function() {
$('#cooperationRequestsTable').DataTable({
processing: true,
serverSide: true,
ajax: '{{ route('dashboard.cooperations.requests.data') }}',
columns: [
{ data: 'DT_RowIndex', name: 'DT_RowIndex', orderable: false, searchable: false },
{ data: 'name', name: 'name' },
{ data: 'start_date', name: 'start_date' },
{ data: 'end_date', name: 'end_date' },
{ data: 'status', name: 'status' },
{ data: 'action', name: 'action', orderable: false, searchable: false },
{ data: 'created_at', name: 'created_at', visible: false },
{ data: 'id', name: 'id', orderable: true, searchable: false, visible: false },
],
language: datatableLanguage,
// responsive: true,
autoWidth: false,
order: [[7, 'desc']],
pagingType: "simple",
lengthMenu: [[10, 25, 50, 100, -1], ['Tampilkan 10 data', 'Tampilkan 25 data', 'Tampilkan 50 data', 'Tampilkan 100 data', 'Tampilkan semua']],
scrollX: true,
// scrollY: "300px",
// scrollCollapse: true,
});
});
</script>
@endif
@if ($datatable === 'media_proposal')
<script>
$(document).ready(function() {
$('#mediaProposalsTable').DataTable({
processing: true,
serverSide: true,
ajax: '{{ route('dashboard.cooperations.requests.media.proposal.data') }}',
columns: [
{ data: 'DT_RowIndex', name: 'DT_RowIndex', orderable: false, searchable: false },
{ data: 'name', name: 'name' },
{ data: 'start_date', name: 'start_date' },
{ data: 'end_date', name: 'end_date' },
{ data: 'send_proposal_at', name: 'send_proposal_at' },
{ data: 'status', name: 'status' },
{ data: 'action', name: 'action', orderable: false, searchable: false },
{ data: 'created_at', name: 'created_at', visible: false },
{ data: 'id', name: 'id', orderable: true, searchable: false, visible: false },
],
language: datatableLanguage,
// responsive: true,
autoWidth: false,
order: [[7, 'desc']],
pagingType: "simple",
lengthMenu: [[10, 25, 50, 100, -1], ['Tampilkan 10 data', 'Tampilkan 25 data', 'Tampilkan 50 data', 'Tampilkan 100 data', 'Tampilkan semua']],
scrollX: true,
// scrollY: "300px",
// scrollCollapse: true,
});
});
</script>
@endif
@if (isset($second_datatable) && $second_datatable === 'cooperation_proposal')
<script>
$(document).ready(function() {
$('#cooperationProposalsTable').DataTable({
processing: true,
serverSide: true,
ajax: '{{ route('dashboard.cooperations.proposal.data', ["id" => encrypt_id($mediaCooperation->id)]) }}',
columns: [
{ data: 'DT_RowIndex', name: 'DT_RowIndex', orderable: false, searchable: false },
{ data: 'name', name: 'name' },
{ data: 'send_proposal_at', name: 'send_proposal_at' },
{ data: 'status', name: 'status' },
{ data: 'action', name: 'action', orderable: false, searchable: false },
{ data: 'created_at', name: 'created_at', visible: false },
{ data: 'id', name: 'id', orderable: true, searchable: false, visible: false },
],
language: datatableLanguage,
// responsive: true,
autoWidth: false,
order: [[5, 'desc']],
pagingType: "simple",
lengthMenu: [[10, 25, 50, 100, -1], ['Tampilkan 10 data', 'Tampilkan 25 data', 'Tampilkan 50 data', 'Tampilkan 100 data', 'Tampilkan semua']],
scrollX: true,
// scrollY: "300px",
// scrollCollapse: true,
});
});
</script>
@endif
@if ($datatable === 'order_media')
<script>
$(document).ready(function() {
$('#orderMediaTable').DataTable({
processing: true,
serverSide: true,
ajax: '{{ route('dashboard.media.orders.media.data', ["id" => encrypt_id($mediaCooperation->id)]) }}',
columns: [
{ data: 'DT_RowIndex', name: 'DT_RowIndex', orderable: false, searchable: false },
{ data: 'media_name', name: 'media_name' },
{ data: 'company_name', name: 'company_name' },
{ data: 'email', name: 'email' },
{ data: 'type', name: 'type' },
{ data: 'classification', name: 'classification' },
{ data: 'status', name: 'status' },
{ data: 'created_at', name: 'created_at', visible: false },
{ data: 'id', name: 'id', orderable: true, searchable: false, visible: false },
],
language: datatableLanguage,
// responsive: true,
autoWidth: false,
order: [[7, 'desc']],
pagingType: "simple",
lengthMenu: [[10, 25, 50, 100, -1], ['Tampilkan 10 data', 'Tampilkan 25 data', 'Tampilkan 50 data', 'Tampilkan 100 data', 'Tampilkan semua']],
scrollX: true
});
});
</script>
@endif
@if ($datatable === 'admin_media_report')
<script>
$(document).ready(function() {
$('#adminMediaReportsTable').DataTable({
processing: true,
serverSide: true,
ajax: '{{ route('dashboard.reports.admin.media.data', ["id" => encrypt_id($mediaOrder->id)]) }}',
columns: [
{ data: 'DT_RowIndex', name: 'DT_RowIndex', orderable: false, searchable: false },
{ data: 'media_name', name: 'media_name' },
{ data: 'company_name', name: 'company_name' },
{ data: 'email', name: 'email' },
{ data: 'reuired_reports', name: 'reuired_reports' },
{ data: 'action', name: 'action' },
{ data: 'created_at', name: 'created_at', visible: false },
{ data: 'id', name: 'id', orderable: true, searchable: false, visible: false },
],
language: datatableLanguage,
// responsive: true,
autoWidth: false,
order: [[6, 'desc']],
pagingType: "simple",
lengthMenu: [[10, 25, 50, 100, -1], ['Tampilkan 10 data', 'Tampilkan 25 data', 'Tampilkan 50 data', 'Tampilkan 100 data', 'Tampilkan semua']],
scrollX: true
});
});
</script>
@endif
@if ($datatable === 'media_report')
<script>
$(document).ready(function() {
$('#mediaReportsTable').DataTable({
processing: true,
serverSide: true,
ajax: '{{ route('dashboard.reports.media.data', ["mediaOrderId" => encrypt_id($mediaOrder->id), "mediaId" => encrypt_id($reporterMediaId)]) }}',
columns: [
{ data: 'DT_RowIndex', name: 'DT_RowIndex', orderable: false, searchable: false },
{ data: 'title', name: 'title' },
{ data: 'date', name: 'date' },
{ data: 'status', name: 'status' },
{ data: 'action', name: 'action' },
{ data: 'created_at', name: 'created_at', visible: false },
{ data: 'id', name: 'id', orderable: true, searchable: false, visible: false },
],
language: datatableLanguage,
// responsive: true,
autoWidth: false,
order: [[5, 'desc']],
pagingType: "simple",
lengthMenu: [[10, 25, 50, 100, -1], ['Tampilkan 10 data', 'Tampilkan 25 data', 'Tampilkan 50 data', 'Tampilkan 100 data', 'Tampilkan semua']],
scrollX: true
});
});
</script>
@endif
@if ($datatable === 'admin_completion')
<script>
$(document).ready(function() {
$('#adminCompletionsTable').DataTable({
processing: true,
serverSide: true,
ajax: '{{ route('dashboard.cooperation.completions.data', ["id" => encrypt_id($mediaOrder->id)]) }}',
columns: [
{ data: 'DT_RowIndex', name: 'DT_RowIndex', orderable: false, searchable: false },
{ data: 'media_name', name: 'media_name' },
{ data: 'company_name', name: 'company_name' },
{ data: 'email', name: 'email' },
{ data: 'status', name: 'status' },
{ data: 'action', name: 'action' },
{ data: 'created_at', name: 'created_at', visible: false },
{ data: 'id', name: 'id', orderable: true, searchable: false, visible: false },
],
language: datatableLanguage,
// responsive: true,
autoWidth: false,
order: [[7, 'desc']],
pagingType: "simple",
lengthMenu: [[10, 25, 50, 100, -1], ['Tampilkan 10 data', 'Tampilkan 25 data', 'Tampilkan 50 data', 'Tampilkan 100 data', 'Tampilkan semua']],
scrollX: true
});
});
</script>
@endif
@if ($datatable === 'content_recap')
<script>
$(document).ready(function() {
$('#contentRecapsTable').DataTable({
processing: true,
serverSide: true,
ajax: {
url: '{{ route('dashboard.content.recaps.data') }}',
type: 'GET',
data: function(d) {
d.classification = '{{ $classification }}';
d.channel = '{{ $channel }}';
d.social_media = '{{ $social_media }}';
d.posted_year = '{{ $posted_year }}';
d.posted_month = '{{ $posted_month }}';
d.posted_date = '{{ $posted_date }}';
}
},
columns: [
{ data: 'DT_RowIndex', name: 'DT_RowIndex', orderable: false, searchable: false },
{ data: 'content_theme', name: 'content_theme' },
{ data: 'channel', name: 'channel' },
{ data: 'social_media', name: 'social_media' },
{ data: 'posted_date', name: 'posted_date' },
{ data: 'classification', name: 'classification' },
{ data: 'link', name: 'link' },
{ data: 'action', name: 'action', orderable: false, searchable: false },
{ data: 'created_at', name: 'created_at', visible: false },
{ data: 'id', name: 'id', orderable: true, searchable: false, visible: false },
],
columnDefs: [
{ targets: 0, width: '2%' }, // Index
{ targets: 1, width: '20%' }, // Content Theme
{ targets: 2, width: '10%' }, // Channel
{ targets: 3, width: '7%' }, // Social Media
{ targets: 4, width: '10%' }, // Posted Date
{ targets: 5, width: '10%' }, // Classification
{ targets: 6, width: '10%' }, // Link
{ targets: 7, width: '2%', className: 'text-center' }, // Action button
{
targets: [1, 2, 6], // Title & Link
createdCell: function(td) {
$(td).css({
'white-space': 'normal',
'word-break': 'break-word',
});
}
}
],
language: datatableLanguage,
// responsive: true,
autoWidth: false,
order: [[8, 'desc']],
pagingType: "simple",
lengthMenu: [[10, 25, 50, 100, -1], ['Tampilkan 10 data', 'Tampilkan 25 data', 'Tampilkan 50 data', 'Tampilkan 100 data', 'Tampilkan semua']],
scrollX: true
});
});
</script>
@endif
@if ($datatable === 'media_monitoring')
<script>
$(document).ready(function() {
$('#mediaMonitoringsTable').DataTable({
processing: true,
serverSide: true,
ajax: {
url: '{{ route('dashboard.media.monitorings.data') }}',
type: 'GET',
data: function(d) {
d.news_title = '{{ $news_title }}';
d.channel = '{{ $channel }}';
d.issue_status = '{{ $issue_status }}';
d.keyword = '{{ $keyword }}';
d.input_year = '{{ $input_year }}';
d.input_month = '{{ $input_month }}';
d.input_date = '{{ $input_date }}';
d.release_year = '{{ $release_year }}';
d.release_month = '{{ $release_month }}';
d.release_date = '{{ $release_date }}';
}
},
columns: [
{ data: 'DT_RowIndex', name: 'DT_RowIndex', orderable: false, searchable: false },
{ data: 'enhancer', name: 'enhancer' },
{ data: 'code', name: 'code' },
{ data: 'input_date', name: 'input_date' },
{ data: 'title', name: 'title' },
{ data: 'media_name', name: 'media_name' },
{ data: 'channel', name: 'channel' },
{ data: 'theme', name: 'theme' },
{ data: 'writter', name: 'writter' },
{ data: 'link', name: 'link' },
{ data: 'issue_status', name: 'issue_status' },
{ data: 'action', name: 'action', orderable: false, searchable: false },
{ data: 'created_at', name: 'created_at', visible: false },
{ data: 'id', name: 'id', orderable: true, searchable: false, visible: false },
],
language: datatableLanguage,
// responsive: true,
autoWidth: false,
order: [[11, 'desc']],
pagingType: "simple",
lengthMenu: [[10, 25, 50, 100, -1], ['Tampilkan 10 data', 'Tampilkan 25 data', 'Tampilkan 50 data', 'Tampilkan 100 data', 'Tampilkan semua']],
scrollX: true
});
});
</script>
@endif
@if ($datatable === 'issue_management')
<script>
$(document).ready(function() {
$('#issueManagementsTable').DataTable({
processing: true,
serverSide: true,
ajax: '{{ route('dashboard.issue.managements.data', ["classification" => $classification, "sub_classification" => $sub_classification, "location" => $location, "sub_location" => $sub_location, "government_agency" => $government_agency]) }}',
columns: [
{ data: 'DT_RowIndex', name: 'DT_RowIndex', orderable: false, searchable: false },
{ data: 'code', name: 'code' },
{ data: 'media_name', name: 'media_name' },
{ data: 'monitoring_media_title', name: 'monitoring_media_title' },
{ data: 'location', name: 'location' },
{ data: 'sub_location', name: 'sub_location' },
{ data: 'classification', name: 'classification' },
{ data: 'sub_classification', name: 'sub_classification' },
{ data: 'issue', name: 'issue' },
{ data: 'response', name: 'response' },
{ data: 'government_agencies', name: 'government_agencies' },
{ data: 'action', name: 'action', orderable: false, searchable: false },
{ data: 'created_at', name: 'created_at', visible: false },
{ data: 'id', name: 'id', orderable: true, searchable: false, visible: false },
],
columnDefs: [
{ targets: 0, width: '10%' }, // Kolom No
{ targets: 1, width: '10%' }, // Kolom Kode
{ targets: 2, width: '10%' }, // Kolom Pengirim
{ targets: 3, width: '18%' }, // Kolom Tanggal
{ targets: 4, width: '5%' }, // Kolom aksi
// Menambahkan word wrap pada kolom location, sub_location, classification, sub_classification, response, dan government_agencies
{
targets: [4, 5, 6, 7, 9, 10], // Indeks kolom yang ingin diberi word wrap
createdCell: function(td, cellData, rowData, row, col) {
// Membungkus teks di kolom-kolom yang dipilih
$(td).css({
'word-wrap': 'break-word',
'white-space': 'normal',
'overflow-wrap': 'break-word'
});
}
}
],
language: datatableLanguage,
// responsive: true,
autoWidth: false,
order: [[3, 'desc']],
pagingType: "simple",
lengthMenu: [[10, 25, 50, 100, -1], ['Tampilkan 10 data', 'Tampilkan 25 data', 'Tampilkan 50 data', 'Tampilkan 100 data', 'Tampilkan semua']],
scrollX: true
});
});
</script>
@endif
@if ($datatable === 'user')
<script>
$(document).ready(function() {
$('#usersTable').DataTable({
processing: true,
serverSide: true,
ajax: {
url: '{{ route('dashboard.users.data') }}',
type: 'GET',
data: function(d) {
d.role = '{{ $role }}';
d.status = '{{ $status }}';
}
},
columns: [
{ data: 'DT_RowIndex', name: 'DT_RowIndex', orderable: false, searchable: false },
{ data: 'name', name: 'name' },
{ data: 'email', name: 'email' },
{ data: 'role', name: 'role' },
{ data: 'status', name: 'status' },
{ data: 'action', name: 'action', orderable: false, searchable: false },
{ data: 'created_at', name: 'created_at', visible: false },
{ data: 'id', name: 'id', orderable: true, searchable: false, visible: false },
],
language: datatableLanguage,
// responsive: true,
autoWidth: false,
order: [[6, 'desc']],
pagingType: "simple",
lengthMenu: [[10, 25, 50, 100, -1], ['Tampilkan 10 data', 'Tampilkan 25 data', 'Tampilkan 50 data', 'Tampilkan 100 data', 'Tampilkan semua']],
scrollX: true
});
});
</script>
@endif
@if ($datatable === 'role')
<script>
$(document).ready(function() {
$('#rolesTable').DataTable({
processing: true,
serverSide: true,
ajax: '{{ route('dashboard.role.data') }}',
columns: [
{ data: 'DT_RowIndex', name: 'DT_RowIndex', orderable: false, searchable: false },
{ data: 'name', name: 'name' },
{ data: 'account_count', name: 'account_count' },
{ data: 'id', name: 'id', orderable: true, searchable: false, visible: false },
],
language: datatableLanguage,
// responsive: true,
autoWidth: false,
order: [[1, 'desc']],
pagingType: "simple",
lengthMenu: [[10, 25, 50, 100, -1], ['Tampilkan 10 data', 'Tampilkan 25 data', 'Tampilkan 50 data', 'Tampilkan 100 data', 'Tampilkan semua']],
scrollX: true
});
});
</script>
@endif
@if ($datatable === 'login_history')
<script>
$(document).ready(function() {
$('#loginHistoriesTable').DataTable({
processing: true,
serverSide: true,
ajax: {
url: '{{ route('dashboard.login.history.data') }}',
type: 'GET',
data: function(d) {
d.year = '{{ $year }}';
d.month = '{{ $month }}';
d.date = '{{ $date }}';
d.role = '{{ $role }}';
}
},
columns: [
{ data: 'DT_RowIndex', name: 'DT_RowIndex', orderable: false, searchable: false },
{ data: 'name', name: 'name' },
{ data: 'role', name: 'role' },
{ data: 'logged_in_at', name: 'logged_in_at' },
{ data: 'created_at', name: 'created_at', visible: false },
{ data: 'id', name: 'id', orderable: true, searchable: false, visible: false },
],
language: datatableLanguage,
// responsive: true,
autoWidth: false,
order: [[4, 'desc']],
pagingType: "simple",
lengthMenu: [[10, 25, 50, 100, -1], ['Tampilkan 10 data', 'Tampilkan 25 data', 'Tampilkan 50 data', 'Tampilkan 100 data', 'Tampilkan semua']],
scrollX: true
});
});
</script>
@endif
@if ($datatable === 'login_activity')
<script>
$(document).ready(function() {
$('#loginHistoriesTable').DataTable({
processing: true,
serverSide: true,
ajax: {
url: '{{ route('dashboard.login.history.data') }}',
type: 'GET',
data: function(d) {
d.year = null;
d.month = null;
d.date = null;
d.role = null;
d.user_id = '{{Auth::user()->id}}';
}
},
columns: [
{ data: 'DT_RowIndex', name: 'DT_RowIndex', orderable: false, searchable: false },
{ data: 'name', name: 'name' },
// { data: 'role', name: 'role' },
{ data: 'logged_in_at', name: 'logged_in_at' },
{ data: 'created_at', name: 'created_at', visible: false },
{ data: 'id', name: 'id', orderable: true, searchable: false, visible: false },
],
language: datatableLanguage,
// responsive: true,
autoWidth: false,
order: [[4, 'desc']],
pagingType: "simple",
lengthMenu: [[10, 25, 50, 100, -1], ['Tampilkan 10 data', 'Tampilkan 25 data', 'Tampilkan 50 data', 'Tampilkan 100 data', 'Tampilkan semua']],
scrollX: true
});
});
</script>
@endif