"use strict";
/*!
* (c) 2021-2022, Broto Suseno (broto.suseno@kemenkopm.go.id)
*/
function TAktifitas() {
var AktifitasInfo = {
'Id': ''
, 'Judul': ''
, 'Artikel': ''
, 'IsActive': 0
};
var priorId = '';
var nextId = '';
var quill;
this.run = function (prmAktivitasId) {
if (prmAktivitasId) AktifitasInfo.Id = prmAktivitasId;
document.addEventListener('DOMContentLoaded', function (event) {
if (![1, 3, 5].includes(GLoginInfo.UserTypeId)) {
General.hideElement('btnAktifitasTambah');
General.hideElement('btnAktifitasEdit');
General.hideElement('btnAktifitasHapus');
}
if (![1, 3, 5].includes(GLoginInfo.UserTypeId)) {
xenJS.getElm('edDlgAktifitasIsActive').disabled = true;
}
doLoadData(AktifitasInfo.Id);
quill = new Quill('#edDlgAktifitasArticle', {
modules: {
imageResize: {
displaySize: true
}
, toolbar: [
['bold', 'italic', 'underline']
, [{ align: '' }, { align: 'center' }, { align: 'right' }, { align: 'justify' }]
, [{ list: 'ordered' }, { list: 'bullet' }]
, ['link', 'image', 'video', 'blockquote']
]
}
, theme: 'snow'
});
});
};
this.prior = function () {
doLoadData(priorId);
};
this.next = function () {
doLoadData(nextId);
};
function doLoadData(prmAktifitasId) {
var url = GServerURL + 'atf-rea.php?Id=' + prmAktifitasId;
Dialogs.showDlgWait();
xenJS.fetchJSON(url, function (prmJSONData) {
if (prmJSONData.success) {
var tmp = false;
AktifitasInfo = prmJSONData.data;
if (AktifitasInfo) {
AktifitasInfo.CreateBy = parseInt(AktifitasInfo.CreateBy);
AktifitasInfo.ModifyBy = parseInt(AktifitasInfo.ModifyBy);
priorId = prmJSONData.prior;
nextId = prmJSONData.next;
xenJS.getElm('btnAktifitasPrior').disabled = (priorId ? false : true);
xenJS.getElm('btnAktifitasNext').disabled = (nextId ? false : true);
} else {
if (GLoginInfo.UserId && (GLoginInfo.UserTypeId <= 10)) {
xenJS.getElm('btnAktifitasEdit').disabled = true;
xenJS.getElm('btnAktifitasHapus').disabled = true;
}
xenJS.getElm('btnAktifitasPrior').disabled = true;
xenJS.getElm('btnAktifitasNext').disabled = true;
}
showAktifitas();
Dialogs.hideDlgWait();
} else {
Dialogs.hideDlgWait();
Dialogs.showDlgError(prmJSONData.message);
}
});
}
function showAktifitas() {
var str = '';
var onclick = '';
if (AktifitasInfo) {
AktifitasInfo.CreateAt = new Date(AktifitasInfo.CreateAt);
AktifitasInfo.IsActive = parseInt(AktifitasInfo.IsActive);
str = AktifitasInfo.CreateAt.toLocaleDateString('id-ID') + ' '
+ AktifitasInfo.CreateAt.toLocaleTimeString('id-ID', { hour: '2-digit', minute: '2-digit' })
+ ' WIB';
if (GLoginInfo.UserId && (GLoginInfo.UserTypeId <= 10)) {
str += ' ' + (AktifitasInfo.IsActive == 1 ? '';
}
xenJS.getElm('txtAktifitasCreateAt').innerHTML = str;
xenJS.getElm('txtAktifitasJudul').innerHTML = AktifitasInfo.Judul;
str = AktifitasInfo.Artikel;
str = str.replace('ql-align-left', 'w3-left-align');
str = str.replace('ql-align-right', 'w3-right-align');
str = str.replace('ql-align-center', 'w3-center');
str = str.replace('ql-align-justify', 'w3-justify');
str = str.replace('img src=', 'img class="w3-image" src=');
xenJS.getElm('divAktifitasArtikel').innerHTML = str;
if ((GLoginInfo.UserId > 0) && (GLoginInfo.UserTypeId <= 10)) {
if (!AktifitasInfo.ModifyBy || (AktifitasInfo.CreateBy == AktifitasInfo.ModifyBy)) {
str = AktifitasInfo.CreateName;
} else {
str = AktifitasInfo.CreateName + ', ' + AktifitasInfo.ModifyName;
}
} else {
str = '';
}
xenJS.getElm('txtAktifitasPenulis').innerHTML = '' + str + '';
} else {
xenJS.getElm('txtAktifitasCreateAt').innerHTML = '';
xenJS.getElm('txtAktifitasJudul').innerHTML = '';
xenJS.getElm('divAktifitasArtikel').innerHTML = 'Segera hadir!';
xenJS.getElm('txtAktifitasPenulis').innerHTML = '';
}
}
this.tambah = function () {
xenJS.getElm('frmAktifitas').reset();
xenJS.getElm('txtDlgAktifitasTitle').innerHTML = 'Tambah Aktifitas';
xenJS.getElm('edDlgAktifitasId').value = '';
xenJS.getElm('edDlgAktifitasIsActive').checked = false;
quill.root.innerHTML = '';
General.showElement('dlgAktifitas');
}
this.edit = function () {
//if ((AktifitasInfo.IsActive == 1) && GLoginInfo.UserId && (GLoginInfo.UserTypeId > 3)) {
// Dialogs.showDlgError('Pengeditan aktifitas yang sedang tampil hanya dapat dilakukan oleh Manajer.');
// return;
//}
xenJS.getElm('frmAktifitas').reset();
xenJS.getElm('txtDlgAktifitasTitle').innerHTML = 'Edit Aktifitas';
xenJS.getElm('edDlgAktifitasId').value = AktifitasInfo.Id;
xenJS.getElm('edDlgAktifitasJudul').value = AktifitasInfo.Judul;
xenJS.getElm('edDlgAktifitasIsActive').checked = (AktifitasInfo.IsActive == 1);
quill.root.innerHTML = AktifitasInfo.Artikel;
General.showElement('dlgAktifitas');
};
this.ubahAktif = function () {
var msg;
var IsActive;
if (AktifitasInfo.IsActive == 1) {
msg = 'Ubah aktifitas ini menjadi tidak tampil?';
IsActive = 0;
} else {
msg = 'Tampilkan aktifitas ini?';
IsActive = 1;
}
Dialogs.showDlgConfirm2(msg, onOK);
function onOK() {
var url = 'atf-act.php';
var params = {
'Id': AktifitasInfo.Id
, 'IsActive': IsActive
};
General.ajaxPost(url, params, onSuccess, onError);
function onSuccess(prmData) {
if (prmData.success) {
location.reload();
} else {
Dialogs.hideDlgWait();
Dialogs.showDlgError(prmData.message);
}
}
function onError(prmXHR) {
Dialogs.hideDlgWait();
Dialogs.showDlgError(prmXHR.statusText);
}
}
};
this.hapus = function () {
//if ((AktifitasInfo.IsActive == 1) && GLoginInfo.UserId && (GLoginInfo.UserTypeId > 3)) {
// Dialogs.showDlgError('Penghapusan aktifitas yang sedang tampil hanya dapat dilakukan oleh Manajer.');
// return;
//}
var msg = 'Hapus aktifitas ini?';
Dialogs.showDlgConfirm2(msg, onOK);
function onOK() {
var url = 'atf-del.php';
var params = {
'Id': AktifitasInfo.Id
};
General.ajaxPost(url, params, onSuccess, onError);
function onSuccess(prmData) {
if (prmData.success) {
location.reload();
} else {
Dialogs.hideDlgWait();
Dialogs.showDlgError(prmData.message);
}
}
function onError(prmXHR) {
Dialogs.hideDlgWait();
Dialogs.showDlgError(prmXHR.statusText);
}
}
};
this.frmAktifitasSubmit = function () {
var AktifitasId = xenJS.getElm('edDlgAktifitasId').value;
var url = (AktifitasId ? 'atf-upd.php' : 'atf-cre.php');
var IsActive = (xenJS.getElm('edDlgAktifitasIsActive').checked ? 1 : 0);
var params = {
'Id': AktifitasId
, 'Judul': xenJS.getElm('edDlgAktifitasJudul').value
, 'Artikel': quill.root.innerHTML
, 'IsActive': IsActive
};
Dialogs.showDlgWait();
General.ajaxPost(url, params, onSuccess, onError);
function onSuccess(prmData) {
if (prmData.success) {
if (!AktifitasId) {
location.reload();
} else {
doLoadData(AktifitasId);
General.hideElement('dlgAktifitas');
Dialogs.hideDlgWait();
}
} else {
Dialogs.hideDlgWait();
Dialogs.showDlgError(prmData.message);
}
}
function onError(prmXHR) {
Dialogs.hideDlgWait();
Dialogs.showDlgError(prmXHR.statusText);
}
};
}
var Aktifitas = new TAktifitas();