OpenXE/classes/Modules/Company/www/js/companydata.js

304 lines
12 KiB
JavaScript
Raw Normal View History

2021-05-21 08:49:41 +02:00
var CompanyData = (function ($) {
var me = {
storage: {},
init: function () {
$('#document_popup').dialog(
{
modal: true,
autoOpen: false,
minWidth: 800,
title:'',
buttons: {
'ABBRECHEN': function() {
$(this).dialog('close');
},
'SPEICHERN': function()
{
$.ajax({
url: 'index.php?module=firmendaten&action=documentsettings&cmd=savedocument',
type: 'POST',
dataType: 'json',
data: {
id: $('#document_id').val(),
doctype: $('#document_doctype').val(),
content:$('#document_content').val(),
active:$('#document_active').prop('checked')?1:0,
project:$('#document_project').val(),
fontstyle:$('#document_fontstyle').val(),
alignment:$('#document_alignment').val()
},
success: function(data) {
if(typeof data.status != 'undefined' && data.status == 1) {
$('#company_document_setting').DataTable( ).ajax.reload();
$('#document_popup').dialog('close');
}else{
alert(data.statusText);
}
},
beforeSend: function() {
}
});
}
},
close: function(event, ui){
}
});
me.registerEvents();
$('#translation_popup').dialog(
{
modal: true,
autoOpen: false,
minWidth: 800,
title:'',
buttons: {
'ABBRECHEN': function() {
$(this).dialog('close');
},
'SPEICHERN': function()
{
$.ajax({
url: 'index.php?module=firmendaten&action=documentsettings&cmd=savetranslation',
type: 'POST',
dataType: 'json',
data: {
parent_id: $('#document_id').val(),
language: $('#language').val(),
doctype: $('#document_doctype').val(),
content:$('#translationcontent').val(),
active:$('#active').prop('checked')?1:0,
fontstyle:$('#document_translation_fontstyle').val(),
alignment:$('#document_translation_alignment').val()
},
success: function(data) {
$('#translation_popup').dialog('close');
},
beforeSend: function() {
}
});
}
},
close: function(event, ui){
}
});
$('#language').on('change',function() {
$.ajax({
url: 'index.php?module=firmendaten&action=documentsettings&cmd=loadtranslation',
type: 'POST',
dataType: 'json',
data: {
language: $(this).val(),
parent_id: $('#document_id').val()
},
success: function(data) {
if(typeof data.id != 'undefined' && data.id != '0') {
$('#active').prop('checked', data.active);
$('#translationcontent').val(data.content);
$('#document_translation_fontstyle').val(data.fontstyle);
$('#document_translation_alignment').val(data.alignment);
}
},
beforeSend: function() {
}
});
});
$('button.getelements').on('click',function(){
$($('#document_preview option:selected')).each(function(){
var $elements = $('#document_content');
if(($($elements).val()+'').indexOf('{'+$(this).val()+'}') < 0)
{
$($elements).val($($elements).val()+($($elements).val()+'' ===''?'':"\n")+$(this).text()+':|{'+$(this).val()+'}');
}
});
});
$('button.gettranslationelements').on('click',function(){
$($('#document_translation_preview option:selected')).each(function(){
var $elements = $('#translationcontent');
if(($($elements).val()+'').indexOf('{'+$(this).val()+'}') < 0)
{
$($elements).val($($elements).val()+($($elements).val()+'' ===''?'':"\n")+$(this).text()+':|{'+$(this).val()+'}');
}
});
});
$('img.translate').on('click', function(){
me.openTranslation($(this).data('document'));
});
$('input.edit').on('click', function(){
me.openDocument($(this).data('id'));
});
$('input#selectall').on('change', function(){
$('#company_document_setting input:checkbox').prop('checked', $(this).prop('checked'));
});
$('#doaction').on('click', function(){
if($('#actionselection').val() !== '' && $('#company_document_setting :checked').length) {
var ids = [];
$('#company_document_setting :checked').each(function(){
ids.push($(this).val());
});
$.ajax({
url: 'index.php?module=firmendaten&action=documentsettings&cmd=changestatus',
type: 'POST',
dataType: 'json',
data: {
action: $('#actionselection').val(),
ids: ids
},
success: function(data) {
$('#company_document_setting').DataTable( ).ajax.reload();
},
beforeSend: function() {
}
});
}
});
$('#document_doctype').on('change', function(){
$('#document_preview option').each(function() {
if ($(this).hasClass('doctype-'+$('#document_doctype').val())) {
$(this).show();
}else{
$(this).hide();
}
});
});
},
registerEvents: function () {
$(document).on('click', '.companydocument-edit', function (e) {
e.preventDefault();
var fieldId = $(this).data('companydocumentId');
me.openDocument(fieldId);
});
$(document).on('click', '.companydocument-copy', function (e) {
e.preventDefault();
var fieldId = $(this).data('companydocumentId');
me.copyInfoBlock(fieldId);
});
$(document).on('click', '.companydocument-delete', function (e) {
e.preventDefault();
var fieldId = $(this).data('companydocumentId');
me.deleteInfoBlock(fieldId);
});
},
openTranslation: function(doctype) {
$('#doctype').val(doctype);
$('#language').trigger('change');
$('#translation_popup').dialog('open');
},
deleteInfoBlock: function(id) {
if(id && confirm('Wirklich löschen?') )
{
$.ajax({
url: 'index.php?module=firmendaten&action=documentsettings&cmd=deleteinfoblock',
type: 'POST',
dataType: 'json',
data: {
id:id
},
success: function(data) {
$('#company_document_setting').DataTable( ).ajax.reload();
},
beforeSend: function() {
}
});
}
},
copyInfoBlock: function(id) {
if(id && confirm('Wirklich kopieren?') )
{
$.ajax({
url: 'index.php?module=firmendaten&action=documentsettings&cmd=copyinfoblock',
type: 'POST',
dataType: 'json',
data: {
id: id
},
success: function(data) {
$('#company_document_setting').DataTable( ).ajax.reload();
},
beforeSend: function() {
}
});
}
},
openDocument: function(id) {
$('#document_id').val(id);
if(id) {
$('img#opentranlation').show();
}
else {
$('img#opentranlation').hide();
}
$.ajax({
url: 'index.php?module=firmendaten&action=documentsettings&cmd=loaddocument',
type: 'POST',
dataType: 'json',
data: {
id: id,
},
success: function(data) {
$('#document_active').prop('checked',data.active);
$('#document_doctype').val(data.doctype);
$('#document_content').val(data.content);
$('#document_project').val(data.project);
$('#document_fontstyle').val(data.fontstyle);
$('#document_alignment').val(data.alignment);
$('#document_preview option').each(function() {
if($('#document_doctype').val() === null || $('#document_doctype').val == ''){
$(this).show();
}else{
if ($(this).hasClass('doctype-'+$('#document_doctype').val())) {
$(this).show();
}else{
$(this).hide();
}
}
});
$('#document_popup').dialog('open');
},
beforeSend: function() {
}
});
}
};
return {
init: me.init
}
})(jQuery);
$(document).ready(function(){
CompanyData.init();
});