├── .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 | 
39 |
40 | - tableview
41 | 
42 |
43 | - textview
44 | 
45 |
46 | - explain
47 | 
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 |