Add JS files

This commit is contained in:
2025-05-12 15:45:17 +00:00
parent 7ddd15c4fa
commit 967007b0c7
3239 changed files with 1157078 additions and 0 deletions

198
modules/Documents3/Categories.js Executable file
View File

@@ -0,0 +1,198 @@
//categories
function saveItems3(){
document.getElementById('position_list3').value = ItemsList3(true);
}
function doRequest(where,post,doFunction,error) {
this.Display = function(result) { doFunction(result.responseText); }
this.Fail = function(result){ if(error) alert(error);}
YAHOO.util.Connect.asyncRequest('POST',where,{success:this.Display,failure:this.Fail},post);
}
function addEvent(object,eventName,do_function) {
if(typeof(object) == "string") object = document.getElementById(object);
if(!object) { alert('No object in function addEvent!'); return; }
if(object.addEventListener) {
object.addEventListener(eventName, do_function, false);
} else {
object.attachEvent('on'+eventName, do_function);
}
}
var tbody_;
var ItemListSave3;
var ItemListClear3;
var ItemListFil3;
var FillText;
addEvent(
window,
'load',
function() {
var paramsTable3 = new paramsMT('itemsTable3');
paramsTable3.onCreateRow = function(row) {
row.newPos = false;
row.noAddNew = true;
row.ondblclick = function() {}
row.onSelect = function() {
}
row.onDeselect = function() {
}
}
paramsTable3.onCreateCell = function(cell) {
var i = cell.index;
if(i == 0) {
cell.setData = function(data) {
console.log(data);
if(data.ecmproductcategory_name) {
cell.firstChild.value = data.ecmproductcategory_name;
cell.getElementsByTagName('input')[1].value = data.ecmproductcategory_id;
if (data.id)
cell.getElementsByTagName('input')[2].value = data.id;
}
};
cell.getData = function(data) {
data.ecmproductcategory_name = cell.firstChild.value;
data.ecmproductcategory_id = cell.getElementsByTagName('input')[1].value;
data.id = cell.getElementsByTagName('input')[2].value;
}
cell.onSelect = function() {
var cn = this.getElementsByTagName('input');
cn[0].name = 'name_p';
cn[0].id = 'name_p';
cn[1].name = 'id_p';
cn[1].id = 'id_p';
}
cell.onDeselect = function() {
ERROR = false;
var data = new Object();
this.getData(data);
if(!ERROR) {
data.product_group = data.product_group;
this.setData(data);
}
var cn = this.getElementsByTagName('input');
cn[0].name = '';
cn[0].id = '';
cn[1].name = '';
cn[1].id = '';
}
//cell.select = function() { this.selectNext(); }
//cell.selectNext = function() { var row = this.parentNode.selectNext(); row.select(); row.cells.item(i).select(); };
var edit = document.createElement('input');
edit.setAttribute('type','text');
edit.setAttribute('tabIndex',1);
edit.className = 'inputs';
cell.appendChild(edit);
var edit = document.createElement('input');
edit.setAttribute('type','hidden');
edit.setAttribute('readonly','readonly');
edit.setAttribute('tabIndex',1);
edit.className = 'inputs';
cell.appendChild(edit);
var edit = document.createElement('input');
edit.setAttribute('type','hidden');
edit.setAttribute('readonly','readonly');
edit.setAttribute('tabIndex',1);
edit.className = 'inputs';
cell.appendChild(edit);
var img = document.createElement('img');
img.setAttribute('alt',MOD['LBL_IMG_SEARCH']);
img.setAttribute('src','modules/EcmQuotes/images/search.gif');
img.style.cursor = 'pointer';
img.onclick = function() {
var ecmpopup = open_popup( "EcmProductCategories", 600, 400, "", true, false, {"call_back_function":"set_return","form_name":"EditView","field_to_name_array":{"id":"id_p","name":"name_p"}}, "single", true );
setTimeout(function(){ecmpopup.focus();},200);
}
cell.appendChild(img);
}
if(i == 1) {
var img;
cell.style.padding="auto auto auto auto";
//insert
img = document.createElement('img');
img.setAttribute('alt',MOD['LBL_INSERT_NEW_ROW']);
img.setAttribute('src','modules/EcmQuotes/images/insertrow.gif');
img.style.cursor = 'pointer';
img.onclick = function() {
this.parentNode.myTable.addRow(this.parentNode.parentNode.index+1);
refreshPositionIndex();
};
//delete
cell.appendChild(img);
cell.appendChild(document.createTextNode(" "));
img = document.createElement('img');
img.setAttribute('alt',MOD['LBL_DELETE_ROW']);
img.setAttribute('src','modules/EcmQuotes/images/deleterow.gif');
img.style.cursor = 'pointer';
img.onclick = function() { this.parentNode.parentNode.deleteRow(); refreshPositionIndex();};
cell.appendChild(img);
cell.appendChild(document.createTextNode(" "));
cell.appendChild(document.createElement('br'));
//move up
img = document.createElement('img');
img.setAttribute('alt',MOD['LBL_MOVE_ROW_UP']);
img.setAttribute('src','modules/EcmQuotes/images/moverowup.gif');
img.style.cursor = 'pointer';
img.onclick = function() { this.parentNode.parentNode.moveUp(); refreshPositionIndex();};
cell.appendChild(img);
cell.appendChild(document.createTextNode(" "));
//move down
img = document.createElement('img');
img.setAttribute('alt',MOD['LBL_MOVE_ROW_DOWN']);
img.setAttribute('src','modules/EcmQuotes/images/moverowdown.gif');
img.style.cursor = 'pointer';
img.onclick = function() { this.parentNode.parentNode.moveDown();refreshPositionIndex(); }
cell.appendChild(img);
}
}
ItemsList3 = function(json) {
var data = '';
for(var i=0; i<paramsTable3.rowCount(); i++) {
data = data + '||||' + JSON.stringifyNoSecurity(paramsTable3.row(i).getData());
}
return data;
}
if(paramsTable3.rowCount() == 0) {paramsTable3.addRow();};
paramsTable3.onSetCellData = function(row,cell,data) {
if(cell.innerHTML == '') cell.innerHTML = '&nbsp;';
}
ItemListFill3 = function() {
var pl;
pl = document.getElementById('position_list3').value;
console.log(pl);
if(pl && pl != '') {
try {
pl = eval(pl);
for(x in pl) { var pl_row = pl[x]; if (pl_row.template=='') continue; paramsTable3.addRow().setData(pl_row); }
} catch(err) { pl = null; };
}
}
ItemListClear3 = function(noNew,save) {
if(typeof(save)=="string") ItemListSave(null,save);
while(paramsTable3.rowCount()>0) paramsTable3.row(0).deleteRow(noNew);
}
ItemListClear3();
ItemListFill3();
var check_form_ = check_form;
check_form = function(formname) {
saveItems3();
return check_form_(formname);
}
}
);

48
modules/Documents3/documents.js Executable file
View File

@@ -0,0 +1,48 @@
/*********************************************************************************
* SugarCRM is a customer relationship management program developed by
* SugarCRM, Inc. Copyright (C) 2004-2010 SugarCRM Inc.
*
* This program is free software; you can redistribute it and/or modify it under
* the terms of the GNU Affero General Public License version 3 as published by the
* Free Software Foundation with the addition of the following permission added
* to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED WORK
* IN WHICH THE COPYRIGHT IS OWNED BY SUGARCRM, SUGARCRM DISCLAIMS THE WARRANTY
* OF NON INFRINGEMENT OF THIRD PARTY RIGHTS.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
* details.
*
* You should have received a copy of the GNU Affero General Public License along with
* this program; if not, see http://www.gnu.org/licenses or write to the Free
* Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301 USA.
*
* You can contact SugarCRM, Inc. headquarters at 10050 North Wolfe Road,
* SW2-130, Cupertino, CA 95014, USA. or at email address contact@sugarcrm.com.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "Powered by
* SugarCRM" logo. If the display of the logo is not reasonably feasible for
* technical reasons, the Appropriate Legal Notices must display the words
* "Powered by SugarCRM".
********************************************************************************/
var rhandle=new RevisionListHandler();var from_popup_return=false;function document_set_return(popup_reply_data)
{from_popup_return=true;var form_name=popup_reply_data.form_name;var name_to_value_array=popup_reply_data.name_to_value_array;related_doc_id='EMPTY';for(var the_key in name_to_value_array)
{if(the_key=='toJSON')
{}
else
{var displayValue=name_to_value_array[the_key];displayValue=displayValue.replace('&#039;',"'");displayValue=displayValue.replace('&amp;',"&");displayValue=displayValue.replace('&gt;',">");displayValue=displayValue.replace('&lt;',"<");displayValue=displayValue.replace('&quot; ',"\"");if(the_key=='related_doc_id'){related_doc_id=displayValue;}
window.document.forms[form_name].elements[the_key].value=displayValue;}}
related_doc_id=JSON.stringifyNoSecurity(related_doc_id);var conditions=new Array();conditions[conditions.length]={"name":"document_id","op":"starts_with","value":related_doc_id};var query=new Array();var query={"module":"DocumentRevisions","field_list":['id','revision','date_entered'],"conditions":conditions,"order":'date_entered desc'};result=global_rpcClient.call_method('query',query,true);rhandle.display(result);}
function RevisionListHandler(){}
RevisionListHandler.prototype.display=function(result){var names=result['list'];var rev_tag=document.getElementById('related_doc_rev_id');rev_tag.options.length=0;for(i=0;i<names.length;i++){rev_tag.options[i]=new Option(names[i].fields['revision'],names[i].fields['id'],false,false);}
rev_tag.disabled=false;}
function setvalue(source){src=new String(source.value);target=new String(source.form.document_name.value);if(target.length==0){lastindex=src.lastIndexOf("/");if(lastindex==-1){lastindex=src.lastIndexOf("\\");}
if(lastindex==-1){source.form.document_name.value=src;source.form.escaped_document_name.value=src;}else{source.form.document_name.value=src.substr(++lastindex,src.length);source.form.escaped_document_name.value=src.substr(lastindex,src.length);}}}
function toggle_template_type(istemplate){template_type=document.getElementById('template_type');if(istemplate.checked){template_type.disabled=false;}else{template_type.disabled=true;}}

1482
modules/Documents3/js/Bim-it.js Executable file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,13 @@
$(document).ready(function () {
var valueformat = $($('#value').children()[0]);
valueformat.html(FormatNumber(valueformat.html()));
// var left_paidformat = $($('#left_paid').children()[0]);
// left_paidformat.html(FormatNumber(left_paidformat.html()));
// html = SUGAR.language.get('Documents', 'LBL_REGISTER_DATE') + ':';
// html += '<br>' + SUGAR.language.get('Documents', 'LBL_CATEGORY') + ':';
// html += '<br>' + SUGAR.language.get('Documents', 'LBL_DOCUMENT_NUMBER') + ':';
// $('#test').closest('td').prev().html(html);
// var tmp = SUGAR.language.get('app_list_strings', 'ecminvoiceouts_category_dom');
// $('#categoryspan').html(tmp[$('#categoryspan').html()]);
});

View File

@@ -0,0 +1,345 @@
var rowNumber = 0;
var rowNumber2 = 0;
var check_form_ = check_form;
$(document).ready(function () {
// parent Edit list
InitializeAssignedWith();
// tabelka z vatami
InitializeVatTable();
// Przypisani uzytkownicy
InitializeUserList();
InitializeTableCost();
$('#value').change(function (event) {
if ($('#value').val() == 'NaN,NaN') {
$('#value').val('0,00');
}
});
$('#document_number').click(function(){
$('#document_number').val($('#document_name').val());
});
// Przy zapisie usuwa puste pola z user accepted
$("#EditView").submit(function (event) {
var pola = $("input[id^='user_name_']")
$.each(pola, function (idx,obj){
if (obj.value=='') {
$(this).closest('tr').remove();
}
});
pola = $("input[id^='user_id_']");
$.each(pola, function (idx,obj){
if (obj.value=='') {
$(this).closest('tr').remove();
}
});
// event.preventDefault();
});
$("#document_date").on('change', function(){
if($('input[name="record"]').val()==''){
if($("#register_date").val()==''){
var options = {
onComplete: function(cep) {
if(isDate(cep))
$('#register_date').css("color", "");
else
$('#register_date').css("color", "red");
return;
},
'translation': {
A: {pattern: /[0-3]/},
B: {pattern: /[0-9]/},
C: {pattern: /[0-1]/},
D: {pattern: /[0-9]/},
Y: {pattern: /[0-9]/}
},
selectOnFocus: true
};
var tmp = $('<input></input>');
tmp.val($(this).val());
$(tmp).mask('AB.CD.YYYY', options);
$('#register_date').val($(tmp).val())
}
}
});
});
check_form = function (formname) {
window.onbeforeunload = null;
var tmp = $("input[name='escaped_document_name']").val() == '';
var tmp2 = $("input[name='uploadfile']").val() == '';
if (tmp) {
if (tmp2) {
alert('Nie podano pliku');
return false;
}
}
$("#document_name").val($.trim($("#document_name").val()));
if ($("#document_name").val() == '') {
alert('Nie podano nazwy dokumentu');
$("#document_name").focus();
return false;
}
if ($('#active_date').val().length < 10) {
var txt = 'Nie podano ';
if ($('#active_date').val().length > 0) {
txt += 'pełnej daty publikacji.';
} else {
txt += 'daty publikacji';
}
alert(txt);
$("#active_date").focus();
return false;
}
if ($("#left_paid").val() != '') {
//int = $("#left_paid").val(UnformatNumber($("#left_paid").val()));
if ($('#payment_date').val() == '') {
if ($('#left_paid').val() != '0,00') {
alert('Wpisałeś kwotę do zapłaty, podaj termin płatności!');
return false;
}
}
}
// unformat vat table positions before save
var count = $('#tblAppendGrid').appendGrid('getRowCount');
for (var i = 0; i < count; i++) {
var data2 = $('#tblAppendGrid').appendGrid('getRowValue', i);
$('#tblAppendGrid').appendGrid('setCtrlValue', 'vat', i, UnformatNumber(data2.vat));
$('#tblAppendGrid').appendGrid('setCtrlValue', 'netto', i, UnformatNumber(data2.netto));
}
if ($("#value").val() != '')
$("#value").val(UnformatNumber($("#value").val()));
var int;
};
function InitializeUserList(){
var user_list = $.parseJSON($("input[name='user_list']").val());
if (user_list.length == 0){
addUserAcceptanceField();
} else{
$.each(user_list, function (idx, obj) {
addUserAcceptanceField(
obj.user_id,
obj.user_name,
obj.accepted,
obj.accepted_description,
obj.date_accepted
);
});
}
}
function addUserAcceptanceField(user_id, user_name, accepted, accepted_description, date) {
user_id = user_id || null;
user_name = user_name || null;
accepted = accepted || null;
accepted_description = accepted_description || null;
date = date || null;
rowNumber++;
//Tworzenie wiersza
var tabela = document.getElementById('user_acceptance_table');
var tbRow = document.createElement('tr');
tabela.appendChild(tbRow);
var tbCellInput = document.createElement('td');
var tbCellButtons = document.createElement('td');
tbRow.appendChild(tbCellInput);
tbRow.appendChild(tbCellButtons);
//Tworzenie input'ow
var inputUserId = document.createElement('input');
inputUserId.id = 'user_id_' + rowNumber;
inputUserId.name = 'user_id[]';
inputUserId.type = 'hidden';
tbCellInput.appendChild(inputUserId);
var inputUserAcceptedDescription = document.createElement('input');
inputUserAcceptedDescription.id = 'accepted_description_' + rowNumber;
inputUserAcceptedDescription.name = 'accepted_description[]';
inputUserAcceptedDescription.type = 'hidden';
tbCellInput.appendChild(inputUserAcceptedDescription);
var inputUserAccepted = document.createElement('input');
inputUserAccepted.id = 'accepted_' + rowNumber;
inputUserAccepted.name = 'accepted[]';
inputUserAccepted.type = 'hidden';
tbCellInput.appendChild(inputUserAccepted);
var inputUserDateAccepted = document.createElement('input');
inputUserDateAccepted.id = 'date_accepted_' + rowNumber;
inputUserDateAccepted.name = 'date_accepted[]';
inputUserDateAccepted.type = 'hidden';
tbCellInput.appendChild(inputUserDateAccepted);
var inputUserName = document.createElement('input');
inputUserName.id = 'user_name_' + rowNumber;
inputUserName.name = 'user_name[]';
inputUserName.size = 30;
inputUserName.maxlength = 50;
tbCellInput.appendChild(inputUserName);
//Tworzenie guzikow
var buttonChooseUser = document.createElement('button');
var buttonimg = document.createElement('img');
buttonimg.src = 'index.php?entryPoint=getImage&themeName=" + SUGAR.themes.theme_name + "&imageName=id-ff-select.png';
buttonChooseUser.appendChild(buttonimg);
buttonChooseUser.onclick = function (event) {
var tmp = $(this).closest("tr").find('input[id^=user_id]').attr('id');
var tmp2 = $(this).closest("tr").find('input[id^=user_name_]').attr('id');
open_popup('Users', 600, 400, '', true, false,
{'call_back_function': 'set_return', 'form_name': 'EditView', 'field_to_name_array':
{'id': tmp, 'name': tmp2}}, 'single', true);
}
buttonChooseUser.type = "button";
buttonChooseUser.title = SUGAR.language.get('Documents', 'HELP_LBL_USERACCEPT_CHOOSE_BUTTON');
tbCellButtons.appendChild(buttonChooseUser);
var buttonDel = document.createElement('button');
var buttonDelimg = document.createElement('img');
buttonDelimg.src ='index.php?entryPoint=getImage&themeName=" + SUGAR.themes.theme_name + "&imageName=id-ff-clear.png';
buttonDel.appendChild(buttonDelimg);
buttonDel.onclick = function (e) {
if (document.getElementById('user_acceptance_table').rows.length > 1) {
$(this).closest('tr').remove();
}
};
buttonDel.type = 'button';
buttonDel.accessKey = 'C';
buttonDel.className = 'removerow';
buttonDel.title = SUGAR.language.get('Documents', 'HELP_LBL_USERACCEPT_BUTTONDEL');
tbCellButtons.appendChild(buttonDel);
//Ustawianie wartosci jesli sa
if(user_id!=null){
inputUserId.value = user_id;
inputUserName.value = user_name;
inputUserAccepted.value = accepted;
inputUserAcceptedDescription.value = accepted_description;
inputUserDateAccepted.value = date;
}
}
function InitializeAssignedWith(){
var parent_list = $.parseJSON($("input[name='parent_list']").val());
if (parent_list.length == 0){
addAssociatedWithField();
} else{
$.each(parent_list, function (idx, obj) {
addAssociatedWithField(obj.id, obj.parent_type, htmlspecialchars_decode(obj.parent_name), obj.parent_id);
});
}
}
function addAssociatedWithField(list_id, parent_type, parent_name, parent_id){
list_id = list_id || null;
parent_type = parent_type + 's' || null;
parent_name = parent_name || null;
parent_id = parent_id || null;
rowNumber2++;
var tabela = document.getElementById('associated_with');
var tbRow = document.createElement('tr');
tabela.appendChild(tbRow);
var tbCellInput = document.createElement('td');
var tbCellButtons = document.createElement('td');
tbRow.appendChild(tbCellInput);
tbRow.appendChild(tbCellButtons);
//Tworzenie input'ow
var inputParentType = document.createElement('select');
inputParentType.id = 'parent_type_' + rowNumber2;
inputParentType.name = 'parent_type[]';
var option= null;
var parent_type_list = $.parseJSON($("input[name='parent_type_list']").val());
$.each(parent_type_list, function (idx2, obj2) {
option = document.createElement("option");
option.text = obj2;
option.value = idx2;
if(parent_type==idx2){
option.selected = true;
}
inputParentType.add(option);
});
tbCellInput.appendChild(inputParentType);
var inputParentId = document.createElement('input');
inputParentId.id = 'parent_id_' + rowNumber2;
inputParentId.name = 'parent_id[]';
inputParentId.type = 'hidden';
tbCellInput.appendChild(inputParentId);
var inputParentName = document.createElement('input');
inputParentName.id = 'parent_name_' + rowNumber2;
inputParentName.name = 'parent_name[]';
inputParentName.size = 30;
inputParentName.autocomplete='off';
inputParentName.tabIndex=60;
inputParentName.maxlength = 50;
tbCellInput.appendChild(inputParentName);
var inputList = document.createElement('input');
inputList.id = 'list_id_' + rowNumber2;
inputList.name = 'list_id[]';
inputList.type = 'hidden';
tbCellInput.appendChild(inputList);
//Tworzenie guzikow
var buttonChooseUser = document.createElement('button');
var buttonimg = document.createElement('img');
buttonimg.src = 'index.php?entryPoint=getImage&themeName=" + SUGAR.themes.theme_name + "&imageName=id-ff-select.png';
buttonChooseUser.appendChild(buttonimg);
buttonChooseUser.onclick = function (event) {
var window = $(this).closest("tr").find('select[id^=parent_type_]').find(":selected").val();
var tmp = $(this).closest("tr").find('input[id^=parent_id_]').attr('id');
var tmp2 = $(this).closest("tr").find('input[id^=parent_name_]').attr('id');
if(window=='Accounts'){
open_popup(window, 600, 400, '', true, false,{'call_back_function': 'set_return', 'form_name': 'EditView', 'field_to_name_array':{'id': tmp, 'name': tmp2}}, 'single', true);
}else if(window=='Contacts'){
open_popup(window, 600, 400, '', true, false,{'call_back_function': 'set_return', 'form_name': 'EditView', 'field_to_name_array':{'id': tmp, 'name': tmp2}}, 'single', true);
}else if(window=='EcmInvoiceOuts'){
open_popup(window, 600, 400, '', true, false,{'call_back_function': 'set_return', 'form_name': 'EditView', 'field_to_name_array':{'id': tmp, 'document_no': tmp2}}, 'single', true);
}else if(window=='EcmSales'){
open_popup(window, 600, 400, '', true, false,{'call_back_function': 'set_return', 'form_name': 'EditView', 'field_to_name_array':{'id': tmp, 'document_no': tmp2}}, 'single', true);
}else if(window=='EcmStockDocIns'){
open_popup(window, 600, 400, '', true, false,{'call_back_function': 'set_return', 'form_name': 'EditView', 'field_to_name_array':{'id': tmp, 'document_no': tmp2}}, 'single', true);
}else if(window=='EcmProducts'){
open_popup(window, 600, 400, '', true, false,{'call_back_function': 'set_return', 'form_name': 'EditView', 'field_to_name_array':{'id': tmp, 'name': tmp2}}, 'single', true);
}
}
buttonChooseUser.type = "button";
buttonChooseUser.accessKey='l';
buttonChooseUser.title = SUGAR.language.get('Documents', 'HELP_LBL_USERACCEPT_CHOOSE_BUTTON');
tbCellButtons.appendChild(buttonChooseUser);
var buttonDel = document.createElement('button');
var buttonDelimg = document.createElement('img');
buttonDelimg.src ='index.php?entryPoint=getImage&themeName=" + SUGAR.themes.theme_name + "&imageName=id-ff-clear.png';
buttonDel.appendChild(buttonDelimg);
buttonDel.onclick = function (e) {
if (document.getElementById('associated_with').rows.length > 1) {
$(this).closest('tr').remove();
}
};
buttonDel.type = 'button';
buttonDel.accessKey = 'C';
buttonDel.className = 'removerow';
buttonDel.title = SUGAR.language.get('Documents', 'HELP_LBL_USERACCEPT_BUTTONDEL');
tbCellButtons.appendChild(buttonDel);
inputList.value = list_id;
inputParentName.value = parent_name;
inputParentId.value = parent_id;
$('select[id^=parent_type_]').change(function (event){
$(this).closest('tr').find('input[id^=parent_id]').val('');
$(this).closest('tr').find('input[id^=parent_name]').val('');
$(this).closest('tr').find('input[id^=list_id]').val('');
});
}

View File

@@ -0,0 +1,81 @@
function InitializeTableCost() {
// Initialize appendGrid
$('#tableCostEdit').appendGrid({
hideRowNumColumn: false,
caption: null,
initRows: 1,
columns: [
{
name: 'name',
type: 'text',
ctrlClass: 'inputs',
display: SUGAR.language.get("app_strings", "LBL_NAME"),
displayCss: {'vertical-align': 'middle'},
ctrlCss: {'text-align': 'right'},
},{
name: 'koszt',
display: SUGAR.language.get("app_strings", "LBL_COST"),
type: 'text',
ctrlClass: 'inputs',
displayCss: {'vertical-align': 'middle'},
ctrlCss: {'text-align': 'right'},
onChange: function (evt, rowIndex) {
// formatowanie
var data = $('#tableCostEdit').appendGrid('getRowValue', rowIndex);
if (data.koszt != '') {
$('#tableCostEdit').appendGrid('setCtrlValue', 'koszt', rowIndex, FormatNumber(data.koszt));
}
},
},{
name: 'addcolumn',
display: 'addcolumn',
ctrlClass: 'inputs',
type: 'text',
displayCss: {'vertical-align': 'middle'},
ctrlCss: {'text-align': 'right'}
}
],
i18n: {
append: SUGAR.language.get("app_strings", "LBL_APPENDGRID_I18_APPEND"),
remove: SUGAR.language.get("app_strings", "LBL_APPENDGRID_I18_REMOVE"),
insert: SUGAR.language.get("app_strings", "LBL_APPENDGRID_I18_INSERT"),
moveUp: SUGAR.language.get("app_strings", "LBL_APPENDGRID_I18_MOVEUP"),
moveDown: SUGAR.language.get("app_strings", "LBL_APPENDGRID_I18_MOVEDOWN"),
removeLast: SUGAR.language.get("app_strings", "LBL_APPENDGRID_I18_REMOVELAST"),
rowEmpty: SUGAR.language.get("app_strings", "LBL_APPENDGRID_I18_ROWEMPTY"),
rowDrag: SUGAR.language.get("app_strings", "LBL_APPENDGRID_I18_ROWDRAG"),
},
customGridButtons: {
insert: function () {
var button = document.createElement('img');
button.src = 'modules/EcmQuotes/images/add_position.gif';
return button;
},
moveUp: function () {
var button = document.createElement('img');
button.src = 'modules/EcmQuotes/images/moverowup.gif';
return button;
},
moveDown: function () {
var button = document.createElement('img');
button.src = 'modules/EcmQuotes/images/moverowdown.gif';
return button;
},
removeLast: function () {
var button = document.createElement('img');
button.src = 'modules/EcmQuotes/images/deleterow.gif';
return button;
},
append: function () {
var button = document.createElement('img');
button.src = 'modules/EcmQuotes/images/insertrow.gif';
return button;
},
remove: function () {
var button = document.createElement('img');
button.src = 'modules/EcmQuotes/images/deleterow.gif';
return button;
},
},
});
}

448
modules/Documents3/paramsMT.js Executable file
View File

@@ -0,0 +1,448 @@
function NumberToUserFormatNumber(number,add) {
if(!number) number = 0;
number = parseFloat(number);
var tmp = number.toFixed(OPT['dec_len']);
var s1 = tmp.substring(0,tmp.length-1-OPT['dec_len']);
var s2 = tmp.substring(tmp.length-OPT['dec_len'],tmp.length);
var tmp = '';
for(var i=s1.length;i>0;i-=3) {
tmp = ((i<=3)?"":OPT['sep_1000'])+s1.substring(i-3,i)+tmp;
}
s1 = tmp;
return (s1+OPT['dec_sep']+s2).toString()+((add)?add:'');
}
function UserFormatNumberToNumber(ufn,add) {
if(add) {
var match = /add/g;
ufn = ufn.replace(match,'');
}
var match = /Err/g;
ufn = ufn.replace(match,'');
if(!ufn) return parseFloat(0);
var pos = ufn.indexOf(OPT['dec_sep']);
var s1='', s2='';
if(pos==-1) { s1 = ufn; s2 = ''; }
else { s1 = ufn.substring(0,pos); s2 = ufn.substring(pos+1,ufn.length); }
/*
if(OPT['sep_1000'] != "")
for(var i=s1.length-4;i>=0;i-=4)
if(s1.charAt(i) != OPT['sep_1000']) { return -1; }
if(s1.charAt(0) == OPT['sep_1000']) return -1;
*/
var pos = -1;
while((pos = s1.indexOf(OPT['sep_1000'])) != -1)
s1 = s1.substring(0,pos)+s1.substring(pos+1,s1.length);
//alert(s1);
return parseFloat(s1+"."+s2);
}
function keyPressedNumber(e) {
var keynum;
if(window.event) //IE
keynum = e.keyCode;
else
keynum = e.which;
return keynum;
}
function isEnterOrTabPressed(e) {
var keynum = keyPressedNumber(e);
if(keynum == 9 || keynum == 13) return true; else return false;
}
function setSelectionRange(obj) {
if(obj && typeof(obj) == "object" && (obj.type == "text" || obj.type == "textarea")) {
if(obj.createTextRange) {
var range = obj.createTextRange();
range.moveStart("character", 0);
range.moveEnd("character", obj.value.lengh-1);
range.select();
} else {
if(obj.setSelectionRange) {
obj.setSelectionRange(0,obj.value.length);
}
}
obj.focus();
}
if(obj && typeof(obj) == "object" && obj.options) { obj.focus(); }
}
function paramsMT(name) {
this.myTableName = name;
this.table = document.getElementById(this.myTableName);
this.thead = this.table.tHead;
this.tbody = this.table.tBodies.item(0);
this.cellSelectedClass = 'selectedCell';
this.rowSelectedClass = 'selectedRow';
this.selectedRow;
this.selectedCell;
this.rowCount = function() {
return this.tbody.rows.length;
}
this.colCount = function() {
return this.thead.rows.item(0).cells.length;
};
this.colWidth = function(i) {
return this.thead.rows.item(0).cells.item(i).width;
};
this.moveUpRow = function() {
if(this.selectedRow) this.selectedRow.moveUp();
};
this.moveDownRow = function() {
if(this.selectedRow) this.selectedRow.moveDown();
};
this.insertRow = function(row, newRow) {
if(!row)
if(this.rowCount())
if(typeof(row) == "number")
row = this.tbody.rows.item(row);
else
row = this.tbody.rows.item(this.tbody.rows.length-1);
var row_tmp;
if((newRow) && (row)) row_tmp = newRow; else { row_tmp = this.createRow(); this.fillWithDefaultData(row_tmp); }
if(this.rowCount() > 0 && row.nextSibling)
this.tbody.insertBefore(row_tmp, row.nextSibling);
else
this.tbody.appendChild(row_tmp);
return row_tmp;
};
this.refreshRowIndex = function() {
for(var i=0; i<this.rowCount(); i++) {
this.tbody.rows.item(i).index = i;
if(this.onRefreshRowIndex) this.onRefreshRowIndex(this.tbody.rows.item(i));
}
}
this.onRefreshRowIndex;
this.addRow = function(i,data) {
var row = this.createRow();
if(this.selectedRow) this.selectedRow.deselect();
if(this.selectedCell) this.selectedCell.deselect();
row.myTable = this;
if(i || i===0)
this.tbody.insertBefore(row,this.tbody.rows.item(i));
else
this.tbody.appendChild(row);
this.refreshRowIndex();
this.setRowData(row, data);
for(var i=0; i<this.colCount(); i++) row.cells.item(i).afterCreate();
return row;
}
this.createRow = function(row) {
var row = document.createElement('tr');
row.myTable = this;
row.isnew = false;
row.onclick = function() { this.select(); }
row.select = function() {
if(!this.myTable.selectedRow || this.myTable.selectedRow !== this) {
if(this.myTable.selectedRow) this.myTable.selectedRow.deselect();
this.myTable.selectedRow = this;
this.className = this.myTable.rowSelectedClass;
if(row.onSelect) row.onSelect();
}
}
row.deselect = function() {
if(this.myTable.selectedRow === this) {
this.className = '';
this.myTable.selectedRow = '';
if(row.onDeselect) row.onDeselect();
}
};
row.selectNext = function() {
if(this.index < this.myTable.rowCount()-1) { this.deselect(); this.nextSibling.select(); return this.nextSibling; }
else {
if(this.noAddNew) return this;
this.deselect();
var row = this.myTable.addRow(); return row;
}
}
row.selectPrevious = function() {
this.deselect();
if(this.previousSibling && this.index > 0) { this.previousSibling.select(); return this.previousSibling; }else return this;
}
row.deleteRow = function(noNew) {
if(this.myTable.selectedCell) this.myTable.selectedCell.deselect();
if(this.myTable.selectedRow) this.myTable.selectedRow.deselect();
if(this.myTable.rowCount() == 1 && !noNew) {
var MyTaBlE = this.myTable;
setTimeout( function() { MyTaBlE.addRow(); refreshPositionIndex();} , 1000);
}
this.myTable.tbody.removeChild(this);
this.myTable.refreshRowIndex();
}
row.moveUp = function() {
if(!this.previousSibling) return;
this.myTable.tbody.insertBefore(this,this.previousSibling);
this.myTable.refreshRowIndex();
}
row.moveDown = function() {
if(!this.nextSibling) this.myTable.addRow(row);
this.myTable.tbody.insertBefore(this.nextSibling,this);
this.myTable.refreshRowIndex();
}
row.setData = function(data) {
if(!data || typeof(data) != "object") { return; };
for(var i=0; i<this.myTable.colCount(); i++) {
this.cells.item(i).setData(data);
}
}
row.getData = function() {
var data = new Object();
for(var i=0; i<this.myTable.colCount(); i++) {
if(this.cells.item(i).getData) this.cells.item(i).getData(data,true);
}
return data;
}
for(var i=0; i<this.colCount(); i++) {
var cell = this.createCell(i);
row.appendChild(cell);
}
if(this.onCreateRow) this.onCreateRow(row);
return row;
};
this.onCreateRow; //function(row) {}
this.createCell = function(i) {
var cell = document.createElement('td');
cell.index = i;
cell.myTable = this;
cell.onclick = function() { this.select(); }
cell.select = function() {
if(!this.myTable.selectedCell || this.myTable.selectedCell !== this) {
if(this.myTable.selectedCell) this.myTable.selectedCell.deselect();
this.myTable.selectedCell = this;
if(this.firstChild.focus && !this.noSelect) setSelectionRange(this.firstChild);
if(this.onSelect) this.onSelect();
this.className = this.myTable.cellSelectedClass;
}
}
cell.deselect = function() {
if(this.myTable.selectedCell === this) {
if(cell.onDeselect) cell.onDeselect();
this.className = '';
this.selected = false;
this.myTable.selectedCell = '';
}
};
cell.selectNext = function() {
this.deselect();
if(this.nextSibling) this.nextSibling.select();
else {
if(!this.parentNode.nextSibling) { if(this.noNewAdd) return; else this.myTable.addRow(); }
this.parentNode.nextSibling.select();
this.parentNode.nextSibling.firstChild.select();
}
}
cell.afterCreate = function() {}
cell.setData = function(data) {}
cell.getData = function(data) {}
if(this.onCreateCell) this.onCreateCell(cell);
return cell;
};
this.onCreateCell; //function(cell) {}
this.setRowData = function(row,data) {
for(var i=0; i<this.colCount(); i++) {
this.setCellData(row,row.cells.item(i),data);
}
}
this.setCellData = function(row,cell,data) {
if(typeof(row) == "number")
if(this.tbody.rows.item(row)) row = this.tbody.rows.item(row);
if(typeof(cell) != "object")
if(typeof(cell) == "number" && typeof(row) == "object") {
if(row.cells.item(cell))
cell = row.cells.item(cell);
else return;
}
else return;
if(this.onSetCellData) this.onSetCellData(row,cell,data);
}
this.onSetCellData; //function(row,cell,data) {}
this.selectRow = function(row) {
if(this.selectedRow === row) return;
if(this.selectedRow) this.deselectRow();
this.selectedRow = row;
this.selectedRow.className = this.rowSelectedClass;
this.setEditNames(this.selectedRow,!this.selectedRow.isnew);
}
this.selectNextRow = function() {
if(!this.selectedRow) return;
if(!this.selectedRow.nextSibling) this.insertRow();
var cell_id = this.selectedCell.lp;
this.selectRow(this.selectedRow.nextSibling);
this.selectCell(this.selectedRow.cells.item(cell_id));
}
this.selectPreviousRow = function() {
if(!this.selectedRow) return;
if(!this.selectedRow.previousSibling) return;
if(this.selectedRow === this.tbody.rows.item(0)) return;
var cell_id = this.selectedCell.lp;
this.selectRow(this.selectedRow.previousSibling);
this.selectCell(this.selectedRow.cells.item(cell_id));
}
this.refreshNumeration = function() {
for(var i=0; i<this.tbody.rows.length; i++)
this.tbody.rows.item(i).cells.item(0).firstChild.value = i+1;
}
this.KeyPressedNumber = function(e) {
var keynum;
if(window.event) //IE
keynum = e.keyCode;
else
keynum = e.which;
return keynum;
}
this.KeyPressed = function(e, cell, method) {
var keynum;
if(window.event) //IE
keynum = e.keyCode;
else
keynum = e.which;
if((keynum == 9) || (keynum == 13)) {
cell.selectNext();
return false;
}
if(keynum == 40) { var id = cell.index; var row = cell.parentNode.selectNext(); if(row) { row.select(); row.cells.item(id).select(); } }
if(keynum == 38) { var id = cell.index; var row = cell.parentNode.selectPrevious(); if(row) { row.select(); row.cells.item(id).select(); } }
if(e.shiftKey && (method == "decimalNumber" || method == "onlyNumber")) return false;
if(method == "decimalNumber") return this.OnlyNumbers(keynum);
if(method == "onlyNumber") return this.OnlyNumbers(keynum, true);
return true;
}
this.OnlyNumbers = function(e, noQuote) { var keynum = e, keychar, numcheck;
keychar = String.fromCharCode(keynum);
numcheck = /\d/;
return numcheck.test(keychar) || ((!noQuote)?(keynum == 190):false)
|| (keynum == 8) //backspace
|| (keynum == 46) //delete
|| (keynum == 13) //enter || (keynum == 0) //special keys with FF
|| (keynum == 37) //left arrow
|| (keynum == 39) //right arrow
|| (keynum == 188); //,
}
this.row = function(i) { if(this.tbody.rows.item(i)) return this.tbody.rows.item(i); }
this.cells = function(i,j) { if(this.tbody.rows.item(i).cells.item(i)) return this.tbody.rows.item(i).cells.item(i); }
}