Delete types

This commit is contained in:
2021-09-13 20:31:56 +06:00
parent f0fa97a2ff
commit e1a4f954fd
80 changed files with 692 additions and 641 deletions

View File

@ -125,7 +125,7 @@ function showProgressBar(obj,img_id)
let pBarDiv=document.createElement('div');
pBarDiv.id=obj.id+'_pBar';
pBarDiv.style.cssText='position: absolute; left: 0px; top: 0px; z-index: 1; background-color: rgba(0,0,0,0.5); width:100%; height: 100%;';
pBarDiv.innerHTML='<table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0"><tr><td align="center" style="vertical-align: middle;"><img src="../resources/metadata/dbms/images/loading'+img_id+'.gif" alt=""></td></tr></table>';
pBarDiv.innerHTML='<table width="100%" height="100%" cellpadding="0" cellspacing="0"><tr><td align="center" style="vertical-align: middle;"><img src="../resources/metadata/dbms/images/loading'+img_id+'.gif" alt=""></td></tr></table>';
obj.appendChild(pBarDiv);
};
@ -192,7 +192,7 @@ function alert2(title,text,okFunc=null)
win.BuildGUI(10,10);
win.setCaption(document.createTextNode(title));
let html='\n\
<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; height: 100%;">\n\
<table cellpadding="0" cellspacing="0" style="width: 100%; height: 100%;">\n\
<tr>\n\
<td colspan="2" style="text-align: center; vertical-align: middle;">'+text+'</td>\n\
</tr>\n\
@ -219,7 +219,7 @@ function confirm2(title,text,okFunc,cancelFunc)
win.BuildGUI(10,10);
win.setCaption(document.createTextNode(title));
let html='\n\
<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; height: 100%;">\n\
<table cellpadding="0" cellspacing="0" style="width: 100%; height: 100%;">\n\
<tr style="width: 100%;">\n\
<td colspan="3" style="text-align: center; vertical-align: middle; width: 100%;">'+text+'</td>\n\
</tr>\n\
@ -326,12 +326,15 @@ function validateNumber(myEvent,decimal) {
//Добавить предшествующие нули к цифре
function pad(number, length)
{
var str = '' + number;
let str = '' + number;
while (str.length < length)
{ str = '0' + str;
}
return str;
}
//Добавить дней к дате
function addDays(date, n)
{
@ -469,7 +472,7 @@ function eraseCookies()
function move_me(e,win)
{
var elem=win.div;
let elem=win.div;
if(!e) e = window.event;
win.dx=parseInt(elem.style.left)-(e.pageX || e.x);
win.dy=parseInt(elem.style.top)-(e.pageY || e.y);
@ -478,8 +481,8 @@ function move_me(e,win)
};
document.onmousemove = function(e) {
if(!e) e = window.event;
var x2 = e.pageX || e.x;
var y2 = e.pageY || e.y;
let x2 = e.pageX || e.x;
let y2 = e.pageY || e.y;
elem.style.top = win.dy + y2+'px';
if(parseInt(elem.style.top)<0) elem.style.top='0px';
elem.style.left = win.dx + x2+'px';
@ -494,7 +497,7 @@ function move_me(e,win)
function createImg(src,w,h)
{
var img=new Image();
let img=new Image();
if ((/MSIE (5\.5|6).+Win/.test(navigator.userAgent))&&(/\.png$/.test(src)))
{
img.style.cssText="height:"+h+"; width:"+w+"; background:none; filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+src+"' ,sizingMethod='scale');";
@ -514,7 +517,7 @@ function fixPNG(element)
{
if (/MSIE (5\.5|6).+Win/.test(navigator.userAgent))
{
var src;
let src;
if (element.tagName=='IMG')
{
if (/\.png$/.test(element.src))
@ -632,10 +635,10 @@ function getParam(sParamName,win)
//утилитарная функция из-за различий IE и FF
function getXMLNodeSerialisation(xmlNode)
{
var text = null;
let text = null;
try
{
var serializer = new XMLSerializer(); // Gecko-based browsers, Safari, Opera.
let serializer = new XMLSerializer(); // Gecko-based browsers, Safari, Opera.
text = serializer.serializeToString(xmlNode);
}
catch (e)
@ -671,7 +674,7 @@ function createRequestObject()
//создать DOMParser
function CreateXMLDOC(xmlString)
{
var xml=null;
let xml=null;
if (window.ActiveXObject)
{
xml = new ActiveXObject("MSXML2.DOMDocument");
@ -679,7 +682,7 @@ function CreateXMLDOC(xmlString)
}
else if(document.implementation)
{
var parser = new DOMParser();
let parser = new DOMParser();
xml = parser.parseFromString(xmlString,"text/xml");
}
return xml
@ -689,7 +692,7 @@ function findNode(node, nodename, n)
{
if (typeof n == "undefined") n = 0;
if(node==null) return null;
var nextNode = node.firstChild;
let nextNode = node.firstChild;
while (nextNode != null)
{
if(nextNode.nodeName.toLowerCase()==nodename.toLowerCase()) return nextNode;
@ -702,8 +705,8 @@ function findNodeOnNum(node,nodename,n)
{
if (typeof n == "undefined") n = 0;
if(node==null) return null;
var nextNode = node.firstChild;
var i=0
let nextNode = node.firstChild;
let i=0
while (nextNode != null)
{
if(nextNode.nodeName.toLowerCase()==nodename.toLowerCase())
@ -719,7 +722,7 @@ function findNodeOnNum(node,nodename,n)
function findNodeOnAttribute(node, nodename,Attribute,val)
{
if(node==null) return null;
var n = node.firstChild;
let n = node.firstChild;
while (n != null)
{
if((n.nodeName.toLowerCase()==nodename.toLowerCase())&&(n.getAttribute(Attribute)==val)) {
@ -732,8 +735,8 @@ function findNodeOnAttribute(node, nodename,Attribute,val)
//Вернуть номер узла по атрибуту среди себеподобных (нумерация с 0)
function findNumNodeOnAttribute(node, nodename,Attribute,val)
{ if(node==null) return -1;
var i=0;
var n = node.firstChild;
let i=0;
let n = node.firstChild;
while (n != null)
{if(n.nodeName.toLowerCase()==nodename.toLowerCase())
{if(n.getAttribute(Attribute)==val) return i;
@ -748,8 +751,8 @@ function findNumNodeOnAttribute(node, nodename,Attribute,val)
function findFirstNode(node, nodename)
{
if(node==null) return null;
var mas=new Array();
var pos=0;
let mas=new Array();
let pos=0;
mas[pos] = node.firstChild;
while (mas[pos] != null)
{
@ -787,8 +790,8 @@ function findFirstNode(node, nodename)
function findFirstNodeOnAttribute(node, nodename,Attribute,val)
{
if(node==null) return null;
var mas=new Array();
var pos=0;
let mas=new Array();
let pos=0;
mas[pos] = node.firstChild;
while (mas[pos] != null)
{
@ -826,8 +829,8 @@ function findFirstNodeOnAttribute(node, nodename,Attribute,val)
function findNodeOnPath(node, path)
{
if(node==null) return null;
var Params = path.split("/");
for (var i=0;i<Params.length;i++)
let Params = path.split("/");
for (let i=0;i<Params.length;i++)
{
if(node==null) return null;
node=findNode(node,Params[i]);
@ -838,7 +841,7 @@ function findNodeOnPath(node, path)
function getCdata(node,n)
{
if(node==null) return null;
var r=findNodeOnNum(node,'#cdata-section',n);
let r=findNodeOnNum(node,'#cdata-section',n);
if(r==null)
{
r=node.ownerDocument.createCDATASection("");
@ -850,7 +853,7 @@ function getCdata(node,n)
function getCdataValue(node,n)
{
if(node==null) return '';
var r=findNodeOnNum(node,'#cdata-section',n);
let r=findNodeOnNum(node,'#cdata-section',n);
if(r==null) return '';
return r.nodeValue;
}
@ -870,7 +873,7 @@ function deleteHTML(obj)
obj=document.getElementById(obj);
if(obj!=null)
{
var parent=obj.parentNode;
let parent=obj.parentNode;
if(parent!=null) parent.removeChild(obj);
return true;
}
@ -907,10 +910,10 @@ function applyNodeToNode(first, second, name)
return;
}
//Если есть совпадающие узлы то передаём в рекурсию если нет то просто копируем
var fn=first.firstChild;
let fn=first.firstChild;
while (fn !== null)
{
var sn=null;
let sn=null;
if(fn.nodeName!=="#text" && fn.nodeName!=="#cdata-section" && fn.nodeName!=="#comment"){ //потому что для этих getAttribute вызывает ошибку
sn=findNodeOnAttribute(second,fn.nodeName,name,fn.getAttribute(name));
}
@ -918,7 +921,7 @@ function applyNodeToNode(first, second, name)
if(sn!==null) //Если по имени атрибуту совпали узлы
{
//Переписываем значения атрибутов из первого второму, если их нет то создаются автоматом
for(i=0;i<fn.attributes.length;i++)
for(let i=0;i<fn.attributes.length;i++)
{ sn.setAttribute(fn.attributes[i].nodeName,fn.attributes[i].value);
}
applyNodeToNode(fn,sn,name); //В рекурсию
@ -954,7 +957,7 @@ function replaseTextInCDATA(node,oldStr,newStr)
{
if(node===null || oldStr===null || newStr===null) return;
var fn=node.firstChild;
let fn=node.firstChild;
while (fn !== null)
{
if(fn.nodeName=="#cdata-section")
@ -984,7 +987,7 @@ class TRequest
callServer(url,xmlString)
{
var call=new myXMLHttpRequest(this);
let call=new myXMLHttpRequest(this);
return call.callServer(url,xmlString);
}
@ -998,18 +1001,18 @@ class TRequest
xmlHttpRequest.responseXML=CreateXMLDOC(xmlHttpRequest.responseText);
//загрузился xml документ начинаем его разбирать (по id функции в документе)
var xmldoc = xmlHttpRequest.responseXML;
let xmldoc = xmlHttpRequest.responseXML;
if(xmldoc==null){
alert2(trt('Alert'),trt('Wrong_XML_document')+"!\nXML=("+xmlHttpRequest.responseText+')\nURL=('+url+')\nxmlString=('+xmlString+')');
return;
}
var node = xmldoc.documentElement;
let node = xmldoc.documentElement;
if((node==null)||(node.getAttribute("fn")==null)) alert(trt('Error')+"\n"+trt('No_data')+"!\n"+xmlHttpRequest.responseText);
else
{
//alert("XML=\n"+getXMLNodeSerialisation(node));
var fn = node.getAttribute("fn");
let fn = node.getAttribute("fn");
if(this.winObj!=null)
{
//this.winObj.alert("Принятый браузером XML=\n"+getXMLNodeSerialisation(node));
@ -1182,20 +1185,21 @@ class TWin
if(this.disableClosing)
return;
//Переместил перед удалением компонент так как бывает нужно поработать с ними перед удалением
if(this.onClose!=null)
{
this.onClose();
}
this.hide(true);
this.setParent(null);
for(var i=0;i<this.childs.length;i++) if(this.childs[i]!=null) this.childs[i].parent=null
for(let i=0;i<this.childs.length;i++) if(this.childs[i]!=null) this.childs[i].parent=null
//??? зачем коментил (пояснение не понятное)? раскоментил потому что после пересоздания формы HTML id сохранялись (Вот непонятный комент: Закоментил потому что в магазине могут закрыть окно а оно больше не появится...)
if(this.div.parentNode!=null) this.div.parentNode.removeChild(this.div);
if(this.divsh.parentNode!=null) this.divsh.parentNode.removeChild(this.divsh);
this.closed=true;
if(this.onClose!=null)
{
this.onClose();
}
};
//Типа конструктор создать окно с заданой позицией
@ -1203,7 +1207,7 @@ class TWin
{
this.tWinId=Wins.add(this);
/*
var hd='';
let hd='';
hd+='<table style="width: 100%;">';
hd+=' <tr>';
hd+=' <td style="vertical-align:bottom;cursor:move;" id="TWin_H1_'+this.tWinId+'"><img src="../metadata/dbms/form/t1.gif" style="width: 20px; height: 20px; display: block;" alt="" border="0px" draggable="false"/></td>';
@ -1217,7 +1221,7 @@ class TWin
hd+=' </tr>';
hd+='</table>';
var str='';
let str='';
str+='<table id="TWin_TBL_'+this.tWinId+'" border="0px" style="width: 100%; height: 100%;">';
str+=' <tr id="TWin_H0_'+this.tWinId+'"><td colspan=3>'+hd+'</td></tr>';
str+=' <tr>';
@ -1238,7 +1242,7 @@ class TWin
str+='</table>';
*/
/*
var str='';
let str='';
str+='<table id="TWin_TBL_'+this.tWinId+'" class="TWin">';
str+=' <tr id="TWin_H0_'+this.tWinId+'" style="border-bottom: 1px solid #b3b3b3;"><td></td><td><table style="width: 100%; height: 29px;"><tr><td id="TWin_Ca_'+this.tWinId+'" style="vertical-align: middle; cursor: move; font-weight: bold; white-space: nowrap;"></td><td style="width: 10px; vertical-align: middle;"><img src="../resources/metadata/dbms/form/x.gif" id="TWin_CL_'+this.tWinId+'" style="cursor:pointer;"></td></tr></table></td><td></td></tr>';
str+=' <tr>';
@ -1267,7 +1271,7 @@ class TWin
}
let str='';
str+='<table id="TWin_TBL_'+this.tWinId+'" class="shadow" style="width: 100%; height: 100%; border: 1px solid #000000;">';
str+='<table id="TWin_TBL_'+this.tWinId+'" class="DBMSShadow" style="width: 100%; height: 100%; border: 1px solid #000000;">';
str+=' <tr id="TWin_H0_'+this.tWinId+'" style="background: url(../resources/metadata/dbms/form/'+imgB+') repeat-x;"><td></td><td><table style="width: 100%; height: 29px;"><tr><td id="TWin_Ca_'+this.tWinId+'" style="vertical-align: middle; cursor: move; font-weight: bold; white-space: nowrap;"></td><td style="width: 10px; vertical-align: middle;">'+(this.disableClosing ? '' : '<img src="../resources/metadata/dbms/form/'+imgX+'" id="TWin_CL_'+this.tWinId+'" style="cursor:pointer;padding-right: 5px;">')+'</td></tr></table></td><td></td></tr>';
str+=' <tr>';
str+=' <td style="width: 5px; height: 5px;'+(!this.dialog ? ' cursor:nw-resize;' : '')+'" id="TWin_TL_'+this.tWinId+'"><img src="../resources/metadata/dbms/form/5.gif" alt="" style="display: block;" border="0px" draggable="false"></td>';
@ -1392,8 +1396,8 @@ class TWin
//В центр видимой части экрана
setCenter()
{
var scrollLeft = window.pageXOffset || document.documentElement.scrollLeft;
var scrollTop = window.pageYOffset || document.documentElement.scrollTop;
let scrollLeft = window.pageXOffset || document.documentElement.scrollLeft;
let scrollTop = window.pageYOffset || document.documentElement.scrollTop;
this.div.style.left=(scrollLeft+((document.documentElement.clientWidth || document.body.clientWidth)-parseInt(this.div.style.width))/2)+"px"
this.div.style.top=(scrollTop+((document.documentElement.clientHeight || document.body.clientHeight)-parseInt(this.div.style.height))/2)+"px"
@ -1533,7 +1537,7 @@ class TWin
this.pBarDiv=document.createElement('div');
this.pBarDiv.style.cssText='position: absolute; left: 0px; top: 0px; z-index: 1; width:100%; height: 100%; margin-top:30px; padding-bottom:30px;';
this.pBarDiv.innerHTML='<table style="background-color: rgba(0,0,0,0.5);" width="100%" height="100%" border="0" cellpadding="0" cellspacing="0"><tr><td align="center" style="vertical-align: middle;"><img src="../resources/metadata/dbms/images/'+img+'" alt=""></td></tr></table>';
this.pBarDiv.innerHTML='<table style="background-color: rgba(0,0,0,0.5);" width="100%" height="100%" cellpadding="0" cellspacing="0"><tr><td align="center" style="vertical-align: middle;"><img src="../resources/metadata/dbms/images/'+img+'" alt=""></td></tr></table>';
//var eDiv=document.getElementById('eDiv'+this.uid);
this.div.appendChild(this.pBarDiv);
@ -1653,30 +1657,34 @@ function getIntVal(str)
else return parseInt(rez)
}
//Аналог PHP функции форматирования чисел
function number_format (number, decimals, dec_point, thousands_sep)
//Аналог PHP функции форматирования чисел (для разделения на десятки и сотни)
function number_format (number, decimals, dec_point, thousands_sep)
{
number = (number + '').replace(/[^0-9+\-Ee.]/g, '');
var n = !isFinite(+number) ? 0 : +number,
prec = !isFinite(+decimals) ? 0 : Math.abs(decimals),
sep = (typeof thousands_sep === 'undefined') ? ',' : thousands_sep,
dec = (typeof dec_point === 'undefined') ? '.' : dec_point,
s = '',
toFixedFix = function (n, prec) {
var k = Math.pow(10, prec);
return '' + Math.round(n * k) / k;
};
// Fix for IE parseFloat(0.55).toFixed(0) = 0;
s = (prec ? toFixedFix(n, prec) : '' + Math.round(n)).split('.');
if (s[0].length > 3) {
s[0] = s[0].replace(/\B(?=(?:\d{3})+(?!\d))/g, sep);
}
if ((s[1] || '').length < prec) {
s[1] = s[1] || '';
s[1] += new Array(prec - s[1].length + 1).join('0');
}
return s.join(dec);
number = (number + '').replace(/[^0-9+\-Ee.]/g, '');
let n = !isFinite(+number) ? 0 : +number;
let prec = !isFinite(+decimals) ? 0 : Math.abs(decimals);
let sep = (typeof thousands_sep === 'undefined') ? ',' : thousands_sep;
let dec = (typeof dec_point === 'undefined') ? '.' : dec_point;
let s = '';
let toFixedFix = function (n, prec) {
let k = Math.pow(10, prec);
return '' + Math.round(n * k) / k;
};
// Fix for IE parseFloat(0.55).toFixed(0) = 0;
s = (prec ? toFixedFix(n, prec) : '' + Math.round(n)).split('.');
if (s[0].length > 3) {
s[0] = s[0].replace(/\B(?=(?:\d{3})+(?!\d))/g, sep);
}
if ((s[1] || '').length < prec) {
s[1] = s[1] || '';
s[1] += new Array(prec - s[1].length + 1).join('0');
}
return s.join(dec);
}
/*
function number_format( number, decimals, dec_point, thousands_sep )
{ // Format a number with grouped thousands