Skip to content
This repository was archived by the owner on Nov 26, 2024. It is now read-only.

Commit e5ac417

Browse files
committed
Allow update or store API
1 parent 0093d12 commit e5ac417

File tree

1 file changed

+47
-13
lines changed

1 file changed

+47
-13
lines changed

resources/views/manage/users/partials/scripts.blade.php

Lines changed: 47 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -7,22 +7,45 @@
77
var columns = @json($columns);
88
var forms = @json($forms);
99
jQuery(document).ready(function($) {
10+
/* Initialisation */
1011
$('.select2').select2();
12+
1113
/* Form Submission */
1214
$(document).on('click', '.form-btn', function(event) {
1315
event.preventDefault();
14-
axios.post(route(routes.store), $('#' + forms.create).serialize())
15-
.then(response => {
16-
$(table_id).DataTable().ajax.reload();
17-
swal('{!! __('User') !!}', response.data.message, 'success');
18-
$('#' + forms.create)
19-
.find('input, textarea, select')
20-
.val('');
21-
$('#user-modal').modal('hide');
22-
}).catch(error => console.error(error));
16+
/* Can be refactor to determine to use post or put */
17+
if($("[name='_method']").val() == 'PUT') {
18+
axios.put(route(routes.store), $('#' + forms.create).serialize())
19+
.then(response => {
20+
$(table_id).DataTable().ajax.reload();
21+
swal('{!! __('User') !!}', response.data.message, 'success');
22+
$('#' + forms.create)
23+
.find('input, textarea, select')
24+
.val('');
25+
$('#user-modal').modal('hide');
26+
}).catch(error => console.error(error));
27+
} else {
28+
axios.post(route(routes.store), $('#' + forms.create).serialize())
29+
.then(response => {
30+
$(table_id).DataTable().ajax.reload();
31+
swal('{!! __('User') !!}', response.data.message, 'success');
32+
$('#' + forms.create)
33+
.find('input, textarea, select')
34+
.val('');
35+
$('#user-modal').modal('hide');
36+
}).catch(error => console.error(error));
37+
}
2338
});
2439
2540
/* Actions */
41+
$(document).on('click', '.create-action-btn', function(event) {
42+
/* Handle Method Spoofing */
43+
$("[name='_method']").val('POST');
44+
/* Handle primary key */
45+
$("[name='id']").val(null);
46+
$('#user-modal').modal('show');
47+
});
48+
2649
$(document).on('click', '.show-action-btn', function(event) {
2750
event.preventDefault();
2851
var id = $(this).data(primary_key);
@@ -41,18 +64,30 @@
4164
$('#view-user-modal').modal('show');
4265
})
4366
.catch(error => console.error(error));
44-
4567
});
4668
4769
$(document).on('click', '.edit-action-btn', function(event) {
4870
var id = $(this).data(primary_key);
4971
axios.get(route(routes.show, id))
5072
.then(response => {
73+
/* Handle Method Spoofing */
74+
$("[name='_method']").val('PUT');
75+
/* Handle primary key */
76+
$("[name='id']").val(id);
5177
var data = response.data.data;
52-
5378
$.each(columns, function(index, val) {
5479
if(data[index] != null) {
55-
$("[name='" + index + "']").val(data[index]);
80+
if(typeof data[index] == 'object') {
81+
var values = $.map(data[index], function(elem, idx) {
82+
return Number(idx);
83+
});
84+
$("[name='" + index + "[]']").val(values);
85+
if($("[name='" + index + "[]']").hasClass('select2')) {
86+
$("[name='" + index + "[]']").trigger('change');
87+
}
88+
} else {
89+
$("[name='" + index + "']").val(data[index]);
90+
}
5691
}
5792
});
5893
$('#user-modal').modal('show');
@@ -63,7 +98,6 @@
6398
$(document).on('click', '.destroy-action-btn', function(event) {
6499
event.preventDefault();
65100
var id = $(this).data(primary_key);
66-
67101
swal({
68102
title: '{!! __('Warning') !!}',
69103
text: '{!! __('Are you sure want to delete this record?') !!}',

0 commit comments

Comments
 (0)