diff --git a/metadata/dbms/dbms.css b/metadata/dbms/dbms.css index 8ca6c3a..99c1d26 100644 --- a/metadata/dbms/dbms.css +++ b/metadata/dbms/dbms.css @@ -1,3 +1,10 @@ +/*Переменные для настройки цветов*/ +:root{ + --header-color: #505050; + --back-color: 3a3a3a; +} + + *{ box-sizing: border-box; -moz-box-sizing: border-box; @@ -12,9 +19,10 @@ html,body padding: 0px; font-size: 14px; font-family: Arial; + background-color: #3a3a3a; } -input,textarea +input,textarea { margin: 0px 0px; } @@ -49,7 +57,7 @@ select -ms-user-select: none; /* IE 10+ */ -o-user-select: none; /* No support for these yet, use at own risk */ user-select: none; /* No support for these yet, use at own risk */ - + display: inline-block; /*display: table;*/ @@ -58,10 +66,13 @@ select text-align: center; } +/*Табличка исполняющая роль окна*/ .shadow { - box-shadow: 0 0 10px rgba(0,0,0,0.7); - } - + box-shadow: 0 0 10px rgba(255,255,255,0.7); + background-color: #3a3a3a; + color: #ffffff; +} + /* Для полей состояжих из нескольких элементов (поле с кнопочкой допустим) */ table.DBMSSimple { @@ -80,8 +91,8 @@ table.SEdit { border-collapse: collapse; border: 1px double #999999; width: 100%; - background-color: #ffffff; - border-spacing: 1px 1px; + background-color: var(--back-color); + border-spacing: 1px 1px; } table.SEdit td,table.SEdit th { padding: 1px; @@ -90,17 +101,17 @@ table.SEdit td,table.SEdit th { table.SEdit th { font-weight: bold; - background-color: rgb(218, 218, 218); + background-color: var(--header-color); } -/* For table filter data whitesmoke */ +/* For table filter data whitesmoke */ table.SFilter { - border-collapse: collapse; - width: 100%; - height: 100%; - background-color:#f1f1f1; - border-spacing: 1px 1px; + border-collapse: collapse; + width: 100%; + height: 100%; + background-color: var(--back-color); + border-spacing: 1px 1px; } table.SFilter td { @@ -108,15 +119,13 @@ table.SFilter td { border: 0px solid #999999; } - - /* For table show data */ table.SShow { border-collapse: collapse; border: 1px double #999999; width: 100%; background-color: #ffffff; - border-spacing: 1px 1px; + border-spacing: 1px 1px; } table.SShow td,table.SShow th { @@ -125,5 +134,5 @@ table.SShow td,table.SShow th { table.SShow th { font-weight: bold; - background-color: rgb(218, 218, 218); -} \ No newline at end of file + background-color: var(--header-color); +} diff --git a/metadata/dbms/editrecord.js b/metadata/dbms/editrecord.js index 23ba49b..727655b 100644 --- a/metadata/dbms/editrecord.js +++ b/metadata/dbms/editrecord.js @@ -15,7 +15,7 @@ class EdtRec this.uid=getUID(); this.win=new TWin(); - this.win.TWin(pageX-10,pageY-10); + this.win.BuildGUI(pageX-10,pageY-10); this.win.setSize("500px","150px"); this.win.setContent('
'); @@ -135,7 +135,7 @@ class EdtRec this.setPropCdata(nodeType.getAttribute("ObjectID"),record_id); let str=''; - str+=' '; + str+='
'; str+=' '; str+=' '; str+=' '; @@ -262,7 +262,7 @@ class EdtRec { rpos++; tr = document.createElement('tr'); - if (rpos%2==0) bgColor='#EEEEEE'; else bgColor='#FFFFFF'; + if (rpos%2==0) bgColor=g_rowColor1; else bgColor=g_rowColor2; tr.setAttribute("bgColor",bgColor); if(nodeProp.getAttribute("visible")=='0') tr.style.display='none'; var td1 = document.createElement('td'); @@ -338,7 +338,8 @@ class EdtRec var tObj=findNode(nodeProp, "type"); if(tObj!=null) { - var button = document.createElement('input'); + let button = document.createElement('input'); + button.className='button-secondary'; button.setAttribute("type","button"); button.setAttribute("value","..."); button.style.cssText="width:30px;font-size:9pt;margin:0px;padding:0px;"; @@ -452,6 +453,7 @@ class EdtRec newCell1.appendChild( input ); button = document.createElement('input'); + button.className='button-secondary'; button.setAttribute("type","button"); button.setAttribute("value","+"); button.setAttribute("title",_("Increase_by_1")); @@ -461,6 +463,7 @@ class EdtRec newCell2.appendChild( button ); button = document.createElement('input'); + button.className='button-secondary'; button.setAttribute("type","button"); button.setAttribute("value","-"); button.setAttribute("title",_("Decrease_by_1")); @@ -513,6 +516,7 @@ class EdtRec //cmbInp.addEventListener(IndexChangeEvent.CHANGE,onComboObjectChangeHandler); var button = document.createElement('input'); + button.className='button-secondary'; button.setAttribute("type","button"); button.setAttribute("value","..."); button.style.cssText="width:30px;font-size:9pt;margin:0px;padding:0px;height:100%;"; @@ -581,6 +585,7 @@ class EdtRec hidden.value=value; newCell1.appendChild(hidden); var button = document.createElement('input'); + button.className='button-secondary'; button.setAttribute("type","button"); button.setAttribute("value","..."); button.style.cssText="width:30px;font-size:9pt;margin:0px;padding:0px;"; @@ -649,7 +654,8 @@ class EdtRec newCell1.appendChild(input); //Button to send the file to the server - var btnSel = document.createElement('input'); + let btnSel = document.createElement('input'); + button.className='button-secondary'; btnSel.setAttribute("type","button"); btnSel.setAttribute("value","..."); btnSel.setAttribute("title",_('Upload')); @@ -657,7 +663,8 @@ class EdtRec btnSel.style.cssText="width:30px;font-size:9pt;margin:0px;padding:0px;"; newCell2.appendChild(btnSel); - var button2 = document.createElement('input'); + let button2 = document.createElement('input'); + button.className='button-secondary'; button2.setAttribute("type","button"); button2.setAttribute("value","X"); button2.setAttribute("title",_('Delete')); @@ -760,13 +767,14 @@ class EdtRec //Button apply tr = document.createElement('tr'); var td = document.createElement('td'); - td.style.cssText="padding: 5px; vertical-align: bottom; background-color: #f5f5f5;"; + td.style.cssText="padding: 5px; vertical-align: bottom;"; td.setAttribute("colspan", "2"); if (this.record_id==-1) td.innerHTML=''; tr.appendChild(td); //var td = document.createElement('td'); td.setAttribute("align","right"); button = document.createElement('input'); + button.className='button-secondary'; button.setAttribute("type","button"); button.style.cssText="margin:0px;margin-right:1px;"; button.setAttribute("value",_('Apply')); @@ -779,6 +787,7 @@ class EdtRec button = document.createElement('input'); //Button cancel button.setAttribute("type","button"); + button.className='button-secondary'; button.style.cssText="margin:0px;"; button.setAttribute("value",_('Cancel')); //button.onclick=function f_exit(this) { alert(this.win.div); } @@ -878,7 +887,7 @@ class EdtRec selObj(typeName,propname) { var win=new TWin(); - win.TWin(pageX-10,pageY-10); + win.BuildGUI(pageX-10,pageY-10); var str=''; str+='
'; @@ -1143,7 +1152,7 @@ class EdtRec htmlString+='
'; var win=new TWin(); - win.TWin(pageX-280,pageY-7); + win.BuildGUI(pageX-280,pageY-7); win.setContent(htmlString); win.setCaption(document.createTextNode(_("Selection"))); win.setParent(this.win); diff --git a/metadata/dbms/form/b_g.png b/metadata/dbms/form/b_g.png new file mode 100644 index 0000000..8424649 Binary files /dev/null and b/metadata/dbms/form/b_g.png differ diff --git a/metadata/dbms/form/b_x.png b/metadata/dbms/form/b_x.png new file mode 100644 index 0000000..19b4379 Binary files /dev/null and b/metadata/dbms/form/b_x.png differ diff --git a/metadata/dbms/login.js b/metadata/dbms/login.js index 05129e1..3d66c53 100644 --- a/metadata/dbms/login.js +++ b/metadata/dbms/login.js @@ -77,7 +77,7 @@ function TUser() if(this.win==null || this.win.closed) { this.win=new TWin(true); - this.win.TWin(10,10); + this.win.BuildGUI(10,10); this.win.setCaption(_('Authorization')); this.win.setSize("350px","200px"); @@ -230,7 +230,7 @@ function TUser() { this.showLoginForm = function() { - this.win.TWin(10,10); + this.win.BuildGUI(10,10); this.win.shadow=true; this.win.setCaption(document.createTextNode("Enter")); @@ -432,7 +432,7 @@ function TUser() function showRestoreForm() { var win=new TWin(true); - win.TWin(10,10); + win.BuildGUI(10,10); win.setCaption(_("Password_recovery")); str='
\n\ diff --git a/metadata/dbms/records.php b/metadata/dbms/records.php index b6f0f3f..2ed014b 100644 --- a/metadata/dbms/records.php +++ b/metadata/dbms/records.php @@ -46,7 +46,7 @@ function getSQLValue($t,$v) { - global $db_connstr; + global $db_connection; if($t=='object' && gettype($v)=='string'){ $t='string'; //Если id шники uuid @@ -71,7 +71,7 @@ if($v==''){ $v='NULL'; }else{ - if(strpos($db_connstr, 'pgsql')!==false) + if(strpos($db_connection, 'pgsql')!==false) $v=str_replace("'","''",$v); //так как в SQL строку вставляется else $v=str_replace('\'','\\\'',$v); //так как в SQL строку вставляется @@ -230,12 +230,12 @@ try { - if(strpos($db_connstr, 'sqlite')!==false) + if(strpos($db_connection, 'sqlite')!==false) { - $db = new PDO($db_connstr); + $db = new PDO($db_connection); }else { - $db = new PDO($db_connstr, $db_login, $db_password); + $db = new PDO($db_connection, $db_login, $db_password); } $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch (Exception $e) @@ -892,7 +892,7 @@ } catch (Exception $e) { sendError($e->getMessage()); } - if(strpos($db_connstr, 'sqlite')===false) //Для SQLite не работает rowCount() + if(strpos($db_connection, 'sqlite')===false) //Для SQLite не работает rowCount() { if($res->rowCount()!=1) sendError("Количество записей не равно одному!"); } @@ -1066,7 +1066,7 @@ }elseif($cmd==1) //Logout { //filter_input(INPUT_COOKIE, 'S_HASH', FILTER_VALIDATE_INT, array('options'=>array('default'=>-1))); - $sql='delete from '.$Schema.'_Logins where sessionid='.getSQLValue('string',$_COOKIE['GUID']).' and user_id='.getSQLValue('i4',$_SESSION['USER_ID']).';'; + $sql='delete from '.$Schema.'_Logins where sessionid='.getSQLValue('string',$_COOKIE['GUID']).' and user_id='.getSQLValue('object',$_SESSION['USER_ID']).';'; try { $db->exec($sql); } catch (Exception $e) diff --git a/metadata/dbms/showrecord.js b/metadata/dbms/showrecord.js index 5073240..d08b1e4 100644 --- a/metadata/dbms/showrecord.js +++ b/metadata/dbms/showrecord.js @@ -17,7 +17,7 @@ class SRec { this.win=null; this.rwin=null; - + this.f_State='0'; //"0" - editing, "1" - selecting a single entry, "2" - selecting a multiple record this.f_PropName=""; //If the mode f_State is 1 then f_PropName saves the name of the field for which the data is intended this.f_TypeName=""; //the name of the displayed object (type-> n attribute) @@ -33,17 +33,17 @@ class SRec this.masChBox=new Array(); //Checkboxes this.xmldoc=null; //accepted XML document (for CDATA creation) this.pagepos=0; //current data page - + this.pBarCnt=0; //Progress bar this.pBarDiv=null; //Progress bar - + this.name=""; - + this.uid=getUID(); this.request = new TRequest(this); SRec_mas[this.uid]=this; } - + applyReq(req,fn,node,xmldoc) { //alert(getXMLNodeSerialisation(node)); @@ -126,7 +126,7 @@ class SRec { //Apply the parameters to the current XML filter if there are filter settings in the parent window! if(xml===null || typeof(xml) == "undefined") return; - + if(typeof(xml) == "string"){ if(xml!="") { @@ -146,7 +146,7 @@ class SRec let str='\
\ '; + str+=' '; str+=' '; str+=' '; str+=' '; @@ -1277,10 +1281,10 @@ class TWin for(var i=0;i \ No newline at end of file +?>
\ - \ +
\ \
\
\ @@ -173,32 +173,32 @@ class SRec if(htmlElement==null || typeof(htmlElement) == "undefined") { this.win=new TWin(); - this.win.TWin(pageX-10,pageY-10); + this.win.BuildGUI(pageX-10,pageY-10); this.win.setHeight(400); //this.win.setLeftTop() - + this.win.setContent(str); this.win.obj=this; - + this.win.addResizeListener(function(obj){return function(){obj.updateSize();}}(this)); - - }else{ + + }else{ htmlElement.innerHTML=str; } document.getElementById('SRec_Add_'+this.uid).onclick=function(thiz){return function(){thiz.insertRecord();};}(this); document.getElementById('SRec_Del_'+this.uid).onclick=function(thiz){return function(){thiz.deleteRecord();};}(this); - document.getElementById('SRec_Exc_'+this.uid).onclick=function(thiz){return function(){thiz.showreport('xls');};}(this); - document.getElementById('SRec_Rfr_'+this.uid).onclick=function(thiz){return function(){thiz.appendFilter(); thiz.sendFilter(-1,0);};}(this); + document.getElementById('SRec_Exc_'+this.uid).onclick=function(thiz){return function(){thiz.showreport('xls');};}(this); + document.getElementById('SRec_Rfr_'+this.uid).onclick=function(thiz){return function(){thiz.appendFilter(); thiz.sendFilter(-1,0);};}(this); } - + //Update dimensions of the elements (the main table in absolute coordinates). updateSize() { let dv1=document.getElementById("tblSContainer_"+this.uid); let dv2=document.getElementById("tblContainer_"+this.uid); if(dv1!=null && dv2!=null) - { + { dv1.style.width = dv2.offsetWidth+"px"; dv1.style.height = dv2.offsetHeight+"px"; } @@ -235,7 +235,7 @@ class SRec setDataSelect(node) { //alert("setDataSelect = " + getXMLNodeSerialisation(node)); - + let nodeType,prop_id,prop,option,nodeProp,id,value,cdataNode; nodeType=findFirstNode(node, 'type'); prop_id=nodeType.getAttribute("pn");//Field name @@ -246,9 +246,9 @@ class SRec let nodeFilter=findNodeOnPath(this.nodeMetadata,"type/objects-list/filter"); let nodeCur=findNodeOnAttribute(nodeFilter, 'column', 'n', prop_id); if(nodeCur!=null) selector=nodeCur.getAttribute("selector"); - - //alert("nodeCur = " + getXMLNodeSerialisation(nodeCur)); - + + //alert("nodeCur = " + getXMLNodeSerialisation(nodeCur)); + /*nodeCur=nodeFilter.firstChild while(nodeCur!=null) { @@ -262,7 +262,7 @@ class SRec if(selector==="combo") //if the drop-down list { prop.innerHTML = ""; - + //Select the value for this list let val=null; let nodeFilter=findNodeOnPath(this.nodeMetadata,"type/objects-list/filter"); @@ -271,7 +271,7 @@ class SRec { if((nodeCol.nodeName==="column")&&(nodeCol.getAttribute("n")==prop_id)) { - val=getCdataValue(nodeCol); + val=getCdataValue(nodeCol); break; } nodeCol=nodeCol.nextSibling; @@ -338,7 +338,7 @@ class SRec }else if(count>1) //The item selection window is displayed. { - let htmlString=''; + let htmlString='
'; nodeProp=nodeType.firstChild i=0; while (nodeProp!=null) @@ -358,7 +358,7 @@ class SRec htmlString+='
'; let win=new TWin(); - win.TWin(pageX-10,pageY-10); + win.BuildGUI(pageX-10,pageY-10); win.setHeight(400); win.setContent(htmlString); win.setCaption(document.createTextNode(_('Selection'))); @@ -407,7 +407,7 @@ class SRec //The function to collect data from HTML fields in XML appendFilter() - { + { let nodeType=findFirstNode(this.nodeMetadata, "type"); let nodeFilter=findNodeOnPath(nodeType,"objects-list/filter"); if (nodeFilter!=null) @@ -420,15 +420,15 @@ class SRec let value = ''; let input = document.getElementById('filter_'+this.uid+'_'+columnNode.getAttribute("n")); if(input!=null) value=input.value; - + //'2016-02-27 00:00:00' if(columnNode.getAttribute("vt")=="dateTime" || columnNode.getAttribute("vt")=="date") //If field is "dateTime" then transmit in UnixTime format in second { if(value!=""){ let date = new Date(value.replace(/-/g, "/")); - value=date.getTime()/1000;// - date.getTimezoneOffset()*60; + value=date.getTime()/1000;// - date.getTimezoneOffset()*60; if(isNaN(value)) value=''; - } + } } getCdata(columnNode).nodeValue=value; //TODO do check for data type } @@ -463,12 +463,12 @@ class SRec { xs+=''; xs+=''; - xs+='\n'; + xs+='\n'; }else { xs+=''; xs+=''; - xs+='\n'; + xs+='\n'; } } nextNode=nextNode.nextSibling; @@ -477,7 +477,7 @@ class SRec xs+=''; //alert(xs); - + if(this.request.callServer(ScriptName,xs)) { this.showProgressBar(); @@ -488,7 +488,7 @@ class SRec setMetadata(node) { this.nodeMetadata=node; - this.setXMLSettings(this.f_Settings); //Appending settings to nodeMetadata + this.setXMLSettings(this.f_Settings); //Appending settings to nodeMetadata //Create GUI filter let td,tr,td1,td2; @@ -509,7 +509,7 @@ class SRec this.nodeMetadataObjList=findNode(nodeType, "objects-list"); if(this.win!=null) this.win.setWidth(this.nodeMetadataObjList.getAttribute("width")); nodeFilter=findNodeOnPath(nodeType,"objects-list/filter"); - + //let id=-1; //After loading the metadata, we request the data by sending an XML filter. @@ -543,7 +543,7 @@ class SRec td1.appendChild(table); nRow=table.insertRow(0); } - + if(row>1) { td1 = nRow.insertCell(-1); @@ -585,8 +585,8 @@ class SRec input.setAttribute("name",columnNode.getAttribute("n")); if(columnNode.getAttribute("size")!=null) input.setAttribute("maxlength",columnNode.getAttribute("size"),0); - - input.setAttribute("value",isNaN(value) || value=='' ? '' : (new Date(value*1000)).toString()); + + input.setAttribute("value",isNaN(value) || value=='' ? '' : (new Date(value*1000)).toString()); input.setAttribute("id",'filter_'+this.uid+'_'+columnNode.getAttribute("n")); newCell1.appendChild( input ); @@ -736,6 +736,7 @@ class SRec newCell1.appendChild( input ); let button = document.createElement('input'); + button.className='button-secondary'; button.setAttribute("type","button"); button.setAttribute("value","+"); button.style.cssText="height:100%;width:22px;margin:0px;padding:0px;"; @@ -743,6 +744,7 @@ class SRec button.onclick=function(inp){return function(){ inp.value=getIntVal(inp.value)+1; }}(input); button = document.createElement('input'); + button.className='button-secondary'; button.setAttribute("type","button"); button.setAttribute("value","-"); button.style.cssText="height:100%;width:22px;margin:0px;padding:0px;"; @@ -788,11 +790,12 @@ class SRec //select.setAttribute("name",columnNode.getAttribute("n")) select.setAttribute("value",value); select.setAttribute("id",'filter_'+this.uid+'_'+columnNode.getAttribute("n")); - select.onchange = function(thiz,node){ return function(){ thiz.onComboObjectChangeHandler(node);}; }(this,columnNode); - + select.onchange = function(thiz,node){ return function(){ thiz.onComboObjectChangeHandler(node);}; }(this,columnNode); + newCell1.appendChild(select); let button = document.createElement('input'); + button.className='button-secondary'; button.setAttribute("type","button"); button.setAttribute("value","..."); button.style.cssText="display:block; box-sizing: border-box; margin: 0px; padding: 0px;width:100%; height:100%; font-size: 9pt;"; @@ -807,8 +810,8 @@ class SRec nTypeF.setAttribute("c",fc); nTypeF.setAttribute("pn",columnNode.getAttribute("n")); nTypeF.setAttribute("fn",columnNode.getAttribute("n")); - - let strXMLF = getXMLNodeSerialisation(nTypeF); + + let strXMLF = getXMLNodeSerialisation(nTypeF); let nColF=nodeFilter.firstChild; while(nColF != null) { @@ -816,7 +819,7 @@ class SRec { let valF=getCdataValue(nColF); strXMLF=strXMLF.replace('${'+nColF.getAttribute('n')+'}', valF); - } + } nColF = nColF.nextSibling; } strXMLF=''+strXMLF+''; @@ -826,7 +829,7 @@ class SRec this.showProgressBar(); } }else - { + { if(this.request.callServer(ScriptName,'',true)) { this.showProgressBar(); @@ -861,6 +864,7 @@ class SRec newCell1.appendChild(hidden); let button = document.createElement('input'); + button.className='button-secondary'; button.setAttribute("type","button"); button.setAttribute("value","..."); button.style.cssText="width:30px; height:100%;margin: 0px; padding: 0px;"; @@ -895,6 +899,7 @@ class SRec td.setAttribute("align","right"); let button = document.createElement('input'); + button.className='button-secondary'; button.setAttribute("type","button"); button.setAttribute("value",_("Filtering")); button.setAttribute("id","btnfilter_"+this.uid); @@ -928,15 +933,15 @@ class SRec if (this.win!=null && this.win.getTop()!=40) this.win.setCenter(); - + //Building the columns of the data table this.buildHead(); - + //this.sendFilter(id,0); this.sendFilter(-1,0); } - /** The event occurs when you change the list of the referenced to "vt = Object" and if there is a dependency, then the field is updated. + /** The event occurs when you change the list of the referenced to "vt = Object" and if there is a dependency, then the field is updated. */ onComboObjectChangeHandler(node) { @@ -975,7 +980,7 @@ class SRec } nColF = nColF.nextSibling; } - + strXMLF=''+strXMLF+''; if(this.request.callServer(ScriptName,strXMLF,true)) { @@ -988,7 +993,7 @@ class SRec } } } - + //We ask the server for a list of values almost like a drop-down list. //typeName - The name of the object (TODO if the current is the variable f TypeName) //name - the name of the column for selecting the values (must match the name of any filter in typeName) @@ -1010,7 +1015,7 @@ class SRec this.sendFilter(-1,0); } } - + //Building a table header for the data buildHead() { @@ -1019,7 +1024,7 @@ class SRec let thetable = document.getElementById('thetable'+this.uid); delChild(thetable.tHead); let tr=document.createElement('tr'); - tr.style.cssText='background-color: #dadada;'; + tr.style.cssText='background-color: var(--header-color);'; let th=document.createElement('th'); th.appendChild( document.createTextNode('№')); th.style.cssText='width: 1%;'; @@ -1028,8 +1033,8 @@ class SRec th.appendChild( document.createTextNode('Del')); th.title = _('Invert_selection'); th.style.cssText='width: 1%; cursor: pointer; text-decoration: underline;'; - th.onmouseover=function(){ this.style.backgroundColor='#C2D7FC'; }; - th.onmouseout=function(){ this.style.backgroundColor='#dadada'; }; + th.onmouseover=function(){ this.style.backgroundColor=g_rowColor2; }; + th.onmouseout=function(){ this.style.backgroundColor='var(--header-color)'; }; th.onclick=function(thiz){return function(){ for(let i=0;i=0) //Color from Result { bgColorT=findNodeOnNum(nodeRecord,"#cdata-section",nColor).nodeValue; @@ -1172,7 +1177,7 @@ class SRec tr.appendChild(td); //CheckBuck to delete records - td = document.createElement('td'); + td = document.createElement('td'); td.style.cssText="text-align: center;"; if(!(this.f_pD!="1" || nodeRecord.getAttribute("a").indexOf("d")==-1)) { @@ -1261,7 +1266,7 @@ class SRec } return null; } - + //Name the column number getColNumOnName(name) { @@ -1363,7 +1368,7 @@ class SRec let tr=document.getElementById(id+'_'+this.uid); if (tr==null) - { + { this.insertRows(node,false); //If not then insert }else { @@ -1380,7 +1385,7 @@ class SRec while(tr.childNodes[jj+2].childNodes[0]) tr.childNodes[jj+2].removeChild(tr.childNodes[jj+2].childNodes[0]); tr.childNodes[jj+2].appendChild(document.createTextNode(cdataNode.nodeValue)); - + jj++; } ii++; @@ -1429,16 +1434,16 @@ class SRec showreport(ext) { if(this.rwin!=null) this.rwin.Close(); - + this.rwin=new TWin(); - this.rwin.TWin(pageX-10,pageY-10); + this.rwin.BuildGUI(pageX-10,pageY-10); this.rwin.setParent(this.win); this.rwin.setSize(280,130); this.rwin.setCaption(_('Report')); this.rwin.setContent('
'+_('Preparing_of_report')+'
'); - + this.appendFilter(); - //Call data from server + //Call data from server let nodeType=findFirstNode(this.nodeMetadata, "type"); let typename=nodeType.getAttribute("n"); let nodeFilter=findNodeOnPath(nodeType,"objects-list/filter"); @@ -1454,11 +1459,11 @@ class SRec { xs+=''; xs+=''; - xs+='\n'; + xs+='\n'; } nextNode=nextNode.nextSibling; } - xs+=' \n'; + xs+=' \n'; xs+=' \n'; xs+=''; if(this.request.callServer(ScriptName,xs)) @@ -1469,7 +1474,7 @@ class SRec chp(page) { - //The current filter values are sent to the script to form a page change + //The current filter values are sent to the script to form a page change document.forms.filter.xml_page.value=page; document.forms.filter.submit(); } @@ -1511,13 +1516,13 @@ class SRec if (confirm(_("Are_you_sure_you_want_to_delete_the_entries")+'?')) { for(let i=0;i',true)) { this.showProgressBar(); - } + } } } } @@ -1527,8 +1532,8 @@ class SRec //Update HTML data after update record ApplyDelRec(node) { - nodeType=findFirstNode(node, "type"); - typeName=nodeType.getAttribute("n"); + let nodeType=findFirstNode(node, "type"); + let typeName=nodeType.getAttribute("n"); id=nodeType.getAttribute("id"); deleteHTML(id+'_'+this.uid); //Rebuild sequential numbering of rows (first column) @@ -1540,7 +1545,7 @@ class SRec theTable.rows[i].cells[0].appendChild(document.createTextNode(i)); } } - + callData(typeName,settings) { this.f_TypeName=typeName; @@ -1557,12 +1562,12 @@ class SRec //Convert XML to array function nodeToTable(node) { - let result=new Array(); - + let result=new Array(); + let nType=findFirstNode(node, "type"); //Read name fields let nList=findFirstNode(node, "objects-list"); - let cols=new Array(); + let cols=new Array(); let pos=0; let nCols=nList.firstChild; while(nCols != null) @@ -1583,7 +1588,7 @@ function nodeToTable(node) { result[pos]['id']=nRecord.getAttribute("id"); let i=0; //column number - + cdataNode = nRecord.firstChild; while (cdataNode!=null) { @@ -1601,4 +1606,4 @@ function nodeToTable(node) } return result; -} \ No newline at end of file +} diff --git a/metadata/dbms/tabs.js b/metadata/dbms/tabs.js index 7eff280..9faa1f5 100644 --- a/metadata/dbms/tabs.js +++ b/metadata/dbms/tabs.js @@ -1,7 +1,13 @@ class tcTab { - constructor(caption){ + constructor(config){ + + this.bColor=""; + + + if(typeof config.float == 'undefined'){ config.float='left'; } + this.id=0; this.par=null; this.sel=false; @@ -10,12 +16,12 @@ class tcTab //Сам таб на который нажимаем (ушко) this.div=document.createElement('div') - this.div.style.cssText='position: relative; top: 1px; cursor: pointer; float: left; border: 1px solid #b3b3b3; border-radius: 5px 5px 0px 0px; padding: 1px; padding-right: 4px; padding-left: 4px; margin-left: 2px; margin-right: 2px;' - this.div.style.background = '#dfdfdf'; - this.div.innerHTML=caption; + this.div.style.cssText='position: relative; top: 1px; cursor: pointer; float: '+config.float+'; border: 1px solid #b3b3b3; border-radius: 5px 5px 0px 0px; padding: 1px; padding-right: 4px; padding-left: 4px; margin-left: 2px; margin-right: 2px;' + this.div.style.background = g_backColor1; + this.div.innerHTML=config.caption; - this.div.onmouseover=function(obj){return function(){ if(!obj.sel) obj.div.style.background = '#f0f0f0';}}(this); - this.div.onmouseout=function(obj){return function(){ if(!obj.sel) obj.div.style.background = '#dfdfdf' }}(this); + this.div.onmouseover=function(obj){return function(){ if(!obj.sel) obj.div.style.background = g_rowColor1; }}(this); + this.div.onmouseout=function(obj){return function(){ if(!obj.sel) obj.div.style.background = g_backColor1; }}(this); this.div.onclick=function(obj){return function(){ obj.setSel(); if(obj.href!='') goToURL(obj.href); }}(this) } @@ -44,12 +50,12 @@ class tcTab setSel() { for(let i=0;i'; - str+='