├── .gitignore ├── LICENSE ├── README.md ├── images ├── alipay.jpg ├── explain.jpg ├── home.jpg ├── tableview.jpg ├── textview.jpg └── wechatpay.jpg └── src └── MongoStudio ├── .vscode └── launch.json ├── app.js ├── bin └── www ├── package.json ├── public ├── css │ ├── introduction.css │ └── style.css ├── images │ ├── loading.gif │ ├── logo.ico │ ├── logo.png │ ├── top.jpg │ └── topicon.gif ├── js │ ├── index.js │ ├── showdata.js │ ├── showdatadetail.js │ ├── showexportoptions.js │ └── updatehistory.js └── lib │ ├── jquery │ ├── jquery-1.8.2.js │ └── jquery-1.8.2.min.js │ ├── json │ ├── Collapsed.gif │ ├── Expanded.gif │ ├── c.js │ └── s.css │ └── ligerui │ ├── js │ └── ligerui.all.js │ └── skins │ ├── aqua │ ├── css │ │ ├── ligerui-all.css │ │ ├── ligerui-common.css │ │ ├── ligerui-dialog.css │ │ ├── ligerui-form.css │ │ ├── ligerui-grid.css │ │ ├── ligerui-layout.css │ │ ├── ligerui-menu.css │ │ ├── ligerui-tab.css │ │ └── ligerui-tree.css │ └── images │ │ ├── common │ │ ├── bigloading.gif │ │ ├── button-disabled.gif │ │ ├── button-over.gif │ │ ├── button.gif │ │ ├── drop-icons.gif │ │ ├── exclamation.gif │ │ ├── invalid-line.gif │ │ ├── loading.gif │ │ ├── table.png │ │ └── toggle.gif │ │ ├── controls │ │ ├── bg-panel-title-over.gif │ │ ├── bg-panel-title-pressed.gif │ │ ├── bg-panel-title.gif │ │ ├── bg-tab-title-over.gif │ │ ├── bg-tab-title-pressed.gif │ │ ├── bg-tab-title.gif │ │ ├── bg-text.gif │ │ ├── bg-trigger-over.gif │ │ ├── bg-trigger-pressed.gif │ │ ├── bg-trigger.gif │ │ ├── btn-l.gif │ │ ├── btn-r.gif │ │ ├── btn.gif │ │ ├── button-bg-over.gif │ │ ├── button-bg.gif │ │ ├── checkbox.gif │ │ ├── dateeditor-bar-bg.gif │ │ ├── dateeditor-header-bg.gif │ │ └── radio.gif │ │ ├── dateeditor │ │ ├── date.gif │ │ ├── icon-first.gif │ │ ├── icon-last.gif │ │ ├── icon-next.gif │ │ └── icon-prev.gif │ │ ├── form │ │ └── verify-corner.gif │ │ ├── grid │ │ ├── grid-checkbox-checked.gif │ │ ├── grid-checkbox.gif │ │ ├── grid-detail-close.gif │ │ ├── grid-detail-open.gif │ │ ├── grid-tree-close.gif │ │ ├── grid-tree-open.gif │ │ ├── header-bg-over.gif │ │ ├── header-bg.gif │ │ ├── header2-bg.jpg │ │ ├── popup-line.gif │ │ └── popup-row-over.gif │ │ ├── icon │ │ ├── bar-button-over.gif │ │ ├── checkbox-checked.gif │ │ ├── checkbox.gif │ │ ├── cross.gif │ │ ├── icon-close-over.gif │ │ ├── icon-close.gif │ │ ├── icon-down.gif │ │ ├── icon-drop.gif │ │ ├── icon-edited.gif │ │ ├── icon-first.gif │ │ ├── icon-last.gif │ │ ├── icon-line.gif │ │ ├── icon-load.gif │ │ ├── icon-next.gif │ │ ├── icon-prev.gif │ │ ├── icon-select.gif │ │ ├── icon-sort-asc.gif │ │ ├── icon-sort-desc.gif │ │ ├── icon-unselect.gif │ │ ├── icon-up.gif │ │ └── spr_icons.gif │ │ ├── layout │ │ ├── accordion-content.gif │ │ ├── accordion-header-over.gif │ │ ├── accordion-header.gif │ │ ├── layout-header-over.gif │ │ ├── layout-header.gif │ │ ├── layout-sidebar-header.gif │ │ ├── mini-bottom.gif │ │ ├── mini-left.gif │ │ ├── mini-right.gif │ │ ├── mini-top.gif │ │ ├── panel-content.gif │ │ ├── panel-header-over.gif │ │ ├── panel-header.gif │ │ ├── panel-header2.gif │ │ ├── tabs-bg.gif │ │ ├── tabs-item-bg.gif │ │ ├── tabs-item-left-bg.gif │ │ ├── tabs-item-over-bg.gif │ │ ├── tabs-item-right-bg.gif │ │ ├── tabs-tools.gif │ │ └── togglebar.gif │ │ ├── menu │ │ ├── menu-item-arrow.gif │ │ ├── menu-item-down.gif │ │ ├── menu-item-over-l.gif │ │ ├── menu-item-over-m.gif │ │ ├── menu-item-over-r.gif │ │ ├── menu-line-x.gif │ │ └── menu-line-y.gif │ │ ├── panel │ │ ├── bar-bg.gif │ │ ├── header-bg.gif │ │ ├── header-bg.jpg │ │ ├── header2-bg.jpg │ │ ├── panel-btn-l.gif │ │ ├── panel-btn-r.gif │ │ ├── panel-btn.gif │ │ ├── panel-header.gif │ │ ├── panel-menu-item-down.gif │ │ ├── panel-menu.gif │ │ ├── panel-toolbar.gif │ │ └── panel-tools.gif │ │ ├── tree │ │ ├── folder-open.gif │ │ ├── folder.gif │ │ ├── loading.gif │ │ ├── nodeloading.gif │ │ ├── nodeloading2.gif │ │ ├── nodeloading3.gif │ │ ├── nodeloading4.gif │ │ ├── tree-leaf.gif │ │ ├── tree-level.gif │ │ ├── tree-noline.gif │ │ ├── tree-status-close.gif │ │ ├── tree-status-open.gif │ │ ├── tree-status.gif │ │ └── tree.gif │ │ ├── ui │ │ ├── ui-bg_glass_55_fbf9ee_1x400.png │ │ ├── ui-bg_glass_65_ffffff_1x400.png │ │ ├── ui-bg_glass_75_dadada_1x400.png │ │ ├── ui-bg_glass_75_e6e6e6_1x400.png │ │ ├── ui-bg_glass_95_fef1ec_1x400.png │ │ └── ui-bg_highlight-soft_75_cccccc_1x100.png │ │ └── win │ │ ├── box-icons.gif │ │ ├── box.gif │ │ ├── dialog-bc.gif │ │ ├── dialog-icons.gif │ │ ├── dialog-tc.gif │ │ ├── dialog-winbtns.gif │ │ ├── dialog.gif │ │ ├── dialogbtn.gif │ │ ├── taskbar-task.gif │ │ ├── taskbar.gif │ │ ├── taskbar.png │ │ └── taskicon.gif │ └── icons │ ├── add.gif │ ├── archives.gif │ ├── attibutes.gif │ ├── back.gif │ ├── bluebook.gif │ ├── bookpen.gif │ ├── busy.gif │ ├── calendar.gif │ ├── candle.gif │ ├── coffee.gif │ ├── comment.gif │ ├── communication.gif │ ├── config.gif │ ├── customers.gif │ ├── cut.gif │ ├── database.gif │ ├── delete.gif │ ├── discuss.gif │ ├── down.gif │ ├── edit.gif │ ├── graywarn.gif │ ├── greenwarn.gif │ ├── help.gif │ ├── home.gif │ ├── lock.gif │ ├── logout.gif │ ├── mailbox.gif │ ├── memeber.gif │ ├── modify.gif │ ├── msn.gif │ ├── myaccount.gif │ ├── ok.gif │ ├── outbox.gif │ ├── pager.gif │ ├── photograph.gif │ ├── plus.gif │ ├── prev.gif │ ├── print.gif │ ├── process.gif │ ├── qq.gif │ ├── refresh.gif │ ├── right.gif │ ├── role.gif │ ├── save-disabled.gif │ ├── save.gif │ ├── search.gif │ ├── search2.gif │ ├── settings.gif │ ├── true.gif │ ├── up.gif │ └── view.gif ├── routes └── index.js ├── util └── db.js └── views ├── _layout ├── footer.ejs └── header.ejs ├── error.ejs ├── index.ejs ├── introduction.ejs ├── showdata.ejs ├── showdatadetail.ejs ├── showexportoptions.ejs └── updatehistory.ejs /.gitignore: -------------------------------------------------------------------------------- 1 | # See http://help.github.com/ignore-files/ for more about ignoring files. 2 | 3 | # compiled output 4 | /dist 5 | /tmp 6 | /out-tsc 7 | 8 | # dependencies 9 | node_modules/ 10 | 11 | # IDEs and editors 12 | /.idea 13 | .project 14 | .classpath 15 | .c9/ 16 | *.launch 17 | .settings/ 18 | *.sublime-workspace 19 | 20 | # IDE - VSCode 21 | .vscode/* 22 | !.vscode/settings.json 23 | !.vscode/tasks.json 24 | !.vscode/launch.json 25 | !.vscode/extensions.json 26 | 27 | # misc 28 | /.sass-cache 29 | /connect.lock 30 | /coverage 31 | /libpeerconnection.log 32 | npm-debug.log 33 | testem.log 34 | /typings 35 | 36 | # e2e 37 | /e2e/*.js 38 | /e2e/*.map 39 | 40 | # System Files 41 | .DS_Store 42 | Thumbs.db 43 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2017 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # MongoStudio 2 | a tool for mongodb web search 3 | 4 | ### How to start 5 | ```bash 6 | git clone https://github.com/SnailDev/SnailDev.MongoStudio.git 7 | cd src/MongoStudio 8 | npm install 9 | npm start 10 | ``` 11 | 12 | ### How to add db server 13 | open src/MongoStudio/util/db.js 14 | 15 | ```node 16 | exports.getservers = function (callback) { 17 | var servers = [ 18 | { 19 | ID: genNonDuplicateID(3), 20 | PID: 0, 21 | Type: 'server', 22 | ShowName: 'LocalDB', 23 | Name: '127.0.0.1:27017', 24 | Icon: '/lib/ligerui/skins/icons/process.gif', 25 | } 26 | 27 | // you can add your db server struct here and just need modify **ShowName** and **Name**. 28 | ] 29 | 30 | if (callback) callback(servers); 31 | } 32 | 33 | Find with objectId, just use string value, such as {"_id":"55ae2b90fb99313f33c05384"} 34 | ``` 35 | 36 | ### Preview 37 | - index 38 | ![](images/home.jpg) 39 | 40 | - tableview 41 | ![](images/tableview.jpg) 42 | 43 | - textview 44 | ![](images/textview.jpg) 45 | 46 | - explain 47 | ![](images/explain.jpg) 48 | 49 | ### Reference 50 | - [ligerui](http://www.ligerui.com/) 51 | - [jsonformat](http://tool.oschina.net/codeformat/json) 52 | - [jquery](http://jquery.com/) 53 | 54 | ### Donate 55 | if this project is useful to you, you could ask me for a cup of coffee. 56 | 57 | 微信 58 | 支付宝 59 | 60 | ## License 61 | 62 | The MIT License (MIT). Please see [LICENSE](LICENSE) for more information. 63 | -------------------------------------------------------------------------------- /images/alipay.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/images/alipay.jpg -------------------------------------------------------------------------------- /images/explain.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/images/explain.jpg -------------------------------------------------------------------------------- /images/home.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/images/home.jpg -------------------------------------------------------------------------------- /images/tableview.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/images/tableview.jpg -------------------------------------------------------------------------------- /images/textview.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/images/textview.jpg -------------------------------------------------------------------------------- /images/wechatpay.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/images/wechatpay.jpg -------------------------------------------------------------------------------- /src/MongoStudio/.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | // 使用 IntelliSense 了解相关属性。 3 | // 悬停以查看现有属性的描述。 4 | // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387 5 | "version": "0.2.0", 6 | "configurations": [ 7 | 8 | { 9 | "type": "node", 10 | "request": "launch", 11 | "name": "启动程序", 12 | "program": "${workspaceFolder}\\bin\\www" 13 | } 14 | ] 15 | } -------------------------------------------------------------------------------- /src/MongoStudio/app.js: -------------------------------------------------------------------------------- 1 | var express = require('express'); 2 | var path = require('path'); 3 | var favicon = require('serve-favicon'); 4 | var logger = require('morgan'); 5 | var cookieParser = require('cookie-parser'); 6 | var bodyParser = require('body-parser'); 7 | 8 | var index = require('./routes/index'); 9 | //var users = require('./routes/users'); 10 | 11 | var app = express(); 12 | 13 | // view engine setup 14 | app.set('views', path.join(__dirname, 'views')); 15 | app.set('view engine', 'ejs'); 16 | 17 | // uncomment after placing your favicon in /public 18 | //app.use(favicon(path.join(__dirname, 'public', 'favicon.ico'))); 19 | app.use(logger('dev')); 20 | app.use(bodyParser.json()); 21 | app.use(bodyParser.urlencoded({ extended: false })); 22 | app.use(cookieParser()); 23 | app.use(express.static(path.join(__dirname, 'public'))); 24 | 25 | app.use('/', index); 26 | //app.use('/users', users); 27 | 28 | // catch 404 and forward to error handler 29 | app.use(function(req, res, next) { 30 | var err = new Error('Not Found'); 31 | err.status = 404; 32 | next(err); 33 | }); 34 | 35 | // error handler 36 | app.use(function(err, req, res, next) { 37 | // set locals, only providing error in development 38 | res.locals.message = err.message; 39 | res.locals.error = req.app.get('env') === 'development' ? err : {}; 40 | 41 | // render the error page 42 | res.status(err.status || 500); 43 | res.render('error'); 44 | }); 45 | 46 | module.exports = app; 47 | -------------------------------------------------------------------------------- /src/MongoStudio/bin/www: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | /** 4 | * Module dependencies. 5 | */ 6 | 7 | var app = require('../app'); 8 | var debug = require('debug')('mongostudio:server'); 9 | var http = require('http'); 10 | 11 | /** 12 | * Get port from environment and store in Express. 13 | */ 14 | 15 | var port = normalizePort(process.env.PORT || '3000'); 16 | app.set('port', port); 17 | 18 | /** 19 | * Create HTTP server. 20 | */ 21 | 22 | var server = http.createServer(app); 23 | 24 | /** 25 | * Listen on provided port, on all network interfaces. 26 | */ 27 | 28 | server.listen(port); 29 | server.on('error', onError); 30 | server.on('listening', onListening); 31 | 32 | /** 33 | * Normalize a port into a number, string, or false. 34 | */ 35 | 36 | function normalizePort(val) { 37 | var port = parseInt(val, 10); 38 | 39 | if (isNaN(port)) { 40 | // named pipe 41 | return val; 42 | } 43 | 44 | if (port >= 0) { 45 | // port number 46 | return port; 47 | } 48 | 49 | return false; 50 | } 51 | 52 | /** 53 | * Event listener for HTTP server "error" event. 54 | */ 55 | 56 | function onError(error) { 57 | if (error.syscall !== 'listen') { 58 | throw error; 59 | } 60 | 61 | var bind = typeof port === 'string' 62 | ? 'Pipe ' + port 63 | : 'Port ' + port; 64 | 65 | // handle specific listen errors with friendly messages 66 | switch (error.code) { 67 | case 'EACCES': 68 | console.error(bind + ' requires elevated privileges'); 69 | process.exit(1); 70 | break; 71 | case 'EADDRINUSE': 72 | console.error(bind + ' is already in use'); 73 | process.exit(1); 74 | break; 75 | default: 76 | throw error; 77 | } 78 | } 79 | 80 | /** 81 | * Event listener for HTTP server "listening" event. 82 | */ 83 | 84 | function onListening() { 85 | var addr = server.address(); 86 | var bind = typeof addr === 'string' 87 | ? 'pipe ' + addr 88 | : 'port ' + addr.port; 89 | debug('Listening on ' + bind); 90 | } 91 | -------------------------------------------------------------------------------- /src/MongoStudio/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "mongostudio", 3 | "version": "0.0.0", 4 | "private": true, 5 | "scripts": { 6 | "start": "node ./bin/www" 7 | }, 8 | "dependencies": { 9 | "body-parser": "~1.17.1", 10 | "cookie-parser": "~1.4.3", 11 | "debug": "~2.6.3", 12 | "ejs": "~2.5.6", 13 | "express": "~4.15.2", 14 | "mongodb": "^3.0.6", 15 | "morgan": "~1.8.1", 16 | "serve-favicon": "~2.4.2" 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/MongoStudio/public/css/introduction.css: -------------------------------------------------------------------------------- 1 | * { 2 | margin: 0; 3 | padding: 0; 4 | } 5 | 6 | body { 7 | font: 13.34px helvetica,arial,freesans,clean,sans-serif; 8 | color: black; 9 | line-height: 1.4em; 10 | background-color: #F8F8F8; 11 | padding: 0.7em; 12 | overflow: auto; 13 | } 14 | 15 | p { 16 | margin: 1em 0; 17 | line-height: 1.5em; 18 | } 19 | 20 | table { 21 | font-size: inherit; 22 | font: 100%; 23 | margin: 1em; 24 | } 25 | 26 | table th { 27 | border-bottom: 1px solid #bbb; 28 | padding: .2em 1em; 29 | } 30 | 31 | table td { 32 | border-bottom: 1px solid #ddd; 33 | padding: .2em 1em; 34 | } 35 | 36 | input[type=text], input[type=password], input[type=image], textarea { 37 | font: 99% helvetica,arial,freesans,sans-serif; 38 | } 39 | 40 | select, option { 41 | padding: 0 .25em; 42 | } 43 | 44 | optgroup { 45 | margin-top: .5em; 46 | } 47 | 48 | pre, code { 49 | font: 12px Monaco,"Courier New","DejaVu Sans Mono","Bitstream Vera Sans Mono",monospace; 50 | } 51 | 52 | pre { 53 | margin: 1em 0; 54 | font-size: 12px; 55 | background-color: #eee; 56 | border: 1px solid #ddd; 57 | padding: 5px; 58 | line-height: 1.5em; 59 | color: #444; 60 | overflow: auto; 61 | -webkit-box-shadow: rgba(0,0,0,0.07) 0 1px 2px inset; 62 | -webkit-border-radius: 3px; 63 | -moz-border-radius: 3px; 64 | border-radius: 3px; 65 | white-space: pre-wrap; 66 | word-wrap: break-word; 67 | } 68 | 69 | pre code { 70 | padding: 0; 71 | font-size: 12px; 72 | background-color: #eee; 73 | border: none; 74 | } 75 | 76 | code { 77 | font-size: 12px; 78 | background-color: #f8f8ff; 79 | color: #444; 80 | padding: 0 .2em; 81 | border: 1px solid #dedede; 82 | } 83 | 84 | img { 85 | border: 0; 86 | max-width: 100%; 87 | } 88 | 89 | abbr { 90 | border-bottom: none; 91 | } 92 | 93 | a { 94 | color: #4183c4; 95 | text-decoration: none; 96 | } 97 | 98 | a:hover { 99 | text-decoration: underline; 100 | } 101 | 102 | a code, a:link code, a:visited code { 103 | color: #4183c4; 104 | } 105 | 106 | h2, h3 { 107 | margin: 1em 0; 108 | } 109 | 110 | h1, h2, h3, h4, h5, h6 { 111 | border: 0; 112 | } 113 | 114 | h1 { 115 | font-size: 170%; 116 | border-top: 4px solid #aaa; 117 | padding-top: .5em; 118 | margin-top: 1.5em; 119 | } 120 | 121 | h1:first-child { 122 | margin-top: 0; 123 | padding-top: .25em; 124 | border-top: none; 125 | } 126 | 127 | h2 { 128 | font-size: 150%; 129 | margin-top: 1.5em; 130 | border-top: 4px solid #e0e0e0; 131 | padding-top: .5em; 132 | } 133 | 134 | h3 { 135 | margin-top: 1em; 136 | } 137 | 138 | hr { 139 | border: 1px solid #ddd; 140 | } 141 | 142 | ul { 143 | margin: 1em 0 1em 2em; 144 | } 145 | 146 | ol { 147 | margin: 1em 0 1em 2em; 148 | } 149 | 150 | ul li, ol li { 151 | margin-top: .5em; 152 | margin-bottom: .5em; 153 | } 154 | 155 | ul ul, ul ol, ol ol, ol ul { 156 | margin-top: 0; 157 | margin-bottom: 0; 158 | } 159 | 160 | blockquote { 161 | margin: 1em 0; 162 | border-left: 5px solid #ddd; 163 | padding-left: .6em; 164 | color: #555; 165 | } 166 | 167 | dt { 168 | font-weight: bold; 169 | margin-left: 1em; 170 | } 171 | 172 | dd { 173 | margin-left: 2em; 174 | margin-bottom: 1em; 175 | } 176 | 177 | @media screen and (min-width: 768px) { 178 | body { 179 | width: 748px; 180 | margin: 10px auto; 181 | } 182 | } 183 | 184 | .hibot { 185 | padding: 0 0 0 38px; 186 | margin: auto; 187 | font-size: 14px; 188 | font-family: monospace; 189 | background: #111; 190 | color: #e6e1dc; 191 | } 192 | 193 | .hibot li { 194 | margin: 0; 195 | padding-left: 10px; 196 | border-left: 2px solid #ccc; 197 | background: #111; 198 | list-style-position: outside; 199 | list-style-type: decimal; 200 | text-indent: 0; 201 | word-wrap: break-word; 202 | word-break: break-all; 203 | } 204 | 205 | .hibot .num { 206 | color: #a5c261; 207 | } 208 | 209 | .hibot .attr { 210 | color: #4093CC; 211 | } 212 | 213 | .hibot .comment { 214 | color: #bc9458; 215 | font-style: italic; 216 | } 217 | 218 | .hibot .special { 219 | color: #da4939; 220 | } 221 | 222 | .hibot .statement { 223 | color: #cc7833; 224 | } 225 | 226 | .hibot .preProc { 227 | color: #e6e1dc; 228 | } 229 | 230 | .hibot .include, .hibot .head { 231 | color: #cc7833; 232 | } 233 | 234 | .hibot .string { 235 | color: #a5c261; 236 | } 237 | 238 | .hibot .type, .hibot .keyword, .hibot .val { 239 | color: #da4939; 240 | } 241 | -------------------------------------------------------------------------------- /src/MongoStudio/public/css/style.css: -------------------------------------------------------------------------------- 1 | body, html { 2 | height: 100%; 3 | } 4 | 5 | body { 6 | padding: 0px; 7 | margin: 0; 8 | overflow: hidden; 9 | } 10 | 11 | .l-link { 12 | display: block; 13 | height: 26px; 14 | line-height: 26px; 15 | padding-left: 10px; 16 | text-decoration: underline; 17 | color: #333; 18 | } 19 | 20 | .l-link2 { 21 | text-decoration: underline; 22 | color: white; 23 | margin-left: 2px; 24 | margin-right: 2px; 25 | } 26 | 27 | .l-layout-top { 28 | background: #102A49; 29 | color: White; 30 | } 31 | 32 | .l-layout-bottom { 33 | background: #E5EDEF; 34 | text-align: center; 35 | } 36 | 37 | #pageloading { 38 | position: absolute; 39 | left: 0px; 40 | top: 0px; 41 | background: white url('../images/loading.gif') no-repeat center; 42 | width: 100%; 43 | height: 100%; 44 | z-index: 99999; 45 | } 46 | 47 | .l-link { 48 | display: block; 49 | line-height: 22px; 50 | height: 22px; 51 | padding-left: 16px; 52 | border: 1px solid white; 53 | margin: 4px; 54 | } 55 | 56 | .l-link-over { 57 | background: #FFEEAC; 58 | border: 1px solid #DB9F00; 59 | } 60 | 61 | .l-winbar { 62 | background: #2B5A76; 63 | height: 30px; 64 | position: absolute; 65 | left: 0px; 66 | bottom: 0px; 67 | width: 100%; 68 | z-index: 99999; 69 | } 70 | 71 | .space { 72 | color: #E7E7E7; 73 | } 74 | /* 顶部 */ 75 | .l-topmenu { 76 | margin: 0; 77 | padding: 0; 78 | height: 31px; 79 | line-height: 31px; 80 | background: url('../images/top.jpg') repeat-x bottom; 81 | position: relative; 82 | border-top: 1px solid #1D438B; 83 | } 84 | 85 | .l-topmenu-logo { 86 | color: #E7E7E7; 87 | padding-left: 35px; 88 | /*line-height: 26px;*/ 89 | background: url('../images/logo.ico') no-repeat 10px 5px; 90 | } 91 | 92 | .l-topmenu-logo a { 93 | color: #fff; 94 | text-decoration: none; 95 | } 96 | 97 | .l-topmenu-welcome { 98 | position: absolute; 99 | height: 24px; 100 | line-height: 24px; 101 | right: 30px; 102 | top: 2px; 103 | color: #070A0C; 104 | } 105 | 106 | .l-topmenu-welcome a { 107 | color: #E7E7E7; 108 | text-decoration: underline; 109 | } 110 | 111 | .content { 112 | padding: 0px; 113 | background: #EAEEF5; 114 | } 115 | 116 | footer { 117 | height: 32px; 118 | line-height: 32px; 119 | text-align: center; 120 | } 121 | 122 | #body { 123 | width: 99.2%; 124 | margin: 0 auto; 125 | margin-top: 4px; 126 | } 127 | 128 | #explainInfo { 129 | overflow: auto; 130 | overflow-x: hidden; 131 | } 132 | 133 | #left:focus { 134 | noFocusLine: expression(this.onFocus=this.blur()); 135 | } 136 | 137 | ul#tree { 138 | margin-top: 3px; 139 | } 140 | 141 | div.l-loading { 142 | display: block; 143 | } 144 | 145 | .home { 146 | height: 300px; 147 | } 148 | 149 | #spanel { 150 | margin: 0.5em; 151 | } 152 | 153 | #sdiv { 154 | padding: 1.5em; 155 | } 156 | 157 | .viewupdatahistorylink { 158 | background: #B3D9F7; 159 | display: block; 160 | position: absolute; 161 | right: 25px; 162 | top: 3px; 163 | padding: 6px 4px; 164 | color: #333; 165 | text-decoration: underline; 166 | } 167 | 168 | .viewupdatahistorylink-over { 169 | background: #81C0F2; 170 | } 171 | 172 | 173 | p.l-log-content { 174 | margin: 0; 175 | padding: 0; 176 | padding-left: 20px; 177 | line-height: 22px; 178 | font-size: 12px; 179 | } 180 | 181 | span.l-log-content-tag { 182 | color: #008000; 183 | margin-right: 2px; 184 | font-weight: bold; 185 | } 186 | 187 | h2.l-title { 188 | margin: 7px; 189 | padding: 0; 190 | font-size: 17px; 191 | font-weight: bold; 192 | } 193 | 194 | h3.l-title { 195 | margin: 4px; 196 | padding: 0; 197 | font-size: 15px; 198 | font-weight: bold; 199 | } 200 | 201 | .subtitle { 202 | margin: 12px 7px; 203 | padding-left: 20px; 204 | color: #666666; 205 | text-decoration: underline; 206 | } 207 | 208 | #updateLog { 209 | margin-left: 15px; 210 | height: 100%; 211 | width: 100%; 212 | overflow: auto; 213 | } 214 | -------------------------------------------------------------------------------- /src/MongoStudio/public/images/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/images/loading.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/images/logo.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/images/logo.ico -------------------------------------------------------------------------------- /src/MongoStudio/public/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/images/logo.png -------------------------------------------------------------------------------- /src/MongoStudio/public/images/top.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/images/top.jpg -------------------------------------------------------------------------------- /src/MongoStudio/public/images/topicon.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/images/topicon.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/js/index.js: -------------------------------------------------------------------------------- 1 | var tab = null; 2 | var tree = null; 3 | var accordion = null; 4 | var tabnumber = 0; 5 | var menu; 6 | var actionNodeID; 7 | 8 | var dbicon = "lib/ligerUI/skins/icons/database.gif"; 9 | 10 | $(document).ready(function () { 11 | //布局 12 | $("#body").ligerLayout({ 13 | leftWidth: 290, 14 | height: '100%', 15 | heightDiff: -34, 16 | space: 2, 17 | onHeightChanged: f_heightChanged 18 | }); 19 | 20 | //Tab 21 | var height = $(".l-layout-center").height(); 22 | $("#framecenter").ligerTab({ 23 | showSwitchInTab: true, 24 | showSwitch: true, 25 | height: height 26 | }); 27 | tab = $("#framecenter").ligerGetTabManager(); 28 | 29 | //面板 30 | $("#left").ligerAccordion({ 31 | height: height, speed: null, changeHeightOnResize: true 32 | }); 33 | $(".l-accordion-header").attr({ "hidden": "hidden" }); //隐藏面板头 34 | accordion = liger.get("left"); 35 | 36 | //Tree 37 | $("#tree").ligerTree({ 38 | checkbox: false, 39 | slide: false, 40 | nodeWidth: 500, 41 | textFieldName: 'ShowName', 42 | idFieldName: 'ID', 43 | parentIDFieldName: 'PID', 44 | iconFieldName: 'Icon', 45 | slide: false, 46 | needCancel: false, 47 | isExpand: 2, 48 | isLeaf: function (data) { 49 | if (!data) return false; 50 | return data.Type == 'index'; 51 | }, 52 | delay: function (e) { 53 | var data = e.data; 54 | switch (data.Type) { 55 | case 'server': 56 | return { url: '/getserver?id=' + data.ID + '&type=db&server=' + data.Name }; 57 | case 'db': 58 | return { url: '/getserver?id=' + data.ID + '&type=col&server=' + tree.getDataByID(data.PID).Name + '&db=' + data.ShowName }; 59 | case 'col': 60 | return { url: '/getserver?id=' + data.ID + '&type=indexContainer' }; 61 | case 'indexContainer': 62 | return { url: '/getserver?id=' + data.ID + '&type=index&server=' + tree.getDataByID(tree.getDataByID(tree.getDataByID(data.PID).PID).PID).Name + '&db=' + tree.getDataByID(tree.getDataByID(data.PID).PID).ShowName + '&col=' + tree.getDataByID(data.PID).Name }; 63 | default: 64 | return false; 65 | } 66 | }, 67 | onSelect: function (node) { 68 | if (!node.flag) return; 69 | if (node.data.Type != 'col') return; 70 | actionNodeID = node.data.ID; 71 | f_addTab(undefined, tree.getDataByID(tree.getDataByID(node.data.PID).PID).ShowName + "\\" + node.data.Name, "/showdata?server=" + tree.getDataByID(tree.getDataByID(node.data.PID).PID).Name + "&db=" + tree.getDataByID(node.data.PID).ShowName + "&col=" + node.data.Name + "&serverName=" + tree.getDataByID(tree.getDataByID(node.data.PID).PID).ShowName); 72 | }, 73 | onContextmenu: function (node, e) { 74 | if (node.data.Type == 'server') { 75 | actionNodeID = node.data.ID; 76 | // 树的右击菜单 77 | menu = $.ligerMenu({ 78 | top: 100, left: 100, width: 120, items: [{ text: '刷新', click: refreshclick }] 79 | }); 80 | menu.show({ top: e.pageY, left: e.pageX }); 81 | } 82 | return false; 83 | } 84 | }); 85 | tree = $("#tree").ligerGetTreeManager(); 86 | initTree(); 87 | $("#loading").hide(); 88 | 89 | $("#left").each(function () { 90 | $(this).height($(this).parent().height() - $(this).prev().height()); 91 | }); 92 | 93 | addShowUpdateHistoryBtn("0"); 94 | 95 | $(document).bind("keydown", function (e) { 96 | e = window.event || e; 97 | if (e.keyCode == 116) { 98 | return false; //屏蔽F5刷新键 99 | } 100 | 101 | // 开始 102 | var keyChar = String.fromCharCode(e.keyCode).toLowerCase(); 103 | var keyArray = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"]; 104 | var nodeSelected = tree.getSelected(); 105 | if (!nodeSelected) return; 106 | var nodeDom = tree.getNodeDom(nodeSelected.data); 107 | var preHight = $(nodeDom).offset().top; 108 | 109 | if (keyChar == "&" && $(nodeDom).prev().length) { 110 | tree.selectNode($(nodeDom).prev(), false); 111 | scrollToSelected(preHight); 112 | return false; 113 | } 114 | else if (keyChar == "(" && $(nodeDom).next().length) { 115 | tree.selectNode($(nodeDom).next(), false); 116 | scrollToSelected(preHight); 117 | return false; 118 | } 119 | else if (keyArray.in_array(keyChar)) { 120 | var flag = false; 121 | if (nodeSelected.data.ShowName.toLowerCase().startWith(keyChar)) { 122 | $(nodeDom).nextAll().each(function () { 123 | if ($(this).text().startWith(keyChar)) { 124 | tree.selectNode(this, false); 125 | scrollToSelected(preHight); 126 | flag = true; 127 | return false; 128 | } 129 | }); 130 | if (!flag) { 131 | var firstNode = $(nodeDom).prevAll().last(); 132 | if ($(firstNode[0]).text().startWith(keyChar)) { 133 | tree.selectNode(firstNode[0], false); 134 | scrollToSelected(preHight); 135 | return false; 136 | } 137 | else { 138 | firstNode.nextAll().each(function () { 139 | if ($(this).text().startWith(keyChar)) { 140 | tree.selectNode(this, false); 141 | scrollToSelected(preHight); 142 | return false; 143 | } 144 | }); 145 | } 146 | } 147 | } else { 148 | $(nodeDom).siblings().each(function () { 149 | if ($(this).text().startWith(keyChar)) { 150 | tree.selectNode(this, false); 151 | scrollToSelected(preHight) 152 | return false; 153 | } 154 | }); 155 | } 156 | } 157 | }); 158 | }); 159 | 160 | function refreshclick(item, i) { 161 | initTree(); 162 | } 163 | 164 | function initTree() { 165 | try { 166 | tree.clear(); 167 | tab.removeAll(); 168 | $("#tree_loading").show(); 169 | tree.loadData(null, "/getserver?type=server"); 170 | $("#tree_loading").hide(); 171 | } 172 | catch (e) { 173 | alert("请求发生异常,请重试"); 174 | } 175 | } 176 | 177 | function f_heightChanged(options) { 178 | //if (tab) 179 | // tab.addHeight(options.diff); 180 | //$("#left").each(function () { 181 | // $(this).height($(this).parent().height() - $(this).prev().height()); 182 | //}); 183 | 184 | if (tab) 185 | tab.addHeight(options.diff); 186 | if (accordion && options.middleHeight > 0) 187 | accordion.setHeight(options.middleHeight); 188 | } 189 | 190 | function f_addTab(tabid, text, url) { 191 | tabid = tabid || liger.getId(); 192 | tab.addTabItem({ tabid: tabid, text: text, url: url }); 193 | } 194 | 195 | function addShowUpdateHistoryBtn(tabid) { 196 | var viewSourceBtn = $('查看更新历史'); 197 | var jiframe = $("#" + tabid); 198 | viewSourceBtn.insertBefore(jiframe); 199 | viewSourceBtn.click(function () { 200 | showUpdateHistory(); 201 | }).hover(function () { 202 | viewSourceBtn.addClass("viewupdatahistorylink-over"); 203 | }, function () { 204 | viewSourceBtn.removeClass("viewupdatahistorylink-over"); 205 | }); 206 | } 207 | 208 | function showUpdateHistory() { 209 | $.ligerDialog.open({ 210 | title: '更新说明', 211 | url: '/updatehistory', 212 | width: $(window).width() * 0.9, 213 | height: $(window).height() * 0.9, 214 | showMax: true, 215 | showToggle: false, 216 | showMin: false, 217 | isResize: true, 218 | slide: true, 219 | }); 220 | 221 | } 222 | 223 | function scrollToSelected(preH) { 224 | //获取当前选中的node 225 | var targetNode = tree.getSelected(); 226 | 227 | if (targetNode != null) { 228 | //判断节点是否在可视区域 229 | var $targetNode = $(tree.getNodeDom(targetNode.data)); 230 | var container = $(".l-scroll"); 231 | var containerH = container.height(); 232 | if (preH < $targetNode.offset().top) { 233 | var nodeOffsetHeight = $targetNode.offset().top - container.offset().top; 234 | if (nodeOffsetHeight > (containerH - 30)) { 235 | var scrollHeight = container.scrollTop() + nodeOffsetHeight - containerH + 40; 236 | container.scrollTop(scrollHeight); 237 | } 238 | } else { 239 | var nodeOffsetHeight = $targetNode.offset().top - container.offset().top; 240 | if (nodeOffsetHeight < (30 - container.offset().top)) { 241 | var scrollHeight = container.scrollTop() + nodeOffsetHeight; 242 | container.scrollTop(scrollHeight); 243 | } 244 | } 245 | 246 | } 247 | } 248 | 249 | // 数组扩展 250 | Array.prototype.in_array = function (str) { 251 | return $.inArray(str, this) > -1; 252 | } 253 | // 字符串扩展 254 | String.prototype.startWith = function (str) { 255 | return this[0].toLowerCase() == str; 256 | } -------------------------------------------------------------------------------- /src/MongoStudio/public/js/showdata.js: -------------------------------------------------------------------------------- 1 | var navtab = null; 2 | var datagrid = null; 3 | var datagrid_TextView = null; 4 | var explainTree = null; 5 | var combox = null; 6 | var _id; 7 | 8 | $(function () { 9 | //searchPanel 10 | $("#spanel").ligerPanel({ 11 | title: '查询条件', 12 | width: '99.2%', 13 | height: '25%' 14 | }); 15 | 16 | //创建表单结构 17 | form = $("#sform").ligerForm({ 18 | inputWidth: 170, labelWidth: 90, space: 40, 19 | 20 | fields: [ 21 | { display: "{Find}", name: "Find", newline: true, type: "textarea", width: 320 }, 22 | { display: "{Field}", name: "Field", newline: false, type: "textarea", width: 320 }, 23 | { display: "{Sort}", name: "Sort", newline: false, type: "textarea", width: 320 }, 24 | { display: 'Skip#', name: 'Skip', newline: false, type: 'spinner', width: 58, options: { type: 'int', isNegative: false } }, 25 | { display: 'Limit#', name: 'Limit', newline: false, type: 'spinner', width: 58, options: { type: 'int', isNegative: false } }, 26 | ], 27 | 28 | buttons: [ 29 | { text: '查询', width: 60, click: f_search } 30 | ] 31 | }); 32 | 33 | $("input[name='Limit']").val(30); 34 | $("#Find").attr({ "placeholder": "{\"Name1\":\"Value1\",\"Name2\":\"Value2\",...}\r\n注: Name、字段名,Value、字段值 " }); 35 | $("#Field").attr({ "placeholder": "{\"Name1\":\"1/0\",\"Name2\":\"1/0\",...}\r\n注: 1、显示,0、隐藏" }); 36 | $("#Sort").attr({ "placeholder": "{\"Name1\":\"1/-1\",\"Name2\":\"1/-1\",...}\r\n注: 1、升序,-1、降序" }); 37 | 38 | //Tab 39 | $("#rtab").ligerTab({ 40 | contextmenu: false, 41 | onBeforeSelectTabItem: function (tabid) { 42 | if (navtab.getSelectedTabItemID() == tabid) return; 43 | switch (tabid) { 44 | case "TextView": 45 | initDataTextView(); 46 | break; 47 | case "TableView": 48 | datagrid.reload(); 49 | break; 50 | case "Explain": 51 | initExplainTree(); 52 | break; 53 | } 54 | } 55 | }); 56 | navtab = $("#rtab").ligerGetTabManager(); 57 | 58 | $("#datagrid").ligerGrid({ 59 | title: "30 Documents", 60 | height: "102%", 61 | url: '/getdata', 62 | parms: [{ name: "server", value: $("#serverName").val() }, { name: "db", value: $("#dbName").val() }, { name: "col", value: $("#collectionName").val() }, { name: "jsonfind", value: $("#Find").val() }, { name: "jsonfield", value: $("#Field").val() }, { name: "jsonsort", value: $("#Sort").val() }, { name: "skip", value: $("input[name='Skip']").val() }, { name: "limit", value: $("input[name='Limit']").val() }], 63 | dataType: 'server', 64 | dataAction: 'server', 65 | pageSize: 30, 66 | pageSizeOptions: [10, 20, 30, 40, 50, 100, 200, 500, 999], 67 | rownumbers: true, 68 | allowAdjustColWidth: true, 69 | isScroll: true, 70 | enabledSort: false, 71 | onRClickToSelect: true, 72 | onDblClickRow: function (data, rowindex, rowobj) { 73 | _id = data._id; 74 | viewclick(); 75 | }, 76 | onContextmenu: function (parm, e) { 77 | _id = parm.data._id; 78 | // TableView 79 | menu = $.ligerMenu({ 80 | width: 120, items: [{ text: '查看', click: viewclick }] 81 | }); 82 | menu.show({ top: e.pageY, left: e.pageX }); 83 | return false; 84 | }, 85 | toolbar: { 86 | items: [ 87 | { text: '导出', click: exportclick, img: 'lib/ligerui/skins/icons/save.gif' }, 88 | ] 89 | } 90 | }); 91 | datagrid = $("#datagrid").ligerGetGridManager(); 92 | 93 | //Tree 94 | $("#explainTree").ligerTree({ 95 | checkbox: false, 96 | slide: false, 97 | nodeWidth: "100%", 98 | textFieldName: 'ShowName', 99 | idFieldName: 'ID', 100 | parentIDFieldName: 'PID', 101 | slide: false, 102 | isExpand: 2, 103 | }); 104 | explainTree = $("#explainTree").ligerGetTreeManager(); 105 | 106 | $(document).bind("keydown", function (e) { 107 | e = window.event || e; 108 | if (e.keyCode == 116) { 109 | //e.keyCode = 0; 110 | f_search(); 111 | return false; //屏蔽F5刷新键 112 | } 113 | }); 114 | }); 115 | 116 | function f_select() { 117 | alert(1); 118 | } 119 | 120 | function viewclick(item, i) { 121 | $.ligerDialog.open({ 122 | width: $(window).width() * 0.9, 123 | height: $(window).height() * 0.9, 124 | title: "查看详细记录(" + _id + ")", 125 | url: '/showdatadetail', 126 | showMax: true, 127 | showToggle: false, 128 | showMin: false, 129 | isResize: true, 130 | slide: true, 131 | data: { 132 | server: $("#serverName").val(), 133 | db: $("#dbName").val(), 134 | col: $("#collectionName").val(), 135 | jsonfield: $("#Field").val(), 136 | did: _id, 137 | } 138 | }); 139 | } 140 | 141 | function exportclick(item, i) { 142 | $.ligerDialog.open({ 143 | width: $(window).width() * 0.2, 144 | height: $(window).height() * 0.22, 145 | title: "导出记录", 146 | url: '/showexportoptions', 147 | showMax: false, 148 | showToggle: false, 149 | showMin: false, 150 | isResize: false, 151 | slide: true, 152 | data: { 153 | server: $("#serverName").val(), 154 | db: $("#dbName").val(), 155 | col: $("#collectionName").val(), 156 | jsonfind: $("#Find").val(), 157 | jsonfield: $("#Field").val(), 158 | jsonsort: $("#Sort").val(), 159 | skip: $("input[name='Skip']").val(), 160 | limit: $("input[name='Limit']").val() 161 | } 162 | }); 163 | } 164 | 165 | function f_search(page) { 166 | if (navtab.getSelectedTabItemID() == "TextView") navtab.selectTabItem("TableView"); 167 | datagrid.options.parms = [{ name: "server", value: $("#serverName").val() }, { name: "db", value: $("#dbName").val() }, { name: "col", value: $("#collectionName").val() }, { name: "jsonfind", value: $("#Find").val() }, { name: "jsonfield", value: $("#Field").val() }, { name: "jsonsort", value: $("#Sort").val() }, { name: "skip", value: $("input[name='Skip']").val() }, { name: "limit", value: $("input[name='Limit']").val() }]; 168 | datagrid.options.newPage = page > 1 ? page : 1; 169 | datagrid.loadData(); 170 | } 171 | 172 | function initDataTextView() { 173 | var height = $(".l-tab-content").height(); 174 | var width = $(".l-tab-content").width(); 175 | $("#Canvas").height(height); 176 | $("#Canvas").width(width); 177 | $.ajax({ 178 | url: '/getdata', 179 | type: 'POST', 180 | data: [{ name: "server", value: $("#serverName").val() }, { name: "db", value: $("#dbName").val() }, { name: "col", value: $("#collectionName").val() }, { name: "jsonfind", value: $("#Find").val() }, { name: "jsonfield", value: $("#Field").val() }, { name: "jsonsort", value: $("#Sort").val() }, { name: "skip", value: $("input[name='Skip']").val() }, { name: "limit", value: $("input[name='Limit']").val() }, { name: "page", value: datagrid.options.newPage }, { name: "pageSize", value: datagrid.options.pageSize }, { name: "type", value: 1 }], 181 | cache: false, 182 | dataType: 'json', 183 | success: function (rst) { 184 | //$("#RawJson").val(rst.Rows); 185 | CollapsibleViewClicked(rst.Rows); 186 | }, 187 | error: function () { 188 | alert('请求发生异常,请重试'); 189 | } 190 | }); 191 | } 192 | 193 | function initExplainTree() { 194 | var height = $(".l-tab-content").height(); 195 | var width = $(".l-tab-content").width(); 196 | $("#explainInfo").height(height); 197 | $("#explainInfo").width(width); 198 | param = { server: $("#serverName").val(), db: $("#dbName").val(), col: $("#collectionName").val(), jsonfind: $("#Find").val(), jsonfield: $("#Field").val(), jsonsort: $("#Sort").val(), skip: $("input[name='Skip']").val(), limit: $("input[name='Limit']").val() }; 199 | 200 | try { 201 | explainTree.clear(); 202 | explainTree.nodeWidth = width; 203 | $("#explainTree_loading").show(); 204 | explainTree.loadData(null, "/explain", param); 205 | $("#explainTree_loading").hide(); 206 | } 207 | catch (e) { 208 | alert("请求发生异常,请重试"); 209 | } 210 | } -------------------------------------------------------------------------------- /src/MongoStudio/public/js/showdatadetail.js: -------------------------------------------------------------------------------- 1 | $(function () { 2 | var dialog = frameElement.dialog; 3 | 4 | $.ajax({ 5 | url: '/getdatadetail', 6 | type: 'POST', 7 | cache: false, 8 | data: { server: dialog.get('data').server, db: dialog.get('data').db, col: dialog.get('data').col, jsonfield: dialog.get('data').jsonfield, did: dialog.get('data').did }, 9 | dataType: 'json', 10 | success: function (rst) { 11 | if (rst.Success) { 12 | CollapsibleViewClicked(rst.Row); 13 | } else { 14 | alert(rst.Message); 15 | } 16 | }, 17 | error: function () { 18 | alert('请求发生异常,请重试'); 19 | } 20 | }); 21 | }); -------------------------------------------------------------------------------- /src/MongoStudio/public/js/showexportoptions.js: -------------------------------------------------------------------------------- 1 | var dialog = null; 2 | $(function () { 3 | dialog = frameElement.dialog; 4 | //创建表单结构 5 | form = $("#options").ligerForm({ 6 | inputWidth: 170, labelWidth: 90, space: 40, 7 | 8 | fields: [ 9 | { display: "token", name: "token", hidden: true, newline: true, type: "text", width: 120 }, 10 | { display: "导出类型", name: "soptions", newline: true, type: "select", options: { data: [{ id: "json", text: 'Json(.txt)', select: true }/*, { id: "excel", text: 'MS Excel(.xls)' }*/] }, width: 120 }, 11 | ], 12 | 13 | buttons: [ 14 | { text: '导出', width: 60, click: f_export }, 15 | { text: '关闭', width: 60, click: f_cancel } 16 | ] 17 | }); 18 | 19 | // 设置下拉框的默认值 20 | form.setData({ 21 | soptions: 'json' 22 | }); 23 | }); 24 | 25 | function f_export() { 26 | var type = liger.get("soptions").getValue(); 27 | var token = liger.get("token").getValue(); 28 | if (type == "json") { 29 | $.ajax({ 30 | url: '/getdata', 31 | type: 'POST', 32 | data: [{ name: "server", value: dialog.get('data').server }, { name: "db", value: dialog.get('data').db }, { name: "col", value: dialog.get('data').col }, { name: "jsonfind", value: dialog.get('data').jsonfind }, { name: "jsonfield", value: dialog.get('data').jsonfield }, { name: "jsonsort", value: dialog.get('data').jsonsort }, { name: "skip", value: dialog.get('data').skip }, { name: "limit", value: dialog.get('data').limit }, { name: "type", value: 1 }, { name: "isPager", value: 0 }], 33 | cache: false, 34 | dataType: 'json', 35 | success: function (rst) { 36 | CollapsibleViewClicked(rst.Rows); 37 | export_raw(dialog.get('data').col + new Date().getTime() + '.json', $("#Canvas").text()); 38 | }, 39 | error: function () { 40 | alert('请求发生异常,请重试'); 41 | } 42 | }); 43 | } 44 | else if (type == "excel") { 45 | // 暂时就这样 46 | // post("/exportdata?_token=" + token, { server: dialog.get('data').server, db: dialog.get('data').db, col: dialog.get('data').col, jsonfind: dialog.get('data').jsonfind, jsonfield: dialog.get('data').jsonfield, jsonsor: dialog.get('data').jsonsort, ski: dialog.get('data').skip, limit: dialog.get('data').limit }); 47 | } 48 | } 49 | 50 | function fake_click(obj) { 51 | var ev = document.createEvent("MouseEvents"); 52 | ev.initMouseEvent( 53 | "click", true, false, window, 0, 0, 0, 0, 0 54 | , false, false, false, false, 0, null 55 | ); 56 | obj.dispatchEvent(ev); 57 | } 58 | 59 | function export_raw(name, data) { 60 | var urlObject = window.URL || window.webkitURL || window; 61 | 62 | var export_blob = new Blob([data]); 63 | 64 | var save_link = document.createElementNS("http://www.w3.org/1999/xhtml", "a") 65 | save_link.href = urlObject.createObjectURL(export_blob); 66 | save_link.download = name; 67 | fake_click(save_link); 68 | } 69 | 70 | function f_cancel() { 71 | dialog.close(); 72 | } 73 | 74 | function post(URL, PARAMS) { 75 | var temp = document.createElement("form"); 76 | temp.action = URL; 77 | temp.method = "post"; 78 | temp.style.display = "none"; 79 | for (var x in PARAMS) { 80 | var opt = document.createElement("textarea"); 81 | opt.name = x; 82 | opt.value = PARAMS[x]; 83 | temp.appendChild(opt); 84 | } 85 | document.body.appendChild(temp); 86 | temp.submit(); 87 | //return temp; 88 | document.body.removeChild(temp); 89 | } -------------------------------------------------------------------------------- /src/MongoStudio/public/js/updatehistory.js: -------------------------------------------------------------------------------- 1 | $(f_init); 2 | 3 | function f_init() { 4 | var v107 = [ 5 | { tag: '查询', type: '需求', content: 'MongoDB C# Driver 升级' }, 6 | { tag: '索引', type: 'BUG', content: 'Unique Index bug 修复' }, 7 | ]; 8 | var v107 = [ 9 | { tag: '查询', type: '需求', content: 'MongoDB C# Driver 升级' }, 10 | ]; 11 | 12 | var v106 = [ 13 | { tag: '数据', type: 'Bug', content: '修复导出数据时因查询条件过长而导出失败' }, 14 | ]; 15 | 16 | var v105 = [ 17 | { tag: '格式', type: '优化', content: '时间格式再详细界面修整' }, 18 | { tag: '树', type: '优化', content: '树宽度调整' } 19 | ]; 20 | 21 | var v104 = [ 22 | { tag: '查询', type: 'BUG', content: '树节点定位浏览器兼容' }, 23 | { tag: '查询', type: 'BUG', content: '树高度与浏览器高度适应' } 24 | ]; 25 | 26 | var v103 = [ 27 | { tag: '查询', type: '需求', content: '新增字段过滤功能' } 28 | ]; 29 | 30 | var v102 = [ 31 | { tag: '列表', type: '需求', content: '按字母键和上下方向键快速定位到树节点' }, 32 | { tag: '查询', type: '需求', content: '提供了导出json和导出excel的功能' }, 33 | ]; 34 | 35 | var v101 = [ 36 | { tag: '列表', type: '需求', content: '增加集合下的索引节点展示' }, 37 | { tag: '列表', type: '需求', content: '服务器、数据库、集合、索引节点图片更改,便于区分' }, 38 | { tag: '查询', type: '需求', content: '提供了F5热键查询功能' }, 39 | { tag: '展示', type: '优化', content: '数据默认按_id升序排序' }, 40 | { tag: '展示', type: '优化', content: '值类型明确区分(去掉所有值类型的引号)' }, 41 | { tag: '展示', type: 'BUG', content: '解决查询数据为空时,表头说明不更新的问题' }, 42 | ]; 43 | 44 | f_addVersionLog('V1.0.7更新记录', v107); 45 | f_addVersionLog('V1.0.6更新记录', v106); 46 | f_addVersionLog('V1.0.5更新记录', v105); 47 | f_addVersionLog('V1.0.4更新记录', v104); 48 | f_addVersionLog('V1.0.3更新记录', v103); 49 | f_addVersionLog('V1.0.2更新记录', v102); 50 | f_addVersionLog('V1.0.1更新记录', v101); 51 | } 52 | 53 | function f_addVersionLog(title, items, subtitle) { 54 | var jtitle = $("

"); 55 | jtitle.html(title).appendTo('#updateLog'); 56 | if (subtitle) { 57 | $("
" + subtitle + "
").appendTo('#updateLog'); 58 | } 59 | var tagGroups = []; 60 | var tagItems = []; 61 | $(items).each(function (i, item) { 62 | if (!item) return; 63 | var tag = item['tag']; 64 | var tagIndex = $.inArray(tag, tagGroups); 65 | if (tagIndex == -1) { 66 | tagGroups.push(tag); 67 | tagIndex = tagGroups.length - 1; 68 | tagItems.push([]); 69 | } 70 | tagItems[tagIndex].push(item); 71 | }); 72 | $(tagGroups).each(function (i, item) { 73 | f_addVersionTagLog(item, tagItems[i]); 74 | }); 75 | } 76 | function f_addVersionTagLog(tag, items) { 77 | var jtitle = $("

"); 78 | jtitle.html(tag).appendTo('#updateLog'); 79 | $(items).each(function () { 80 | var jitem = $('

'); 81 | $("span:first", jitem).html("[" + this.type + "]"); 82 | jitem.append(this.content).appendTo('#updateLog'); 83 | }); 84 | } -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/json/Collapsed.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/json/Collapsed.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/json/Expanded.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/json/Expanded.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/json/c.js: -------------------------------------------------------------------------------- 1 | window.SINGLE_TAB = " "; 2 | window.ImgCollapsed = "/Content/JsonViewer/Collapsed.gif"; 3 | window.ImgExpanded = "/Content/JsonViewer/Expanded.gif"; 4 | window.QuoteKeys = true; 5 | function $id(id) { return document.getElementById(id); } 6 | function IsArray(obj) { 7 | return obj && 8 | typeof obj === 'object' && 9 | typeof obj.length === 'number' && 10 | !(obj.propertyIsEnumerable('length')); 11 | } 12 | 13 | function Process(json) { 14 | SetTab(); 15 | window.IsCollapsible = false;// $id("CollapsibleView").checked; 16 | //var json = $id("RawJson").value; 17 | var html = ""; 18 | try { 19 | if (json == "") json = "\"\""; 20 | var obj = $.parseJSON(json); 21 | if (IsArray(obj)) { 22 | for (var i = 0; i < obj.length; i++) { 23 | html += " /* " + i + " */\n"; 24 | html += ProcessObject(obj[i], 0, false, false, false); 25 | html += "\n"; 26 | } 27 | } 28 | else { 29 | html += ProcessObject(obj, 0, false, false, false); 30 | } 31 | $id("Canvas").innerHTML = "
" + html + "
"; 32 | } catch (e) { 33 | alert("JSON数据格式不正确:\n" + e.message); 34 | $id("Canvas").innerHTML = ""; 35 | } 36 | } 37 | window._dateObj = new Date(); 38 | window._regexpObj = new RegExp(); 39 | function ProcessObject(obj, indent, addComma, isArray, isPropertyContent) { 40 | var html = ""; 41 | var comma = (addComma) ? ", " : ""; 42 | var type = typeof obj; 43 | var clpsHtml = ""; 44 | if (IsArray(obj)) { 45 | if (obj.length == 0) { 46 | html += GetRow(indent, "[ ]" + comma, isPropertyContent); 47 | } else { 48 | clpsHtml = window.IsCollapsible ? "" : ""; 49 | //if (indent != 0) 50 | html += GetRow(indent, "[" + clpsHtml, isPropertyContent); 51 | for (var i = 0; i < obj.length; i++) { 52 | html += ProcessObject(obj[i], indent + 1, i < (obj.length - 1), true, false); 53 | } 54 | clpsHtml = window.IsCollapsible ? "" : ""; 55 | html += GetRow(indent, clpsHtml + "]" + comma); 56 | } 57 | } else if (type == 'object') { 58 | if (obj == null) { 59 | html += FormatLiteral("null", "", comma, indent, isArray, "Null"); 60 | } else if (obj.constructor == window._dateObj.constructor) { 61 | html += FormatLiteral("new Date(" + obj.getTime() + ") /*" + obj.toLocaleString() + "*/", "", comma, indent, isArray, "Date"); 62 | } else if (obj.constructor == window._regexpObj.constructor) { 63 | html += FormatLiteral("new RegExp(" + obj + ")", "", comma, indent, isArray, "RegExp"); 64 | } else { 65 | var numProps = 0; 66 | for (var prop in obj) numProps++; 67 | if (numProps == 0) { 68 | html += GetRow(indent, "{ }" + comma, isPropertyContent); 69 | } else { 70 | clpsHtml = window.IsCollapsible ? "" : ""; 71 | html += GetRow(indent, "{" + clpsHtml, isPropertyContent); 72 | 73 | var j = 0; 74 | 75 | for (var prop in obj) { 76 | 77 | var quote = window.QuoteKeys ? "\"" : ""; 78 | 79 | html += GetRow(indent + 1, "" + quote + prop + quote + ": " + ProcessObject(obj[prop], indent + 1, ++j < numProps, false, true)); 80 | 81 | } 82 | 83 | clpsHtml = window.IsCollapsible ? "" : ""; 84 | 85 | html += GetRow(indent, clpsHtml + "}" + comma); 86 | 87 | } 88 | 89 | } 90 | 91 | } else if (type == 'number') { 92 | 93 | html += FormatLiteral(obj, "", comma, indent, isArray, "Number"); 94 | 95 | } else if (type == 'boolean') { 96 | 97 | html += FormatLiteral(obj, "", comma, indent, isArray, "Boolean"); 98 | 99 | } else if (type == 'function') { 100 | 101 | if (obj.constructor == window._regexpObj.constructor) { 102 | 103 | html += FormatLiteral("new RegExp(" + obj + ")", "", comma, indent, isArray, "RegExp"); 104 | 105 | } else { 106 | 107 | obj = FormatFunction(indent, obj); 108 | 109 | html += FormatLiteral(obj, "", comma, indent, isArray, "Function"); 110 | 111 | } 112 | 113 | } else if (type == 'undefined') { 114 | 115 | html += FormatLiteral("undefined", "", comma, indent, isArray, "Null"); 116 | 117 | } else { 118 | 119 | html += FormatLiteral(obj.toString().split("\\").join("\\\\").split('"').join('\\"'), "\"", comma, indent, isArray, "String"); 120 | 121 | } 122 | 123 | return html; 124 | 125 | } 126 | 127 | function FormatLiteral(literal, quote, comma, indent, isArray, style) { 128 | 129 | if (typeof literal == 'string') 130 | 131 | literal = literal.split("<").join("<").split(">").join(">"); 132 | 133 | var str = "" + quote + literal + quote + comma + ""; 134 | 135 | if (isArray) str = GetRow(indent, str); 136 | 137 | return str; 138 | 139 | } 140 | 141 | function FormatFunction(indent, obj) { 142 | 143 | var tabs = ""; 144 | 145 | for (var i = 0; i < indent; i++) tabs += window.TAB; 146 | 147 | var funcStrArray = obj.toString().split("\n"); 148 | 149 | var str = ""; 150 | 151 | for (var i = 0; i < funcStrArray.length; i++) { 152 | 153 | str += ((i == 0) ? "" : tabs) + funcStrArray[i] + "\n"; 154 | 155 | } 156 | 157 | return str; 158 | 159 | } 160 | 161 | function GetRow(indent, data, isPropertyContent) { 162 | 163 | var tabs = ""; 164 | 165 | for (var i = 0; i < indent && !isPropertyContent; i++) tabs += window.TAB; 166 | 167 | if (data != null && data.length > 0 && data.charAt(data.length - 1) != "\n") 168 | 169 | data = data + "\n"; 170 | 171 | return tabs + data; 172 | 173 | } 174 | 175 | function CollapsibleViewClicked(json) { 176 | 177 | // $id("CollapsibleViewDetail").style.visibility = "hidden"; // $id("CollapsibleView").checked ? "visible" : "hidden"; 178 | 179 | Process(json); 180 | 181 | } 182 | 183 | 184 | 185 | function QuoteKeysClicked(json) { 186 | 187 | window.QuoteKeys = true;//$id("QuoteKeys").checked; 188 | 189 | Process(json); 190 | 191 | } 192 | 193 | 194 | 195 | function CollapseAllClicked(json) { 196 | 197 | EnsureIsPopulated(json); 198 | 199 | TraverseChildren($id("Canvas"), function (element) { 200 | 201 | if (element.className == 'collapsible') { 202 | 203 | MakeContentVisible(element, false); 204 | 205 | } 206 | 207 | }, 0); 208 | 209 | } 210 | 211 | function ExpandAllClicked(json) { 212 | 213 | EnsureIsPopulated(json); 214 | 215 | TraverseChildren($id("Canvas"), function (element) { 216 | 217 | if (element.className == 'collapsible') { 218 | 219 | MakeContentVisible(element, true); 220 | 221 | } 222 | 223 | }, 0); 224 | 225 | } 226 | 227 | function MakeContentVisible(element, visible) { 228 | 229 | var img = element.previousSibling.firstChild; 230 | 231 | if (!!img.tagName && img.tagName.toLowerCase() == "img") { 232 | 233 | element.style.display = visible ? 'inline' : 'none'; 234 | 235 | element.previousSibling.firstChild.src = visible ? window.ImgExpanded : window.ImgCollapsed; 236 | 237 | } 238 | 239 | } 240 | 241 | function TraverseChildren(element, func, depth) { 242 | 243 | for (var i = 0; i < element.childNodes.length; i++) { 244 | 245 | TraverseChildren(element.childNodes[i], func, depth + 1); 246 | 247 | } 248 | 249 | func(element, depth); 250 | 251 | } 252 | 253 | function ExpImgClicked(img) { 254 | 255 | var container = img.parentNode.nextSibling; 256 | 257 | if (!container) return; 258 | 259 | var disp = "none"; 260 | 261 | var src = window.ImgCollapsed; 262 | 263 | if (container.style.display == "none") { 264 | 265 | disp = "inline"; 266 | 267 | src = window.ImgExpanded; 268 | 269 | } 270 | 271 | container.style.display = disp; 272 | 273 | img.src = src; 274 | 275 | } 276 | 277 | function CollapseLevel(level, json) { 278 | 279 | EnsureIsPopulated(json); 280 | 281 | TraverseChildren($id("Canvas"), function (element, depth) { 282 | 283 | if (element.className == 'collapsible') { 284 | 285 | if (depth >= level) { 286 | 287 | MakeContentVisible(element, false); 288 | 289 | } else { 290 | 291 | MakeContentVisible(element, true); 292 | 293 | } 294 | 295 | } 296 | 297 | }, 0); 298 | 299 | } 300 | 301 | function TabSizeChanged(json) { 302 | 303 | Process(json); 304 | 305 | } 306 | 307 | function SetTab() { 308 | 309 | //var select = $id("TabSize"); 310 | 311 | window.TAB = MultiplyString(/*parseInt(select.options[select.selectedIndex].value)*/2, window.SINGLE_TAB); 312 | 313 | } 314 | 315 | function EnsureIsPopulated(json) { 316 | 317 | if (!$id("Canvas").innerHTML && !!json) Process(json); 318 | 319 | } 320 | 321 | function MultiplyString(num, str) { 322 | 323 | var sb = []; 324 | 325 | for (var i = 0; i < num; i++) { 326 | 327 | sb.push(str); 328 | 329 | } 330 | 331 | return sb.join(""); 332 | 333 | } 334 | 335 | function SelectAllClicked() { 336 | 337 | 338 | 339 | if (!!document.selection && !!document.selection.empty) { 340 | 341 | document.selection.empty(); 342 | 343 | } else if (window.getSelection) { 344 | 345 | var sel = window.getSelection(); 346 | 347 | if (sel.removeAllRanges) { 348 | 349 | window.getSelection().removeAllRanges(); 350 | 351 | } 352 | 353 | } 354 | 355 | 356 | 357 | var range = 358 | 359 | (!!document.body && !!document.body.createTextRange) 360 | 361 | ? document.body.createTextRange() 362 | 363 | : document.createRange(); 364 | 365 | 366 | 367 | if (!!range.selectNode) 368 | 369 | range.selectNode($id("Canvas")); 370 | 371 | else if (range.moveToElementText) 372 | 373 | range.moveToElementText($id("Canvas")); 374 | 375 | 376 | 377 | if (!!range.select) 378 | 379 | range.select($id("Canvas")); 380 | 381 | else 382 | 383 | window.getSelection().addRange(range); 384 | 385 | } 386 | 387 | function LinkToJson() { 388 | 389 | var val = $id("RawJson").value; 390 | 391 | val = escape(val.split('/n').join(' ').split('/r').join(' ')); 392 | 393 | $id("InvisibleLinkUrl").value = val; 394 | 395 | $id("InvisibleLink").submit(); 396 | 397 | } -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/json/s.css: -------------------------------------------------------------------------------- 1 | @charset "utf-8"; 2 | /* CSS Document */ 3 | div.ControlsRow, div.HeadersRow { 4 | font-family: Georgia; 5 | } 6 | 7 | div.Canvas { 8 | font-family: Lucida Console, Georgia; 9 | font-size: 13px; 10 | background-color: #ECECEC; 11 | color: #000000; 12 | border: solid 1px #CECECE; 13 | } 14 | 15 | .ObjectBrace { 16 | color: #00AA00; 17 | font-weight: bold; 18 | } 19 | 20 | .ArrayBrace { 21 | color: #0033FF; 22 | font-weight: bold; 23 | } 24 | 25 | .PropertyName { 26 | color: #CC0000; 27 | font-weight: bold; 28 | } 29 | 30 | .String { 31 | color: #007777; 32 | } 33 | 34 | .Number { 35 | color: #AA00AA; 36 | } 37 | 38 | .Boolean { 39 | color: #0000FF; 40 | } 41 | 42 | .Function { 43 | color: #AA6633; 44 | text-decoration: italic; 45 | } 46 | 47 | .Null { 48 | color: #0000FF; 49 | } 50 | 51 | .Comma { 52 | color: #000000; 53 | font-weight: bold; 54 | } 55 | 56 | PRE.CodeContainer { 57 | margin-top: 0px; 58 | margin-bottom: 0px; 59 | line-height: 20px; 60 | } 61 | 62 | PRE.CodeContainer img { 63 | cursor: pointer; 64 | border: none; 65 | margin-bottom: -1px; 66 | } 67 | 68 | #CollapsibleViewDetail a { 69 | padding-left: 10px; 70 | } 71 | 72 | #ControlsRow { 73 | white-space: nowrap; 74 | font: 11px Georgia; 75 | height: 2em; 76 | } 77 | 78 | #TabSizeHolder { 79 | padding-left: 10px; 80 | padding-right: 10px; 81 | } 82 | 83 | #HeaderTitle { 84 | text-align: right; 85 | font-size: 11px; 86 | } 87 | 88 | #HeaderSubTitle { 89 | margin-bottom: 2px; 90 | margin-top: 0px; 91 | } 92 | 93 | #RawJson { 94 | width: 99%; 95 | height: 120px; 96 | } 97 | 98 | A.OtherToolsLink { 99 | color: #555; 100 | text-decoration: none; 101 | } 102 | 103 | A.OtherToolsLink:hover { 104 | text-decoration: underline; 105 | } 106 | 107 | #Canvas { 108 | height: 100%; 109 | width: 100%; 110 | overflow: auto; 111 | } 112 | 113 | .Annotate{ 114 | color:#808080; 115 | } 116 | 117 | -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/css/ligerui-all.css: -------------------------------------------------------------------------------- 1 | @import url("ligerui-common.css"); 2 | @import url("ligerui-dialog.css"); 3 | @import url("ligerui-form.css"); 4 | @import url("ligerui-grid.css"); 5 | @import url("ligerui-layout.css"); 6 | @import url("ligerui-menu.css"); 7 | @import url("ligerui-tab.css"); 8 | @import url("ligerui-tree.css"); -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/css/ligerui-common.css: -------------------------------------------------------------------------------- 1 | /* ------------- 2 | * commom * 3 | * ------------- */ 4 | html{color:#000;background:#FFF;}body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{margin:0;padding:0;}table{border-collapse:collapse;border-spacing:0;}fieldset,img{border:0;}address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal;}li{list-style:none;}caption,th{text-align:left;}q:before,q:after{content:'';}abbr,acronym{border:0;font-variant:normal;}sup{vertical-align:text-top;}sub{vertical-align:text-bottom;}input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit;} 5 | legend{color:#000;}del,ins{text-decoration:none;} 6 | 7 | body{font-family: "微软雅黑", "宋体", Arial, sans-serif; font-size: 12px; } 8 | .l-clear{ clear:both; width:1px; height:1px; overflow:hidden;} 9 | .l-hidden {display: none;} 10 | .l-loading 11 | { 12 | position: absolute;z-index: 91000; top:40%; left:50%; overflow:hidden; 13 | background:url('../images/common/loading.gif') no-repeat 0px 0px;width:24px; height:24px; 14 | display:none; 15 | } 16 | /* ------------- 17 | * 滚动条颜色 * 18 | * ------------- */ 19 | .l-scroll 20 | { 21 | scrollbar-face-color:#C6D7FF; scrollbar-3dlight-color:#B5CBF7; scrollbar-darkshadow-color:#B5CBF7; 22 | scrollbar-base-color:#B5CBF7; 23 | scrollbar-shadow-color: #FFF; scrollbar-highlight-color: #FFF; scrollbar-track-color:#FFF; scrollbar-arrow-color:#4A6184; 24 | } 25 | .l-noscroll 26 | { 27 | overflow:hidden; 28 | } 29 | /* Draggable */ 30 | .l-draggable{ overflow:hidden; border-style:solid; border-width:1px; opacity:0.5; filter:alpha(opacity=50); position:absolute; top:0; left:0; z-index:14000; background:#f2f1f1; border-color:#aaa;} 31 | /* Resizable */ 32 | .l-resizable { display:none; overflow:hidden; border-style:dashed; border-width:1px; opacity:0.5; filter:alpha(opacity=50); position:absolute; top:0; left:0; z-index:15000; background:#f2f1f1; } 33 | 34 | .l-dragging-mask { 35 | width:100%;height:100%; overflow:hidden; position:absolute;top:0px; left:0px; z-index:11000; display:none; filter: Alpha 36 | (opacity=1);background:white; -moz-opacity:.01;opacity:0.01; 37 | } 38 | /* -------------- 39 | * icon * 40 | * ------------ */ 41 | .l-icon-checkbox {background:url('../images/icon/checkbox.gif') no-repeat center;} 42 | 43 | .l-icon-cross{background:url('../images/icon/cross.gif') no-repeat center; width:16px; height:16px; line-height:16px;} 44 | /* ------------- 45 | * 按钮 * 46 | * ------------- */ 47 | .l-button { 48 | height: 23px; 49 | overflow: hidden; 50 | width: 60px; 51 | line-height: 23px; 52 | cursor: pointer; 53 | position: relative; text-align:center; 54 | border: solid 1px #A3C0E8;color:#333333; 55 | background:#E0EDFF url(../images/controls/button-bg.gif) repeat-x center; 56 | } 57 | 58 | .l-button-over{ 59 | background: #FFBE76 url(../images/controls/button-bg-over.gif) repeat-x center; border-color:#D6A886; 60 | } 61 | .l-button-disabled { 62 | background-image:url('../images/common/button-disabled.gif'); color:#9D9D9E;border: solid 1px #D3D3D3; 63 | } 64 | .l-button-hasicon { 65 | padding-left: 20px; 66 | } 67 | .l-button-hasicon img { 68 | position:absolute; top:4px; left:3px; width:16px; height:16px; 69 | } 70 | /* 71 | Draggable 72 | */ 73 | .l-drag-proxy { border: 1px solid #BDD1EE;position: absolute;z-index: 1001;height:25px; line-height:25px; padding-left:19px; padding-right:4px; background:white; } 74 | .l-drag-proxy .l-drop-icon{position: absolute; top:5px; left:4px;width:16px; height:16px; } 75 | .l-drop-no{background: white url('../images/common/drop-icons.gif') no-repeat 0px -20px; width:16px; height:16px; overflow:hidden;} 76 | .l-drop-yes{background: white url('../images/common/drop-icons.gif') no-repeat 0px 0px; width:16px; height:16px; overflow:hidden;} 77 | .l-drop-add{background: white url('../images/common/drop-icons.gif') no-repeat -20px 0px; width:16px; height:16px; overflow:hidden;} 78 | .l-drag-coldroptip{width:9px; position:absolute; height:44px; z-index:1000;} 79 | .l-drop-move-up{background:transparent url('../images/common/drop-icons.gif') no-repeat -40px 0px; width:9px; height:9px; overflow:hidden;position:absolute; top:0px;} 80 | .l-drop-move-down{background: transparent url('../images/common/drop-icons.gif') no-repeat -60px 0px; width:9px; height:9px; overflow:hidden; position:absolute; bottom:0px;} 81 | 82 | .l-drag-nodedroptip,.l-drag-rowdroptip{width:9px; position:absolute; height:1px; background-color:red; z-index:1000; line-height:1px; overflow:hidden;} 83 | 84 | 85 | 86 | /* filter */ 87 | table.l-filter-group{ background:white; font-size:12px;} 88 | table.l-filter-group select,table.l-filter-group .valtxt{border:1px solid #d3d3d3;} 89 | table.l-filter-group .addgroup{} 90 | table.l-filter-group .addrule{} 91 | table.l-filter-group .deletegroup{} 92 | table.l-filter-group .deleterole{ cursor:pointer;} 93 | table.l-filter-group-alt{ background:#F2F2F2;} 94 | td.l-filter-groupcell{ padding-left:20px;} 95 | td.l-filter-column{ padding:2px;} 96 | td.l-filter-op{padding:2px;} 97 | td.l-filter-value{padding:2px;} 98 | tr.l-filter-rowlastcell{ text-align:right;_width:300px; min-width:300px;padding:2px;} 99 | table.l-filter-group-alt,.l-panel table.l-filter-group-alt{background:#f5f5f5;margin-left:20px; margin-top:4px; padding:5px;border:1px solid #d3d3d3;} 100 | table.l-filter-group-alt .l-filter-value{ padding-right:6px;} 101 | td.l-filter-cellgroup{ padding:3px;} 102 | table.l-filter-group-alt table.l-filter-group{background:white;margin-left:20px; margin-top:4px; padding:5px;border:1px solid #d3d3d3;} 103 | 104 | 105 | 106 | /* jquery ui party */ 107 | 108 | /* Layout helpers 109 | ----------------------------------*/ 110 | .ui-helper-hidden { 111 | display: none; 112 | } 113 | .ui-helper-hidden-accessible { 114 | border: 0; 115 | clip: rect(0 0 0 0); 116 | height: 1px; 117 | margin: -1px; 118 | overflow: hidden; 119 | padding: 0; 120 | position: absolute; 121 | width: 1px; 122 | } 123 | .ui-helper-reset { 124 | margin: 0; 125 | padding: 0; 126 | border: 0; 127 | outline: 0; 128 | line-height: 1.3; 129 | text-decoration: none; 130 | font-size: 100%; 131 | list-style: none; 132 | } 133 | .ui-helper-clearfix:before, 134 | .ui-helper-clearfix:after { 135 | content: ""; 136 | display: table; 137 | border-collapse: collapse; 138 | } 139 | .ui-helper-clearfix:after { 140 | clear: both; 141 | } 142 | .ui-helper-clearfix { 143 | min-height: 0; /* support: IE7 */ 144 | } 145 | .ui-helper-zfix { 146 | width: 100%; 147 | height: 100%; 148 | top: 0; 149 | left: 0; 150 | position: absolute; 151 | opacity: 0; 152 | filter:Alpha(Opacity=0); 153 | } 154 | 155 | .ui-front { 156 | z-index: 100; 157 | } 158 | /* Component containers 159 | ----------------------------------*/ 160 | .ui-widget { 161 | font-family: Verdana,Arial,sans-serif/*{ffDefault}*/; 162 | font-size: 1.1em/*{fsDefault}*/; 163 | } 164 | .ui-widget .ui-widget { 165 | font-size: 1em; 166 | } 167 | .ui-widget input, 168 | .ui-widget select, 169 | .ui-widget textarea, 170 | .ui-widget button { 171 | font-family: Verdana,Arial,sans-serif/*{ffDefault}*/; 172 | font-size: 1em; 173 | } 174 | .ui-widget-content { 175 | border: 1px solid #aaaaaa/*{borderColorContent}*/; 176 | background: #ffffff/*{bgColorContent}*/ url(../images/ui/ui-bg_flat_75_ffffff_40x100.png)/*{bgImgUrlContent}*/ 50%/*{bgContentXPos}*/ 50%/*{bgContentYPos}*/ repeat-x/*{bgContentRepeat}*/; 177 | color: #222222/*{fcContent}*/; 178 | } 179 | .ui-widget-content a { 180 | color: #222222/*{fcContent}*/; 181 | } 182 | .ui-widget-header { 183 | border: 1px solid #aaaaaa/*{borderColorHeader}*/; 184 | background: #cccccc/*{bgColorHeader}*/ url(../images/ui/ui-bg_highlight-soft_75_cccccc_1x100.png)/*{bgImgUrlHeader}*/ 50%/*{bgHeaderXPos}*/ 50%/*{bgHeaderYPos}*/ repeat-x/*{bgHeaderRepeat}*/; 185 | color: #222222/*{fcHeader}*/; 186 | font-weight: bold; 187 | } 188 | .ui-widget-header a { 189 | color: #222222/*{fcHeader}*/; 190 | } 191 | 192 | .ui-state-default, 193 | .ui-widget-content .ui-state-default, 194 | .ui-widget-header .ui-state-default { 195 | border: 1px solid #d3d3d3/*{borderColorDefault}*/; 196 | background: #e6e6e6/*{bgColorDefault}*/ url(../images/ui/ui-bg_glass_75_e6e6e6_1x400.png)/*{bgImgUrlDefault}*/ 50%/*{bgDefaultXPos}*/ 50%/*{bgDefaultYPos}*/ repeat-x/*{bgDefaultRepeat}*/; 197 | font-weight: normal/*{fwDefault}*/; 198 | color: #555555/*{fcDefault}*/; 199 | } 200 | .ui-state-default a, 201 | .ui-state-default a:link, 202 | .ui-state-default a:visited { 203 | color: #555555/*{fcDefault}*/; 204 | text-decoration: none; 205 | } 206 | .ui-state-hover, 207 | .ui-widget-content .ui-state-hover, 208 | .ui-widget-header .ui-state-hover, 209 | .ui-state-focus, 210 | .ui-widget-content .ui-state-focus, 211 | .ui-widget-header .ui-state-focus { 212 | border: 1px solid #999999/*{borderColorHover}*/; 213 | background: #dadada/*{bgColorHover}*/ url(../images/ui/ui-bg_glass_75_dadada_1x400.png)/*{bgImgUrlHover}*/ 50%/*{bgHoverXPos}*/ 50%/*{bgHoverYPos}*/ repeat-x/*{bgHoverRepeat}*/; 214 | font-weight: normal/*{fwDefault}*/; 215 | color: #212121/*{fcHover}*/; 216 | } 217 | .ui-state-hover a, 218 | .ui-state-hover a:hover, 219 | .ui-state-hover a:link, 220 | .ui-state-hover a:visited { 221 | color: #212121/*{fcHover}*/; 222 | text-decoration: none; 223 | } 224 | .ui-state-active, 225 | .ui-widget-content .ui-state-active, 226 | .ui-widget-header .ui-state-active { 227 | border: 1px solid #aaaaaa/*{borderColorActive}*/; 228 | background: #ffffff/*{bgColorActive}*/ url(../images/ui/ui-bg_glass_65_ffffff_1x400.png)/*{bgImgUrlActive}*/ 50%/*{bgActiveXPos}*/ 50%/*{bgActiveYPos}*/ repeat-x/*{bgActiveRepeat}*/; 229 | font-weight: normal/*{fwDefault}*/; 230 | color: #212121/*{fcActive}*/; 231 | } 232 | .ui-state-active a, 233 | .ui-state-active a:link, 234 | .ui-state-active a:visited { 235 | color: #212121/*{fcActive}*/; 236 | text-decoration: none; 237 | } 238 | /* Corner radius */ 239 | .ui-corner-all, 240 | .ui-corner-top, 241 | .ui-corner-left, 242 | .ui-corner-tl { 243 | border-top-left-radius: 4px/*{cornerRadius}*/; 244 | } 245 | .ui-corner-all, 246 | .ui-corner-top, 247 | .ui-corner-right, 248 | .ui-corner-tr { 249 | border-top-right-radius: 4px/*{cornerRadius}*/; 250 | } 251 | .ui-corner-all, 252 | .ui-corner-bottom, 253 | .ui-corner-left, 254 | .ui-corner-bl { 255 | border-bottom-left-radius: 4px/*{cornerRadius}*/; 256 | } 257 | .ui-corner-all, 258 | .ui-corner-bottom, 259 | .ui-corner-right, 260 | .ui-corner-br { 261 | border-bottom-right-radius: 4px/*{cornerRadius}*/; 262 | } -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/css/ligerui-dialog.css: -------------------------------------------------------------------------------- 1 | /* 任务栏 */ 2 | .l-taskbar{background-image:url('../images/win/taskbar.png'); background-repeat:repeat-x; height:36px; line-height:36px; overflow:hidden; width:100%; position:fixed; left:0px; bottom:-36px; display:none; z-index: 11000;} 3 | .l-taskbar-tasks{ width:100%; margin-top:2px;} 4 | .l-taskbar-task{ height:26px; line-height:26px;overflow:hidden; margin:2px; float:left; margin-left:2px; position:relative; cursor:pointer; background-repeat:repeat-x;} 5 | .l-taskbar-task{ background-image:url('../images/win/taskbar-task.gif'); border:1px solid #676F7F;} 6 | .l-taskbar-task-icon{ position:absolute; left:5px; top:3px;width:24px; height:25px; overflow:hidden;background:url('../images/win/taskicon.gif') no-repeat;} 7 | .l-taskbar-task-content{ margin-left:27px; color:White; font-weight:bold; margin-right:10px;} 8 | .l-taskbar-task-over{ border-color:#A7ADB5;background-position:0px -30px;} 9 | .l-taskbar-task-active{border-color:#A2A8AF;background-position:0px -60px; } 10 | .l-taskbar{_position:absolute;_bottom:auto;_top:expression(eval(document.documentElement.scrollTop+document.documentElement.clientHeight-this.offsetHeight-(parseInt(this.currentStyle.marginTop,10)||0)-(parseInt(this.currentStyle.marginBottom,10)||0))); _background-image:url('../images/win/taskbar.gif');} 11 | .l-taskbar-top{ bottom:auto; top:0px; background-color:White; padding-bottom:1px; border-bottom:1px solid #687079;} 12 | .l-taskbar-top{_position:absolute;_top:expression(eval(document.documentElement.scrollTop));} 13 | /* ------------------ 14 | * messagebox * 15 | * --------------- */ 16 | .l-messagebox{ position:absolute;top:100px; left:100px; width:300px; background:#F2F8FF;border-bottom:1px solid #82BCD8;z-index: 9001; } 17 | 18 | .l-messagebox-title,.l-messagebox-close,.l-messagebox-close-over,.l-messagebox-btn,.l-messagebox-btn-l,.l-messagebox-btn-r,.l-messagebox-lt,.l-messagebox-rt 19 | {background-image:url('../images/win/box.gif'); background-repeat:no-repeat;} 20 | .l-messagebox .l-messagebox-title{ background-repeat:repeat-x;} 21 | 22 | .l-messagebox-title{height:21px; line-height:21px; color:White; font-weight:bold; background-position:0px -99px;} 23 | 24 | 25 | 26 | .l-messagebox-image{ width:35px; height:35px; overflow:hidden; display:none; position:absolute; top:30px; left:15px;background:url('../images/win/box-icons.gif') no-repeat;} 27 | .l-messagebox-image-donne{background-position:0px 0px; } 28 | .l-messagebox-image-error{background-position:0px -115px; } 29 | .l-messagebox-image-question{background-position:0px -70px;height:45px; } 30 | .l-messagebox-image-warn{background-position:0px -35px; } 31 | .l-messagebox-title-inner{ padding-left:10px;} 32 | .l-messagebox-content{ padding-left:20px; padding-top:10px;padding-bottom:20px;} 33 | .l-messagebox-buttons{ height:30px; position:relative; text-align:center; margin-top:4px;} 34 | .l-messagebox-buttons-inner{ margin-left:10px;} 35 | .l-messagebox-close{ width:13px; height:13px; overflow:hidden; position:absolute; right:4px;top:4px; cursor:pointer; background-position:-8px -24px;} 36 | .l-messagebox-close-over{background-position:-8px -37px;} 37 | .l-messagebox-lt{width:3px; height:3px; overflow:hidden;position:absolute; top:0; left:0; z-index:12;background-position:0px -48px;} 38 | .l-messagebox-rt{width:3px; height:3px; overflow:hidden; position:absolute; top:0; right:0;z-index:12;background-position:-4px -48px;} 39 | .l-messagebox-l{ background:#82BCD8; width:1px; height:100%; position:absolute; top:0px; left:0px;overflow:hidden; } 40 | .l-messagebox-r{ background:#82BCD8; width:1px; height:100%; position:absolute; top:0px; right:0px; overflow:hidden; } 41 | 42 | .l-messagebox-btn{ height:24px; overflow:hidden;background:url('../images/win/box.gif') repeat-x; width:70px; line-height:24px; cursor:pointer; position:relative; float:left; margin-left:5px;} 43 | .l-messagebox-btn-inner{ text-align:center;} 44 | 45 | 46 | /* -------------- 47 | * window * 48 | * ------------ */ 49 | .l-window-mask{ 50 | position:absolute;left:0;top:0;width:100%;height:100%; filter:alpha(opacity=25);opacity:0.25;background:#777;display1:none;font-size:1px; *zoom:1;overflow:hidden; display:none;z-index: 9000; 51 | } 52 | .l-window-mask-nobackground{ 53 | position:absolute;left:0;top:0;width:100%;height:100%; display1:none;font-size:1px; *zoom:1;overflow:hidden; display:none;z-index: 9000; 54 | } 55 | .l-window-dragging 56 | { 57 | filter:alpha(opacity=80);opacity:0.80; 58 | } 59 | .l-window-dragging .l-window-content 60 | { 61 | visibility:hidden; 62 | } 63 | .l-window{ position:absolute; border:1px solid #AFCCF1;background:#F5F8F9;z-index: 9100;left:0; top:0;margin:0;padding:0; } 64 | .l-window-header{ position:relative;padding-left:10px; color:#183152; font-weight:bold;height:25px; line-height:24px; background:#E2EDFE url('../images/panel/panel-header.gif') repeat-x; overflow:hidden;} 65 | .l-window-header-buttons{position:absolute; top:3px; right:3px; height:20px; } 66 | .l-window-toggle{float:left;height:16px; width:16px; overflow:hidden; background:url('../images/panel/panel-tools.gif');background-position:0px 0px; cursor:pointer; margin-left:5px; } 67 | .l-window-min{float:left;height:16px; width:16px; overflow:hidden; background:url('../images/panel/panel-tools.gif');background-position:-16px 0px; cursor:pointer; margin-left:5px; } 68 | .l-window-max{float:left;height:16px; width:16px; overflow:hidden; background:url('../images/panel/panel-tools.gif');background-position:-16px -16px; cursor:pointer; margin-left:5px; } 69 | .l-window-regain{float:left;height:16px; width:16px; overflow:hidden; background:url('../images/panel/panel-tools.gif');background-position:-32px -16px; cursor:pointer; margin-left:5px; } 70 | .l-window-toggle-close 71 | { 72 | background-position:0px -16px; 73 | } 74 | .l-window-close{float:left;height:16px; width:16px; overflow:hidden; background:url('../images/panel/panel-tools.gif');background-position:-32px 0px; cursor:pointer; margin-left:5px; } 75 | .l-window-content{ overflow:hidden; width:100%;} 76 | .l-window-content-scroll{ overflow:scroll;} 77 | .l-window-content iframe{border:none; width:100%; height:100%;} 78 | 79 | 80 | /* -------------- 81 | * dialog * 82 | * ------------ */ 83 | .l-dialog{ position:absolute;z-index: 10000; padding:0; margin:0;font-size:12px; border: 1px solid #BED5F3;border-radius: 5px;box-shadow: 0 1px 6px rgba(99,99,99,.3);} 84 | .l-dialog table{ table-layout:auto;} 85 | .l-dialog-fixed 86 | { 87 | position:fixed; right:0px; bottom:-100px; 88 | _position:absolute;_bottom:auto;_top:expression(eval(document.documentElement.scrollTop+document.documentElement.clientHeight-this.offsetHeight-(parseInt(this.currentStyle.marginTop,10)||0)-(parseInt(this.currentStyle.marginBottom,10)||0))); 89 | } 90 | .l-dialog-table{ } 91 | .l-dialog-body{ position:relative; overflow:hidden;} 92 | .l-dialog{ padding:0; margin:0;font-size:12px; } 93 | .l-dialog td,.l-dialog tr,.l-dialog td div{font-size:12px; } 94 | .l-dialog-cc{ background:white;} 95 | .l-dialog-tl,.l-dialog-tr,.l-dialog-bl,.l-dialog-br,.l-dialog-cl,.l-dialog-cr{width:0px; background:none;padding:0;margin:0;} 96 | .l-dialog-tl,.l-dialog-tc,.l-dialog-tr{ height:26px;} 97 | .l-dialog-bl,.l-dialog-bc,.l-dialog-br{ height:0px;background:none;padding:0;margin:0;} 98 | 99 | 100 | .l-dialog-tl{ background:none;border-bottom: 1px solid #f5f5f5;} 101 | .l-dialog-tc{font-size: 14px;font-weight: bold;height: 30px;line-height: 30px;background: -webkit-gradient(linear, 0 0, 0 100%, from(#EFF5FE), to(#D6E4F4)); padding-left: 10px;background: -o-linear-gradient(top, #EFF5FE, #D6E4F4);_background:#EFF5FE; 102 | background: -ms-linear-gradient(top, #EFF5FE 0%,#D6E4F4 100%); 103 | background: linear-gradient(top, #EFF5FE, #D6E4F4);background: -moz-linear-gradient(top, #EFF5FE, #D6E4F4); 104 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#EFF5FE', endColorstr='#D6E4F4'); 105 | 106 | } 107 | .l-dialog-tr{background:none;border-bottom: 1px solid #f5f5f5;} 108 | .l-dialog-bl{background:none;} 109 | .l-dialog-bc{background:none;} 110 | .l-dialog-br{background:none;} 111 | .l-dialog-cl{background:none;} 112 | .l-dialog-cr{background:none;} 113 | .l-dialog-cl{background:none;} 114 | .l-dialog-cl,.l-dialog-cc,.l-dialog-cr{border-top: 1px solid #BED5F3;} 115 | 116 | 117 | 118 | .l-dialog-winbtns{ position:absolute;right:0px; top:4px; height:16px;} 119 | .l-dialog-winbtn{background:url('../images/win/dialog-winbtns.gif') no-repeat;cursor:pointer;overflow:hidden; width:17px; height:16px; float:right; margin-right:4px;} 120 | 121 | .l-dialog-close{background-position:-85px 0px;} 122 | .l-dialog-close-over{background-position:-85px -16px;} 123 | .l-dialog-close-disabled{background-position:-24px -32px; cursor:default;} 124 | .l-dialog-min{ background-position:0px 0px;} 125 | .l-dialog-min-over{background-position:0px -16px;} 126 | .l-dialog-min-disabled{background-position:0px -32px;cursor:default;} 127 | .l-dialog-max{background-position:-17px 0px;} 128 | .l-dialog-max-over{background-position:-17px -16px;} 129 | .l-dialog-max-disabled{background-position:-17px -32px;cursor:default;} 130 | .l-dialog-recover{background-position:-34px 0px;} 131 | .l-dialog-recover-over{background-position:-34px -16px;} 132 | .l-dialog-recover-disabled{background-position:-34px -32px;cursor:default;} 133 | 134 | .l-dialog-collapse{background-position:-51px 0px;} 135 | .l-dialog-collapse-over{background-position:-51px -16px;} 136 | .l-dialog-collapse-disabled{background-position:-51px -32px;cursor:default;} 137 | .l-dialog-extend{background-position:-68px 0px;} 138 | .l-dialog-extend-over{background-position:-68px -16px;} 139 | .l-dialog-extend-disabled{background-position:-68px -32px;cursor:default;} 140 | 141 | .l-dialog-tc-inner{ position:relative;height:26px; line-height:26px; width:100%; } 142 | .l-dialog-title { color:#000;font-weight:bold; font-weight:700; text-shadow:none; padding-left:3px; padding-right:20px; text-align:left; padding-top:0px;} 143 | 144 | .l-dialog-content{ padding-left:18px; padding-top:14px;padding-bottom:12px; overflow:auto;} 145 | .l-dialog-content-noimage {padding-left:6px; padding-top:10px;padding-bottom:10px;} 146 | .l-dialog-content-dragging iframe { } 147 | .l-dialog-win .l-dialog-content{ } 148 | .l-dialog-content-nopadding{ padding:0;} 149 | .l-dialog-content iframe {border: none;width: 100%;height: 100%;} 150 | .l-dialog-image{ width:48px; height:48px; overflow:hidden; display:none; position:absolute; top:10px; left:10px;background:url('../images/win/dialog-icons.gif') no-repeat;} 151 | .l-dialog-image-donne{ background-position:0px 0px; } 152 | .l-dialog-image-error{ background-position:0px -48px; } 153 | .l-dialog-image-question{ background-position:0px -144px; } 154 | .l-dialog-image-warn{ background-position:0px -96px; } 155 | 156 | .l-dialog-image-loading{ background:white url('../images/common/loading2.gif') no-repeat center; width:28px; height:28px;} 157 | 158 | .l-dialog-buttons{ height:30px; line-height:30px; position:relative;margin-top:4px;padding-top:6px; border-top:1px solid #D3E3F7; overflow:hidden; margin-bottom:2px;} 159 | .l-dialog-buttons-inner{} 160 | 161 | .l-dialog-btn-l,.l-dialog-btn-r{display:none;} 162 | .l-dialog-buttons 163 | { 164 | padding: 4px 8px; 165 | text-align: right; 166 | white-space: nowrap; 167 | border-top: 1px solid #ececec; 168 | border-radius: 0 0 2px 2px; 169 | background: #fcfcfc; 170 | background: -moz-linear-gradient(top, #fcfcfc, #f4f4f4); 171 | background: -webkit-gradient(linear, 0 0, 0 100%, from(#fcfcfc), to(#f4f4f4)); 172 | background: -o-linear-gradient(top, #fcfcfc, #f4f4f4); 173 | background: -ms-linear-gradient(top, #fcfcfc 0%,#f4f4f4 100%); 174 | background: linear-gradient(top, #fcfcfc, #f4f4f4); 175 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fcfcfc', endColorstr='#f4f4f4'); 176 | } 177 | .l-dialog-btn{ 178 | display: inline-block; 179 | zoom: 1; 180 | margin-left: 10px; 181 | height: 24px; 182 | border: 1px solid #c1c1c1; 183 | border-radius: 2px; 184 | box-shadow: 0 1px 1px rgba(0,0,0,0.15); 185 | background: #ffffff; 186 | background: -moz-linear-gradient(top, #ffffff, #f4f4f4); 187 | background: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#f4f4f4)); 188 | background: -o-linear-gradient(top, #ffffff, #f4f4f4); 189 | background: -ms-linear-gradient(top, #ffffff 0%,#f4f4f4 100%); 190 | background: linear-gradient(top, #ffffff, #f4f4f4); 191 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#f4f4f4'); 192 | font: 12px 宋体b8b\4f53; 193 | color: #555; 194 | vertical-align: middle; 195 | cursor: pointer; 196 | } 197 | .l-dialog-btn-highlight { 198 | border: 1px solid #3279a0; 199 | box-shadow: 0 1px 1px rgba(0,0,0,0.3); 200 | background: #337fa9; 201 | background: -moz-linear-gradient(top, #4994be, #337fa9); 202 | background: -webkit-gradient(linear, 0 0, 0 100%, from(#4994be), to(#337fa9)); 203 | background: -o-linear-gradient(top, #4994be, #337fa9); 204 | background: -ms-linear-gradient(top, #4994be 0%,#337fa9 100%); 205 | background: linear-gradient(top, #4994be, #337fa9); 206 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#4994be', endColorstr='#337fa9'); 207 | font-weight: bold; 208 | color: #fff; 209 | text-shadow: 0 2px 2px rgba(0,0,0,0.22); 210 | } 211 | .l-dialog-btn:hover 212 | { 213 | background: #f4f4f4; 214 | color: #555; 215 | } 216 | .l-dialog-btn-highlight:hover 217 | { 218 | filter: progid:DXImageTransform.Microsoft.Gradient(enabled=false); 219 | background: #3286b4; 220 | color: #fff; 221 | } 222 | .l-dialog-content-frame { 223 | overflow:hidden; 224 | } 225 | .l-dialog-btn{ height:25px; overflow:hidden; width:70px; line-height:25px; cursor:pointer; position:relative; float:right; margin-right:5px;} 226 | 227 | .l-dialog-btn-inner{ text-align:center;} 228 | 229 | 230 | .l-dialog-inputtext{ width:280px; border:1px solid #0099CC; line-height:23px; height:25px;} 231 | .l-dialog-textarea{ width:280px; border:1px solid #0099CC; height:80px;} 232 | 233 | .l-messagebox-btn {background-position:0px 0px;} 234 | .l-messagebox-btn-over { background-position:0px -51px;} 235 | 236 | .l-messagebox-btn-l { height:24px; position:absolute; left:0px; top:0px; width:4px;background-position:0px -24px;} 237 | .l-messagebox-btn-over .l-messagebox-btn-l {background-position:0px -75px;} 238 | .l-messagebox-btn-r { height:24px; position:absolute; right:0px; top:0px; width:4px;background-position:-4px -24px;} 239 | .l-messagebox-btn-over .l-messagebox-btn-r {background-position:-4px -75px;} 240 | 241 | 242 | /* 选择窗口,填充模式,隐藏滚动条 */ 243 | .l-selectorwin .l-dialog-content { 244 | overflow:hidden; padding:0px; 245 | } 246 | .l-selectorwin .l-dialog-content .l-form { 247 | margin:0; padding:2px; background:#EAF2FF;border-bottom: 1px solid #AECAF0; 248 | } 249 | .l-selectorwin .l-dialog-buttons { 250 | margin-top: 0; 251 | } 252 | .l-selectorwin .l-panel { 253 | border:0; 254 | } -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/css/ligerui-grid.css: -------------------------------------------------------------------------------- 1 |  2 | /* ----------------------- 3 | * 表格 * 4 | * ----------------------- */ 5 | .l-grid-mask{ 6 | position:absolute;left:0;top:0;width:100%;height:100%; 7 | display1:none;font-size:1px; *zoom:1;overflow:hidden; display:none;z-index: 9000; 8 | } 9 | .l-selectorwin .l-panel { 10 | 11 | } 12 | .l-panel table{ width:auto;} 13 | .l-panel table,.l-panel td{ margin:0; padding:0;} 14 | .l-panel-btn 15 | { 16 | display:block; 17 | height:22px; overflow:hidden; line-height:22px; position:relative; 18 | padding-left:15px; padding-right:15px; cursor:pointer; 19 | text-align:center;color: #2C4D79; text-decoration:none; cursor:pointer; 20 | } 21 | .l-panel-btn .l-panel-btn-l,.l-panel-btn .l-panel-btn-r{ display:none;} 22 | .l-panel-btn-over,.l-panel-btn-selected{background: #E0EDFF url(../images/panel/panel-btn.gif) repeat-x;} 23 | .l-panel-btn-over .l-panel-btn-l,.l-panel-btn-over .l-panel-btn-r,.l-panel-btn-selected .l-panel-btn-l,.l-panel-btn-selected .l-panel-btn-r{ display:block; } 24 | .l-panel-btn-l 25 | { 26 | position:absolute; width:3px; left:0px; top:0px;height:22px; 27 | background: #E0EDFF url(../images/panel/panel-btn-l.gif) no-repeat; 28 | } 29 | .l-panel-btn-r 30 | {position:absolute; width:3px; right:0px; top:0px;height:22px; 31 | background: #E0EDFF url(../images/panel/panel-btn-r.gif) no-repeat; 32 | } 33 | .l-panel-header{ 34 | color: #15428B; 35 | font-weight: bold; 36 | font-size: 11px; 37 | height:24px; 38 | border-bottom:1px solid #99BBE8; 39 | background: url('../images/panel/header-bg.gif') repeat-x left -1px; position:relative; 40 | } 41 | .l-panel-header-hasicon{ padding-left:13px;} 42 | .l-panel-header img{ position:absolute; left:6px; top:5px; width:16px; height:16px; border:0px;} 43 | .l-panel-header-text{ line-height:22px;padding-left:10px;} 44 | 45 | .l-panel-body 46 | { 47 | position:relative; overflow:hidden; width:100%; 48 | } 49 | 50 | .l-panel .l-toolbar { 51 | background:none;border:0; 52 | } 53 | .l-panel-topbar { 54 | padding:0; 55 | } 56 | .l-panel-topbarinner { 57 | float:right; 58 | } 59 | .l-panel-topbarinner-left 60 | { 61 | float:left; 62 | } 63 | .l-panel-topbartitle { 64 | font-weight:bold; padding:0;margin:0;margin-left:9px; 65 | } 66 | .l-panel-topbartitle-hasicon { 67 | padding-left:24px;position:relative; 68 | } 69 | .l-panel-topbaricon { 70 | width:16px; height:16px; position:absolute; left:0px; top:6px; 71 | } 72 | .l-panel-body .l-grid 73 | { 74 | 75 | } 76 | .l-grid 77 | { 78 | position:relative;text-align:left; 79 | } 80 | .l-grid-empty .l-grid-body-inner { 81 | width:100%; 82 | } 83 | .l-grid-hashorizontal .l-grid-body1 .l-jplace { 84 | height:19px; 85 | } 86 | .l-grid td div 87 | { 88 | font-size:12px; 89 | } 90 | .l-grid table{border-spacing:0 0;} 91 | .l-grid-header { 92 | border-bottom: 1px solid #A3C0E8; 93 | height: 22px; 94 | line-height: 22px; 95 | background: #E2F0FF url('../images/grid/header-bg.gif') repeat-x left bottom; 96 | overflow: hidden; 97 | width: 100%; 98 | } 99 | .l-grid-scroller { 100 | position: relative; 101 | top: 0px; 102 | left: 0px; height:220px;overflow: auto; 103 | } 104 | .l-grid-scroller-noscroll 105 | { 106 | height:auto;overflow:hidden; 107 | } 108 | .l-grid-body 109 | { 110 | position: relative; width:100%; 111 | top: 0px; 112 | left: 0px; overflow: auto; 113 | } 114 | .l-grid-body-table 115 | { 116 | 117 | } 118 | .l-grid-body-table tr.l-checked td 119 | { 120 | background:#DCF8A8 121 | } 122 | .l-grid-popup 123 | { 124 | background: #eee url(../images/grid/popup-line.gif) repeat-y -1px top; 125 | border: 1px solid #ccc; 126 | border-top: 0px; 127 | overflow: auto; 128 | left: 0px; 129 | position: absolute; 130 | z-index: 999; display:none; 131 | } 132 | .l-grid-loading 133 | { 134 | position: absolute;z-index: 91000; border:1px solid #9BBBE6; top:40%; left:50%; 135 | background:white url('../images/common/loading.gif') no-repeat 8px 6px; padding-left:38px; 136 | padding-top:10px; padding-bottom:10px; padding-right:10px; margin-left:-60px; display:none; 137 | } 138 | .l-grid-editor 139 | { 140 | position: absolute;z-index: 999;display:none; text-align:center; 141 | } 142 | .l-grid-editor .l-checkbox-wrapper{ margin-top:2px;} 143 | .l-grid-popup table 144 | { 145 | display: table; 146 | border-collapse: separate; 147 | border-color: gray; margin:2px; 148 | } 149 | .l-grid-popup table tbody 150 | {display: table-row-group; 151 | vertical-align: middle; 152 | border-color: inherit; 153 | } 154 | .l-grid-popup table td 155 | { 156 | padding: 2px 3px; 157 | cursor: default; 158 | } 159 | .l-grid-popup td.l-column-left 160 | { 161 | border-right: 1px solid #ccc; 162 | } 163 | 164 | .l-grid-popup td.l-column-right 165 | { 166 | border-left: 1px solid #fff; 167 | padding-right: 10px; 168 | } 169 | 170 | .l-grid-popup tr:hover .l-column-right,.l-grid-popup tr.l-popup-row-over .l-column-right 171 | { 172 | border-right: 1px solid #d2e3ec;border-top: 1px solid #d2e3ec;border-bottom: 1px solid #d2e3ec; 173 | } 174 | 175 | .l-grid-popup tr:hover .l-column-left,.l-grid-popup tr.l-popup-row-over .l-column-left 176 | { 177 | border-left: 1px solid #d2e3ec;border-top: 1px solid #d2e3ec;border-bottom: 1px solid #d2e3ec; 178 | } 179 | .l-grid-popup table tr:hover,.l-grid-popup table tr.l-popup-row-over 180 | { 181 | background: #d5effc url(../images/grid/popup-row-over.gif) repeat-x top; 182 | border: 1px solid #a8d8eb; 183 | } 184 | .l-grid-hd-cell-mul 185 | { 186 | border-bottom: 1px solid #A3C0E8; 187 | } 188 | .l-grid-hd-cell-detail 189 | { 190 | padding:0; margin:0; 191 | } 192 | .l-grid-hd-cell-inner 193 | { 194 | text-align:center; 195 | } 196 | 197 | .l-grid-dragging-line 198 | { 199 | background:#EC4262;width:1px;position:absolute; display:none; z-index:9999; padding:0; margin:0; 200 | } 201 | .l-grid-hd-cell-dropleft 202 | { 203 | position:absolute;left:0px;top:0px; 204 | display: block;background: url(../images/icon/icon-prev.gif) no-repeat -2px center;width: 16px;height: 24px; 205 | z-index: 3; display:none; 206 | } 207 | .l-grid-hd-cell-dropright 208 | { 209 | position:absolute;right:0px;top:0px; 210 | display: block;background: url(../images/icon/icon-next.gif) no-repeat 0px center;width: 16px;height: 24px; 211 | z-index: 3; display:none; 212 | } 213 | .l-grid-hd-cell-drop 214 | { 215 | position:absolute;right:-1px;top:0px;display: block; width:2px; height:24px; z-index:3; cursor:e-resize; 216 | } 217 | .l-grid-hd-cell-sort 218 | { 219 | overflow:hidden; 220 | } 221 | .l-grid-hd-cell-sort-asc 222 | { 223 | background:url('../images/icon/icon-sort-asc.gif') no-repeat center; 224 | } 225 | .l-grid-hd-cell-sort-desc 226 | { 227 | background:url('../images/icon/icon-sort-desc.gif') no-repeat center; 228 | } 229 | .l-grid-hd-cell-btn 230 | { 231 | position:absolute; right:0px; top:0px; overflow:hidden; border-left:1px solid #C1D6F0; cursor:pointer; 232 | } 233 | .l-grid-hd-cell-btn span 234 | { 235 | border-left:1px solid #F1F5FC; width:14px; height:22px;background:url('../images/icon/icon-down.gif') no-repeat 2px 8px; display:block; 236 | } 237 | .l-grid-hd-cell-drophandle 238 | { 239 | width:5px; height:22px; cursor:col-resize; float:right;position:absolute; top:0px; right:-3px; 240 | } 241 | .l-grid-hd-cell-text 242 | { 243 | text-align:center; 244 | cursor:pointer; 245 | overflow:hidden; 246 | } 247 | .l-grid-hd-cell 248 | { 249 | padding:0; margin:0;overflow:hidden; 250 | border-right:1px solid #A3C0E8; 251 | text-align:center; 252 | } 253 | .l-grid-hd-cell-last 254 | { 255 | 256 | } 257 | .l-grid-hd-cell-over,.l-grid-hd-cell-on 258 | { 259 | } 260 | .l-grid-row 261 | { 262 | } 263 | .l-grid-row-last 264 | { 265 | } 266 | .l-grid-totalsummary 267 | { 268 | border-bottom:1px solid #A3C0E8; background:#EEF3FF; padding-top:5px; padding-bottom:5px; 269 | } 270 | .l-grid-totalsummary-nobottom 271 | { 272 | border-bottom:none; 273 | } 274 | .l-grid-totalsummary td 275 | { 276 | border-right:1px solid #EEF3FF; text-align:center;line-height: 23px; 277 | } 278 | .l-grid-totalsummary .l-grid-totalsummary-cell-last 279 | { border-right:1px solid #A3C0E8; 280 | } 281 | .l-grid-totalsummary .l-grid-totalsummary-cell-inner 282 | { 283 | margin-left:3px; margin-right:3px; min-height:23px;_height:23px; 284 | } 285 | .l-grid-totalsummary .l-grid-totalsummary-cell-inner div 286 | { 287 | height:22px; line-height:22px; 288 | } 289 | /* 290 | detail 291 | */ 292 | .l-grid-detailpanel 293 | { 294 | border-right:1px solid #A3C0E8;border-bottom:1px solid #A3C0E8; 295 | } 296 | .l-grid-detailpanel-inner 297 | { 298 | overflow:auto; margin-bottom:2px; 299 | } 300 | 301 | .l-grid-row-alt .l-grid-row-cell 302 | { 303 | background:#F5F5F5; 304 | } 305 | .l-grid-row-over .l-grid-row-cell,.l-grid-row-over 306 | { 307 | background:#E0ECFF 308 | } 309 | .l-selected .l-grid-row-cell,.l-selected 310 | { 311 | background:#DCF8A8 312 | } 313 | 314 | .l-grid-row-cell 315 | { 316 | overflow:hidden; 317 | border-right:1px solid #A3C0E8;border-bottom:1px solid #A3C0E8; 318 | text-align:center;overflow:hidden; 319 | } 320 | .l-grid-row-last .l-grid-row-cell 321 | {border-bottom:none; 322 | } 323 | .l-grid-row-cell-last 324 | { 325 | 326 | } 327 | .l-grid-row-cell-detail .l-grid-row-cell-inner{margin-left:0px; margin-right:0px; width:27px; overflow:hidden;} 328 | .l-grid-row-cell-detail .l-grid-row-cell-inner span 329 | { 330 | display:block; width:21px; height:21px; background:url('../images/grid/grid-detail-close.gif') no-repeat 5px 5px; 331 | cursor:pointer; overflow:hidden; 332 | } 333 | .l-grid-row-cell-detail .l-grid-row-cell-inner span.l-open 334 | { 335 | background:url('../images/grid/grid-detail-open.gif') no-repeat 5px 5px; 336 | } 337 | 338 | .l-grid-row-cell-checkbox .l-grid-row-cell-inner{margin-left:0px; margin-right:0px;} 339 | .l-grid-row-cell-checkbox span,.l-grid-hd-cell-checkbox .l-grid-hd-cell-inner div 340 | { 341 | display:block; width:13px; height:13px; background:url('../images/controls/checkbox.gif') no-repeat; 342 | background-position:0px 0px; 343 | cursor:pointer; overflow:hidden; margin-left:7px; margin-top:3px; 344 | } 345 | .l-checked .l-grid-row-cell-checkbox span,.l-checked .l-grid-hd-cell-checkbox .l-grid-hd-cell-inner div 346 | { 347 | background-position:0px -13px; 348 | } 349 | .l-selected .l-grid-row-cell-checkbox span,.l-selected .l-grid-hd-cell-checkbox .l-grid-hd-cell-inner div 350 | { 351 | background-position:0px -13px; 352 | } 353 | .l-grid-hd-cell-inner { 354 | overflow: hidden; 355 | } 356 | .l-grid-hd-cell-checkbox 357 | { 358 | padding:0; margin:0; 359 | } 360 | 361 | .l-grid-row-cell-edited .l-grid-row-cell-inner 362 | { 363 | background-image:url('../images/icon/icon-edited.gif'); 364 | background-repeat:no-repeat; 365 | background-position:2px 2px; 366 | } 367 | .l-grid-row-cell-inner 368 | { 369 | text-align:center;line-height:22px; min-height:22px; _height:22px; 370 | margin-left:3px; margin-right:3px; overflow:hidden; 371 | } 372 | .l-grid-row-cell-inner-fixedheight 373 | { 374 | height:22px; 375 | } 376 | .l-panel-bar 377 | { 378 | height:32px;background:#C9DFFF url('../images/panel/bar-bg.gif') repeat-x left bottom;overflow:hidden;border:0; 379 | border-top:1px solid #84A0C4; 380 | } 381 | .l-panel-bbar-inner 382 | { 383 | margin-top: 3px; 384 | padding-left: -2px; 385 | width:100%; position:relative; min-width:530px;_width:530px; 386 | } 387 | .l-bar-message 388 | { 389 | position:absolute; right:0px; 390 | } 391 | .l-bar-group { 392 | float: left; 393 | background: none; 394 | height: 24px; 395 | margin: 0px 5px; 396 | } 397 | .l-bar-right 398 | { 399 | float:right; 400 | } 401 | .l-bar-separator { 402 | float: left; 403 | height: 18px; 404 | border-left: 1px solid #9AC6FF; 405 | border-right: 1px solid white; 406 | margin: 2px; 407 | } 408 | .l-bar-button { 409 | float: left; 410 | width: 22px; 411 | height: 22px; 412 | border: 0px; 413 | cursor: pointer; 414 | overflow: hidden; 415 | margin-top: 4px; 416 | } 417 | .l-bar-button-over 418 | { 419 | background: url(../images/icon/bar-button-over.gif) no-repeat center; 420 | } 421 | .l-bar-button span { 422 | width: 16px; 423 | height: 16px; 424 | display: block; margin-left:2px; margin-top:2px; 425 | float: left; overflow:hidden; 426 | } 427 | .l-bar-btnfirst span 428 | { 429 | background: url(../images/icon/icon-first.gif) no-repeat; background-position:0px 0px; 430 | } 431 | .l-bar-btnprev span { 432 | background: url(../images/icon/icon-prev.gif) no-repeat ; background-position:0px 0px; 433 | } 434 | .l-bar-btnnext span { 435 | background: url(../images/icon/icon-next.gif) no-repeat; background-position:0px 0px; 436 | } 437 | .l-bar-btnlast span { 438 | background: url(../images/icon/icon-last.gif) no-repeat; background-position:0px 0px; 439 | } 440 | .l-bar-btnload span { 441 | background: url(../images/icon/icon-load.gif) no-repeat; background-position:0px 0px; 442 | } 443 | .l-bar-btnloading span { 444 | background: url(../images/icon/icon-loading.gif) no-repeat; background-position:0px 0px; 445 | } 446 | .l-bar-button .l-disabled 447 | { 448 | background-position:0px -16px; 449 | } 450 | .l-bar-text 451 | { 452 | line-height:20px; 453 | } 454 | 455 | /* 456 | grouping 457 | */ 458 | .l-grid .l-grid-grouprow{ border-right:1px solid #A3C0E8} 459 | .l-grid .l-grid-grouprow-cell{ padding:6px; border-bottom:1px solid #A3C0E8; background:#EAF3FF;} 460 | .l-grid .l-grid-group-togglebtn{background:url('../images/grid/grid-detail-open.gif') no-repeat center; cursor:pointer} 461 | .l-grid .l-grid-group-togglebtn-close{background:url('../images/grid/grid-detail-close.gif') no-repeat center;} 462 | .l-grid .l-grid-totalsummary-group td{ background-color:#F5EEFB; border-color:#F5EEFB;} 463 | /* 464 | foot total 465 | */ 466 | .l-panel-bar-total{ background:#F5F9FF; padding:8px; border-top:1px solid #84A0C4;} 467 | /* 468 | tree grid 469 | */ 470 | .l-grid-tree-space 471 | { 472 | width:18px; height:20px; line-height:20px; overflow:hidden; float:left; 473 | } 474 | .l-grid-tree-link-open 475 | { 476 | cursor:pointer;background:url('../images/grid/grid-tree-open.gif') no-repeat center; 477 | } 478 | .l-grid-tree-link-close 479 | { 480 | cursor:pointer;background:url('../images/grid/grid-tree-close.gif') no-repeat center; 481 | } 482 | /* 483 | frozen grid 484 | */ 485 | .l-grid1{ display:none;} 486 | .l-grid1 .l-grid-body{overflow:hidden;} 487 | .l-grid1 .l-grid-detailpanel{border-right:1px solid white;} 488 | .l-frozen .l-grid2{position:absolute; top:0px; left:0px; width:100%; } 489 | .l-frozen .l-grid2 .l-grid-body{overflow-x:auto;} 490 | .l-frozen .l-grid1{position:absolute; top:0px; left:0px;display:block;} 491 | 492 | 493 | .l-grid-gray 494 | {border-top:1px solid #DDDDDD; 495 | } 496 | .l-grid-gray .l-grid-header 497 | { 498 | border-bottom:1px solid #DDDDDD; 499 | background:#E2F0FF url('../images/grid/header2-bg.jpg') repeat-x left bottom; 500 | } 501 | .l-grid-gray .l-grid-hd-cell 502 | { 503 | border-right:1px solid #DDDDDD; 504 | } 505 | .l-grid-gray .l-grid-row-cell { 506 | border-bottom: 1px solid #DDDDDD; 507 | border-right: 1px solid #DDDDDD; 508 | } 509 | /* 510 | 菜单条 511 | */ 512 | .l-menubar 513 | { 514 | background: url('../images/panel/panel-menu.gif') repeat-x; height:24px; border:1px solid #ADBED6;border-top:1px solid #EFF7F7; 515 | 516 | } 517 | .l-menubar-item 518 | { 519 | float:left; margin-left:6px; 520 | } 521 | .l-menubar-item-down 522 | { 523 | width:7px; height:4px; line-height:4px; 524 | background:url('../images/panel/panel-menu-item-down.gif') no-repeat center; position:absolute; right:4px; top:9px; top:9px\9;_top:4px; 525 | } 526 | .l-menubar-item-over 527 | { 528 | } 529 | /* 530 | 工具条 531 | */ 532 | .l-toolbar 533 | { 534 | background:#CEDFEF url('../images/panel/panel-toolbar.gif') repeat-x; height:23px; 535 | border:1px solid #9CBAE7; border-top:1px solid #EFF7F7; 536 | } 537 | .l-toolbar-item 538 | { 539 | float:left;margin-left:4px; 540 | } 541 | .l-toolbar-item .l-icon,.l-toolbar-item img{ position:absolute; left:2px; top:2px; display:block;} 542 | .l-toolbar-item img{ width:16px; height:16px; border:0px;} 543 | .l-toolbar-item-hasicon{ padding-left:22px;} 544 | .l-toolbar-item-disable{cursor:default;} 545 | .l-toolbar-item-disable span{color: #A1A1A1;} 546 | .l-toolbar-item-color{border: 1px solid #ccc;position: absolute;width: 14px;height: 14px;left: 3px;top: 3px;} 547 | /* 548 | 搜索栏 549 | */ 550 | .l-panel-search 551 | {height:28px; padding-top:3px; padding-left:3px; 552 | border-left:1px solid #99BBE8; border-right:1px solid #99BBE8; 553 | } 554 | .l-panel-search-item 555 | { 556 | float:left; margin-left:5px; 557 | } 558 | 559 | /* 560 | 编辑 561 | */ 562 | .l-grid-row-cell-editing-topcell {border-bottom-color:#CC8F81;} 563 | .l-grid-row-cell-editing-leftcell {border-right-color:#CC8F81;} 564 | .l-grid-row-cell-editing{ border-color:#CC8F81;} 565 | .l-grid-row-cell .l-text,.l-grid-editor .l-text{ border:0px; border:none;} 566 | .l-grid-detailpanel-edit{ padding-top:7px;padding-bottom:3px; background-color:#FAFAFF;} 567 | .l-grid-detailpanel .l-editbox{ float:left; margin:2px;margin-left:6px; margin-right:10px;} 568 | .l-grid-detailpanel .l-button{float:left;margin:2px;margin-left:4px; margin-right:6px;} 569 | .l-grid-detailpanel .l-clear{ clear:both;} 570 | 571 | 572 | .l-grid-row-alt .l-grid-row-cell-rownumbers,.l-selected .l-grid-row-cell-rownumbers,.l-grid-row-over .l-grid-row-cell-rownumbers,.l-grid-row-cell-rownumbers{ background:#E0ECFF;} 573 | 574 | -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/css/ligerui-layout.css: -------------------------------------------------------------------------------- 1 |  2 | /* -------------- 3 | * layout * 4 | * ------------ */ 5 | .l-layout{ position:relative;} 6 | .l-layout-left,.l-layout-right,.l-layout-center,.l-layout-top,.l-layout-bottom,.l-layout-centerbottom{position:absolute;border:1px solid #BED5F3; background:white; z-index:10; overflow:hidden;} 7 | .l-layout-top{width:100%;} 8 | .l-layout-bottom{width:100%} 9 | 10 | .l-layout-left .l-layout-header-toggle{position:absolute; top:3px; right:3px; height:20px; width:20px; overflow:hidden; background:url('../images/layout/togglebar.gif');background-position:-20px 0px; cursor:pointer;} 11 | .l-layout-left .l-layout-header-toggle-over{ background-position:-20px -20px;} 12 | 13 | .l-layout-right .l-layout-header-toggle{position:absolute; top:3px; left:3px; height:20px; width:20px; overflow:hidden; background:url('../images/layout/togglebar.gif');background-position:-20px -40px; cursor:pointer;} 14 | .l-layout-right .l-layout-header-toggle-over{ background-position:-20px -60px;} 15 | 16 | .l-layout-center .l-layout-header{ cursor:default;} 17 | .l-layout-centerbottom .l-layout-header{ cursor:default;} 18 | 19 | .l-layout-header{ position:relative;padding-left:10px; color:#183152; font-weight:bold;height:25px; line-height:24px; background:#E5EFFE url('../images/layout/layout-header.gif') repeat-x; overflow:hidden; cursor:pointer} 20 | .l-layout-header-inner{padding-right:22px;} 21 | .l-layout-right .l-layout-header-inner { padding-left:22px; padding-right:auto;} 22 | .l-layout-header-over{background:#EFF4FE url('../images/layout/layout-header-over.gif') repeat-x;} 23 | 24 | .l-layout-collapse-left,.l-layout-collapse-right{ width:24px; background:#EAF2FE;border:1px solid #B8D0D6; position:absolute;top:0px; display:none; height:100%;z-index:10;} 25 | .l-layout-collapse-left-over,.l-layout-collapse-right-over{background:#F5F9FA;} 26 | .l-layout-collapse-left-toggle,.l-layout-collapse-right-toggle{position:absolute; height:20px; width:20px; overflow:hidden; background:url('../images/layout/togglebar.gif');cursor:pointer;} 27 | .l-layout-collapse-left{left:2px;} 28 | .l-layout-collapse-left-toggle{top:0px; right:2px; background-position:-20px -40px;} 29 | .l-layout-collapse-left-toggle-over{background-position:-20px -60px;} 30 | 31 | .l-layout-collapse-right{right:2px;} 32 | .l-layout-collapse-right-toggle{top:0px; left:2px; background-position:-20px 0px;} 33 | .l-layout-collapse-right-toggle-over{background-position:-20px -20px;} 34 | 35 | 36 | 37 | .l-layout-drophandle-left{ position:absolute;width:5px;cursor:col-resize; z-index:10;display:none;} 38 | .l-layout-drophandle-right{ position:absolute;width:5px;cursor:col-resize; z-index:10;display:none;} 39 | .l-layout-drophandle-top{ position:absolute;height:5px;cursor:row-resize; z-index:10;display:none; line-height:1px;overflow:hidden;} 40 | .l-layout-drophandle-bottom{ position:absolute;height:5px;cursor:row-resize; z-index:10;display:none;line-height:1px;overflow:hidden;} 41 | 42 | .l-layout-drophandle-centerbottom{ position:absolute;height:5px;cursor:row-resize; z-index:10;display:none;line-height:1px;overflow:hidden;} 43 | 44 | .l-layout-dragging-xline{ background:#E0E4E2;height:4px;position:absolute;display:none; z-index:9999; padding:0; margin:0;line-height:1px; overflow:hidden;} 45 | .l-layout-dragging-yline{ background:#E0E4E2;width:4px;position:absolute;display:none; z-index:9999; padding:0; margin:0;} 46 | .l-layout-lock{ position:absolute; width:100%; height:100%; display:none; z-index:9990; margin:0; padding:0;} 47 | .l-layout-content{position:relative; background:white; overflow:hidden;} 48 | 49 | .l-layout-drophandle{ position:absolute; top:0px; left:-5px; width:5px;cursor:col-resize; z-index:10;height:100%; display:none;} 50 | .l-layout-collapse{ width:24px; background:#EAF2FE;border:1px solid #B8D0D6; position:absolute; top:0px; left:4px; display:none; height:100%;z-index:10;} 51 | .l-layout-collapse-over{background:#F5F9FA;} 52 | .l-layout-collapse-toggle{position:absolute; top:0px; right:2px; height:20px; width:20px; overflow:hidden; background:url('../images/layout/togglebar.gif');background-position:-20px -40px; cursor:pointer;} 53 | .l-layout-collapse-toggle-over{background-position:-20px -60px;} 54 | .l-layout-dragging-line{ background:#E0E4E2;width:4px;position:absolute;top:0px; display:none; z-index:9999; padding:0; margin:0;height:100%;} 55 | 56 | .l-layout-xmask { 57 | cursor: col-resize;z-index:9990; 58 | } 59 | .l-layout-ymask { 60 | cursor: row-resize;z-index:9990; 61 | } 62 | /* -------------- 63 | * accordion * 64 | * ------------ */ 65 | .l-accordion-panel{ border-left:1px solid #BED5F3; border-right:1px solid #BED5F3; border-bottom:1px solid #BED5F3; } 66 | .l-accordion-toggle{ position:absolute; top:2px; right:4px; height:20px; width:20px; overflow:hidden; background:url('../images/layout/togglebar.gif');cursor:pointer;} 67 | .l-accordion-toggle-close{ background-position:0px 0px;} 68 | .l-accordion-toggle-close-over{ background-position:0px -20px;} 69 | .l-accordion-toggle-open{ background-position:0px -40px;} 70 | .l-accordion-toggle-open-over{ background-position:0px -60px;} 71 | .l-accordion-header{ position:relative;padding-left:10px; color:#183152; font-weight:bold;height:25px; line-height:24px; background:#E5EFFE url('../images/layout/accordion-header.gif') repeat-x; overflow:hidden; cursor:pointer;} 72 | .l-accordion-header-over{background:#EFF4FE url('../images/layout/accordion-header-over.gif') repeat-x;} 73 | .l-accordion-content{position:relative;overflow:auto; background:white url('../images/layout/accordion-content.gif') repeat-x;} 74 | 75 | .l-layout-left .l-accordion-panel{ border-left:none; border-right:none; } 76 | 77 | 78 | /* -------------- 79 | * panel * 80 | * ------------ */ 81 | .l-panel { 82 | border: 1px solid #99BBE8; 83 | position: relative; 84 | text-align: left; 85 | } 86 | .l-panel-dragging { 87 | z-index:999; 88 | } 89 | .l-panel-content { 90 | background: white; 91 | } 92 | .l-panel-loading{ position: absolute;z-index: 91000; top:0; left:0;background:white url('../images/common/bigloading.gif') no-repeat center 40%; width:100%; height:100%;_height:800px;display:none;} 93 | .l-panel-header{ position:relative;padding-left:10px; color:#183152; font-weight:bold;height:25px; line-height:24px; background:#E5EFFE url('../images/layout/panel-header2.gif') repeat-x; overflow:hidden; } 94 | .l-panel-header-toggle{ height:20px; width:20px; overflow:hidden; background:url('../images/layout/togglebar.gif');background-position:-60px 0px; cursor:pointer; float:right;} 95 | .l-panel-header-toggle-hide {background-position:-60px -40px;} 96 | .l-panel-header-close{ height:20px; width:20px; overflow:hidden; background:url('../images/layout/togglebar.gif');background-position:-40px -20px; cursor:pointer; float:right;} 97 | .l-panel-header .icons { 98 | width:80px; position:absolute; right:0px;top:0px; 99 | } 100 | .l-panel-content iframe { 101 | width: 100%; 102 | height: 100%; 103 | overflow: hidden; 104 | } 105 | 106 | /* -------------- 107 | * Portal * 108 | * ------------ */ 109 | .l-portal .l-row-dragging { 110 | 111 | } 112 | .l-panel-place { 113 | width:100%; height:180px; border:1px dashed #88B0E4; background:white; 114 | margin-bottom:10px; 115 | } 116 | .l-column-place { 117 | height:4px;width:100%; 118 | } 119 | .l-portal .l-row-dragging .l-column-place { 120 | border:1px dashed #C48AD7; 121 | } 122 | .l-column-empty .l-column-place { 123 | height:80px; 124 | } 125 | .l-portal .l-row { 126 | clear:both;margin-bottom:7px; 127 | } 128 | .l-portal .l-column { 129 | float:left;margin-right:10px; 130 | } 131 | .l-portal .l-column .l-panel { 132 | margin-bottom:10px; 133 | } 134 | -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/css/ligerui-menu.css: -------------------------------------------------------------------------------- 1 |  2 | /* -------------- 3 | * menu * 4 | * ------------ */ 5 | 6 | .l-menu { border:1px solid #979797; background:#F5F5F5;position:absolute; overflow:hidden; padding-bottom:2px; z-index:1001} 7 | .l-menu-shadow{z-index:1000; 8 | FILTER: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2); 9 | BACKGROUND: #ddd; 10 | -moz-border-radius: 5px; 11 | -webkit-border-radius: 5px; 12 | -moz-box-shadow: 2px 2px 3px rgba(0, 0, 0, 0.2); 13 | -webkit-box-shadow: 2px 2px 3px rgba(0, 0, 0, 0.2); 14 | position: absolute;} 15 | .l-menu-inner{ position:relative;width:100%;z-index:103;} 16 | .l-menu-over{position:absolute;top:-24px;left:2px; z-index:102; height:22px; overflow:hidden;background:url('../images/menu/menu-item-over-m.gif') repeat-x;width:97%;} 17 | .l-menu-yline { background:url('../images/menu/menu-line-y.gif') repeat-y; width:2px; height:2000px; position:absolute; left:28px; top:1px; z-index:101;} 18 | .l-menu-over-l{background:url('../images/menu/menu-item-over-l.gif') no-repeat; width:28px; height:22px; position:absolute;top:0; left:0;} 19 | .l-menu-over-r{background:url('../images/menu/menu-item-over-r.gif') no-repeat; width:3px;height:22px; position:absolute;top:0; right:0;} 20 | .l-menu-item { position:relative; height:23px; line-height:23px; width:100%; cursor:pointer;} 21 | .l-menu-item-line{background:url('../images/menu/menu-line-x.gif') repeat-x; height:2px; width:100%; margin-top:1px; margin-bottom:1px; margin-left:30px; line-height:2px; overflow:hidden;} 22 | .l-menu-item-arrow{background:url('../images/menu/menu-item-arrow.gif') no-repeat; position:absolute; top:8px; right:9px; width:4px; height:7px;} 23 | .l-menu-item-text{color:#000000;left: 33px;position: absolute;top: 0;} 24 | .l-menu-item-icon{ left: 3px;top: 0;position: absolute; width:25px; height:22px; overflow:hidden;} 25 | .l-menu-item-color{border: 1px solid #cccccc;left: 6px;top: 3px;position: absolute;width: 16px;height: 16px;overflow: hidden;} 26 | .l-menu-item-disable{ cursor:default;} 27 | .l-menu-item-disable .l-menu-item-text{ color:#A1A1A1;} -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/css/ligerui-tab.css: -------------------------------------------------------------------------------- 1 |  2 | /* ----------------------- 3 | * tab * 4 | * ----------------------- */ 5 | 6 | .l-tab-loading{ position: absolute;z-index: 91000; top:0; left:0;background:white url('../images/common/bigloading.gif') no-repeat center 40%; width:100%; height:100%;_height:800px;display:none;} 7 | 8 | .l-tab-links{position:relative; height:26px; background:#F0F5F6; width:100%; overflow:hidden; 9 | background:url('../images/layout/tabs-bg.gif') repeat-x; border-bottom:1px solid #BED5F3;} 10 | .l-tab-links-left{position:absolute; top:1px; left:0; width:17px; height:23px; overflow:hidden; background:url(../images/layout/tabs-tools.gif) 0px 0px; z-index:13; cursor:pointer;} 11 | .l-tab-links-right{ position:absolute; top:1px; right:0;width:17px; height:23px; overflow:hidden;background:url(../images/layout/tabs-tools.gif) -51px 0px;z-index:13; cursor:pointer;} 12 | .l-tab-links-left-over{ background-position:-17px 0px;} 13 | .l-tab-links-right-over{ background-position:-68px 0px;} 14 | .l-tab-links-left-invalid{ background-position:-34px 0px;} 15 | .l-tab-links-right-invalid{ background-position:-85px 0px;} 16 | 17 | 18 | .l-tab-switch { position:absolute; top:1px; right:0;width:17px; height:23px; overflow:hidden;background:url(../images/layout/tabs-tools.gif) -102px 0px;z-index:13; cursor:pointer; display:none; } 19 | .l-tab-itemswitch 20 | { 21 | width: 26px;border-top-right-radius: 3px;background: #fff; position:relative; 22 | } 23 | .l-tab-links .l-tab-itemswitch a 24 | { 25 | width:7px;height:4px; line-height:4px;background:url(../images/layout/tabs-tools.gif) 0px -30px; position:absolute; 26 | left : 50%;top:50%;margin-left:-4px; margin-top:-2px; 27 | } 28 | .l-tab-switchable .l-tab-links-right 29 | { 30 | right:18px; 31 | } 32 | .l-tab-switchable .l-tab-switch 33 | { 34 | display:block; 35 | } 36 | .l-tab-windowsswitch 37 | { 38 | border:1px solid #BED5F3; padding:1px; background:#ffffff;position: absolute; 39 | z-index: 9900; 40 | } 41 | .l-tab-windowsswitch a 42 | { 43 | display:block; text-decoration:none; height:24px; line-height:24px; border:1px solid #fff; color:#333; padding:0 5px; 44 | width:130px; overflow:hidden;margin:1px; 45 | } 46 | .l-tab-windowsswitch a:hover 47 | { 48 | border:1px solid #d3d3d3; 49 | background:#f9f9f9; 50 | } 51 | .l-tab-windowsswitch a.selected 52 | { 53 | border:1px solid #B9D2F2; 54 | background:#CADDF5; 55 | } 56 | 57 | .l-tab-links ul{ list-style:none; margin:0; padding:0; width:9999px; height:26px; overflow:hidden; position:absolute; top:0; left:0;} 58 | .l-tab-links li{ float:left; margin:0; padding:0; margin-left:2px; height: 26px; line-height:26px; cursor:pointer;background:url(../images/layout/tabs-item-bg.gif); position:relative; overflow:hidden; border:none; } 59 | .l-tab-links li.l-selected{background:url(../images/layout/tabs-item-over-bg.gif);} 60 | .l-tab-links li a{ display:block; margin-left:6px; margin-right:37px; text-decoration:none; color:#333;} 61 | .l-tab-links-item-left{ position:absolute;top:0; left:0;width:2px; height:26px; background:url(../images/layout/tabs-item-left-bg.gif)} 62 | .l-tab-links-item-right{position:absolute;top:0; right:0;width:2px; height:26px;background:url(../images/layout/tabs-item-right-bg.gif)} 63 | 64 | .l-tab-links-item-close{ width:11px; height:11px; overflow:hidden; position:absolute; top:4px; right:2px; z-index:12;background:url(../images/icon/icon-close.gif); cursor:pointer;} 65 | .l-tab-links-item-close-over{background:url(../images/icon/icon-close-over.gif);} 66 | 67 | .l-tab-content{ margin:0 auto; padding:0; border:none; width:100%;} 68 | .l-tab-content-item{ width:100%; height:100%; overflow:hidden; position:relative;} 69 | .l-tab-content-item iframe{width:100%; height:100%; border:none;} 70 | 71 | 72 | .l-tab-drag-proxy { border: 1px solid #BDD1EE;position: absolute;z-index: 1001;height:25px; line-height:25px; padding-left:19px; padding-right:4px; background:white; } 73 | .l-tab-drag-proxy .l-drop-icon{position: absolute; top:5px; left:4px;width:16px; height:16px; } 74 | .l-drop-no{background: white url('../images/common/drop-icons.gif') no-repeat 0px -20px; width:16px; height:16px; overflow:hidden;} 75 | .l-drop-yes{background: white url('../images/common/drop-icons.gif') no-repeat 0px 0px; width:16px; height:16px; overflow:hidden;} 76 | 77 | .l-tab-drag-droptip 78 | { 79 | width:9px; position:absolute; top:30px; left:30px; height:44px; z-index:1000; 80 | } 81 | .l-tab-drag-droptip .l-drop-move-up{ position:absolute; top:0px;} 82 | .l-tab-drag-droptip .l-drop-move-down{ position:absolute; bottom:0px;} 83 | 84 | .l-drop-move-up{background:transparent url('../images/common/drop-icons.gif') no-repeat -40px 0px; width:9px; height:9px; overflow:hidden;} 85 | .l-drop-move-down{background: transparent url('../images/common/drop-icons.gif') no-repeat -60px 0px; width:9px; height:9px; overflow:hidden;} 86 | /* ----------------------- 87 | * easytab * 88 | * ----------------------- */ 89 | .l-easytab{ padding:0px; position:relative;} 90 | .l-easytab .l-easytab-header{margin:0; padding:0; list-style:none;position:absolute; top:0px; left:0px; z-index:101;} 91 | .l-easytab .l-easytab-header { padding-left:3px;} 92 | .l-easytab .l-easytab-header li{ float:left; margin-left:2px;} 93 | .l-easytab .l-easytab-header li span{ display:block; line-height:22px; height:22px; padding-left:8px; padding-right:8px; background:url('../images/controls/bg-tab-title.gif') repeat-x; color:#333; text-decoration:none;border:1px solid #AECAF0; color:#283B56; border-bottom:none;} 94 | .l-easytab .l-easytab-header li span.l-over{background:url('../images/controls/bg-tab-title-over.gif') repeat-x;border:1px solid #DAB364; cursor:pointer;border-bottom:none;} 95 | .l-easytab .l-easytab-header li span.l-selected{ background:none; background:white; border-top:3px solid #FFBD69;height:20px;color:#355686; border-left:1px solid #DAB364;border-right:1px solid #DAB364;border-bottom:1px solid white;border-bottom:none; } 96 | .l-easytab .l-easytab-panelbox{ border:1px solid #AECAF0; clear:left; position:absolute;top:23px; padding:4px;z-index:100;} -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/css/ligerui-tree.css: -------------------------------------------------------------------------------- 1 |  2 | /* -------------- 3 | * tree * 4 | * ------------ */ 5 | .l-tree 6 | { 7 | margin:0; padding:0; list-style:none; overflow:hidden; position:relative; display:block; background:white; 8 | } 9 | .l-tree-loading 10 | { 11 | position: absolute;z-index: 91000; top:40%; left:50%; overflow:hidden; 12 | background:url('../images/tree/loading.gif') no-repeat 0px 0px;width:24px; height:24px; 13 | display:none; 14 | } 15 | .l-tree a,.l-tree span{color: #333;height: 22px;line-height: 22px; text-decoration:none;} 16 | .l-tree .l-body span 17 | { 18 | display: block; 19 | float: left;_display: inherit;_float:none;*display: inherit;*float:none; 20 | } 21 | .l-tree ul,.l-tree li{list-style:none; margin:0; padding:0;} 22 | .l-tree li {clear: both;display: block;cursor: pointer;} 23 | .l-tree li .l-body{ height:22px;line-height: 22px; overflow:hidden;width: 2000px;} 24 | .l-tree .l-box 25 | { 26 | width:22px; height:22px; overflow:hidden; float:left; background:url('../images/tree/tree.gif');background-position:-22px -220px; 27 | } 28 | .l-tree li .l-body .l-box-loading 29 | { 30 | background:url('../images/tree/nodeloading4.gif') no-repeat 5px 5px; cursor:default; 31 | } 32 | .l-tree-noline .l-box 33 | { 34 | background-image:url('../images/tree/tree-noline.gif'); 35 | } 36 | .l-tree .l-expandable-close{background-position:0px -44px;} 37 | .l-tree .l-first .l-expandable-close{background-position:0px -22px;} 38 | .l-tree .l-last .l-expandable-close{ background-position:0px -66px;} 39 | .l-tree .l-onlychild .l-expandable-close{background-position:0px 0px;} 40 | 41 | .l-tree .l-expandable-open{background-position:0px -132px;} 42 | .l-tree .l-first .l-expandable-open{background-position:0px -110px;} 43 | .l-tree .l-last .l-expandable-open{ background-position:0px -154px;} 44 | .l-tree .l-onlychild .l-expandable-open{background-position:0px -88px;} 45 | 46 | .l-tree .l-over 47 | { 48 | background: none; 49 | } 50 | .l-tree .l-over span 51 | { 52 | text-decoration:underline; 53 | } 54 | .l-tree .l-selected 55 | { 56 | background: none; 57 | } 58 | .l-tree .l-selected span{background: #D9E8FB; border:1px solid #B5CBEC; padding:0px 2px;height: 20px; 59 | line-height: 20px;} 60 | 61 | .l-tree .l-line{background-position:0px -176px;} 62 | .l-tree .l-note{ background-position:0px -198px;} 63 | 64 | .l-tree .l-note{ background-position:0px -198px;} 65 | .l-tree .l-note-last{ background-position:0px -220px;} 66 | .l-tree .l-checkbox-unchecked{ background-position:-22px 0px;} 67 | .l-tree .l-checkbox-checked{ background-position:-22px -22px;} 68 | .l-tree .l-checkbox-incomplete{ background-position:-22px -44px;} 69 | 70 | .l-tree .l-over .l-checkbox-unchecked{ background-position:-44px 0px;} 71 | .l-tree .l-over .l-checkbox-checked{ background-position:-44px -22px;} 72 | .l-tree .l-over .l-checkbox-incomplete{ background-position:-44px -44px;} 73 | 74 | 75 | .l-tree .l-tree-icon-folder{ background-position:-22px -88px;} 76 | .l-tree .l-tree-icon-none{ background:none;} 77 | .l-tree .l-tree-icon-none img{border: 0;height: 16px;width: 16px; top:2px; margin-top:2px; margin-left:2px;} 78 | .l-tree .l-tree-icon-folder-open{background-position:-44px -88px;} 79 | .l-tree .l-tree-icon-leaf{background-position:-22px -110px;} -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/common/bigloading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/common/bigloading.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/common/button-disabled.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/common/button-disabled.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/common/button-over.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/common/button-over.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/common/button.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/common/button.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/common/drop-icons.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/common/drop-icons.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/common/exclamation.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/common/exclamation.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/common/invalid-line.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/common/invalid-line.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/common/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/common/loading.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/common/table.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/common/table.png -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/common/toggle.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/common/toggle.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/controls/bg-panel-title-over.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/controls/bg-panel-title-over.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/controls/bg-panel-title-pressed.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/controls/bg-panel-title-pressed.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/controls/bg-panel-title.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/controls/bg-panel-title.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/controls/bg-tab-title-over.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/controls/bg-tab-title-over.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/controls/bg-tab-title-pressed.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/controls/bg-tab-title-pressed.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/controls/bg-tab-title.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/controls/bg-tab-title.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/controls/bg-text.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/controls/bg-text.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/controls/bg-trigger-over.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/controls/bg-trigger-over.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/controls/bg-trigger-pressed.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/controls/bg-trigger-pressed.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/controls/bg-trigger.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/controls/bg-trigger.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/controls/btn-l.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/controls/btn-l.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/controls/btn-r.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/controls/btn-r.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/controls/btn.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/controls/btn.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/controls/button-bg-over.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/controls/button-bg-over.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/controls/button-bg.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/controls/button-bg.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/controls/checkbox.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/controls/checkbox.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/controls/dateeditor-bar-bg.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/controls/dateeditor-bar-bg.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/controls/dateeditor-header-bg.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/controls/dateeditor-header-bg.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/controls/radio.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/controls/radio.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/dateeditor/date.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/dateeditor/date.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/dateeditor/icon-first.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/dateeditor/icon-first.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/dateeditor/icon-last.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/dateeditor/icon-last.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/dateeditor/icon-next.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/dateeditor/icon-next.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/dateeditor/icon-prev.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/dateeditor/icon-prev.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/form/verify-corner.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/form/verify-corner.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/grid/grid-checkbox-checked.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/grid/grid-checkbox-checked.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/grid/grid-checkbox.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/grid/grid-checkbox.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/grid/grid-detail-close.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/grid/grid-detail-close.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/grid/grid-detail-open.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/grid/grid-detail-open.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/grid/grid-tree-close.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/grid/grid-tree-close.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/grid/grid-tree-open.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/grid/grid-tree-open.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/grid/header-bg-over.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/grid/header-bg-over.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/grid/header-bg.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/grid/header-bg.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/grid/header2-bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/grid/header2-bg.jpg -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/grid/popup-line.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/grid/popup-line.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/grid/popup-row-over.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/grid/popup-row-over.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/icon/bar-button-over.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/icon/bar-button-over.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/icon/checkbox-checked.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/icon/checkbox-checked.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/icon/checkbox.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/icon/checkbox.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/icon/cross.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/icon/cross.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/icon/icon-close-over.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/icon/icon-close-over.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/icon/icon-close.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/icon/icon-close.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/icon/icon-down.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/icon/icon-down.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/icon/icon-drop.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/icon/icon-drop.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/icon/icon-edited.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/icon/icon-edited.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/icon/icon-first.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/icon/icon-first.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/icon/icon-last.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/icon/icon-last.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/icon/icon-line.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/icon/icon-line.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/icon/icon-load.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/icon/icon-load.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/icon/icon-next.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/icon/icon-next.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/icon/icon-prev.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/icon/icon-prev.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/icon/icon-select.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/icon/icon-select.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/icon/icon-sort-asc.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/icon/icon-sort-asc.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/icon/icon-sort-desc.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/icon/icon-sort-desc.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/icon/icon-unselect.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/icon/icon-unselect.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/icon/icon-up.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/icon/icon-up.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/icon/spr_icons.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/icon/spr_icons.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/layout/accordion-content.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/layout/accordion-content.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/layout/accordion-header-over.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/layout/accordion-header-over.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/layout/accordion-header.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/layout/accordion-header.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/layout/layout-header-over.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/layout/layout-header-over.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/layout/layout-header.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/layout/layout-header.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/layout/layout-sidebar-header.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/layout/layout-sidebar-header.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/layout/mini-bottom.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/layout/mini-bottom.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/layout/mini-left.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/layout/mini-left.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/layout/mini-right.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/layout/mini-right.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/layout/mini-top.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/layout/mini-top.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/layout/panel-content.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/layout/panel-content.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/layout/panel-header-over.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/layout/panel-header-over.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/layout/panel-header.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/layout/panel-header.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/layout/panel-header2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/layout/panel-header2.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/layout/tabs-bg.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/layout/tabs-bg.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/layout/tabs-item-bg.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/layout/tabs-item-bg.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/layout/tabs-item-left-bg.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/layout/tabs-item-left-bg.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/layout/tabs-item-over-bg.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/layout/tabs-item-over-bg.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/layout/tabs-item-right-bg.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/layout/tabs-item-right-bg.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/layout/tabs-tools.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/layout/tabs-tools.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/layout/togglebar.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/layout/togglebar.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/menu/menu-item-arrow.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/menu/menu-item-arrow.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/menu/menu-item-down.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/menu/menu-item-down.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/menu/menu-item-over-l.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/menu/menu-item-over-l.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/menu/menu-item-over-m.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/menu/menu-item-over-m.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/menu/menu-item-over-r.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/menu/menu-item-over-r.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/menu/menu-line-x.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/menu/menu-line-x.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/menu/menu-line-y.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/menu/menu-line-y.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/panel/bar-bg.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/panel/bar-bg.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/panel/header-bg.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/panel/header-bg.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/panel/header-bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/panel/header-bg.jpg -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/panel/header2-bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/panel/header2-bg.jpg -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/panel/panel-btn-l.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/panel/panel-btn-l.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/panel/panel-btn-r.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/panel/panel-btn-r.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/panel/panel-btn.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/panel/panel-btn.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/panel/panel-header.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/panel/panel-header.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/panel/panel-menu-item-down.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/panel/panel-menu-item-down.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/panel/panel-menu.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/panel/panel-menu.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/panel/panel-toolbar.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/panel/panel-toolbar.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/panel/panel-tools.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/panel/panel-tools.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/tree/folder-open.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/tree/folder-open.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/tree/folder.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/tree/folder.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/tree/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/tree/loading.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/tree/nodeloading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/tree/nodeloading.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/tree/nodeloading2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/tree/nodeloading2.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/tree/nodeloading3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/tree/nodeloading3.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/tree/nodeloading4.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/tree/nodeloading4.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/tree/tree-leaf.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/tree/tree-leaf.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/tree/tree-level.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/tree/tree-level.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/tree/tree-noline.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/tree/tree-noline.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/tree/tree-status-close.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/tree/tree-status-close.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/tree/tree-status-open.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/tree/tree-status-open.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/tree/tree-status.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/tree/tree-status.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/tree/tree.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/tree/tree.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/ui/ui-bg_glass_55_fbf9ee_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/ui/ui-bg_glass_55_fbf9ee_1x400.png -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/ui/ui-bg_glass_65_ffffff_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/ui/ui-bg_glass_65_ffffff_1x400.png -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/ui/ui-bg_glass_75_dadada_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/ui/ui-bg_glass_75_dadada_1x400.png -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/ui/ui-bg_glass_75_e6e6e6_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/ui/ui-bg_glass_75_e6e6e6_1x400.png -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/ui/ui-bg_glass_95_fef1ec_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/ui/ui-bg_glass_95_fef1ec_1x400.png -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/ui/ui-bg_highlight-soft_75_cccccc_1x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/ui/ui-bg_highlight-soft_75_cccccc_1x100.png -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/win/box-icons.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/win/box-icons.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/win/box.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/win/box.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/win/dialog-bc.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/win/dialog-bc.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/win/dialog-icons.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/win/dialog-icons.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/win/dialog-tc.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/win/dialog-tc.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/win/dialog-winbtns.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/win/dialog-winbtns.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/win/dialog.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/win/dialog.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/win/dialogbtn.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/win/dialogbtn.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/win/taskbar-task.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/win/taskbar-task.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/win/taskbar.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/win/taskbar.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/win/taskbar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/win/taskbar.png -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/aqua/images/win/taskicon.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/aqua/images/win/taskicon.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/icons/add.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/icons/add.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/icons/archives.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/icons/archives.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/icons/attibutes.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/icons/attibutes.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/icons/back.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/icons/back.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/icons/bluebook.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/icons/bluebook.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/icons/bookpen.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/icons/bookpen.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/icons/busy.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/icons/busy.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/icons/calendar.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/icons/calendar.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/icons/candle.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/icons/candle.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/icons/coffee.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/icons/coffee.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/icons/comment.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/icons/comment.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/icons/communication.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/icons/communication.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/icons/config.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/icons/config.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/icons/customers.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/icons/customers.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/icons/cut.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/icons/cut.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/icons/database.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/icons/database.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/icons/delete.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/icons/delete.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/icons/discuss.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/icons/discuss.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/icons/down.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/icons/down.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/icons/edit.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/icons/edit.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/icons/graywarn.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/icons/graywarn.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/icons/greenwarn.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/icons/greenwarn.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/icons/help.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/icons/help.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/icons/home.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/icons/home.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/icons/lock.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/icons/lock.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/icons/logout.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/icons/logout.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/icons/mailbox.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/icons/mailbox.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/icons/memeber.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/icons/memeber.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/icons/modify.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/icons/modify.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/icons/msn.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/icons/msn.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/icons/myaccount.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/icons/myaccount.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/icons/ok.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/icons/ok.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/icons/outbox.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/icons/outbox.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/icons/pager.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/icons/pager.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/icons/photograph.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/icons/photograph.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/icons/plus.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/icons/plus.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/icons/prev.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/icons/prev.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/icons/print.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/icons/print.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/icons/process.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/icons/process.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/icons/qq.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/icons/qq.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/icons/refresh.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/icons/refresh.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/icons/right.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/icons/right.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/icons/role.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/icons/role.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/icons/save-disabled.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/icons/save-disabled.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/icons/save.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/icons/save.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/icons/search.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/icons/search.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/icons/search2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/icons/search2.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/icons/settings.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/icons/settings.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/icons/true.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/icons/true.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/icons/up.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/icons/up.gif -------------------------------------------------------------------------------- /src/MongoStudio/public/lib/ligerui/skins/icons/view.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnailDev/SnailDev.MongoStudio/ef1e58590a45e8556a3918a425ff73ecbfae49e0/src/MongoStudio/public/lib/ligerui/skins/icons/view.gif -------------------------------------------------------------------------------- /src/MongoStudio/routes/index.js: -------------------------------------------------------------------------------- 1 | var express = require('express'); 2 | var router = express.Router(); 3 | var mongo = require('../util/db'); 4 | 5 | /* GET home page. */ 6 | router.get('/', function (req, res, next) { 7 | res.render('index', { title: 'MongoStudio' }); 8 | }); 9 | 10 | router.get('/introduction', function (req, res, next) { 11 | res.render('introduction', { title: 'Introduction' }); 12 | }); 13 | 14 | router.get('/updatehistory', function (req, res, next) { 15 | res.render('updatehistory', { title: 'Updatehistory' }); 16 | }); 17 | 18 | router.get('/showdata', function (req, res, next) { 19 | res.render('showdata', { title: 'ShowData', server: req.query.server, db: req.query.db, col: req.query.col, serverName: req.query.serverName }); 20 | }); 21 | 22 | router.get('/showdatadetail', function (req, res, next) { 23 | res.render('showdatadetail', { title: 'ShowDataDetail' }); 24 | }); 25 | 26 | router.get('/showexportoptions', function (req, res, next) { 27 | res.render('showexportoptions', { title: 'ShowExportOptions' }); 28 | }); 29 | 30 | // api 31 | router.post('/getserver', function (req, res, next) { 32 | var infoReturn = function (result) { res.json(result); }; 33 | 34 | var id = req.query.id; 35 | var type = req.query.type; 36 | 37 | switch (type) { 38 | case 'server': 39 | mongo.getservers(infoReturn); 40 | break; 41 | case 'db': 42 | var server = req.query.server; 43 | mongo.getdbs(id, server, infoReturn); 44 | break; 45 | case 'col': 46 | var server = req.query.server; 47 | var db = req.query.db; 48 | mongo.getcols(id, server, db, infoReturn); 49 | break; 50 | case 'indexContainer': 51 | mongo.getindexContainer(id, infoReturn); 52 | break; 53 | case 'index': 54 | var server = req.query.server; 55 | var db = req.query.db; 56 | var col = req.query.col; 57 | mongo.getindexes(id, server, db, col, infoReturn); 58 | break; 59 | default: 60 | res.json([]); 61 | break; 62 | } 63 | }); 64 | 65 | router.post('/getdata', function (req, res, next) { 66 | var dataReturn = function (result) { res.json(result); }; 67 | 68 | var server = req.body.server; 69 | var db = req.body.db; 70 | var col = req.body.col; 71 | var jsonfind = mongo.handleJsonFind(JSON.parse(req.body.jsonfind || "{}")); 72 | var jsonfield = JSON.parse(req.body.jsonfield || "{}"); 73 | var jsonsort = JSON.parse(req.body.jsonsort || "{ \"_id\": 1 }"); 74 | var skip = parseInt(req.body.skip || 0); 75 | var limit = parseInt(req.body.limit || 30); 76 | var page = parseInt(req.body.page || 1); 77 | var pageSize = parseInt(req.body.pagesize || 30); 78 | var viewType = parseInt(req.body.type || 0); 79 | var isPager = parseInt(req.body.isPager || 1); 80 | 81 | mongo.getdata(server, db, col, jsonfind, jsonfield, jsonsort, skip, limit, page, pageSize, viewType, isPager, dataReturn); 82 | }); 83 | 84 | router.post('/getdatadetail', function (req, res, next) { 85 | var dataReturn = function (result) { res.json(result); }; 86 | 87 | var server = req.body.server; 88 | var db = req.body.db; 89 | var col = req.body.col; 90 | var jsonfield = JSON.parse(req.body.jsonfield || "{}"); 91 | var id = req.body.did; 92 | mongo.getdatadetail(server, db, col, id, jsonfield, dataReturn); 93 | }); 94 | 95 | router.post('/explain', function (req, res, next) { 96 | var dataReturn = function (result) { res.json(result); }; 97 | 98 | var server = req.body.server; 99 | var db = req.body.db; 100 | var col = req.body.col; 101 | var jsonfind = mongo.handleJsonFind(JSON.parse(req.body.jsonfind || "{}")); 102 | var jsonfield = JSON.parse(req.body.jsonfield || "{}"); 103 | var jsonsort = JSON.parse(req.body.jsonsort || "{ \"_id\": 1 }"); 104 | var skip = parseInt(req.body.skip || 0); 105 | var limit = parseInt(req.body.limit || 30); 106 | 107 | mongo.explain(server, db, col, jsonfind, jsonfield, jsonsort, skip, limit, dataReturn); 108 | }); 109 | 110 | 111 | module.exports = router; 112 | -------------------------------------------------------------------------------- /src/MongoStudio/util/db.js: -------------------------------------------------------------------------------- 1 | const MongoClient = require('mongodb').MongoClient; 2 | const ObjectID = require('mongodb').ObjectID; 3 | const Long = require('mongodb').Long; 4 | 5 | exports.getservers = function (callback) { 6 | var servers = [ 7 | { 8 | ID: genNonDuplicateID(3), 9 | PID: 0, 10 | Type: 'server', 11 | ShowName: 'LocalDB', 12 | Name: 'muser:1qaz2wsx@121.40.119.230:27017', 13 | Icon: '/lib/ligerui/skins/icons/process.gif', 14 | } 15 | 16 | // you can add your db server struct here and just need modify **ShowName** and **Name**. 17 | ] 18 | 19 | if (callback) callback(servers); 20 | } 21 | 22 | exports.getdbs = function (id, server, callback) { 23 | var auth = server.substr(0, server.lastIndexOf('@')); 24 | var url = 'mongodb://' + server.substr(server.lastIndexOf('@') + 1, server.length); 25 | options = { authSource: 'admin', useNewUrlParser: true }; 26 | if (auth != '') { 27 | options.auth = {}; 28 | options.auth.user = decodeURIComponent(auth.split(':')[0]); 29 | options.auth.password = decodeURIComponent(auth.split(':')[1]); 30 | } 31 | 32 | MongoClient.connect(url, options, function (err, client) { 33 | if (err) { console.log(err); return; } 34 | var adminDb = client.db('admin').admin(); 35 | // List all the available databases 36 | adminDb.listDatabases(function (err, dbs) { 37 | if (err) { console.log(err); return; } 38 | 39 | var dbNodes = []; 40 | dbs.databases.forEach(element => { 41 | if (element.name != 'local' && element.name != 'admin') { 42 | var dbNode = { 43 | ID: genNonDuplicateID(3), 44 | PID: id, 45 | Type: 'db', 46 | ShowName: element.name, 47 | Name: element.name, 48 | Icon: '/lib/ligerui/skins/icons/database.gif', 49 | }; 50 | dbNodes.push(dbNode); 51 | } 52 | }); 53 | 54 | client.close(); 55 | 56 | if (callback) callback(dbNodes); 57 | }); 58 | }) 59 | } 60 | 61 | exports.getcols = function (id, server, db, callback) { 62 | var auth = server.substr(0, server.lastIndexOf('@')); 63 | var url = 'mongodb://' + server.substr(server.lastIndexOf('@') + 1, server.length); 64 | options = { authSource: 'admin', useNewUrlParser: true }; 65 | if (auth != '') { 66 | options.auth = {}; 67 | options.auth.user = decodeURIComponent(auth.split(':')[0]); 68 | options.auth.password = decodeURIComponent(auth.split(':')[1]); 69 | } 70 | 71 | MongoClient.connect(url, options, function (err, client) { 72 | if (err) { console.log(err); return; } 73 | var curDb = client.db(db); 74 | // List all the available collections 75 | curDb.listCollections().toArray(function (err, items) { 76 | if (err) { console.log(err); return; } 77 | var colNodes = []; 78 | items.sort(function (item1, item2) { 79 | if (item1.name > item2.name) 80 | return 1; 81 | else 82 | return -1; 83 | }).forEach(element => { 84 | if (element.name != 'system.indexes') { 85 | var colNode = { 86 | ID: genNonDuplicateID(3), 87 | PID: id, 88 | Type: 'col', 89 | ShowName: element.name, 90 | Name: element.name, 91 | Icon: '/lib/ligerui/skins/icons/view.gif', 92 | }; 93 | colNodes.push(colNode); 94 | //console.log(items); 95 | } 96 | }); 97 | client.close(); 98 | if (callback) callback(colNodes); 99 | 100 | }); 101 | }); 102 | } 103 | 104 | exports.getindexContainer = function (id, callback) { 105 | var indexContainerNodes = [{ 106 | ID: genNonDuplicateID(3), 107 | PID: id, 108 | Type: 'indexContainer', 109 | ShowName: '索引', 110 | Name: '索引', 111 | }]; 112 | if (callback) callback(indexContainerNodes); 113 | } 114 | 115 | exports.getindexes = function (id, server, db, col, callback) { 116 | var auth = server.substr(0, server.lastIndexOf('@')); 117 | var url = 'mongodb://' + server.substr(server.lastIndexOf('@') + 1, server.length); 118 | options = { authSource: 'admin', useNewUrlParser: true }; 119 | if (auth != '') { 120 | options.auth = {}; 121 | options.auth.user = decodeURIComponent(auth.split(':')[0]); 122 | options.auth.password = decodeURIComponent(auth.split(':')[1]); 123 | } 124 | 125 | MongoClient.connect(url, options, function (err, client) { 126 | if (err) { console.log(err); return; } 127 | // Create a collection we want to drop later 128 | var curCol = client.db(db).collection(col); 129 | // List all the available collections 130 | curCol.listIndexes().toArray(function (err, items) { 131 | if (err) { console.log(err); return; } 132 | var indexNodes = []; 133 | items.sort(function (item1, item2) { 134 | if (item1.name > item2.name) 135 | return 1; 136 | else 137 | return -1; 138 | }).forEach(element => { 139 | // if (element.name != 'system.indexes') { 140 | var indexNode = { 141 | ID: genNonDuplicateID(3), 142 | PID: id, 143 | Type: 'index', 144 | ShowName: element.name, 145 | Name: element.name, 146 | Icon: '/lib/ligerui/skins/icons/search.gif', 147 | }; 148 | indexNodes.push(indexNode); 149 | //console.log(items); 150 | // } 151 | }); 152 | client.close(); 153 | if (callback) callback(indexNodes); 154 | }); 155 | }); 156 | } 157 | 158 | exports.getdata = function (server, db, col, jsonfind, jsonfield, jsonsort, skip, limit, page, pageSize, viewType, isPager, callback) { 159 | var auth = server.substr(0, server.lastIndexOf('@')); 160 | var url = 'mongodb://' + server.substr(server.lastIndexOf('@') + 1, server.length); 161 | options = { authSource: 'admin', useNewUrlParser: true }; 162 | if (auth != '') { 163 | options.auth = {}; 164 | options.auth.user = decodeURIComponent(auth.split(':')[0]); 165 | options.auth.password = decodeURIComponent(auth.split(':')[1]); 166 | } 167 | 168 | MongoClient.connect(url, options, function (err, client) { 169 | if (err) { console.log(err); return; } 170 | // Create a collection we want to drop later 171 | var curCol = client.db(db).collection(col); 172 | curCol.find(jsonfind).limit(limit).count(function (e, count) { 173 | var command = curCol.find(jsonfind).sort(jsonsort).project(jsonfield).skip(skip).limit(limit); 174 | if (isPager == 1) command.skip(((page - 1) * pageSize + skip)).limit(pageSize); // skip function will be overwrite, so should add previous skip value 175 | command.toArray(function (err, items) { 176 | if (err) { console.log(err); return; } 177 | var columns = []; 178 | items.forEach(element => { 179 | Object.keys(element).forEach(field => { 180 | var fieldObj = { 181 | display: field, 182 | name: field, 183 | align: "left", 184 | width: 180, 185 | minWidth: 180 186 | }; 187 | 188 | if (JSON.stringify(columns).indexOf(JSON.stringify(fieldObj)) == -1) { 189 | columns.push(fieldObj); 190 | } 191 | 192 | if (viewType == 0 && field != '_id') { 193 | if (Object.prototype.toString.call(element[field]) == '[object Array]') { 194 | element[field] = `[${element[field].length} element]`; 195 | } 196 | else if (Object.prototype.toString.call(element[field]) == '[object Object]') { 197 | element[field] = `{ ${Object.keys(element[field]).length} fields }`; 198 | } 199 | } 200 | }); 201 | }); 202 | 203 | client.close(); 204 | if (callback) callback({ Rows: JSON.stringify(items), Total: count, Columns: columns }); 205 | }); 206 | }); 207 | }); 208 | } 209 | 210 | exports.getdatadetail = function (server, db, col, id, jsonfield, callback) { 211 | var auth = server.substr(0, server.lastIndexOf('@')); 212 | var url = 'mongodb://' + server.substr(server.lastIndexOf('@') + 1, server.length); 213 | options = { authSource: 'admin', useNewUrlParser: true }; 214 | if (auth != '') { 215 | options.auth = {}; 216 | options.auth.user = decodeURIComponent(auth.split(':')[0]); 217 | options.auth.password = decodeURIComponent(auth.split(':')[1]); 218 | } 219 | 220 | MongoClient.connect(url, options, function (err, client) { 221 | if (err) { console.log(err); return; } 222 | // Create a collection we want to drop later 223 | var curCol = client.db(db).collection(col); 224 | var jsonfind = {}; 225 | if (ObjectID.isValid(id)) { 226 | jsonfind = { "_id": new ObjectID(id) }; 227 | } 228 | else { 229 | if (isNaN(id)) { 230 | jsonfind = { "_id": id }; 231 | } 232 | else { 233 | jsonfind = { "_id": Long.fromString(id) }; 234 | } 235 | } 236 | 237 | curCol.find(jsonfind).project(jsonfield).toArray(function (err, items) { 238 | client.close(); 239 | if (err) { console.log(err); return; } 240 | if (callback) { 241 | if (items.length > 1) { 242 | callback({ Success: false, Message: '数据重复', Row: '' }); 243 | } 244 | 245 | if (items.length < 1) { 246 | callback({ Success: false, Message: '未找到数据', Row: '' }); 247 | } 248 | 249 | callback({ Success: true, Message: '', Row: JSON.stringify(items[0]) }); 250 | } 251 | }); 252 | }); 253 | } 254 | 255 | exports.explain = function (server, db, col, jsonfind, jsonfield, jsonsort, skip, limit, callback) { 256 | var auth = server.substr(0, server.lastIndexOf('@')); 257 | var url = 'mongodb://' + server.substr(server.lastIndexOf('@') + 1, server.length); 258 | options = { authSource: 'admin', useNewUrlParser: true }; 259 | if (auth != '') { 260 | options.auth = {}; 261 | options.auth.user = decodeURIComponent(auth.split(':')[0]); 262 | options.auth.password = decodeURIComponent(auth.split(':')[1]); 263 | } 264 | 265 | MongoClient.connect(url, options, function (err, client) { 266 | if (err) { console.log(err); return; } 267 | // Create a collection we want to drop later 268 | var curCol = client.db(db).collection(col); 269 | curCol.find(jsonfind).sort(jsonsort).project(jsonfield).skip(skip).limit(limit).explain(function (err, doc) { 270 | if (err) { console.log(err); return; } 271 | var list = []; 272 | buildTreeNode(list, 0, doc); 273 | client.close(); 274 | if (callback) callback(list); 275 | }); 276 | }); 277 | } 278 | 279 | function buildTreeNode(list, pid, doc) { 280 | for (var key in doc) { 281 | var node = { ID: genNonDuplicateID(3), PID: pid }; 282 | 283 | if ((Object.prototype.toString.call(doc[key]) != '[object Array]') && (Object.prototype.toString.call(doc[key]) == '[object Object]')) { 284 | node.ShowName = key; 285 | list.push(node); 286 | buildTreeNode(list, node.ID, doc[key]); 287 | } 288 | else { 289 | node.ShowName = `${key}:${doc[key]}`; 290 | list.push(node); 291 | } 292 | } 293 | } 294 | 295 | function genNonDuplicateID(randomLength) { 296 | let idStr = Date.now().toString(36) 297 | idStr += Math.random().toString(36).substr(3, randomLength) 298 | return idStr 299 | } 300 | 301 | exports.handleJsonFind = function handleJsonFind(jsonfind) { 302 | if (jsonfind.hasOwnProperty("_id")) { 303 | if (typeof jsonfind["_id"] == 'string') { 304 | if (ObjectID.isValid(jsonfind["_id"])) { 305 | jsonfind["_id"] = new ObjectID(jsonfind["_id"]); 306 | } 307 | } 308 | } 309 | 310 | return jsonfind; 311 | } -------------------------------------------------------------------------------- /src/MongoStudio/views/_layout/footer.ejs: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/MongoStudio/views/_layout/header.ejs: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | MongoStudio 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /src/MongoStudio/views/error.ejs: -------------------------------------------------------------------------------- 1 |

<%= message %>

2 |

<%= error.status %>

3 |
<%= error.stack %>
4 | -------------------------------------------------------------------------------- /src/MongoStudio/views/index.ejs: -------------------------------------------------------------------------------- 1 | <%- include("./_layout/header.ejs") %> 2 | 3 | 4 |
5 |
6 |
7 |
8 | 9 |
10 |
11 |
12 |
13 |
14 |
15 |
    16 |
    17 |
    18 |
    19 |
    20 | 21 |
    22 |
    23 |
    24 | 27 | 28 |
    29 | 30 | 31 | 32 | <%- include("./_layout/footer.ejs") %> -------------------------------------------------------------------------------- /src/MongoStudio/views/introduction.ejs: -------------------------------------------------------------------------------- 1 | 2 | 3 |

    4 | MongoStudio 5 |

    6 |

    MongoStudio是什么?

    7 |

    8 | 一个在线的MongoDB 查询器 9 | 10 |

    11 |

    12 | 向Windows下优秀的MongoDB IDE RoboMongo 致敬 13 | 14 |

    15 |

    MongoStudio有哪些功能?

    16 | 30 |

    有问题反馈

    31 |

    32 | 在使用中有任何问题,欢迎反馈给我,可以用以下联系方式跟我交流 33 | 34 |

    35 | 39 |

    感激

    40 |

    41 | 感谢以下的项目,排名不分先后 42 | 43 |

    44 | 49 |

    关于作者

    50 |
    51 |     
    1.   var imongo = { 
    2.     nickName  : "SnailDev"
    3.     site : "http://github.com/snaildev" 
    4.   }
    52 |
    53 | -------------------------------------------------------------------------------- /src/MongoStudio/views/showdata.ejs: -------------------------------------------------------------------------------- 1 | <%- include("./_layout/header.ejs") %> 2 | 3 | 14 | 15 |
    16 |
    17 |
    18 |
    19 |
    20 | 21 |
    22 |
    23 |
    24 |
    25 | 26 | 27 | 28 | 29 |
    30 |
    31 |
    32 |
    33 |
    34 |
    35 |
    36 |
    37 |
    38 |
    39 |
      40 |
      41 |
      42 |
      43 |
      44 | 45 | 46 | 47 | 48 | <%- include("./_layout/footer.ejs") %> -------------------------------------------------------------------------------- /src/MongoStudio/views/showdatadetail.ejs: -------------------------------------------------------------------------------- 1 | <%- include("./_layout/header.ejs") %> 2 | 3 | 4 |
      5 | 6 | 7 | 8 | 9 | <%- include("./_layout/footer.ejs") %> -------------------------------------------------------------------------------- /src/MongoStudio/views/showexportoptions.ejs: -------------------------------------------------------------------------------- 1 | <%- include("./_layout/header.ejs") %> 2 | 3 | 14 | 15 |
      16 | 20 | 21 | 22 | 23 | 24 | <%- include("./_layout/footer.ejs") %> -------------------------------------------------------------------------------- /src/MongoStudio/views/updatehistory.ejs: -------------------------------------------------------------------------------- 1 | <%- include("./_layout/header.ejs") %> 2 | 3 |
      4 | 5 | 6 | 7 | <%- include("./_layout/footer.ejs") %> --------------------------------------------------------------------------------