Files
atlhousingreport/js/addPopover.js
T

132 lines
3.4 KiB
JavaScript
Raw Normal View History

// ===========
// Add Popover
// ===========
$(document).ready(function () {
var $application = $("#APPLICATION_MNEMONIC").val(),
$sessionStorage = JSON.parse(sessionStorage.getItem($application) || "{}"),
$CKEditor;
// ----------------------
// Initialize the Editor.
// ----------------------
ClassicEditor
.create(document.querySelector('#popover_text'), {
toolbar: {
items: [
'heading',
'|',
'bold',
'italic',
'underline',
'link',
'bulletedList',
'numberedList',
'|',
'fontColor',
'fontSize',
'fontFamily',
'|',
'indent',
'outdent',
'alignment',
'|',
'horizontalLine',
'insertTable',
'|',
'undo',
'redo',
'|'
]},
link: {
addTargetToExternalLinks: true,
defaultProtocol: "http://"
}
})
.then(editor => {
$CKEditor = editor;
})
.catch(error => {
console.error('CK-Editor error...');
console.error(error);
});
// -----------
// Save Button
// -----------
$(".btnSave").on("click", function (e) {
e.preventDefault();
$("#addPopover").submit();
});
// --------------
// Cancel Button.
// --------------
$(".btnCancel").on("click", function () {
$sessionStorage.action = $sessionStorage.addPopover || "";
sessionStorage.setItem($application, JSON.stringify($sessionStorage));
formSubmit($sessionStorage);
});
// ---------------
// Validate Inputs
// ---------------
$("#addPopover").submit(function (e) {
var popover_name = $("#popover_name"),
popover_title = $("#popover_title"),
popover_text = $("#popover_text");
clearInputErrors();
popover_name.val(popover_name.val().replace(/\s+/g, " ").trim());
popover_title.val(popover_title.val().replace(/\s+/g, " ").trim());
if (isBlank(popover_name)) {
createInputError(popover_name, "Name is required");
return false;
}
if (formPost({action: "Popovers.popoverExists", popover_serial: 0, popover_name: popover_name.val()}) === true) {
createInputError(popover_name, "Name already exists");
return false;
}
if (isBlank(popover_title)) {
createInputError(popover_title, "Title is required");
return false;
}
e.preventDefault();
$CKEditor.updateSourceElement();
$.post("./", $(this).serialize())
.done(function () {
$sessionStorage.action = $sessionStorage.addPopover || "";
sessionStorage.setItem($application, JSON.stringify($sessionStorage));
formSubmit($sessionStorage);
});
});
});