⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 boxtab.js

📁 SQLiteDBMS是SQLite数据库的管理服务器软件
💻 JS
字号:
function boxTabField(dbRes, mdi, tabProc) {	if (!mdi) return;	var div=mdi.tab['Fields'];	if (!div) return;	while (div.childNodes.length > 0)		div.removeChild(div.childNodes[0]);	var grid=new boxGrid();	if (mdi.type == 'table') {		if (dbRes.row && dbRes.row.length > 0 && dbRes.row[0].data.length == 6) {			grid.header=['Name', 'Type', 'Sequence', 'Not null', 'Primery Key', 'Auto-increment'];			grid.align[3]=grid.align[4]=grid.align[5]='center';		}else{			grid.header=['Name', 'Type', 'Not null', 'Default'];			grid.align[2]='center';		}	}else		grid.header=['Name', 'Type'];	div.appendChild(grid.draw());	var ddl='';	if (mdi.type == 'table')		ddl=mdi.data.ddl;	if (dbRes.row) {		mdi.fields.splice(0, mdi.fields.length);		for (var i=0; i < dbRes.row.length; i++) {			if (mdi.type == 'table' && dbRes.row[i].data.length == 2) {				dbRes.row[i].data[2]='X';				var reg=RegExp('"?'+dbRes.row[i].data[0]+'"?\\s*'+dbRes.row[i].data[1]+'\\s*(not\\s+null)\\s*(default\\s(\'[^\']*\'|[^,)]*))', 'i');				var match=ddl.match(reg);				if (match) {					if (match[1])						dbRes.row[i].data[2]='O';					if (match[3])						dbRes.row[i].data[3]=match[3].replace(/^\'/, '').replace(/\'$/, '');				}				mdi.fields.push(dbRes.row[i].data[0]);			}			grid.appendData(dbRes.row[i].data);		}	}}function boxTabIndex(mdi, name) {	if (!mdi) return;	var div=mdi.tab['Indices'];	if (!div) return;	while (div.childNodes.length > 0)		div.removeChild(div.childNodes[0]);	var grid=new boxGrid();	grid.header=['Name', 'Unique', 'Columns', 'Action'];	div.appendChild(grid.draw());	grid.align[1]='center';	grid.type[3]='html';	for (var key in _index) {		if (_index[key].table == name) {			var unique=_index[key].ddl.match(/^\s*CREATE\s*UNIQUE\s*/i)?'O':'X';			var columns=_index[key].ddl.match(/\s*ON\s*[^(]+\(([^)]+)\)/i);			grid.appendData(_index[key].name, unique, columns?columns[1]:'', '<div class="boxTabAction"><a onclick="boxTabMenuAction(this, \'reindex\')">Reindex</a> | <a onclick="boxTabMenuAction(this, \'drop\')">Drop</a></div>');			grid.setData(_index[key]);			grid.setLink('open');		}	}}function boxTabTrigger(mdi, name) {	if (!mdi) return;	var div=mdi.tab['Triggers'];	if (!div) return;	while (div.childNodes.length > 0)		div.removeChild(div.childNodes[0]);	var grid=new boxGrid();	grid.header=['Name', 'Event', 'Fire on', 'For each', 'Action'];	div.appendChild(grid.draw());	grid.align[1]=grid.align[2]=grid.align[3]=grid.align[4]='center';	grid.type[4]='html';	var event='';	var fire='';	var foreach='';	for (var key in _trigger) {		if (_trigger[key].table == name) {			var match=_trigger[key].ddl.match(/(BEFORE|AFTER|INSTEAD\s+OF|)\s+(DELETE|INSERT|UPDATE)\s+/i);			if (match) {				event=match[2];				fire=match[1]			}else				event=fire='';			match=_trigger[key].ddl.match(/\s+FOR\s+EACH\s+(ROW|STATEMENT)\s+/i);			if (match)				foreach=match[1];			else				foreach='';			grid.appendData(_trigger[key].name, event, fire, foreach, '<div class="boxTabAction"><a onclick="boxTabMenuAction(this, \'drop\')">Drop</a></div>');			grid.setData(_trigger[key]);			grid.setLink('open');		}	}}function boxTabDepend(mdi, name) {	if (!mdi) return;	var div=mdi.tab['Dependencies'];	if (!div) return;	while (div.childNodes.length > 0)		div.removeChild(div.childNodes[0]);	var grid=new boxGrid();	grid.header=['Name', 'Type'];	div.appendChild(grid.draw());	if (mdi.data.type == 'table') {		//grid.addTitle('Objects that depend on '+name, 0);		for (var key in _index) {			if (_index[key].table == name) {				grid.appendData(_index[key].name, 'Index');				grid.setData(_index[key]);				grid.setLink('open');			}		}		for (var key in _trigger) {			if (_trigger[key].table == name) {				grid.appendData(_trigger[key].name, 'Trigger');				grid.setData(_trigger[key]);				grid.setLink('open');			}		}	}else{		//grid.addTitle('Objects that '+name+' depend on', 0);		var tablename=mdi.data.table;		var table=arrayGet(_tables, 'name', tablename);		if (table) {			grid.appendData(tablename, 'Table');			grid.setData(table);			grid.setLink('open');		}	}}function boxTabDDL(mdi, DDL) {	if (!mdi) return;	var div=mdi.tab['DDL'];	if (!div) return;	while (div.childNodes.length > 0)		div.removeChild(div.childNodes[0]);	var area=appendNew(div, 'DIV');	area.className='ddl';	innerText(area, DDL);	syntaxSQL(area);}function boxTabScript(mdi, DDL) {	if (!mdi) return;	var div=mdi.tab['Script'];	if (!div) return;	while (div.childNodes.length > 0)		div.removeChild(div.childNodes[0]);	var area=appendNew(div, 'DIV');	area.className='ddl';	var match=DDL.match(/\s+BEGIN\s+(.*)\s+END\s*$/i);	if (match && match[1])		innerText(area, match[1]);	else		innerText(area, DDL);	syntaxSQL(area);}function boxTabIndexDesc(mdi) {	if (!mdi) return;	var div=mdi.tab['Index'];	if (!div) return;	while (div.childNodes.length > 0)		div.removeChild(div.childNodes[0]);	var grid=new boxGrid();	grid.header=['Column', 'Direction'];	div.appendChild(grid.draw());	var index=arrayGet(_index, 'name', mdi.data.name);	if (!index) return;	var ddl=index.ddl;	if (ddl.match(/^\s*CREATE\s+UNIQUE\s+INDEX/i))		grid.addTitle('Unique index', 0);	var match=ddl.match(/[(]([^)]+)[)]\s*$/);	if (match) {		var tmp=match[1].split(',');		for (var i=0; i < tmp.length; i++) {			match=tmp[i].match(/\s+(ASC|DESC|)\s*$/i);			if (match) {				if (!match[1]) match[1]='ASC';				else match[1]=match[1].toUpperCase();			}else				match=[,'ASC'];			var field=strip(trim(tmp[i].replace(/\s+(ASC|DESC)\s*$/i, '')));			grid.appendData(field, match[1]);		}	}}function boxTabSQL(mdi) {	if (!mdi) return;	var div=mdi.tab['SQL'];	if (!div) return;	if (div.childNodes.length <= 0) {		var ifm=document.createElement('IFRAME');		ifm.frameBorder=0;		ifm.border=0;		with (ifm.style) {			width='100%';			height='100%';		}		div.appendChild(ifm);		ifm.src='js-query.htm';	}}function boxTabResult(dbRes, mdi, tabProc) {	if (!mdi) return;	var div=mdi.tab['Result'];	if (!div) return;	while (div.childNodes.length > 0)		div.removeChild(div.childNodes[0]);	var grid=new boxGrid();	if (dbRes.columns && dbRes.columns[0] && dbRes.columns[0].columnname)		grid.header=dbRes.columns[0].columnname;	else		grid.header[0]='No data';	div.appendChild(grid.draw());	if (dbRes.row) {		for (var i=0; i < dbRes.row.length; i++)			grid.appendData(dbRes.row[i].data);	}	if (mdi.selectedTab != 'Result') {		for (var i=mdi.divTab.childNodes.length; i--;) {			if (innerText(mdi.divTab.childNodes[i]) == 'Result') {				boxTabSelect(mdi.divTab.childNodes[i], 'Result');				break;			}		}	}}function boxTabExplain(dbRes, mdi, tabProc) {	if (!mdi) return;	var div=mdi.tab['Explain'];	if (!div) return;	while (div.childNodes.length > 0)		div.removeChild(div.childNodes[0]);	var grid=new boxGrid();	if (dbRes.columns && dbRes.columns[0] && dbRes.columns[0].columnname)		grid.header=dbRes.columns[0].columnname;	else		grid.header[0]='No data';	div.appendChild(grid.draw());	if (dbRes.row) {		for (var i=0; i < dbRes.row.length; i++)			grid.appendData(dbRes.row[i].data);	}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -