X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=js%2Finserts.js;h=156882bf27891c43a254568ea6911568940928a3;hb=3dc7f60a71b28453a8318c1d4b23b94a090f2171;hp=a639b2cc3ed623b6f968b856a4a97bc87a42b16d;hpb=73f7e2f83657966f999078917cf9404ec5d65fc3;p=fa-stable.git diff --git a/js/inserts.js b/js/inserts.js index a639b2cc..156882bf 100644 --- a/js/inserts.js +++ b/js/inserts.js @@ -1,348 +1,409 @@ -//ajax transfer progress indicator -var starttabs = new Array(); -var autoload = new Array(); -var onload_script = "" -var loadstatustext=" Requesting content..." -var loadedobjects="" - -function Querystring(qs) { // optionally pass a querystring to parse - this.params = new Object() - this.get=Querystring_get - this.set=Querystring_set - this.href=window.location.pathname - this.url=Querystring_url - - if (qs == null) - qs=location.search.substring(1,location.search.length) - - if (qs.length == 0) return - -// Turn back to -// See: http://www.w3.org/TR/REC-html40/interact/forms.html#h-17.13.4.1 - qs = qs.replace(/\+/g, ' ') - var args = qs.split('&') // parse out name/value pairs separated via & - -// split out each name=value pair - for (var i=0;i'+msg } -function ajaxloader(url,vars,div) { - var container = document.getElementById(div) - var callback=function(response,headers,context) { - container.innerHTML=response; - Behaviour.apply(); - } - debug(url) - container.innerHTML=loadstatustext - ajaxCaller.postForPlainText(url,vars,callback) +function progbar() { + box = document.getElementById('msgbox'); + box.innerHTML= "
" + +"
" + +""
+		+user.loadtxt+"

"; + box.style.display = 'block'; } -function loadobjs(revattribute){ -if (revattribute!=null && revattribute!=""){ //if "rev" attribute is defined (load external .js or .css files) -var objectlist=revattribute.split(/\s*,\s*/) //split the files and store as array -for (var i=0; i=0) { + var len = select.length; + var byid = this.className=='combo'; + var ac = this.value.toUpperCase(); + select.options[select.selectedIndex].selected = false; + for (i = 0; i < len; i++) { + var txt = byid ? select.options[i].value : select.options[i].text; + if (txt.toUpperCase().indexOf(ac) >= 0) { + select.options[i].selected = true; + break; + } + } + } + }; + e.onkeydown = function(ev) { + ev = ev||window.event; + key = ev.keyCode||ev.which; + if(key == 13) { + this.blur(); + return false; + } + } } -function _settabs(tab) { -var ulist=tab.getElementsByTagName("li") //array containing the LI elements within UL -for (var x=0; x=0) { + var opt = s.options[s.selectedIndex]; + if(box) { + box.value = byid ? opt.value : opt.text; + box.setAttribute('_last', box.value); + } + } } -function _TableRowSelector(table,row) { - var sels = table.getAttribute('selector').split(',') // tablica selektorów - var cols = table.getElementsByTagName('th') //identyfikatory kolumn - var colvals = row.getElementsByTagName("td") - selector ='' - for(s=0; s=0) { + var sname = '_'+s.name+'_update'; + var update = document.getElementsByName(sname)[0]; + if(update) { + JsHttpRequest.request(update); + } } - } - return selector; -} + return true; + } + e.onkeydown = function(event) { + event = event||window.event; + key = event.keyCode||event.which; + var box = document.getElementsByName(this.getAttribute('rel'))[0]; + if (box && key == 32 && this.className == 'combo2') { + this.style.display = 'none'; + box.style.display = 'inline'; + box.value=''; + setFocus(box); + return false; + } + if (this.getAttribute('aspect') == 'editable' && key==115) { + // F4: call related database editor - not available in non-js fallback mode + JsHttpRequest.request('_'+this.name+'_editor', this.form); + return false; // prevent default binding + // TODO: stopPropagation when needed + } + } +} + /* - Ajax elements behaviour definitions + Behaviour definitions */ var inserts = { - 'div.ajax-component': function(element) { // automatic ajax component init - if(element.innerHTML=='') { - autoload.push(element.id) - } + 'form': function(e) { + e.onkeydown = function(ev) { + ev = ev||window.event; + key = ev.keyCode||ev.which; + if((ev.ctrlKey && key == 13) || key == 27) { + ev.cancelBubble = true; + if(ev.stopPropagation) ev.stopPropagation(); + // activate submit/escape form + for (var i=0; i47 && key<58) || (key>64 && key<91))) { + var n = _hotkeys.focus; + var l = document.links; + var cnt = l.length; + key = String.fromCharCode(key); + for (var i=0; i=0) { + var link = document.links[_hotkeys.focus]; + if (link.target=='_blank') { +// window.open(link.href,'','toolbar=no,scrollbar=no,resizable=yes,menubar=no,width=900,height=500'); + openWindow(link.href,'_blank'); + } else + window.location = link.href; + } + } + return stopEv(ev); + } + return true; + } } -); + +Behaviour.register(inserts); + +Behaviour.addLoadEvent(setFocus); +Behaviour.addLoadEvent(setHotKeys);