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

667 lines
14 KiB

5 years ago
var AveDocs = {
initialized: false,
init: function () {
if (this.initialized)
return;
this.initialized = true;
},
//
list: function () {
this.addDocument();
5 years ago
this.documentCopy();
5 years ago
this.selectAllDocuments();
this.documentAction();
this.documentPublish();
this.documentRecycle();
},
//
edit: function () {
5 years ago
this.revisionDelete();
this.revisionRecover();
this.revisionsDelete();
this.translitURL();
this.checkURLInput();
this.editDateTime();
this.linkSelect();
this.metaKeywords();
this.documentLanguage();
this.saveEditBtn();
this.editMousetrap();
this.windowOnLoadCKEditor();
5 years ago
},
//
search: function () {
this.searchDateTime();
this.searchCollapsible();
},
//
addDocument: function () {
$(".AddDocument").on('click', function (event) {
event.preventDefault();
let rubricId = $('#addDocRub #rubricId').fieldValue();
if (rubricId == '') {
jAlert(add_doc_text, add_doc_title);
} else {
$.alerts._overlay('show');
$("#addDocRub").submit();
}
});
},
//
selectAllDocuments: function () {
$('#selectAll').on('change', function (event) {
event.preventDefault();
if ($('#selectAll').is(':checked')) {
$('#docs .checkbox').attr('checked', 'checked').addClass('jqTransformChecked');
$("#docs a.jqTransformCheckbox").addClass("jqTransformChecked");
} else {
$('#docs .checkbox').removeClass('jqTransformChecked').removeAttr('checked');
$("#docs a.jqTransformCheckbox").removeClass("jqTransformChecked");
}
});
},
//
documentPublish: function () {
$(".documentPublish").on('click', function (event) {
event.preventDefault();
let link = $(this);
let doc_id = link.data('id');
$.ajax({
type: 'POST',
5 years ago
url: 'index.php?do=docs&action=publish&cp=' + sess,
5 years ago
data: {
'doc_id': doc_id
},
dataType: 'JSON',
beforeSend: function () {
$.alerts._overlay('show');
},
success: function (data) {
$.alerts._overlay('hide');
if (data.success) {
(data.status != 1)
? link.closest('tr').addClass('yellow')
: link.closest('tr').removeClass('yellow');
(data.status != 1)
? link.addClass('public')
: link.removeClass('public');
link.attr('title', data.text);
AveAdmin.tooltip();
}
$.jGrowl(data['message'], {
header: data['header'],
theme: data['theme']
});
}
});
});
},
//
documentRecycle: function () {
$(".documentRecycle").on('click', function (event) {
event.preventDefault();
let link = $(this);
5 years ago
let link_tr = link.closest('tr');
let link_publish = link_tr.find('.documentPublish');
5 years ago
let doc_id = link.data('id');
$.ajax({
type: 'POST',
5 years ago
url: 'index.php?do=docs&action=recycle&cp=' + sess,
5 years ago
data: {
'doc_id': doc_id
},
dataType: 'JSON',
beforeSend: function () {
$.alerts._overlay('show');
},
success: function (data) {
$.alerts._overlay('hide');
if (data.success) {
(data.status == 1)
5 years ago
? link_tr.removeClass('yellow').addClass('red')
: link_tr.removeClass('red');
5 years ago
(data.status == 1)
? link.addClass('recylce')
: link.removeClass('recylce');
(data.status == 1)
5 years ago
? link_publish.addClass('hidden')
: link_publish.removeClass('hidden');
if (data.status == 0 && link_publish.hasClass('public')) {
link_tr.addClass('yellow')
}
5 years ago
link.attr('title', data.text);
AveAdmin.tooltip();
}
$.jGrowl(data['message'], {
header: data['header'],
theme: data['theme']
});
}
});
});
},
//
documentCopy: function () {
5 years ago
$(".documentCopy").on('click', function (event) {
5 years ago
event.preventDefault();
let href = $(this).attr('href');
jPrompt(copy_doc_text, '', copy_doc_title, function (data) {
if (data) {
$.alerts._overlay('show');
window.location = href + '&document_title=' + data;
} else {
$.jGrowl(copy_doc_no, {theme: 'error'});
}
5 years ago
});
5 years ago
});
},
//
documentAction: function () {
$(".docaction").hover(
function () { $(this).children(".actions").show("fade", 10); },
function() { $(this).children(".actions").hide("fade", 10); }
);
},
//
searchDateTime: function () {
$('#document_published').datepicker({
changeMonth: true,
changeYear: true,
onClose: function (dateText, inst) {
var endDateTextBox = $('#document_expire');
if (endDateTextBox.val() != '') {
var testStartDate = new Date(dateText);
var testEndDate = new Date(endDateTextBox.val());
if (testStartDate > testEndDate)
endDateTextBox.val(dateText);
}
else {
endDateTextBox.val(dateText);
}
},
onSelect: function (selectedDateTime) {
var start = $(this).datetimepicker('getDate');
$('#document_expire').datetimepicker('option', 'minDate', new Date(start.getTime()));
}
});
$('#document_expire').datepicker({
changeMonth: true,
changeYear: true,
onClose: function (dateText, inst) {
var startDateTextBox = $('#document_published');
if (startDateTextBox.val() != '') {
var testStartDate = new Date(startDateTextBox.val());
var testEndDate = new Date(dateText);
if (testStartDate > testEndDate)
startDateTextBox.val(dateText);
}
else {
startDateTextBox.val(dateText);
}
},
onSelect: function (selectedDateTime) {
var end = $(this).datetimepicker('getDate');
$('#document_published').datetimepicker('option', 'maxDate', new Date(end.getTime()));
}
});
},
//
searchCollapsible: function () {
$('.collapsible').collapsible({
defaultOpen: 'opened',
cssOpen: 'inactive',
cssClose: 'normal',
cookieName: 'collaps_doc',
cookieOptions: {
expires: 7,
domain: ''
},
speed: 5,
loadOpen: function (elem, opts) {
elem.next().show();
},
loadClose: function (elem, opts) {
elem.next().hide();
}
});
$('.collapsible').on('click', function () {
setTimeout(function () {
AveAdmin.sticky_panel_refresh();
AveAdmin.select_form();
}, 10);
});
},
5 years ago
//
revisionRecover: function () {
$(".recoverRevision").on('click', function (event) {
event.preventDefault();
let href = $(this).attr('href'),
title = $(this).data('title'),
confirm = $(this).data('confirm');
jConfirm(
confirm,
title,
function (success) {
if (success) {
$.alerts._overlay('show');
window.location = href;
}
}
);
});
},
//
revisionDelete: function () {
$(".deleteRevision").on('click', function (event) {
event.preventDefault();
let revission = $(this).data('rev'),
href = $(this).attr('href'),
title = $(this).data('title'),
confirm = $(this).data('confirm');
jConfirm(
confirm,
title,
function (success) {
if (success) {
$.alerts._overlay('hide');
$.alerts._overlay('show');
$.ajax({
url: ave_path + 'admin/' + href + '&ajax=run',
type: 'POST',
success: function (data) {
$.alerts._overlay('hide');
$.jGrowl(revission, { theme: 'accept' });
$("#" + revission).remove();
}
});
}
}
);
});
},
//
revisionsDelete: function () {
$(".deleteRevisions").on('click', function (event) {
event.preventDefault();
let href = $(this).attr('href'),
title = $(this).data('title'),
confirm = $(this).data('confirm');
jConfirm(
confirm,
title,
function (success) {
if (success) {
$.alerts._overlay('hide');
$.alerts._overlay('show');
$.ajax({
url: ave_path + 'admin/' + href,
type: 'POST',
dataType: 'JSON',
success: function (data) {
$.alerts._overlay('hide');
$.jGrowl(data.message, { theme: 'accept' });
$('#tableRevisions').find('tbody').html('');
}
});
}
}
);
});
},
//
checkURL: function () {
let alias = $("#document_alias").val(),
doc_id = $('#formDoc').data('id');
$.ajax({
beforeSend: function () {
},
url: 'index.php',
data: ({
'action': 'checkurl',
'do': 'docs',
'check': false,
'cp': sess,
'id': doc_id,
'alias': alias
}),
timeout: 3000,
dataType: 'JSON',
success:
function (data) {
$.jGrowl(data[0], {theme: data[1]});
}
});
},
//
translitURL: function () {
$("#translit").on('click', function () {
let alias = $("#document_alias").val(),
title = $("#document_title").val(),
prefix = $('#formDoc').data('prefix');
$.ajax({
beforeSend: function () {
$("#checkResult").html('');
},
url: 'index.php',
data: ({
'action': 'translit',
'do': 'docs',
'cp': sess,
'alias': alias,
'title': title,
'prefix': prefix
}),
timeout: 3000,
success: function (data) {
$("#document_alias").val(data);
AveDocs.checkURL();
}
});
});
},
//
checkURLInput: function () {
$("#document_alias").on('change', function () {
if ($(this).val() != '')
AveDocs.checkURL();
});
},
//
editDateTime: function () {
$('#document_published').datetimepicker({
changeMonth: true,
changeYear: true,
stepHour: 1,
stepMinute: 1,
onClose: function (dateText, inst) {
var endDateTextBox = $('#document_expire');
if (endDateTextBox.val() != '') {
var testStartDate = new Date(dateText);
var testEndDate = new Date(endDateTextBox.val());
if (testStartDate > testEndDate)
endDateTextBox.val(dateText);
}
else {
endDateTextBox.val(dateText);
}
}
});
$('#document_expire').datetimepicker({
changeMonth: true,
changeYear: true,
stepHour: 1,
stepMinute: 1,
onClose: function (dateText, inst) {
var startDateTextBox = $('#document_published');
if (startDateTextBox.val() != '') {
var testStartDate = new Date(startDateTextBox.val());
var testEndDate = new Date(dateText);
if (testStartDate > testEndDate)
startDateTextBox.val(dateText);
}
else {
startDateTextBox.val(dateText);
}
},
onSelect: function (selectedDateTime) {
var end = $(this).datetimepicker('getDate');
$('#document_published').datetimepicker('option', 'maxDate', new Date(end.getTime()));
}
});
},
//
linkSelect: function () {
$(".linkSelect").on('change', function() {
let link = $(this).val(),
parent = $(this).find('option:selected').attr("data-id"),
prefix = $('#formDoc').data('prefix');
if (prefix == '') {
$("#document_alias").val(link);
} else {
$("#document_alias").val(link + '/' + prefix);
}
$("#document_parent").val(parent);
return false;
});
},
//
metaKeywords: function () {
$("#document_meta_keywords").autocomplete("index.php?do=docs&action=keywords&ajax=run&cp=" + sess, {
max: 20,
width: 300,
highlight: false,
multiple: true,
multipleSeparator: ", ",
autoFill: true,
scroll: true,
scrollHeight: 180
});
},
//
documentLanguage: function () {
$('#document_lang').on('change', function () {
let lang = $('#document_lang option:selected').val(),
alias = $('#document_alias').val().split('/'),
languages = [];
$('#document_lang option').each(function () {
languages.push($(this).attr('value'));
});
if ($.inArray(alias[0], languages) > -1) {
alias.splice(0, 1);
}
if ((lang == defaultLang) || (lang == noneLanguage)) {
$('#document_alias').val(alias.join('/'));
} else {
if (alias[0] != "") {
$('#document_alias').val(lang + '/' + alias.join('/'));
} else {
$('#document_alias').val(lang);
}
}
});
$('#lang_block').hide();
$('#show_lang').on('click', function (event) {
event.preventDefault();
$('#lang_block').show();
$('#show_lang').hide();
});
},
//
documentSaveFunction: function () {
let form = $('#formDoc');
form.ajaxSubmit({
url: form.attr('action'),
dataType: 'JSON',
beforeSubmit: function () {
$.alerts._overlay('show');
},
success: function (data) {
$.alerts._overlay('hide');
$.jGrowl(data['message'], {
header: data['header'],
theme: data['theme']
});
}
});
},
//
saveDocument: function () {
let form = $('#formDoc');
if (window.CKEDITOR)
for (var instanceName in CKEDITOR.instances)
CKEDITOR.instances[instanceName].updateElement();
if (form.data('id') > 0) {
AveDocs.documentSaveFunction();
} else {
form.submit();
}
},
//
documentSee: function () {
let form = $('#formDoc'),
doc_id = form.data('id');
if (doc_id > 0) {
window.open('/index.php?id=' + doc_id, '_blank');
} else {
jAlert(alert_none_id, alert_none_id_t);
}
},
//
saveEditBtn: function () {
$('.SaveEdit').on('click', function (event) {
event.preventDefault();
if (window.CKEDITOR)
for (var instanceName in CKEDITOR.instances)
CKEDITOR.instances[instanceName].updateElement();
AveDocs.saveDocument();
return false;
});
},
//
editMousetrap: function () {
Mousetrap.bind(['ctrl+s', 'command+s'], function (event) {
event.preventDefault();
if (window.CKEDITOR)
for (var instanceName in CKEDITOR.instances)
CKEDITOR.instances[instanceName].updateElement();
AveDocs.saveDocument();
return false;
});
Mousetrap.bind(['ctrl+o', 'command+o'], function (event) {
event.preventDefault();
AveDocs.documentSee();
return false;
});
},
//
windowOnLoadCKEditor: function () {
window.onload = function () {
if (window.CKEDITOR) {
CKEDITOR.on('instanceReady', function (event) {
event.editor.setKeystroke(CKEDITOR.CTRL + 83 /*S*/, 'savedoc');
});
}
}
}
5 years ago
};