/**
* Created by test on 20.03.2019.
*/
let defaultExtrafields = [];
function openExtraFields() {
pageselect("page-task-extra-fields");
$('#taskExtraFields .fieldList input:first').focus();
}
function getDefaultExtrafields() {
$.get( "/manage/task/default/extrafields")
.done(function (data, textStatus, jqXHR) {
console.log("SUCCESS def: ", data);
defaultExtrafields = data;
})
}
function addExtrafields(task) {
console.log(task);
$('#taskExtraFields .fieldList input').off('keypress');
$('#taskExtraFields .fieldList input').off('change');
$('#taskExtraFields .fieldList').empty();
$('#taskExtraFields .taskName').empty();
let addFields = false;
$('#taskExtraFields .taskName').append(task.name);
$.each(task.extraFields, function( fieldName, fieldValue ) {
let strField = `
`;
let field_obj = $($.parseHTML(strField));
field_obj.find('input').val(fieldValue ? fieldValue : '');
let indx = defaultExtrafields.findIndex(v => v.name === fieldName );
if (indx !== -1) field_obj.find('input').addClass(defaultExtrafields[indx].required ? "required" : "")
$('#taskExtraFields .fieldList').append(field_obj);
addFields = true;
});
$('#taskExtraFields .fieldList input').on('keypress', onChangeExtraFields);
$('#taskExtraFields .fieldList input').on('change', onChangeExtraFields);
onChangeExtraFields();
return addFields;
}
function onChangeExtraFields() {
$('#btnTaskExtraFieldSave').prop("disabled",true);
$('#btnTaskChange').prop("disabled",false);
let validForm = validateExtraFields();
$('#page3_2 .save, #page3_2 .put').prop("disabled", !validForm)
$('#btnTaskExtraFieldSave').prop("disabled",!validForm);
!validForm ? $('#btnTaskExtraFields').addClass("failed") : $('#btnTaskExtraFields').removeClass("failed");
}
function getExtraFieldsUI(listFields) {
let obj = {}
$.each(listFields, function(indx, el){
obj[el.name] ? obj[el.name].value(el.value) : (obj[el.name] = el.value);
});
return obj;
}
function validateExtraFields() {
let inputList = $('#taskExtraFields .fieldList input.required');
inputList.removeClass("failed")
$.each(inputList,(i, elm) => {
if(!elm.value || elm.value.trim().length === 0) $(elm).addClass("failed")
})
return $('#taskExtraFields .fieldList input.required.failed').length === 0
}
function resetExtrafields() {
$('#taskExtraFields .fieldList').empty();
$('#taskExtraFields .taskName').empty();
}