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

View File

@@ -0,0 +1,79 @@
$(document).ready(function () {
setStructDiv();
InitializeTable();
});
function setStructDiv(){
var div = $('#structdiv');
var konto = $('#account_code').text() + '';
var lista = $.parseJSON($("input[name='structureanalyticalpart_list']").val());
var html = '';
html = html + '<table style="border-collapse: collapse ; border: 0px solid black;width:10px"><tr>';
html = html + '<td style="border-collapse: collapse ; border: 1px solid black;width="10">&nbsp;&nbsp;'+ konto.substring(1,2) +'&nbsp;&nbsp</td>';
html = html + '<td style="border-collapse: collapse ; border: 1px solid black;width="10">&nbsp;&nbsp;'+ konto.substring(2,3) +'&nbsp;&nbsp</td>';
html = html + '<td style="border-collapse: collapse ; border: 1px solid black;width="10">&nbsp;&nbsp;'+ konto.substring(3,4) +'&nbsp;&nbsp</td>';
html = html +'<td style="border-collapse: collapse ; border: 0px solid black;width="10">&nbsp;&nbsp;&nbsp;-&nbsp;&nbsp;</td>';
if (lista != '[]')
$.each(lista, function (idx, obj){
for(var i=0; i < obj.value ; i++)
html = html +'<td style="border-collapse: collapse ; border: 1px solid black;width="10">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp</td>';
if(idx!=lista.length-1)
html = html +'<td style="border-collapse: collapse ; border: 0px solid black;width="10">&nbsp;&nbsp;&nbsp;-&nbsp;&nbsp;</td>';
});
html = html + '</tr></table>';
div.html(html);
}
function InitializeTable() {
$('#tableAnalyticalAccounts').appendGrid({
hideRowNumColumn: true,
initRows: 0,
columns: [
{
name: 'code',
display: 'Konto',
type: 'text',
ctrlClass: 'inputs',
ctrlAttr : {readonly : 'readonly'},
displayCss: {'width': '30%', 'vertical-align': 'middle'}
}, {
name: 'name',
display: 'Nazwa',
type: 'text',
ctrlClass: 'inputs',
ctrlAttr : {readonly : 'readonly'},
displayCss: {'width': '65%', 'vertical-align': 'middle'}
}, ],
i18n: {
rowEmpty: 'Brak rekordów'
},
hideButtons: {
removeLast: true,
append: true,
insert: true,
remove : true,
moveUp: true,
moveDown: true
}
});
LoadDataFromAnalyticalAccountsList();
$('thead').removeClass('ui-widget-header');
$('td').removeClass('ui-widget-header');
$('tbody').removeClass('ui-widget-content');
$('td').removeClass('ui-widget-content');
$('tfoot').removeClass('ui-widget-header');
}
function LoadDataFromAnalyticalAccountsList() {
var action_list = $.parseJSON($("input[name='analyticalaccounts_list']").val());
if (action_list.length > 0) {
$.each(action_list, function(idx2, obj2) {
$('#tableAnalyticalAccounts').appendGrid('insertRow', [ {
code : obj2.code,
name : obj2.name,
} ], 0);
console.log(obj2.code);
});
}
}

View File

@@ -0,0 +1,390 @@
$(document).ready(function () {
structureEdit();
InitializeTable();
//$("#account_type").attr("disabled", true);
$("#account_code").keydown(function (e) {
// Allow: backspace, delete, tab, escape, enter
if ($.inArray(e.keyCode, [46, 8, 9, 27, 13, 110]) !== -1 ||
// Allow: Ctrl+A
(e.keyCode == 65 && e.ctrlKey === true) ||
// Allow: home, end, left, right, down, up
(e.keyCode >= 35 && e.keyCode <= 40)) {
// let it happen, don't do anything
return;
}
// Ensure that it is a number and stop the keypress
if ((e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) && (e.keyCode < 96 || e.keyCode > 105)) {
e.preventDefault();
}
});
$("#account_code").change(function (e) {
var kod = $("#account_code").val();
if (kod.length == 1) {
kod = '00' + kod;
}
if (kod.length == 2) {
kod = '0' + kod;
}
if (kod.length > 3) {
kod = kod.substring(0, 3)
}
$("#account_code").val(kod);
var test;
$.ajax({
type: "POST",
url: "index.php?module=EcmSyntheticAccounts&action=helper&to_pdf=1",
dataType: "json",
async: false,
data: {
job: "checkCode",
kod: kod,
},
success: function (data) {
test = data;
}
});
if (test) {
$("#account_code").val('');
alert("Podany kod już istnieje");
}
});
$("#EditView").submit(function (event) {
odblokuj();
$('#tableAnalyticalAccounts').appendGrid('removeEmptyRows');
for (var row = 0; row < $("#tableAnalyticalAccounts").appendGrid('getRowCount'); row++) {
value = $("#tableAnalyticalAccounts").appendGrid('getCtrlValue', 'code', row);
for (var i = 0; i < $("#tableAnalyticalAccounts").appendGrid('getRowCount'); i++) {
var cosik = $("#tableAnalyticalAccounts").appendGrid('getCtrlValue', 'code', i);
if (cosik == value && row != i) {
alert("Duplikat kodu w: " + (i + 1) + " i "+(row+1) +"\nProszę podać inny");
console.log($("#tableAnalyticalAccounts").appendGrid('getCtrlValue', 'code', i));
event.preventDefault();
zablokuj();
}
}
}
});
});
function structureEdit() {
var MaxInputs = 50; // maximum input boxes allowed
var InputsWrapper = $("#InputsWrapper"); // Input boxes wrapper ID
var AddButton = $("#AddMore"); // Add button ID
var x = InputsWrapper.length; // initlal text box count
var FieldCount = 1; // to keep track of text box added
var structureanalyticalpart_list = $.parseJSON($("input[name='structureanalyticalpart_list']").val());
if (structureanalyticalpart_list != '[]')
$.each(structureanalyticalpart_list, function (idx, obj) { // add existing elements
FieldCount++; // text box added increment
// add input box
if (idx == 0) {
// first element
$("div input[name='structureanalyticalpart[]']").first().val(htmlspecialchars_decode(obj.value));
} else {
// rest of elementsec
$(InputsWrapper).append('\
<tr>\
<td>\
<input type="text" size="30" name="structureanalyticalpart[]" id="structureanalyticalpart_' + x + '" value="' + obj.value + '" onchange="valueChange(' + x + ')"/>\
</td>\
<td>\
&nbsp;<button name="delbutton" class="removeclass" ><a href="#" class="removeclass"><img class="id-ff-remove" name="0" src="themes/default/images/id-ff-clear.png?s=bed8cd35065048ceebdc639ebe305e2c&amp;c=1"></a></button>\
</td>\
</tr>'
);
}
x++; // text box increment
});
$(AddButton).click(function (e) { // on add input button click
if (x <= MaxInputs) { // max input box allowed
if (x == 1) {
x = 2;
}
FieldCount++; // text box added increment
// add input box
$(InputsWrapper).append('\
<tr>\
<td>\
<input type="text" size="30" name="structureanalyticalpart[]" tabindex="106" id="structureanalyticalpart_' + x + '" value="1" onchange="valueChange(' + x + ')"/>\
</td>\
<td>\
&nbsp;<button name="delbutton" class="removeclass" ><a href="#" class="removeclass"><img class="id-ff-remove" name="0" src="themes/default/images/id-ff-clear.png?s=bed8cd35065048ceebdc639ebe305e2c&amp;c=1"></a></butoon>\
</td>\
</tr>');
x++; // text box increment
}
return false;
});
$("body").on("click", ".removeclass", function (e) { // user click on remove
// text
if (x > 1) {
$(this).closest('tr').remove();// remove text box
x--; // decrement textbox
}
return false;
});
}
function valueChange(e) {
var tmp = $("#structureanalyticalpart_" + e);
var er = parseInt(tmp.val());
if (isNaN(er)) {
er = 1;
}
if (er <= 0) {
er = 1;
alert("Liczba nie może być mniejsza od 1");
}
tmp.val(er);
}
function drawbuttons(number) {
var buttons = '<button value="Wyczyść" onclick="'
+ "$('#structureanalyticalpart_" + number + "').val(''); $('#user_id_" + number + "').val('');"
+ '" class="button lastChild" style="vertical-align: top;" accesskey="C" title="Wyczyść[Alt+C]" id="btn_clr_structureanalyticalpart" name="btn_clr_structureanalyticalpart" type="button">'
+ '<img src="themes/default/images/id-ff-clear.png?s=bed8cd35065048ceebdc639ebe305e2c&amp;c=1"></button>';
return buttons;
}
function inputCode(event) {
var field = event.target.name;
var value = event.target.value;
var struktura = new Array();
$("input[name='structureanalyticalpart[]']").each(function (indeks, obj) {
struktura[indeks] = obj.value;
});
if (value.length < 4) {
var tmp2 = value;
value = $("#account_code").val() + '-' + tmp2;
}
value = value.replace(/\s+/g, '-');
//value = value.replace(/\s+|\,+/g, ''); dla kilku wartosci
var lista = value.split('-', struktura.length + 1);
var tmp = $("#account_code").val();
for (var i = 1; i < lista.length; i++) {
if (lista[i].length > struktura[i - 1]) {
lista[i] = lista[i].substr(0, struktura[i - 1]);
}
tmp += '-' + lista[i];
}
$("#" + field).val(tmp);
}
function codeChange(event, row) {
var field = event.target.name;
var value = event.target.value;
var struktura = new Array();
$("input[name='structureanalyticalpart[]']").each(function (indeks, obj) {
struktura[indeks] = obj.value;
});
var lista = value.split('-', struktura.length + 1);
var tmp = $("#account_code").val();
for (var i = 1; i <= struktura.length; i++) {
if (lista[i] === undefined) {
lista [i] = '';
}
while (lista[i].length < struktura[i - 1]) {
lista[i] = '0' + lista[i];
}
tmp += '-' + lista[i];
}
$("#" + field).val(tmp);
for (var i = 0; i < $("#tableAnalyticalAccounts").appendGrid('getRowCount'); i++) {
var cosik = $("#tableAnalyticalAccounts").appendGrid('getCtrlValue', 'code', i);
if (cosik == value && row != i) {
alert("Podany kod jest już używany w wierszu: " + (i + 1) + "\nProszę podać inny");
console.log($("#tableAnalyticalAccounts").appendGrid('getCtrlValue', 'code', i));
}
}
}
function InitializeTable() {
$('#tableAnalyticalAccounts').appendGrid({
hideRowNumColumn: true,
initRows: 0,
columns: [
{
name: 'code',
display: 'Konto',
type: 'text',
ctrlClass: 'inputs',
onChange: function (evt, rowIndex) {
codeChange(evt, rowIndex);
},
displayCss: {'width': '30%', 'vertical-align': 'middle'}
}, {
name: 'name',
display: 'Nazwa',
type: 'text',
ctrlClass: 'inputs',
displayCss: {'width': '65%', 'vertical-align': 'middle'}
}, ],
afterRowAppended: function (caller, parentRowIndex, addedRowIndex) {
zablokuj();
$("input[name^='tableAnalyticalAccounts_code_']").on('input', function (event) {
inputCode(event)
});
},
afterRowRemoved: function (caller, rowIndex) {
//usunięcie ostatniego wiersza włącza edycje
var count = $(caller).appendGrid('getRowCount');
if (count == 0) {
odblokuj();
}
},
i18n: {
rowEmpty: 'Brak rekordów'
},
customGridButtons: {
// Use a function that create DOM element
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;
},
},
hideButtons: {
removeLast: true,
// append: true,
insert: true,
// remove : true,
moveUp: true,
moveDown: true
}
});
LoadDataFromAnalyticalAccountsList();
$('thead').removeClass('ui-widget-header');
$('td').removeClass('ui-widget-header');
$('tbody').removeClass('ui-widget-content');
$('td').removeClass('ui-widget-content');
$('tfoot').removeClass('ui-widget-header');
}
function LoadDataFromAnalyticalAccountsList() {
var action_list = $.parseJSON($("input[name='analyticalaccounts_list']").val());
if (action_list != '[]')
if (action_list.length > 0) {
$.each(action_list, function (idx2, obj2) {
$('#tableAnalyticalAccounts').appendGrid('insertRow', [{
code: obj2.code,
name: obj2.name,
}], 0);
});
}
}
function zablokuj() {
$("input[name='structureanalyticalpart[]']").attr("disabled", true);
$("#accounts_balance").attr("disabled", true);
$("#AddMore").attr("disabled", true);
$("#account_type").attr("disabled", true);
$("#account_code").attr("disabled", true);
$("button[name='delbutton']").attr("disabled",true);
}
function odblokuj() {
$("input[name='structureanalyticalpart[]']").attr("disabled", false);
$("#accounts_balance").attr("disabled", false);
$("#AddMore").attr("disabled", false);
$("#account_type").attr("disabled", false);
$("#account_code").attr("disabled", false);
$("button[name='delbutton']").attr("disabled",false);
}
function htmlspecialchars_decode(string, quote_style) {
// discuss at: http://phpjs.org/functions/htmlspecialchars_decode/
// original by: Mirek Slugen
// improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
// bugfixed by: Mateusz "loonquawl" Zalega
// bugfixed by: Onno Marsman
// bugfixed by: Brett Zamir (http://brett-zamir.me)
// bugfixed by: Brett Zamir (http://brett-zamir.me)
// input by: ReverseSyntax
// input by: Slawomir Kaniecki
// input by: Scott Cariss
// input by: Francois
// input by: Ratheous
// input by: Mailfaker (http://www.weedem.fr/)
// revised by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
// reimplemented by: Brett Zamir (http://brett-zamir.me)
// example 1: htmlspecialchars_decode("<p>this -&gt; &quot;</p>",
// 'ENT_NOQUOTES');
// returns 1: '<p>this -> &quot;</p>'
// example 2: htmlspecialchars_decode("&amp;quot;");
// returns 2: '&quot;'
var optTemp = 0,
i = 0,
noquotes = false;
if (typeof quote_style === 'undefined') {
quote_style = 2;
}
string = string.toString()
.replace(/&lt;/g, '<')
.replace(/&gt;/g, '>');
var OPTS = {
'ENT_NOQUOTES': 0,
'ENT_HTML_QUOTE_SINGLE': 1,
'ENT_HTML_QUOTE_DOUBLE': 2,
'ENT_COMPAT': 2,
'ENT_QUOTES': 3,
'ENT_IGNORE': 4
};
if (quote_style === 0) {
noquotes = true;
}
if (typeof quote_style !== 'number') { // Allow for a single string or an
// array of string flags
quote_style = [].concat(quote_style);
for (i = 0; i < quote_style.length; i++) {
// Resolve string input to bitwise e.g. 'PATHINFO_EXTENSION' becomes 4
if (OPTS[quote_style[i]] === 0) {
noquotes = true;
} else if (OPTS[quote_style[i]]) {
optTemp = optTemp | OPTS[quote_style[i]];
}
}
quote_style = optTemp;
}
if (quote_style & OPTS.ENT_HTML_QUOTE_SINGLE) {
string = string.replace(/&#0*39;/g, "'"); // PHP doesn't currently escape
// if more than one 0, but it
// should
// string = string.replace(/&apos;|&#x0*27;/g, "'"); // This would also be
// useful here, but not a part of PHP
}
if (!noquotes) {
string = string.replace(/&quot;/g, '"');
}
// Put this in last place to avoid escape being double-decoded
string = string.replace(/&amp;/g, '&');
return string;
}