710 lines
20 KiB
JavaScript
710 lines
20 KiB
JavaScript
|
|
var openCardOnStart = false;
|
||
|
|
var openCardAction = 'edit';
|
||
|
|
var useTabulator = false;
|
||
|
|
var show_document_cue = "";
|
||
|
|
jQuery(document).ready(function() {
|
||
|
|
move_toolbar();
|
||
|
|
});
|
||
|
|
|
||
|
|
|
||
|
|
function move_toolbar() {
|
||
|
|
if(jQuery('#mainContent ul.toolbar_menu').length == 0) {
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
|
||
|
|
jQuery('#mainContent ul.toolbar_menu').insertBefore(jQuery('#mainContent'));
|
||
|
|
jQuery('#menu, #content_full').addClass("menu_opened");
|
||
|
|
}
|
||
|
|
|
||
|
|
//linklist functions
|
||
|
|
var dc = {};
|
||
|
|
dc.overlay_mode = false; // Karte offen ja nein
|
||
|
|
dc.linklist_marked = null; // markierte Zeile in einer linkiste
|
||
|
|
dc.mouse_in_linklist = false; // wenn der mauszeiger sich ueber einer linkliste befindet, dann true
|
||
|
|
dc.current_linklist = null; // aktuelle linkliste - entweder direkt im content oder im overlay
|
||
|
|
dc.current_formname = null;
|
||
|
|
dc.files;
|
||
|
|
dc.reorder_call = null; // ajax request zum aendern der reihenfolge in den linklisten
|
||
|
|
|
||
|
|
// IC - AM - HD365 ---
|
||
|
|
dc.serial_no = null;
|
||
|
|
dc.document_no = null;
|
||
|
|
dc.document_type = null;
|
||
|
|
dc.ticket_no_b64 = null;
|
||
|
|
// IC - AM - HD365 +++
|
||
|
|
|
||
|
|
// Grab the files and set them to our variable
|
||
|
|
function prepareUpload(event) {
|
||
|
|
dc.files = event.target.files;
|
||
|
|
}
|
||
|
|
|
||
|
|
function centerElement(_el) {
|
||
|
|
_el.css({
|
||
|
|
position:'absolute',
|
||
|
|
left: ($(window).width() - _el.outerWidth())/2,
|
||
|
|
top: ($(window).height() - _el.outerHeight())/4
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
function setFormname(_formname) {
|
||
|
|
dc.current_formname = _formname;
|
||
|
|
}
|
||
|
|
|
||
|
|
function setInputId(_input_id) {
|
||
|
|
dc.current_input_id = _input_id;
|
||
|
|
}
|
||
|
|
|
||
|
|
function setCurrentToolbarClicked(_el) {
|
||
|
|
setFormname(jQuery(_el).data('formname'));
|
||
|
|
}
|
||
|
|
|
||
|
|
function initLinklist() {
|
||
|
|
|
||
|
|
dc.linklist_marked = null;
|
||
|
|
dc.mouse_in_linklist = false;
|
||
|
|
|
||
|
|
jQuery('.linklist').each(function() {
|
||
|
|
if(jQuery(this).data('linklist_init') === true) return;
|
||
|
|
var thiz = this;
|
||
|
|
|
||
|
|
if($(this).hasClass("sortableTable")) {
|
||
|
|
makeSortable($(this));
|
||
|
|
}
|
||
|
|
|
||
|
|
jQuery('.linklist_content', this).click(function() {
|
||
|
|
if(dc.linklist_marked !== null) {
|
||
|
|
jQuery(dc.linklist_marked).removeClass("linklist_active");
|
||
|
|
}
|
||
|
|
jQuery(this).addClass("linklist_active");
|
||
|
|
dc.linklist_marked = this;
|
||
|
|
dc.current_linklist = thiz;
|
||
|
|
}).mouseenter(function() {
|
||
|
|
dc.mouse_in_linklist = true;
|
||
|
|
}).mouseleave(function() {
|
||
|
|
dc.mouse_in_linklist = false;
|
||
|
|
}).dblclick(function(e) {
|
||
|
|
if(jQuery(this).data('function') !== undefined) {
|
||
|
|
var userFunc = jQuery(this).data('function');
|
||
|
|
var funcCall = userFunc + "(this);";
|
||
|
|
eval(funcCall);
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
if(jQuery(this).data("action") == "") {
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
var target = jQuery(e.target);
|
||
|
|
//console.log(target.closest('form').attr("id"));
|
||
|
|
setFormname(target.closest('form').attr("id"));
|
||
|
|
loadCard(jQuery(this).data("action"));
|
||
|
|
}).each(function() {
|
||
|
|
if(jQuery(this).data('checked') == true) {
|
||
|
|
jQuery(this).addClass("linklist_active");
|
||
|
|
dc.linklist_marked = this;
|
||
|
|
dc.current_linklist = thiz;
|
||
|
|
setFormname(jQuery(this).closest('form').attr("id"));
|
||
|
|
}
|
||
|
|
});
|
||
|
|
|
||
|
|
jQuery(this).data('linklist_init', true);
|
||
|
|
});
|
||
|
|
|
||
|
|
if(openCardOnStart === true) {
|
||
|
|
loadCard(openCardAction, true);
|
||
|
|
openCardOnStart = false;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
function openCardAfterLoading(){
|
||
|
|
//debugger;
|
||
|
|
if(openCardOnStart === true) {
|
||
|
|
loadCard(openCardAction, true);
|
||
|
|
openCardOnStart = false;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
function sortableHelper (e, tr) {
|
||
|
|
var $originals = tr.children();
|
||
|
|
var $helper = tr.clone();
|
||
|
|
$helper.children().each(function(index) {
|
||
|
|
// Set helper cell sizes to match the original sizes
|
||
|
|
$(this).width($originals.eq(index).width());
|
||
|
|
});
|
||
|
|
return $helper;
|
||
|
|
}
|
||
|
|
|
||
|
|
function makeSortable(_linklist) {
|
||
|
|
_linklist.sortable({
|
||
|
|
'axis' : 'y',
|
||
|
|
'items' : '.linklist_content',
|
||
|
|
handle: '.sorticon',
|
||
|
|
stop: function(event, ui) {
|
||
|
|
if(dc.reorder_call !== null) {
|
||
|
|
dc.reorder_call.abort();
|
||
|
|
}
|
||
|
|
|
||
|
|
serialized = _linklist.sortable('serialize');
|
||
|
|
reorderCall = jQuery.post("?action=" + _linklist.data("sortableupdateaction"), serialized, function(output, status, xhr) {
|
||
|
|
if(xhr.getResponseHeader('REQUIRES_AUTH') == 1) {
|
||
|
|
window.location.replace("/dc/");
|
||
|
|
}
|
||
|
|
});
|
||
|
|
},
|
||
|
|
helper: sortableHelper
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
function initForm() {
|
||
|
|
$('#overlayContent input.date').each(function() {
|
||
|
|
$("#ui-datepicker-div").remove();
|
||
|
|
|
||
|
|
if(jQuery(this).data('datepicker_init') === true) return;
|
||
|
|
$.datepicker.setDefaults(
|
||
|
|
$.extend(
|
||
|
|
{'dateFormat':'dd.mm.yy'},
|
||
|
|
$.datepicker.regional['de']
|
||
|
|
)
|
||
|
|
);
|
||
|
|
jQuery(this).datepicker({
|
||
|
|
prevText: '<zurück', prevStatus: '',
|
||
|
|
prevJumpText: '<<', prevJumpStatus: '',
|
||
|
|
nextText: 'Vor>', nextStatus: '',
|
||
|
|
nextJumpText: '>>', nextJumpStatus: '',
|
||
|
|
currentText: 'heute', currentStatus: '',
|
||
|
|
todayText: 'heute', todayStatus: '',
|
||
|
|
clearText: '-', clearStatus: '',
|
||
|
|
closeText: 'schließen', closeStatus: '',
|
||
|
|
monthNames: ['Januar','Februar','März','April','Mai','Juni',
|
||
|
|
'Juli','August','September','Oktober','November','Dezember'],
|
||
|
|
monthNamesShort: ['Jan','Feb','Mär','Apr','Mai','Jun',
|
||
|
|
'Jul','Aug','Sep','Okt','Nov','Dez'],
|
||
|
|
dayNames: ['Sonntag','Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag'],
|
||
|
|
dayNamesShort: ['So','Mo','Di','Mi','Do','Fr','Sa'],
|
||
|
|
dayNamesMin: ['So','Mo','Di','Mi','Do','Fr','Sa'],
|
||
|
|
showMonthAfterYear: false,
|
||
|
|
showOn: 'both',
|
||
|
|
buttonImage: 'media/img/calendar.png',
|
||
|
|
buttonImageOnly: true,
|
||
|
|
}
|
||
|
|
);
|
||
|
|
jQuery(this).data('datepicker_init', true);
|
||
|
|
|
||
|
|
});
|
||
|
|
|
||
|
|
$('#overlayContent form').submit(function() {
|
||
|
|
return false;
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
function initDatepicker() {
|
||
|
|
//$('#mainContent input.date').datepicker();
|
||
|
|
}
|
||
|
|
|
||
|
|
jQuery(document).ready(function() {
|
||
|
|
initLinklist();
|
||
|
|
initDatepicker();
|
||
|
|
|
||
|
|
// click auf document
|
||
|
|
}).click(function(e) {
|
||
|
|
if(dc.current_linklist !== null && dc.mouse_in_linklist === false && e.target.nodeName.toLowerCase() != 'a') {
|
||
|
|
// unmark all linklist
|
||
|
|
jQuery('.linklist_content', dc.current_linklist).removeClass("linklist_active");
|
||
|
|
dc.linklist_marked = null;
|
||
|
|
}
|
||
|
|
|
||
|
|
// keyboardtaste druecken und halten (steuerung der linkliste mit pfeiltasten
|
||
|
|
}).keydown(function (event) {
|
||
|
|
|
||
|
|
// IC - AM - 20171012 ---
|
||
|
|
/*if(dc.overlay_mode === true && event.keyCode == 27) { // ESC
|
||
|
|
if(jQuery('body').hasClass("ckeditor_maximized")) return;
|
||
|
|
event.preventDefault();
|
||
|
|
disableOverlay();
|
||
|
|
return;
|
||
|
|
}*/
|
||
|
|
// IC - AM - 20171012 +++
|
||
|
|
|
||
|
|
switch(event.keyCode) {
|
||
|
|
//arrow down
|
||
|
|
case 40:
|
||
|
|
var nextRow = jQuery(dc.linklist_marked).nextAll('.linklist_content:visible:first');
|
||
|
|
if(nextRow.length == 0) {
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
nextRow.addClass("linklist_active");
|
||
|
|
jQuery(dc.linklist_marked).removeClass("linklist_active");
|
||
|
|
dc.linklist_marked = nextRow;
|
||
|
|
break;
|
||
|
|
//arrow up
|
||
|
|
case 38:
|
||
|
|
var prevRow = jQuery(dc.linklist_marked).prevAll('.linklist_content:visible:first');
|
||
|
|
if(prevRow.length == 0) {
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
prevRow.addClass("linklist_active");
|
||
|
|
jQuery(dc.linklist_marked).removeClass("linklist_active");
|
||
|
|
dc.linklist_marked = prevRow;
|
||
|
|
break;
|
||
|
|
|
||
|
|
}
|
||
|
|
|
||
|
|
// keyboardtaste druecken
|
||
|
|
}).keypress(function(event) {
|
||
|
|
if(dc.linklist_marked === null) {
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
|
||
|
|
if(event.keyCode == 13) {
|
||
|
|
jQuery(dc.linklist_marked).dblclick();
|
||
|
|
}
|
||
|
|
// IC - AM - 20171012 ---
|
||
|
|
}).keyup(function(event) {
|
||
|
|
|
||
|
|
if (dc.overlay_mode === true && event.keyCode == 27) { // ESC
|
||
|
|
if (jQuery('body').hasClass("ckeditor_maximized")) {
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
event.preventDefault();
|
||
|
|
disableOverlay();
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
});
|
||
|
|
// IC - AM - 20171012 +++
|
||
|
|
|
||
|
|
|
||
|
|
function reloadList() {
|
||
|
|
|
||
|
|
|
||
|
|
try{
|
||
|
|
tabulator.setPage(tabulator.getPage());
|
||
|
|
}catch(e){
|
||
|
|
document.location = replaceUrlParam(String(document.location), 'action', "");
|
||
|
|
}
|
||
|
|
|
||
|
|
/*jQuery('#mainContent .requestLoader').show();
|
||
|
|
|
||
|
|
if (useTabulator) {
|
||
|
|
selectedData = tabulator.getSelectedData();
|
||
|
|
if(!selectedData || selectedData.length == 0){
|
||
|
|
|
||
|
|
document.location = replaceUrlParam(String(document.location), 'action', "");
|
||
|
|
setTimeout(function() {
|
||
|
|
document.location = replaceUrlParam(String(document.location), 'action', "");
|
||
|
|
}, 10);
|
||
|
|
} else {
|
||
|
|
tabulator.setData();
|
||
|
|
tabulator.redraw();
|
||
|
|
}
|
||
|
|
|
||
|
|
} else {
|
||
|
|
document.location = replaceUrlParam(String(document.location), 'action', "");
|
||
|
|
setTimeout(function() {
|
||
|
|
document.location = replaceUrlParam(String(document.location), 'action', "");
|
||
|
|
}, 10);
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
return;*/
|
||
|
|
}
|
||
|
|
|
||
|
|
function replaceUrlParam(url, paramName, paramValue){
|
||
|
|
var pattern = new RegExp('('+paramName+'=).*?(&|$)')
|
||
|
|
var newUrl=url
|
||
|
|
if(url.search(pattern)>=0){
|
||
|
|
newUrl = url.replace(pattern,'$1' + paramValue + '$2');
|
||
|
|
}
|
||
|
|
else{
|
||
|
|
newUrl = newUrl + (newUrl.indexOf('?')>0 ? '&' : '?') + paramName + '=' + paramValue
|
||
|
|
}
|
||
|
|
return newUrl
|
||
|
|
}
|
||
|
|
|
||
|
|
function gotoLocation(_href) {
|
||
|
|
document.location = _href;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* ==========================================================================
|
||
|
|
Overlay Functions
|
||
|
|
========================================================================== */
|
||
|
|
function createOverlay() {
|
||
|
|
dc.linklist_marked = null;
|
||
|
|
dc.current_linklist = null;
|
||
|
|
|
||
|
|
if(dc.overlay_mode === true) {
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
|
||
|
|
dc.overlay_mode = true;
|
||
|
|
jQuery('#overlay').show();
|
||
|
|
|
||
|
|
// overlay wrapper
|
||
|
|
jQuery('#overlayWrapper').show();
|
||
|
|
|
||
|
|
jQuery('#overlayLoader').show();
|
||
|
|
}
|
||
|
|
|
||
|
|
function disableOverlay() {
|
||
|
|
//debugger;
|
||
|
|
// Um aus Ticketkarte, welche mit ticketlink geöffnet wurde rauszukommen
|
||
|
|
history.pushState(null, null, replaceUrlParam(replaceUrlParam(String(document.location), 'action', ""),'ticket_link', ""));
|
||
|
|
dc.overlay_mode = false;
|
||
|
|
jQuery('#overlay').hide();
|
||
|
|
jQuery('#overlayContent').html("").hide();
|
||
|
|
jQuery('#overlayWrapper').hide();
|
||
|
|
jQuery('#overlayLoader').hide();
|
||
|
|
jQuery('body').removeClass("ckeditor_maximized");
|
||
|
|
reloadList();
|
||
|
|
|
||
|
|
}
|
||
|
|
|
||
|
|
function getFormData(_form) {
|
||
|
|
for ( instance in CKEDITOR.instances ) {
|
||
|
|
CKEDITOR.instances[instance].updateElement();
|
||
|
|
}
|
||
|
|
|
||
|
|
return _form.serialize();
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Absenden von requests ausserhalb vom overlay
|
||
|
|
*
|
||
|
|
* @param _action
|
||
|
|
* @param _load_without_check
|
||
|
|
* @param _confirmtext
|
||
|
|
* @returns {Boolean}
|
||
|
|
*/
|
||
|
|
function sendRequest(_action, _load_without_check, _confirmtext) {
|
||
|
|
// variable zum pruefen ob in einer linkliste ein element markiert wurde
|
||
|
|
var load_without_check = _load_without_check || false;
|
||
|
|
|
||
|
|
if(load_without_check === false) {
|
||
|
|
var currentMarkedLinklistRow = jQuery('.linklist_active', jQuery('#' + dc.current_formname));
|
||
|
|
|
||
|
|
if(dc.current_linklist === null || currentMarkedLinklistRow.length <= 0) {
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
var input_id = currentMarkedLinklistRow.data('inputid');
|
||
|
|
jQuery('input.selected_linklist_row', jQuery('#' + dc.current_formname)).val(input_id);
|
||
|
|
}
|
||
|
|
|
||
|
|
var confirmtext = _confirmtext || false;
|
||
|
|
if(confirmtext !== false && confirmtext != "") {
|
||
|
|
if(!confirm(confirmtext)) {
|
||
|
|
return false;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
if(dc.overlay_mode === true) {
|
||
|
|
jQuery('#overlayLoader').show();
|
||
|
|
} else {
|
||
|
|
jQuery('#mainContent .requestLoader').show();
|
||
|
|
}
|
||
|
|
|
||
|
|
jQuery('#' + dc.current_formname).attr("action", "?action=" + _action);
|
||
|
|
jQuery('#' + dc.current_formname).submit();
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
function loadCardNewList(_action, _load_without_check, _confirmtext, _closeOverlay, _customFormData){
|
||
|
|
var useTabulatorTmp = useTabulator;
|
||
|
|
useTabulator = false;
|
||
|
|
loadCard(_action, _load_without_check, _confirmtext, _closeOverlay, _customFormData);
|
||
|
|
useTabulator = useTabulatorTmp;
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
function loadOrganigrammSpace() {
|
||
|
|
alert('Function called on div click!');
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Karte im overlay laden
|
||
|
|
*
|
||
|
|
* @param _action
|
||
|
|
* @param _load_without_check
|
||
|
|
* @param _confirmtext
|
||
|
|
* @param _closeOverlay
|
||
|
|
* @returns {Boolean}
|
||
|
|
*/
|
||
|
|
function loadCard(_action, _load_without_check, _confirmtext, _closeOverlay, _customFormData, tabulator_row) {
|
||
|
|
var confirmtext = _confirmtext || false;
|
||
|
|
var closeOverlay = _closeOverlay || false;
|
||
|
|
var action = _action || "";
|
||
|
|
var currentMarkedLinklistRow;
|
||
|
|
if(!useTabulator){
|
||
|
|
currentMarkedLinklistRow = jQuery('.linklist_active', jQuery('#' + dc.current_formname));
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
var customFormData = _customFormData || false;
|
||
|
|
|
||
|
|
// variable zum pruefen ob in einer linkliste ein element markiert wurde
|
||
|
|
var load_without_check = _load_without_check || false;
|
||
|
|
|
||
|
|
// wenn ein listenelement markiert werden MUSS und keins markiert ist, dann nichts machen
|
||
|
|
if(!useTabulator && load_without_check === false) {
|
||
|
|
if(dc.current_linklist === null || currentMarkedLinklistRow.length <= 0) {
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
var row;
|
||
|
|
if(useTabulator && !openCardOnStart) {
|
||
|
|
row = $('#' + dc.current_formname + ' div .tabulator-selected .tabulator-cell');
|
||
|
|
if (!row.length && (action == 'edit' || action == 'edit_service_item')){
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
// wenn bestaetigungstext vorhanden ist user auf Abbrechen klickt, dann return
|
||
|
|
if(confirmtext !== false && confirmtext != "") {
|
||
|
|
if(!confirm(confirmtext)) {
|
||
|
|
return false;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
// Wenn listenelement martkiert ist, dann die inputid uebergeben
|
||
|
|
if(currentMarkedLinklistRow && currentMarkedLinklistRow.length > 0) {
|
||
|
|
var input_id = currentMarkedLinklistRow.data('inputid');
|
||
|
|
jQuery('input.selected_linklist_row', jQuery('#' + dc.current_formname)).val(input_id);
|
||
|
|
}
|
||
|
|
|
||
|
|
// wird benoetigt damit die Inhalte des fckeditors uebertragen werden koennen
|
||
|
|
for ( instance in CKEDITOR.instances ) {
|
||
|
|
CKEDITOR.instances[instance].updateElement();
|
||
|
|
}
|
||
|
|
// heller overlay ueber die ganze seite wird erstellt
|
||
|
|
createOverlay();
|
||
|
|
|
||
|
|
// loader wird engezeigt
|
||
|
|
jQuery('#overlayLoader').show();
|
||
|
|
|
||
|
|
// Sammeln von formulardaten
|
||
|
|
var formData2;
|
||
|
|
try {
|
||
|
|
formData2 = new FormData($('#' + dc.current_formname)[0]);
|
||
|
|
} catch(e){
|
||
|
|
formData2= new FormData();
|
||
|
|
}
|
||
|
|
if(customFormData !== false) {
|
||
|
|
formData2 = customFormData;
|
||
|
|
} else {
|
||
|
|
if (!useTabulator) {
|
||
|
|
formData2 = new FormData($('#' + dc.current_formname)[0]);
|
||
|
|
if(typeof(currentMarkedLinklistRow) !== 'undefined' && currentMarkedLinklistRow.length > 0) {
|
||
|
|
$.each(currentMarkedLinklistRow.data(), function(idx, el) {
|
||
|
|
formData2.append("data-" + idx, el);
|
||
|
|
});
|
||
|
|
}
|
||
|
|
} else {
|
||
|
|
if (/*$('#'+dc.current_formname+'').length && */openCardOnStart){
|
||
|
|
//var formData2 = new FormData();
|
||
|
|
//var filename = $('#'+dc.current_formname+' input[name=filename]').val();
|
||
|
|
//formData2.append("filename",filename);
|
||
|
|
formData2.append("input_id",dc.current_input_id);
|
||
|
|
}else if(row.length /*&& (action == 'edit' || action == 'new')*/){
|
||
|
|
//var formData2 = new FormData();
|
||
|
|
//var filename = $('#'+dc.current_formname+' input[name=filename]').val();
|
||
|
|
row.each(function(index,element){
|
||
|
|
//console.log(element.getAttribute("tabulator-field"),element.firstChild.nodeValue);
|
||
|
|
formData2.append(element.getAttribute("tabulator-field"),element.firstChild.nodeValue);
|
||
|
|
});
|
||
|
|
|
||
|
|
}
|
||
|
|
formData2.append("filename",filename);
|
||
|
|
// IC - AM - HD365 ---
|
||
|
|
formData2.append("serial_no",dc.serial_no);
|
||
|
|
formData2.append("document_no",dc.document_no);
|
||
|
|
formData2.append("document_type",dc.document_type);
|
||
|
|
formData2.append("ticket_no_b64",dc.ticket_no_b64);
|
||
|
|
// IC - AM - HD365 +++
|
||
|
|
|
||
|
|
// Display the key/value pairs
|
||
|
|
/*console.log("Formdata:");
|
||
|
|
for (var pair of formData2.entries()) {
|
||
|
|
console.log(pair[0]+ ', ' + pair[1]);
|
||
|
|
}*/
|
||
|
|
}
|
||
|
|
}
|
||
|
|
if (tabulator_row){
|
||
|
|
for (var key in tabulator_row.getData()) {
|
||
|
|
formData2.append(key,tabulator_row.getData()[key]);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
if (show_document_cue){
|
||
|
|
formData2.append("show_document_cue",show_document_cue);
|
||
|
|
}
|
||
|
|
|
||
|
|
if(closeOverlay === true) {
|
||
|
|
formData2.append("force_close", 1);
|
||
|
|
} else {
|
||
|
|
formData2.append("force_close", 0);
|
||
|
|
}
|
||
|
|
|
||
|
|
// AJAX POST request abschicken. Formulardaten werden mit HTML5 FormData gesammelt und verschickt.
|
||
|
|
// Dadurch ist es moeglich auch Dateien zu ubertragen (Bildupload moeglich).
|
||
|
|
// Fuer den Dateiupload muessen die variablen processData, cache und contentType auf false gesetzt werden
|
||
|
|
$.ajax({
|
||
|
|
url: "?action=" + action,
|
||
|
|
type: 'POST',
|
||
|
|
data: formData2,
|
||
|
|
mimeType: "multipart/form-data",
|
||
|
|
cache: false,
|
||
|
|
processData: false, // Don't process the files
|
||
|
|
contentType: false, // Set content type to false as jQuery will tell the server its a query string request
|
||
|
|
success: function(output, status, xhr) {
|
||
|
|
//if(xhr.getResponseHeader('REQUIRES_AUTH') == 1) {
|
||
|
|
// window.location.replace("/dc/");
|
||
|
|
//} else {
|
||
|
|
//console.log(window.location);
|
||
|
|
//debugger;
|
||
|
|
if(closeOverlay === true && xhr.getResponseHeader('EDIT_ERROR') != 1) {
|
||
|
|
disableOverlay();
|
||
|
|
} else {
|
||
|
|
try{
|
||
|
|
jQuery('#overlayContent').html(output);
|
||
|
|
//console.log("Output:"+output);
|
||
|
|
} catch (e){
|
||
|
|
//console.log(e.message);
|
||
|
|
//jQuery('#overlayContent').html('<error>Ooops: Something went wroong</error>')
|
||
|
|
}
|
||
|
|
jQuery('#overlayLoader').hide();
|
||
|
|
jQuery('#overlayContent').show();
|
||
|
|
//if(!useTabulator){
|
||
|
|
initForm();
|
||
|
|
initLinklist();
|
||
|
|
//} else {
|
||
|
|
//initForm();
|
||
|
|
//}
|
||
|
|
}
|
||
|
|
|
||
|
|
//}
|
||
|
|
},
|
||
|
|
error: function(jqXHR, textStatus, errorThrown) {
|
||
|
|
console.log(jqXHR);
|
||
|
|
console.log('ERRORS: ' + textStatus);
|
||
|
|
console.log(errorThrown);
|
||
|
|
}
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
function loadCardFromCard(_action, _confirmtext) {
|
||
|
|
var confirmtext = _confirmtext || false;
|
||
|
|
var closeOverlay = false;
|
||
|
|
var action = _action || "";
|
||
|
|
|
||
|
|
|
||
|
|
// wenn bestaetigungstext vorhanden ist user auf Abbrechen klickt, dann return
|
||
|
|
if(confirmtext !== false && confirmtext != "") {
|
||
|
|
if(!confirm(confirmtext)) {
|
||
|
|
return false;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
// wird benoetigt damit die Inhalte des fckeditors uebertragen werden koennen
|
||
|
|
for ( instance in CKEDITOR.instances ) {
|
||
|
|
CKEDITOR.instances[instance].updateElement();
|
||
|
|
}
|
||
|
|
// heller overlay ueber die ganze seite wird erstellt
|
||
|
|
createOverlay();
|
||
|
|
|
||
|
|
// loader wird engezeigt
|
||
|
|
jQuery('#overlayLoader').show();
|
||
|
|
|
||
|
|
// Sammeln von formulardaten
|
||
|
|
var formData2;
|
||
|
|
try {
|
||
|
|
formData2 = new FormData($('#' + dc.current_formname)[0]);
|
||
|
|
} catch(e){
|
||
|
|
formData2= new FormData();
|
||
|
|
}
|
||
|
|
|
||
|
|
formData2.append("filename",filename);
|
||
|
|
|
||
|
|
// Display the key/value pairs
|
||
|
|
console.log("Formdata:");
|
||
|
|
for (var pair of formData2.entries()) {
|
||
|
|
console.log(pair[0]+ ', ' + pair[1]);
|
||
|
|
}
|
||
|
|
formData2.append("force_close", 0);
|
||
|
|
|
||
|
|
|
||
|
|
// AJAX POST request abschicken. Formulardaten werden mit HTML5 FormData gesammelt und verschickt.
|
||
|
|
// Dadurch ist es moeglich auch Dateien zu ubertragen (Bildupload moeglich).
|
||
|
|
// Fuer den Dateiupload muessen die variablen processData, cache und contentType auf false gesetzt werden
|
||
|
|
$.ajax({
|
||
|
|
url: "?action=" + action,
|
||
|
|
type: 'POST',
|
||
|
|
data: formData2,
|
||
|
|
mimeType: "multipart/form-data",
|
||
|
|
cache: false,
|
||
|
|
processData: false, // Don't process the files
|
||
|
|
contentType: false, // Set content type to false as jQuery will tell the server its a query string request
|
||
|
|
success: function(output, status, xhr) {
|
||
|
|
//if(xhr.getResponseHeader('REQUIRES_AUTH') == 1) {
|
||
|
|
// window.location.replace("/dc/");
|
||
|
|
//} else {
|
||
|
|
//console.log(window.location);
|
||
|
|
//debugger;
|
||
|
|
if(closeOverlay === true && xhr.getResponseHeader('EDIT_ERROR') != 1) {
|
||
|
|
disableOverlay();
|
||
|
|
} else {
|
||
|
|
try{
|
||
|
|
jQuery('#overlayContent').html(output);
|
||
|
|
//console.log("Output:"+output);
|
||
|
|
} catch (e){
|
||
|
|
console.log(e.message);
|
||
|
|
jQuery('#overlayContent').html('<error>Ooops: Something went wroong</error>')
|
||
|
|
}
|
||
|
|
jQuery('#overlayLoader').hide();
|
||
|
|
jQuery('#overlayContent').show();
|
||
|
|
}
|
||
|
|
|
||
|
|
//}
|
||
|
|
},
|
||
|
|
error: function(jqXHR, textStatus, errorThrown) {
|
||
|
|
console.log(jqXHR);
|
||
|
|
console.log('ERRORS: ' + textStatus);
|
||
|
|
console.log(errorThrown);
|
||
|
|
}
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
function download_url(url, filename) {
|
||
|
|
|
||
|
|
fetch(url).then(function(t) {
|
||
|
|
return t.blob().then(function(b){
|
||
|
|
if (b.type != "text/html; charset=utf-8"){ // weil download_file.php einen redirect bei nicht gefundener Datei macht
|
||
|
|
var a = document.createElement("a");
|
||
|
|
a.href = URL.createObjectURL(b);
|
||
|
|
a.setAttribute("download", filename);
|
||
|
|
a.click();
|
||
|
|
return true;
|
||
|
|
} else {
|
||
|
|
alert("Fehler beim Dateidownload. Bitte wenden Sie sich an Ihren Administrator.");
|
||
|
|
return false;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
);
|
||
|
|
});
|
||
|
|
}
|
||
|
|
function submit_post_via_hidden_form(url, params) {
|
||
|
|
var f = $("<form target='_blank' method='POST' style='display:none;'></form>").attr({
|
||
|
|
action: url
|
||
|
|
}).appendTo(document.body);
|
||
|
|
|
||
|
|
for (var i in params) {
|
||
|
|
if (params.hasOwnProperty(i)) {
|
||
|
|
$('<input type="hidden" />').attr({
|
||
|
|
name: i,
|
||
|
|
value: params[i]
|
||
|
|
}).appendTo(f);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
f.submit();
|
||
|
|
|
||
|
|
f.remove();
|
||
|
|
}
|