This commit is contained in:
2020-07-30 13:32:25 +06:00
14 changed files with 441 additions and 240 deletions

View File

@ -1,5 +1,41 @@
//Copyright (C) Ivanov I.M. irigm@mail.ru
//Расширить плитку чтобы она занимала всю штртну области
function resizeDivTile(parent,minWidth)
{
if(typeof parent == 'string') parent=document.getElementById(parent);
if(parent==null) return;
var margin=2; //С права и слева по одному пикселю то получается два
var dx=Math.floor(parent.offsetWidth/(minWidth+margin));
//console.log("parent.offsetWidth="+parent.offsetWidth+" minWidth="+minWidth+" margin="+margin+" dx="+dx);
var addW=0;
for(var i=0;i<minWidth+margin+2;i++)
{
if(dx>=parent.offsetWidth/(minWidth+margin+i))
{
addW=i-1;
console.log("addW="+addW+" parent.offsetWidth/(minWidth+margin+i)="+(parent.offsetWidth/(minWidth+margin+i)));
break;
}
}
for(var i = 0; i < parent.children.length; i++) {
//console.log(parent.children[i].tagName);
if(parent.children[i].tagName.toUpperCase()=='DIV')
{
parent.children[i].style.width = (minWidth+addW)+"px";
}
}
//console.log("minWidth+addW="+(minWidth+addW));
//Центрирую, путем добавления пространства с права
parent.style.paddingLeft = Math.floor((parent.offsetWidth-(dx*(minWidth+margin+addW)))/2) + "px";
//console.log("parent.style.paddingLeft="+parent.style.paddingLeft+" calc="+(Math.floor((parent.offsetWidth-(dx*(minWidth+margin+addW)))/2)));
}
//Получить уникальный идентификатор из глобальной переменной
var UID=0;
function getUID()
@ -999,6 +1035,7 @@ class TWin
constructor(dialog)
{
this.dialog=dialog; //Показывать окно как диалог (без возможности изменения размеров)
this.disableClosing=false;
this.closed=false; //Закрыли (те. удалили из родителя и детей и из DOM)
this.onClose=null; //слушатель закрытия окна
@ -1079,6 +1116,9 @@ class TWin
Close() //Закрыть и удалить окно из родителя и менеджера
{
if(this.disableClosing)
return;
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
@ -1096,7 +1136,7 @@ class TWin
};
//Типа конструктор создать окно с заданой позицией
TWin(x,y)
BuildGUI(x,y)
{
this.tWinId=Wins.add(this);
/*
@ -1158,7 +1198,7 @@ class TWin
var str='';
str+='<table id="TWin_TBL_'+this.tWinId+'" class="shadow" bgcolor="#f1f1f1" border="0px" cellspacing="0" cellpadding="0" style="width: 100%; height: 100%; border: 1px solid #000000;">';
str+=' <tr id="TWin_H0_'+this.tWinId+'" style="background: url(../resources/metadata/dbms/form/g.gif) repeat-x;"><td></td><td><table cellspacing="0" cellpadding="0" 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 id="TWin_H0_'+this.tWinId+'" style="background: url(../resources/metadata/dbms/form/b_g.png) repeat-x;"><td></td><td><table cellspacing="0" cellpadding="0" 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/b_x.png" 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>';
str+=' <td style="vertical-align:top;height: 5px;'+(!this.dialog ? ' cursor:n-resize;' : '')+'" id="TWin_T_'+this.tWinId+'"></td>';
@ -1249,10 +1289,10 @@ class TWin
for(var i=0;i<Wins.mas.length;i++) if(Wins.mas[i]!=null)
{
Wins.mas[i].sel=false;
Wins.mas[i].ca.style.color="#555555";
Wins.mas[i].ca.style.color="#afafaf"; //555555
}
this.sel=true;
this.ca.style.color="black";
this.ca.style.color="#ffffff"; //black
this.setWinZ(true);
}
//Получить значение Z индекса TODO сделать через геттер