Created
June 10, 2019 19:42
-
-
Save lethern/bd0760ded53fdeffe4f53412b6c8ff43 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function createFieldRow(objects, row, design_row, readonly) { | |
var log = GLOBALS.CONTROL.getLog(); | |
var column = row.column; | |
var column2 = row.column2; | |
var global_edit_group = objects._CONTROL.edit_group; | |
var edit_group = row.edit_group; | |
if (edit_group === null) edit_group = -1; | |
var label_col = column + '_label'; | |
var first_input_col = column + '_first'; | |
var second_input_col = column2 + '_second'; | |
var date_col = column + '_date'; | |
var chbox_col = column + '_chbox'; | |
var btn_col = column + '_btn'; | |
var comment_col = column + '_comm'; | |
var login_col = column + '_login'; | |
var odpow_col = column + '_odpow'; | |
if (column.indexOf(' ') > -1 || column.indexOf('\t') > -1) | |
MASTER.throw('Kolumna zawiera biale znaki: ' + column); | |
if (column2 && (column2.indexOf(' ') > -1 || column.indexOf('\t') > -1)) | |
MASTER.throw('Kolumna2 zawiera biale znaki: ' + column2); | |
var form_fields_def = objects.form_fields_def; | |
// data | |
{ | |
var RO_value = ''; | |
var RO_struct; | |
var first_value = ''; | |
var first_struct; | |
var first_length; | |
var second_value = ''; | |
var second_struct; | |
var second_length; | |
//var second_value = ''; | |
var chbox_value = ''; | |
var date_value = ''; | |
var comment_value = ''; | |
var login_value = ''; | |
var odpow_value = row.odpowiedzialnosc; | |
if (objects.serv_model) { | |
if (objects.serv_model.exists(column)) { | |
RO_value = objects.serv_model.get(column); | |
RO_struct = objects.serv_model.getTypeStr(column); | |
first_value = objects.serv_model.get(column); | |
first_struct = objects.serv_model.getTypeStr(column); | |
first_length = objects.serv_model.getLength(column); | |
if (column2) { | |
second_value = objects.serv_model.get(column2); | |
second_struct = objects.serv_model.getTypeStr(column2); | |
second_length = objects.serv_model.getLength(column2); | |
if (!second_struct) { | |
log.writeWarn('Brak struct dla \'' + column2 + '\''); | |
} | |
} | |
} else { | |
log.writeWarn('Brak kolumny \'' + column + '\' w modelu'); | |
} | |
} | |
if (objects.commentsMap[column]) { | |
comment_value = objects.commentsMap[column].comment; | |
} | |
if (objects.historyMap[column]) { | |
date_value = objects.historyMap[column].date_obj; | |
login_value = objects.historyMap[column].user_login; | |
} | |
if (objects.flagi_RECG[column]) { | |
chbox_value = UTILS.parseStringBoolean(objects.flagi_RECG[column].flag_val); | |
date_value = objects.flagi_RECG[column].date_obj; | |
} | |
if (!RO_struct || !first_struct) { | |
log.writeWarn('Brak struct dla \'' + column + '\''); | |
} | |
} | |
var row_control = new CLASSES.ROW_CONTROL(objects._CONTROL); | |
row_control.init(column, column2, edit_group); | |
if (objects.RECG) { | |
if (chbox_value) { | |
// RECG_readonly | |
readonly = true; | |
} | |
} | |
else { | |
if (edit_group > global_edit_group) { | |
log.writeDebug('niespelniony edit_group, ukrywam ' + column); | |
readonly = true; | |
} | |
} | |
// structs | |
{ | |
// label | |
buildStructs(label_col, 'label', row.label, { double: !!column2 }); | |
// first_value | |
buildStructs(first_input_col, 'first', first_value, { dbtype: first_struct, double: !!column2, row_control: row_control, readonly: readonly, length: first_length, name: row.label, addonchange: objects.RECG, edit_group: edit_group }); | |
if (column2) { | |
log.writeDebug('Second column dla ' + column2); | |
// second_value | |
buildStructs(second_input_col, 'second', second_value, { dbtype: second_struct, double: !!column2, row_control: row_control, readonly: readonly, length: second_length, addonchange: objects.RECG, edit_group: edit_group }); | |
} | |
if (objects.RECG) { | |
// chbox | |
buildStructs(chbox_col, 'chbox', chbox_value, { double: !!column2, row_control: row_control, disabled: !row.RECG_checkbox, readonly: readonly }); | |
} | |
// date | |
buildStructs(date_col, 'date', date_value, { double: !!column2 }); | |
//comment | |
buildStructs(comment_col, 'comm', comment_value, { double: !!column2, row_control: row_control, readonly: readonly }); | |
// login | |
buildStructs(login_col, 'login', login_value, { double: !!column2 }); | |
// odpowiedzialnosc | |
buildStructs(odpow_col, 'odpow', odpow_value, { double: !!column2 }); | |
// btn | |
if (GLOBALS.CONTROL.hasPermission(objects.permissions, PERMISSIONS.form_aktualizuj) | |
&& objects._CONTROL.showAktualizuj) | |
{ | |
buildStructs(btn_col, 'btn', null, { name: 'Aktualizuj', row_control: row_control, addonclick: true }); | |
} | |
function buildStructs(_column, _type, _value, _params) { | |
if (form_fields_def[_column]) { | |
var res = buildFieldStructs(form_fields_def, _column); | |
/**/ | |
if (!_column.startsWith('default')) { | |
form_fields_def[_column] = null; | |
} | |
/**/ | |
var _struct = res._struct; | |
var design_struct = res.design_struct; | |
if (_struct.disabled) { | |
_params.disabled= true; | |
} | |
} else { | |
if (!_params.double) { | |
var _struct = UTILS.cloneObject(objects.defaults[_type + '_struct'], false, true); | |
_struct.column = _column; | |
var design_struct = UTILS.cloneObject(objects.defaults[_type + '_design_struct']); | |
design_struct.id = _column; | |
} else { | |
// second | |
var _struct = UTILS.cloneObject(objects.defaults[_type + '_struct2'], false, true); | |
_struct.column = _column; | |
var design_struct = UTILS.cloneObject(objects.defaults[_type + '_design_struct2']); | |
design_struct.id = _column; | |
} | |
} | |
if (_params.disabled) { | |
design_struct.field_class = (design_struct.field_class || '') + ' hidden_field'; | |
} | |
if (!_params.readonly && !_params.disabled && !_value | |
&& _params.edit_group >= 0 | |
&& (UTILS.endsWith(_column, 'first') || UTILS.endsWith(_column, 'second'))) | |
{ | |
design_struct.field_class = (design_struct.field_class || '') + ' highlighted'; | |
} | |
_struct.name = _params.name; | |
_struct.value = _value; | |
if (_params.dbtype) _struct.dbtype = _params.dbtype; | |
if (_params.readonly) _struct.readonly = _params.readonly; | |
if (_params.length) _struct.length = +_params.length; | |
if (_params.row_control) _struct.custom_data = _params.row_control; | |
if (_params.name) _struct.name = _params.name; | |
if (_params.addonchange) { | |
_struct.onchange = field_onchange; | |
} | |
if (_params.addonclick) { | |
_struct.onclick = field_onclick; | |
} | |
add_struct(objects, _struct); | |
design_row.fields.push(design_struct); | |
}; | |
} | |
}; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment