/** * Created by JetBrains PhpStorm. * User: Stefan * Date: 18.07.12 * Time: 23:02 * To change this template use File | Settings | File Templates. */ var wsModuleFieldOptions; var countValues = 0; var setFieldValueSelectvalue = false; // Production steps of ECMA-262, Edition 5, 15.4.4.14 // Reference: http://es5.github.io/#x15.4.4.14 if (!Array.prototype.indexOf) { Array.prototype.indexOf = function(searchElement, fromIndex) { var k; // 1. Let O be the result of calling ToObject passing // the this value as the argument. if (this == null) { throw new TypeError('"this" is null or not defined'); } var O = Object(this); // 2. Let lenValue be the result of calling the Get // internal method of O with the argument "length". // 3. Let len be ToUint32(lenValue). var len = O.length >>> 0; // 4. If len is 0, return -1. if (len === 0) { return -1; } // 5. If argument fromIndex was passed let n be // ToInteger(fromIndex); else let n be 0. var n = +fromIndex || 0; if (Math.abs(n) === Infinity) { n = 0; } // 6. If n >= len, return -1. if (n >= len) { return -1; } // 7. If n >= 0, then Let k be n. // 8. Else, n<0, Let k be len - abs(n). // If k is less than 0, then let k be 0. k = Math.max(n >= 0 ? n : len - Math.abs(n), 0); // 9. Repeat, while k < len while (k < len) { // a. Let Pk be ToString(k). // This is implicit for LHS operands of the in operator // b. Let kPresent be the result of calling the // HasProperty internal method of O with argument Pk. // This step can be combined with c // c. If kPresent is true, then // i. Let elementK be the result of calling the Get // internal method of O with the argument ToString(k). // ii. Let same be the result of applying the // Strict Equality Comparison Algorithm to // searchElement and elementK. // iii. If same is true, return k. if (k in O && O[k] === searchElement) { return k; } k++; } return -1; }; } function loadModuleFields(module_name) { if(typeof extraWsModuleFieldOptions != "undefined") { wsModuleFieldOptions = extraWsModuleFieldOptions; } else { wsModuleFieldOptions = {}; } for(var a = 0; a < setter_fields.length; a++) { wsModuleFieldOptions[setter_fields[a]["name"]] = setter_fields[a]; } if(typeof wsModuleFieldOptions["assigned_user_id"] == 'undefined' && wsModuleFieldOptions["smownerid"] != 'undefined') { wsModuleFieldOptions["assigned_user_id"] = wsModuleFieldOptions["smownerid"]; } if(typeof wsModuleFieldOptions["assigned_user_id"] != "undefined") { wsModuleFieldOptions["assigned_user_id"]["type"]["name"] = "picklist"; wsModuleFieldOptions["assigned_user_id"]["type"]["picklistValues"] = {}; wsModuleFieldOptions["assigned_user_id"]["type"]["picklistValues"]['$assigned_user_id'] = '$assigned_user_id'; wsModuleFieldOptions["assigned_user_id"]["type"]["picklistValues"]['$current_user_id'] = '$currentUser'; for(var a = 0; a < available_users["user"].length; a++) { wsModuleFieldOptions["assigned_user_id"]["type"]["picklistValues"][available_users["user"][a]["id"]] = available_users["user"][a]["user_name"]; } for(var a = 0; a < available_users["group"].length; a++) { wsModuleFieldOptions["assigned_user_id"]["type"]["picklistValues"][available_users["group"][a]["groupid"]] = "Group: " + available_users["group"][a]["groupname"]; } } if(typeof wsModuleFieldOptions["cf_team"] != 'undefined') { wsModuleFieldOptions["cf_team"]["type"]["name"] = "multipicklist"; wsModuleFieldOptions["cf_team"]["type"]["picklistValues"] = {}; wsModuleFieldOptions["cf_team"]["type"]["picklistValues"]['$assigned_user_id'] = '$assigned_user_id'; wsModuleFieldOptions["cf_team"]["type"]["picklistValues"]['$current_user_id'] = '$currentUser'; for(var a = 0; a < available_users["user"].length; a++) { wsModuleFieldOptions["cf_team"]["type"]["picklistValues"][available_users["user"][a]["id"]] = available_users["user"][a]["user_name"]; } } wsModuleFieldOptions["DEFAULTFIELD"] = { type: { name:'text' } }; wsModuleFieldOptions["smownerid"] = wsModuleFieldOptions["assigned_user_id"]; jQuery("#setter_container").html(initValues(setter_values)); //app.registerEventForDatePickerFields(); } function initValues() { jQuery("#setter_container").html(""); if(setter_values == -1 || setter_values === false) { return; } if(setter_values === null) setter_values = []; jQuery.each(setter_values, function(i, setValue) { addRow(i, setValue.field); jQuery("#setter_" + i + "_field").select2('val',setValue.field); jQuery("#setter_" + i + "_mode").select2('val',setValue.mode); jQuery("#setter_" + i + "_field, #setter_" + i + "_field_chosen").attr("alt", setValue.field); jQuery("#setter_" + i + "_field, #setter_" + i + "_field_chosen").attr("title", setValue.field); if(setValue.fixed != undefined && setValue.fixed == true) { jQuery("#setter_" + i + "_field").attr("disabled", true).select2('disable'); jQuery("#setter_" + i + "_field").attr("name","dummy"); jQuery("").insertBefore(jQuery("#setter_" + i + "_field")); } // jQuery("#setter_" + i + "_value").val(); var inputHTML = getValueInput(i, setValue.value); jQuery("#value_" + i + "_container").html(inputHTML); if(typeof setValue.error != 'undefined' && setValue.error == true) { showExclamationMark(i); } if(setFieldValueSelectvalue !== false) { jQuery("select#setter_" + i + "_value").val(setFieldValueSelectvalue); setFieldValueSelectvalue = false; } jQuery("select#setter_" + i + "_value").select2(); initFieldSetterEvents("#value_" + i + "_container"); }); jQuery('.blockContainer').sortDivs(); InitAutocompleteText(); } function initFieldSetterEvents(ele) { jQuery('.editFormula').on('click', function() { var selectField = jQuery(this).closest('.formulaSelector').find('select'); var selected = selectField.val(); ShowFormulaAssistant(selected, {'save-only':false}).then(function(shortcode) { reloadFormulas().then(function() { selectField.select2('val', selected); }); }); }); jQuery('.createFormula').on('click', function() { var selectField = jQuery(this).closest('.formulaSelector').find('select'); ShowFormulaAssistant('', {'save-only':false}).then(function(shortcode) { reloadFormulas().then(function() { selectField.select2('val', shortcode); }); }); }); } function showExclamationMark(i) { if(jQuery("#value_" + i + "_container img.exclamation").length > 0) { jQuery("#value_" + i + "_container img.exclamation").show(); } else { jQuery("#value_" + i + "_container").prepend('
' + app.vtranslate('Expression-Errors found') + '