expressa 2.1.1 → 2.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (202) hide show
  1. package/.circleci/config.yml +21 -21
  2. package/.eslintrc.json +29 -29
  3. package/LICENSE +21 -21
  4. package/README.md +137 -137
  5. package/auth/jwt.js +31 -31
  6. package/controllers/collections.js +299 -260
  7. package/controllers/install.js +105 -105
  8. package/controllers/status.js +43 -43
  9. package/controllers/users.js +52 -52
  10. package/cypress/fixtures/example.json +4 -4
  11. package/cypress/integration/0_install_spec.js +8 -8
  12. package/cypress/integration/custom_collections.js +30 -30
  13. package/cypress/integration/home.js +9 -9
  14. package/cypress/integration/settings.js +34 -34
  15. package/cypress/integration/users.js +61 -61
  16. package/cypress/plugins/index.js +17 -17
  17. package/cypress/support/commands.js +69 -69
  18. package/cypress/support/index.js +20 -20
  19. package/cypress/support/util.js +10 -10
  20. package/cypress.config.js +18 -18
  21. package/cypress.json +4 -4
  22. package/db/cached.js +44 -44
  23. package/db/file.js +131 -131
  24. package/db/memory.js +92 -92
  25. package/db/mongo.js +93 -93
  26. package/db/postgres.js +100 -100
  27. package/doc/authentication.md +38 -38
  28. package/doc/automatic-fields.md +12 -12
  29. package/doc/blogexample.md +16 -16
  30. package/doc/custom-endpoints.md +20 -20
  31. package/doc/database.md +23 -23
  32. package/doc/development.md +33 -33
  33. package/doc/listeners.md +103 -103
  34. package/doc/modules.md +8 -8
  35. package/doc/permissions.md +14 -14
  36. package/doc/relationships.md +65 -65
  37. package/doc/testing.md +47 -47
  38. package/doc/uploading-files.md +53 -53
  39. package/listeners.js +65 -65
  40. package/listeners_collection_permissions.js +29 -29
  41. package/listeners_users.js +96 -96
  42. package/listeners_validation.js +43 -43
  43. package/middleware/logging.js +30 -30
  44. package/middleware/permissions.js +41 -41
  45. package/modules/access_keys/access_keys.js +32 -32
  46. package/modules/admin/.babelrc +8 -8
  47. package/modules/admin/.editorconfig +14 -14
  48. package/modules/admin/.eslintignore +5 -5
  49. package/modules/admin/.eslintrc.js +197 -197
  50. package/modules/admin/.postcssrc.js +10 -10
  51. package/modules/admin/.travis.yml +5 -5
  52. package/modules/admin/LICENSE +21 -21
  53. package/modules/admin/README.md +88 -88
  54. package/modules/admin/build/build.js +46 -46
  55. package/modules/admin/build/check-versions.js +64 -64
  56. package/modules/admin/build/utils.js +109 -109
  57. package/modules/admin/build/vue-loader.conf.js +5 -5
  58. package/modules/admin/build/webpack.base.conf.js +112 -112
  59. package/modules/admin/build/webpack.dev.conf.js +95 -95
  60. package/modules/admin/build/webpack.prod.conf.js +112 -112
  61. package/modules/admin/config/dev.env.js +8 -8
  62. package/modules/admin/config/index.js +86 -86
  63. package/modules/admin/config/prod.env.js +5 -5
  64. package/modules/admin/dist/css/{430.e83d8cfe.css → 430.8c9b0482.css} +4 -4
  65. package/modules/admin/dist/css/430.8c9b0482.css.gz +0 -0
  66. package/modules/admin/dist/css/{197.e66ce8d8.css → 566.7a90435e.css} +4 -4
  67. package/modules/admin/dist/css/566.7a90435e.css.gz +0 -0
  68. package/modules/admin/dist/css/569.db9a10c2.css.gz +0 -0
  69. package/modules/admin/dist/css/572.513a323e.css.gz +0 -0
  70. package/modules/admin/dist/css/{566.e66ce8d8.css → 622.7a90435e.css} +4 -4
  71. package/modules/admin/dist/css/622.7a90435e.css.gz +0 -0
  72. package/modules/admin/dist/css/651.e946bda7.css.gz +0 -0
  73. package/modules/admin/dist/css/{750.4086915d.css → 750.79723422.css} +1 -1
  74. package/modules/admin/dist/css/750.79723422.css.gz +0 -0
  75. package/modules/admin/dist/css/{451.c6646d20.css.gz → 798.c6646d20.css.gz} +0 -0
  76. package/modules/admin/dist/css/950.1fd9d57c.css.gz +0 -0
  77. package/modules/admin/dist/css/{app.1c3232a3.css → app.c25a6c6c.css} +24 -24
  78. package/modules/admin/dist/css/app.c25a6c6c.css.gz +0 -0
  79. package/modules/admin/dist/index.html +1 -1
  80. package/modules/admin/dist/static/js/311.03ef5ed9.js +1 -0
  81. package/modules/admin/dist/static/js/311.03ef5ed9.js.gz +0 -0
  82. package/modules/admin/dist/static/js/{430.86219146.js.gz → 430.ddfa4b9e.js.gz} +0 -0
  83. package/modules/admin/dist/static/js/{460.b54cbaab.js.gz → 460.770a630c.js.gz} +0 -0
  84. package/modules/admin/dist/static/js/{550.938e8b79.js → 550.e9a3a306.js} +1 -1
  85. package/modules/admin/dist/static/js/550.e9a3a306.js.gz +0 -0
  86. package/modules/admin/dist/static/js/569.711f16a3.js +1 -0
  87. package/modules/admin/dist/static/js/569.711f16a3.js.gz +0 -0
  88. package/modules/admin/dist/static/js/572.5c8cfea9.js +1 -0
  89. package/modules/admin/dist/static/js/572.5c8cfea9.js.gz +0 -0
  90. package/modules/admin/dist/static/js/603.bbe5ed23.js.gz +0 -0
  91. package/modules/admin/dist/static/js/622.9f06567e.js +1 -0
  92. package/modules/admin/dist/static/js/622.9f06567e.js.gz +0 -0
  93. package/modules/admin/dist/static/js/{651.29b10271.js.gz → 651.86d741f0.js.gz} +0 -0
  94. package/modules/admin/dist/static/js/{653.9b512bd1.js.gz → 653.7a309059.js.gz} +0 -0
  95. package/modules/admin/dist/static/js/{750.0b1c247a.js.gz → 750.10551ec8.js.gz} +0 -0
  96. package/modules/admin/dist/static/js/798.93ec90bc.js +1 -0
  97. package/modules/admin/dist/static/js/798.93ec90bc.js.gz +0 -0
  98. package/modules/admin/dist/static/js/950.d7f72b66.js.gz +0 -0
  99. package/modules/admin/dist/static/js/app.23870b61.js +2 -0
  100. package/modules/admin/dist/static/js/{app.4f835176.js.LICENSE.txt.gz → app.23870b61.js.LICENSE.txt.gz} +0 -0
  101. package/modules/admin/dist/static/js/app.23870b61.js.gz +0 -0
  102. package/modules/admin/index.html +16 -16
  103. package/modules/admin/package.json +101 -101
  104. package/modules/admin/src/App.vue +11 -11
  105. package/modules/admin/src/api/login.js +26 -26
  106. package/modules/admin/src/api/table.js +9 -9
  107. package/modules/admin/src/components/Breadcrumb/index.vue +79 -79
  108. package/modules/admin/src/components/Hamburger/index.vue +62 -62
  109. package/modules/admin/src/components/JSONEditor.vue +206 -206
  110. package/modules/admin/src/components/SvgIcon/index.vue +43 -43
  111. package/modules/admin/src/icons/index.js +9 -9
  112. package/modules/admin/src/icons/svgo.yml +22 -22
  113. package/modules/admin/src/main.js +42 -42
  114. package/modules/admin/src/permission.js +49 -49
  115. package/modules/admin/src/router/index.js +200 -200
  116. package/modules/admin/src/store/getters.js +11 -11
  117. package/modules/admin/src/store/index.js +17 -17
  118. package/modules/admin/src/store/modules/app.js +43 -43
  119. package/modules/admin/src/store/modules/user.js +104 -104
  120. package/modules/admin/src/styles/element-ui.scss +29 -29
  121. package/modules/admin/src/styles/index.scss +78 -78
  122. package/modules/admin/src/styles/mixin.scss +27 -27
  123. package/modules/admin/src/styles/sidebar.scss +133 -133
  124. package/modules/admin/src/styles/transition.scss +46 -46
  125. package/modules/admin/src/styles/variables.scss +4 -4
  126. package/modules/admin/src/utils/auth.js +15 -15
  127. package/modules/admin/src/utils/index.js +74 -74
  128. package/modules/admin/src/utils/request.js +47 -47
  129. package/modules/admin/src/utils/validate.js +31 -31
  130. package/modules/admin/src/views/404.vue +235 -235
  131. package/modules/admin/src/views/Dev.vue +33 -33
  132. package/modules/admin/src/views/EditDocument.vue +121 -121
  133. package/modules/admin/src/views/Endpoints.vue +279 -279
  134. package/modules/admin/src/views/Home.vue +84 -84
  135. package/modules/admin/src/views/Install.vue +79 -79
  136. package/modules/admin/src/views/ListDocuments.vue +72 -72
  137. package/modules/admin/src/views/ListDocuments2.vue +467 -467
  138. package/modules/admin/src/views/ManageListeners.vue +67 -67
  139. package/modules/admin/src/views/ManageMiddleware.vue +43 -43
  140. package/modules/admin/src/views/ManagePermissions.vue +75 -75
  141. package/modules/admin/src/views/ViewRequest.vue +77 -77
  142. package/modules/admin/src/views/form/index.vue +91 -91
  143. package/modules/admin/src/views/layout/Layout.vue +69 -69
  144. package/modules/admin/src/views/layout/components/AppMain.vue +41 -41
  145. package/modules/admin/src/views/layout/components/Navbar.vue +97 -97
  146. package/modules/admin/src/views/layout/components/Sidebar/Item.vue +29 -29
  147. package/modules/admin/src/views/layout/components/Sidebar/Link.vue +39 -39
  148. package/modules/admin/src/views/layout/components/Sidebar/SidebarItem.vue +103 -103
  149. package/modules/admin/src/views/layout/components/Sidebar/index.vue +62 -62
  150. package/modules/admin/src/views/layout/components/index.js +3 -3
  151. package/modules/admin/src/views/layout/mixin/ResizeHandler.js +41 -41
  152. package/modules/admin/src/views/login/index.vue +195 -195
  153. package/modules/admin/src/views/tree/index.vue +77 -77
  154. package/modules/collections/collections.js +45 -39
  155. package/modules/core/core.js +197 -197
  156. package/modules/logging/logging.js +88 -88
  157. package/modules/permissions/permissions.js +106 -106
  158. package/package.json +59 -59
  159. package/scripts/expressa +12 -12
  160. package/scripts/run_cypress_tests.sh +35 -35
  161. package/scripts/run_db_tests.sh +8 -8
  162. package/test/0-install.js +96 -96
  163. package/test/collections.js +431 -431
  164. package/test/collections.querying.js +372 -288
  165. package/test/db.js +258 -258
  166. package/test/db.strings.js +73 -73
  167. package/test/db.updating.js +186 -186
  168. package/test/logging.js +29 -29
  169. package/test/test.js +93 -93
  170. package/test/testserver.js +30 -30
  171. package/test/testutils.js +136 -136
  172. package/test/users.js +425 -425
  173. package/util.js +522 -522
  174. package/modules/admin/dist/css/197.e66ce8d8.css.gz +0 -0
  175. package/modules/admin/dist/css/430.e83d8cfe.css.gz +0 -0
  176. package/modules/admin/dist/css/566.e66ce8d8.css.gz +0 -0
  177. package/modules/admin/dist/css/750.4086915d.css.gz +0 -0
  178. package/modules/admin/dist/css/app.1c3232a3.css.gz +0 -0
  179. package/modules/admin/dist/static/js/197.f9e1ba84.js +0 -1
  180. package/modules/admin/dist/static/js/197.f9e1ba84.js.gz +0 -0
  181. package/modules/admin/dist/static/js/311.ca6d5976.js +0 -1
  182. package/modules/admin/dist/static/js/311.ca6d5976.js.gz +0 -0
  183. package/modules/admin/dist/static/js/451.5e934bb6.js +0 -1
  184. package/modules/admin/dist/static/js/451.5e934bb6.js.gz +0 -0
  185. package/modules/admin/dist/static/js/550.938e8b79.js.gz +0 -0
  186. package/modules/admin/dist/static/js/569.128a8e27.js +0 -1
  187. package/modules/admin/dist/static/js/569.128a8e27.js.gz +0 -0
  188. package/modules/admin/dist/static/js/572.b3b13b2d.js +0 -1
  189. package/modules/admin/dist/static/js/572.b3b13b2d.js.gz +0 -0
  190. package/modules/admin/dist/static/js/603.dc05e481.js.gz +0 -0
  191. package/modules/admin/dist/static/js/950.fe12a66b.js.gz +0 -0
  192. package/modules/admin/dist/static/js/app.4f835176.js +0 -2
  193. package/modules/admin/dist/static/js/app.4f835176.js.gz +0 -0
  194. /package/modules/admin/dist/css/{451.c6646d20.css → 798.c6646d20.css} +0 -0
  195. /package/modules/admin/dist/static/js/{430.86219146.js → 430.ddfa4b9e.js} +0 -0
  196. /package/modules/admin/dist/static/js/{460.b54cbaab.js → 460.770a630c.js} +0 -0
  197. /package/modules/admin/dist/static/js/{603.dc05e481.js → 603.bbe5ed23.js} +0 -0
  198. /package/modules/admin/dist/static/js/{651.29b10271.js → 651.86d741f0.js} +0 -0
  199. /package/modules/admin/dist/static/js/{653.9b512bd1.js → 653.7a309059.js} +0 -0
  200. /package/modules/admin/dist/static/js/{750.0b1c247a.js → 750.10551ec8.js} +0 -0
  201. /package/modules/admin/dist/static/js/{950.fe12a66b.js → 950.d7f72b66.js} +0 -0
  202. /package/modules/admin/dist/static/js/{app.4f835176.js.LICENSE.txt → app.23870b61.js.LICENSE.txt} +0 -0
@@ -1,86 +1,86 @@
1
- 'use strict'
2
- // Template version: 1.2.6
3
- // see http://vuejs-templates.github.io/webpack for documentation.
4
-
5
- const path = require('path')
6
-
7
- module.exports = {
8
- dev: {
9
- // Paths
10
- assetsSubDirectory: 'static',
11
- assetsPublicPath: '/',
12
- proxyTable: {},
13
-
14
- // Various Dev Server settings
15
- host: 'localhost', // can be overwritten by process.env.HOST
16
- port: 9528, // can be overwritten by process.env.PORT, if port is in use, a free one will be determined
17
- autoOpenBrowser: true,
18
- errorOverlay: true,
19
- notifyOnErrors: false,
20
- poll: false, // https://webpack.js.org/configuration/dev-server/#devserver-watchoptions-
21
-
22
- // Use Eslint Loader?
23
- // If true, your code will be linted during bundling and
24
- // linting errors and warnings will be shown in the console.
25
- useEslint: true,
26
- // If true, eslint errors and warnings will also be shown in the error overlay
27
- // in the browser.
28
- showEslintErrorsInOverlay: false,
29
-
30
- /**
31
- * Source Maps
32
- */
33
-
34
- // https://webpack.js.org/configuration/devtool/#development
35
- devtool: 'cheap-source-map',
36
-
37
- // CSS Sourcemaps off by default because relative paths are "buggy"
38
- // with this option, according to the CSS-Loader README
39
- // (https://github.com/webpack/css-loader#sourcemaps)
40
- // In our experience, they generally work as expected,
41
- // just be aware of this issue when enabling this option.
42
- cssSourceMap: false
43
- },
44
-
45
- build: {
46
- // Template for index.html
47
- index: path.resolve(__dirname, '../dist/index.html'),
48
-
49
- // Paths
50
- assetsRoot: path.resolve(__dirname, '../dist'),
51
- assetsSubDirectory: 'static',
52
-
53
- /**
54
- * You can set by youself according to actual condition
55
- * You will need to set this if you plan to deploy your site under a sub path,
56
- * for example GitHub pages. If you plan to deploy your site to https://foo.github.io/bar/,
57
- * then assetsPublicPath should be set to "/bar/".
58
- * In most cases please use '/' !!!
59
- */
60
- assetsPublicPath: '/admin/',
61
-
62
- /**
63
- * Source Maps
64
- */
65
-
66
- productionSourceMap: false,
67
- // https://webpack.js.org/configuration/devtool/#production
68
- devtool: 'source-map',
69
-
70
- // Gzip off by default as many popular static hosts such as
71
- // Surge or Netlify already gzip all static assets for you.
72
- // Before setting to `true`, make sure to:
73
- // npm install --save-dev compression-webpack-plugin
74
- productionGzip: true,
75
- productionGzipExtensions: ['json','js','js.map','css','html','svg','xml','txt'],
76
-
77
- // Run the build command with an extra argument to
78
- // View the bundle analyzer report after build finishes:
79
- // `npm run build --report`
80
- // Set to `true` or `false` to always turn it on or off
81
- bundleAnalyzerReport: process.env.npm_config_report || false,
82
-
83
- // `npm run build:prod --generate_report`
84
- generateAnalyzerReport: process.env.npm_config_generate_report || false
85
- }
86
- }
1
+ 'use strict'
2
+ // Template version: 1.2.6
3
+ // see http://vuejs-templates.github.io/webpack for documentation.
4
+
5
+ const path = require('path')
6
+
7
+ module.exports = {
8
+ dev: {
9
+ // Paths
10
+ assetsSubDirectory: 'static',
11
+ assetsPublicPath: '/',
12
+ proxyTable: {},
13
+
14
+ // Various Dev Server settings
15
+ host: 'localhost', // can be overwritten by process.env.HOST
16
+ port: 9528, // can be overwritten by process.env.PORT, if port is in use, a free one will be determined
17
+ autoOpenBrowser: true,
18
+ errorOverlay: true,
19
+ notifyOnErrors: false,
20
+ poll: false, // https://webpack.js.org/configuration/dev-server/#devserver-watchoptions-
21
+
22
+ // Use Eslint Loader?
23
+ // If true, your code will be linted during bundling and
24
+ // linting errors and warnings will be shown in the console.
25
+ useEslint: true,
26
+ // If true, eslint errors and warnings will also be shown in the error overlay
27
+ // in the browser.
28
+ showEslintErrorsInOverlay: false,
29
+
30
+ /**
31
+ * Source Maps
32
+ */
33
+
34
+ // https://webpack.js.org/configuration/devtool/#development
35
+ devtool: 'cheap-source-map',
36
+
37
+ // CSS Sourcemaps off by default because relative paths are "buggy"
38
+ // with this option, according to the CSS-Loader README
39
+ // (https://github.com/webpack/css-loader#sourcemaps)
40
+ // In our experience, they generally work as expected,
41
+ // just be aware of this issue when enabling this option.
42
+ cssSourceMap: false
43
+ },
44
+
45
+ build: {
46
+ // Template for index.html
47
+ index: path.resolve(__dirname, '../dist/index.html'),
48
+
49
+ // Paths
50
+ assetsRoot: path.resolve(__dirname, '../dist'),
51
+ assetsSubDirectory: 'static',
52
+
53
+ /**
54
+ * You can set by youself according to actual condition
55
+ * You will need to set this if you plan to deploy your site under a sub path,
56
+ * for example GitHub pages. If you plan to deploy your site to https://foo.github.io/bar/,
57
+ * then assetsPublicPath should be set to "/bar/".
58
+ * In most cases please use '/' !!!
59
+ */
60
+ assetsPublicPath: '/admin/',
61
+
62
+ /**
63
+ * Source Maps
64
+ */
65
+
66
+ productionSourceMap: false,
67
+ // https://webpack.js.org/configuration/devtool/#production
68
+ devtool: 'source-map',
69
+
70
+ // Gzip off by default as many popular static hosts such as
71
+ // Surge or Netlify already gzip all static assets for you.
72
+ // Before setting to `true`, make sure to:
73
+ // npm install --save-dev compression-webpack-plugin
74
+ productionGzip: true,
75
+ productionGzipExtensions: ['json','js','js.map','css','html','svg','xml','txt'],
76
+
77
+ // Run the build command with an extra argument to
78
+ // View the bundle analyzer report after build finishes:
79
+ // `npm run build --report`
80
+ // Set to `true` or `false` to always turn it on or off
81
+ bundleAnalyzerReport: process.env.npm_config_report || false,
82
+
83
+ // `npm run build:prod --generate_report`
84
+ generateAnalyzerReport: process.env.npm_config_generate_report || false
85
+ }
86
+ }
@@ -1,5 +1,5 @@
1
- 'use strict'
2
- module.exports = {
3
- NODE_ENV: '"production"',
4
- BASE_API: '"/api"',
5
- }
1
+ 'use strict'
2
+ module.exports = {
3
+ NODE_ENV: '"production"',
4
+ BASE_API: '"/api"',
5
+ }
@@ -1,8 +1,8 @@
1
1
 
2
- .el-table[data-v-4b9ae5da] th {
3
- background-color: #343a40 !important;
4
- border-color: #454d55;
2
+ .el-table[data-v-4b9ae5da] th {
3
+ background-color: #343a40 !important;
4
+ border-color: #454d55;
5
5
  color: #fff;
6
- }
6
+ }
7
7
 
8
8
  .dashboard-container[data-v-1741ffd8]{margin:30px}.dashboard-text[data-v-1741ffd8]{font-size:30px;line-height:46px}a#settings-link[data-v-1741ffd8]{color:#35a;padding-left:25px}
@@ -1,7 +1,7 @@
1
1
 
2
- .el-table[data-v-4b9ae5da] th {
3
- background-color: #343a40 !important;
4
- border-color: #454d55;
2
+ .el-table[data-v-4b9ae5da] th {
3
+ background-color: #343a40 !important;
4
+ border-color: #454d55;
5
5
  color: #fff;
6
- }
6
+ }
7
7
 
@@ -1,7 +1,7 @@
1
1
 
2
- .el-table[data-v-4b9ae5da] th {
3
- background-color: #343a40 !important;
4
- border-color: #454d55;
2
+ .el-table[data-v-4b9ae5da] th {
3
+ background-color: #343a40 !important;
4
+ border-color: #454d55;
5
5
  color: #fff;
6
- }
6
+ }
7
7
 
@@ -1,2 +1,2 @@
1
- .login-container .el-input{display:inline-block;height:47px;width:85%}.login-container .el-input input{background:rgba(0,0,0,0);border:0px;-webkit-appearance:none;border-radius:0px;padding:12px 5px 12px 15px;color:#eee;height:47px}.login-container .el-input input:-webkit-autofill{-webkit-box-shadow:0 0 0px 1000px #2d3a4b inset !important;-webkit-text-fill-color:#fff !important}.login-container .el-form-item{border:1px solid hsla(0,0%,100%,.1);background:rgba(0,0,0,.1);border-radius:5px;color:#454545}
1
+ .login-container .el-input{display:inline-block;height:47px;width:85%}.login-container .el-input input{background:rgba(0,0,0,0);border:0px;-webkit-appearance:none;border-radius:0px;padding:12px 5px 12px 15px;color:#eee;height:47px}.login-container .el-input input:-webkit-autofill{-webkit-box-shadow:0 0 0px 1000px #2d3a4b inset !important;-webkit-text-fill-color:#fff !important}.login-container .el-form-item{border:1px solid rgba(255,255,255,.1);background:rgba(0,0,0,.1);border-radius:5px;color:#454545}
2
2
  .login-container[data-v-1fccacad]{position:fixed;height:100%;width:100%;background-color:#2d3a4b}.login-container .login-form[data-v-1fccacad]{position:absolute;left:0;right:0;width:520px;max-width:100%;padding:35px 35px 15px 35px;margin:120px auto}.login-container .tips[data-v-1fccacad]{font-size:14px;color:#fff;margin-bottom:10px}.login-container .tips span[data-v-1fccacad]:first-of-type{margin-right:16px}.login-container .svg-container[data-v-1fccacad]{padding:6px 5px 6px 15px;color:#889aa4;vertical-align:middle;width:30px;display:inline-block}.login-container .title[data-v-1fccacad]{font-size:26px;font-weight:400;color:#eee;margin:0px auto 40px auto;text-align:center;font-weight:bold}.login-container .show-pwd[data-v-1fccacad]{position:absolute;right:10px;top:7px;font-size:16px;color:#889aa4;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}
@@ -455,31 +455,31 @@ template {
455
455
  .fade-enter-active,.fade-leave-active{-webkit-transition:opacity .28s;transition:opacity .28s}.fade-enter,.fade-leave-active{opacity:0}.fade-transform-leave-active,.fade-transform-enter-active{-webkit-transition:all .5s;transition:all .5s}.fade-transform-enter{opacity:0;-webkit-transform:translateX(-30px);transform:translateX(-30px)}.fade-transform-leave-to{opacity:0;-webkit-transform:translateX(30px);transform:translateX(30px)}.breadcrumb-enter-active,.breadcrumb-leave-active{-webkit-transition:all .5s;transition:all .5s}.breadcrumb-enter,.breadcrumb-leave-active{opacity:0;-webkit-transform:translateX(20px);transform:translateX(20px)}.breadcrumb-move{-webkit-transition:all .5s;transition:all .5s}.breadcrumb-leave-active{position:absolute}.el-upload input[type=file]{display:none !important}.el-upload__input{display:none}.el-dialog{-webkit-transform:none;transform:none;left:0;position:relative;margin:0 auto}.upload-container .el-upload{width:100%}.upload-container .el-upload .el-upload-dragger{width:100%;height:200px}#app .main-container{min-height:100%;-webkit-transition:margin-left .28s;transition:margin-left .28s;margin-left:180px;position:relative}#app .sidebar-container{-webkit-transition:width .28s;transition:width .28s;width:180px !important;height:100%;position:fixed;font-size:0px;top:0;bottom:0;left:0;z-index:1001;overflow:hidden}#app .sidebar-container .horizontal-collapse-transition{-webkit-transition:0s width ease-in-out,0s padding-left ease-in-out,0s padding-right ease-in-out;transition:0s width ease-in-out,0s padding-left ease-in-out,0s padding-right ease-in-out}#app .sidebar-container .el-scrollbar__bar.is-vertical{right:0px}#app .sidebar-container .scrollbar-wrapper{overflow-x:hidden !important}#app .sidebar-container .scrollbar-wrapper .el-scrollbar__view{height:100%}#app .sidebar-container .is-horizontal{display:none}#app .sidebar-container a{display:inline-block;width:100%;overflow:hidden}#app .sidebar-container .svg-icon{margin-right:16px}#app .sidebar-container .el-menu{border:none;height:100%;width:100% !important}#app .sidebar-container .is-active>.el-submenu__title{color:#f4f4f5 !important}#app .hideSidebar .sidebar-container{width:36px !important}#app .hideSidebar .main-container{margin-left:36px}#app .hideSidebar .submenu-title-noDropdown{padding-left:10px !important;position:relative}#app .hideSidebar .submenu-title-noDropdown .el-tooltip{padding:0 10px !important}#app .hideSidebar .el-submenu{overflow:hidden}#app .hideSidebar .el-submenu>.el-submenu__title{padding-left:10px !important}#app .hideSidebar .el-submenu>.el-submenu__title .el-submenu__icon-arrow{display:none}#app .hideSidebar .el-menu--collapse .el-submenu>.el-submenu__title>span{height:0;width:0;overflow:hidden;visibility:hidden;display:inline-block}#app .sidebar-container .nest-menu .el-submenu>.el-submenu__title,#app .sidebar-container .el-submenu .el-menu-item{min-width:180px !important;background-color:#1f2d3d !important}#app .sidebar-container .nest-menu .el-submenu>.el-submenu__title:hover,#app .sidebar-container .el-submenu .el-menu-item:hover{background-color:#001528 !important}#app .el-menu--collapse .el-menu .el-submenu{min-width:180px !important}#app .mobile .main-container{margin-left:0px}#app .mobile .sidebar-container{-webkit-transition:-webkit-transform .28s;transition:-webkit-transform .28s;transition:transform .28s;transition:transform .28s, -webkit-transform .28s;width:180px !important}#app .mobile.hideSidebar .sidebar-container{-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transform:translate3d(-180px, 0, 0);transform:translate3d(-180px, 0, 0)}#app .withoutAnimation .main-container,#app .withoutAnimation .sidebar-container{-webkit-transition:none;transition:none}.el-menu--vertical>.el-menu .svg-icon{margin-right:16px}body{height:100%;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-family:Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Arial,sans-serif}label{font-weight:700}html{height:100%;-webkit-box-sizing:border-box;box-sizing:border-box}#app{height:100%}*,*:before,*:after{-webkit-box-sizing:inherit;box-sizing:inherit}a,a:focus,a:hover{cursor:pointer;color:inherit;outline:none;text-decoration:none}div:focus{outline:none}a:focus,a:active{outline:none}a,a:focus,a:hover{cursor:pointer;color:inherit;text-decoration:none}.clearfix:after{visibility:hidden;display:block;font-size:0;content:" ";clear:both;height:0}.app-main{min-height:100%}.app-container{padding:20px}
456
456
  .app-breadcrumb.el-breadcrumb[data-v-7fd9bfb1]{display:inline-block;font-size:14px;line-height:50px;margin-left:10px}.app-breadcrumb.el-breadcrumb .no-redirect[data-v-7fd9bfb1]{color:#97a8be;cursor:text}
457
457
 
458
- .hamburger[data-v-33bc7442] {
459
- display: inline-block;
460
- cursor: pointer;
461
- width: 20px;
462
- height: 20px;
463
- -webkit-transform: rotate(90deg);
464
- transform: rotate(90deg);
465
- -webkit-transition: .38s;
466
- transition: .38s;
467
- -webkit-transform-origin: 50% 50%;
458
+ .hamburger[data-v-33bc7442] {
459
+ display: inline-block;
460
+ cursor: pointer;
461
+ width: 20px;
462
+ height: 20px;
463
+ -webkit-transform: rotate(90deg);
464
+ transform: rotate(90deg);
465
+ -webkit-transition: .38s;
466
+ transition: .38s;
467
+ -webkit-transform-origin: 50% 50%;
468
468
  transform-origin: 50% 50%;
469
469
  }
470
- .hamburger.is-active[data-v-33bc7442] {
471
- -webkit-transform: rotate(0deg);
470
+ .hamburger.is-active[data-v-33bc7442] {
471
+ -webkit-transform: rotate(0deg);
472
472
  transform: rotate(0deg);
473
- }
473
+ }
474
474
 
475
475
  .navbar2[data-v-9a22c1da]{height:50px;line-height:50px;border-radius:0px !important}.navbar2 .hamburger-container[data-v-9a22c1da]{line-height:58px;height:50px;float:left;padding:0 10px}.navbar2 .screenfull[data-v-9a22c1da]{position:absolute;right:90px;top:16px;color:red}.navbar2 .avatar-container[data-v-9a22c1da]{height:50px;display:inline-block;position:absolute;right:35px}.navbar2 .avatar-container .avatar-wrapper[data-v-9a22c1da]{cursor:pointer;margin-top:5px;position:relative;line-height:initial}.navbar2 .avatar-container .avatar-wrapper .user-avatar[data-v-9a22c1da]{width:40px;height:40px;border-radius:10px}.navbar2 .avatar-container .avatar-wrapper .el-icon-caret-bottom[data-v-9a22c1da]{position:absolute;right:-20px;top:25px;font-size:12px}
476
476
 
477
- .app-main[data-v-a32d8162] {
478
- /*50 = navbar */
479
- min-height: calc(100vh - 50px);
480
- position: relative;
477
+ .app-main[data-v-a32d8162] {
478
+ /*50 = navbar */
479
+ min-height: calc(100vh - 50px);
480
+ position: relative;
481
481
  overflow: hidden;
482
- }
482
+ }
483
483
 
484
484
  .app-wrapper[data-v-36da4210]:after{content:"";display:table;clear:both}.app-wrapper[data-v-36da4210]{position:relative;height:100%;width:100%}.app-wrapper.mobile.openSidebar[data-v-36da4210]{position:fixed;top:0}.drawer-bg[data-v-36da4210]{background:#000;opacity:.3;width:100%;top:0;height:100%;position:absolute;z-index:999}
485
485
  /*!
@@ -513,13 +513,13 @@ template {
513
513
  }
514
514
 
515
515
 
516
- .svg-icon[data-v-09244364] {
517
- width: 1em;
518
- height: 1em;
519
- vertical-align: -0.15em;
520
- fill: currentColor;
516
+ .svg-icon[data-v-09244364] {
517
+ width: 1em;
518
+ height: 1em;
519
+ vertical-align: -0.15em;
520
+ fill: currentColor;
521
521
  overflow: hidden;
522
- }
522
+ }
523
523
 
524
524
  /* Make clicks pass-through */
525
525
  #nprogress {
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><script crossorigin src=https://cdnjs.cloudflare.com/ajax/libs/react/15.3.2/react.min.js></script><script crossorigin src=https://cdnjs.cloudflare.com/ajax/libs/react/15.3.2/react-dom.min.js></script><link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel=stylesheet><script src=settings.js></script><title>Expressa Admin</title><link rel=icon href=/admin/favicon.ico><link href=/admin/css/app.1c3232a3.css rel=stylesheet></head><body><div id=app></div><script src=/admin/static/js/app.4f835176.js></script></body></html>
1
+ <!DOCTYPE html><html><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><script crossorigin src=https://cdnjs.cloudflare.com/ajax/libs/react/15.3.2/react.min.js></script><script crossorigin src=https://cdnjs.cloudflare.com/ajax/libs/react/15.3.2/react-dom.min.js></script><link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel=stylesheet><script src=settings.js></script><title>Expressa Admin</title><link rel=icon href=/admin/favicon.ico><link href=/admin/css/app.c25a6c6c.css rel=stylesheet></head><body><div id=app></div><script src=/admin/static/js/app.23870b61.js></script></body></html>