You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1138 lines
54 KiB
JavaScript

import { __forms } from "/welcome/script/componen-tool.js?={time}";
export const pages = function(){
return {
data: {},
action: function (objectForm){
__forms({},objectForm);
(function dtButtons() {
var dt = document.querySelector('.dt-buttons');
if (dt == null) {
setTimeout(() => {
dtButtons();
}, 500);
} else {
Array.from(document.querySelector('.dt-buttons').children).forEach(function (e, i) {
_id('listreportmenu').appendChild(
el('a').addModule('actbut', e).addModule('as', i).click(function () {
tablec.buttons()[this.as].node.click()
}).href('#').class('dropdown-item').html(e.innerHTML).get()
)
});
document.querySelector('.panel-head-menu').appendChild(
el('input').type('search').keyup(function () {
tablec.search(this.value).draw();
}).load(function (e) {
e.el.addEventListener('search', function () {
tablec.search(this.value).draw();
}, false)
}).class('form-control form-search').hold('search...').get()
)
}
})();
const Swal = swal;
let _rightPanelPages = document.querySelector('.content-header-right');
window._startDate;
window._endDate;
if (objectForm.filldate == true) {
if (_rightPanelPages != undefined) {
_rightPanelPages.appendChild(
div().html(`
<div id="reportrange" style="background: #fff; cursor: pointer; padding: 5px 10px; border: 1px solid #ccc; width: 100%">
<i class="la la-calendar-o"></i>&nbsp;
<span></span> <i class="fa fa-caret-down"></i>
</div>
`).load(function () {
$(function () {
window._cekSession = (function () {
return {
get: function () {
var t = localStorage.getItem(location.href + 'ds');
var w = localStorage.getItem(location.href + 'dn');
if (t != undefined) {
return {
start: t,
end: w
}
}
return null;
},
set: function (start, end) {
localStorage.setItem(location.href + 'ds', start)
localStorage.setItem(location.href + 'dn', end)
}
}
})()
window._startDate = moment().subtract(29, 'days');
window._endDate = moment();
if (window._cekSession.get() != null) {
window._startDate = moment(window._cekSession.get().start)
window._endDate = moment(window._cekSession.get().end);
}
function cb(d1, d2) {
$('#reportrange span').html(d1.format('MMMM D, YYYY') + ' - ' + d2.format('MMMM D, YYYY'));
_load();
}
function cb2(d1, d2) {
window._startDate = d1
window._endDate = d2
window._cekSession.set(d1, d2)
$('#reportrange span').html(d1.format('MMMM D, YYYY') + ' - ' + d2.format('MMMM D, YYYY'));
_load();
}
$('#reportrange').daterangepicker({
startDate: _startDate,
endDate: _endDate,
ranges: {
'Last 30 Days': [moment().subtract(29, 'days'), moment()],
'This Month': [moment().startOf('month'), moment().endOf('month')],
'Last Month': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')],
'1 Years': [moment().startOf('year'), moment().endOf('year')],
'Last Year': [moment().subtract(1, 'year').startOf('year'), moment().subtract(1, 'year').endOf('year')]
}
}, cb2);
cb(_startDate, _endDate);
});
}).get()
)
}
}
function HtmlEncode(s) {
var el = document.createElement("div");
el.innerText = el.textContent = s;
s = el.innerHTML;
return s;
}
function decodeHTML(text) {
var textArea = document.createElement('textarea');
textArea.innerHTML = text;
return textArea.value;
}
var optionTable = {
dom: 'Bfrtip',
scrollY: '300px',
scrollX: true,
scrollCollapse: true,
paging: (function () {
if (objectForm.pagin === false) {
return false;
}
return true;
})(),
"lengthChange": true,
"lengthMenu": [[25, 50, 100, 500, 1000], [25, 50, 100, 500, "Max"]],
"pageLength": 50,
"columnDefs": (function (x) {
if (x.multiAction != undefined) {
return [{
orderable: false,
className: 'select-checkbox',
targets: 0
}];
} else {
return [
{ "width": "59px", "targets": 0 }
];
}
})(objectForm),
responsive: {
details: {
display: $.fn.dataTable.Responsive.display.modal({
header: function (row) {
var data = row.data();
return "Details :";
}
}),
renderer: $.fn.dataTable.Responsive.renderer.tableAll({
tableClass: "table"
})
}
},
buttons: [
'copy',
{
title: function () {
var titleX = 'Data ' + (function () {
var titleX = '';
if (objectForm.title != undefined) {
titleX = objectForm.title();
}
return titleX;
})();
return titleX;
},
extend: 'excel',
exportOptions: {
columns: objectForm.columnsExport
},
customize: function (xlsx) {
var sheet = xlsx.xl.worksheets['sheet1.xml'];
Array.from(sheet.querySelectorAll('row')).forEach(function (row, x) {
console.log(row);
Array.from(row.querySelectorAll('c')).forEach(function (f, i) {
(function col(f, i) {
if (f.children != undefined && f.children.length > 0) {
col(f.children[0], i);
} else {
try {
(function (f, i) {
if (
objectForm.customeExport[i].func != undefined
) {
objectForm.customeExport[i].func(f, x, window._datar);
}
})(f, i);
} catch (e) {
// console.log(e);
}
}
})(f, i);
});
})
}
},
{
title: 'Data ' + (function () {
var titleX = '';
if (objectForm.title != undefined) {
titleX = objectForm.title();
}
return titleX;
})(),
extend: 'pdf',
download: 'open',
messageBottom: null,
exportOptions: {
columns: objectForm.columnsExport
},
customize: function (doc) {
doc.content[0].text = 'Data ' + (function () {
var titleX = '';
if (objectForm.title != undefined) {
titleX = objectForm.title();
}
return titleX;
})();
}
},
{
title: function () {
var titleX = 'Data ' + (function () {
var titleX = '';
if (objectForm.title != undefined) {
titleX = objectForm.title();
}
return titleX;
})();
return titleX;
},
extend: 'print',
exportOptions: {
columns: objectForm.columnsExport
},
messageBottom: null,
customize: function (doc) {
}
}
]
}
if (objectForm.multiAction != undefined) {
optionTable.select = (function (x) {
if (x.multiAction != undefined) {
return {
style: 'os',
selector: 'td:first-child'
}
} else {
return {}
}
})(objectForm);
};
window.tablec = $('#tabledata').DataTable(optionTable);
tablec.columns.adjust().draw();
window._load = delay(function () {
tablec.clear();
var g = cssLoader();
var qr = objectForm.queryTemp;
var qr1 = qr.split('||')[0].replace(/\{select\}/g, objectForm.dataSelect);
if (window._startDate != undefined && objectForm.custcondition == undefined) {
if (objectForm.datekode != undefined && objectForm.filldate == true) {
if (qr1.indexOf('WHERE') != -1) {
qr1 += ' AND ' + objectForm.datekode + ' >= "' + window._startDate.format('YYYY-MM-DD') + '"'
} else {
qr1 += ' WHERE ' + objectForm.datekode + ' >= "' + window._startDate.format('YYYY-MM-DD') + '"'
}
qr1 += ' AND ' + objectForm.datekode + ' <= "' + window._endDate.format('YYYY-MM-DD') + '"'
}
}
if (objectForm.custcondition != undefined) {
qr1 = objectForm.custcondition(qr1);
};
var qr2 = qr.split('||')[1];
var ty = qr1 + qr2;
if (objectForm.debug == true) {
console.log(ty);
};
AuditDevQuery(datalogin, ty, function (r) {
window._datar = r;
r.forEach(function (d, i) {
var dat = [];
var custb = '';
if (objectForm.custButton != undefined) {
custb = objectForm.custButton(d);
}
if (objectForm.multiAction === true) {
dat.push('');
}
if (objectForm.disableEditor != undefined) {
if (typeof objectForm.disableEditor === 'function') {
dat.push(objectForm.disableEditor(d[objectForm.kode], d, i));
} else {
dat.push(`<div style="text-align:center;">
-
</div>`)
}
} else {
dat.push(`
<center>
<div class="dropdown">
<button class="btn btn-sm btn-primary dropdown-toggle" type="button" id="dropdownMenuButton628" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<i class="fas fa-cog"></i>
</button>
<div class="dropdown-menu" aria-labelledby="dropdownMenuButton628">
<a data-id="${i}" data-kode="${d[objectForm.kode]}" class="dropdown-item edit" href="#"><i class="fas fa-edit"></i> Ubah</a>
<a data-id="${i}" data-kode="${d[objectForm.kode]}" class="dropdown-item hapus" href="#"><i class="fas fa-trash"></i> hapus</a>
${custb}
</div>
</div>
</center>
<div>
</div>`)
}
objectForm.view.forEach(function (v, o) {
if (objectForm.custView != undefined) {
if (objectForm.custView[o] != undefined && objectForm.custView[o] != false) {
dat.push(objectForm.custView[o](d[v]))
} else {
dat.push(d[v])
}
} else {
if (objectForm.custome != undefined) {
if (objectForm.custome[v] != undefined) {
var vv = objectForm.custome[v](d[v], d)
dat.push(vv);
} else {
dat.push(d[v])
}
} else {
dat.push(d[v])
}
}
})
tablec.row.add(dat)
})
g.remove();
if (window._w != undefined && window._w === 'c') {
setTimeout(function () {
tablec.draw(true);
}, 100);
} else {
tablec.draw(false);
}
})
}, 150)
_load();
$(document).on('click', 'button.new', function () {
window._w = 'c';
_id('h-forms').style.display = 'block';
_id('h-body').style.display = 'none';
var titleX = '';
if (objectForm.title != undefined) {
titleX = objectForm.title();
}
$(".title-f").html('Tambah ' + titleX)
var qr = objectForm.queryTemp;
qr1 = qr.split('||')[0].replace(/\{select\}/g, objectForm.dataSelect);
Array.from(document.querySelectorAll('.form-d')).forEach(function (j) {
j.value = '';
});
if (objectForm.newkode != '') {
var k = cssLoader();
AuditDevQuery(datalogin, objectForm.newkode, function (a) {
k.remove();
globalThis['kode'].parent.value = a[0].kode;
})
}
objectForm.data.forEach(function (j) {
if (j.area == true) {
$(".form-d[name=\"" + j.name + "\"]").summernote('code', '')
}
if (j.type == 'select') {
window._setval(j.name, '');
}
if (j.date == 'date') {
$(".form-d[name=\"" + j.name + "\"]").val("").datepicker("update");
}
})
if (objectForm.oncreate != undefined) {
objectForm.oncreate();
}
})
var editActive;
var dataSelect;
$(document).on('click', '.h-tutup', function () {
_id('h-forms').style.display = 'none';
_id('h-body').style.display = 'block';
})
$(document).on('click', '.edit', function () {
window._w = 'u';
var kode = this.getAttribute('data-kode');
var id = this.getAttribute('data-id');
editActive = id;
var cek = `SELECT * FROM ${objectForm.table} WHERE ${objectForm.kode} = '${kode}' LIMIT 1`;
var t = cssLoader();
AuditDevQuery(datalogin, cek, function (r) {
if (r.length > 0) {
t.remove()
r = r[0];
dataSelect = r;
var titleX = '';
if (objectForm.title != undefined) {
titleX = objectForm.title();
}
$(".title-f").html('Update ' + titleX)
console.log(r);
Object.keys(r).forEach(function (jj) {
if (globalThis[jj] != undefined && globalThis[jj] != '') {
if (
_id(objectForm.idform).querySelector(`.form-d[name=${jj}]`) != undefined
&& _id(objectForm.idform).querySelector(`.form-d[name=${jj}]`) != null
){
if (_id(objectForm.idform).querySelector(`.form-d[name=${jj}]`).tagName == 'SELECT') {
var id = _id(objectForm.idform).querySelector(`.form-d[name=${jj}]`).id;
if (r[jj] != null) {
if (r[jj].indexOf(',') != -1) {
$('.form-d#' + id).val(r[jj].split(',')).trigger('change');
} else {
$('.form-d#' + id).val(r[jj]).trigger('change');
}
}
} else {
var jt = objectForm.data;
var f = objectForm.data.cond(jj, 'name')[0];
if (f.type == 'number') {
if (f.decimal != undefined) {
_id(objectForm.idform).querySelector(`.form-d[name=${jj}]`).value = r[jj].number(2).currency(2);
} else {
_id(objectForm.idform).querySelector(`.form-d[name=${jj}]`).value = r[jj].number(2).currency(0);
}
} else if (f.type == 'date') {
$('#' + objectForm.idform + ` .form-d[name=${jj}]`)
.datepicker("update", new Date(r[jj]))
} else {
if (f.area == true) {
$(`.form-d[name=${jj}]`).summernote('code', decodeHTML(atob(r[jj])));
} else {
_id(objectForm.idform).querySelector(`.form-d[name=${jj}]`).value = r[jj];
}
}
if (f.type === 'radio') {
globalThis._radioAct.setVal(f.name, r[jj], 1);
}
}
}
}
})
_id('h-forms').style.display = 'block';
_id('h-body').style.display = 'none';
if (objectForm.onupdate != undefined) {
objectForm.onupdate(r)
}
} else {
dataSelect = null;
t.remove();
Swal('Info', 'data ini telah dihapus', 'info')
setTimeout(() => {
_load();
}, 500);
}
})
});
$(document).on('click', '.hapus', function (event) {
window._w = 'h';
var kode = this.getAttribute('data-kode');
if (objectForm._delete != undefined && typeof objectForm._delete === 'function') {
objectForm._delete(kode);
throw 'stop action';
};
event.preventDefault();
Swal({
title: "Apa kamu yakin?",
text: "Data ini akan di hapus dari system!",
type: "warning",
showCancelButton: true,
confirmButtonColor: '#DD6B55',
confirmButtonText: 'Ya, Saya yakin!',
cancelButtonText: "Tidak, Batalkan!",
closeOnConfirm: false,
closeOnCancel: false
},
function (isConfirm) {
if (isConfirm) {
swal("Cancelled", "Your imaginary file is safe :)", "error");
} else {
swal("Cancelled", "Your imaginary file is safe :)", "error");
e.preventDefault();
}
});
setTimeout(() => {
document.querySelector('.swal2-cancel').focus()
}, 100);
document.querySelector('.swal2-confirm').addEventListener('click', function () {
if (objectForm.connection != undefined) {
var cssld = cssLoader();
$.ajax({
url: dataApi.connection
, typeData: 'json'
, method: 'POST'
, data: {
kode: kode
, data: objectForm.connection
}
, success: function (res) {
res = JSON.parse(res);
cssld.remove();
if (res.counter > 0) {
Swal('Info', 'Data telah terpakai di transaksi. tidak boleh dihapus!', 'info')
} else {
AuditDevQuery(datalogin, `DELETE FROM ${objectForm.table} WHERE ${objectForm.kode} = '${kode}'`, function () {
if (globalThis._loadCust != undefined) {
// globalThis._loadCust();
_load();
} else {
_load();
}
if (globalThis._delete != undefined) {
globalThis._delete(kode)
}
})
}
}, error: function () {
Swal('Warning', 'Connection Lost, please try again', 'warning');
cssld.remove();
throw 'error connection';
}
})
} else {
console.log('swall');
AuditDevQuery(datalogin, `SELECT * FROM ${objectForm.table} WHERE ${objectForm.kode} = '${kode}' LIMIT 1`, function (dx) {
if (dx.length > 0) {
dx = dx[0];
};
if (objectForm._condDeleteStop != undefined) {
objectForm._condDeleteStop.forEach(function (j) {
if (dx[j.id] == j.val) {
Swal('Warning', 'data telah diposting', 'warning')
throw 'stop action';
};
});
};
AuditDevQuery(datalogin, `DELETE FROM ${objectForm.table} WHERE ${objectForm.kode} = '${kode}'`, function () {
if (globalThis._loadCust != undefined) {
_load();
} else {
_load();
}
if (globalThis._delete != undefined) {
globalThis._delete(kode)
}
})
})
}
}, false)
})
$(document).on('click', '.delete-multi', function () {
var ids = $.map(tablec.rows('.selected').data(), function (item) {
return el('div').html(item[1]).get().querySelector('.edit').getAttribute('data-kode')
});
console.log(ids);
})
$(document).on('click', '.simpan', function () {
if (objectForm.onviewonly != undefined) {
if (objectForm.onviewonly != undefined && typeof objectForm.onviewonly === 'function') {
if (globalThis._validasi != undefined) {
globalThis._validasi();
}
var gta = Array.from(document.querySelectorAll('.form-d')).map(function (j) {
var t = {};
var ty = objectForm.data.cond(j.name, 'name')[0];
if (ty.unfollow != undefined) {
t['follow'] = false;
} else {
t['follow'] = true;
}
t['title'] = (function cj(x) {
if (x.querySelector('label') != undefined) {
return x.querySelector('label').innerHTML
} else {
return cj(x.parentNode);
}
})(j.parentNode);
t['name'] = j.name;
if (ty.type == 'number') {
t['text'] = j.value.number().toString();
} else if (ty.type == 'select') {
t['text'] = _getval(j.name);
} else if (ty.type == 'date') {
t['text'] = (function (s) {
var [tgl, bulan, tahun] = s.split("-");
return tahun + '-' + bulan + '-' + tgl;
})(j.value);
} else {
if (ty.area == true) {
t['text'] = btoa(HtmlEncode(j.value));
} else {
t['text'] = j.value;
}
}
return t;
}).filter(function (cj) {
if (cj.follow === true) {
return cj
}
});
objectForm.validasiForm.forEach(function (t) {
var ty = objectForm.data.cond(t, 'name')[0];
if (ty.type == 'radio') {
if (globalThis[t].parent.value === '') {
Swal('Warning', globalThis.kodesp.parent.parentNode.parentNode.querySelector('label').innerHTML + ' Tidak Boleh Kosong');
throw 'stop action'
}
} else {
if (_id(objectForm.idform).querySelector(`.form-d[name=${t}]`).value === '') {
Swal('Warning', _id(objectForm.idform).querySelector(`.form-d[name=${t}]`).parentNode.querySelector('label').innerHTML + ' Tidak Boleh Kosong', 'warning');
throw _id(objectForm.idform).querySelector(`.form-d[name=${t}]`).parentNode.querySelector('label').innerHTML + ' Tidak Boleh Kosong';
}
}
});
_id('h-forms').style.display = 'none';
_id('h-body').style.display = 'block';
var obj = {}
gta.forEach(function (g, i) {
obj[g.name] = g.text;
})
objectForm.onviewonly(obj);
} else {
_id('h-forms').style.display = 'none';
_id('h-body').style.display = 'block';
}
throw 'stop action'
}
var type = document.querySelector('.title-f').innerHTML;
if (type.indexOf('Tambah Baru') != -1) {
var gt = Array.from(document.querySelectorAll('.form-d')).map(function (j) {
var t = {};
var ty = objectForm.data.cond(j.name, 'name')[0];
if (ty.unfollow != undefined) {
t['follow'] = false;
} else {
t['follow'] = true;
}
t['title'] = (function cj(x) {
if (x.querySelector('label') != undefined) {
return x.querySelector('label').innerHTML
} else {
return cj(x.parentNode);
}
})(j.parentNode);
t['name'] = j.name;
if (ty.type == 'number') {
t['text'] = j.value.number().toString();
} else if (ty.type == 'select') {
console.log(_getval(j.name));
t['text'] = _getval(j.name);
} else if (ty.type == 'date') {
t['text'] = (function (s) {
var [tgl, bulan, tahun] = s.split("-");
return tahun + '-' + bulan + '-' + tgl;
})(j.value);
} else {
if (ty.area == true) {
t['text'] = btoa(HtmlEncode(j.value));
} else {
t['text'] = j.value;
}
}
return t;
}).filter(function (cj) {
if (cj.follow === true) {
return cj
}
});
objectForm.validasiForm.forEach(function (t) {
var ty = objectForm.data.cond(t, 'name')[0];
if (ty.type == 'radio') {
if (globalThis[t].parent.value === '') {
Swal('Warning', (function cj(x) {
if (x.querySelector('label') != undefined) {
return x.querySelector('label').innerHTML
} else {
return cj(x.parentNode);
}
})(globalThis.kodesp.parent.parentNode) + ' Tidak Boleh Kosong');
throw 'stop action'
}
} else {
if (_id(objectForm.idform).querySelector(`.form-d[name=${t}]`).value === '') {
Swal('Warning', (function cj(x) {
if (x.querySelector('label') != undefined) {
return x.querySelector('label').innerHTML
} else {
return cj(x.parentNode);
}
})(_id(objectForm.idform).querySelector(`.form-d[name=${t}]`).parentNode) + ' Tidak Boleh Kosong', 'warning');
throw 'Tidak Boleh Kosong';
}
}
});
if (globalThis._validasi != undefined) {
globalThis._validasi();
}
var insert = `INSERT INTO ${objectForm.table} (${gt.map(function (n) {
return n.name
}).join(',')}) values (${gt.map(function (cj) {
return `"${cj.text.replace(/\"/g, "\\\"")}"`;
})})`;
if (objectForm.debug != undefined) {
if (objectForm.debug == true) {
}
}
var validKode = '';
if (objectForm.validasiKode != undefined && Array.isArray(objectForm.validasiKode)) {
validKode += " AND " + objectForm.validasiKode.map(function (v) {
return ` ${v} = "${window._getval(v).replace(/\"/g, "\\\"")}" `;
}).join(" AND ");
};
console.log(insert)
var cek = `SELECT * FROM ${objectForm.table} WHERE ${objectForm.kode} = '${globalThis[objectForm.kode].parent.value}' ${validKode} `;
AuditDevQuery(datalogin, cek, function (r) {
if (r.length == 0) {
AuditDevQuery(datalogin, insert, function () {
_id('h-forms').style.display = 'none';
_id('h-body').style.display = 'block';
swal("Success", "Data telah ditambahkan", "success");
if (globalThis._loadCust != undefined) {
// globalThis._loadCust();
_load();
} else {
_load();
}
if (globalThis._insert != undefined) {
globalThis._insert()
}
})
} else {
Swal('Warning', 'kode sudah digunakan', 'warning');
}
})
} else {
var gt = Array.from(document.querySelectorAll('.form-d')).map(function (j) {
var t = {};
var ty = objectForm.data.cond(j.name, 'name')[0];
if (ty.unfollow != undefined) {
t['follow'] = false;
} else {
t['follow'] = true;
}
t['title'] = (function cj(x) {
if (x.querySelector('label') != undefined) {
return x.querySelector('label').innerHTML
} else {
return cj(x.parentNode);
}
})(j.parentNode);
t['name'] = j.name;
if (ty.type == 'number') {
t['text'] = j.value.number().toString();
} else if (ty.type == 'select') {
t['text'] = _getval(j.name);
} else if (ty.type == 'date') {
t['text'] = (function (s) {
var [tgl, bulan, tahun] = s.split("-");
return tahun + '-' + bulan + '-' + tgl;
})(j.value);
} else {
if (ty.area == true) {
t['text'] = btoa(HtmlEncode(j.value));
} else {
t['text'] = j.value;
}
}
return t;
}).filter(function (cj) {
if (cj.follow === true) {
return cj
}
});
objectForm.validasiForm.forEach(function (t) {
var ty = objectForm.data.cond(t, 'name')[0];
if (ty.type == 'radio') {
if (globalThis[t].parent.value === '') {
Swal('Warning', (function cj(x) {
if (x.querySelector('label') != undefined) {
return x.querySelector('label').innerHTML
} else {
return cj(x.parentNode);
}
})(globalThis.kodesp.parent.parentNode) + ' Tidak Boleh Kosong');
throw 'stop action'
}
} else {
if (_id(objectForm.idform).querySelector(`.form-d[name=${t}]`).value === '') {
Swal('Warning', (function cj(x) {
if (x.querySelector('label') != undefined) {
return x.querySelector('label').innerHTML
} else {
return cj(x.parentNode);
}
})(_id(objectForm.idform).querySelector(`.form-d[name=${t}]`).parentNode) + ' Tidak Boleh Kosong', 'warning');
throw ' Tidak Boleh Kosong';
}
}
});
if (globalThis._validasi != undefined) {
globalThis._validasi();
}
var kode = _id(objectForm.kode).value;
var update = `UPDATE ${objectForm.table} SET ${gt.map(function (df) {
return ` ${df.name} = "${df.text.replace(/\"/g, '\\\"')}" `
}).join(',')} WHERE ${objectForm.kode} = '${kode}'`;
console.log(update);
var y = cssLoader()
AuditDevQuery(datalogin, update, function () {
y.remove();
if (globalThis._update != undefined) {
globalThis._update()
}
_id('h-forms').style.display = 'none';
_id('h-body').style.display = 'block';
_load();
});
}
});
window._InputLine = function (kode, type, name, element) {
var last = element.innerHTML;
element.innerHTML = '';
var sx = div().html(last).get().children[0].querySelector('[data-action-table]').dataset;
var f = null;
f = el('input');
f.css({
padding: '5px 10px'
});
f.name(sx.name)
f.data('name', sx.name)
f.class('open-form-man')
f.css('width', '100%')
f.css('min-width', '120px')
f.data('kode', sx.actionTable)
f.val(div().html(last).get().querySelector('.data-show').innerText)
f.addModule('elm', element);
f.addModule('last', last);
f.load(function (eh) {
tablec.draw('false');
eh.el.focus();
setTimeout(function () {
document.querySelector(".dataTables_scrollBody").scrollLeft = 0;
scrollIntoViewWithOffset(eh.el, 90);
}, 100)
if (window.mobileCheck() === false) {
eh.el.addEventListener('keypress', function (e) {
if (e.key === 'Enter') {
var val = e.target.value;
var name = e.target.name;
e.target.elm.innerHTML = '';
var n = div().html(e.target.last).get().children[0];
n.id = 'tooltip' + Date.now();
n.querySelector('.data-show').innerText = val;
e.target.elm.appendChild(
n
);
tablec.draw('false');
var data = n.querySelector('[data-action-table]');
data = data.dataset;
data.kode = data.actionTable;
AuditDevQuery(datalogin, `
UPDATE ${objectForm.table}
SET ${name} = "${val.replace(/\"/g, "\\\"")}"
WHERE ${objectForm.kode} = "${data.kode.replace(/\"/g, "\\\"")}"
`, function () {
toastr.success('your data success update.', 'Update Success', { timeOut: 800 })
});
if (data.next != undefined) {
var fd = _getElement('.open-form-man')
.findData('kode', data.kode)
.findData('name', data.next)
.focus()
}
}
});
} else {
eh.el.addEventListener('focusout', function (e) {
var val = e.target.value;
e.target.elm.innerHTML = '';
var n = div().html(e.target.last).get().children[0];
n.id = 'tooltip' + Date.now();
n.querySelector('.data-show').innerText = val;
e.target.elm.appendChild(
n
);
tablec.draw('false');
var data = n.querySelector('[data-action-table]');
data = data.dataset;
data.kode = data.actionTable;
if (data.next != undefined) {
var fd = _getElement('.open-form-man')
.findData('kode', data.kode)
.findData('name', data.next)
.focus()
}
}, false)
}
});
element.appendChild(
f.get()
);
Array.from(document.querySelectorAll('.ui-tooltip')).forEach(function (e) {
e.remove();
})
}
document.body.addEventListener('click', function (e) {
if (e.target.tagName === 'DIV' && e.target.getAttribute('data-action-table') != undefined) {
var d = e.target.dataset
var h = e.target.parentNode.parentNode
var type = d.type;
var name = d.name;
var actionTable = d.actionTable;
_InputLine(actionTable, type, name, h);
}
if (e.target.getAttribute('data-act-btn') != undefined) {
var kode = e.target.getAttribute('data-kode');
if (window.$_actButtonEdit != undefined) {
window.$_actButtonEdit(e.target.dataset);
};
}
}, false)
return this;
},
conf: function(obj){
this.data = obj;
return this;
},
temp: function(w){
var t = document.querySelector('#container-app');
t.innerHTML = '';
var temp = `
<style>
.dataTable tr td{
white-space: nowrap;
}
</style>
<style>
@media (max-width: 991.98px){
.dataTables_wrapper table {
display: table;
width: 100%;
min-height: .01%;
overflow-x: auto;
}
}
.dataTable tr td:nth-child(1){
white-space: nowrap;
max-width: 59px;
}
.dt-buttons{
display:none !important;
}
.dataTables_filter{
display:none !important;
}
.form-search{
float: right;
width: 200px;
margin-top: 0;
}
@media only screen and (max-width: 500px){
.form-search{
float: none;
width: 100%;
margin-top: 10px;
}
}
select,
.select2-container {
width: 100% !important;
}
.select2-container {
width: 100% !important;
min-width: 100% !important;
max-width: 100% !important;
}
.ranges{
max-height: 320px;
overflow: auto;
}
.btn-clear{
display: inline-block ;
border: 1px solid #666ee8 ;
margin: 0 !important;
overflow: hidden;
height: 25px;
justify-content: center;
align-items: center;
padding: 3px 8px;
background: white;
}
.fixed-bottom{
z-index: 99 !important;
}
</style>
<div class="content-header">
<div class="container-fluid">
<div class="row mb-2">
<div class="col-sm-6">
<h1 class="m-0 text-dark">Pembelian</h1>
</div><!-- /.col -->
<div class="col-sm-6">
</div><!-- /.col -->
</div><!-- /.row -->
</div><!-- /.container-fluid -->
</div>
<section class="content">
<div class="card" id="h-forms" style="display:none;">
<div class="card-header">
<h5 class="modal-title title-f"></h5>
</div>
<div class="card-body">
<div class="row" id="containerforms">
</div>
</div>
<div class="card-footer">
<button type="button" class="btn btn-primary simpan">Simpan</button>
<button type="button" class="btn btn-secondary h-tutup" data-dismiss="modal">Tutup</button>
</div>
</div>
<div class="card" id="h-body" style="margin-bottom:80px;">
<div class="card-header panel-head-menu" style="border-bottom: 1px solid #ddd;">
<div class="btn-group">
<button type="button" class="btn btn-default btn-min-width dropdown-toggle"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><i class="icon-printer"></i>
Export</button>
<div class="dropdown-menu" id="listreportmenu">
</div>
</div>
<button class="btn btn-primary new"><i class="icon-plus"></i> Baru </button>
<button class="btn btn-default" onclick="_load()"><i class="fas fa-sync-alt"></i></button>
</div>
<div class="card-body">
<table class="table" id="tabledata" class="display" style="width:100%">
<thead style="min-width:100%">
<tr style="background-color: #4c8bf5; color: #ffffff;">
${(function(w){
if(Array.isArray(w)){
return w.map(function(f){
return `<th>${f}</th>`
}).join("")
}
return "";
})(w)}
</tr>
</thead>
<tfoot style="min-width:100%">
<tr style="background-color: #4c8bf5; color: #ffffff;">
${(function (w) {
if (Array.isArray(w)) {
return w.map(function (f) {
return `<th>${f}</th>`
}).join("")
}
return "";
})(w)}
</tr>
</tfoot>
</table>
</div>
</div>
</section>
`;
t.appendChild(
div().html(temp).get()
);
return this;
},
call: function(){
this.action(this.data);
}
}
}