Initial xentral_oss_20.3.c9ffacf
This commit is contained in:
@@ -0,0 +1,306 @@
|
||||
var Task = function ($) {
|
||||
'use strict';
|
||||
|
||||
var me = {
|
||||
storage: {
|
||||
projectShortCut: null,
|
||||
lastHistoryKeyCode: null
|
||||
},
|
||||
selector: {
|
||||
createProjectPopup: '#createprojectpopup',
|
||||
createSubProjectPopup: '#createsubprojectpopup',
|
||||
createProjectButton: '#createproject',
|
||||
createSubProjectButton: '#createsubproject',
|
||||
createProjectTable: '#task_project_create_employee',
|
||||
createSubProjectTable: '#task_subproject_create_employee'
|
||||
},
|
||||
openCreateProjectPopup: function () {
|
||||
if ($(me.selector.createProjectPopup).length === 0) {
|
||||
return;
|
||||
}
|
||||
$('#projecttitle').val('');
|
||||
$('#projectshortcode').val('');
|
||||
$('#projectcustomer').val('');
|
||||
$('#projectleader').val('');
|
||||
$('#projectdescription').val('');
|
||||
$('#projectstatus').val('gestartet');
|
||||
$(me.selector.createProjectTable).on('afterreload', function () {
|
||||
$(me.selector.createProjectTable).find('.projectcreateemployee').on('change', function () {
|
||||
$.ajax({
|
||||
url: 'index.php?module=aufgaben&action=list&cmd=changeemployee',
|
||||
type: 'POST',
|
||||
dataType: 'json',
|
||||
data: {
|
||||
address_id: $(this).data('id'),
|
||||
value: $(this).prop('checked') ? 1 : 0
|
||||
},
|
||||
success: function () {
|
||||
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
$(me.selector.createProjectTable).trigger('afterreload');
|
||||
$(me.selector.createProjectPopup).dialog('open');
|
||||
},
|
||||
subProjectProjectValChanged: function () {
|
||||
if ($('#subprojectproject').val() + '' === '') {
|
||||
$('#subprojectparent').html('');
|
||||
$(me.selector.createSubProjectTable).DataTable().ajax.reload();
|
||||
return;
|
||||
}
|
||||
$.ajax({
|
||||
url: 'index.php?module=aufgaben&action=list&cmd=getsubprojectsbyproject',
|
||||
type: 'POST',
|
||||
dataType: 'json',
|
||||
data: {
|
||||
projectshortcode: $('#subprojectproject').val()
|
||||
},
|
||||
success: function (data) {
|
||||
$('#subprojectparent').html(data.html);
|
||||
$(me.selector.createSubProjectTable).DataTable().ajax.reload();
|
||||
}
|
||||
});
|
||||
},
|
||||
openCreateSubProjectPopup: function () {
|
||||
if ($(me.selector.createSubProjectPopup).length === 0) {
|
||||
return;
|
||||
}
|
||||
$('#subprojecttitle').val('');
|
||||
$('#subprojectdescription').val('');
|
||||
$('#subprojectstartdate').val('');
|
||||
$('#subprojectenddate').val('');
|
||||
$('#subprojectproject').val(me.storage.projectShortCut);
|
||||
$('#subprojectproject').trigger('change');
|
||||
$(me.selector.createSubProjectPopup).dialog('open');
|
||||
},
|
||||
dateTimeRewrite: function (value) {
|
||||
if (value === null) {
|
||||
return null;
|
||||
}
|
||||
value.forEach(function (item, index) {
|
||||
value[index].time = new Date(value[index].time.replace(' ', 'T'));
|
||||
});
|
||||
return value;
|
||||
},
|
||||
init: function () {
|
||||
if ($(me.selector.createProjectPopup).length > 0) {
|
||||
$(me.selector.createProjectPopup).dialog({
|
||||
modal: true,
|
||||
autoOpen: false,
|
||||
minWidth: 940,
|
||||
title: '',
|
||||
buttons: {
|
||||
'ABBRECHEN': function () {
|
||||
$(this).dialog('close');
|
||||
},
|
||||
'ANLEGEN': function () {
|
||||
$.ajax({
|
||||
url: 'index.php?module=aufgaben&action=list&cmd=createproject&fromjson=1',
|
||||
type: 'POST',
|
||||
dataType: 'json',
|
||||
data: {
|
||||
schritt3: 1,
|
||||
save: 1,
|
||||
name: $(me.selector.createProjectPopup).find('#projecttitle').val(),
|
||||
abkuerzung: $(me.selector.createProjectPopup).find('#projectshortcode').val(),
|
||||
typ: 'manuell',
|
||||
kunde: $(me.selector.createProjectPopup).find('#projectcustomer').val(),
|
||||
verantwortlicher: $(me.selector.createProjectPopup).find('#projectleader').val(),
|
||||
beschreibung: $(me.selector.createProjectPopup).find('#projectdescription').val(),
|
||||
status: $(me.selector.createProjectPopup).find('#projectstatus').val(),
|
||||
farbe: $(me.selector.createProjectPopup).find('#projectcolor').val()
|
||||
},
|
||||
success: function (data) {
|
||||
if (typeof data.error != 'undefined') {
|
||||
$('#createprojectmessage').html('<div class="error">' + data.error + '</div>');
|
||||
}
|
||||
if (typeof data.id != 'undefined' && data.id > 0) {
|
||||
$(me.selector.createProjectPopup).dialog('close');
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
},
|
||||
close: function (event, ui) {
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
if ($(me.selector.createSubProjectPopup).length > 0) {
|
||||
$(me.selector.createSubProjectPopup).dialog({
|
||||
modal: true,
|
||||
autoOpen: false,
|
||||
minWidth: 940,
|
||||
title: '',
|
||||
buttons: {
|
||||
'ABBRECHEN': function () {
|
||||
$(this).dialog('close');
|
||||
},
|
||||
'ANLEGEN': function () {
|
||||
$.ajax({
|
||||
url: 'index.php?module=aufgaben&action=list&cmd=createsubproject',
|
||||
type: 'POST',
|
||||
dataType: 'json',
|
||||
data: {
|
||||
project: $('#subprojectproject').val(),
|
||||
title: $('#subprojecttitle').val(),
|
||||
description: $('#subprojectdescription').val(),
|
||||
color: $('#subprojectcolor').val(),
|
||||
leader: $('#subprojectleader').val(),
|
||||
parentid: $('#subprojectparent').val(),
|
||||
startdate: $('#subprojectstartdate').val(),
|
||||
enddate: $('#subprojectenddate').val(),
|
||||
positiontype: $('#subprojectposition').val(),
|
||||
status: $('#subprojectstatus').val()
|
||||
},
|
||||
success: function (data) {
|
||||
if (typeof data.error != 'undefined') {
|
||||
$('#createsubprojectmessage').html(
|
||||
'<div class="error">' + data.error + '</div>');
|
||||
}
|
||||
if (typeof data.id != 'undefined' && data.id > 0) {
|
||||
$(me.selector.createSubProjectPopup).dialog('close');
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
close: function (event, ui) {
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
$(me.selector.createProjectPopup).find('#projecttitle').on('keyup', function () {
|
||||
me.storage.projectShortCut = ($(this).val() + '').toUpperCase().replace(/[^A-Z0-9]/g, '').substring(0,
|
||||
5);
|
||||
$(me.selector.createProjectPopup).find('#projectshortcode').val(me.storage.projectShortCut);
|
||||
if (me.storage.projectShortCut.length === 5) {
|
||||
$.ajax({
|
||||
url: 'index.php?module=aufgaben&action=list&cmd=getprojectshortcode',
|
||||
type: 'POST',
|
||||
dataType: 'json',
|
||||
data: {
|
||||
projectshortcode: me.storage.projectShortCut
|
||||
},
|
||||
success: function (data) {
|
||||
me.storage.projectShortCut = data.projectshortcode;
|
||||
$(me.selector.createProjectPopup).find('#projectshortcode').val(me.storage.projectShortCut);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
});
|
||||
$(me.selector.createProjectButton).on('click', function () {
|
||||
me.openCreateProjectPopup();
|
||||
});
|
||||
$(me.selector.createSubProjectButton).on('click', function () {
|
||||
me.openCreateSubProjectPopup();
|
||||
});
|
||||
$('#subprojectproject').on('change', function () {
|
||||
me.subProjectProjectValChanged();
|
||||
});
|
||||
$('#subprojectproject').on('blur', function () {
|
||||
me.subProjectProjectValChanged();
|
||||
});
|
||||
$(me.selector.createSubProjectTable).on('afterreload', function () {
|
||||
$(me.selector.createSubProjectTable).find('.subprojectemployee').on('change', function () {
|
||||
var $tr = $(this).parents('tr').first();
|
||||
$.ajax({
|
||||
url: 'index.php?module=aufgaben&action=list&cmd=changesubprojectemployee',
|
||||
type: 'POST',
|
||||
dataType: 'json',
|
||||
data: {
|
||||
address_id: $(this).data('id'),
|
||||
hours: $($tr).find('.hours').val(),
|
||||
hourlyrate: $($tr).find('.hourlyrate').val(),
|
||||
title: $($tr).find('.title').val()
|
||||
},
|
||||
success: function () {
|
||||
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
$('#tasks-tabs').tabs(
|
||||
{
|
||||
active: 0
|
||||
}
|
||||
);
|
||||
},
|
||||
addTimeline: function (timelines) {
|
||||
if ($('#element ul.timeline').length) {
|
||||
$('#element').html('');
|
||||
$('#element').timeline('destroy', [
|
||||
{
|
||||
key: 'value'
|
||||
}
|
||||
]);
|
||||
}
|
||||
if (timelines !== null) {
|
||||
$('#element').timeline({
|
||||
data: me.dateTimeRewrite(timelines)
|
||||
});
|
||||
$('#element .timeline-buttons .EditTimeLineBtn').remove();
|
||||
$('#element .timeline-buttons .DeleteTimeLineBtn').remove();
|
||||
$('#element .timeline-buttons .SaveTimeLineBtn').removeAttr('onclick');
|
||||
var $next = $('.tl-item').first().nextAll();
|
||||
if ($($next).length > 0) {
|
||||
$($next).find('.SaveTimeLineBtn').remove();
|
||||
}
|
||||
$('.tl-item').first().find('.SaveTimeLineBtn').on('click', function () {
|
||||
if (trim(($('#editTimeline_0').val() + '')) === '') {
|
||||
return;
|
||||
}
|
||||
$.ajax({
|
||||
url: 'index.php?module=aufgaben&action=edit&cmd=addtotimeline',
|
||||
type: 'POST',
|
||||
dataType: 'json',
|
||||
data: {
|
||||
task_id: $('#editAufgaben').find('#e_id').val(),
|
||||
text: $('#editTimeline_0').val()
|
||||
},
|
||||
success: function (data) {
|
||||
me.addTimeline(data.timeline);
|
||||
}
|
||||
});
|
||||
});
|
||||
$('#editTimeline_0').val('');
|
||||
|
||||
$('.tl-item').first().find('textarea').show();
|
||||
$('.tl-item').first().find('textarea').on('keyup', function (event) {
|
||||
if (typeof event.keyCode === 'undefined') {
|
||||
return;
|
||||
}
|
||||
if (me.storage.lastHistoryKeyCode === 81 && event.keyCode === 225) {
|
||||
|
||||
}
|
||||
me.storage.lastHistoryKeyCode = event.keyCode;
|
||||
if (event.keyCode === 27) {
|
||||
$(this).val('');
|
||||
me.storage.lastHistoryKeyCode = null;
|
||||
return;
|
||||
}
|
||||
if (event.keyCode === 13) {
|
||||
if (event.shiftKey === true) {
|
||||
return;
|
||||
}
|
||||
me.storage.lastHistoryKeyCode = null;
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
return {
|
||||
init: me.init,
|
||||
dateTimeRewrite: me.dateTimeRewrite,
|
||||
addTimeline: me.addTimeline
|
||||
};
|
||||
|
||||
}(jQuery);
|
||||
|
||||
$(document).ready(function () {
|
||||
Task.init();
|
||||
});
|
||||
Reference in New Issue
Block a user