/** * 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(); }