caboose-cms 0.9.99 → 0.9.100
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/javascripts/caboose/admin_main.js +11 -0
- data/app/assets/javascripts/caboose/block_content_controller_dragdrop.js +1 -1
- data/app/assets/javascripts/caboose/block_modal_controllers/block_dd_modal_controller.js +4 -4
- data/app/assets/javascripts/caboose/block_modal_controllers/block_modal_controller.js +3 -3
- data/app/assets/javascripts/caboose/model/bound_checkbox.js +1 -1
- data/app/assets/javascripts/caboose/model/bound_textarea.js +1 -1
- data/app/assets/stylesheets/caboose/admin_crumbtrail.css.scss +49 -45
- data/app/assets/stylesheets/caboose/admin_edit_page_content_dragdrop.scss +4 -0
- data/app/assets/stylesheets/caboose/admin_main.css +127 -37
- data/app/assets/stylesheets/caboose/checkout.css.scss +2 -1
- data/app/assets/stylesheets/caboose/fonts.css +1 -16
- data/app/assets/stylesheets/caboose/modal_main.css +5 -12
- data/app/assets/stylesheets/caboose/model_binder.css +7 -5
- data/app/assets/stylesheets/caboose/product_options.css.scss +2 -1
- data/app/assets/stylesheets/caboose/station_sidebar.css +12 -6
- data/app/controllers/caboose/application_controller.rb +5 -1
- data/app/controllers/caboose/pages_controller.rb +15 -0
- data/app/controllers/caboose/posts_controller.rb +1 -0
- data/app/views/caboose/blocks/admin_edit_advanced.html.erb +30 -27
- data/app/views/caboose/pages/_admin_header.html.erb +4 -3
- data/app/views/caboose/pages/admin_edit_general.html.erb +8 -7
- data/app/views/caboose/posts/admin_edit_categories.html.erb +3 -0
- data/app/views/caboose/posts/admin_index.html.erb +6 -0
- data/app/views/layouts/caboose/admin.html.erb +25 -3
- data/lib/caboose/engine.rb +4 -4
- data/lib/caboose/version.rb +1 -1
- metadata +2 -4
- data/app/assets/fonts/avenir-medium.eot +0 -0
- data/app/assets/fonts/avenir-medium.ttf +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1679adede6e539a9e7e39e9c3c339a6eb536a25c
|
4
|
+
data.tar.gz: 75b38ec8f5e7ae4f8453b0c4e76f3f266c17c36a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d7de69fa6d419f72f8d2611efc426f530eee6dd6817fe74b5ef5e420f1661448689426ddce4f4864524fa75f3e9aeded294a2b893a30d3dc3cdc7e9fd95d8929
|
7
|
+
data.tar.gz: b22afc388a84540611f3c4cf5a9ddde26babb33d51ebb7231c329fa89ea95432128f89039926f09c05b5105d68b3a0d9de720031dd43d48dd4583ced6be29a49
|
@@ -19,3 +19,14 @@ function add_to_crumbtrail(href, text)
|
|
19
19
|
c.append(' > ');
|
20
20
|
c.append($('<a/>').attr('href', href).html(text));
|
21
21
|
}
|
22
|
+
|
23
|
+
$(window).load(function() {
|
24
|
+
$("#top_nav ul.quick > li").mouseenter(function() {
|
25
|
+
$(this).find("ul").show();
|
26
|
+
$(this).children('a, span').addClass('hovered');
|
27
|
+
});
|
28
|
+
$("#top_nav ul.quick > li").mouseleave(function() {
|
29
|
+
$(this).find("ul").hide();
|
30
|
+
$(this).children('a, span').removeClass('hovered');
|
31
|
+
});
|
32
|
+
});
|
@@ -386,7 +386,7 @@ BlockContentController.prototype = {
|
|
386
386
|
add_handles_to_block: function(block_id) {
|
387
387
|
var that = this;
|
388
388
|
var el = $('#block_' + block_id);
|
389
|
-
if (el.length > 0) {
|
389
|
+
if (el.length > 0 && block_id.indexOf('constrain') < 0 && block_id.indexOf('full_width') < 0 && block_id.indexOf('_value_') < 0) {
|
390
390
|
if ( el.attr('id').indexOf('_value') >= 0 || el.children('.drag_handle').length > 0 )
|
391
391
|
return true;
|
392
392
|
if ( el.parents('.content_body').length > 0 ) {
|
@@ -163,8 +163,8 @@ var BlockModalController = ModalController.extend({
|
|
163
163
|
|
164
164
|
var b = that.block;
|
165
165
|
$('#modal_content').empty()
|
166
|
-
|
167
|
-
|
166
|
+
// .append($('<p/>').append($('<div/>').attr('id', 'block_' + b.id + '_block_type_id' )))
|
167
|
+
// .append($('<p/>').append($('<div/>').attr('id', 'block_' + b.id + '_parent_id' )))
|
168
168
|
.append($('<p/>').append($('<div/>').attr('id', 'block_' + b.id + '_constrain' )))
|
169
169
|
.append($('<p/>').append($('<div/>').attr('id', 'block_' + b.id + '_full_width' )))
|
170
170
|
$('#modal_controls').empty()
|
@@ -185,8 +185,8 @@ var BlockModalController = ModalController.extend({
|
|
185
185
|
update_url: that.block_url(b),
|
186
186
|
authenticity_token: that.authenticity_token,
|
187
187
|
attributes: [
|
188
|
-
{ name: 'block_type_id' , nice_name: 'Block type' , type: 'select' , value: b.block_type.id , text: b.block_type.name , width: 400, fixed_placeholder: true, after_update: function() { that.parent_controller.render_blocks(); that.block.block_type.id = this.value; }, after_cancel: function() { that.parent_controller.render_blocks(); }, on_load: function() { that.modal.autosize(); }, options_url: '/admin/block-types/options' },
|
189
|
-
{ name: 'parent_id' , nice_name: 'Parent ID' , type: 'select' , value: b.parent_id , text: b.parent ? b.parent.title : '' , width: 400, fixed_placeholder: true, after_update: function() { that.parent_controller.render_blocks(); that.block.parent_id = this.value; }, after_cancel: function() { that.parent_controller.render_blocks(); }, on_load: function() { that.modal.autosize(); }, options_url: '/admin/' + (that.page_id ? 'pages/' + that.page_id : 'posts/' + that.post_id) + '/
|
188
|
+
// { name: 'block_type_id' , nice_name: 'Block type' , type: 'select' , value: b.block_type.id , text: b.block_type.name , width: 400, fixed_placeholder: true, after_update: function() { that.parent_controller.render_blocks(); that.block.block_type.id = this.value; }, after_cancel: function() { that.parent_controller.render_blocks(); }, on_load: function() { that.modal.autosize(); }, options_url: '/admin/block-types/options' },
|
189
|
+
// { name: 'parent_id' , nice_name: 'Parent ID' , type: 'select' , value: b.parent_id , text: b.parent ? b.parent.title : '' , width: 400, fixed_placeholder: true, after_update: function() { that.parent_controller.render_blocks(); that.block.parent_id = this.value; }, after_cancel: function() { that.parent_controller.render_blocks(); }, on_load: function() { that.modal.autosize(); }, options_url: '/admin/' + (that.page_id ? 'pages/' + that.page_id : 'posts/' + that.post_id) + '/parentblock-options?block_id=' + b.id },
|
190
190
|
{ name: 'constrain' , nice_name: 'Constrain' , type: 'checkbox' , value: b.constrain ? 1 : 0 , width: 400, fixed_placeholder: true, after_update: function() { that.parent_controller.render_blocks(); that.block.constrain = this.value; }, after_cancel: function() { that.parent_controller.render_blocks(); }, on_load: function() { that.modal.autosize(); }},
|
191
191
|
{ name: 'full_width' , nice_name: 'Full Width' , type: 'checkbox' , value: b.full_width ? 1 : 0 , width: 400, fixed_placeholder: true, after_update: function() { that.parent_controller.render_blocks(); that.block.full_width = this.value; }, after_cancel: function() { that.parent_controller.render_blocks(); }, on_load: function() { that.modal.autosize(); }}
|
192
192
|
]
|
@@ -163,7 +163,7 @@ var BlockModalController = ModalController.extend({
|
|
163
163
|
|
164
164
|
var b = that.block;
|
165
165
|
$('#modal_content').empty()
|
166
|
-
|
166
|
+
// .append($('<p/>').append($('<div/>').attr('id', 'block_' + b.id + '_block_type_id' )))
|
167
167
|
.append($('<p/>').append($('<div/>').attr('id', 'block_' + b.id + '_parent_id' )))
|
168
168
|
.append($('<p/>').append($('<div/>').attr('id', 'block_' + b.id + '_constrain' )))
|
169
169
|
.append($('<p/>').append($('<div/>').attr('id', 'block_' + b.id + '_full_width' )))
|
@@ -185,8 +185,8 @@ var BlockModalController = ModalController.extend({
|
|
185
185
|
update_url: that.block_url(b),
|
186
186
|
authenticity_token: that.authenticity_token,
|
187
187
|
attributes: [
|
188
|
-
|
189
|
-
{ name: 'parent_id' , nice_name: 'Parent ID' , type: 'select' , value: b.parent_id , text: b.parent ? b.parent.title : '' , width: 400, fixed_placeholder: true, after_update: function() { that.parent_controller.render_blocks(); that.block.parent_id = this.value; }, after_cancel: function() { that.parent_controller.render_blocks(); }, on_load: function() { that.modal.autosize(); }, options_url: '/admin/' + (that.page_id ? 'pages/' + that.page_id : 'posts/' + that.post_id) + '/
|
188
|
+
// { name: 'block_type_id' , nice_name: 'Block type' , type: 'select' , value: b.block_type.id , text: b.block_type.name , width: 400, fixed_placeholder: true, after_update: function() { that.parent_controller.render_blocks(); that.block.block_type.id = this.value; }, after_cancel: function() { that.parent_controller.render_blocks(); }, on_load: function() { that.modal.autosize(); }, options_url: '/admin/block-types/options' },
|
189
|
+
{ name: 'parent_id' , nice_name: 'Parent ID' , type: 'select' , value: b.parent_id , text: b.parent ? b.parent.title : '' , width: 400, fixed_placeholder: true, after_update: function() { that.parent_controller.render_blocks(); that.block.parent_id = this.value; }, after_cancel: function() { that.parent_controller.render_blocks(); }, on_load: function() { that.modal.autosize(); }, options_url: '/admin/' + (that.page_id ? 'pages/' + that.page_id : 'posts/' + that.post_id) + '/parentblock-options?block_id=' + b.id },
|
190
190
|
{ name: 'constrain' , nice_name: 'Constrain' , type: 'checkbox' , value: b.constrain ? 1 : 0 , width: 400, fixed_placeholder: true, after_update: function() { that.parent_controller.render_blocks(); that.block.constrain = this.value; }, after_cancel: function() { that.parent_controller.render_blocks(); }, on_load: function() { that.modal.autosize(); }},
|
191
191
|
{ name: 'full_width' , nice_name: 'Full Width' , type: 'checkbox' , value: b.full_width ? 1 : 0 , width: 400, fixed_placeholder: true, after_update: function() { that.parent_controller.render_blocks(); that.block.full_width = this.value; }, after_cancel: function() { that.parent_controller.render_blocks(); }, on_load: function() { that.modal.autosize(); }}
|
192
192
|
]
|
@@ -36,7 +36,7 @@ BoundCheckbox = BoundControl.extend({
|
|
36
36
|
var cb = $('<input/>')
|
37
37
|
.attr('id', this.el)
|
38
38
|
.attr('type', 'checkbox')
|
39
|
-
.attr('checked', this.attribute.value == 1)
|
39
|
+
.attr('checked', (this.attribute.value == 1 || this.attribute.value == true || this.attribute.value == 'true' || this.attribute.value == '1'))
|
40
40
|
.on('change', function() {
|
41
41
|
this2.save();
|
42
42
|
});
|
@@ -25,7 +25,7 @@ BoundTextarea = BoundControl.extend({
|
|
25
25
|
$('#'+this.el+'_container').append($('<div/>').attr('id', this.el + '_placeholder').addClass('mb_placeholder').append($('<span/>').html(this.attribute.nice_name + ': ')));
|
26
26
|
if (this.attribute.width) $('#'+this.el).css('width' , this.attribute.width);
|
27
27
|
if (this.attribute.height) $('#'+this.el).css('height' , this.attribute.height);
|
28
|
-
var h = $('#'+this.el+'_placeholder').outerHeight();
|
28
|
+
var h = $('#'+this.el+'_placeholder').outerHeight() + 6;
|
29
29
|
$('#'+this.el).attr('placeholder', 'empty').css('padding-top', '+=' + h).css('height', '-=' + h);
|
30
30
|
|
31
31
|
var this2 = this;
|
@@ -8,70 +8,74 @@ $current-text-color: #ccc;
|
|
8
8
|
|
9
9
|
ul#crumbtrail {
|
10
10
|
position: absolute;
|
11
|
-
top: -
|
12
|
-
left:
|
11
|
+
top: -50px;
|
12
|
+
left: 50px;
|
13
13
|
color: #fff;
|
14
|
-
|
15
|
-
margin: 0 0 20px 0;
|
14
|
+
margin: 0;
|
16
15
|
padding: 0;
|
17
16
|
list-style: none;
|
18
17
|
text-align: center;
|
19
|
-
|
18
|
+
height: 50px;
|
20
19
|
li {
|
21
|
-
margin: 0
|
20
|
+
margin: 0;
|
22
21
|
padding: 0;
|
23
22
|
list-style: none;
|
24
23
|
display: inline;
|
25
|
-
|
26
24
|
a {
|
27
25
|
white-space: nowrap;
|
28
26
|
display: inline-block;
|
29
27
|
margin: 0;
|
30
|
-
position: relative;
|
31
|
-
|
28
|
+
position: relative;
|
29
|
+
padding: 0 5px;
|
30
|
+
height: 50px;
|
31
|
+
line-height: 50px;
|
32
32
|
background: $off-bg-color;
|
33
33
|
color: $off-text-color;
|
34
34
|
z-index: 20;
|
35
|
-
text-decoration: none !important;
|
36
|
-
span {
|
35
|
+
text-decoration: none !important;
|
36
|
+
span {
|
37
|
+
display: block;
|
38
|
+
padding: 0;
|
39
|
+
font-size: 12px;
|
40
|
+
}
|
37
41
|
}
|
38
42
|
a:hover { background: $hover-bg-color; color: $hover-text-color; }
|
39
43
|
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
}
|
55
|
-
a:hover:before {
|
56
|
-
|
57
|
-
|
58
|
-
}
|
44
|
+
// a:before {
|
45
|
+
// content: ' ';
|
46
|
+
// height: 0;
|
47
|
+
// position: absolute;
|
48
|
+
// top: 0;
|
49
|
+
// left: -6px;
|
50
|
+
// width: 0;
|
51
|
+
// border: 16px solid transparent;
|
52
|
+
// border-width: 16px 6px;
|
53
|
+
// border-top-color: $off-bg-color;
|
54
|
+
// border-right-color: transparent;
|
55
|
+
// border-bottom-color: $off-bg-color;
|
56
|
+
// border-left-color: transparent;
|
57
|
+
// z-index: 19;
|
58
|
+
// }
|
59
|
+
// a:hover:before {
|
60
|
+
// border-top-color: $hover-bg-color;
|
61
|
+
// border-bottom-color: $hover-bg-color;
|
62
|
+
// }
|
59
63
|
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
}
|
72
|
-
a:hover:after {
|
73
|
-
|
74
|
-
}
|
64
|
+
// a:after {
|
65
|
+
// content: ' ';
|
66
|
+
// height: 0;
|
67
|
+
// position: absolute;
|
68
|
+
// top: 0;
|
69
|
+
// right: -12px;
|
70
|
+
// width: 0;
|
71
|
+
// border: 16px solid transparent;
|
72
|
+
// border-width: 16px 6px;
|
73
|
+
// border-left-color: $off-bg-color;
|
74
|
+
// z-index: 19;
|
75
|
+
// }
|
76
|
+
// a:hover:after {
|
77
|
+
// border-left-color: $hover-bg-color;
|
78
|
+
// }
|
75
79
|
|
76
80
|
&.current {
|
77
81
|
a { background: $current-bg-color; color: $current-text-color; }
|
@@ -4,7 +4,8 @@
|
|
4
4
|
body {
|
5
5
|
margin: 0;
|
6
6
|
padding: 0;
|
7
|
-
font-family: "
|
7
|
+
font-family: "Roboto", serif;
|
8
|
+
font-weight: 400;
|
8
9
|
}
|
9
10
|
|
10
11
|
#cboxOverlay {
|
@@ -19,10 +20,10 @@ body {
|
|
19
20
|
}
|
20
21
|
|
21
22
|
#top_nav {
|
22
|
-
background: #
|
23
|
-
border-bottom: #333 1px solid;
|
23
|
+
background: #2d2d2d;
|
24
24
|
height: 50px;
|
25
25
|
position: relative;
|
26
|
+
text-align: center;
|
26
27
|
}
|
27
28
|
|
28
29
|
#top_nav .caboose_logo {
|
@@ -31,7 +32,12 @@ body {
|
|
31
32
|
left: 0;
|
32
33
|
width: 50px;
|
33
34
|
height: 50px;
|
34
|
-
|
35
|
+
display: block;
|
36
|
+
text-decoration: none;
|
37
|
+
background: url(/assets/caboose/caboose_logo.png);
|
38
|
+
background-size: 25px;
|
39
|
+
background-position: center center;
|
40
|
+
background-repeat: no-repeat;
|
35
41
|
}
|
36
42
|
|
37
43
|
#top_nav ul {
|
@@ -39,6 +45,18 @@ body {
|
|
39
45
|
padding: 0 8px 0 0;
|
40
46
|
list-style: none;
|
41
47
|
text-align: right;
|
48
|
+
position: absolute;
|
49
|
+
right: 0;
|
50
|
+
top: 0;
|
51
|
+
height: 50px;
|
52
|
+
}
|
53
|
+
|
54
|
+
#top_nav ul.quick {
|
55
|
+
margin: 0;
|
56
|
+
list-style-type: none;
|
57
|
+
text-align: center;
|
58
|
+
position: static;
|
59
|
+
padding: 0;
|
42
60
|
}
|
43
61
|
|
44
62
|
#top_nav ul li {
|
@@ -46,19 +64,76 @@ body {
|
|
46
64
|
padding: 0;
|
47
65
|
list-style: none;
|
48
66
|
display: inline-block;
|
67
|
+
position: relative;
|
49
68
|
}
|
50
69
|
|
51
|
-
#top_nav ul li
|
70
|
+
#top_nav ul li:hover, #top_nav ul li.hovered {
|
71
|
+
background: #000;
|
72
|
+
}
|
73
|
+
|
74
|
+
#top_nav ul li a, #top_nav ul li span {
|
52
75
|
display: block;
|
53
|
-
margin:
|
54
|
-
padding: 0
|
55
|
-
|
76
|
+
margin: 0;
|
77
|
+
padding: 0 20px;
|
78
|
+
color: #fff;
|
56
79
|
text-decoration: none;
|
80
|
+
line-height: 51px;
|
81
|
+
border: 0;
|
82
|
+
font-family: "Roboto";
|
83
|
+
font-weight: 400;
|
84
|
+
background-color: transparent;
|
85
|
+
font-size: 14px;
|
86
|
+
cursor: pointer;
|
87
|
+
}
|
88
|
+
|
89
|
+
#top_nav ul li a > span {
|
90
|
+
padding: 0;
|
91
|
+
}
|
92
|
+
|
93
|
+
#colorbox:focus {
|
94
|
+
outline-width: 0 !important;
|
95
|
+
}
|
96
|
+
|
97
|
+
#top_nav ul li a:hover {
|
98
|
+
background: #000;
|
99
|
+
}
|
100
|
+
|
101
|
+
#top_nav ul li.hovered > a {
|
102
|
+
background: #000;
|
57
103
|
}
|
58
104
|
|
59
|
-
#top_nav ul li
|
60
|
-
|
61
|
-
|
105
|
+
#top_nav ul li ul {
|
106
|
+
position: absolute;
|
107
|
+
top: 50px;
|
108
|
+
left: 0;
|
109
|
+
width: 200px;
|
110
|
+
z-index: 999;
|
111
|
+
background: #2d2d2d;
|
112
|
+
height: auto;
|
113
|
+
text-align: left;
|
114
|
+
padding: 0;
|
115
|
+
display: none;
|
116
|
+
}
|
117
|
+
|
118
|
+
#top_nav ul li ul li {
|
119
|
+
display: block;
|
120
|
+
}
|
121
|
+
|
122
|
+
#top_nav ul li ul li a {
|
123
|
+
display: block;
|
124
|
+
line-height: 36px;
|
125
|
+
padding: 0 15px;
|
126
|
+
font-size: 14px;
|
127
|
+
}
|
128
|
+
|
129
|
+
@media all and (max-width: 900px) {
|
130
|
+
#top_nav ul li#nav_item_logout, li#nav_item_my-account {
|
131
|
+
display: none;
|
132
|
+
}
|
133
|
+
#top_nav ul li a, #top_nav ul li span {
|
134
|
+
padding: 0 10px;
|
135
|
+
}
|
136
|
+
}
|
62
137
|
|
63
138
|
#content_wrapper {
|
64
139
|
position: relative;
|
@@ -68,14 +143,20 @@ body {
|
|
68
143
|
padding: 0 0 0 30px;
|
69
144
|
}
|
70
145
|
|
146
|
+
h1,h2,h3,h4,h5,h6 {
|
147
|
+
font-weight: 400;
|
148
|
+
}
|
149
|
+
|
71
150
|
#content h1 {
|
72
151
|
margin: 0 0 20px -30px;
|
73
|
-
padding:
|
74
|
-
height:
|
75
|
-
background: #
|
152
|
+
padding: 0 2% 0 50px;
|
153
|
+
height: 53px;
|
154
|
+
background: #dcdcdc;
|
76
155
|
border-bottom: #aaa 1px solid;
|
77
|
-
font-size:
|
156
|
+
font-size: 25px;
|
157
|
+
line-height: 56px;
|
78
158
|
overflow: hidden;
|
159
|
+
color: #2d2d2d;
|
79
160
|
}
|
80
161
|
|
81
162
|
#content h1.model_attribute_h1 {
|
@@ -141,20 +222,23 @@ div.model_attribute_text {
|
|
141
222
|
}
|
142
223
|
|
143
224
|
input, select, textarea {
|
144
|
-
font-family:
|
225
|
+
font-family: 'Roboto', arial;
|
226
|
+
font-weight: 400;
|
145
227
|
border: 1px solid #ccc;
|
146
|
-
-moz-border-radius: 2px;
|
147
|
-
-webkit-border-radius: 2px;
|
148
|
-
border-radius: 2px;
|
149
228
|
padding: 6px 4px 4px 8px;
|
150
229
|
height: 36px;
|
151
|
-
font-size:
|
230
|
+
font-size: 15px;
|
152
231
|
z-index: 20;
|
153
232
|
}
|
154
233
|
|
234
|
+
input:focus, textarea:focus {
|
235
|
+
outline-width: 0;
|
236
|
+
border-color: #28acc1;
|
237
|
+
}
|
238
|
+
|
155
239
|
input.dirty,
|
156
240
|
textarea.dirty {
|
157
|
-
background: #
|
241
|
+
background: #fffac5;
|
158
242
|
}
|
159
243
|
|
160
244
|
select {
|
@@ -274,11 +358,13 @@ select.fake option {
|
|
274
358
|
}
|
275
359
|
|
276
360
|
#content table.data th {
|
277
|
-
background: #
|
278
|
-
border: #
|
361
|
+
background: #2d2d2d;
|
362
|
+
border: #2d2d2d 1px solid;
|
279
363
|
color: #fff;
|
280
364
|
margin: 0;
|
281
365
|
padding: 0;
|
366
|
+
font-size: 14px;
|
367
|
+
font-weight: 400;
|
282
368
|
}
|
283
369
|
|
284
370
|
#content table.data th a {
|
@@ -298,9 +384,12 @@ select.fake option {
|
|
298
384
|
background: #fff;
|
299
385
|
border: #bdbdbd 1px solid;
|
300
386
|
margin: 0;
|
301
|
-
padding:
|
387
|
+
padding: 7px 10px 6px 10px;
|
302
388
|
font-size: 15px;
|
303
389
|
}
|
390
|
+
#content table.data td table.checkbox_multiple td {
|
391
|
+
padding: 2px 8px 0 8px;
|
392
|
+
}
|
304
393
|
|
305
394
|
#content table.data td.edit_button {
|
306
395
|
|
@@ -357,17 +446,15 @@ Page Bar Generator
|
|
357
446
|
|
358
447
|
.page_links a {
|
359
448
|
display: inline-block;
|
360
|
-
margin: 0
|
361
|
-
padding:
|
362
|
-
|
363
|
-
border: #333 1px solid;
|
364
|
-
background: #333;
|
449
|
+
margin: 0 3px;
|
450
|
+
padding: 8px 10px;
|
451
|
+
background: #2d2d2d;
|
365
452
|
color: #fff;
|
366
453
|
text-decoration: none;
|
367
454
|
}
|
368
455
|
|
369
456
|
.page_links a:hover {
|
370
|
-
background: #
|
457
|
+
background: #000;
|
371
458
|
color: #fff;
|
372
459
|
}
|
373
460
|
|
@@ -377,11 +464,10 @@ Page Bar Generator
|
|
377
464
|
|
378
465
|
.page_links span.current_page {
|
379
466
|
display: inline-block;
|
380
|
-
padding:
|
381
|
-
|
382
|
-
border: #333 1px solid;
|
467
|
+
padding: 8px 10px;
|
468
|
+
margin: 0 3px;
|
383
469
|
background: #ccc;
|
384
|
-
color: #
|
470
|
+
color: #2d2d2d;
|
385
471
|
text-decoration: none;
|
386
472
|
}
|
387
473
|
|
@@ -411,7 +497,7 @@ Page Bar Generator
|
|
411
497
|
#htabs a {
|
412
498
|
display: block;
|
413
499
|
margin: 0;
|
414
|
-
padding:
|
500
|
+
padding: 14px 12px 12px 12px;
|
415
501
|
text-decoration: none;
|
416
502
|
background: #efefef;
|
417
503
|
border-bottom: #ccc 1px solid;
|
@@ -499,7 +585,9 @@ Page Bar Generator
|
|
499
585
|
background: #141516;
|
500
586
|
color: #f7f7f7;
|
501
587
|
text-align: center;
|
502
|
-
|
588
|
+
font-family: "Roboto", Arial;
|
589
|
+
font-weight: 400;
|
590
|
+
padding: 1px 15px 0 15px;
|
503
591
|
height: auto;
|
504
592
|
display: inline-block;
|
505
593
|
margin: 0 auto;
|
@@ -520,7 +608,9 @@ Page Bar Generator
|
|
520
608
|
border: 1px solid #fff;
|
521
609
|
color: #141516;
|
522
610
|
text-align: center;
|
523
|
-
|
611
|
+
font-family: "Roboto", Arial;
|
612
|
+
font-weight: 400;
|
613
|
+
padding: 1px 15px 0 15px;
|
524
614
|
height: auto;
|
525
615
|
display: inline-block;
|
526
616
|
margin: 0 auto;
|
@@ -1,16 +1 @@
|
|
1
|
-
|
2
|
-
@font-face {
|
3
|
-
font-family: 'BigNoodleTitling';
|
4
|
-
src: local('Big Noodle Titling'), url('/assets/caboose/fonts/big_noodle_titling.ttf') format('truetype');
|
5
|
-
}
|
6
|
-
|
7
|
-
@font-face {
|
8
|
-
font-family: 'Avenir';
|
9
|
-
src: url('//d1ygukj37mahb2.cloudfront.net/assets/avenir-medium.eot');
|
10
|
-
src: url('//d1ygukj37mahb2.cloudfront.net/assets/avenir-medium.eot') format('embedded-opentype'),
|
11
|
-
url('//d1ygukj37mahb2.cloudfront.net/assets/avenir-medium.woff') format('woff'),
|
12
|
-
url('//d1ygukj37mahb2.cloudfront.net/assets/avenir-medium.ttf') format('truetype'),
|
13
|
-
url('//d1ygukj37mahb2.cloudfront.net/assets/avenir-medium.svg') format('svg');
|
14
|
-
font-weight: normal;
|
15
|
-
font-style: normal;
|
16
|
-
}
|
1
|
+
@import url('https://fonts.googleapis.com/css?family=Roboto:400,400i,700,700i');
|
@@ -4,16 +4,7 @@
|
|
4
4
|
|
5
5
|
html { width: 100%; }
|
6
6
|
|
7
|
-
@
|
8
|
-
font-family: 'Avenir';
|
9
|
-
src: url('//d1ygukj37mahb2.cloudfront.net/assets/avenir-medium.eot');
|
10
|
-
src: url('//d1ygukj37mahb2.cloudfront.net/assets/avenir-medium.eot') format('embedded-opentype'),
|
11
|
-
url('//d1ygukj37mahb2.cloudfront.net/assets/avenir-medium.woff') format('woff'),
|
12
|
-
url('//d1ygukj37mahb2.cloudfront.net/assets/avenir-medium.ttf') format('truetype'),
|
13
|
-
url('//d1ygukj37mahb2.cloudfront.net/assets/avenir-medium.svg') format('svg');
|
14
|
-
font-weight: normal;
|
15
|
-
font-style: normal;
|
16
|
-
}
|
7
|
+
@import url('https://fonts.googleapis.com/css?family=Roboto:400,400i,700,700i');
|
17
8
|
|
18
9
|
body {
|
19
10
|
background: #111111;
|
@@ -21,7 +12,8 @@ body {
|
|
21
12
|
padding: 0;
|
22
13
|
color: #fff;
|
23
14
|
width: 100%;
|
24
|
-
font-family: "
|
15
|
+
font-family: "Roboto", Arial;
|
16
|
+
font-weight: 400;
|
25
17
|
}
|
26
18
|
|
27
19
|
#modal_wrapper {
|
@@ -93,7 +85,8 @@ div.model_attribute_text {
|
|
93
85
|
}
|
94
86
|
|
95
87
|
input, select, textarea {
|
96
|
-
font-family: "
|
88
|
+
font-family: "Roboto", Arial;
|
89
|
+
font-weight: 400;
|
97
90
|
border: 2px solid #ccc;
|
98
91
|
background: #000;
|
99
92
|
color: #fff;
|
@@ -21,12 +21,12 @@
|
|
21
21
|
.mb_container select,
|
22
22
|
.mb_container .mb_fake option,
|
23
23
|
.mb_container option {
|
24
|
-
font-size:
|
24
|
+
font-size: 15px !important;
|
25
25
|
}
|
26
26
|
|
27
27
|
.mb_container input.mb_dirty,
|
28
28
|
.mb_container textarea.mb_dirty {
|
29
|
-
background: #
|
29
|
+
background: #fffac5 !important;
|
30
30
|
color: #000 !important;
|
31
31
|
}
|
32
32
|
|
@@ -90,8 +90,8 @@ div.mb_container div.mb_placeholder {
|
|
90
90
|
/*height: 34px;*/
|
91
91
|
|
92
92
|
position: absolute;
|
93
|
-
top:
|
94
|
-
left:
|
93
|
+
top: 10px;
|
94
|
+
left: 9px;
|
95
95
|
z-index: 19;
|
96
96
|
}
|
97
97
|
|
@@ -103,7 +103,9 @@ div.mb_container form.mb_file_form div.mb_placeholder {
|
|
103
103
|
|
104
104
|
.mb_container .mb_placeholder span {
|
105
105
|
display: block;
|
106
|
-
font-
|
106
|
+
font-family: "Roboto", Arial;
|
107
|
+
font-weight: 400;
|
108
|
+
font-size: 15px;
|
107
109
|
color: #757575;
|
108
110
|
}
|
109
111
|
|
@@ -19,7 +19,8 @@
|
|
19
19
|
height: 100%;
|
20
20
|
background: #e1e1e1;
|
21
21
|
border: #aaa 1px solid;
|
22
|
-
font-family:
|
22
|
+
font-family: 'Roboto', Arial;
|
23
|
+
font-weight: 400;
|
23
24
|
}
|
24
25
|
|
25
26
|
#caboose_station .caboose_logo {
|
@@ -86,7 +87,8 @@
|
|
86
87
|
white-space: nowrap;
|
87
88
|
overflow: hidden;
|
88
89
|
*/
|
89
|
-
font-family:
|
90
|
+
font-family: 'Roboto', Arial;
|
91
|
+
font-weight: 400;
|
90
92
|
font-size: 16px;
|
91
93
|
color: #505050;
|
92
94
|
background: #aaa;
|
@@ -154,7 +156,8 @@
|
|
154
156
|
white-space: nowrap;
|
155
157
|
overflow: hidden;
|
156
158
|
*/
|
157
|
-
font-family:
|
159
|
+
font-family: 'Roboto', Arial;
|
160
|
+
font-weight: 400;
|
158
161
|
font-size: 16px;
|
159
162
|
}
|
160
163
|
|
@@ -165,7 +168,8 @@
|
|
165
168
|
height: 34px;
|
166
169
|
background: #e1e1e1;
|
167
170
|
vertical-align: middle;
|
168
|
-
font-family:
|
171
|
+
font-family: 'Roboto', Arial;
|
172
|
+
font-weight: 400;
|
169
173
|
font-size: 16px;
|
170
174
|
}
|
171
175
|
#caboose_station ul.admin li a.top_level:hover span { color: #941403; }
|
@@ -204,7 +208,8 @@
|
|
204
208
|
background-position: 0 0;
|
205
209
|
width: 208px;
|
206
210
|
height: 50px;
|
207
|
-
font-family:
|
211
|
+
font-family: 'Roboto', Arial;
|
212
|
+
font-weight: 400;
|
208
213
|
text-decoration: none;
|
209
214
|
}
|
210
215
|
|
@@ -214,7 +219,8 @@
|
|
214
219
|
padding: 16px 0 0 0;
|
215
220
|
height: 34px;
|
216
221
|
|
217
|
-
font-family:
|
222
|
+
font-family: 'Roboto', Arial;
|
223
|
+
font-weight: 400;
|
218
224
|
font-size: 16px;
|
219
225
|
}
|
220
226
|
#caboose_station_wrapper a.close span { background: #e1e1e1; color: #505050; }
|
@@ -6,7 +6,7 @@ module Caboose
|
|
6
6
|
helper_method :logged_in?
|
7
7
|
helper :all
|
8
8
|
|
9
|
-
@find_page = true
|
9
|
+
@find_page = true
|
10
10
|
|
11
11
|
def before_before_action
|
12
12
|
|
@@ -51,9 +51,13 @@ module Caboose
|
|
51
51
|
@page = Page.page_with_uri(request.host_with_port, request.fullpath)
|
52
52
|
@crumb_trail = Caboose::Page.crumb_trail(@page)
|
53
53
|
#end
|
54
|
+
|
55
|
+
|
54
56
|
|
55
57
|
# Sets an instance variable of the logged in user
|
56
58
|
@logged_in_user = logged_in_user
|
59
|
+
|
60
|
+
@nav = Caboose.plugin_hook('admin_nav', [], @logged_in_user, @page, @site)
|
57
61
|
|
58
62
|
# Initialize the card
|
59
63
|
init_cart if @site && @site.use_store && !@domain.under_construction
|
@@ -648,6 +648,12 @@ module Caboose
|
|
648
648
|
Block.where("parent_id is null and page_id = ?", params[:id]).reorder(:sort_order).all.each do |b|
|
649
649
|
admin_block_options_helper(options, b, "")
|
650
650
|
end
|
651
|
+
when 'parentblock'
|
652
|
+
options = []
|
653
|
+
this_block = Block.find(params[:block_id])
|
654
|
+
Block.where("parent_id is null and page_id = ?", params[:id]).reorder(:sort_order).all.each do |b|
|
655
|
+
admin_parent_block_options_helper(options, b, "", this_block)
|
656
|
+
end
|
651
657
|
end
|
652
658
|
render :json => options
|
653
659
|
end
|
@@ -665,6 +671,15 @@ module Caboose
|
|
665
671
|
admin_block_options_helper(options, b2, "#{prefix} - ")
|
666
672
|
end
|
667
673
|
end
|
674
|
+
|
675
|
+
def admin_parent_block_options_helper(options, b, prefix, this_block)
|
676
|
+
if b.block_type.allow_child_blocks && (b.block_type.default_child_block_type_id.blank? || b.block_type.default_child_block_type_id == this_block.block_type_id)
|
677
|
+
options << { 'value' => b.id, 'text' => "#{prefix}#{b.title}" }
|
678
|
+
end
|
679
|
+
b.children.each do |b2|
|
680
|
+
admin_parent_block_options_helper(options, b2, "#{prefix} - ", this_block)
|
681
|
+
end
|
682
|
+
end
|
668
683
|
|
669
684
|
end
|
670
685
|
end
|
@@ -18,8 +18,8 @@ end
|
|
18
18
|
<!--<h2 style='margin-top: 0; padding-top: 0;'>Edit <%= @block.name ? @block.name : @block.block_type.description %></h2>-->
|
19
19
|
<h2 style='margin-top: 0; padding-top: 0;'><%= raw crumbs.reverse.join(' > ') %></h2>
|
20
20
|
<div id='advanced'>
|
21
|
-
|
22
|
-
|
21
|
+
<!-- <p><div id='block_<%= @block.id %>_block_type_id' ></div></p> -->
|
22
|
+
<!-- <p><div id='block_<%= @block.id %>_parent_id' ></div></p> -->
|
23
23
|
<p><div id='block_<%= @block.id %>_constrain' ></div></p>
|
24
24
|
<p><div id='block_<%= @block.id %>_full_width' ></div></p>
|
25
25
|
</div>
|
@@ -52,31 +52,34 @@ $(document).ready(function() {
|
|
52
52
|
update_url: '/admin/pages/<%= b.page_id %>/blocks/<%= b.id %>',
|
53
53
|
<% end %>
|
54
54
|
authenticity_token: '<%= form_authenticity_token %>',
|
55
|
-
attributes: [
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
}
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
},
|
55
|
+
attributes: [
|
56
|
+
// {
|
57
|
+
// name: 'block_type_id',
|
58
|
+
// nice_name: 'Block type',
|
59
|
+
// type: 'select',
|
60
|
+
// value: <%= raw Caboose.json(b.block_type_id) %>,
|
61
|
+
// text: <%= raw Caboose.json(b.block_type.name) %>,
|
62
|
+
// width: 400,
|
63
|
+
// fixed_placeholder: true,
|
64
|
+
// options_url: '/admin/block-types/options',
|
65
|
+
// after_update: function() { parent.controller.render_blocks(); },
|
66
|
+
// after_cancel: function() { parent.controller.render_blocks(); },
|
67
|
+
// on_load: function() { that.modal.autosize(); }
|
68
|
+
// },
|
69
|
+
// {
|
70
|
+
// name: 'parent_id',
|
71
|
+
// nice_name: 'Parent ID',
|
72
|
+
// type: 'select',
|
73
|
+
// value: <%= raw Caboose.json(b.parent_id) %>,
|
74
|
+
// text: <%= raw Caboose.json(b.parent ? b.parent.title : '') %>,
|
75
|
+
// width: 400,
|
76
|
+
// fixed_placeholder: true,
|
77
|
+
// options_url: '/admin/pages/<%= b.page_id %>/parentblock-options?block_id=<%= b.id %>',
|
78
|
+
// after_update: function() { parent.controller.render_blocks(); },
|
79
|
+
// after_cancel: function() { parent.controller.render_blocks(); },
|
80
|
+
// on_load: function() { that.modal.autosize(); }
|
81
|
+
// },
|
82
|
+
{
|
80
83
|
name: 'constrain',
|
81
84
|
nice_name: 'Constrain',
|
82
85
|
type: 'checkbox',
|
@@ -21,13 +21,14 @@
|
|
21
21
|
<style type='text/css'>
|
22
22
|
|
23
23
|
p.uri {
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
24
|
+
background: #efefef;
|
25
|
+
border: #999 1px solid;
|
26
|
+
padding: 10px;
|
27
|
+
position: absolute;
|
28
|
+
top: 8px;
|
29
|
+
left: 251px;
|
30
|
+
height: 17px;
|
31
|
+
margin: 0;
|
31
32
|
}
|
32
33
|
|
33
34
|
div.field_with_explanation {
|
@@ -1,6 +1,12 @@
|
|
1
1
|
<h1>Posts</h1>
|
2
2
|
<div id='posts'></div>
|
3
3
|
|
4
|
+
<% content_for :caboose_css do %>
|
5
|
+
<style>
|
6
|
+
table.data {margin-right: 30px;}
|
7
|
+
</style>
|
8
|
+
<% end %>
|
9
|
+
|
4
10
|
<% content_for :caboose_js do %>
|
5
11
|
<%= javascript_include_tag 'caboose/model/all' %>
|
6
12
|
<script type='text/javascript'>
|
@@ -50,10 +50,32 @@ end
|
|
50
50
|
<body>
|
51
51
|
<div id='header'>
|
52
52
|
<div id='top_nav'>
|
53
|
-
<
|
53
|
+
<a href="/admin" class='caboose_logo'></a>
|
54
|
+
<ul class="quick">
|
55
|
+
<% i = 0 %>
|
56
|
+
<% @nav.each do |item| %>
|
57
|
+
<% id = item['id'].nil? ? i.to_s : item['id'] %>
|
58
|
+
<% href = item['href'].nil? ? '#' : item['href'] %>
|
59
|
+
<% modal = item['modal'].nil? ? false : item['modal'] %>
|
60
|
+
<li id='nav_item_<%= id %>'>
|
61
|
+
<% if href != "#" %><a href='<%= href %>'<%= raw (modal ? " rel='modal'" : "") %>><% end %>
|
62
|
+
<span class='icon'></span><span class='text'><%= item['text'] %></span>
|
63
|
+
<% if href != "#" %></a><% end %>
|
64
|
+
<% if (!item['children'].nil? && item['children'].count > 0) %>
|
65
|
+
<ul>
|
66
|
+
<% item['children'].each do |item2| %>
|
67
|
+
<% modal = item2['modal'].nil? ? false : item2['modal'] %>
|
68
|
+
<li><a href='<%= item2['href'] %>'<%= raw (modal ? " rel='modal'" : "") %>><%= item2['text'] %></a></li>
|
69
|
+
<% end %>
|
70
|
+
</ul>
|
71
|
+
<% end %>
|
72
|
+
</li>
|
73
|
+
<% i + 1 %>
|
74
|
+
<% end %>
|
75
|
+
</ul>
|
54
76
|
<ul>
|
55
|
-
<li class='back' ><a href='/' class="caboose-btn"><span
|
56
|
-
|
77
|
+
<li class='back' ><a href='/' target="_blank" class="caboose-btn"><span>View Site</span></a></li>
|
78
|
+
<!-- <li class='cpanel' ><a href='/station' id='caboose_station' class='caboose_modal caboose-btn'><span>Menu</span></a></li> -->
|
57
79
|
</ul>
|
58
80
|
</div>
|
59
81
|
</div>
|
data/lib/caboose/engine.rb
CHANGED
@@ -129,10 +129,10 @@ module Caboose
|
|
129
129
|
'plupload/*.xap',
|
130
130
|
|
131
131
|
# Fonts
|
132
|
-
'caboose/fonts/avenir-medium.eot',
|
133
|
-
'caboose/fonts/avenir-medium.ttf',
|
134
|
-
'caboose/fonts/big_noodle_titling_oblique.ttf',
|
135
|
-
'caboose/fonts/big_noodle_titling.ttf',
|
132
|
+
# 'caboose/fonts/avenir-medium.eot',
|
133
|
+
# 'caboose/fonts/avenir-medium.ttf',
|
134
|
+
# 'caboose/fonts/big_noodle_titling_oblique.ttf',
|
135
|
+
# 'caboose/fonts/big_noodle_titling.ttf',
|
136
136
|
'caboose/icons.txt'
|
137
137
|
|
138
138
|
]
|
data/lib/caboose/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: caboose-cms
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.100
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- William Barry
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-12-
|
11
|
+
date: 2017-12-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: pg
|
@@ -483,8 +483,6 @@ files:
|
|
483
483
|
- MIT-LICENSE
|
484
484
|
- README.md
|
485
485
|
- Rakefile
|
486
|
-
- app/assets/fonts/avenir-medium.eot
|
487
|
-
- app/assets/fonts/avenir-medium.ttf
|
488
486
|
- app/assets/fonts/icomoon.eot
|
489
487
|
- app/assets/fonts/icomoon.svg
|
490
488
|
- app/assets/fonts/icomoon.ttf
|
Binary file
|
Binary file
|