📄 inspectormenu.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=' '; _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=' '; 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 + -