├── .gitignore
├── LICENSE
├── README.md
├── app.json
├── package-lock.json
├── package.json
├── readme
├── CreateAppBundle.png
├── OssManagerPresignedUrl.png
├── VerifyJson.png
└── Workitems.png
├── server
├── .gitignore
├── config.js
├── design.automation.js
├── oauth.js
└── server.js
├── start.js
├── thumbnail.png
└── www
├── css
├── 32px.png
├── 40px.png
├── bootstrap-theme.css
├── bootstrap-theme.css.map
├── bootstrap-theme.min.css
├── bootstrap-theme.min.css.map
├── bootstrap.css
├── bootstrap.css.map
├── bootstrap.min.css
├── bootstrap.min.css.map
├── index.css
├── jstree.style.css
├── jstree.style.min.css
├── styles.css
└── throbber.gif
├── favicon.ico
├── fonts
├── glyphicons-halflings-regular.eot
├── glyphicons-halflings-regular.svg
├── glyphicons-halflings-regular.ttf
├── glyphicons-halflings-regular.woff
└── glyphicons-halflings-regular.woff2
├── img
├── favicon.svg
└── indexpage.png
├── index.html
└── js
├── bootstrap.js
├── bootstrap.min.js
├── html5.js
├── jquery.min.js
├── jquery.storageapi.min.js
├── jstree.js
├── jstree.min.js
├── npm.js
└── scripts.js
/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | .vscode
3 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2016 Autodesk
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 | # Design Automation Tools
2 |
3 | [](https://nodejs.org/)
4 | [](https://www.npmjs.com/)
5 | 
6 | [](https://opensource.org/licenses/MIT)
7 |
8 | [](https://aps.autodesk.com/)
9 | [](https://aps.autodesk.com/)
10 |
11 | This utility app enables you to see and create new app bundles, activities and workitems - including creating new version of those and aliases for them
12 |
13 | ### Thumbnail
14 |
15 | 
16 |
17 | ### Live version
18 |
19 | [https://da-manager.autodesk.io/](https://da-manager.autodesk.io/)
20 |
21 | # Usage
22 |
23 | 1. In the top text boxes Provide the **Client Id** and **Client Secret** of the app you created on the **Autodesk Developer Site** and click **Log In** button
24 |
25 | 2. On both the **AppBundles** and **Activities** tabs you'll find a list of all the items you have on APS. \
26 | In case of clicking on an **Alias**, the infomration box on the right will show the reply coming from the **APS** server. \
27 | You'll find three buttons on the bottom left:
28 | - **Refresh**: refreshes the content of the tree control on the left side
29 | - **Create**: creates a new item. Depending on which item in the tree is selected it will create a different element: e.g. if an **Activity version** is selected then it will enable you to create an **Alias** for that version
30 | - **Delete**: will try to delete the selected item
31 |
32 | 3. Whenever you use the **Create** button a dialog box will pop up that enables you to provide the necessary info in order to create the specific item:
33 |
34 | 
35 |
36 | 4. In the **Info** dialog box, some of the input fields will have a drop down menu with various functions:
37 | - they might enable you to populate the control with some text - often these are just templates that need to be filled in with the relevant information
38 | - verify if the input is a valid json:
39 |
40 | 
41 |
42 | 4. When an **Activity Alias** is selected in the tree, the plus button will turn into a **play/run** button showing that you could start a **Workitem** based on the selected **Activity**
43 |
44 | 5. Once you started a **Workitem** the **WorkItems** tab will be activated and it will show a list of the **Workitems** you started during this session \
45 | There will be two buttons available:
46 | - **Stop**: it will try to stop the selected **Workitem**
47 | - **Delete**: it will remove the selected item from the list (it won't try to stop it)
48 |
49 | 
50 |
51 | If you click any of the items then an update will be requested from the server and the reply will be shown in the info box
52 |
53 | 6. Whenever you are requested to provide a file (for an **AppBundle** or for a **Workitem**) you need to provide a publicly accessible **URL** to it \
54 | One easy way to generate such **URLs** is to use the **APS OSS** and a utility like [https://oss-manager.autodesk.io](https://oss-manager.autodesk.io) to upload files and generate *read/write* **URLs** for them
55 | 
56 |
57 | # Setup
58 |
59 | ## Prerequisites
60 |
61 | 1. **APS Account**: Learn how to create a APS Account, activate subscription and create an app at [this tutorial](https://tutorials.autodesk.io/).
62 | 2. **Visual Studio**: Either Community (Windows) or Code (Windows, MacOS).
63 | 3. **JavaScript** basic knowledge with **jQuery**
64 |
65 | ### Run locally
66 |
67 | Install [NodeJS](https://nodejs.org).
68 |
69 | Clone this project or download it. It's recommended to install [GitHub desktop](https://desktop.github.com/). To clone it via command line, use the following (**Terminal** on MacOSX/Linux, **Git Shell** on Windows):
70 |
71 | git clone https://github.com/adamenagy/da.manager-nodejs
72 |
73 | To run it, install the required packages, set the enviroment variables with your client ID & secret and finally start it. Via command line, navigate to the folder where this repository was cloned and use the following:
74 |
75 | Mac OSX/Linux (Terminal) / Windows (use Node.js command line from Start menu)
76 |
77 | npm install
78 | npm start
79 |
80 | Open the browser: [http://localhost:3000](http://localhost:3000).
81 |
82 | **Important:** do not use **npm start** locally, this is intended for PRODUCTION only with HTTPS (SSL) secure cookies.
83 |
84 | ## Deployment
85 |
86 | To deploy this application to Heroku, the **Callback URL** must use your `.herokuapp.com` address. After clicking on the button below, at the Heroku Create New App page, set your Client ID, Secret and Callback URL.
87 |
88 | [](https://heroku.com/deploy?template=https://github.com/adamenagy/da.manager-nodejs)
89 |
90 | Watch [this video](https://www.youtube.com/watch?v=Oqa9O20Gj0c) on how deploy samples to Heroku.
91 |
92 |
93 | ## Packages used
94 |
95 | All APS NPM packages are included by default, see complete list of what's available at [NPM website](https://www.npmjs.com/browse/keyword/autodesk). OAuth, Model Derivative and OSS are used. Some other non-Autodesk packaged are used, including [express](https://www.npmjs.com/package/express) and its session/cookie middlewares ([express-session](https://www.npmjs.com/package/express-session) and [cookie-parser](https://www.npmjs.com/package/cookie-parser)) for user session handling. The front-end uses [bootsrap](https://www.npmjs.com/package/bootstrap) and [jquery](https://www.npmjs.com/package/jquery).
96 |
97 | ## Tips & tricks
98 |
99 | For local development/testing, consider use [nodemon](https://www.npmjs.com/package/nodemon) package, which auto restart your node application after any modification on your code. To install it, use:
100 |
101 | sudo npm install -g nodemon
102 |
103 | Then, instead of npm run dev, use the following:
104 |
105 | npm run nodemon
106 |
107 | Which executes **nodemon server.js --ignore www/**, where the **--ignore** parameter indicates that the app should not restart if files under **www** folder are modified.
108 |
109 | ## Further Reading
110 |
111 | Documentation:
112 |
113 | - [Design Automation API](https://aps.autodesk.com/en/docs/design-automation/v3/developers_guide/overview/)
114 |
115 | Tutorials:
116 |
117 | - [Modify your models](https://learnforge.autodesk.io/#/tutorials/modifymodels)
118 | - [Step-by-Step Tutorials](https://aps.autodesk.com/en/docs/design-automation/v3/tutorials/)
119 |
120 | Blogs:
121 |
122 | - [APS Blog](https://aps.autodesk.com/blog)
123 |
124 | ## License
125 |
126 | This sample is licensed under the terms of the [MIT License](http://opensource.org/licenses/MIT).
127 | Please see the [LICENSE](LICENSE) file for full details.
128 |
129 | ## Written by
130 |
131 | Adam Nagy (Autodesk Partner Development)
132 | http://aps.autodesk.com
133 |
--------------------------------------------------------------------------------
/app.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Design Automation Tools",
3 | "description": "Node.js sample for the Design Automation API",
4 | "repository": "https://github.com/autodesk-platform-services/aps-design-automation-tools",
5 | "logo": "https://cdn.autodesk.io/logo/black/logo.png",
6 | "keywords": [
7 | "express",
8 | "framework",
9 | "autodesk",
10 | "aps",
11 | "template"
12 | ],
13 | "website": "https://aps.autodesk.com/",
14 | "success_url": "/"
15 | }
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "aps-design-automation-tools",
3 | "version": "2.0.0",
4 | "description": "A sample that shows how to use the Model Derivative API.",
5 | "dependencies": {
6 | "body-parser": "^1.19.0",
7 | "cookie-parser": "^1.4.5",
8 | "cookie-session": "^2.0.0",
9 | "ejs": "^3.1.8",
10 | "express": "^4.17.1",
11 | "forge-apis": "^0.9.9",
12 | "formidable": "^1.2.2",
13 | "morgan": "^1.10.0",
14 | "oauth": "^0.9.14",
15 | "request": "^2.88.2",
16 | "request-promise": "^4.2.6",
17 | "trim": "^1.0.1"
18 | },
19 | "repository": {
20 | "type": "git",
21 | "url": "git://github.com/autodesk-platform-services/aps-design-automation-tools"
22 | },
23 | "scripts": {
24 | "start": "NODE_ENV=production node start.js",
25 | "dev": "node start.js",
26 | "nodemon": "nodemon start.js --ignore www/"
27 | },
28 | "author": "Autodesk Partner Development",
29 | "license": "MIT"
30 | }
31 |
--------------------------------------------------------------------------------
/readme/CreateAppBundle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/autodesk-platform-services/aps-design-automation-tools/a8ff782f44e9f5b3aef0e73b49eafdf77dc7cc44/readme/CreateAppBundle.png
--------------------------------------------------------------------------------
/readme/OssManagerPresignedUrl.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/autodesk-platform-services/aps-design-automation-tools/a8ff782f44e9f5b3aef0e73b49eafdf77dc7cc44/readme/OssManagerPresignedUrl.png
--------------------------------------------------------------------------------
/readme/VerifyJson.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/autodesk-platform-services/aps-design-automation-tools/a8ff782f44e9f5b3aef0e73b49eafdf77dc7cc44/readme/VerifyJson.png
--------------------------------------------------------------------------------
/readme/Workitems.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/autodesk-platform-services/aps-design-automation-tools/a8ff782f44e9f5b3aef0e73b49eafdf77dc7cc44/readme/Workitems.png
--------------------------------------------------------------------------------
/server/.gitignore:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/autodesk-platform-services/aps-design-automation-tools/a8ff782f44e9f5b3aef0e73b49eafdf77dc7cc44/server/.gitignore
--------------------------------------------------------------------------------
/server/config.js:
--------------------------------------------------------------------------------
1 | /////////////////////////////////////////////////////////////////////
2 | // Copyright (c) Autodesk, Inc. All rights reserved
3 | // Written by Autodesk Partner Development
4 | //
5 | // Permission to use, copy, modify, and distribute this software in
6 | // object code form for any purpose and without fee is hereby granted,
7 | // provided that the above copyright notice appears in all copies and
8 | // that both that copyright notice and the limited warranty and
9 | // restricted rights notice below appear in all supporting
10 | // documentation.
11 | //
12 | // AUTODESK PROVIDES THIS PROGRAM "AS IS" AND WITH ALL FAULTS.
13 | // AUTODESK SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTY OF
14 | // MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE. AUTODESK, INC.
15 | // DOES NOT WARRANT THAT THE OPERATION OF THE PROGRAM WILL BE
16 | // UNINTERRUPTED OR ERROR FREE.
17 | /////////////////////////////////////////////////////////////////////
18 |
19 | 'use strict'; // http://www.w3schools.com/js/js_strict.asp
20 |
21 | module.exports = {
22 | // Required scopes for your application on server-side
23 | scopeInternal: [
24 | 'data:read', 'data:write', 'data:create', 'data:search',
25 | 'bucket:create', 'bucket:read', 'bucket:update', 'bucket:delete', 'code:all'
26 | ],
27 |
28 | // Required scope of the token sent to the client
29 | scopePublic: ['viewables:read'],
30 | sessionSecret: process.env.SERVER_SESSION_SECRET || 'autodesksecret',
31 | };
--------------------------------------------------------------------------------
/server/design.automation.js:
--------------------------------------------------------------------------------
1 | 'use strict'; // http://www.w3schools.com/js/js_strict.asp
2 |
3 | // web framework
4 | var express = require('express');
5 | var router = express.Router();
6 |
7 | var bodyParser = require('body-parser');
8 | var jsonParser = bodyParser.json();
9 | const request = require('request');
10 | const requestPromise = require('request-promise');
11 |
12 | async function daRequest(req, path, method, headers, body) {
13 | headers = headers || {};
14 | if (!headers['Authorization']) {
15 | headers['Authorization'] = 'Bearer ' + req.session.access_token;
16 | headers['content-type'] = 'application/json';
17 | }
18 |
19 | let url = 'https://developer.api.autodesk.com/da/us-east/v3/' + path;
20 | let options = {
21 | uri: url,
22 | method: method,
23 | headers: headers,
24 | json: true
25 | };
26 |
27 | if (body) {
28 | options.body = body;
29 | }
30 |
31 | let data = [];
32 | while (true) {
33 | let response;
34 | try {
35 | response = await requestPromise(options);
36 | } catch (ex) {
37 | console.log(ex.message);
38 | throw ex;
39 | }
40 |
41 | if (response && response.paginationToken) {
42 | options.uri = url + "?page=" + response.paginationToken;
43 | data = [...data, ...response.data];
44 | } else {
45 | if (data.length > 0) {
46 | response.data = [...response.data, ...data];
47 | }
48 |
49 | return response;
50 | }
51 | }
52 | }
53 |
54 | /////////////////////////////////////////////////////////////////
55 | // Items (AppBundles and Activities)
56 | /////////////////////////////////////////////////////////////////
57 |
58 | function getNameParts(name) {
59 | var parts1 = name.split('.');
60 | var parts2 = parts1[1].split('+');
61 |
62 | return [parts1[0], parts2[0], parts2[1]];
63 | }
64 |
65 | function getFullName(nickName, name, alias) {
66 | return `${nickName}.${name}+${alias}`;
67 | }
68 |
69 | async function getItems(req, type, isPersonal) {
70 | let response = await daRequest(req, type, 'GET');
71 | let nickname = await daRequest(req, 'forgeapps/me', 'GET');
72 | // The response body structure depends on whether we set a nickname or not
73 | nickname = nickname.nickname ? nickname.nickname : nickname;
74 | let items = [];
75 |
76 | response.data.forEach((item, index) => {
77 | if (!item.startsWith(nickname) ^ isPersonal) {
78 | // Show only personal items
79 | let nameParts = getNameParts(item);
80 | if (!includesItem(items, nameParts[1])) {
81 | items.push({
82 | id: nameParts[1],
83 | nickName: nameParts[0],
84 | alias: nameParts[2],
85 | children: isPersonal
86 | });
87 | }
88 | }
89 | })
90 |
91 | return items;
92 | }
93 |
94 | async function getItem(req, type, id) {
95 | let response = await daRequest(req, `${type}/${id}`, 'GET');
96 |
97 | return response;
98 | }
99 |
100 | async function uploadFile(inputUrl, uploadParameters) {
101 | var downloadOptions = {
102 | uri: inputUrl,
103 | method: 'GET'
104 | }
105 |
106 | var uploadOptions = {
107 | uri: uploadParameters.endpointURL,
108 | method: 'POST',
109 | headers: {
110 | 'Content-Type': 'multipart/form-data',
111 | 'Cache-Control': 'no-cache'
112 | },
113 | formData: uploadParameters.formData
114 | }
115 | uploadOptions.formData.file = request(downloadOptions);
116 |
117 | await requestPromise(uploadOptions);
118 | }
119 |
120 | async function createItem(req, type, body) {
121 | let response = await daRequest(req, `${type}`, 'POST', null, body);
122 |
123 | // Upload the file from OSS
124 | if (response.uploadParameters) {
125 | try {
126 | await uploadFile(body.bundle, response.uploadParameters)
127 | } catch { }
128 | }
129 |
130 | return response;
131 | }
132 |
133 | async function deleteItem(req, type, id) {
134 | let response = await daRequest(req, `${type}/${id}`, 'DELETE');
135 |
136 | return { response: 'done' };
137 | }
138 |
139 | function includesItem(list, id) {
140 | return list.find(item => {
141 | if (item.id === id) {
142 | return true;
143 | }
144 | });
145 | }
146 |
147 | function setItemVersionsChildren(versions, aliases) {
148 | aliases.forEach(alias => {
149 | versions.find(version => {
150 | if (version.id === alias.version) {
151 | version.children = true;
152 | return true;
153 | }
154 | });
155 | })
156 | }
157 |
158 | async function getItemVersions(req, type, id) {
159 | let versions = [];
160 | let page = '';
161 |
162 | while (true) {
163 | let response = await daRequest(req, `${type}/${id}/versions${page}`, 'GET');
164 | response.data.map((item) => {
165 | versions.push({ id: item, children: false });
166 | })
167 |
168 | if (!response.paginationToken)
169 | break;
170 |
171 | page = `?page=${response.paginationToken}`;
172 | }
173 |
174 | return versions;
175 | }
176 |
177 | async function createItemVersion(req, type, id, body) {
178 | let response = await daRequest(req, `${type}/${id}/versions`, 'POST', null, body);
179 |
180 | // Upload the file from OSS
181 | if (response.uploadParameters) {
182 | try {
183 | await uploadFile(body.bundle, response.uploadParameters)
184 | } catch { }
185 | }
186 |
187 | return response;
188 | }
189 |
190 | async function deleteItemVersion(req, type, id, version) {
191 | let response = await daRequest(req, `${type}/${id}/versions/${version}`, 'DELETE');
192 |
193 | return { response: 'done' };
194 | }
195 |
196 | async function getItemAliases(req, type, id) {
197 | let aliases = [];
198 |
199 | while (true) {
200 | let response = await daRequest(req, `${type}/${id}/aliases`, 'GET');
201 |
202 | aliases = aliases.concat(response.data);
203 |
204 | if (!response.paginationToken)
205 | break;
206 | }
207 |
208 | return aliases;
209 | }
210 |
211 | function getAliasesForVersion(aliases, version) {
212 | let versionAliases = [];
213 |
214 | aliases.forEach((item, index) => {
215 | if (item.version === version) {
216 | versionAliases.push(item);
217 | }
218 | })
219 |
220 | return versionAliases;
221 | }
222 |
223 | async function createItemAlias(req, type, id, version, alias, receiver) {
224 | let data = {
225 | "version": parseInt(version), // has to be numeric
226 | "id": alias
227 | };
228 | if (receiver && receiver != "")
229 | data.receiver = receiver;
230 |
231 | let response = await daRequest(req, `${type}/${id}/aliases`, 'POST', null, data);
232 |
233 | return response;
234 | }
235 |
236 | async function deleteItemAlias(req, type, id, alias) {
237 | let response = await daRequest(req, `${type}/${id}/aliases/${alias}`, 'DELETE');
238 |
239 | return { response: 'done' };
240 | }
241 |
242 | router.get('/:type/treeNode', async function(req, res) {
243 | console.log('GET /:type/treeNode');
244 | try {
245 | var id = decodeURIComponent(req.query.id);
246 | var type = req.params.type;
247 | console.log(`GET /:type/treeNode, :type = ${type}, id = ${id}`);
248 |
249 | var folders = [
250 | { id: 'Personal', children: true },
251 | { id: 'Shared', children: true }
252 | ];
253 | var paths = id.split('/');
254 | var level = paths.length;
255 |
256 | // Levels are:
257 | // Root >> Personal/Shared >> Items >> Versions >> Aliases
258 | // Root >> Personal/Shared >> Activities >> Versions >> Aliases
259 | // e.g. "Personal/ChangeParams/98/prod"
260 |
261 | if (id === '#') {
262 | // # stands for ROOT
263 | res.json(makeTree(folders, 'folder', '', true));
264 | } else if (level === 1) {
265 | var items = await getItems(req, type, id === 'Personal');
266 | res.json(makeTree(items, 'item', `${id}/`));
267 | } else if (level === 2) {
268 | var appName = paths[1];
269 | var versions = await getItemVersions(req, type, appName);
270 | var aliases = await getItemAliases(req, type, appName);
271 | setItemVersionsChildren(versions, aliases);
272 | res.json(makeTree(versions, 'version', `${id}/`));
273 | } else if (level === 3) {
274 | var appName = paths[1];
275 | var aliases = await getItemAliases(req, type, appName);
276 | var versionAliases = getAliasesForVersion(aliases, parseInt(paths[2]));
277 | res.json(makeTree(versionAliases, 'alias', `${id}/`));
278 | }
279 | } catch (ex) {
280 | res.status(ex.statusCode ? ex.statusCode : 500).json({ message: (ex.message ? ex.message : ex) });
281 | }
282 | });
283 |
284 | router.get('/:type/info', async function(req, res) {
285 | console.log('GET /:type/info');
286 | try {
287 | var id = decodeURIComponent(req.query.id);
288 | var type = req.params.type;
289 | console.log(`GET /:type/info, :type = ${type}, id = ${id}`);
290 |
291 | var paths = id.split('/');
292 | var level = paths.length;
293 |
294 | if (level === 1) {
295 | var info = await getItem(req, type, id);
296 | console.log(info);
297 | res.json(info);
298 | } else if (level === 2) {
299 | // item
300 | if (paths[0] === 'Shared') {
301 | var nickName = req.query.nickName;
302 | var alias = req.query.alias;
303 | var fullName = getFullName(nickName, paths[1], alias);
304 | var info = await getItem(req, type, fullName);
305 | console.log(info);
306 | res.json(info);
307 | }
308 | } else if (level === 3) {
309 | // version
310 |
311 | } else if (level === 4) {
312 | // alias
313 | var nickName = decodeURIComponent(req.query.nickName);
314 | var fullName = getFullName(nickName, paths[1], paths[3]);
315 | var info = await getItem(req, type, fullName);
316 | console.log(info);
317 | res.json(info);
318 | } else {
319 | // Bad daRequest
320 | res.status(400).end();
321 | }
322 | } catch (ex) {
323 | res.status(ex.statusCode ? ex.statusCode : 500).json({ message: (ex.message ? ex.message : ex) });
324 | }
325 | });
326 |
327 | router.post('/:type', jsonParser, async function(req, res) {
328 | console.log('POST /:type');
329 | try {
330 | var id = req.body.id;
331 | var type = req.params.type;
332 | console.log(`POST /:type, :type = ${type}, id = ${id}`);
333 |
334 | var paths = id.split('/');
335 | var level = paths.length;
336 |
337 | if (level === 1) {
338 | // create item for folder
339 | var reply = await createItem(req, type, req.body.body);
340 | res.json(reply);
341 | } else if (level === 2) {
342 | // create version for item
343 | var reply = await createItemVersion(req, type, paths[1], req.body.body);
344 | res.json(reply);
345 | } else if (level === 3) {
346 | // create alias for version
347 | var reply = await createItemAlias(req, type, paths[1], paths[2], req.body.alias, req.body.receiver);
348 | res.json(reply);
349 | } else {
350 | // create workitem
351 | var reply = await createItem(req, type, req.body.body);
352 | res.json(reply);
353 | }
354 | } catch (ex) {
355 | console.log(ex);
356 | res.status(ex.statusCode ? ex.statusCode : 500).json({ message: (ex.message ? ex.message : ex) });
357 | }
358 | });
359 |
360 | router.delete('/:type/:id', async function(req, res) {
361 | console.log('DELETE /:type/:id');
362 | try {
363 | var id = decodeURIComponent(req.params.id);
364 | var type = req.params.type;
365 | console.log(`DELETE /:type, :type = ${type}, id = ${id}`);
366 |
367 | var paths = id.split('/');
368 | var level = paths.length;
369 |
370 | if (level === 1) {
371 | // item
372 | var reply = await deleteItem(req, type, paths[0]);
373 | res.json(reply);
374 | } else if (level === 2) {
375 | // item
376 | var reply = await deleteItem(req, type, paths[1]);
377 | res.json(reply);
378 | } else if (level === 3) {
379 | // version
380 | var reply = await deleteItemVersion(req, type, paths[1], paths[2]);
381 | res.json(reply);
382 | } else if (level === 4) {
383 | // version
384 | var reply = await deleteItemAlias(req, type, paths[1], paths[3]);
385 | res.json(reply);
386 | }
387 | } catch (ex) {
388 | res.status(ex.statusCode ? ex.statusCode : 500).json({ message: (ex.message ? ex.message : ex) });
389 | }
390 | });
391 |
392 | /////////////////////////////////////////////////////////////////
393 | // WorkItems
394 | /////////////////////////////////////////////////////////////////
395 |
396 | router.get('/workitems/treeNode', async function(req, res) {
397 | console.log('GET /workitems/treeNode');
398 | try {
399 | var id = decodeURIComponent(req.query.id);
400 | console.log("GET /workitems/treeNode, id = " + id);
401 |
402 | var tokenSession = new token(req.session);
403 | var folders = [
404 | { id: 'Personal', children: true },
405 | { id: 'Shared', children: true }
406 | ];
407 | var paths = id.split('/');
408 | var level = paths.length;
409 |
410 | // Levels are:
411 | // Root >> Personal/Shared >> Bundles >> Versions >> Aliases
412 | // e.g. "Personal/ChangeParams/98/prod"
413 |
414 | if (id === '#') {
415 | // # stands for ROOT
416 | res.json(makeTree(folders, 'folder', '', true));
417 | } else if (level === 1) {
418 | var items = await getItems(req, type, id === 'Personal');
419 | res.json(makeTree(items, 'appbundle', `${id}/`));
420 | } else if (level === 2) {
421 | var appName = paths[1];
422 | var versions = await getItemVersions(req, type, appName);
423 | var aliases = await getItemAliases(req, appName);
424 | setItemVersionsChildren(versions, aliases);
425 | res.json(makeTree(versions, 'version', `${id}/`));
426 | } else {
427 | var appName = paths[1];
428 | var aliases = await getItemAliases(req, appName);
429 | //var versionAliases = getVersionAliases(paths[2], aliases);
430 | res.json(makeTree(aliases, 'alias', `${id}/`));
431 | }
432 | } catch (ex) {
433 | res.status(ex.statusCode ? ex.statusCode : 500).json({ message: (ex.message ? ex.message : ex) });
434 | }
435 | });
436 |
437 | router.get('/report/:url', async function(req, res) {
438 | console.log('GET /report');
439 | var inputUrl = req.params.url;
440 |
441 | var downloadOptions = {
442 | uri: inputUrl,
443 | method: 'GET'
444 | }
445 |
446 | try {
447 | var result = await requestPromise(downloadOptions);
448 |
449 | res.end(result);
450 | } catch (ex) {
451 | res.status(500).end(ex.message);
452 | }
453 | });
454 |
455 | /////////////////////////////////////////////////////////////////
456 | // Collects the information that we need to pass to the
457 | // file tree object on the client
458 | /////////////////////////////////////////////////////////////////
459 | function makeTree(items, type, prefix) {
460 | if (!items) return '';
461 | var treeList = [];
462 | items.forEach(function(item, index) {
463 | var treeItem = {
464 | id: prefix + item.id,
465 | nickName: item.nickName,
466 | alias: item.alias,
467 | text: item.id,
468 | type: type,
469 | children: item.children
470 | };
471 | console.log(treeItem);
472 | treeList.push(treeItem);
473 | });
474 |
475 | return treeList;
476 | }
477 |
478 | /////////////////////////////////////////////////////////////////
479 | // Return the router object that contains the endpoints
480 | /////////////////////////////////////////////////////////////////
481 | module.exports = router;
--------------------------------------------------------------------------------
/server/oauth.js:
--------------------------------------------------------------------------------
1 | /////////////////////////////////////////////////////////////////////
2 | // Copyright (c) Autodesk, Inc. All rights reserved
3 | // Written by Autodesk Partner Development
4 | //
5 | // Permission to use, copy, modify, and distribute this software in
6 | // object code form for any purpose and without fee is hereby granted,
7 | // provided that the above copyright notice appears in all copies and
8 | // that both that copyright notice and the limited warranty and
9 | // restricted rights notice below appear in all supporting
10 | // documentation.
11 | //
12 | // AUTODESK PROVIDES THIS PROGRAM "AS IS" AND WITH ALL FAULTS.
13 | // AUTODESK SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTY OF
14 | // MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE. AUTODESK, INC.
15 | // DOES NOT WARRANT THAT THE OPERATION OF THE PROGRAM WILL BE
16 | // UNINTERRUPTED OR ERROR FREE.
17 | /////////////////////////////////////////////////////////////////////
18 |
19 | 'use strict'; // http://www.w3schools.com/js/js_strict.asp
20 |
21 | // web framework
22 | var express = require('express');
23 | var router = express.Router();
24 |
25 | var apsSDK = require('forge-apis');
26 |
27 | // APS config information, such as client ID and secret
28 | var config = require('./config');
29 |
30 | router.use(express.json());
31 |
32 | // this end point will logoff the user by destroying the session
33 | // as of now there is no APS endpoint to invalidate tokens
34 | router.get('/user/logoff', function(req, res) {
35 | req.session.destroy();
36 | res.end('/');
37 | });
38 |
39 | async function getToken(session, client_id, client_secret) {
40 | var client = new apsSDK.AuthClientTwoLeggedV2(client_id, client_secret, config.scopeInternal);
41 | var credentials = await client.authenticate();
42 |
43 | session.client_id = client_id;
44 | session.client_secret = client_secret;
45 | session.access_token = credentials.access_token;
46 |
47 | console.log('Token: ' + credentials.access_token);
48 |
49 | return credentials;
50 | }
51 |
52 | // wait for Autodesk callback (oAuth callback)
53 | router.post('/user/token', async function(req, res) {
54 | console.log('/user/token');
55 | try {
56 | var client_id = req.body.client_id;
57 | var client_secret = req.body.client_secret;
58 |
59 | var credentials = await getToken(req.session, client_id, client_secret);
60 |
61 | res.json({ token: credentials.access_token, expires_in: credentials.expires_in });
62 |
63 | // Will call it a bit earlier than the actual expiration time, that's why
64 | // multiplying it with 900 instead of 1000 to convert from s to ms
65 | setTimeout(() => getToken(req.session, client_id, client_secret), credentials.expires_in * 900);
66 | } catch (err) {
67 | res.status(500).end(err.developerMessage);
68 | }
69 | });
70 |
71 | module.exports = router;
--------------------------------------------------------------------------------
/server/server.js:
--------------------------------------------------------------------------------
1 | /////////////////////////////////////////////////////////////////////
2 | // Copyright (c) Autodesk, Inc. All rights reserved
3 | // Written by Autodesk Partner Development
4 | //
5 | // Permission to use, copy, modify, and distribute this software in
6 | // object code form for any purpose and without fee is hereby granted,
7 | // provided that the above copyright notice appears in all copies and
8 | // that both that copyright notice and the limited warranty and
9 | // restricted rights notice below appear in all supporting
10 | // documentation.
11 | //
12 | // AUTODESK PROVIDES THIS PROGRAM "AS IS" AND WITH ALL FAULTS.
13 | // AUTODESK SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTY OF
14 | // MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE. AUTODESK, INC.
15 | // DOES NOT WARRANT THAT THE OPERATION OF THE PROGRAM WILL BE
16 | // UNINTERRUPTED OR ERROR FREE.
17 | /////////////////////////////////////////////////////////////////////
18 | 'use strict';
19 |
20 | var express = require('express');
21 | var cookieParser = require('cookie-parser');
22 | var session = require('cookie-session');
23 | var config = require('./config');
24 | var app = express();
25 |
26 | // this session will be used to save the oAuth token
27 | app.use(cookieParser());
28 | app.set('trust proxy', 1) // trust first proxy - HTTPS on Heroku
29 | app.use(session({
30 | secret: config.sessionSecret,
31 | maxAge: 1000 * 60 * 60, // 1 hours to expire the session and avoid memory leak
32 | }));
33 |
34 | // prepare server routing
35 | app.use('/', express.static(__dirname + '/../www')); // redirect static calls
36 | app.use('/js', express.static(__dirname + '/../node_modules/bootstrap/dist/js')); // redirect static calls
37 | app.use('/js', express.static(__dirname + '/../node_modules/jquery/dist')); // redirect static calls
38 | app.use('/css', express.static(__dirname + '/../node_modules/bootstrap/dist/css')); // redirect static calls
39 | app.use('/fonts', express.static(__dirname + '/../node_modules/bootstrap/dist/fonts')); // redirect static calls
40 | app.set('port', process.env.PORT || 3000); // main port
41 |
42 | // prepare our API endpoint routing
43 | var oauth = require('./oauth');
44 | var da = require('./design.automation');
45 | app.use('/', oauth); // redirect oauth API calls
46 | app.use('/da', da); // redirect our Design Automation API calls
47 |
48 | module.exports = app;
--------------------------------------------------------------------------------
/start.js:
--------------------------------------------------------------------------------
1 | /////////////////////////////////////////////////////////////////////
2 | // Copyright (c) Autodesk, Inc. All rights reserved
3 | // Written by Autodesk Partner Development
4 | //
5 | // Permission to use, copy, modify, and distribute this software in
6 | // object code form for any purpose and without fee is hereby granted,
7 | // provided that the above copyright notice appears in all copies and
8 | // that both that copyright notice and the limited warranty and
9 | // restricted rights notice below appear in all supporting
10 | // documentation.
11 | //
12 | // AUTODESK PROVIDES THIS PROGRAM "AS IS" AND WITH ALL FAULTS.
13 | // AUTODESK SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTY OF
14 | // MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE. AUTODESK, INC.
15 | // DOES NOT WARRANT THAT THE OPERATION OF THE PROGRAM WILL BE
16 | // UNINTERRUPTED OR ERROR FREE.
17 | /////////////////////////////////////////////////////////////////////
18 |
19 | 'use strict';
20 |
21 | var app = require('./server/server');
22 |
23 | // start server
24 | var server = app.listen(app.get('port'), function () {
25 | console.log('Starting at ' + (new Date()).toString());
26 | console.log('Server listening on port ' + server.address().port);
27 | });
--------------------------------------------------------------------------------
/thumbnail.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/autodesk-platform-services/aps-design-automation-tools/a8ff782f44e9f5b3aef0e73b49eafdf77dc7cc44/thumbnail.png
--------------------------------------------------------------------------------
/www/css/32px.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/autodesk-platform-services/aps-design-automation-tools/a8ff782f44e9f5b3aef0e73b49eafdf77dc7cc44/www/css/32px.png
--------------------------------------------------------------------------------
/www/css/40px.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/autodesk-platform-services/aps-design-automation-tools/a8ff782f44e9f5b3aef0e73b49eafdf77dc7cc44/www/css/40px.png
--------------------------------------------------------------------------------
/www/css/bootstrap-theme.css:
--------------------------------------------------------------------------------
1 | /*!
2 | * Bootstrap v3.3.6 (http://getbootstrap.com)
3 | * Copyright 2011-2015 Twitter, Inc.
4 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
5 | */
6 | .btn-default,
7 | .btn-primary,
8 | .btn-success,
9 | .btn-info,
10 | .btn-warning,
11 | .btn-danger {
12 | text-shadow: 0 -1px 0 rgba(0, 0, 0, .2);
13 | -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075);
14 | box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075);
15 | }
16 | .btn-default:active,
17 | .btn-primary:active,
18 | .btn-success:active,
19 | .btn-info:active,
20 | .btn-warning:active,
21 | .btn-danger:active,
22 | .btn-default.active,
23 | .btn-primary.active,
24 | .btn-success.active,
25 | .btn-info.active,
26 | .btn-warning.active,
27 | .btn-danger.active {
28 | -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
29 | box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
30 | }
31 | .btn-default.disabled,
32 | .btn-primary.disabled,
33 | .btn-success.disabled,
34 | .btn-info.disabled,
35 | .btn-warning.disabled,
36 | .btn-danger.disabled,
37 | .btn-default[disabled],
38 | .btn-primary[disabled],
39 | .btn-success[disabled],
40 | .btn-info[disabled],
41 | .btn-warning[disabled],
42 | .btn-danger[disabled],
43 | fieldset[disabled] .btn-default,
44 | fieldset[disabled] .btn-primary,
45 | fieldset[disabled] .btn-success,
46 | fieldset[disabled] .btn-info,
47 | fieldset[disabled] .btn-warning,
48 | fieldset[disabled] .btn-danger {
49 | -webkit-box-shadow: none;
50 | box-shadow: none;
51 | }
52 | .btn-default .badge,
53 | .btn-primary .badge,
54 | .btn-success .badge,
55 | .btn-info .badge,
56 | .btn-warning .badge,
57 | .btn-danger .badge {
58 | text-shadow: none;
59 | }
60 | .btn:active,
61 | .btn.active {
62 | background-image: none;
63 | }
64 | .btn-default {
65 | text-shadow: 0 1px 0 #fff;
66 | background-image: -webkit-linear-gradient(top, #fff 0%, #e0e0e0 100%);
67 | background-image: -o-linear-gradient(top, #fff 0%, #e0e0e0 100%);
68 | background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#e0e0e0));
69 | background-image: linear-gradient(to bottom, #fff 0%, #e0e0e0 100%);
70 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);
71 | filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
72 | background-repeat: repeat-x;
73 | border-color: #dbdbdb;
74 | border-color: #ccc;
75 | }
76 | .btn-default:hover,
77 | .btn-default:focus {
78 | background-color: #e0e0e0;
79 | background-position: 0 -15px;
80 | }
81 | .btn-default:active,
82 | .btn-default.active {
83 | background-color: #e0e0e0;
84 | border-color: #dbdbdb;
85 | }
86 | .btn-default.disabled,
87 | .btn-default[disabled],
88 | fieldset[disabled] .btn-default,
89 | .btn-default.disabled:hover,
90 | .btn-default[disabled]:hover,
91 | fieldset[disabled] .btn-default:hover,
92 | .btn-default.disabled:focus,
93 | .btn-default[disabled]:focus,
94 | fieldset[disabled] .btn-default:focus,
95 | .btn-default.disabled.focus,
96 | .btn-default[disabled].focus,
97 | fieldset[disabled] .btn-default.focus,
98 | .btn-default.disabled:active,
99 | .btn-default[disabled]:active,
100 | fieldset[disabled] .btn-default:active,
101 | .btn-default.disabled.active,
102 | .btn-default[disabled].active,
103 | fieldset[disabled] .btn-default.active {
104 | background-color: #e0e0e0;
105 | background-image: none;
106 | }
107 | .btn-primary {
108 | background-image: -webkit-linear-gradient(top, #337ab7 0%, #265a88 100%);
109 | background-image: -o-linear-gradient(top, #337ab7 0%, #265a88 100%);
110 | background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#265a88));
111 | background-image: linear-gradient(to bottom, #337ab7 0%, #265a88 100%);
112 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0);
113 | filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
114 | background-repeat: repeat-x;
115 | border-color: #245580;
116 | }
117 | .btn-primary:hover,
118 | .btn-primary:focus {
119 | background-color: #265a88;
120 | background-position: 0 -15px;
121 | }
122 | .btn-primary:active,
123 | .btn-primary.active {
124 | background-color: #265a88;
125 | border-color: #245580;
126 | }
127 | .btn-primary.disabled,
128 | .btn-primary[disabled],
129 | fieldset[disabled] .btn-primary,
130 | .btn-primary.disabled:hover,
131 | .btn-primary[disabled]:hover,
132 | fieldset[disabled] .btn-primary:hover,
133 | .btn-primary.disabled:focus,
134 | .btn-primary[disabled]:focus,
135 | fieldset[disabled] .btn-primary:focus,
136 | .btn-primary.disabled.focus,
137 | .btn-primary[disabled].focus,
138 | fieldset[disabled] .btn-primary.focus,
139 | .btn-primary.disabled:active,
140 | .btn-primary[disabled]:active,
141 | fieldset[disabled] .btn-primary:active,
142 | .btn-primary.disabled.active,
143 | .btn-primary[disabled].active,
144 | fieldset[disabled] .btn-primary.active {
145 | background-color: #265a88;
146 | background-image: none;
147 | }
148 | .btn-success {
149 | background-image: -webkit-linear-gradient(top, #5cb85c 0%, #419641 100%);
150 | background-image: -o-linear-gradient(top, #5cb85c 0%, #419641 100%);
151 | background-image: -webkit-gradient(linear, left top, left bottom, from(#5cb85c), to(#419641));
152 | background-image: linear-gradient(to bottom, #5cb85c 0%, #419641 100%);
153 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);
154 | filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
155 | background-repeat: repeat-x;
156 | border-color: #3e8f3e;
157 | }
158 | .btn-success:hover,
159 | .btn-success:focus {
160 | background-color: #419641;
161 | background-position: 0 -15px;
162 | }
163 | .btn-success:active,
164 | .btn-success.active {
165 | background-color: #419641;
166 | border-color: #3e8f3e;
167 | }
168 | .btn-success.disabled,
169 | .btn-success[disabled],
170 | fieldset[disabled] .btn-success,
171 | .btn-success.disabled:hover,
172 | .btn-success[disabled]:hover,
173 | fieldset[disabled] .btn-success:hover,
174 | .btn-success.disabled:focus,
175 | .btn-success[disabled]:focus,
176 | fieldset[disabled] .btn-success:focus,
177 | .btn-success.disabled.focus,
178 | .btn-success[disabled].focus,
179 | fieldset[disabled] .btn-success.focus,
180 | .btn-success.disabled:active,
181 | .btn-success[disabled]:active,
182 | fieldset[disabled] .btn-success:active,
183 | .btn-success.disabled.active,
184 | .btn-success[disabled].active,
185 | fieldset[disabled] .btn-success.active {
186 | background-color: #419641;
187 | background-image: none;
188 | }
189 | .btn-info {
190 | background-image: -webkit-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);
191 | background-image: -o-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);
192 | background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#2aabd2));
193 | background-image: linear-gradient(to bottom, #5bc0de 0%, #2aabd2 100%);
194 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);
195 | filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
196 | background-repeat: repeat-x;
197 | border-color: #28a4c9;
198 | }
199 | .btn-info:hover,
200 | .btn-info:focus {
201 | background-color: #2aabd2;
202 | background-position: 0 -15px;
203 | }
204 | .btn-info:active,
205 | .btn-info.active {
206 | background-color: #2aabd2;
207 | border-color: #28a4c9;
208 | }
209 | .btn-info.disabled,
210 | .btn-info[disabled],
211 | fieldset[disabled] .btn-info,
212 | .btn-info.disabled:hover,
213 | .btn-info[disabled]:hover,
214 | fieldset[disabled] .btn-info:hover,
215 | .btn-info.disabled:focus,
216 | .btn-info[disabled]:focus,
217 | fieldset[disabled] .btn-info:focus,
218 | .btn-info.disabled.focus,
219 | .btn-info[disabled].focus,
220 | fieldset[disabled] .btn-info.focus,
221 | .btn-info.disabled:active,
222 | .btn-info[disabled]:active,
223 | fieldset[disabled] .btn-info:active,
224 | .btn-info.disabled.active,
225 | .btn-info[disabled].active,
226 | fieldset[disabled] .btn-info.active {
227 | background-color: #2aabd2;
228 | background-image: none;
229 | }
230 | .btn-warning {
231 | background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);
232 | background-image: -o-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);
233 | background-image: -webkit-gradient(linear, left top, left bottom, from(#f0ad4e), to(#eb9316));
234 | background-image: linear-gradient(to bottom, #f0ad4e 0%, #eb9316 100%);
235 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);
236 | filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
237 | background-repeat: repeat-x;
238 | border-color: #e38d13;
239 | }
240 | .btn-warning:hover,
241 | .btn-warning:focus {
242 | background-color: #eb9316;
243 | background-position: 0 -15px;
244 | }
245 | .btn-warning:active,
246 | .btn-warning.active {
247 | background-color: #eb9316;
248 | border-color: #e38d13;
249 | }
250 | .btn-warning.disabled,
251 | .btn-warning[disabled],
252 | fieldset[disabled] .btn-warning,
253 | .btn-warning.disabled:hover,
254 | .btn-warning[disabled]:hover,
255 | fieldset[disabled] .btn-warning:hover,
256 | .btn-warning.disabled:focus,
257 | .btn-warning[disabled]:focus,
258 | fieldset[disabled] .btn-warning:focus,
259 | .btn-warning.disabled.focus,
260 | .btn-warning[disabled].focus,
261 | fieldset[disabled] .btn-warning.focus,
262 | .btn-warning.disabled:active,
263 | .btn-warning[disabled]:active,
264 | fieldset[disabled] .btn-warning:active,
265 | .btn-warning.disabled.active,
266 | .btn-warning[disabled].active,
267 | fieldset[disabled] .btn-warning.active {
268 | background-color: #eb9316;
269 | background-image: none;
270 | }
271 | .btn-danger {
272 | background-image: -webkit-linear-gradient(top, #d9534f 0%, #c12e2a 100%);
273 | background-image: -o-linear-gradient(top, #d9534f 0%, #c12e2a 100%);
274 | background-image: -webkit-gradient(linear, left top, left bottom, from(#d9534f), to(#c12e2a));
275 | background-image: linear-gradient(to bottom, #d9534f 0%, #c12e2a 100%);
276 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);
277 | filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
278 | background-repeat: repeat-x;
279 | border-color: #b92c28;
280 | }
281 | .btn-danger:hover,
282 | .btn-danger:focus {
283 | background-color: #c12e2a;
284 | background-position: 0 -15px;
285 | }
286 | .btn-danger:active,
287 | .btn-danger.active {
288 | background-color: #c12e2a;
289 | border-color: #b92c28;
290 | }
291 | .btn-danger.disabled,
292 | .btn-danger[disabled],
293 | fieldset[disabled] .btn-danger,
294 | .btn-danger.disabled:hover,
295 | .btn-danger[disabled]:hover,
296 | fieldset[disabled] .btn-danger:hover,
297 | .btn-danger.disabled:focus,
298 | .btn-danger[disabled]:focus,
299 | fieldset[disabled] .btn-danger:focus,
300 | .btn-danger.disabled.focus,
301 | .btn-danger[disabled].focus,
302 | fieldset[disabled] .btn-danger.focus,
303 | .btn-danger.disabled:active,
304 | .btn-danger[disabled]:active,
305 | fieldset[disabled] .btn-danger:active,
306 | .btn-danger.disabled.active,
307 | .btn-danger[disabled].active,
308 | fieldset[disabled] .btn-danger.active {
309 | background-color: #c12e2a;
310 | background-image: none;
311 | }
312 | .thumbnail,
313 | .img-thumbnail {
314 | -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
315 | box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
316 | }
317 | .dropdown-menu > li > a:hover,
318 | .dropdown-menu > li > a:focus {
319 | background-color: #e8e8e8;
320 | background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
321 | background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
322 | background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8));
323 | background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);
324 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);
325 | background-repeat: repeat-x;
326 | }
327 | .dropdown-menu > .active > a,
328 | .dropdown-menu > .active > a:hover,
329 | .dropdown-menu > .active > a:focus {
330 | background-color: #2e6da4;
331 | background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
332 | background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
333 | background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4));
334 | background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);
335 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);
336 | background-repeat: repeat-x;
337 | }
338 | .navbar-default {
339 | background-image: -webkit-linear-gradient(top, #fff 0%, #f8f8f8 100%);
340 | background-image: -o-linear-gradient(top, #fff 0%, #f8f8f8 100%);
341 | background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#f8f8f8));
342 | background-image: linear-gradient(to bottom, #fff 0%, #f8f8f8 100%);
343 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);
344 | filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
345 | background-repeat: repeat-x;
346 | border-radius: 4px;
347 | -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075);
348 | box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075);
349 | }
350 | .navbar-default .navbar-nav > .open > a,
351 | .navbar-default .navbar-nav > .active > a {
352 | background-image: -webkit-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);
353 | background-image: -o-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);
354 | background-image: -webkit-gradient(linear, left top, left bottom, from(#dbdbdb), to(#e2e2e2));
355 | background-image: linear-gradient(to bottom, #dbdbdb 0%, #e2e2e2 100%);
356 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0);
357 | background-repeat: repeat-x;
358 | -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, .075);
359 | box-shadow: inset 0 3px 9px rgba(0, 0, 0, .075);
360 | }
361 | .navbar-brand,
362 | .navbar-nav > li > a {
363 | text-shadow: 0 1px 0 rgba(255, 255, 255, .25);
364 | }
365 | .navbar-inverse {
366 | background-image: -webkit-linear-gradient(top, #3c3c3c 0%, #222 100%);
367 | background-image: -o-linear-gradient(top, #3c3c3c 0%, #222 100%);
368 | background-image: -webkit-gradient(linear, left top, left bottom, from(#3c3c3c), to(#222));
369 | background-image: linear-gradient(to bottom, #3c3c3c 0%, #222 100%);
370 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);
371 | filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
372 | background-repeat: repeat-x;
373 | border-radius: 4px;
374 | }
375 | .navbar-inverse .navbar-nav > .open > a,
376 | .navbar-inverse .navbar-nav > .active > a {
377 | background-image: -webkit-linear-gradient(top, #080808 0%, #0f0f0f 100%);
378 | background-image: -o-linear-gradient(top, #080808 0%, #0f0f0f 100%);
379 | background-image: -webkit-gradient(linear, left top, left bottom, from(#080808), to(#0f0f0f));
380 | background-image: linear-gradient(to bottom, #080808 0%, #0f0f0f 100%);
381 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0);
382 | background-repeat: repeat-x;
383 | -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, .25);
384 | box-shadow: inset 0 3px 9px rgba(0, 0, 0, .25);
385 | }
386 | .navbar-inverse .navbar-brand,
387 | .navbar-inverse .navbar-nav > li > a {
388 | text-shadow: 0 -1px 0 rgba(0, 0, 0, .25);
389 | }
390 | .navbar-static-top,
391 | .navbar-fixed-top,
392 | .navbar-fixed-bottom {
393 | border-radius: 0;
394 | }
395 | @media (max-width: 767px) {
396 | .navbar .navbar-nav .open .dropdown-menu > .active > a,
397 | .navbar .navbar-nav .open .dropdown-menu > .active > a:hover,
398 | .navbar .navbar-nav .open .dropdown-menu > .active > a:focus {
399 | color: #fff;
400 | background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
401 | background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
402 | background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4));
403 | background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);
404 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);
405 | background-repeat: repeat-x;
406 | }
407 | }
408 | .alert {
409 | text-shadow: 0 1px 0 rgba(255, 255, 255, .2);
410 | -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05);
411 | box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05);
412 | }
413 | .alert-success {
414 | background-image: -webkit-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);
415 | background-image: -o-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);
416 | background-image: -webkit-gradient(linear, left top, left bottom, from(#dff0d8), to(#c8e5bc));
417 | background-image: linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%);
418 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);
419 | background-repeat: repeat-x;
420 | border-color: #b2dba1;
421 | }
422 | .alert-info {
423 | background-image: -webkit-linear-gradient(top, #d9edf7 0%, #b9def0 100%);
424 | background-image: -o-linear-gradient(top, #d9edf7 0%, #b9def0 100%);
425 | background-image: -webkit-gradient(linear, left top, left bottom, from(#d9edf7), to(#b9def0));
426 | background-image: linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%);
427 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);
428 | background-repeat: repeat-x;
429 | border-color: #9acfea;
430 | }
431 | .alert-warning {
432 | background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);
433 | background-image: -o-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);
434 | background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf8e3), to(#f8efc0));
435 | background-image: linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%);
436 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);
437 | background-repeat: repeat-x;
438 | border-color: #f5e79e;
439 | }
440 | .alert-danger {
441 | background-image: -webkit-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);
442 | background-image: -o-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);
443 | background-image: -webkit-gradient(linear, left top, left bottom, from(#f2dede), to(#e7c3c3));
444 | background-image: linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%);
445 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);
446 | background-repeat: repeat-x;
447 | border-color: #dca7a7;
448 | }
449 | .progress {
450 | background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);
451 | background-image: -o-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);
452 | background-image: -webkit-gradient(linear, left top, left bottom, from(#ebebeb), to(#f5f5f5));
453 | background-image: linear-gradient(to bottom, #ebebeb 0%, #f5f5f5 100%);
454 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);
455 | background-repeat: repeat-x;
456 | }
457 | .progress-bar {
458 | background-image: -webkit-linear-gradient(top, #337ab7 0%, #286090 100%);
459 | background-image: -o-linear-gradient(top, #337ab7 0%, #286090 100%);
460 | background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#286090));
461 | background-image: linear-gradient(to bottom, #337ab7 0%, #286090 100%);
462 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff286090', GradientType=0);
463 | background-repeat: repeat-x;
464 | }
465 | .progress-bar-success {
466 | background-image: -webkit-linear-gradient(top, #5cb85c 0%, #449d44 100%);
467 | background-image: -o-linear-gradient(top, #5cb85c 0%, #449d44 100%);
468 | background-image: -webkit-gradient(linear, left top, left bottom, from(#5cb85c), to(#449d44));
469 | background-image: linear-gradient(to bottom, #5cb85c 0%, #449d44 100%);
470 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);
471 | background-repeat: repeat-x;
472 | }
473 | .progress-bar-info {
474 | background-image: -webkit-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);
475 | background-image: -o-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);
476 | background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#31b0d5));
477 | background-image: linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%);
478 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);
479 | background-repeat: repeat-x;
480 | }
481 | .progress-bar-warning {
482 | background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);
483 | background-image: -o-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);
484 | background-image: -webkit-gradient(linear, left top, left bottom, from(#f0ad4e), to(#ec971f));
485 | background-image: linear-gradient(to bottom, #f0ad4e 0%, #ec971f 100%);
486 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);
487 | background-repeat: repeat-x;
488 | }
489 | .progress-bar-danger {
490 | background-image: -webkit-linear-gradient(top, #d9534f 0%, #c9302c 100%);
491 | background-image: -o-linear-gradient(top, #d9534f 0%, #c9302c 100%);
492 | background-image: -webkit-gradient(linear, left top, left bottom, from(#d9534f), to(#c9302c));
493 | background-image: linear-gradient(to bottom, #d9534f 0%, #c9302c 100%);
494 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);
495 | background-repeat: repeat-x;
496 | }
497 | .progress-bar-striped {
498 | background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
499 | background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
500 | background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
501 | }
502 | .list-group {
503 | border-radius: 4px;
504 | -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
505 | box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
506 | }
507 | .list-group-item.active,
508 | .list-group-item.active:hover,
509 | .list-group-item.active:focus {
510 | text-shadow: 0 -1px 0 #286090;
511 | background-image: -webkit-linear-gradient(top, #337ab7 0%, #2b669a 100%);
512 | background-image: -o-linear-gradient(top, #337ab7 0%, #2b669a 100%);
513 | background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2b669a));
514 | background-image: linear-gradient(to bottom, #337ab7 0%, #2b669a 100%);
515 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2b669a', GradientType=0);
516 | background-repeat: repeat-x;
517 | border-color: #2b669a;
518 | }
519 | .list-group-item.active .badge,
520 | .list-group-item.active:hover .badge,
521 | .list-group-item.active:focus .badge {
522 | text-shadow: none;
523 | }
524 | .panel {
525 | -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
526 | box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
527 | }
528 | .panel-default > .panel-heading {
529 | background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
530 | background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
531 | background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8));
532 | background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);
533 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);
534 | background-repeat: repeat-x;
535 | }
536 | .panel-primary > .panel-heading {
537 | background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
538 | background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
539 | background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4));
540 | background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);
541 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);
542 | background-repeat: repeat-x;
543 | }
544 | .panel-success > .panel-heading {
545 | background-image: -webkit-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);
546 | background-image: -o-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);
547 | background-image: -webkit-gradient(linear, left top, left bottom, from(#dff0d8), to(#d0e9c6));
548 | background-image: linear-gradient(to bottom, #dff0d8 0%, #d0e9c6 100%);
549 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);
550 | background-repeat: repeat-x;
551 | }
552 | .panel-info > .panel-heading {
553 | background-image: -webkit-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);
554 | background-image: -o-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);
555 | background-image: -webkit-gradient(linear, left top, left bottom, from(#d9edf7), to(#c4e3f3));
556 | background-image: linear-gradient(to bottom, #d9edf7 0%, #c4e3f3 100%);
557 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);
558 | background-repeat: repeat-x;
559 | }
560 | .panel-warning > .panel-heading {
561 | background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);
562 | background-image: -o-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);
563 | background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf8e3), to(#faf2cc));
564 | background-image: linear-gradient(to bottom, #fcf8e3 0%, #faf2cc 100%);
565 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);
566 | background-repeat: repeat-x;
567 | }
568 | .panel-danger > .panel-heading {
569 | background-image: -webkit-linear-gradient(top, #f2dede 0%, #ebcccc 100%);
570 | background-image: -o-linear-gradient(top, #f2dede 0%, #ebcccc 100%);
571 | background-image: -webkit-gradient(linear, left top, left bottom, from(#f2dede), to(#ebcccc));
572 | background-image: linear-gradient(to bottom, #f2dede 0%, #ebcccc 100%);
573 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);
574 | background-repeat: repeat-x;
575 | }
576 | .well {
577 | background-image: -webkit-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);
578 | background-image: -o-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);
579 | background-image: -webkit-gradient(linear, left top, left bottom, from(#e8e8e8), to(#f5f5f5));
580 | background-image: linear-gradient(to bottom, #e8e8e8 0%, #f5f5f5 100%);
581 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);
582 | background-repeat: repeat-x;
583 | border-color: #dcdcdc;
584 | -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 255, 255, .1);
585 | box-shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 255, 255, .1);
586 | }
587 | /*# sourceMappingURL=bootstrap-theme.css.map */
588 |
--------------------------------------------------------------------------------
/www/css/bootstrap-theme.min.css:
--------------------------------------------------------------------------------
1 | /*!
2 | * Bootstrap v3.3.6 (http://getbootstrap.com)
3 | * Copyright 2011-2015 Twitter, Inc.
4 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
5 | */.btn-danger,.btn-default,.btn-info,.btn-primary,.btn-success,.btn-warning{text-shadow:0 -1px 0 rgba(0,0,0,.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075)}.btn-danger.active,.btn-danger:active,.btn-default.active,.btn-default:active,.btn-info.active,.btn-info:active,.btn-primary.active,.btn-primary:active,.btn-success.active,.btn-success:active,.btn-warning.active,.btn-warning:active{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-danger.disabled,.btn-danger[disabled],.btn-default.disabled,.btn-default[disabled],.btn-info.disabled,.btn-info[disabled],.btn-primary.disabled,.btn-primary[disabled],.btn-success.disabled,.btn-success[disabled],.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-danger,fieldset[disabled] .btn-default,fieldset[disabled] .btn-info,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-success,fieldset[disabled] .btn-warning{-webkit-box-shadow:none;box-shadow:none}.btn-danger .badge,.btn-default .badge,.btn-info .badge,.btn-primary .badge,.btn-success .badge,.btn-warning .badge{text-shadow:none}.btn.active,.btn:active{background-image:none}.btn-default{text-shadow:0 1px 0 #fff;background-image:-webkit-linear-gradient(top,#fff 0,#e0e0e0 100%);background-image:-o-linear-gradient(top,#fff 0,#e0e0e0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#e0e0e0));background-image:linear-gradient(to bottom,#fff 0,#e0e0e0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#dbdbdb;border-color:#ccc}.btn-default:focus,.btn-default:hover{background-color:#e0e0e0;background-position:0 -15px}.btn-default.active,.btn-default:active{background-color:#e0e0e0;border-color:#dbdbdb}.btn-default.disabled,.btn-default.disabled.active,.btn-default.disabled.focus,.btn-default.disabled:active,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled],.btn-default[disabled].active,.btn-default[disabled].focus,.btn-default[disabled]:active,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default,fieldset[disabled] .btn-default.active,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:active,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#e0e0e0;background-image:none}.btn-primary{background-image:-webkit-linear-gradient(top,#337ab7 0,#265a88 100%);background-image:-o-linear-gradient(top,#337ab7 0,#265a88 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#265a88));background-image:linear-gradient(to bottom,#337ab7 0,#265a88 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#245580}.btn-primary:focus,.btn-primary:hover{background-color:#265a88;background-position:0 -15px}.btn-primary.active,.btn-primary:active{background-color:#265a88;border-color:#245580}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled.focus,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled].focus,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#265a88;background-image:none}.btn-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#419641 100%);background-image:-o-linear-gradient(top,#5cb85c 0,#419641 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5cb85c),to(#419641));background-image:linear-gradient(to bottom,#5cb85c 0,#419641 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#3e8f3e}.btn-success:focus,.btn-success:hover{background-color:#419641;background-position:0 -15px}.btn-success.active,.btn-success:active{background-color:#419641;border-color:#3e8f3e}.btn-success.disabled,.btn-success.disabled.active,.btn-success.disabled.focus,.btn-success.disabled:active,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled],.btn-success[disabled].active,.btn-success[disabled].focus,.btn-success[disabled]:active,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success.active,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#419641;background-image:none}.btn-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#2aabd2 100%);background-image:-o-linear-gradient(top,#5bc0de 0,#2aabd2 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5bc0de),to(#2aabd2));background-image:linear-gradient(to bottom,#5bc0de 0,#2aabd2 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#28a4c9}.btn-info:focus,.btn-info:hover{background-color:#2aabd2;background-position:0 -15px}.btn-info.active,.btn-info:active{background-color:#2aabd2;border-color:#28a4c9}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled.focus,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled].focus,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#2aabd2;background-image:none}.btn-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#eb9316 100%);background-image:-o-linear-gradient(top,#f0ad4e 0,#eb9316 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f0ad4e),to(#eb9316));background-image:linear-gradient(to bottom,#f0ad4e 0,#eb9316 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#e38d13}.btn-warning:focus,.btn-warning:hover{background-color:#eb9316;background-position:0 -15px}.btn-warning.active,.btn-warning:active{background-color:#eb9316;border-color:#e38d13}.btn-warning.disabled,.btn-warning.disabled.active,.btn-warning.disabled.focus,.btn-warning.disabled:active,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled],.btn-warning[disabled].active,.btn-warning[disabled].focus,.btn-warning[disabled]:active,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning.active,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#eb9316;background-image:none}.btn-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c12e2a 100%);background-image:-o-linear-gradient(top,#d9534f 0,#c12e2a 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9534f),to(#c12e2a));background-image:linear-gradient(to bottom,#d9534f 0,#c12e2a 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#b92c28}.btn-danger:focus,.btn-danger:hover{background-color:#c12e2a;background-position:0 -15px}.btn-danger.active,.btn-danger:active{background-color:#c12e2a;border-color:#b92c28}.btn-danger.disabled,.btn-danger.disabled.active,.btn-danger.disabled.focus,.btn-danger.disabled:active,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled],.btn-danger[disabled].active,.btn-danger[disabled].focus,.btn-danger[disabled]:active,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger.active,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#c12e2a;background-image:none}.img-thumbnail,.thumbnail{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{background-color:#e8e8e8;background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-o-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#e8e8e8));background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);background-repeat:repeat-x}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{background-color:#2e6da4;background-image:-webkit-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2e6da4));background-image:linear-gradient(to bottom,#337ab7 0,#2e6da4 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);background-repeat:repeat-x}.navbar-default{background-image:-webkit-linear-gradient(top,#fff 0,#f8f8f8 100%);background-image:-o-linear-gradient(top,#fff 0,#f8f8f8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#f8f8f8));background-image:linear-gradient(to bottom,#fff 0,#f8f8f8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-radius:4px;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075)}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.open>a{background-image:-webkit-linear-gradient(top,#dbdbdb 0,#e2e2e2 100%);background-image:-o-linear-gradient(top,#dbdbdb 0,#e2e2e2 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dbdbdb),to(#e2e2e2));background-image:linear-gradient(to bottom,#dbdbdb 0,#e2e2e2 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0);background-repeat:repeat-x;-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.075);box-shadow:inset 0 3px 9px rgba(0,0,0,.075)}.navbar-brand,.navbar-nav>li>a{text-shadow:0 1px 0 rgba(255,255,255,.25)}.navbar-inverse{background-image:-webkit-linear-gradient(top,#3c3c3c 0,#222 100%);background-image:-o-linear-gradient(top,#3c3c3c 0,#222 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#3c3c3c),to(#222));background-image:linear-gradient(to bottom,#3c3c3c 0,#222 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-radius:4px}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.open>a{background-image:-webkit-linear-gradient(top,#080808 0,#0f0f0f 100%);background-image:-o-linear-gradient(top,#080808 0,#0f0f0f 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#080808),to(#0f0f0f));background-image:linear-gradient(to bottom,#080808 0,#0f0f0f 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0);background-repeat:repeat-x;-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.25);box-shadow:inset 0 3px 9px rgba(0,0,0,.25)}.navbar-inverse .navbar-brand,.navbar-inverse .navbar-nav>li>a{text-shadow:0 -1px 0 rgba(0,0,0,.25)}.navbar-fixed-bottom,.navbar-fixed-top,.navbar-static-top{border-radius:0}@media (max-width:767px){.navbar .navbar-nav .open .dropdown-menu>.active>a,.navbar .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-image:-webkit-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2e6da4));background-image:linear-gradient(to bottom,#337ab7 0,#2e6da4 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);background-repeat:repeat-x}}.alert{text-shadow:0 1px 0 rgba(255,255,255,.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05)}.alert-success{background-image:-webkit-linear-gradient(top,#dff0d8 0,#c8e5bc 100%);background-image:-o-linear-gradient(top,#dff0d8 0,#c8e5bc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dff0d8),to(#c8e5bc));background-image:linear-gradient(to bottom,#dff0d8 0,#c8e5bc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);background-repeat:repeat-x;border-color:#b2dba1}.alert-info{background-image:-webkit-linear-gradient(top,#d9edf7 0,#b9def0 100%);background-image:-o-linear-gradient(top,#d9edf7 0,#b9def0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9edf7),to(#b9def0));background-image:linear-gradient(to bottom,#d9edf7 0,#b9def0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);background-repeat:repeat-x;border-color:#9acfea}.alert-warning{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#f8efc0 100%);background-image:-o-linear-gradient(top,#fcf8e3 0,#f8efc0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fcf8e3),to(#f8efc0));background-image:linear-gradient(to bottom,#fcf8e3 0,#f8efc0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);background-repeat:repeat-x;border-color:#f5e79e}.alert-danger{background-image:-webkit-linear-gradient(top,#f2dede 0,#e7c3c3 100%);background-image:-o-linear-gradient(top,#f2dede 0,#e7c3c3 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f2dede),to(#e7c3c3));background-image:linear-gradient(to bottom,#f2dede 0,#e7c3c3 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);background-repeat:repeat-x;border-color:#dca7a7}.progress{background-image:-webkit-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);background-image:-o-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#ebebeb),to(#f5f5f5));background-image:linear-gradient(to bottom,#ebebeb 0,#f5f5f5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);background-repeat:repeat-x}.progress-bar{background-image:-webkit-linear-gradient(top,#337ab7 0,#286090 100%);background-image:-o-linear-gradient(top,#337ab7 0,#286090 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#286090));background-image:linear-gradient(to bottom,#337ab7 0,#286090 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff286090', GradientType=0);background-repeat:repeat-x}.progress-bar-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:-o-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5cb85c),to(#449d44));background-image:linear-gradient(to bottom,#5cb85c 0,#449d44 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);background-repeat:repeat-x}.progress-bar-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:-o-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5bc0de),to(#31b0d5));background-image:linear-gradient(to bottom,#5bc0de 0,#31b0d5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);background-repeat:repeat-x}.progress-bar-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:-o-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f0ad4e),to(#ec971f));background-image:linear-gradient(to bottom,#f0ad4e 0,#ec971f 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);background-repeat:repeat-x}.progress-bar-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:-o-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9534f),to(#c9302c));background-image:linear-gradient(to bottom,#d9534f 0,#c9302c 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);background-repeat:repeat-x}.progress-bar-striped{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.list-group{border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{text-shadow:0 -1px 0 #286090;background-image:-webkit-linear-gradient(top,#337ab7 0,#2b669a 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2b669a 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2b669a));background-image:linear-gradient(to bottom,#337ab7 0,#2b669a 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2b669a', GradientType=0);background-repeat:repeat-x;border-color:#2b669a}.list-group-item.active .badge,.list-group-item.active:focus .badge,.list-group-item.active:hover .badge{text-shadow:none}.panel{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.05);box-shadow:0 1px 2px rgba(0,0,0,.05)}.panel-default>.panel-heading{background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-o-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#e8e8e8));background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);background-repeat:repeat-x}.panel-primary>.panel-heading{background-image:-webkit-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2e6da4));background-image:linear-gradient(to bottom,#337ab7 0,#2e6da4 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);background-repeat:repeat-x}.panel-success>.panel-heading{background-image:-webkit-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);background-image:-o-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dff0d8),to(#d0e9c6));background-image:linear-gradient(to bottom,#dff0d8 0,#d0e9c6 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);background-repeat:repeat-x}.panel-info>.panel-heading{background-image:-webkit-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);background-image:-o-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9edf7),to(#c4e3f3));background-image:linear-gradient(to bottom,#d9edf7 0,#c4e3f3 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);background-repeat:repeat-x}.panel-warning>.panel-heading{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#faf2cc 100%);background-image:-o-linear-gradient(top,#fcf8e3 0,#faf2cc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fcf8e3),to(#faf2cc));background-image:linear-gradient(to bottom,#fcf8e3 0,#faf2cc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);background-repeat:repeat-x}.panel-danger>.panel-heading{background-image:-webkit-linear-gradient(top,#f2dede 0,#ebcccc 100%);background-image:-o-linear-gradient(top,#f2dede 0,#ebcccc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f2dede),to(#ebcccc));background-image:linear-gradient(to bottom,#f2dede 0,#ebcccc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);background-repeat:repeat-x}.well{background-image:-webkit-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:-o-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#e8e8e8),to(#f5f5f5));background-image:linear-gradient(to bottom,#e8e8e8 0,#f5f5f5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);background-repeat:repeat-x;border-color:#dcdcdc;-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1)}
6 | /*# sourceMappingURL=bootstrap-theme.min.css.map */
--------------------------------------------------------------------------------
/www/css/bootstrap-theme.min.css.map:
--------------------------------------------------------------------------------
1 | {"version":3,"sources":["less/theme.less","less/mixins/vendor-prefixes.less","less/mixins/gradients.less","less/mixins/reset-filter.less"],"names":[],"mappings":";;;;AAmBA,YAAA,aAAA,UAAA,aAAA,aAAA,aAME,YAAA,EAAA,KAAA,EAAA,eC2CA,mBAAA,MAAA,EAAA,IAAA,EAAA,sBAAA,EAAA,IAAA,IAAA,iBACQ,WAAA,MAAA,EAAA,IAAA,EAAA,sBAAA,EAAA,IAAA,IAAA,iBDvCR,mBAAA,mBAAA,oBAAA,oBAAA,iBAAA,iBAAA,oBAAA,oBAAA,oBAAA,oBAAA,oBAAA,oBCsCA,mBAAA,MAAA,EAAA,IAAA,IAAA,iBACQ,WAAA,MAAA,EAAA,IAAA,IAAA,iBDlCR,qBAAA,sBAAA,sBAAA,uBAAA,mBAAA,oBAAA,sBAAA,uBAAA,sBAAA,uBAAA,sBAAA,uBAAA,+BAAA,gCAAA,6BAAA,gCAAA,gCAAA,gCCiCA,mBAAA,KACQ,WAAA,KDlDV,mBAAA,oBAAA,iBAAA,oBAAA,oBAAA,oBAuBI,YAAA,KAyCF,YAAA,YAEE,iBAAA,KAKJ,aErEI,YAAA,EAAA,IAAA,EAAA,KACA,iBAAA,iDACA,iBAAA,4CAAA,iBAAA,qEAEA,iBAAA,+CCnBF,OAAA,+GH4CA,OAAA,0DACA,kBAAA,SAuC2C,aAAA,QAA2B,aAAA,KArCtE,mBAAA,mBAEE,iBAAA,QACA,oBAAA,EAAA,MAGF,oBAAA,oBAEE,iBAAA,QACA,aAAA,QAMA,sBAAA,6BAAA,4BAAA,6BAAA,4BAAA,4BAAA,uBAAA,8BAAA,6BAAA,8BAAA,6BAAA,6BAAA,gCAAA,uCAAA,sCAAA,uCAAA,sCAAA,sCAME,iBAAA,QACA,iBAAA,KAgBN,aEtEI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDAEA,OAAA,+GCnBF,OAAA,0DH4CA,kBAAA,SACA,aAAA,QAEA,mBAAA,mBAEE,iBAAA,QACA,oBAAA,EAAA,MAGF,oBAAA,oBAEE,iBAAA,QACA,aAAA,QAMA,sBAAA,6BAAA,4BAAA,6BAAA,4BAAA,4BAAA,uBAAA,8BAAA,6BAAA,8BAAA,6BAAA,6BAAA,gCAAA,uCAAA,sCAAA,uCAAA,sCAAA,sCAME,iBAAA,QACA,iBAAA,KAiBN,aEvEI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDAEA,OAAA,+GCnBF,OAAA,0DH4CA,kBAAA,SACA,aAAA,QAEA,mBAAA,mBAEE,iBAAA,QACA,oBAAA,EAAA,MAGF,oBAAA,oBAEE,iBAAA,QACA,aAAA,QAMA,sBAAA,6BAAA,4BAAA,6BAAA,4BAAA,4BAAA,uBAAA,8BAAA,6BAAA,8BAAA,6BAAA,6BAAA,gCAAA,uCAAA,sCAAA,uCAAA,sCAAA,sCAME,iBAAA,QACA,iBAAA,KAkBN,UExEI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDAEA,OAAA,+GCnBF,OAAA,0DH4CA,kBAAA,SACA,aAAA,QAEA,gBAAA,gBAEE,iBAAA,QACA,oBAAA,EAAA,MAGF,iBAAA,iBAEE,iBAAA,QACA,aAAA,QAMA,mBAAA,0BAAA,yBAAA,0BAAA,yBAAA,yBAAA,oBAAA,2BAAA,0BAAA,2BAAA,0BAAA,0BAAA,6BAAA,oCAAA,mCAAA,oCAAA,mCAAA,mCAME,iBAAA,QACA,iBAAA,KAmBN,aEzEI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDAEA,OAAA,+GCnBF,OAAA,0DH4CA,kBAAA,SACA,aAAA,QAEA,mBAAA,mBAEE,iBAAA,QACA,oBAAA,EAAA,MAGF,oBAAA,oBAEE,iBAAA,QACA,aAAA,QAMA,sBAAA,6BAAA,4BAAA,6BAAA,4BAAA,4BAAA,uBAAA,8BAAA,6BAAA,8BAAA,6BAAA,6BAAA,gCAAA,uCAAA,sCAAA,uCAAA,sCAAA,sCAME,iBAAA,QACA,iBAAA,KAoBN,YE1EI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDAEA,OAAA,+GCnBF,OAAA,0DH4CA,kBAAA,SACA,aAAA,QAEA,kBAAA,kBAEE,iBAAA,QACA,oBAAA,EAAA,MAGF,mBAAA,mBAEE,iBAAA,QACA,aAAA,QAMA,qBAAA,4BAAA,2BAAA,4BAAA,2BAAA,2BAAA,sBAAA,6BAAA,4BAAA,6BAAA,4BAAA,4BAAA,+BAAA,sCAAA,qCAAA,sCAAA,qCAAA,qCAME,iBAAA,QACA,iBAAA,KA2BN,eAAA,WClCE,mBAAA,EAAA,IAAA,IAAA,iBACQ,WAAA,EAAA,IAAA,IAAA,iBD2CV,0BAAA,0BE3FI,iBAAA,QACA,iBAAA,oDACA,iBAAA,+CAAA,iBAAA,wEACA,iBAAA,kDACA,OAAA,+GF0FF,kBAAA,SAEF,yBAAA,+BAAA,+BEhGI,iBAAA,QACA,iBAAA,oDACA,iBAAA,+CAAA,iBAAA,wEACA,iBAAA,kDACA,OAAA,+GFgGF,kBAAA,SASF,gBE7GI,iBAAA,iDACA,iBAAA,4CACA,iBAAA,qEAAA,iBAAA,+CACA,OAAA,+GACA,OAAA,0DCnBF,kBAAA,SH+HA,cAAA,ICjEA,mBAAA,MAAA,EAAA,IAAA,EAAA,sBAAA,EAAA,IAAA,IAAA,iBACQ,WAAA,MAAA,EAAA,IAAA,EAAA,sBAAA,EAAA,IAAA,IAAA,iBD6DV,sCAAA,oCE7GI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDACA,OAAA,+GACA,kBAAA,SD2CF,mBAAA,MAAA,EAAA,IAAA,IAAA,iBACQ,WAAA,MAAA,EAAA,IAAA,IAAA,iBD0EV,cAAA,iBAEE,YAAA,EAAA,IAAA,EAAA,sBAIF,gBEhII,iBAAA,iDACA,iBAAA,4CACA,iBAAA,qEAAA,iBAAA,+CACA,OAAA,+GACA,OAAA,0DCnBF,kBAAA,SHkJA,cAAA,IAHF,sCAAA,oCEhII,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDACA,OAAA,+GACA,kBAAA,SD2CF,mBAAA,MAAA,EAAA,IAAA,IAAA,gBACQ,WAAA,MAAA,EAAA,IAAA,IAAA,gBDgFV,8BAAA,iCAYI,YAAA,EAAA,KAAA,EAAA,gBAKJ,qBAAA,kBAAA,mBAGE,cAAA,EAqBF,yBAfI,mDAAA,yDAAA,yDAGE,MAAA,KE7JF,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDACA,OAAA,+GACA,kBAAA,UFqKJ,OACE,YAAA,EAAA,IAAA,EAAA,qBC3HA,mBAAA,MAAA,EAAA,IAAA,EAAA,sBAAA,EAAA,IAAA,IAAA,gBACQ,WAAA,MAAA,EAAA,IAAA,EAAA,sBAAA,EAAA,IAAA,IAAA,gBDsIV,eEtLI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDACA,OAAA,+GACA,kBAAA,SF8KF,aAAA,QAKF,YEvLI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDACA,OAAA,+GACA,kBAAA,SF8KF,aAAA,QAMF,eExLI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDACA,OAAA,+GACA,kBAAA,SF8KF,aAAA,QAOF,cEzLI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDACA,OAAA,+GACA,kBAAA,SF8KF,aAAA,QAeF,UEjMI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDACA,OAAA,+GACA,kBAAA,SFuMJ,cE3MI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDACA,OAAA,+GACA,kBAAA,SFwMJ,sBE5MI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDACA,OAAA,+GACA,kBAAA,SFyMJ,mBE7MI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDACA,OAAA,+GACA,kBAAA,SF0MJ,sBE9MI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDACA,OAAA,+GACA,kBAAA,SF2MJ,qBE/MI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDACA,OAAA,+GACA,kBAAA,SF+MJ,sBElLI,iBAAA,yKACA,iBAAA,oKACA,iBAAA,iKFyLJ,YACE,cAAA,IC9KA,mBAAA,EAAA,IAAA,IAAA,iBACQ,WAAA,EAAA,IAAA,IAAA,iBDgLV,wBAAA,8BAAA,8BAGE,YAAA,EAAA,KAAA,EAAA,QEnOE,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDACA,OAAA,+GACA,kBAAA,SFiOF,aAAA,QALF,+BAAA,qCAAA,qCAQI,YAAA,KAUJ,OCnME,mBAAA,EAAA,IAAA,IAAA,gBACQ,WAAA,EAAA,IAAA,IAAA,gBD4MV,8BE5PI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDACA,OAAA,+GACA,kBAAA,SFyPJ,8BE7PI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDACA,OAAA,+GACA,kBAAA,SF0PJ,8BE9PI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDACA,OAAA,+GACA,kBAAA,SF2PJ,2BE/PI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDACA,OAAA,+GACA,kBAAA,SF4PJ,8BEhQI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDACA,OAAA,+GACA,kBAAA,SF6PJ,6BEjQI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDACA,OAAA,+GACA,kBAAA,SFoQJ,MExQI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDACA,OAAA,+GACA,kBAAA,SFsQF,aAAA,QC3NA,mBAAA,MAAA,EAAA,IAAA,IAAA,gBAAA,EAAA,IAAA,EAAA,qBACQ,WAAA,MAAA,EAAA,IAAA,IAAA,gBAAA,EAAA,IAAA,EAAA"}
--------------------------------------------------------------------------------
/www/css/index.css:
--------------------------------------------------------------------------------
1 | .nav-pills>li.active>a:focus, .nav-pills>li.active>a:hover {
2 | color: #fff;
3 | background-color: #337ab7;
4 | }
5 |
6 | .nav-pills>li>a:hover {
7 | color: #337ab7;
8 | background-color: #fff;
9 | }
10 |
11 | .dropdown-menu {
12 | /*position: static*/
13 | left: 40px;
14 | top: 0px;
15 | }
16 |
17 | .pt-3 {
18 | padding-top: 1rem;
19 | }
20 |
21 |
22 |
23 |
24 | .apsTreeContainer {
25 | overflow: hidden; padding:0; border:1px solid silver; height:500px;
26 | }
27 | .apsControlContainer {
28 | padding: 10px;
29 | width: 100%; position: absolute;
30 | display: inline-block; overflow: auto;
31 | }
32 | .apsControl {
33 | width: 100%; position: absolute;
34 | display: inline-block; overflow: auto;
35 | }
36 | .glyphicon-spin {
37 | -webkit-animation: spin 1000ms infinite linear;
38 | animation: spin 1000ms infinite linear;
39 | }
40 |
41 |
42 | #apsHierarchy {
43 | height: 250px; top: 0;
44 | }
45 | #apsFileOptions {
46 | height: 55px; top: 245px;
47 | border-top-width: 1px; border-top-color: silver; border-top-style: solid;
48 | }
49 | #apsProperties {
50 | height: 195px; bottom: 0;
51 | border-top-width: 1px; border-top-color: silver; border-top-style: solid;
52 | }
53 | #apsCreateBucket {
54 | height: 135px; bottom: 0px;
55 | border-top-width: 1px; border-top-color: silver; border-top-style: solid;
56 | overflow: hidden;
57 | }
58 | #appbundlesTree, #appbundlesInfo, #activitiesTree, #activitiesInfo, #workitemsTree, #workitemsInfo {
59 | height: 363px;
60 | overflow: auto;
61 | }
62 | #workitemsTree {
63 | height: 203px;
64 | overflow: auto;
65 | }
66 | #chartCanvasContainer {
67 | width: 100%;
68 | height: 160px;
69 | position: relative;
70 | }
71 | #copyChartData {
72 | position: absolute;
73 | top: 0px;
74 | left: 2px;
75 | color: grey;
76 | }
77 | #copyChartData:hover {
78 | color: black;
79 | }
80 | .tab-pane {
81 | margin: 15px;
82 | }
83 | #apsFormats {
84 | vertical-align: middle;
85 | }
86 | #apsUploadHidden {
87 | visibility: hidden;
88 | }
89 |
90 | @-webkit-keyframes spin {
91 | 0% {
92 | -webkit-transform: rotate(0deg);
93 | transform: rotate(0deg);
94 | }
95 | 100% {
96 | -webkit-transform: rotate(359deg);
97 | transform: rotate(359deg);
98 | }
99 | }
100 | @keyframes spin {
101 | 0% {
102 | -webkit-transform: rotate(0deg);
103 | transform: rotate(0deg);
104 | }
105 | 100% {
106 | -webkit-transform: rotate(359deg);
107 | transform: rotate(359deg);
108 | }
109 | }
110 |
111 | .btn-primary.active {
112 | background-color: limegreen;
113 | }
114 |
--------------------------------------------------------------------------------
/www/css/jstree.style.css:
--------------------------------------------------------------------------------
1 | /* jsTree default theme */
2 | .jstree-node,
3 | .jstree-children,
4 | .jstree-container-ul {
5 | display: block;
6 | margin: 0;
7 | padding: 0;
8 | list-style-type: none;
9 | list-style-image: none;
10 | }
11 | .jstree-node {
12 | white-space: nowrap;
13 | }
14 | .jstree-anchor {
15 | display: inline-block;
16 | color: black;
17 | white-space: nowrap;
18 | padding: 0 4px 0 1px;
19 | margin: 0;
20 | vertical-align: top;
21 | }
22 | .jstree-anchor:focus {
23 | outline: 0;
24 | }
25 | .jstree-anchor,
26 | .jstree-anchor:link,
27 | .jstree-anchor:visited,
28 | .jstree-anchor:hover,
29 | .jstree-anchor:active {
30 | text-decoration: none;
31 | color: inherit;
32 | }
33 | .jstree-icon {
34 | display: inline-block;
35 | text-decoration: none;
36 | margin: 0;
37 | padding: 0;
38 | vertical-align: top;
39 | text-align: center;
40 | }
41 | .jstree-icon:empty {
42 | display: inline-block;
43 | text-decoration: none;
44 | margin: 0;
45 | padding: 0;
46 | vertical-align: top;
47 | text-align: center;
48 | }
49 | .jstree-ocl {
50 | cursor: pointer;
51 | }
52 | .jstree-leaf > .jstree-ocl {
53 | cursor: default;
54 | }
55 | .jstree .jstree-open > .jstree-children {
56 | display: block;
57 | }
58 | .jstree .jstree-closed > .jstree-children,
59 | .jstree .jstree-leaf > .jstree-children {
60 | display: none;
61 | }
62 | .jstree-anchor > .jstree-themeicon {
63 | margin-right: 2px;
64 | }
65 | .jstree-no-icons .jstree-themeicon,
66 | .jstree-anchor > .jstree-themeicon-hidden {
67 | display: none;
68 | }
69 | .jstree-hidden,
70 | .jstree-node.jstree-hidden {
71 | display: none;
72 | }
73 | .jstree-rtl .jstree-anchor {
74 | padding: 0 1px 0 4px;
75 | }
76 | .jstree-rtl .jstree-anchor > .jstree-themeicon {
77 | margin-left: 2px;
78 | margin-right: 0;
79 | }
80 | .jstree-rtl .jstree-node {
81 | margin-left: 0;
82 | }
83 | .jstree-rtl .jstree-container-ul > .jstree-node {
84 | margin-right: 0;
85 | }
86 | .jstree-wholerow-ul {
87 | position: relative;
88 | display: inline-block;
89 | min-width: 100%;
90 | }
91 | .jstree-wholerow-ul .jstree-leaf > .jstree-ocl {
92 | cursor: pointer;
93 | }
94 | .jstree-wholerow-ul .jstree-anchor,
95 | .jstree-wholerow-ul .jstree-icon {
96 | position: relative;
97 | }
98 | .jstree-wholerow-ul .jstree-wholerow {
99 | width: 100%;
100 | cursor: pointer;
101 | position: absolute;
102 | left: 0;
103 | -webkit-user-select: none;
104 | -moz-user-select: none;
105 | -ms-user-select: none;
106 | user-select: none;
107 | }
108 | .vakata-context {
109 | display: none;
110 | }
111 | .vakata-context,
112 | .vakata-context ul {
113 | margin: 0;
114 | padding: 2px;
115 | position: absolute;
116 | background: #f5f5f5;
117 | border: 1px solid #979797;
118 | box-shadow: 2px 2px 2px #999999;
119 | }
120 | .vakata-context ul {
121 | list-style: none;
122 | left: 100%;
123 | margin-top: -2.7em;
124 | margin-left: -4px;
125 | }
126 | .vakata-context .vakata-context-right ul {
127 | left: auto;
128 | right: 100%;
129 | margin-left: auto;
130 | margin-right: -4px;
131 | }
132 | .vakata-context li {
133 | list-style: none;
134 | }
135 | .vakata-context li > a {
136 | display: block;
137 | padding: 0 2em 0 2em;
138 | text-decoration: none;
139 | width: auto;
140 | color: black;
141 | white-space: nowrap;
142 | line-height: 2.4em;
143 | text-shadow: 1px 1px 0 white;
144 | border-radius: 1px;
145 | }
146 | .vakata-context li > a:hover {
147 | position: relative;
148 | background-color: #e8eff7;
149 | box-shadow: 0 0 2px #0a6aa1;
150 | }
151 | .vakata-context li > a.vakata-context-parent {
152 | background-image: url("data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAIORI4JlrqN1oMSnmmZDQUAOw==");
153 | background-position: right center;
154 | background-repeat: no-repeat;
155 | }
156 | .vakata-context li > a:focus {
157 | outline: 0;
158 | }
159 | .vakata-context .vakata-context-hover > a {
160 | position: relative;
161 | background-color: #e8eff7;
162 | box-shadow: 0 0 2px #0a6aa1;
163 | }
164 | .vakata-context .vakata-context-separator > a,
165 | .vakata-context .vakata-context-separator > a:hover {
166 | background: white;
167 | border: 0;
168 | border-top: 1px solid #e2e3e3;
169 | height: 1px;
170 | min-height: 1px;
171 | max-height: 1px;
172 | padding: 0;
173 | margin: 0 0 0 2.4em;
174 | border-left: 1px solid #e0e0e0;
175 | text-shadow: 0 0 0 transparent;
176 | box-shadow: 0 0 0 transparent;
177 | border-radius: 0;
178 | }
179 | .vakata-context .vakata-contextmenu-disabled a,
180 | .vakata-context .vakata-contextmenu-disabled a:hover {
181 | color: silver;
182 | background-color: transparent;
183 | border: 0;
184 | box-shadow: 0 0 0;
185 | }
186 | .vakata-context li > a > i {
187 | text-decoration: none;
188 | display: inline-block;
189 | width: 2.4em;
190 | height: 2.4em;
191 | background: transparent;
192 | margin: 0 0 0 -2em;
193 | vertical-align: top;
194 | text-align: center;
195 | line-height: 2.4em;
196 | }
197 | .vakata-context li > a > i:empty {
198 | width: 2.4em;
199 | line-height: 2.4em;
200 | }
201 | .vakata-context li > a .vakata-contextmenu-sep {
202 | display: inline-block;
203 | width: 1px;
204 | height: 2.4em;
205 | background: white;
206 | margin: 0 0.5em 0 0;
207 | border-left: 1px solid #e2e3e3;
208 | }
209 | .vakata-context .vakata-contextmenu-shortcut {
210 | font-size: 0.8em;
211 | color: silver;
212 | opacity: 0.5;
213 | display: none;
214 | }
215 | .vakata-context-rtl ul {
216 | left: auto;
217 | right: 100%;
218 | margin-left: auto;
219 | margin-right: -4px;
220 | }
221 | .vakata-context-rtl li > a.vakata-context-parent {
222 | background-image: url("data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAINjI+AC7rWHIsPtmoxLAA7");
223 | background-position: left center;
224 | background-repeat: no-repeat;
225 | }
226 | .vakata-context-rtl .vakata-context-separator > a {
227 | margin: 0 2.4em 0 0;
228 | border-left: 0;
229 | border-right: 1px solid #e2e3e3;
230 | }
231 | .vakata-context-rtl .vakata-context-left ul {
232 | right: auto;
233 | left: 100%;
234 | margin-left: -4px;
235 | margin-right: auto;
236 | }
237 | .vakata-context-rtl li > a > i {
238 | margin: 0 -2em 0 0;
239 | }
240 | .vakata-context-rtl li > a .vakata-contextmenu-sep {
241 | margin: 0 0 0 0.5em;
242 | border-left-color: white;
243 | background: #e2e3e3;
244 | }
245 | #jstree-marker {
246 | position: absolute;
247 | top: 0;
248 | left: 0;
249 | margin: -5px 0 0 0;
250 | padding: 0;
251 | border-right: 0;
252 | border-top: 5px solid transparent;
253 | border-bottom: 5px solid transparent;
254 | border-left: 5px solid;
255 | width: 0;
256 | height: 0;
257 | font-size: 0;
258 | line-height: 0;
259 | }
260 | #jstree-dnd {
261 | line-height: 16px;
262 | margin: 0;
263 | padding: 4px;
264 | }
265 | #jstree-dnd .jstree-icon,
266 | #jstree-dnd .jstree-copy {
267 | display: inline-block;
268 | text-decoration: none;
269 | margin: 0 2px 0 0;
270 | padding: 0;
271 | width: 16px;
272 | height: 16px;
273 | }
274 | #jstree-dnd .jstree-ok {
275 | background: green;
276 | }
277 | #jstree-dnd .jstree-er {
278 | background: red;
279 | }
280 | #jstree-dnd .jstree-copy {
281 | margin: 0 2px 0 2px;
282 | }
283 | .jstree-default .jstree-node,
284 | .jstree-default .jstree-icon {
285 | background-repeat: no-repeat;
286 | background-color: transparent;
287 | }
288 | .jstree-default .jstree-anchor,
289 | .jstree-default .jstree-wholerow {
290 | transition: background-color 0.15s, box-shadow 0.15s;
291 | }
292 | .jstree-default .jstree-hovered {
293 | background: #e7f4f9;
294 | border-radius: 2px;
295 | box-shadow: inset 0 0 1px #cccccc;
296 | }
297 | .jstree-default .jstree-context {
298 | background: #e7f4f9;
299 | border-radius: 2px;
300 | box-shadow: inset 0 0 1px #cccccc;
301 | }
302 | .jstree-default .jstree-clicked {
303 | background: #beebff;
304 | border-radius: 2px;
305 | box-shadow: inset 0 0 1px #999999;
306 | }
307 | .jstree-default .jstree-no-icons .jstree-anchor > .jstree-themeicon {
308 | display: none;
309 | }
310 | .jstree-default .jstree-disabled {
311 | background: transparent;
312 | color: #666666;
313 | }
314 | .jstree-default .jstree-disabled.jstree-hovered {
315 | background: transparent;
316 | box-shadow: none;
317 | }
318 | .jstree-default .jstree-disabled.jstree-clicked {
319 | background: #efefef;
320 | }
321 | .jstree-default .jstree-disabled > .jstree-icon {
322 | opacity: 0.8;
323 | filter: url("data:image/svg+xml;utf8,#jstree-grayscale");
324 | /* Firefox 10+ */
325 | filter: gray;
326 | /* IE6-9 */
327 | -webkit-filter: grayscale(100%);
328 | /* Chrome 19+ & Safari 6+ */
329 | }
330 | .jstree-default .jstree-search {
331 | font-style: italic;
332 | color: #8b0000;
333 | font-weight: bold;
334 | }
335 | .jstree-default .jstree-no-checkboxes .jstree-checkbox {
336 | display: none !important;
337 | }
338 | .jstree-default.jstree-checkbox-no-clicked .jstree-clicked {
339 | background: transparent;
340 | box-shadow: none;
341 | }
342 | .jstree-default.jstree-checkbox-no-clicked .jstree-clicked.jstree-hovered {
343 | background: #e7f4f9;
344 | }
345 | .jstree-default.jstree-checkbox-no-clicked > .jstree-wholerow-ul .jstree-wholerow-clicked {
346 | background: transparent;
347 | }
348 | .jstree-default.jstree-checkbox-no-clicked > .jstree-wholerow-ul .jstree-wholerow-clicked.jstree-wholerow-hovered {
349 | background: #e7f4f9;
350 | }
351 | .jstree-default > .jstree-striped {
352 | min-width: 100%;
353 | display: inline-block;
354 | background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAkCAMAAAB/qqA+AAAABlBMVEUAAAAAAAClZ7nPAAAAAnRSTlMNAMM9s3UAAAAXSURBVHjajcEBAQAAAIKg/H/aCQZ70AUBjAATb6YPDgAAAABJRU5ErkJggg==") left top repeat;
355 | }
356 | .jstree-default > .jstree-wholerow-ul .jstree-hovered,
357 | .jstree-default > .jstree-wholerow-ul .jstree-clicked {
358 | background: transparent;
359 | box-shadow: none;
360 | border-radius: 0;
361 | }
362 | .jstree-default .jstree-wholerow {
363 | -moz-box-sizing: border-box;
364 | -webkit-box-sizing: border-box;
365 | box-sizing: border-box;
366 | }
367 | .jstree-default .jstree-wholerow-hovered {
368 | background: #e7f4f9;
369 | }
370 | .jstree-default .jstree-wholerow-clicked {
371 | background: #beebff;
372 | background: -webkit-linear-gradient(top, #beebff 0%, #a8e4ff 100%);
373 | background: linear-gradient(to bottom, #beebff 0%, #a8e4ff 100%);
374 | }
375 | .jstree-default .jstree-node {
376 | min-height: 24px;
377 | line-height: 24px;
378 | margin-left: 24px;
379 | min-width: 24px;
380 | }
381 | .jstree-default .jstree-anchor {
382 | line-height: 24px;
383 | height: 24px;
384 | }
385 | .jstree-default .jstree-icon {
386 | width: 24px;
387 | height: 24px;
388 | line-height: 24px;
389 | }
390 | .jstree-default .jstree-icon:empty {
391 | width: 24px;
392 | height: 24px;
393 | line-height: 24px;
394 | }
395 | .jstree-default.jstree-rtl .jstree-node {
396 | margin-right: 24px;
397 | }
398 | .jstree-default .jstree-wholerow {
399 | height: 24px;
400 | }
401 | .jstree-default .jstree-node,
402 | .jstree-default .jstree-icon {
403 | background-image: url("32px.png");
404 | }
405 | .jstree-default .jstree-node {
406 | background-position: -292px -4px;
407 | background-repeat: repeat-y;
408 | }
409 | .jstree-default .jstree-last {
410 | background: transparent;
411 | }
412 | .jstree-default .jstree-open > .jstree-ocl {
413 | background-position: -132px -4px;
414 | }
415 | .jstree-default .jstree-closed > .jstree-ocl {
416 | background-position: -100px -4px;
417 | }
418 | .jstree-default .jstree-leaf > .jstree-ocl {
419 | background-position: -68px -4px;
420 | }
421 | .jstree-default .jstree-themeicon {
422 | background-position: -260px -4px;
423 | }
424 | .jstree-default > .jstree-no-dots .jstree-node,
425 | .jstree-default > .jstree-no-dots .jstree-leaf > .jstree-ocl {
426 | background: transparent;
427 | }
428 | .jstree-default > .jstree-no-dots .jstree-open > .jstree-ocl {
429 | background-position: -36px -4px;
430 | }
431 | .jstree-default > .jstree-no-dots .jstree-closed > .jstree-ocl {
432 | background-position: -4px -4px;
433 | }
434 | .jstree-default .jstree-disabled {
435 | background: transparent;
436 | }
437 | .jstree-default .jstree-disabled.jstree-hovered {
438 | background: transparent;
439 | }
440 | .jstree-default .jstree-disabled.jstree-clicked {
441 | background: #efefef;
442 | }
443 | .jstree-default .jstree-checkbox {
444 | background-position: -164px -4px;
445 | }
446 | .jstree-default .jstree-checkbox:hover {
447 | background-position: -164px -36px;
448 | }
449 | .jstree-default.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox,
450 | .jstree-default .jstree-checked > .jstree-checkbox {
451 | background-position: -228px -4px;
452 | }
453 | .jstree-default.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox:hover,
454 | .jstree-default .jstree-checked > .jstree-checkbox:hover {
455 | background-position: -228px -36px;
456 | }
457 | .jstree-default .jstree-anchor > .jstree-undetermined {
458 | background-position: -196px -4px;
459 | }
460 | .jstree-default .jstree-anchor > .jstree-undetermined:hover {
461 | background-position: -196px -36px;
462 | }
463 | .jstree-default .jstree-checkbox-disabled {
464 | opacity: 0.8;
465 | filter: url("data:image/svg+xml;utf8,#jstree-grayscale");
466 | /* Firefox 10+ */
467 | filter: gray;
468 | /* IE6-9 */
469 | -webkit-filter: grayscale(100%);
470 | /* Chrome 19+ & Safari 6+ */
471 | }
472 | .jstree-default > .jstree-striped {
473 | background-size: auto 48px;
474 | }
475 | .jstree-default.jstree-rtl .jstree-node {
476 | background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==");
477 | background-position: 100% 1px;
478 | background-repeat: repeat-y;
479 | }
480 | .jstree-default.jstree-rtl .jstree-last {
481 | background: transparent;
482 | }
483 | .jstree-default.jstree-rtl .jstree-open > .jstree-ocl {
484 | background-position: -132px -36px;
485 | }
486 | .jstree-default.jstree-rtl .jstree-closed > .jstree-ocl {
487 | background-position: -100px -36px;
488 | }
489 | .jstree-default.jstree-rtl .jstree-leaf > .jstree-ocl {
490 | background-position: -68px -36px;
491 | }
492 | .jstree-default.jstree-rtl > .jstree-no-dots .jstree-node,
493 | .jstree-default.jstree-rtl > .jstree-no-dots .jstree-leaf > .jstree-ocl {
494 | background: transparent;
495 | }
496 | .jstree-default.jstree-rtl > .jstree-no-dots .jstree-open > .jstree-ocl {
497 | background-position: -36px -36px;
498 | }
499 | .jstree-default.jstree-rtl > .jstree-no-dots .jstree-closed > .jstree-ocl {
500 | background-position: -4px -36px;
501 | }
502 | .jstree-default .jstree-themeicon-custom {
503 | background-color: transparent;
504 | background-image: none;
505 | background-position: 0 0;
506 | }
507 | .jstree-default > .jstree-container-ul .jstree-loading > .jstree-ocl {
508 | background: url("throbber.gif") center center no-repeat;
509 | }
510 | .jstree-default .jstree-file {
511 | background: url("32px.png") -100px -68px no-repeat;
512 | }
513 | .jstree-default .jstree-folder {
514 | background: url("32px.png") -260px -4px no-repeat;
515 | }
516 | .jstree-default > .jstree-container-ul > .jstree-node {
517 | margin-left: 0;
518 | margin-right: 0;
519 | }
520 | #jstree-dnd.jstree-default {
521 | line-height: 24px;
522 | padding: 0 4px;
523 | }
524 | #jstree-dnd.jstree-default .jstree-ok,
525 | #jstree-dnd.jstree-default .jstree-er {
526 | background-image: url("32px.png");
527 | background-repeat: no-repeat;
528 | background-color: transparent;
529 | }
530 | #jstree-dnd.jstree-default i {
531 | background: transparent;
532 | width: 24px;
533 | height: 24px;
534 | line-height: 24px;
535 | }
536 | #jstree-dnd.jstree-default .jstree-ok {
537 | background-position: -4px -68px;
538 | }
539 | #jstree-dnd.jstree-default .jstree-er {
540 | background-position: -36px -68px;
541 | }
542 | .jstree-default.jstree-rtl .jstree-node {
543 | background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==");
544 | }
545 | .jstree-default.jstree-rtl .jstree-last {
546 | background: transparent;
547 | }
548 | .jstree-default-small .jstree-node {
549 | min-height: 18px;
550 | line-height: 18px;
551 | margin-left: 18px;
552 | min-width: 18px;
553 | }
554 | .jstree-default-small .jstree-anchor {
555 | line-height: 18px;
556 | height: 18px;
557 | }
558 | .jstree-default-small .jstree-icon {
559 | width: 18px;
560 | height: 18px;
561 | line-height: 18px;
562 | }
563 | .jstree-default-small .jstree-icon:empty {
564 | width: 18px;
565 | height: 18px;
566 | line-height: 18px;
567 | }
568 | .jstree-default-small.jstree-rtl .jstree-node {
569 | margin-right: 18px;
570 | }
571 | .jstree-default-small .jstree-wholerow {
572 | height: 18px;
573 | }
574 | .jstree-default-small .jstree-node,
575 | .jstree-default-small .jstree-icon {
576 | background-image: url("32px.png");
577 | }
578 | .jstree-default-small .jstree-node {
579 | background-position: -295px -7px;
580 | background-repeat: repeat-y;
581 | }
582 | .jstree-default-small .jstree-last {
583 | background: transparent;
584 | }
585 | .jstree-default-small .jstree-open > .jstree-ocl {
586 | background-position: -135px -7px;
587 | }
588 | .jstree-default-small .jstree-closed > .jstree-ocl {
589 | background-position: -103px -7px;
590 | }
591 | .jstree-default-small .jstree-leaf > .jstree-ocl {
592 | background-position: -71px -7px;
593 | }
594 | .jstree-default-small .jstree-themeicon {
595 | background-position: -263px -7px;
596 | }
597 | .jstree-default-small > .jstree-no-dots .jstree-node,
598 | .jstree-default-small > .jstree-no-dots .jstree-leaf > .jstree-ocl {
599 | background: transparent;
600 | }
601 | .jstree-default-small > .jstree-no-dots .jstree-open > .jstree-ocl {
602 | background-position: -39px -7px;
603 | }
604 | .jstree-default-small > .jstree-no-dots .jstree-closed > .jstree-ocl {
605 | background-position: -7px -7px;
606 | }
607 | .jstree-default-small .jstree-disabled {
608 | background: transparent;
609 | }
610 | .jstree-default-small .jstree-disabled.jstree-hovered {
611 | background: transparent;
612 | }
613 | .jstree-default-small .jstree-disabled.jstree-clicked {
614 | background: #efefef;
615 | }
616 | .jstree-default-small .jstree-checkbox {
617 | background-position: -167px -7px;
618 | }
619 | .jstree-default-small .jstree-checkbox:hover {
620 | background-position: -167px -39px;
621 | }
622 | .jstree-default-small.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox,
623 | .jstree-default-small .jstree-checked > .jstree-checkbox {
624 | background-position: -231px -7px;
625 | }
626 | .jstree-default-small.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox:hover,
627 | .jstree-default-small .jstree-checked > .jstree-checkbox:hover {
628 | background-position: -231px -39px;
629 | }
630 | .jstree-default-small .jstree-anchor > .jstree-undetermined {
631 | background-position: -199px -7px;
632 | }
633 | .jstree-default-small .jstree-anchor > .jstree-undetermined:hover {
634 | background-position: -199px -39px;
635 | }
636 | .jstree-default-small .jstree-checkbox-disabled {
637 | opacity: 0.8;
638 | filter: url("data:image/svg+xml;utf8,#jstree-grayscale");
639 | /* Firefox 10+ */
640 | filter: gray;
641 | /* IE6-9 */
642 | -webkit-filter: grayscale(100%);
643 | /* Chrome 19+ & Safari 6+ */
644 | }
645 | .jstree-default-small > .jstree-striped {
646 | background-size: auto 36px;
647 | }
648 | .jstree-default-small.jstree-rtl .jstree-node {
649 | background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==");
650 | background-position: 100% 1px;
651 | background-repeat: repeat-y;
652 | }
653 | .jstree-default-small.jstree-rtl .jstree-last {
654 | background: transparent;
655 | }
656 | .jstree-default-small.jstree-rtl .jstree-open > .jstree-ocl {
657 | background-position: -135px -39px;
658 | }
659 | .jstree-default-small.jstree-rtl .jstree-closed > .jstree-ocl {
660 | background-position: -103px -39px;
661 | }
662 | .jstree-default-small.jstree-rtl .jstree-leaf > .jstree-ocl {
663 | background-position: -71px -39px;
664 | }
665 | .jstree-default-small.jstree-rtl > .jstree-no-dots .jstree-node,
666 | .jstree-default-small.jstree-rtl > .jstree-no-dots .jstree-leaf > .jstree-ocl {
667 | background: transparent;
668 | }
669 | .jstree-default-small.jstree-rtl > .jstree-no-dots .jstree-open > .jstree-ocl {
670 | background-position: -39px -39px;
671 | }
672 | .jstree-default-small.jstree-rtl > .jstree-no-dots .jstree-closed > .jstree-ocl {
673 | background-position: -7px -39px;
674 | }
675 | .jstree-default-small .jstree-themeicon-custom {
676 | background-color: transparent;
677 | background-image: none;
678 | background-position: 0 0;
679 | }
680 | .jstree-default-small > .jstree-container-ul .jstree-loading > .jstree-ocl {
681 | background: url("throbber.gif") center center no-repeat;
682 | }
683 | .jstree-default-small .jstree-file {
684 | background: url("32px.png") -103px -71px no-repeat;
685 | }
686 | .jstree-default-small .jstree-folder {
687 | background: url("32px.png") -263px -7px no-repeat;
688 | }
689 | .jstree-default-small > .jstree-container-ul > .jstree-node {
690 | margin-left: 0;
691 | margin-right: 0;
692 | }
693 | #jstree-dnd.jstree-default-small {
694 | line-height: 18px;
695 | padding: 0 4px;
696 | }
697 | #jstree-dnd.jstree-default-small .jstree-ok,
698 | #jstree-dnd.jstree-default-small .jstree-er {
699 | background-image: url("32px.png");
700 | background-repeat: no-repeat;
701 | background-color: transparent;
702 | }
703 | #jstree-dnd.jstree-default-small i {
704 | background: transparent;
705 | width: 18px;
706 | height: 18px;
707 | line-height: 18px;
708 | }
709 | #jstree-dnd.jstree-default-small .jstree-ok {
710 | background-position: -7px -71px;
711 | }
712 | #jstree-dnd.jstree-default-small .jstree-er {
713 | background-position: -39px -71px;
714 | }
715 | .jstree-default-small.jstree-rtl .jstree-node {
716 | background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAACAQMAAABv1h6PAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMHBgAAiABBI4gz9AAAAABJRU5ErkJggg==");
717 | }
718 | .jstree-default-small.jstree-rtl .jstree-last {
719 | background: transparent;
720 | }
721 | .jstree-default-large .jstree-node {
722 | min-height: 32px;
723 | line-height: 32px;
724 | margin-left: 32px;
725 | min-width: 32px;
726 | }
727 | .jstree-default-large .jstree-anchor {
728 | line-height: 32px;
729 | height: 32px;
730 | }
731 | .jstree-default-large .jstree-icon {
732 | width: 32px;
733 | height: 32px;
734 | line-height: 32px;
735 | }
736 | .jstree-default-large .jstree-icon:empty {
737 | width: 32px;
738 | height: 32px;
739 | line-height: 32px;
740 | }
741 | .jstree-default-large.jstree-rtl .jstree-node {
742 | margin-right: 32px;
743 | }
744 | .jstree-default-large .jstree-wholerow {
745 | height: 32px;
746 | }
747 | .jstree-default-large .jstree-node,
748 | .jstree-default-large .jstree-icon {
749 | background-image: url("32px.png");
750 | }
751 | .jstree-default-large .jstree-node {
752 | background-position: -288px 0px;
753 | background-repeat: repeat-y;
754 | }
755 | .jstree-default-large .jstree-last {
756 | background: transparent;
757 | }
758 | .jstree-default-large .jstree-open > .jstree-ocl {
759 | background-position: -128px 0px;
760 | }
761 | .jstree-default-large .jstree-closed > .jstree-ocl {
762 | background-position: -96px 0px;
763 | }
764 | .jstree-default-large .jstree-leaf > .jstree-ocl {
765 | background-position: -64px 0px;
766 | }
767 | .jstree-default-large .jstree-themeicon {
768 | background-position: -256px 0px;
769 | }
770 | .jstree-default-large > .jstree-no-dots .jstree-node,
771 | .jstree-default-large > .jstree-no-dots .jstree-leaf > .jstree-ocl {
772 | background: transparent;
773 | }
774 | .jstree-default-large > .jstree-no-dots .jstree-open > .jstree-ocl {
775 | background-position: -32px 0px;
776 | }
777 | .jstree-default-large > .jstree-no-dots .jstree-closed > .jstree-ocl {
778 | background-position: 0px 0px;
779 | }
780 | .jstree-default-large .jstree-disabled {
781 | background: transparent;
782 | }
783 | .jstree-default-large .jstree-disabled.jstree-hovered {
784 | background: transparent;
785 | }
786 | .jstree-default-large .jstree-disabled.jstree-clicked {
787 | background: #efefef;
788 | }
789 | .jstree-default-large .jstree-checkbox {
790 | background-position: -160px 0px;
791 | }
792 | .jstree-default-large .jstree-checkbox:hover {
793 | background-position: -160px -32px;
794 | }
795 | .jstree-default-large.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox,
796 | .jstree-default-large .jstree-checked > .jstree-checkbox {
797 | background-position: -224px 0px;
798 | }
799 | .jstree-default-large.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox:hover,
800 | .jstree-default-large .jstree-checked > .jstree-checkbox:hover {
801 | background-position: -224px -32px;
802 | }
803 | .jstree-default-large .jstree-anchor > .jstree-undetermined {
804 | background-position: -192px 0px;
805 | }
806 | .jstree-default-large .jstree-anchor > .jstree-undetermined:hover {
807 | background-position: -192px -32px;
808 | }
809 | .jstree-default-large .jstree-checkbox-disabled {
810 | opacity: 0.8;
811 | filter: url("data:image/svg+xml;utf8,#jstree-grayscale");
812 | /* Firefox 10+ */
813 | filter: gray;
814 | /* IE6-9 */
815 | -webkit-filter: grayscale(100%);
816 | /* Chrome 19+ & Safari 6+ */
817 | }
818 | .jstree-default-large > .jstree-striped {
819 | background-size: auto 64px;
820 | }
821 | .jstree-default-large.jstree-rtl .jstree-node {
822 | background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==");
823 | background-position: 100% 1px;
824 | background-repeat: repeat-y;
825 | }
826 | .jstree-default-large.jstree-rtl .jstree-last {
827 | background: transparent;
828 | }
829 | .jstree-default-large.jstree-rtl .jstree-open > .jstree-ocl {
830 | background-position: -128px -32px;
831 | }
832 | .jstree-default-large.jstree-rtl .jstree-closed > .jstree-ocl {
833 | background-position: -96px -32px;
834 | }
835 | .jstree-default-large.jstree-rtl .jstree-leaf > .jstree-ocl {
836 | background-position: -64px -32px;
837 | }
838 | .jstree-default-large.jstree-rtl > .jstree-no-dots .jstree-node,
839 | .jstree-default-large.jstree-rtl > .jstree-no-dots .jstree-leaf > .jstree-ocl {
840 | background: transparent;
841 | }
842 | .jstree-default-large.jstree-rtl > .jstree-no-dots .jstree-open > .jstree-ocl {
843 | background-position: -32px -32px;
844 | }
845 | .jstree-default-large.jstree-rtl > .jstree-no-dots .jstree-closed > .jstree-ocl {
846 | background-position: 0px -32px;
847 | }
848 | .jstree-default-large .jstree-themeicon-custom {
849 | background-color: transparent;
850 | background-image: none;
851 | background-position: 0 0;
852 | }
853 | .jstree-default-large > .jstree-container-ul .jstree-loading > .jstree-ocl {
854 | background: url("throbber.gif") center center no-repeat;
855 | }
856 | .jstree-default-large .jstree-file {
857 | background: url("32px.png") -96px -64px no-repeat;
858 | }
859 | .jstree-default-large .jstree-folder {
860 | background: url("32px.png") -256px 0px no-repeat;
861 | }
862 | .jstree-default-large > .jstree-container-ul > .jstree-node {
863 | margin-left: 0;
864 | margin-right: 0;
865 | }
866 | #jstree-dnd.jstree-default-large {
867 | line-height: 32px;
868 | padding: 0 4px;
869 | }
870 | #jstree-dnd.jstree-default-large .jstree-ok,
871 | #jstree-dnd.jstree-default-large .jstree-er {
872 | background-image: url("32px.png");
873 | background-repeat: no-repeat;
874 | background-color: transparent;
875 | }
876 | #jstree-dnd.jstree-default-large i {
877 | background: transparent;
878 | width: 32px;
879 | height: 32px;
880 | line-height: 32px;
881 | }
882 | #jstree-dnd.jstree-default-large .jstree-ok {
883 | background-position: 0px -64px;
884 | }
885 | #jstree-dnd.jstree-default-large .jstree-er {
886 | background-position: -32px -64px;
887 | }
888 | .jstree-default-large.jstree-rtl .jstree-node {
889 | background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAACAQMAAAAD0EyKAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjgIIGBgABCgCBvVLXcAAAAABJRU5ErkJggg==");
890 | }
891 | .jstree-default-large.jstree-rtl .jstree-last {
892 | background: transparent;
893 | }
894 | @media (max-width: 768px) {
895 | #jstree-dnd.jstree-dnd-responsive {
896 | line-height: 40px;
897 | font-weight: bold;
898 | font-size: 1.1em;
899 | text-shadow: 1px 1px white;
900 | }
901 | #jstree-dnd.jstree-dnd-responsive > i {
902 | background: transparent;
903 | width: 40px;
904 | height: 40px;
905 | }
906 | #jstree-dnd.jstree-dnd-responsive > .jstree-ok {
907 | background-image: url("40px.png");
908 | background-position: 0 -200px;
909 | background-size: 120px 240px;
910 | }
911 | #jstree-dnd.jstree-dnd-responsive > .jstree-er {
912 | background-image: url("40px.png");
913 | background-position: -40px -200px;
914 | background-size: 120px 240px;
915 | }
916 | #jstree-marker.jstree-dnd-responsive {
917 | border-left-width: 10px;
918 | border-top-width: 10px;
919 | border-bottom-width: 10px;
920 | margin-top: -10px;
921 | }
922 | }
923 | @media (max-width: 768px) {
924 | .jstree-default-responsive {
925 | /*
926 | .jstree-open > .jstree-ocl,
927 | .jstree-closed > .jstree-ocl { border-radius:20px; background-color:white; }
928 | */
929 | }
930 | .jstree-default-responsive .jstree-icon {
931 | background-image: url("40px.png");
932 | }
933 | .jstree-default-responsive .jstree-node,
934 | .jstree-default-responsive .jstree-leaf > .jstree-ocl {
935 | background: transparent;
936 | }
937 | .jstree-default-responsive .jstree-node {
938 | min-height: 40px;
939 | line-height: 40px;
940 | margin-left: 40px;
941 | min-width: 40px;
942 | white-space: nowrap;
943 | }
944 | .jstree-default-responsive .jstree-anchor {
945 | line-height: 40px;
946 | height: 40px;
947 | }
948 | .jstree-default-responsive .jstree-icon,
949 | .jstree-default-responsive .jstree-icon:empty {
950 | width: 40px;
951 | height: 40px;
952 | line-height: 40px;
953 | }
954 | .jstree-default-responsive > .jstree-container-ul > .jstree-node {
955 | margin-left: 0;
956 | }
957 | .jstree-default-responsive.jstree-rtl .jstree-node {
958 | margin-left: 0;
959 | margin-right: 40px;
960 | background: transparent;
961 | }
962 | .jstree-default-responsive.jstree-rtl .jstree-container-ul > .jstree-node {
963 | margin-right: 0;
964 | }
965 | .jstree-default-responsive .jstree-ocl,
966 | .jstree-default-responsive .jstree-themeicon,
967 | .jstree-default-responsive .jstree-checkbox {
968 | background-size: 120px 240px;
969 | }
970 | .jstree-default-responsive .jstree-leaf > .jstree-ocl,
971 | .jstree-default-responsive.jstree-rtl .jstree-leaf > .jstree-ocl {
972 | background: transparent;
973 | }
974 | .jstree-default-responsive .jstree-open > .jstree-ocl {
975 | background-position: 0 0px !important;
976 | }
977 | .jstree-default-responsive .jstree-closed > .jstree-ocl {
978 | background-position: 0 -40px !important;
979 | }
980 | .jstree-default-responsive.jstree-rtl .jstree-closed > .jstree-ocl {
981 | background-position: -40px 0px !important;
982 | }
983 | .jstree-default-responsive .jstree-themeicon {
984 | background-position: -40px -40px;
985 | }
986 | .jstree-default-responsive .jstree-checkbox,
987 | .jstree-default-responsive .jstree-checkbox:hover {
988 | background-position: -40px -80px;
989 | }
990 | .jstree-default-responsive.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox,
991 | .jstree-default-responsive.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox:hover,
992 | .jstree-default-responsive .jstree-checked > .jstree-checkbox,
993 | .jstree-default-responsive .jstree-checked > .jstree-checkbox:hover {
994 | background-position: 0 -80px;
995 | }
996 | .jstree-default-responsive .jstree-anchor > .jstree-undetermined,
997 | .jstree-default-responsive .jstree-anchor > .jstree-undetermined:hover {
998 | background-position: 0 -120px;
999 | }
1000 | .jstree-default-responsive .jstree-anchor {
1001 | font-weight: bold;
1002 | font-size: 1.1em;
1003 | text-shadow: 1px 1px white;
1004 | }
1005 | .jstree-default-responsive > .jstree-striped {
1006 | background: transparent;
1007 | }
1008 | .jstree-default-responsive .jstree-wholerow {
1009 | border-top: 1px solid rgba(255, 255, 255, 0.7);
1010 | border-bottom: 1px solid rgba(64, 64, 64, 0.2);
1011 | background: #ebebeb;
1012 | height: 40px;
1013 | }
1014 | .jstree-default-responsive .jstree-wholerow-hovered {
1015 | background: #e7f4f9;
1016 | }
1017 | .jstree-default-responsive .jstree-wholerow-clicked {
1018 | background: #beebff;
1019 | }
1020 | .jstree-default-responsive .jstree-children .jstree-last > .jstree-wholerow {
1021 | box-shadow: inset 0 -6px 3px -5px #666666;
1022 | }
1023 | .jstree-default-responsive .jstree-children .jstree-open > .jstree-wholerow {
1024 | box-shadow: inset 0 6px 3px -5px #666666;
1025 | border-top: 0;
1026 | }
1027 | .jstree-default-responsive .jstree-children .jstree-open + .jstree-open {
1028 | box-shadow: none;
1029 | }
1030 | .jstree-default-responsive .jstree-node,
1031 | .jstree-default-responsive .jstree-icon,
1032 | .jstree-default-responsive .jstree-node > .jstree-ocl,
1033 | .jstree-default-responsive .jstree-themeicon,
1034 | .jstree-default-responsive .jstree-checkbox {
1035 | background-image: url("40px.png");
1036 | background-size: 120px 240px;
1037 | }
1038 | .jstree-default-responsive .jstree-node {
1039 | background-position: -80px 0;
1040 | background-repeat: repeat-y;
1041 | }
1042 | .jstree-default-responsive .jstree-last {
1043 | background: transparent;
1044 | }
1045 | .jstree-default-responsive .jstree-leaf > .jstree-ocl {
1046 | background-position: -40px -120px;
1047 | }
1048 | .jstree-default-responsive .jstree-last > .jstree-ocl {
1049 | background-position: -40px -160px;
1050 | }
1051 | .jstree-default-responsive .jstree-themeicon-custom {
1052 | background-color: transparent;
1053 | background-image: none;
1054 | background-position: 0 0;
1055 | }
1056 | .jstree-default-responsive .jstree-file {
1057 | background: url("40px.png") 0 -160px no-repeat;
1058 | background-size: 120px 240px;
1059 | }
1060 | .jstree-default-responsive .jstree-folder {
1061 | background: url("40px.png") -40px -40px no-repeat;
1062 | background-size: 120px 240px;
1063 | }
1064 | .jstree-default-responsive > .jstree-container-ul > .jstree-node {
1065 | margin-left: 0;
1066 | margin-right: 0;
1067 | }
1068 | }
1069 |
--------------------------------------------------------------------------------
/www/css/jstree.style.min.css:
--------------------------------------------------------------------------------
1 | .jstree-node,.jstree-children,.jstree-container-ul{display:block;margin:0;padding:0;list-style-type:none;list-style-image:none}.jstree-node{white-space:nowrap}.jstree-anchor{display:inline-block;color:#000;white-space:nowrap;padding:0 4px 0 1px;margin:0;vertical-align:top}.jstree-anchor:focus{outline:0}.jstree-anchor,.jstree-anchor:link,.jstree-anchor:visited,.jstree-anchor:hover,.jstree-anchor:active{text-decoration:none;color:inherit}.jstree-icon{display:inline-block;text-decoration:none;margin:0;padding:0;vertical-align:top;text-align:center}.jstree-icon:empty{display:inline-block;text-decoration:none;margin:0;padding:0;vertical-align:top;text-align:center}.jstree-ocl{cursor:pointer}.jstree-leaf>.jstree-ocl{cursor:default}.jstree .jstree-open>.jstree-children{display:block}.jstree .jstree-closed>.jstree-children,.jstree .jstree-leaf>.jstree-children{display:none}.jstree-anchor>.jstree-themeicon{margin-right:2px}.jstree-no-icons .jstree-themeicon,.jstree-anchor>.jstree-themeicon-hidden{display:none}.jstree-hidden,.jstree-node.jstree-hidden{display:none}.jstree-rtl .jstree-anchor{padding:0 1px 0 4px}.jstree-rtl .jstree-anchor>.jstree-themeicon{margin-left:2px;margin-right:0}.jstree-rtl .jstree-node{margin-left:0}.jstree-rtl .jstree-container-ul>.jstree-node{margin-right:0}.jstree-wholerow-ul{position:relative;display:inline-block;min-width:100%}.jstree-wholerow-ul .jstree-leaf>.jstree-ocl{cursor:pointer}.jstree-wholerow-ul .jstree-anchor,.jstree-wholerow-ul .jstree-icon{position:relative}.jstree-wholerow-ul .jstree-wholerow{width:100%;cursor:pointer;position:absolute;left:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.vakata-context{display:none}.vakata-context,.vakata-context ul{margin:0;padding:2px;position:absolute;background:#f5f5f5;border:1px solid #979797;box-shadow:2px 2px 2px #999}.vakata-context ul{list-style:none;left:100%;margin-top:-2.7em;margin-left:-4px}.vakata-context .vakata-context-right ul{left:auto;right:100%;margin-left:auto;margin-right:-4px}.vakata-context li{list-style:none}.vakata-context li>a{display:block;padding:0 2em;text-decoration:none;width:auto;color:#000;white-space:nowrap;line-height:2.4em;text-shadow:1px 1px 0 #fff;border-radius:1px}.vakata-context li>a:hover{position:relative;background-color:#e8eff7;box-shadow:0 0 2px #0a6aa1}.vakata-context li>a.vakata-context-parent{background-image:url(data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAIORI4JlrqN1oMSnmmZDQUAOw==);background-position:right center;background-repeat:no-repeat}.vakata-context li>a:focus{outline:0}.vakata-context .vakata-context-hover>a{position:relative;background-color:#e8eff7;box-shadow:0 0 2px #0a6aa1}.vakata-context .vakata-context-separator>a,.vakata-context .vakata-context-separator>a:hover{background:#fff;border:0;border-top:1px solid #e2e3e3;height:1px;min-height:1px;max-height:1px;padding:0;margin:0 0 0 2.4em;border-left:1px solid #e0e0e0;text-shadow:0 0 0 transparent;box-shadow:0 0 0 transparent;border-radius:0}.vakata-context .vakata-contextmenu-disabled a,.vakata-context .vakata-contextmenu-disabled a:hover{color:silver;background-color:transparent;border:0;box-shadow:0 0 0}.vakata-context li>a>i{text-decoration:none;display:inline-block;width:2.4em;height:2.4em;background:0 0;margin:0 0 0 -2em;vertical-align:top;text-align:center;line-height:2.4em}.vakata-context li>a>i:empty{width:2.4em;line-height:2.4em}.vakata-context li>a .vakata-contextmenu-sep{display:inline-block;width:1px;height:2.4em;background:#fff;margin:0 .5em 0 0;border-left:1px solid #e2e3e3}.vakata-context .vakata-contextmenu-shortcut{font-size:.8em;color:silver;opacity:.5;display:none}.vakata-context-rtl ul{left:auto;right:100%;margin-left:auto;margin-right:-4px}.vakata-context-rtl li>a.vakata-context-parent{background-image:url(data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAINjI+AC7rWHIsPtmoxLAA7);background-position:left center;background-repeat:no-repeat}.vakata-context-rtl .vakata-context-separator>a{margin:0 2.4em 0 0;border-left:0;border-right:1px solid #e2e3e3}.vakata-context-rtl .vakata-context-left ul{right:auto;left:100%;margin-left:-4px;margin-right:auto}.vakata-context-rtl li>a>i{margin:0 -2em 0 0}.vakata-context-rtl li>a .vakata-contextmenu-sep{margin:0 0 0 .5em;border-left-color:#fff;background:#e2e3e3}#jstree-marker{position:absolute;top:0;left:0;margin:-5px 0 0 0;padding:0;border-right:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid;width:0;height:0;font-size:0;line-height:0}#jstree-dnd{line-height:16px;margin:0;padding:4px}#jstree-dnd .jstree-icon,#jstree-dnd .jstree-copy{display:inline-block;text-decoration:none;margin:0 2px 0 0;padding:0;width:16px;height:16px}#jstree-dnd .jstree-ok{background:green}#jstree-dnd .jstree-er{background:red}#jstree-dnd .jstree-copy{margin:0 2px}.jstree-default .jstree-node,.jstree-default .jstree-icon{background-repeat:no-repeat;background-color:transparent}.jstree-default .jstree-anchor,.jstree-default .jstree-wholerow{transition:background-color .15s,box-shadow .15s}.jstree-default .jstree-hovered{background:#e7f4f9;border-radius:2px;box-shadow:inset 0 0 1px #ccc}.jstree-default .jstree-context{background:#e7f4f9;border-radius:2px;box-shadow:inset 0 0 1px #ccc}.jstree-default .jstree-clicked{background:#beebff;border-radius:2px;box-shadow:inset 0 0 1px #999}.jstree-default .jstree-no-icons .jstree-anchor>.jstree-themeicon{display:none}.jstree-default .jstree-disabled{background:0 0;color:#666}.jstree-default .jstree-disabled.jstree-hovered{background:0 0;box-shadow:none}.jstree-default .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default .jstree-disabled>.jstree-icon{opacity:.8;filter:url("data:image/svg+xml;utf8,#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default .jstree-search{font-style:italic;color:#8b0000;font-weight:700}.jstree-default .jstree-no-checkboxes .jstree-checkbox{display:none!important}.jstree-default.jstree-checkbox-no-clicked .jstree-clicked{background:0 0;box-shadow:none}.jstree-default.jstree-checkbox-no-clicked .jstree-clicked.jstree-hovered{background:#e7f4f9}.jstree-default.jstree-checkbox-no-clicked>.jstree-wholerow-ul .jstree-wholerow-clicked{background:0 0}.jstree-default.jstree-checkbox-no-clicked>.jstree-wholerow-ul .jstree-wholerow-clicked.jstree-wholerow-hovered{background:#e7f4f9}.jstree-default>.jstree-striped{min-width:100%;display:inline-block;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAkCAMAAAB/qqA+AAAABlBMVEUAAAAAAAClZ7nPAAAAAnRSTlMNAMM9s3UAAAAXSURBVHjajcEBAQAAAIKg/H/aCQZ70AUBjAATb6YPDgAAAABJRU5ErkJggg==) left top repeat}.jstree-default>.jstree-wholerow-ul .jstree-hovered,.jstree-default>.jstree-wholerow-ul .jstree-clicked{background:0 0;box-shadow:none;border-radius:0}.jstree-default .jstree-wholerow{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.jstree-default .jstree-wholerow-hovered{background:#e7f4f9}.jstree-default .jstree-wholerow-clicked{background:#beebff;background:-webkit-linear-gradient(top,#beebff 0,#a8e4ff 100%);background:linear-gradient(to bottom,#beebff 0,#a8e4ff 100%)}.jstree-default .jstree-node{min-height:24px;line-height:24px;margin-left:24px;min-width:24px}.jstree-default .jstree-anchor{line-height:24px;height:24px}.jstree-default .jstree-icon{width:24px;height:24px;line-height:24px}.jstree-default .jstree-icon:empty{width:24px;height:24px;line-height:24px}.jstree-default.jstree-rtl .jstree-node{margin-right:24px}.jstree-default .jstree-wholerow{height:24px}.jstree-default .jstree-node,.jstree-default .jstree-icon{background-image:url(32px.png)}.jstree-default .jstree-node{background-position:-292px -4px;background-repeat:repeat-y}.jstree-default .jstree-last{background:0 0}.jstree-default .jstree-open>.jstree-ocl{background-position:-132px -4px}.jstree-default .jstree-closed>.jstree-ocl{background-position:-100px -4px}.jstree-default .jstree-leaf>.jstree-ocl{background-position:-68px -4px}.jstree-default .jstree-themeicon{background-position:-260px -4px}.jstree-default>.jstree-no-dots .jstree-node,.jstree-default>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-36px -4px}.jstree-default>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-4px -4px}.jstree-default .jstree-disabled{background:0 0}.jstree-default .jstree-disabled.jstree-hovered{background:0 0}.jstree-default .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default .jstree-checkbox{background-position:-164px -4px}.jstree-default .jstree-checkbox:hover{background-position:-164px -36px}.jstree-default.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default .jstree-checked>.jstree-checkbox{background-position:-228px -4px}.jstree-default.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover,.jstree-default .jstree-checked>.jstree-checkbox:hover{background-position:-228px -36px}.jstree-default .jstree-anchor>.jstree-undetermined{background-position:-196px -4px}.jstree-default .jstree-anchor>.jstree-undetermined:hover{background-position:-196px -36px}.jstree-default .jstree-checkbox-disabled{opacity:.8;filter:url("data:image/svg+xml;utf8,#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default>.jstree-striped{background-size:auto 48px}.jstree-default.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==);background-position:100% 1px;background-repeat:repeat-y}.jstree-default.jstree-rtl .jstree-last{background:0 0}.jstree-default.jstree-rtl .jstree-open>.jstree-ocl{background-position:-132px -36px}.jstree-default.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-100px -36px}.jstree-default.jstree-rtl .jstree-leaf>.jstree-ocl{background-position:-68px -36px}.jstree-default.jstree-rtl>.jstree-no-dots .jstree-node,.jstree-default.jstree-rtl>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default.jstree-rtl>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-36px -36px}.jstree-default.jstree-rtl>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-4px -36px}.jstree-default .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default>.jstree-container-ul .jstree-loading>.jstree-ocl{background:url(throbber.gif) center center no-repeat}.jstree-default .jstree-file{background:url(32px.png) -100px -68px no-repeat}.jstree-default .jstree-folder{background:url(32px.png) -260px -4px no-repeat}.jstree-default>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}#jstree-dnd.jstree-default{line-height:24px;padding:0 4px}#jstree-dnd.jstree-default .jstree-ok,#jstree-dnd.jstree-default .jstree-er{background-image:url(32px.png);background-repeat:no-repeat;background-color:transparent}#jstree-dnd.jstree-default i{background:0 0;width:24px;height:24px;line-height:24px}#jstree-dnd.jstree-default .jstree-ok{background-position:-4px -68px}#jstree-dnd.jstree-default .jstree-er{background-position:-36px -68px}.jstree-default.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==)}.jstree-default.jstree-rtl .jstree-last{background:0 0}.jstree-default-small .jstree-node{min-height:18px;line-height:18px;margin-left:18px;min-width:18px}.jstree-default-small .jstree-anchor{line-height:18px;height:18px}.jstree-default-small .jstree-icon{width:18px;height:18px;line-height:18px}.jstree-default-small .jstree-icon:empty{width:18px;height:18px;line-height:18px}.jstree-default-small.jstree-rtl .jstree-node{margin-right:18px}.jstree-default-small .jstree-wholerow{height:18px}.jstree-default-small .jstree-node,.jstree-default-small .jstree-icon{background-image:url(32px.png)}.jstree-default-small .jstree-node{background-position:-295px -7px;background-repeat:repeat-y}.jstree-default-small .jstree-last{background:0 0}.jstree-default-small .jstree-open>.jstree-ocl{background-position:-135px -7px}.jstree-default-small .jstree-closed>.jstree-ocl{background-position:-103px -7px}.jstree-default-small .jstree-leaf>.jstree-ocl{background-position:-71px -7px}.jstree-default-small .jstree-themeicon{background-position:-263px -7px}.jstree-default-small>.jstree-no-dots .jstree-node,.jstree-default-small>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-small>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-39px -7px}.jstree-default-small>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-7px -7px}.jstree-default-small .jstree-disabled{background:0 0}.jstree-default-small .jstree-disabled.jstree-hovered{background:0 0}.jstree-default-small .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default-small .jstree-checkbox{background-position:-167px -7px}.jstree-default-small .jstree-checkbox:hover{background-position:-167px -39px}.jstree-default-small.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default-small .jstree-checked>.jstree-checkbox{background-position:-231px -7px}.jstree-default-small.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover,.jstree-default-small .jstree-checked>.jstree-checkbox:hover{background-position:-231px -39px}.jstree-default-small .jstree-anchor>.jstree-undetermined{background-position:-199px -7px}.jstree-default-small .jstree-anchor>.jstree-undetermined:hover{background-position:-199px -39px}.jstree-default-small .jstree-checkbox-disabled{opacity:.8;filter:url("data:image/svg+xml;utf8,#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default-small>.jstree-striped{background-size:auto 36px}.jstree-default-small.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==);background-position:100% 1px;background-repeat:repeat-y}.jstree-default-small.jstree-rtl .jstree-last{background:0 0}.jstree-default-small.jstree-rtl .jstree-open>.jstree-ocl{background-position:-135px -39px}.jstree-default-small.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-103px -39px}.jstree-default-small.jstree-rtl .jstree-leaf>.jstree-ocl{background-position:-71px -39px}.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-node,.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-39px -39px}.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-7px -39px}.jstree-default-small .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default-small>.jstree-container-ul .jstree-loading>.jstree-ocl{background:url(throbber.gif) center center no-repeat}.jstree-default-small .jstree-file{background:url(32px.png) -103px -71px no-repeat}.jstree-default-small .jstree-folder{background:url(32px.png) -263px -7px no-repeat}.jstree-default-small>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}#jstree-dnd.jstree-default-small{line-height:18px;padding:0 4px}#jstree-dnd.jstree-default-small .jstree-ok,#jstree-dnd.jstree-default-small .jstree-er{background-image:url(32px.png);background-repeat:no-repeat;background-color:transparent}#jstree-dnd.jstree-default-small i{background:0 0;width:18px;height:18px;line-height:18px}#jstree-dnd.jstree-default-small .jstree-ok{background-position:-7px -71px}#jstree-dnd.jstree-default-small .jstree-er{background-position:-39px -71px}.jstree-default-small.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAACAQMAAABv1h6PAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMHBgAAiABBI4gz9AAAAABJRU5ErkJggg==)}.jstree-default-small.jstree-rtl .jstree-last{background:0 0}.jstree-default-large .jstree-node{min-height:32px;line-height:32px;margin-left:32px;min-width:32px}.jstree-default-large .jstree-anchor{line-height:32px;height:32px}.jstree-default-large .jstree-icon{width:32px;height:32px;line-height:32px}.jstree-default-large .jstree-icon:empty{width:32px;height:32px;line-height:32px}.jstree-default-large.jstree-rtl .jstree-node{margin-right:32px}.jstree-default-large .jstree-wholerow{height:32px}.jstree-default-large .jstree-node,.jstree-default-large .jstree-icon{background-image:url(32px.png)}.jstree-default-large .jstree-node{background-position:-288px 0;background-repeat:repeat-y}.jstree-default-large .jstree-last{background:0 0}.jstree-default-large .jstree-open>.jstree-ocl{background-position:-128px 0}.jstree-default-large .jstree-closed>.jstree-ocl{background-position:-96px 0}.jstree-default-large .jstree-leaf>.jstree-ocl{background-position:-64px 0}.jstree-default-large .jstree-themeicon{background-position:-256px 0}.jstree-default-large>.jstree-no-dots .jstree-node,.jstree-default-large>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-large>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-32px 0}.jstree-default-large>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:0 0}.jstree-default-large .jstree-disabled{background:0 0}.jstree-default-large .jstree-disabled.jstree-hovered{background:0 0}.jstree-default-large .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default-large .jstree-checkbox{background-position:-160px 0}.jstree-default-large .jstree-checkbox:hover{background-position:-160px -32px}.jstree-default-large.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default-large .jstree-checked>.jstree-checkbox{background-position:-224px 0}.jstree-default-large.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover,.jstree-default-large .jstree-checked>.jstree-checkbox:hover{background-position:-224px -32px}.jstree-default-large .jstree-anchor>.jstree-undetermined{background-position:-192px 0}.jstree-default-large .jstree-anchor>.jstree-undetermined:hover{background-position:-192px -32px}.jstree-default-large .jstree-checkbox-disabled{opacity:.8;filter:url("data:image/svg+xml;utf8,#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default-large>.jstree-striped{background-size:auto 64px}.jstree-default-large.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==);background-position:100% 1px;background-repeat:repeat-y}.jstree-default-large.jstree-rtl .jstree-last{background:0 0}.jstree-default-large.jstree-rtl .jstree-open>.jstree-ocl{background-position:-128px -32px}.jstree-default-large.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-96px -32px}.jstree-default-large.jstree-rtl .jstree-leaf>.jstree-ocl{background-position:-64px -32px}.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-node,.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-32px -32px}.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:0 -32px}.jstree-default-large .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default-large>.jstree-container-ul .jstree-loading>.jstree-ocl{background:url(throbber.gif) center center no-repeat}.jstree-default-large .jstree-file{background:url(32px.png) -96px -64px no-repeat}.jstree-default-large .jstree-folder{background:url(32px.png) -256px 0 no-repeat}.jstree-default-large>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}#jstree-dnd.jstree-default-large{line-height:32px;padding:0 4px}#jstree-dnd.jstree-default-large .jstree-ok,#jstree-dnd.jstree-default-large .jstree-er{background-image:url(32px.png);background-repeat:no-repeat;background-color:transparent}#jstree-dnd.jstree-default-large i{background:0 0;width:32px;height:32px;line-height:32px}#jstree-dnd.jstree-default-large .jstree-ok{background-position:0 -64px}#jstree-dnd.jstree-default-large .jstree-er{background-position:-32px -64px}.jstree-default-large.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAACAQMAAAAD0EyKAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjgIIGBgABCgCBvVLXcAAAAABJRU5ErkJggg==)}.jstree-default-large.jstree-rtl .jstree-last{background:0 0}@media (max-width:768px){#jstree-dnd.jstree-dnd-responsive{line-height:40px;font-weight:700;font-size:1.1em;text-shadow:1px 1px #fff}#jstree-dnd.jstree-dnd-responsive>i{background:0 0;width:40px;height:40px}#jstree-dnd.jstree-dnd-responsive>.jstree-ok{background-image:url(40px.png);background-position:0 -200px;background-size:120px 240px}#jstree-dnd.jstree-dnd-responsive>.jstree-er{background-image:url(40px.png);background-position:-40px -200px;background-size:120px 240px}#jstree-marker.jstree-dnd-responsive{border-left-width:10px;border-top-width:10px;border-bottom-width:10px;margin-top:-10px}}@media (max-width:768px){.jstree-default-responsive .jstree-icon{background-image:url(40px.png)}.jstree-default-responsive .jstree-node,.jstree-default-responsive .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-responsive .jstree-node{min-height:40px;line-height:40px;margin-left:40px;min-width:40px;white-space:nowrap}.jstree-default-responsive .jstree-anchor{line-height:40px;height:40px}.jstree-default-responsive .jstree-icon,.jstree-default-responsive .jstree-icon:empty{width:40px;height:40px;line-height:40px}.jstree-default-responsive>.jstree-container-ul>.jstree-node{margin-left:0}.jstree-default-responsive.jstree-rtl .jstree-node{margin-left:0;margin-right:40px;background:0 0}.jstree-default-responsive.jstree-rtl .jstree-container-ul>.jstree-node{margin-right:0}.jstree-default-responsive .jstree-ocl,.jstree-default-responsive .jstree-themeicon,.jstree-default-responsive .jstree-checkbox{background-size:120px 240px}.jstree-default-responsive .jstree-leaf>.jstree-ocl,.jstree-default-responsive.jstree-rtl .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-responsive .jstree-open>.jstree-ocl{background-position:0 0!important}.jstree-default-responsive .jstree-closed>.jstree-ocl{background-position:0 -40px!important}.jstree-default-responsive.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-40px 0!important}.jstree-default-responsive .jstree-themeicon{background-position:-40px -40px}.jstree-default-responsive .jstree-checkbox,.jstree-default-responsive .jstree-checkbox:hover{background-position:-40px -80px}.jstree-default-responsive.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default-responsive.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover,.jstree-default-responsive .jstree-checked>.jstree-checkbox,.jstree-default-responsive .jstree-checked>.jstree-checkbox:hover{background-position:0 -80px}.jstree-default-responsive .jstree-anchor>.jstree-undetermined,.jstree-default-responsive .jstree-anchor>.jstree-undetermined:hover{background-position:0 -120px}.jstree-default-responsive .jstree-anchor{font-weight:700;font-size:1.1em;text-shadow:1px 1px #fff}.jstree-default-responsive>.jstree-striped{background:0 0}.jstree-default-responsive .jstree-wholerow{border-top:1px solid rgba(255,255,255,.7);border-bottom:1px solid rgba(64,64,64,.2);background:#ebebeb;height:40px}.jstree-default-responsive .jstree-wholerow-hovered{background:#e7f4f9}.jstree-default-responsive .jstree-wholerow-clicked{background:#beebff}.jstree-default-responsive .jstree-children .jstree-last>.jstree-wholerow{box-shadow:inset 0 -6px 3px -5px #666}.jstree-default-responsive .jstree-children .jstree-open>.jstree-wholerow{box-shadow:inset 0 6px 3px -5px #666;border-top:0}.jstree-default-responsive .jstree-children .jstree-open+.jstree-open{box-shadow:none}.jstree-default-responsive .jstree-node,.jstree-default-responsive .jstree-icon,.jstree-default-responsive .jstree-node>.jstree-ocl,.jstree-default-responsive .jstree-themeicon,.jstree-default-responsive .jstree-checkbox{background-image:url(40px.png);background-size:120px 240px}.jstree-default-responsive .jstree-node{background-position:-80px 0;background-repeat:repeat-y}.jstree-default-responsive .jstree-last{background:0 0}.jstree-default-responsive .jstree-leaf>.jstree-ocl{background-position:-40px -120px}.jstree-default-responsive .jstree-last>.jstree-ocl{background-position:-40px -160px}.jstree-default-responsive .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default-responsive .jstree-file{background:url(40px.png) 0 -160px no-repeat;background-size:120px 240px}.jstree-default-responsive .jstree-folder{background:url(40px.png) -40px -40px no-repeat;background-size:120px 240px}.jstree-default-responsive>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}}
--------------------------------------------------------------------------------
/www/css/throbber.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/autodesk-platform-services/aps-design-automation-tools/a8ff782f44e9f5b3aef0e73b49eafdf77dc7cc44/www/css/throbber.gif
--------------------------------------------------------------------------------
/www/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/autodesk-platform-services/aps-design-automation-tools/a8ff782f44e9f5b3aef0e73b49eafdf77dc7cc44/www/favicon.ico
--------------------------------------------------------------------------------
/www/fonts/glyphicons-halflings-regular.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/autodesk-platform-services/aps-design-automation-tools/a8ff782f44e9f5b3aef0e73b49eafdf77dc7cc44/www/fonts/glyphicons-halflings-regular.eot
--------------------------------------------------------------------------------
/www/fonts/glyphicons-halflings-regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/autodesk-platform-services/aps-design-automation-tools/a8ff782f44e9f5b3aef0e73b49eafdf77dc7cc44/www/fonts/glyphicons-halflings-regular.ttf
--------------------------------------------------------------------------------
/www/fonts/glyphicons-halflings-regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/autodesk-platform-services/aps-design-automation-tools/a8ff782f44e9f5b3aef0e73b49eafdf77dc7cc44/www/fonts/glyphicons-halflings-regular.woff
--------------------------------------------------------------------------------
/www/fonts/glyphicons-halflings-regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/autodesk-platform-services/aps-design-automation-tools/a8ff782f44e9f5b3aef0e73b49eafdf77dc7cc44/www/fonts/glyphicons-halflings-regular.woff2
--------------------------------------------------------------------------------
/www/img/favicon.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
13 |
--------------------------------------------------------------------------------
/www/img/indexpage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/autodesk-platform-services/aps-design-automation-tools/a8ff782f44e9f5b3aef0e73b49eafdf77dc7cc44/www/img/indexpage.png
--------------------------------------------------------------------------------
/www/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |