mirror of
https://github.com/zhigang1992/deployd.git
synced 2026-05-26 00:21:42 +08:00
Merge branch '0.7' of github.com:deployd/deployd into 0.7
This commit is contained in:
84
HISTORY.md
84
HISTORY.md
@@ -1,89 +1,9 @@
|
||||
# History
|
||||
|
||||
## 0.6.8
|
||||
|
||||
- Fixed CORS incorrectly requiring a referer header
|
||||
- Added `dpd.once(name, fn)` function to execute a realtime handler exactly once
|
||||
- Added `dpd.off(name, [fn])` function to remove a realtime handler
|
||||
- Added `dpd.socketReady(fn)` function to listen for the built-in `connect` event
|
||||
- Added `dpd.socket` property to provide direct access to socket.io.
|
||||
- Fixed bug where username and password could be updated by an unauthenticated put.
|
||||
- Usernames and passwords can be updated only by that user's session, a root session, or an internal request.
|
||||
- Made `data` folder smaller by default in `development` environment
|
||||
- Added `cancelIf()`, `cancelUnless()`, `errorIf()`, and `errorUnless()` functions to event API for more declarative events
|
||||
- Added `hasErrors()` function to event API
|
||||
- Added `isMe()` function to event API
|
||||
- Fixed external prototype bug causing custom external prototypes to fail
|
||||
- Removed docs from repository. They are now available at http://docs.deployd.com or https://github.com/deployd/docs.
|
||||
|
||||
|
||||
## 0.6.7
|
||||
|
||||
- Added new data editor
|
||||
- Fixed major bug where calling error() would not always cancel the request
|
||||
- Fixed bug where PUT would fail without an error if you provided a query
|
||||
- Changed root behavior - no longer ignores cancel() in events
|
||||
- Fixed bugs preventing events from being `emit()`ed to users in certain connection states
|
||||
- Fixed bug where boolean query values (?bool=true) were not treated as booleans
|
||||
- Fixed unnecessary error when parsing JSON body
|
||||
- Added more intelligent body parsing
|
||||
- Added `changed()` method in collection events
|
||||
- Added `previous` object in collection events
|
||||
- Fixed `dpd showkey` prompt for missing keys.json
|
||||
|
||||
## 0.6.6
|
||||
|
||||
- Added CORS support
|
||||
- Exposed the server object to modules as `process.server`
|
||||
- Fixed a rare bug where the first request after a login would not be authenticated
|
||||
- Fixed minor bug when loading only node modules
|
||||
|
||||
## 0.6.5
|
||||
|
||||
- Fixed `process.send` bug
|
||||
- Remote DB Authentication
|
||||
|
||||
## 0.6.4
|
||||
|
||||
- Fixed incorrect Content-Length response header.
|
||||
|
||||
## 0.6.3
|
||||
|
||||
- Removed dependency on jQuery for dpd.js
|
||||
- JSON-formatted "bad credentials" login error
|
||||
- Improved error reporting on CLI when port is in use
|
||||
- If in development mode, and no port has been specifically requested, CLI will retry with up to 5 different ports
|
||||
- Fixed "no open connections" bug on startup
|
||||
- Renamed `Db.connect()` to `Db.create()`
|
||||
- Db connections are now lazy and only occur once a request is made
|
||||
- Added 500 and 404 error pages
|
||||
- Added module domain error handling for better module errors
|
||||
- Added automatic reloading on error
|
||||
- Dropped support for node 0.6
|
||||
|
||||
## 0.6.2
|
||||
|
||||
- Fixed rare but annoying bug where server would crash for no good reason ("Cannot set headers") on a request
|
||||
|
||||
## 0.6.1
|
||||
|
||||
- Bumped the default recursion limit to 2 levels
|
||||
- Fixed rare case where a resource's dashboard would not load
|
||||
- Fixed user events
|
||||
- Fixed several validation bugs
|
||||
- In a UserCollection /users/me will return 204 instead of 401
|
||||
|
||||
## 0.6.0
|
||||
## 0.7.0
|
||||
|
||||
### Breaking Changes
|
||||
- Restructured Deployd app folder structure. Let us know if you need to migrate any 0.5 apps.
|
||||
- Changed the "email" property of a UserCollection to "username", in order to be less opinionated about user logic.
|
||||
|
||||
### New Features
|
||||
- Rebuilt the dashboard
|
||||
- You can now manage resources from any page on the dashboard. Navigation has also been improved
|
||||
- You can now reorder properties in a collection
|
||||
- Added custom resource API. You can now write your own resources and include them in your app. See the [docs] for examples and reference.
|
||||
|
||||
### Major Bugfixes
|
||||
- Fixed bug where your session could get elevated to root after using the Dashboard (causing cancel() in events to be ignored)
|
||||
### Major Bugfixes
|
||||
@@ -73,7 +73,7 @@ exports.build = function(server, session, stack) {
|
||||
, query: options.query
|
||||
, body: options.body
|
||||
, session: session
|
||||
, isRoot: session.isRoot
|
||||
, isRoot: session && session.isRoot
|
||||
, internal: true
|
||||
, headers: {}
|
||||
, on: function() {}
|
||||
|
||||
@@ -42,10 +42,21 @@
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div id="resources-empty" class="alert alert-info hide">Add a resource to get started</div>
|
||||
<div id="resources-empty" class="dashboard-sidebar-info hide">Add a resource to get started</div>
|
||||
<ul class="nav nav-stacked type-icons" id="resource-sidebar">
|
||||
</ul>
|
||||
</div>
|
||||
<div id="modules" class="well hide">
|
||||
<div class="section-header">
|
||||
<h3>Modules</h3>
|
||||
<a class="btn btn-success" href="#add-module-modal" data-toggle="modal">
|
||||
<i class="icon-white icon-plus"></i>
|
||||
</a>
|
||||
</div>
|
||||
<div id="modules-empty" class="dashboard-sidebar-info">No modules are installed</div>
|
||||
<ul class="nav nav-stacked type-icons hide" id="module-sidebar">
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div id="main-container">
|
||||
<{ if (render.bodyHtml) { }>
|
||||
@@ -54,6 +65,20 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="add-module-modal" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="addModuleModalLabel" aria-hidden="true">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
||||
<h3 id="addModuleModalLabel">Installing Modules</h3>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<p>You can install modules for Deployd by using <a target="_blank" href="https://npmjs.org/">npm</a> or by downloading them into your <code>node_modules</code> folder. For more details, see <a target="_blank" href="http://docs.deployd.com/docs/using-modules/installing-modules.md">the Deployd documentation</a>.</p>
|
||||
<p>For a list of official modules for Deployd, check out the <a target="_blank" href="http://docs.deployd.com/modules">modules</a> page of the documentation.</p>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button class="btn btn-primary" data-dismiss="modal" aria-hidden="true">Close</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script type="text/html" id="resource-sidebar-template">
|
||||
<% var type = types[resource.type]; %>
|
||||
<% var isCurrent = resource.id === Context.resourceId %>
|
||||
@@ -101,6 +126,8 @@
|
||||
</div>
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
<script type="text/javascript" src="/dashboard/js/lib/jquery-1.7.2.min.js"></script>
|
||||
<script type="text/javascript" src="/dashboard/js/lib/jquery.cookie.js"></script>
|
||||
<script type="text/javascript" src="/dashboard/js/lib/underscore-min.js"></script>
|
||||
|
||||
@@ -51,6 +51,10 @@ body {
|
||||
#resource-sidebar-container {
|
||||
width: 250px;
|
||||
margin-right: 10px;
|
||||
|
||||
.well {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
}
|
||||
|
||||
#main-container {
|
||||
@@ -85,8 +89,11 @@ body {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
#resources-empty {
|
||||
margin-bottom: 0;
|
||||
.dashboard-sidebar-info {
|
||||
margin-top: 20px;
|
||||
text-align: center;
|
||||
font-style: italic;
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
|
||||
.two-column-container {
|
||||
|
||||
@@ -125,11 +125,8 @@ textarea {
|
||||
|
||||
/* Makes inputs behave like true block-level elements */
|
||||
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
-ms-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
-webkit-box-sizing: border-box;
|
||||
}
|
||||
@@ -1995,7 +1992,7 @@ table .span24 {
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0);
|
||||
border-color: #e6e6e6 #e6e6e6 #bfbfbf;
|
||||
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
|
||||
filter: progid:dximagetransform.microsoft.gradient(enabled=false);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
|
||||
border: 1px solid #cccccc;
|
||||
border-bottom-color: #b3b3b3;
|
||||
-webkit-border-radius: 4px;
|
||||
@@ -2108,7 +2105,7 @@ table .span24 {
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#429e96', endColorstr='#428f9e', GradientType=0);
|
||||
border-color: #428f9e #428f9e #2b5e68;
|
||||
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
|
||||
filter: progid:dximagetransform.microsoft.gradient(enabled=false);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
|
||||
}
|
||||
.btn-primary:hover,
|
||||
.btn-primary:active,
|
||||
@@ -2133,7 +2130,7 @@ table .span24 {
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fe7f1c', endColorstr='#cc5a01', GradientType=0);
|
||||
border-color: #cc5a01 #cc5a01 #803801;
|
||||
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
|
||||
filter: progid:dximagetransform.microsoft.gradient(enabled=false);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
|
||||
}
|
||||
.btn-warning:hover,
|
||||
.btn-warning:active,
|
||||
@@ -2158,7 +2155,7 @@ table .span24 {
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#8b0e0c', endColorstr='#8b0e0c', GradientType=0);
|
||||
border-color: #8b0e0c #8b0e0c #450706;
|
||||
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
|
||||
filter: progid:dximagetransform.microsoft.gradient(enabled=false);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
|
||||
}
|
||||
.btn-danger:hover,
|
||||
.btn-danger:active,
|
||||
@@ -2183,7 +2180,7 @@ table .span24 {
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#668731', endColorstr='#82ac3f', GradientType=0);
|
||||
border-color: #82ac3f #82ac3f #58742a;
|
||||
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
|
||||
filter: progid:dximagetransform.microsoft.gradient(enabled=false);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
|
||||
}
|
||||
.btn-success:hover,
|
||||
.btn-success:active,
|
||||
@@ -2208,7 +2205,7 @@ table .span24 {
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#429e96', endColorstr='#59bab1', GradientType=0);
|
||||
border-color: #59bab1 #59bab1 #3a8c85;
|
||||
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
|
||||
filter: progid:dximagetransform.microsoft.gradient(enabled=false);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
|
||||
}
|
||||
.btn-info:hover,
|
||||
.btn-info:active,
|
||||
@@ -2233,7 +2230,7 @@ table .span24 {
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#555555', endColorstr='#222222', GradientType=0);
|
||||
border-color: #222222 #222222 #000000;
|
||||
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
|
||||
filter: progid:dximagetransform.microsoft.gradient(enabled=false);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
|
||||
}
|
||||
.btn-inverse:hover,
|
||||
.btn-inverse:active,
|
||||
@@ -2849,7 +2846,7 @@ input[type="submit"].btn.btn-mini {
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#363535', endColorstr='#363535', GradientType=0);
|
||||
border-color: #363535 #363535 #0f0f0f;
|
||||
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
|
||||
filter: progid:dximagetransform.microsoft.gradient(enabled=false);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
|
||||
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075);
|
||||
-moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075);
|
||||
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075);
|
||||
@@ -3764,11 +3761,8 @@ a.thumbnail:hover {
|
||||
-webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
|
||||
-moz-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
|
||||
box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
-ms-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
-webkit-box-sizing: border-box;
|
||||
-webkit-transition: width 0.6s ease;
|
||||
@@ -4089,11 +4083,8 @@ body {
|
||||
min-height: 100%;
|
||||
width: 100%;
|
||||
min-width: 1000px;
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
-ms-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
-webkit-box-sizing: border-box;
|
||||
box-flex: 1;
|
||||
@@ -4111,6 +4102,9 @@ body {
|
||||
width: 250px;
|
||||
margin-right: 10px;
|
||||
}
|
||||
#resource-sidebar-container .well {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
#main-container {
|
||||
box-flex: 1;
|
||||
-moz-box-flex: 1;
|
||||
@@ -4170,8 +4164,11 @@ body {
|
||||
margin-top: 0;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
#resources-empty {
|
||||
margin-bottom: 0;
|
||||
.dashboard-sidebar-info {
|
||||
margin-top: 20px;
|
||||
text-align: center;
|
||||
font-style: italic;
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
.two-column-container {
|
||||
display: box;
|
||||
@@ -4180,11 +4177,8 @@ body {
|
||||
display: -ms-box;
|
||||
display: -o-box;
|
||||
width: 100%;
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
-ms-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
-webkit-box-sizing: border-box;
|
||||
}
|
||||
@@ -4551,7 +4545,7 @@ li.L9 {
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0);
|
||||
border-color: #e6e6e6 #e6e6e6 #bfbfbf;
|
||||
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
|
||||
filter: progid:dximagetransform.microsoft.gradient(enabled=false);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
|
||||
border: 1px solid #cccccc;
|
||||
border-bottom-color: #b3b3b3;
|
||||
-webkit-border-radius: 4px;
|
||||
@@ -4598,11 +4592,8 @@ li.L9 {
|
||||
background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6);
|
||||
background-image: -o-linear-gradient(top, #ffffff, #e6e6e6);
|
||||
background-image: linear-gradient(top, #ffffff, #e6e6e6);
|
||||
background-repeat: repeat-x;
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0);
|
||||
border-color: #e6e6e6 #e6e6e6 #bfbfbf;
|
||||
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
|
||||
filter: progid:dximagetransform.microsoft.gradient(enabled=false);
|
||||
border: 1px solid #cccccc;
|
||||
border-bottom-color: #b3b3b3;
|
||||
-webkit-border-radius: 4px;
|
||||
@@ -4626,7 +4617,7 @@ li.L9 {
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#429e96', endColorstr='#428f9e', GradientType=0);
|
||||
border-color: #428f9e #428f9e #2b5e68;
|
||||
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
|
||||
filter: progid:dximagetransform.microsoft.gradient(enabled=false);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
|
||||
}
|
||||
.confirmation .actions button.ok:hover,
|
||||
.confirmation .actions button.ok:active,
|
||||
@@ -4853,12 +4844,12 @@ li.L9 {
|
||||
-moz-backface-visibility: hidden;
|
||||
}
|
||||
.card .back {
|
||||
-webkit-transform: rotatey(180deg);
|
||||
-moz-transform: rotatey(180deg);
|
||||
-webkit-transform: rotateY(180deg);
|
||||
-moz-transform: rotateY(180deg);
|
||||
}
|
||||
.card.flipped .wrapper {
|
||||
-webkit-transform: rotatey(180deg);
|
||||
-moz-transform: rotatey(180deg);
|
||||
-webkit-transform: rotateY(180deg);
|
||||
-moz-transform: rotateY(180deg);
|
||||
}
|
||||
/* sideflip effect */
|
||||
.card.sideflip .wrapper {
|
||||
@@ -4866,8 +4857,8 @@ li.L9 {
|
||||
-moz-transform-origin: right center;
|
||||
}
|
||||
.card.sideflip.flipped .wrapper {
|
||||
-webkit-transform: translatex(-100%) rotatey(180deg);
|
||||
-moz-transform: translatex(-100%) rotatey(180deg);
|
||||
-webkit-transform: translateX(-100%) rotateY(180deg);
|
||||
-moz-transform: translateX(-100%) rotateY(180deg);
|
||||
}
|
||||
body {
|
||||
background: url(../img/outlets.png) #030202;
|
||||
@@ -4969,7 +4960,7 @@ td {
|
||||
vertical-align: middle !important;
|
||||
}
|
||||
#resource-sidebar,
|
||||
#pre-resource-sidebar {
|
||||
#module-sidebar #pre-resource-sidebar {
|
||||
min-width: 150px;
|
||||
margin-bottom: 0;
|
||||
-webkit-border-radius: 10px 10px 10px 10px;
|
||||
@@ -4977,12 +4968,12 @@ td {
|
||||
border-radius: 10px 10px 10px 10px;
|
||||
}
|
||||
#resource-sidebar i,
|
||||
#pre-resource-sidebar i {
|
||||
#module-sidebar #pre-resource-sidebar i {
|
||||
position: relative;
|
||||
top: -2px;
|
||||
}
|
||||
#resource-sidebar li,
|
||||
#pre-resource-sidebar li {
|
||||
#module-sidebar #pre-resource-sidebar li {
|
||||
position: relative;
|
||||
padding: 10px;
|
||||
-webkit-box-shadow: inset 3px 3px 40px rgba(0, 0, 0, 0.37);
|
||||
@@ -4995,7 +4986,7 @@ td {
|
||||
border-right: solid 1px #030202;
|
||||
}
|
||||
#resource-sidebar li .options,
|
||||
#pre-resource-sidebar li .options {
|
||||
#module-sidebar #pre-resource-sidebar li .options {
|
||||
visibility: hidden;
|
||||
position: absolute;
|
||||
right: 8px;
|
||||
@@ -5003,20 +4994,20 @@ td {
|
||||
padding: 8px;
|
||||
}
|
||||
#resource-sidebar li .options:hover .caret,
|
||||
#pre-resource-sidebar li .options:hover .caret {
|
||||
#module-sidebar #pre-resource-sidebar li .options:hover .caret {
|
||||
border-top-color: #ffffff;
|
||||
}
|
||||
#resource-sidebar li .options .caret,
|
||||
#pre-resource-sidebar li .options .caret {
|
||||
#module-sidebar #pre-resource-sidebar li .options .caret {
|
||||
border-top-color: #838181;
|
||||
opacity: 1;
|
||||
}
|
||||
#resource-sidebar li:hover .options,
|
||||
#pre-resource-sidebar li:hover .options {
|
||||
#module-sidebar #pre-resource-sidebar li:hover .options {
|
||||
visibility: visible;
|
||||
}
|
||||
#resource-sidebar li li,
|
||||
#pre-resource-sidebar li li {
|
||||
#module-sidebar #pre-resource-sidebar li li {
|
||||
padding: 5px;
|
||||
-webkit-box-shadow: none;
|
||||
-moz-box-shadow: none;
|
||||
@@ -5026,12 +5017,12 @@ td {
|
||||
margin-right: 14px;
|
||||
}
|
||||
#resource-sidebar li li i,
|
||||
#pre-resource-sidebar li li i {
|
||||
#module-sidebar #pre-resource-sidebar li li i {
|
||||
position: relative;
|
||||
top: -1px;
|
||||
}
|
||||
#resource-sidebar a,
|
||||
#pre-resource-sidebar a {
|
||||
#module-sidebar #pre-resource-sidebar a {
|
||||
font-weight: bold;
|
||||
font-size: 10px;
|
||||
text-transform: uppercase;
|
||||
@@ -5039,35 +5030,35 @@ td {
|
||||
color: #838181;
|
||||
}
|
||||
#resource-sidebar a i,
|
||||
#pre-resource-sidebar a i {
|
||||
#module-sidebar #pre-resource-sidebar a i {
|
||||
opacity: 0.5;
|
||||
}
|
||||
#resource-sidebar a:hover,
|
||||
#pre-resource-sidebar a:hover {
|
||||
#module-sidebar #pre-resource-sidebar a:hover {
|
||||
background: none !important;
|
||||
}
|
||||
#resource-sidebar li.active,
|
||||
#pre-resource-sidebar li.active {
|
||||
#module-sidebar #pre-resource-sidebar li.active {
|
||||
background: rgba(255, 255, 255, 0.05);
|
||||
}
|
||||
#resource-sidebar li.active > a,
|
||||
#pre-resource-sidebar li.active > a {
|
||||
#module-sidebar #pre-resource-sidebar li.active > a {
|
||||
color: #ffffff;
|
||||
}
|
||||
#resource-sidebar li.active > a i,
|
||||
#pre-resource-sidebar li.active > a i {
|
||||
#module-sidebar #pre-resource-sidebar li.active > a i {
|
||||
opacity: 1;
|
||||
}
|
||||
#resource-sidebar > li.active > a,
|
||||
#pre-resource-sidebar > li.active > a {
|
||||
#module-sidebar #pre-resource-sidebar > li.active > a {
|
||||
display: block;
|
||||
}
|
||||
#resource-sidebar ul,
|
||||
#pre-resource-sidebar ul {
|
||||
#module-sidebar #pre-resource-sidebar ul {
|
||||
margin-top: 10px;
|
||||
}
|
||||
#resource-sidebar .nav,
|
||||
#pre-resource-sidebar .nav {
|
||||
#module-sidebar #pre-resource-sidebar .nav {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
#sidebar-well {
|
||||
|
||||
@@ -104,11 +104,12 @@ td {vertical-align: middle !important;}
|
||||
|
||||
// END DARK
|
||||
|
||||
#resource-sidebar, #pre-resource-sidebar {
|
||||
#resource-sidebar, #module-sidebar #pre-resource-sidebar {
|
||||
min-width: 150px;
|
||||
i {position: relative; top: -2px;}
|
||||
margin-bottom: 0;
|
||||
.border-radius(10px 10px 10px 10px);
|
||||
|
||||
li {
|
||||
position: relative;
|
||||
padding: 10px;
|
||||
|
||||
@@ -157,6 +157,8 @@ Server.prototype.listen = function(port, host) {
|
||||
process.exit(1);
|
||||
} else {
|
||||
server.resources = resourcesInstances;
|
||||
var router = new Router(resourcesInstances, server);
|
||||
server.router = router;
|
||||
http.Server.prototype.listen.call(server, port || server.options.port, host || server.options.host);
|
||||
}
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user