nocms-admin 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (50) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +339 -0
  3. data/README.md +4 -0
  4. data/Rakefile +21 -0
  5. data/app/assets/fonts/no_cms/admin/fsd_-_pragmatapro-webfont.eot +0 -0
  6. data/app/assets/fonts/no_cms/admin/fsd_-_pragmatapro-webfont.ttf +0 -0
  7. data/app/assets/fonts/no_cms/admin/fsd_-_pragmatapro-webfont.woff +0 -0
  8. data/app/assets/images/no_cms/admin/NoCMS_logo.svg +29 -0
  9. data/app/assets/images/no_cms/admin/general-f471e1516770e9528f3dcf0a635516de.png +0 -0
  10. data/app/assets/images/no_cms/admin/ico-add.png +0 -0
  11. data/app/assets/images/no_cms/admin/ico-close.png +0 -0
  12. data/app/assets/images/no_cms/admin/ico-expand-dark.png +0 -0
  13. data/app/assets/images/no_cms/admin/ico-expand.png +0 -0
  14. data/app/assets/images/no_cms/admin/ico-filter.png +0 -0
  15. data/app/assets/images/no_cms/admin/ico-mini-delete.png +0 -0
  16. data/app/assets/images/no_cms/admin/ico-mini-move-down.png +0 -0
  17. data/app/assets/images/no_cms/admin/ico-mini-move-up.png +0 -0
  18. data/app/assets/images/no_cms/admin/ico-mini-show-hide.png +0 -0
  19. data/app/assets/images/no_cms/admin/ico-search-mini.png +0 -0
  20. data/app/assets/images/no_cms/admin/ico-search.png +0 -0
  21. data/app/assets/images/no_cms/admin/stripe_5d3ba7190e7de9a95d82d43dce2917b1.png +0 -0
  22. data/app/assets/javascripts/no_cms/admin/application.js +17 -0
  23. data/app/assets/javascripts/no_cms/admin/libraries/store.min.js +2 -0
  24. data/app/assets/javascripts/no_cms/admin/logger.js +48 -0
  25. data/app/assets/javascripts/no_cms/admin/no_cms_admin.js +2 -0
  26. data/app/assets/javascripts/no_cms/admin/ready.js +65 -0
  27. data/app/assets/stylesheets/no_cms/admin/application.css.scss +13 -0
  28. data/app/assets/stylesheets/no_cms/admin/no_cms.css.scss +1281 -0
  29. data/app/builders/no_cms/admin/form_builder.rb +18 -0
  30. data/app/controllers/no_cms/admin/application_controller.rb +12 -0
  31. data/app/controllers/no_cms/admin/dashboard_controller.rb +7 -0
  32. data/app/helpers/no_cms/admin/application_helper.rb +17 -0
  33. data/app/views/layouts/no_cms/admin/application.html.erb +77 -0
  34. data/app/views/no_cms/admin/dashboard/show.html.erb +0 -0
  35. data/app/views/no_cms/admin/shared/_console_log.html.erb +11 -0
  36. data/app/views/no_cms/admin/shared/_locales.html.erb +5 -0
  37. data/app/views/no_cms/admin/shared/_log_messages.html.erb +8 -0
  38. data/app/views/no_cms/admin/shared/_menu_item.html.erb +5 -0
  39. data/app/views/no_cms/admin/shared/_menu_items.html.erb +3 -0
  40. data/app/views/no_cms/admin/shared/_secondary_menu_toolbar.html.erb +32 -0
  41. data/app/views/no_cms/admin/shared/_toolbar.html.erb +15 -0
  42. data/config/locales/en.yml +11 -0
  43. data/config/routes.rb +3 -0
  44. data/lib/no_cms/admin/configuration.rb +10 -0
  45. data/lib/no_cms/admin/engine.rb +7 -0
  46. data/lib/no_cms/admin/logger.rb +48 -0
  47. data/lib/no_cms/admin/version.rb +5 -0
  48. data/lib/nocms_admin.rb +8 -0
  49. data/lib/tasks/admin_tasks.rake +4 -0
  50. metadata +145 -0
@@ -0,0 +1,2 @@
1
+ /* Copyright (c) 2010-2013 Marcus Westin */
2
+ (function(e){function o(){try{return r in e&&e[r]}catch(t){return!1}}var t={},n=e.document,r="localStorage",i="script",s;t.disabled=!1,t.set=function(e,t){},t.get=function(e){},t.remove=function(e){},t.clear=function(){},t.transact=function(e,n,r){var i=t.get(e);r==null&&(r=n,n=null),typeof i=="undefined"&&(i=n||{}),r(i),t.set(e,i)},t.getAll=function(){},t.forEach=function(){},t.serialize=function(e){return JSON.stringify(e)},t.deserialize=function(e){if(typeof e!="string")return undefined;try{return JSON.parse(e)}catch(t){return e||undefined}};if(o())s=e[r],t.set=function(e,n){return n===undefined?t.remove(e):(s.setItem(e,t.serialize(n)),n)},t.get=function(e){return t.deserialize(s.getItem(e))},t.remove=function(e){s.removeItem(e)},t.clear=function(){s.clear()},t.getAll=function(){var e={};return t.forEach(function(t,n){e[t]=n}),e},t.forEach=function(e){for(var n=0;n<s.length;n++){var r=s.key(n);e(r,t.get(r))}};else if(n.documentElement.addBehavior){var u,a;try{a=new ActiveXObject("htmlfile"),a.open(),a.write("<"+i+">document.w=window</"+i+'><iframe src="/favicon.ico"></iframe>'),a.close(),u=a.w.frames[0].document,s=u.createElement("div")}catch(f){s=n.createElement("div"),u=n.body}function l(e){return function(){var n=Array.prototype.slice.call(arguments,0);n.unshift(s),u.appendChild(s),s.addBehavior("#default#userData"),s.load(r);var i=e.apply(t,n);return u.removeChild(s),i}}var c=new RegExp("[!\"#$%&'()*+,/\\\\:;<=>?@[\\]^`{|}~]","g");function h(e){return e.replace(/^d/,"___$&").replace(c,"___")}t.set=l(function(e,n,i){return n=h(n),i===undefined?t.remove(n):(e.setAttribute(n,t.serialize(i)),e.save(r),i)}),t.get=l(function(e,n){return n=h(n),t.deserialize(e.getAttribute(n))}),t.remove=l(function(e,t){t=h(t),e.removeAttribute(t),e.save(r)}),t.clear=l(function(e){var t=e.XMLDocument.documentElement.attributes;e.load(r);for(var n=0,i;i=t[n];n++)e.removeAttribute(i.name);e.save(r)}),t.getAll=function(e){var n={};return t.forEach(function(e,t){n[e]=t}),n},t.forEach=l(function(e,n){var r=e.XMLDocument.documentElement.attributes;for(var i=0,s;s=r[i];++i)n(s.name,t.deserialize(e.getAttribute(s.name)))})}try{var p="__storejs__";t.set(p,p),t.get(p)!=p&&(t.disabled=!0),t.remove(p)}catch(f){t.disabled=!0}t.enabled=!t.disabled,typeof module!="undefined"&&module.exports&&this.module!==module?module.exports=t:typeof define=="function"&&define.amd?define(t):e.store=t})(Function("return this")())
@@ -0,0 +1,48 @@
1
+ NoCMS.Admin.Logger = function() {
2
+ this.log_messages_container = $('#log-bar');
3
+ this.clear_log_messages_link = this.log_messages_container.find('#js-clear-log');
4
+ this.store_log_messages_key = 'no_cms_admin_logger_messages';
5
+ this.log_messages = store.get(this.store_log_messages_key);
6
+
7
+ that = this;
8
+
9
+ if(typeof(this.log_messages) == 'undefined'){
10
+ this.log_messages = [];
11
+ }
12
+
13
+ this.displayAllMessages();
14
+
15
+ this.clear_log_messages_link.on('click', function(){
16
+ that.clearMessages(true);
17
+ })
18
+ }
19
+
20
+
21
+
22
+
23
+ NoCMS.Admin.Logger.prototype.addMessage = function(type, message) {
24
+ this.log_messages.unshift({'type': type, 'message': message, 'time': new Date()})
25
+ store.set(this.store_log_messages_key, this.log_messages);
26
+ this.displayMessage(0);
27
+ }
28
+
29
+ NoCMS.Admin.Logger.prototype.displayAllMessages = function() {
30
+ this.clearMessages(false);
31
+ for(var i = this.log_messages.length-1; i >= 0; i--) {
32
+ this.displayMessage(i);
33
+ }
34
+ }
35
+
36
+ NoCMS.Admin.Logger.prototype.clearMessages = function(clear_from_store) {
37
+ this.log_messages_container.find('.msg').remove();
38
+ if(clear_from_store) {
39
+ this.log_messages = [];
40
+ store.set(this.store_log_messages_key, this.log_messages);
41
+ }
42
+
43
+ };
44
+
45
+ NoCMS.Admin.Logger.prototype.displayMessage = function(message_index) {
46
+ var message = this.log_messages[message_index];
47
+ this.log_messages_container.prepend('<p class="msg '+message.type+'"><time>'+message.time+'</time>'+message.message+'</p>');
48
+ }
@@ -0,0 +1,2 @@
1
+ var NoCMS = {};
2
+ NoCMS.Admin = {};
@@ -0,0 +1,65 @@
1
+
2
+
3
+ $(document).ready(function() {
4
+
5
+ $('#log-bar').on('click', function(e) {
6
+ e.preventDefault();
7
+ $(this).toggleClass('expanded');
8
+ });
9
+
10
+ $('#js-collapse-to-minimun').on('click', function(e) {
11
+ e.preventDefault();
12
+ $('body').removeClass('col-2-only');
13
+ $('body').toggleClass('col-1-only');
14
+ });
15
+
16
+ $('#js-expand-col-2').on('click', function(e) {
17
+ e.preventDefault();
18
+ $('body').removeClass('col-1-only');
19
+ $('body').toggleClass('col-2-only');
20
+ });
21
+
22
+ // Mark current
23
+ $('aside#col-1, aside#col-2').on('click', 'a', function(e) {
24
+ $(this).closest('.content').find('li').removeClass('current');
25
+ $(this).parent().addClass('current');
26
+ });
27
+
28
+ // Add Class parent
29
+ $('aside#col-1 li > ul, aside#col-2 li > ul').each(function(){
30
+ $(this).parent().addClass('parent');
31
+ });
32
+
33
+ // Search button
34
+ $('#js-search').on('click', function(e) {
35
+ e.preventDefault();
36
+ $(this).toggleClass('active');
37
+ $('.search-bar').toggle();
38
+ });
39
+
40
+ // Filter button
41
+ $('#js-filter').on('click', function(e) {
42
+ e.preventDefault();
43
+ $(this).toggleClass('active');
44
+ $('.filter-bar').toggle();
45
+ });
46
+
47
+ // Go full-screen in content area
48
+ $('#js-go-full-screen').on('click', function(e) {
49
+ e.preventDefault();
50
+ $(this).toggleClass('active');
51
+ $('body').removeClass('col-1-only').toggleClass('go-full-screen');
52
+ });
53
+
54
+ // Show mini-options
55
+ /* $('aside#col-2 .content').on('mouseenter', 'a', function(e) {
56
+ e.preventDefault();
57
+ var
58
+ el = $(this),
59
+ h = el.height(),
60
+ t =
61
+ $('#mini-options').show();
62
+ });*/
63
+
64
+
65
+ });
@@ -0,0 +1,13 @@
1
+ /*
2
+ * This is a manifest file that'll be compiled into application.css, which will include all the files
3
+ * listed below.
4
+ *
5
+ * Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
6
+ * or vendor/assets/stylesheets of plugins, if any, can be referenced here using a relative path.
7
+ *
8
+ * You're free to add application-wide styles to this file and they'll appear at the top of the
9
+ * compiled file, but it's generally better to create a new file per style scope.
10
+ *
11
+ *= require_self
12
+ *= require_tree .
13
+ */
@@ -0,0 +1,1281 @@
1
+ /* -------------------------------------
2
+ =Variables */
3
+
4
+ $f_default_size: 13px;
5
+ $f_default_line_height: 120%;
6
+ $f_default_margin_bottom: 22px; /* fz * lh */
7
+ $f_default_color: #333;
8
+
9
+ $f_base: Arial, sans-serif;
10
+
11
+ /* ==============================================
12
+ GRID */
13
+
14
+ $fg-column: 81px; // Column Width
15
+ $fg-gutter: 16px; // Gutter Width
16
+ $fg-max-columns: 12; // Total Columns For Main Container
17
+ $fg-max-w: $fg-max-columns * $fg-column + ($fg-max-columns - 1) * $fg-gutter;
18
+ $fg-min-w: 960px;
19
+
20
+ /* ==============================================
21
+ COLORs */
22
+
23
+ $accent: #f05a28;
24
+ $error: #ec3f28;
25
+
26
+ /* Main BG color */
27
+ $bg: #272c2f;
28
+
29
+ /* ==============================================
30
+ MIXINs */
31
+
32
+ /* @include clearfix */
33
+ @mixin clearfix {
34
+ &:after {
35
+ content:"";
36
+ display:table;
37
+ clear:both;
38
+ }
39
+ }
40
+
41
+ /* @extend %clearfix */
42
+ %clearfix {
43
+ &:after {
44
+ content:"";
45
+ display:table;
46
+ clear:both;
47
+ }
48
+ }
49
+
50
+ .clearfix {
51
+ &:after {
52
+ content:"";
53
+ display:table;
54
+ clear:both;
55
+ }
56
+ }
57
+
58
+
59
+ * {
60
+ -moz-box-sizing:border-box;
61
+ -webkit-box-sizing:border-box;
62
+ box-sizing:border-box;
63
+ // background-repeat:no-repeat;
64
+ }
65
+
66
+ html {
67
+ height:100%;
68
+ background:#fff;
69
+ }
70
+
71
+ body {
72
+ height:100%;
73
+ min-height:100%;
74
+ }
75
+
76
+ .right {
77
+ float: right;
78
+ }
79
+
80
+
81
+ /* Common font-faces */
82
+ /* 'Trebuchet MS', Trebuchet, Tahoma, Verdana, Arial, Helvetica, sans-serif; */
83
+ /* Georgia, 'Times New Roman', Times, serif; */
84
+ /* 'Courier New', Courier, monospace; */
85
+
86
+ @font-face {
87
+ font-family: 'pragmataproregular';
88
+ src: font-url('no_cms/admin/fsd_-_pragmatapro-webfont.eot');
89
+ src: font-url('no_cms/admin/fsd_-_pragmatapro-webfont.eot?#iefix') format('embedded-opentype'),
90
+ font-url('no_cms/admin/fsd_-_pragmatapro-webfont.woff') format('woff'),
91
+ font-url('no_cms/admin/fsd_-_pragmatapro-webfont.ttf') format('truetype');
92
+ font-weight: normal;
93
+ font-style: normal;
94
+ }
95
+
96
+ $font_mono: 'pragmataproregular', 'Courier New', Courier, monospace;
97
+
98
+ /* -------------------------------------
99
+ =Initial */
100
+
101
+ html {
102
+ -webkit-font-smoothing: antialiased;
103
+ text-rendering: optimizeLegibility;
104
+ font-size: 100.01%;
105
+ color: $f_default_color;
106
+ }
107
+
108
+ /* -------------------------------------
109
+ =Default text / type styles */
110
+
111
+ /* General font sizes */
112
+
113
+ body,
114
+ ol, ul, li,
115
+ address,
116
+ blockquote, pre, code, kbd, samp, q,
117
+ sub, sup, small,
118
+ p, h1, h2, h3, h4, h5, h6 {
119
+ margin: 0;
120
+ font-family: $f_base;
121
+ font-size: $f_default_size;
122
+ line-height: $f_default_line_height;
123
+ text-align: left;
124
+ font-weight: 400;
125
+ color: $f_default_color;
126
+ }
127
+
128
+ dfn,
129
+ em,
130
+ i {
131
+ font-style: italic;
132
+ font-size: inherit;
133
+ }
134
+
135
+ strong,
136
+ b {
137
+ font-weight: 700;
138
+ font-size: inherit;
139
+ }
140
+
141
+ abbr[title] {
142
+ border-bottom: 1px dotted;
143
+ }
144
+
145
+ blockquote {
146
+ margin: 1em 40px;
147
+ }
148
+
149
+ mark {
150
+ background: #ff0;
151
+ color: #000;
152
+ }
153
+
154
+ q {
155
+ quotes: none;
156
+ }
157
+
158
+ q:before,
159
+ q:after {
160
+ content: '';
161
+ content: none;
162
+ }
163
+
164
+ small {
165
+ font-size: 14px;
166
+ line-height: 130%;
167
+ text-align: left;
168
+ }
169
+
170
+ sub,
171
+ sup {
172
+ font-size: 75%;
173
+ line-height: 0;
174
+ position: relative;
175
+ vertical-align: baseline;
176
+ }
177
+
178
+ sup {
179
+ top: -0.5em;
180
+ }
181
+
182
+ sub {
183
+ bottom: -0.25em;
184
+ }
185
+
186
+ address {
187
+ font-style:normal !important;
188
+ }
189
+
190
+ footer address {
191
+ font-size: $f_default_size;
192
+ line-height: $f_default_line_height;
193
+ }
194
+
195
+ /* -------------------------------------
196
+ =Forms feneral */
197
+
198
+ button, input, select, textarea, fieldset, legend,
199
+ label, select {
200
+ font-size: $f_default_size;
201
+ line-height: $f_default_line_height;
202
+ font-weight: 400;
203
+ text-align: left;
204
+ }
205
+
206
+ /* -------------------------------------
207
+ =Listas */
208
+
209
+ ul, ol, li {
210
+ list-style: none;
211
+ }
212
+
213
+ li {
214
+ font-size: 100%;
215
+ line-height: 160%;
216
+ }
217
+
218
+ dl, menu, ol, ul {
219
+ margin: 1em 0;
220
+ }
221
+
222
+ dd {
223
+ margin: 0 0 0 40px;
224
+ }
225
+
226
+ menu, ol, ul {
227
+ padding: 0 0 0 40px;
228
+ }
229
+
230
+ /* =ESTILOS POR DEFECTO */
231
+ /* ul li { list-style: disc outside; }*/
232
+ /* ol li { list-style: decimal outside; }*/
233
+
234
+ /* -------------------------------------
235
+ =Enlaces */
236
+
237
+ a:focus { outline: thin dotted; }
238
+ a:hover,
239
+ a:active { outline: 0; }
240
+
241
+ a, a:link,
242
+ a:visited,
243
+ a:hover,
244
+ a:active {
245
+ font-weight: 400;
246
+ color: #00f;
247
+ outline: 0;
248
+ text-decoration:underline;
249
+ }
250
+ a:hover {
251
+ color: #f00;
252
+ }
253
+
254
+ footer address a,
255
+ footer address a:link,
256
+ footer address a:visited,
257
+ footer address a:hover,
258
+ footer address a:active {
259
+ font-weight: 400;
260
+ color: #00f;
261
+ text-decoration: underline;
262
+ }
263
+
264
+ footer address a:hover {
265
+ color: #f00;
266
+ }
267
+
268
+ /* ICONO AUTOMÁTICO EN LINKS DE DOWNLOAD */
269
+ /* a[href$=".pdf"] { padding:0 20px 0 0; background:transparent url(/img/pdf.png) no-repeat center right; } */
270
+
271
+ /* -------------------------------------
272
+ =Tipografias del site */
273
+
274
+ /* Convenciones
275
+
276
+ Los tamños por defecto... variables generales, etc están en _tipografia_base.css.scss
277
+
278
+ b -> bold
279
+ m -> medium
280
+ r -> regular
281
+ l -> light
282
+ u -> ultralight
283
+
284
+ */
285
+
286
+ /* Common to all */
287
+ ._r100,._r66, ._r52, ._r46,
288
+ ._r42, ._r36, ._r34, ._r26,
289
+ ._r24, ._r22, ._r20, ._r18,
290
+ ._r16, ._r15, ._r14, ._r13
291
+ {
292
+ margin: 0 0 22px 0; /* fz x lh */
293
+
294
+ font-family: $f_base;
295
+ font-size: $f_default_size;
296
+ line-height: $f_default_line_height;
297
+ font-weight: 400;
298
+ text-align: left;
299
+ }
300
+
301
+ ._r46, ._l46,
302
+ ._r42, ._l42,
303
+ ._r36, ._l36,
304
+ ._r34, ._l34,
305
+ ._r26, ._l26 {
306
+ line-height: 120%;
307
+ }
308
+
309
+ ._r100,._l100,
310
+ ._r66, ._l66,
311
+ ._r52, ._l52 {
312
+ line-height: 100%;
313
+ }
314
+
315
+
316
+ /* Font sizes and margins */
317
+ /* Mergin bottom equals font-size * line-height */
318
+ ._r100,._l100 {
319
+ font-size: 100px;
320
+ margin-bottom: 100px;
321
+ }
322
+ ._r66, ._l66 {
323
+ font-size: 66px;
324
+ margin-bottom: 66px;
325
+ }
326
+ ._r52, ._l52 {
327
+ font-size: 52px;
328
+ margin-bottom: 52px;
329
+ }
330
+ ._r46, ._l46 {
331
+ font-size: 46px;
332
+ }
333
+ ._r42, ._l42 {
334
+ font-size: 42px;
335
+ }
336
+ ._r36, ._l36 {
337
+ font-size: 36px;
338
+ }
339
+ ._r34, ._l34 {
340
+ font-size: 34px;
341
+ }
342
+ ._r26, ._l26 {
343
+ font-size: 26px;
344
+ }
345
+ ._r24, ._l24 {
346
+ font-size: 24px;
347
+ }
348
+ ._r22, ._l22 {
349
+ font-size: 22px;
350
+ }
351
+ ._r20, ._l20 {
352
+ font-size: 20px;
353
+ }
354
+ ._r18, ._l18 {
355
+ font-size: 18px;
356
+ }
357
+ ._r16, ._l16 {
358
+ font-size: 16px;
359
+ }
360
+ ._r15, ._l15 {
361
+ font-size: 15px;
362
+ }
363
+ ._r14, ._l14 {
364
+ font-size: 14px;
365
+ }
366
+ ._r13, ._l13 {
367
+ font-size: 13px;
368
+ }
369
+
370
+ /* IE8 has problms asigning the font weight if fonts its no explicity specified */
371
+
372
+
373
+ //
374
+ // Default square buttons
375
+ //
376
+
377
+ /* Default dark buttons 44x44px */
378
+ a.btn-square {
379
+ display: block;
380
+ float: left;
381
+ width: 44px;
382
+ height: 44px;
383
+
384
+ border-right: 1px solid $bg;
385
+ background-color: lighten($bg, 10%);
386
+ color: #ccc;
387
+
388
+ text-align: center;
389
+ text-decoration: none;
390
+ line-height: 40px;
391
+
392
+ &:hover {
393
+ background-color: desaturate(darken($accent, 20%), 20%);
394
+ color: #fff;
395
+ }
396
+
397
+ &.active {
398
+ // background-color: desaturate(darken($accent, 20%), 20%);
399
+ background-color: $accent;
400
+ }
401
+
402
+ &.accent {
403
+ background-color: desaturate(darken($accent, 20%), 20%);
404
+ &:hover {
405
+ background-color: $accent;
406
+ }
407
+ }
408
+
409
+ &.right {
410
+ float: right;
411
+ border-right: 0;
412
+ border-left: 1px solid $bg;
413
+ }
414
+
415
+ &.error {
416
+ // background-color: desaturate(darken($error, 20%), 20%);
417
+ &:hover {
418
+ background-color: $error;
419
+ }
420
+ }
421
+
422
+ &.ico-close {
423
+ background-image: image-url('no_cms/admin/ico-close.png');
424
+ background-position: center center;
425
+ background-repeat: no-repeat;
426
+ }
427
+
428
+ &.ico-expand {
429
+ background-image: image-url('no_cms/admin/ico-expand.png');
430
+ background-position: center center;
431
+ background-repeat: no-repeat;
432
+ }
433
+
434
+ &.ico-expand-dark {
435
+ background-image: image-url('no_cms/admin/ico-expand-dark.png');
436
+ background-position: center center;
437
+ background-repeat: no-repeat;
438
+ }
439
+
440
+ &.ico-add {
441
+ background-image: image-url('no_cms/admin/ico-add.png');
442
+ background-position: center center;
443
+ background-repeat: no-repeat;
444
+ }
445
+
446
+ &.ico-filter {
447
+ background-image: image-url('no_cms/admin/ico-filter.png');
448
+ background-position: center center;
449
+ background-repeat: no-repeat;
450
+ }
451
+
452
+ &.ico-search {
453
+ background-image: image-url('no_cms/admin/ico-search.png');
454
+ background-position: center center;
455
+ background-repeat: no-repeat;
456
+ }
457
+ }
458
+
459
+ input[type=reset].btn,
460
+ input[type=submit].btn,
461
+ a.btn {
462
+ width: auto;
463
+ min-height: 27px;
464
+ border: 0;
465
+ outline: 0;
466
+ padding: 6px 8px;
467
+ margin: 7px 1px 0 8px;
468
+ background-color: desaturate(darken($accent, 20%), 20%);
469
+
470
+ font-size: 12px;
471
+ text-transform: uppercase;
472
+ text-decoration: none;
473
+ color: #fff;
474
+
475
+ border-radius: 2px;
476
+
477
+ &.right {
478
+ margin-left: 0;
479
+ margin-right: 8px;
480
+ }
481
+
482
+ &:hover {
483
+ background-color: $accent;
484
+ color: #fff;
485
+ }
486
+ }
487
+
488
+ input[type=reset].btn {
489
+ background-color: lighten($bg, 40%);
490
+ }
491
+
492
+ $col_1_w: 15%;
493
+ $col_2_w: 30%;
494
+
495
+ $tool_bar_h: 44px;
496
+ $content_area_padding: 20px;
497
+ $log_bar_h: 18px;
498
+
499
+ body {
500
+ margin: 0;
501
+ padding: 0 0 0 ($col_1_w+$col_2_w);
502
+ min-height: 100%;
503
+ background: darken($bg, 10%);
504
+
505
+ overflow-x: hidden;
506
+
507
+ /* Maximun space for edition */
508
+ &.go-full-screen {
509
+ #interface {
510
+ display: none;
511
+ }
512
+ }
513
+ /* Maximun space for edition */
514
+ &.col-1-only {
515
+ padding-left:($col_1_w);
516
+ #main-header {
517
+ width: ($col_1_w);
518
+ }
519
+ aside#col-2 {
520
+ display: none;
521
+ }
522
+ section#content-area {
523
+ .tool-bar {
524
+ width: (100 - $col_1_w);
525
+ }
526
+ }
527
+ }
528
+ /* Only first column active */
529
+ &.col-2-only {
530
+ aside#col-2 {
531
+ width: $col_1_w+$col_2_w;
532
+ left: 0;
533
+ > .tool-bar,
534
+ > .page-nav {
535
+ width: $col_1_w+$col_2_w;
536
+ left: 0;
537
+ .ico-expand {
538
+ background-color: $accent;
539
+ }
540
+ }
541
+ }
542
+ aside#col-1 {
543
+ display: none;
544
+ }
545
+ }
546
+ }
547
+
548
+ #main-header {
549
+ width: $col_1_w+$col_2_w;
550
+ height: $tool_bar_h;
551
+ position: fixed;
552
+ left: 0;
553
+ top: 0;
554
+ background: lighten($bg, 10%);
555
+ z-index: 3;
556
+
557
+ border-bottom: 2px solid darken($bg, 20%);
558
+ border-right: 2px solid darken($bg, 20%);
559
+ > .logo {
560
+ float: left;
561
+ overflow: hidden;
562
+ width: 94px;
563
+ height: 44px;
564
+ padding-left: 12px;
565
+ > a {
566
+ display: block;
567
+ }
568
+ }
569
+ }
570
+
571
+ #log-bar {
572
+ position: fixed;
573
+ width: 100%;
574
+ height: $log_bar_h;
575
+ padding: 2px 12px 16px 16px;
576
+ left: 0;
577
+ bottom: 0;
578
+ z-index: 2;
579
+ cursor: pointer;
580
+
581
+ border-top: 1px solid $bg;
582
+ background-color: darken($bg, 10%);
583
+ overflow:hidden;
584
+
585
+ &.expanded {
586
+ height: 50%;
587
+ overflow: auto;
588
+ }
589
+
590
+ > span#js-clear-log {
591
+ display: block;
592
+ height: 24px;
593
+ padding: 4px 22px 0 0;
594
+ position: absolute;
595
+ right: 0;
596
+ top: 0;
597
+ background: image-url('no_cms/admin/ico-mini-delete.png') right center no-repeat;
598
+
599
+ font-weight: 400;
600
+ color: #fff;
601
+ }
602
+
603
+ > p {
604
+ margin: 0;
605
+ padding: 0;
606
+ color: lighten($bg, 30%);
607
+ font-weight: 700;
608
+ > time {
609
+ font-weight: 400;
610
+ &:after {
611
+ content: ' ››› '
612
+ }
613
+ }
614
+ &.warning {
615
+ $col: hsl( 40, saturation($accent), lightness($accent));
616
+ color: $col;
617
+ }
618
+ &.error {
619
+ $col: hsl( 0, saturation($accent), lightness($accent));
620
+ color: $col;
621
+ }
622
+ }
623
+ }
624
+
625
+ //
626
+ // Toolbars default styles
627
+ //
628
+
629
+ .tool-bar {
630
+ position: fixed;
631
+ width: 100%;
632
+ height: $tool_bar_h;
633
+ margin-top: -44px;
634
+ margin-left: -1px;
635
+ z-index: 3;
636
+
637
+ background: lighten($bg, 10%);
638
+ border-bottom: 1px solid darken($bg, 10%);
639
+ color: lighten($bg, 20%);
640
+ overflow:hidden;
641
+ }
642
+
643
+ //
644
+ // Page navigator
645
+ //
646
+
647
+ $pagenav_base_color: $accent;
648
+ $pagenav_text_color: lighten($bg, 30%);
649
+
650
+ .page-nav {
651
+ position: fixed;
652
+ width: 100%;
653
+ height: $tool_bar_h;
654
+ bottom:$log_bar_h;
655
+ margin-left: -1px;
656
+ border-top: 1px solid $bg;
657
+ border-left: 1px solid $bg;
658
+ z-index: 2;
659
+
660
+ background: darken($bg, 10%);
661
+ color: lighten($bg, 20%);
662
+ overflow:hidden;
663
+
664
+ p {
665
+ width: 100%;
666
+ display:inline-block;
667
+ padding:0;
668
+
669
+ text-align:center;
670
+ font-size: 0;
671
+ line-height: 28px; /* Same as height */
672
+
673
+ .prev,
674
+ .next,
675
+ a,
676
+ span {
677
+ display: inline-block;
678
+ height: 28px;
679
+ overflow: hidden;
680
+ padding: 0 5px;
681
+ margin: 7px 1px 0 0;
682
+
683
+ border-radius: 2px;
684
+
685
+ font-size: 14px;
686
+ text-decoration: none;
687
+ background: darken($bg, 10%);
688
+ color: $pagenav_text_color;
689
+ }
690
+ .current {
691
+ background: desaturate(darken($accent, 20%), 20%);
692
+ color: #fff;
693
+ }
694
+ a {
695
+ &:hover {
696
+ background-color: $accent;
697
+ color: #000;
698
+ }
699
+ }
700
+ .prev,
701
+ .next {
702
+ height: 42px;
703
+ width: 42px;
704
+ position: absolute;
705
+ top: 0;
706
+ left: 0;
707
+ margin-top: 0;
708
+ border-right: 1px solid $bg;
709
+ line-height: 40px;
710
+
711
+ border-radius: 0;
712
+ background: darken($bg, 10%) image-url('no_cms/admin/ico-prev.png') center center no-repeat;
713
+
714
+ &:hover {
715
+ background-color: $accent;
716
+ color: #000;
717
+ }
718
+ }
719
+ .next {
720
+ background: darken($bg, 10%) image-url('no_cms/admin/ico-next.png') center center no-repeat;
721
+ border-right: 0;
722
+ border-left: 1px solid $bg;
723
+ left: auto;
724
+ right: 1px;
725
+ }
726
+ }
727
+ }
728
+
729
+
730
+ //
731
+ // Mini options on the page listing
732
+ //
733
+
734
+ .mo,
735
+ #mini-options {
736
+ position: absolute;
737
+ top: 0;
738
+ right: 0;
739
+ background: $bg;
740
+ border: 1px solid lighten($bg, 20%);
741
+ border-left: 0;
742
+ border-top: 0;
743
+ border-right: 0;
744
+ z-index: 2;
745
+
746
+ opacity: 0;
747
+
748
+ /* Remove space between icons */
749
+ font-size: 0;
750
+
751
+ &:hover {
752
+ opacity: 1;
753
+ }
754
+
755
+ form {
756
+ display: inline;
757
+ > div {
758
+ display: inline;
759
+ }
760
+ }
761
+ input[type=submit],
762
+ button,
763
+ > a {
764
+ display: inline-block;
765
+ width: 24px;
766
+ height: 24px;
767
+ float: right;
768
+ margin: 0;
769
+ padding: 0;
770
+ background-color: desaturate(darken($accent, 20%), 20%);
771
+
772
+ border: 0; /* input */
773
+ outline: 0;
774
+ border-left: 1px solid lighten($bg, 10%) !important;
775
+
776
+ background-position: center center;
777
+ background-repeat: no-repeat;
778
+
779
+ &.active,
780
+ &:hover {
781
+ background-color: $accent;
782
+ }
783
+ &.ico-mini-show-hide {
784
+ background-image: image-url('no_cms/admin/ico-mini-show-hide.png');
785
+ }
786
+ &.ico-mini-move-up {
787
+ background-image: image-url('no_cms/admin/ico-mini-move-up.png');
788
+ }
789
+ &.ico-mini-move-down {
790
+ background-image: image-url('no_cms/admin/ico-mini-move-down.png');
791
+ }
792
+ &.ico-mini-delete {
793
+ background-image: image-url('no_cms/admin/ico-mini-delete.png');
794
+ }
795
+ }
796
+ }
797
+
798
+ //
799
+ // Lang / local bar
800
+ //
801
+
802
+ .lang {
803
+ float: left;
804
+ text-align:center;
805
+ padding: 7px 0 0 8px;
806
+
807
+ font-size: 12px;
808
+ line-height: 28px; /* Same as height */
809
+ text-decoration: none;
810
+
811
+ > a {
812
+ display: inline-block;
813
+ width: 28px;
814
+ height: 28px;
815
+ border: 0;
816
+ padding: 0 5px;
817
+ border-radius: 2px;
818
+
819
+ text-decoration: none;
820
+ line-height: 28px;
821
+ color: #fff;
822
+
823
+ &:hover {
824
+ background-color: $accent;
825
+ color: #fff !important;
826
+ }
827
+ &.current {
828
+ background-color: desaturate(darken($accent, 20%), 20%);
829
+ color: #fff !important;
830
+ }
831
+ }
832
+ }
833
+
834
+ //
835
+ // Tooltip
836
+ //
837
+
838
+ a.info-tooltip {
839
+ display: inline-block;
840
+ width: 18px;
841
+ height: 18px;
842
+ padding: 3px 0 0 0;
843
+
844
+ background: desaturate(darken($accent, 20%), 20%);
845
+ color: #fff;
846
+
847
+ font-family: $font_mono;
848
+ text-align: center;
849
+ text-decoration: none;
850
+ font-weight: 700;
851
+ font-size: 18px;
852
+ line-height: 0.5em;
853
+
854
+ border-radius: 2px;
855
+
856
+ &:hover {
857
+ background: $accent;
858
+ color: #fdd;
859
+ }
860
+ }
861
+
862
+ a[data-tooltip]:link,
863
+ a[data-tooltip]:visited {
864
+ position: relative;
865
+ text-decoration: none;
866
+ }
867
+
868
+ a[data-tooltip]:after {
869
+ content: attr(data-tooltip);
870
+ display: block;
871
+ width: 280px;
872
+ position: absolute;
873
+ left: 20px;
874
+ top: 0px;
875
+ padding: 15px;
876
+ border-radius: 2px;
877
+
878
+ background: #000;
879
+ color: white;
880
+
881
+ font-family: $f_base;
882
+ font-size: $f_default_size;
883
+ font-weight: 400;
884
+ line-height: 1.2em;
885
+ text-align: left;
886
+
887
+ visibility: hidden;
888
+ }
889
+
890
+ a[data-tooltip]:hover:before,
891
+ a[data-tooltip]:hover:after {
892
+ visibility: visible;
893
+ }
894
+
895
+
896
+ //
897
+ // Columnas de la izquierda
898
+ //
899
+
900
+ aside#col-1 {
901
+ position: fixed;
902
+ width: $col_1_w;
903
+ left: 0;
904
+ bottom: 0;
905
+ z-index: 2;
906
+ padding-top: $tool_bar_h;
907
+
908
+ // border-left: 2px solid darken($bg, 10%);
909
+ border-right: 2px solid darken($bg, 10%);
910
+
911
+ > .tool-bar {
912
+ width: $col_1_w;
913
+ border-right: 1px solid darken($bg, 10%);
914
+ }
915
+ }
916
+
917
+ aside#col-2 {
918
+ position: fixed;
919
+ width: $col_2_w;
920
+ left: $col_1_w;
921
+ bottom: 0;
922
+ z-index: 1;
923
+ padding-top: $tool_bar_h;
924
+
925
+ border-left: 1px solid $bg;
926
+ border-right: 2px solid darken($bg, 10%);
927
+
928
+ > .page-nav {
929
+ width: $col_2_w;
930
+ }
931
+ > .tool-bar {
932
+ width: $col_2_w;
933
+ border-right: 2px solid darken($bg, 10%);
934
+ }
935
+ }
936
+
937
+ aside#col-1,
938
+ aside#col-2 {
939
+
940
+ top: $tool_bar_h;
941
+
942
+ > .content {
943
+ padding-bottom: $log_bar_h;
944
+ overflow-y: auto;
945
+ height: 100%;
946
+ background: darken($bg, 10%);
947
+
948
+ /* general to all levels level */
949
+ li {
950
+ position: relative;
951
+ line-height: 120%;
952
+ border-top: 1px solid lighten($bg, 10%);
953
+ &.parent {
954
+ > a {
955
+ border-left: 2px solid lighten($bg, 10%);
956
+ }
957
+ }
958
+ &.current {
959
+ > a {
960
+ border-left: 4px solid $accent;
961
+ color: #fff;
962
+ background: lighten($bg, 10%);
963
+ }
964
+ & > ul {
965
+ border-left: 2px dotted $accent;
966
+ > li:first-child {
967
+ border-top: 1px solid transparent;
968
+ }
969
+ }
970
+ }
971
+ &.oculto {
972
+ > a {
973
+ background: darken($bg, 10%) image-url('no_cms/admin/stripe_5d3ba7190e7de9a95d82d43dce2917b1.png') 0 0 repeat;
974
+ }
975
+ }
976
+ > ul {
977
+ border-left: 2px dotted lighten($bg, 10%);
978
+ }
979
+ }
980
+ a {
981
+ display: block;
982
+ padding: 12px 0 12px 12px;
983
+ border-left: 4px solid transparent;
984
+
985
+ text-decoration: none;
986
+ font-weight: 700;
987
+ color: lighten($bg, 40%);
988
+
989
+ &:hover {
990
+ color: lighten($bg, 70%);
991
+ }
992
+ }
993
+ /* First level only*/
994
+ > ul {
995
+ padding: 0 0 0 16px;
996
+ margin: 0;
997
+ background: $bg;
998
+ /* Second level and below */
999
+ > li:first-child {
1000
+ border-top: 0;
1001
+ }
1002
+ ul {
1003
+ margin: 0;
1004
+ padding: 0 0 0 16px;
1005
+ li {
1006
+ a {
1007
+ font-weight: 400;
1008
+ }
1009
+ }
1010
+ }
1011
+ }
1012
+ }
1013
+
1014
+ > .page-nav + .content {
1015
+ padding-bottom: ($tool_bar_h+$log_bar_h);
1016
+ }
1017
+
1018
+ ::-webkit-scrollbar {
1019
+ width: 8px; /* for vertical scrollbars */
1020
+ height: 0px; /* for horizontal scrollbars */
1021
+ }
1022
+
1023
+ ::-webkit-scrollbar-track {
1024
+ background: darken($bg, 10%);
1025
+ }
1026
+
1027
+ ::-webkit-scrollbar-thumb {
1028
+ background: lighten($bg, 20%);
1029
+ }
1030
+ }
1031
+
1032
+
1033
+ //
1034
+ // Search bar / filter bar
1035
+ //
1036
+ .filter-bar,
1037
+ .search-bar {
1038
+ display: none;
1039
+ width: 100%;
1040
+ min-height: $tool_bar_h;
1041
+ overflow: hidden;
1042
+
1043
+ margin-left: -1px;
1044
+ padding: 20px;
1045
+
1046
+ background: darken($bg, 10%);
1047
+ border-bottom: 1px solid $bg;
1048
+ }
1049
+
1050
+ .search-bar {
1051
+ form {
1052
+ position: relative;
1053
+ display: block;
1054
+ background: transparent;
1055
+ }
1056
+ input[type=text] {
1057
+ width: 98%;
1058
+ float: left;
1059
+ margin: 0 36px 0 0;
1060
+ padding: 8px;
1061
+ border: 1px solid darken(#fff, 30%);
1062
+ outline: 0;
1063
+ }
1064
+ input[type=submit] {
1065
+ position: absolute;
1066
+ right: 0;
1067
+ width: 33px;
1068
+ height: 33px;
1069
+ margin: 0;
1070
+ background: desaturate(darken($accent, 20%), 20%) image-url('no_cms/admin/ico-search-mini.png') center center no-repeat;
1071
+ }
1072
+ }
1073
+
1074
+ .filter-bar {
1075
+
1076
+ }
1077
+
1078
+ section#content-area {
1079
+ position: relative;
1080
+ min-height: 100%;
1081
+ height: auto;
1082
+ padding-bottom: $log_bar_h;
1083
+ background: #fff;
1084
+ .content {
1085
+ padding-top: $tool_bar_h;
1086
+ .row {
1087
+ @include clearfix;
1088
+ padding: ($content_area_padding - 3px) $content_area_padding ($content_area_padding - 8px) $content_area_padding;
1089
+ border-bottom: 1px solid darken(#fff, 20%);
1090
+ background: darken(#fff, 2%);
1091
+ &:nth-of-type(even) {
1092
+ background: darken(#fff, 6%);
1093
+ }
1094
+ }
1095
+ }
1096
+ .tool-bar {
1097
+ width: 100 - ($col_1_w + $col_2_w);
1098
+ margin-top: 0;
1099
+ margin-left: 0;
1100
+ background-color: darken(#fff, 10%);
1101
+ border-bottom: 2px solid darken(#fff, 30%);
1102
+ .btn-square {
1103
+ background-color: darken(#fff, 10%);
1104
+ border-right: 1px solid darken(#fff, 30%);
1105
+ color: $bg;
1106
+ &.active,
1107
+ &:hover {
1108
+ background-color: darken(#fff, 30%);
1109
+ }
1110
+ &.right {
1111
+ border-right: 0;
1112
+ border-left: 1px solid darken(#fff, 30%);
1113
+ margin-right: 0;
1114
+ }
1115
+ &.ico-prev {
1116
+ background-image: image-url('no_cms/admin/ico-prev-dark.png');
1117
+ background-position: center center;
1118
+ background-repeat: no-repeat;
1119
+ }
1120
+ &.ico-next {
1121
+ background-image: image-url('no_cms/admin/ico-next-dark.png');
1122
+ background-position: center center;
1123
+ background-repeat: no-repeat;
1124
+ }
1125
+ }
1126
+ }
1127
+ .advanced {
1128
+ max-height: $tool_bar_h;
1129
+ padding: $content_area_padding;
1130
+ background: darken(#fff, 10%);
1131
+ border-top: 1px solid darken(#fff, 30%);
1132
+ border-bottom: 1px solid darken(#fff, 30%);
1133
+ > div {
1134
+ display: none;
1135
+ }
1136
+ }
1137
+ .lang {
1138
+ > a {
1139
+ color: #000;
1140
+ }
1141
+ }
1142
+
1143
+ //
1144
+ // Warning error and info msg
1145
+ //
1146
+ .content {
1147
+ .msg {
1148
+ padding-top: 12px;
1149
+ /* Colors are based on Accent color */
1150
+ &.info {
1151
+ $col: hsl( 190, saturation($accent), lightness($accent));
1152
+ border-bottom: 1px solid darken($col, 20%);
1153
+ border-left: 4px solid darken($col, 20%);
1154
+ background-color: lighten($col, 25%);
1155
+ }
1156
+ &.warning {
1157
+ $col: hsl( 40, saturation($accent), lightness($accent));
1158
+ border-bottom: 1px solid darken($col, 20%);
1159
+ border-left: 4px solid darken($col, 20%);
1160
+ background-color: lighten($col, 25%);
1161
+ }
1162
+ &.error {
1163
+ $col: hsl( 0, saturation($accent), lightness($accent));
1164
+ border-bottom: 1px solid darken($col, 20%);
1165
+ border-left: 4px solid darken($col, 20%);
1166
+ background-color: lighten($col, 25%);
1167
+ }
1168
+ }
1169
+ }
1170
+ }
1171
+
1172
+ //
1173
+ // Form styles
1174
+ //
1175
+ label {
1176
+ width: 100%;
1177
+ padding: 0 16px 8px 0;
1178
+ font-weight: 700;
1179
+ color: $bg;
1180
+ }
1181
+ legend {
1182
+ padding-right: 16px;
1183
+ padding-bottom: 4px;
1184
+ font-weight: 700;
1185
+ color: $bg;
1186
+ }
1187
+ /* Los checkbox deben estar dentro de un fieldset */
1188
+ fieldset {
1189
+ width: 100%;
1190
+ float: left;
1191
+ label {
1192
+ width: auto;
1193
+ font-weight: 400;
1194
+ white-space:nowrap;
1195
+ }
1196
+ }
1197
+ input[type=radio],
1198
+ input[type=checkbox] {
1199
+
1200
+ }
1201
+ input[type=text],
1202
+ input[type=date],
1203
+ input[type=email],
1204
+ input[type=password],
1205
+ textarea {
1206
+ width: 100%;
1207
+ float: left;
1208
+ margin-bottom: 8px;
1209
+ padding: 8px;
1210
+ border: 1px solid darken(#fff, 30%);
1211
+ outline: 0;
1212
+
1213
+ font-family: $font_mono;
1214
+ font-size: 18px;
1215
+ line-height: 1em;
1216
+
1217
+ &:focus {
1218
+ border: 1px solid desaturate(darken($accent, 20%), 20%);
1219
+ }
1220
+ &.half {
1221
+ width: 48%;
1222
+ margin-right: 8px;
1223
+ }
1224
+ &.third {
1225
+ width: 31%;
1226
+ margin-right: 8px;
1227
+ }
1228
+ }
1229
+ input[type=text],
1230
+ input[type=date],
1231
+ input[type=email],
1232
+ input[type=password] {
1233
+ height: 32px;
1234
+ padding: 4px 8px 8px 8px;
1235
+ line-height: 18px;
1236
+ }
1237
+ input[type=date] {
1238
+ width: auto;
1239
+ }
1240
+ textarea {
1241
+ float: left;
1242
+ resize:vertical;
1243
+ }
1244
+ select {
1245
+ float: left;
1246
+ padding: 8px;
1247
+ margin-right: 10px;
1248
+ margin-bottom: 8px;
1249
+ outline: 0;
1250
+ }
1251
+
1252
+ //
1253
+ // Form styles de filter
1254
+ //
1255
+ #interface {
1256
+ legend,
1257
+ label {
1258
+ color: #fff;
1259
+ padding-bottom: 4px;
1260
+ }
1261
+ input[type=text] {
1262
+ &.half {
1263
+ width: 48%;
1264
+ margin-left: 3.5%;
1265
+ margin-right: 0;
1266
+ &:first-of-type {
1267
+ margin-left: 0;
1268
+ }
1269
+ }
1270
+ }
1271
+ .filter-bar {
1272
+ .row {
1273
+ @include clearfix;
1274
+ padding: 0 0 4px 0;
1275
+ }
1276
+ input[type=reset].btn,
1277
+ input[type=submit].btn {
1278
+ margin: 8px 0 0 8px;
1279
+ }
1280
+ }
1281
+ }