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

📄 inspectormenu.js

📁 SQLiteDBMS是SQLite数据库的管理服务器软件
💻 JS
字号:
var _inspectorData=null;var _inspectorMenu=null;var _inspectorMenuTitle=null;var _inspectorMenuBody=null;/* menu */function inspectorMenu(e, eventSrc, div, data) {	var menu=null;	switch (data.type) {		case 'create':			menu={				title: 'Create',				menu: [					{name: 'New Table', action: inspectorTableNew, data: null},					{name: 'New Table as', action: inspectorTableNewAs, data: null},					{name: 'New View', action: inspectorViewNew, data: null},					{name: 'New Index', action: inspectorIndexNew, data: null},					{name: 'New Trigger', action: inspectorTriggerNew, data: null}				]			};		break;		case 'table':			menu={				title: data.name,				menu: [					{name: 'New Table', action: inspectorTableNew, data: null},					{name: 'New Table as', action: inspectorTableNewAs, data: null},					{name: 'Edit Table', action: boxShow, data: data},					{name: 'Rename Table', action: inspectorRename, data: data},					{name: 'Drop Table', action: inspectorDrop, data: data},					{type: 'hr'},					{name: 'SELECT * FROM', action: inspectorSelectAll, data: data},					{name: 'SELECT field FROM', action: inspectorSelect, data: data},					{type: 'hr'},					{name: 'Add Column', action: inspectorTableAddColumn, data: data},					//{name: 'Insert new data', action: inspectorTableNewData, data: data},					{type: 'hr'},					{name: 'New Index', action: inspectorIndexNew, data: data},					{name: 'Rebuild Index', action: inspectorIndexRebuild, data: data},					{type: 'hr'},					{name: 'New Trigger', action: inspectorTriggerNew, data: data}				]			};		break;		case 'view':			menu={				title: data.name,				menu: [					{name: 'New View', action: inspectorViewNew, data: null},					{name: 'Edit View', action: boxShow, data: data},					{name: 'Drop View', action: inspectorDrop, data: data},					{type: 'hr'},					{name: 'SELECT * FROM', action: inspectorSelectAll, data: data},					{name: 'SELECT field FROM', action: inspectorSelect, data: data},					{type: 'hr'},					{name: 'New Trigger', action: inspectorTriggerNew, data: data}				]			};		break;		case 'index':			menu={				title: data.name,				menu: [					{name: 'New Index', action: inspectorIndexNew, data: null},					{name: 'Edit Index', action: boxShow, data: data},					{name: 'Drop Index', action: inspectorDrop, data: data},					{type: 'hr'},					{name: 'Rebuild Index', action: inspectorIndexRebuild, data: data}				]			};		break;		case 'trigger':			menu={				title: data.name,				menu: [					{name: 'New Trigger', action: inspectorTriggerNew, data: null},					{name: 'Edit Trigger', action: boxShow, data: data},					{name: 'Drop Trigger', action: inspectorDrop, data: data}				]			};		break;	}	if (!menu) return;	_inspectorData=data;	if (!_inspectorMenu) {		_inspectorMenu=appendNew(document.body, 'DIV');		_inspectorMenu.className='inspectorMenu';		var table=appendNew(_inspectorMenu, 'TABLE');		table.style.borderCollapse='collapse';		table.cellPadding=table.cellSpacing=table.border=0;		var row=table.insertRow(0);			var cell=row.insertCell(0);			with (cell.style) {				width='11px';				height='29px';			}			cell.innerHTML='<img src="img/menu_lt.gif" width="11" height="29">';			_inspectorMenuTitle=row.insertCell(1);			with (_inspectorMenuTitle.style) {				height='29px';				whiteSpace='nowrap';				backgroundImage='url(img/menu_t.gif)';				backgroundRepeat='repeat-x';				color='white';				fontWeight='bold';				textAlign='center';			}			cell=row.insertCell(2);			with (cell.style) {				width='11px';				height='29px';			}			cell.innerHTML='<img src="img/menu_rt.gif" width="11" height="29">';		row=table.insertRow(1);			cell=row.insertCell(0);			cell.style.borderLeft='5px solid #387CAD';			cell.style.backgroundColor='white';			cell.innerHTML='&nbsp;';			_inspectorMenuBody=row.insertCell(1);			_inspectorMenuBody.style.backgroundColor='white';			_inspectorMenuBody.style.padding='2px 5px';			cell=row.insertCell(2);			cell.style.borderRight='5px solid #387CAD';			cell.style.backgroundColor='white';			cell.innerHTML='&nbsp;';		row=table.insertRow(2);			var cell=row.insertCell(0);			with (cell.style) {				width='11px';				height='8px';			}			cell.innerHTML='<img src="img/menu_lb.gif" width="11" height="8">';			cell=row.insertCell(1);			with (cell.style) {				height='8px';				backgroundImage='url(img/menu_b.gif)';				backgroundRepeat='repeat-x';			}			cell=row.insertCell(2);			with (cell.style) {				width='11px';				height='8px';			}			cell.innerHTML='<img src="img/menu_rb.gif" width="11" height="8">';		divHideAdd(_inspectorMenu);	}	if (menu.title)		innerText(_inspectorMenuTitle, menu.title);	else		innerText(_inspectorMenuTitle, '');	while (_inspectorMenuBody.childNodes.length > 0)		_inspectorMenuBody.removeChild(_inspectorMenuBody.childNodes[0]);	for (var i=0; menu.menu && i < menu.menu.length; i++) {		if (menu.menu[i].type && menu.menu[i].type == 'hr') {			var hr=appendNew(_inspectorMenuBody, 'DIV');			hr.className='hr';			hr.innerHTML='<img style="width:1px;height:1px">';		}else{			var link=appendNew(_inspectorMenuBody, 'A');			link.className='menuItem';			link.innerHTML=menu.menu[i].name;			link.href='javascript:;';			if (menu.menu[i].action) {				link.data=menu.menu[i];				addEvent(link, 'click', inspectorMenuActionSwitch2);			}		}	}	with (_inspectorMenu.style) {		display='block';		visibility='visible';		left=e.clientX+5;		top=e.clientY;	}	e.cancelBubble=true;}function inspectorMenuActionSwitch2(e) {	if (_isIE && !e) e=window.event;	if (!e) return;	var eventSrc=(_isIE)?e.srcElement:e.target;	var div=oFindParentByTagName(eventSrc, 'A');	if (!div) return;	var data=div.data;	if (!data || !data.action) return;	data.action(data.data);}/* rename */function inspectorRename(data) {	if (_libVersion < 1.0) {		alert('"ALTER TABLE RENAME TO" >= 3.1.0');		return;	}	if (data.type != 'table') {		alert('ALTER TABLE command allows the user to rename or add a new column to an existing table.');		return;	}	lGo('renameWin');	var form=document.forms['form_rename'];	if (form) {		try{			form['newname'].value=data.name;			form['newname'].focus();			form['newname'].select();		}catch(e){}	}}function inspectorRenameSubmit(showSql) {	var form=document.forms['form_rename'];	if (!form) return false;	if (!trim(form['newname'].value)) {		alert('Insert new name.');		form['newname'].focus();		return;	}	if (!showSql && !confirm('Rename?')) return false;	var newName=form['newname'].value;	if (form['newname'].value != trim(form['newname'].value.toLowerCase())) newName='"'+newName+'"';	var sql='ALTER TABLE "'+trim(_inspectorData.name)+'" RENAME TO "'+newName+'"';	if (showSql) return dbShowSQL(sql);	dbExecCommand(sql, inspectorRenameResponse);	return false;}function inspectorRenameResponse(dbRes) {	if (dbRes) {		form=document.forms['form_rename'];		if (!form) return false;		var newName=form['newname'].value;		_inspectorData.name=newName;		inspectorDdlClear();		dbExecCommand('show table', inspectorTableListDraw);		dbExecCommand('show index', inspectorIndexListDraw);		dbExecCommand('show trigger', inspectorTriggerListDraw);		lHide();	}}/* drop */function inspectorDrop(data) {	if (!data || !data.type || !data.name) return;	if (!confirm('DROP '+(data.type.toUpperCase())+': '+data.name+'\nAre you sure?')) return;	if (!confirm('DROP '+(data.type.toUpperCase())+': '+data.name+'\nReally?')) return;	dbExecCommand('drop '+data.type+' "'+data.name+'"', inspectorDropResponse);}function inspectorDropResponse(dbRes) {	if (dbRes) {		inspectorDdlClear();		dbExecCommand('show table', inspectorTableListDraw);		dbExecCommand('show index', inspectorIndexListDraw);		dbExecCommand('show trigger', inspectorTriggerListDraw);	}}/* select */function inspectorSelectAll(data) {	var sql='SELECT\n  *\nFROM '+data.name+';';	inspectorSelectBox(sql);}function inspectorSelect(data) {	var sql='DESC '+data.name;	dbExecCommand(sql, inspectorSelectResponse, null, data);}function inspectorSelectResponse(dbRes, db) {	var field=[];	var sql='';	if (dbRes.row && dbRes.row.length > 0) {		for (var i=0; i < dbRes.row.length; i++)			field.push(dbRes.row[i].data[0]);		sql='SELECT\n  '+(field.join(',\n  '))+'\nFROM '+db.callbackData.name+';';	}else		sql='SELECT\n  *\nFROM '+db.callbackData.name+';';	inspectorSelectBox(sql);}function inspectorSelectBox(sql) {	boxShow({type:'query', name:'query', sql:sql});}

⌨️ 快捷键说明

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