caboose-cms 0.8.65 → 0.8.66

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e6a4ba5943295734cab32b17d7fdbfa8dd72711d
4
- data.tar.gz: 88ff9aec8169a808c90b0b9ed97e63816638be5e
3
+ metadata.gz: 3cf7c6d9e4fe07dff210a8f64d6bf724ccc1ba82
4
+ data.tar.gz: 851278533f71b16795b16a5e91fbab4d4d7e01c1
5
5
  SHA512:
6
- metadata.gz: ec41548d7130692a7754d55d62703cf5d17266222a4b2215da0c4bdc5179f8f5722868ad7878d7340a3248de76cfb1c2839e9eed03e21fd12927fc85695d56d8
7
- data.tar.gz: b50b104307b57b2839efbfc1460be7922d6967150c91e00daf2d455f4d1b27b0afcbf435ed17746094ec3362166f623931c915ed3ced32c5b38303dff4f64b57
6
+ metadata.gz: acaf605b67399fb28bbcdb482cc7d2f3fe3820a30575e92a5c110cb96416de6ad7f0972af1f6aca44eabefbba8b181bf3be615a6eb9979e557d8ffa2ff6c4f5b
7
+ data.tar.gz: 9aa7634f77a9d4754abc9c9fe24a606d594ba1ac7dc091ae965174b363c75cd412e91ae5048862ecdd6657dd8a4e0877f64389460dba62f7d91d1a4c015ccbce
@@ -27,14 +27,12 @@ MediaController.prototype = {
27
27
  $("#uploader")
28
28
  .empty()
29
29
  .append($('<p/>')
30
- .append($('<a/>').attr('href', '#').html('Upload').click(function(e) { e.preventDefault(); that.toggle_uploader(); }))
31
- .append(' | ')
32
- .append($('<a/>').attr('href', '#').html('Select All').click(function(e) { e.preventDefault(); that.select_all_media(); }))
33
- .append(' | ')
34
- .append($('<a/>').attr('href', '#').attr('id', 'sort-btn').html('Sort').click(function(e) { e.preventDefault(); that.sort_media(); }))
30
+ .append($('<a/>').addClass('caboose-btn').attr('href', '#').html('Upload').click(function(e) { e.preventDefault(); that.toggle_uploader(); }))
31
+ .append($('<a/>').addClass('caboose-btn').attr('href', '#').html('Select All').click(function(e) { e.preventDefault(); that.select_all_media(); }))
32
+ .append($('<a/>').addClass('caboose-btn').attr('href', '#').attr('id', 'sort-btn').html('Sort').click(function(e) { e.preventDefault(); that.sort_media(); }))
35
33
  )
36
34
  .append($('<div/>').attr('id', 'the_uploader'));
37
- that.refresh();
35
+ that.refresh();
38
36
  },
39
37
 
40
38
  refresh: function()
@@ -221,9 +219,10 @@ MediaController.prototype = {
221
219
  {
222
220
  var that = this;
223
221
  var ul = $('<ul/>');
222
+ var product_cat_id = 0;
224
223
  if (that.categories.length > 0)
225
224
  {
226
- $.each(that.categories, function(i, cat) {
225
+ $.each(that.categories, function(i, cat) {
227
226
  var li = $('<li/>')
228
227
  .addClass('category')
229
228
  .attr('id', 'cat' + cat.id)
@@ -231,6 +230,16 @@ MediaController.prototype = {
231
230
  .append($('<a/>').attr('href', '#').html(cat.name + ' (' + cat.media_count + ')').click(function(e) { e.preventDefault(); that.select_category($(this).parent().data('media_category_id')); }));
232
231
  if (cat.id == that.cat_id)
233
232
  li.addClass('selected');
233
+ // console.dir(cat);
234
+ if (cat.name && cat.name.indexOf('Products') > -1 && product_cat_id == 0) {
235
+ li.addClass('products-li');
236
+ li.html('').append($('<a/>').attr('href', '#').html(cat.name).click(function(e) { e.preventDefault(); $(this).closest('#left_content').toggleClass('hide-products'); }));
237
+ product_cat_id = cat.id;
238
+ }
239
+ else if ( cat.parent_id == product_cat_id ) {
240
+ li.addClass('product-sub-li');
241
+ li.html('').append($('<a/>').attr('href', '#').html(cat.name + ' (' + cat.media_count + ')').click(function(e) { e.preventDefault(); that.select_category($(this).parent().data('media_category_id')); }));
242
+ }
234
243
  ul.append(li);
235
244
  });
236
245
  }
@@ -313,26 +322,33 @@ MediaController.prototype = {
313
322
  processing = true
314
323
  var li = $('<li/>')
315
324
  .attr('id', 'media' + m.id)
316
- .addClass('media')
325
+ .addClass('media')
317
326
  .data('media_id', m.id)
318
327
  .click(function(e) { that.select_media($(this).data('media_id')); })
319
328
  .append($('<span/>').addClass('name').html(m.original_name).click(function(e) {
320
329
  e.stopPropagation();
321
330
  that.edit_media_description($(this).parent().data('media_id'));
322
331
  }));
332
+ // console.dir(m);
333
+ if (m.original_name && m.original_name.indexOf('png') > 0) {
334
+ li.addClass("png");
335
+ }
323
336
  if (m.image_urls)
324
- li.append($('<img/>').attr('src', m.image_urls.tiny_url).attr("id","image-" + m.id));
337
+ li.append($("<div/>").addClass("table").append($("<div/>").addClass("table-cell").append($('<img/>').attr('src', m.image_urls.tiny_url).attr("id","image-" + m.id))));
325
338
  else if (m.original_name) {
326
339
  var ext = m.original_name.match(/\.[0-9a-z]+$/i);
340
+ li.addClass('empty');
327
341
  if (ext && ext.length > 0)
328
342
  li.append($('<img/>').attr('src', '/assets/caboose/file_types/' + ext[0].replace(".","").toLowerCase() + '.png').addClass('file-icon').attr("width","80").attr("height","80"));
329
343
  }
330
344
  if (that.selected_media.indexOf(m.id) > -1)
331
345
  li.addClass('selected ui-selected');
332
- if (that.allow_edit && m.image_urls) li.append($("<a/>").html("Edit Image").click(function() { that.edit_image($(this).parent().data('media_id')); }));
333
- else li.append($("<a/>").attr('href', m.file_url).html("Direct URL"));
334
- if ( m.image_urls ) li.append($("<a/>").addClass("dl i").html("Download").click(function() { that.download_image($(this).parent().data('media_id')); }));
335
- else li.append($("<a/>").addClass("dl i").html("Download").click(function() { that.download_image($(this).parent().data('media_id')); }));
346
+ var btndiv = $("<div/>").addClass("buttons");
347
+ li.append(btndiv);
348
+ if (that.allow_edit && m.image_urls) btndiv.append($("<a/>").html("Edit Image").click(function() { that.edit_image($(this).parent().parent().data('media_id')); }));
349
+ else btndiv.append($("<a/>").attr('href', m.file_url).html("Direct URL"));
350
+ if ( m.image_urls ) btndiv.append($("<a/>").addClass("dl i").html("Download").click(function() { that.download_image($(this).parent().parent().data('media_id')); }));
351
+ else btndiv.append($("<a/>").addClass("dl i").html("Download").click(function() { that.download_image($(this).parent().parent().data('media_id')); }));
336
352
  ul.append(li);
337
353
  });
338
354
  }
@@ -86,7 +86,9 @@ BlockContentController.prototype = {
86
86
  authenticity_token: that.authenticity_token,
87
87
  parent_controller: this,
88
88
  assets_path: that.assets_path,
89
- new_block_on_init: true
89
+ new_block_on_init: true,
90
+ before_id: before_block_id,
91
+ after_id: after_block_id
90
92
  }
91
93
  if (that.page_id && that.page_id != null) options['page_id'] = that.page_id;
92
94
  else options['post_id'] = that.post_id;
@@ -227,13 +229,13 @@ BlockContentController.prototype = {
227
229
 
228
230
  set_clickable_helper: function(b, parent_id, parent_allows_child_blocks, is_last_child)
229
231
  {
230
- var that = this;
231
- $('#block_' + b.id)
232
+ var that = this;
233
+ $('#block_' + b.id + ' *').attr('onclick', '').unbind('click');
234
+ $('#block_' + b.id)
232
235
  .prepend($('<a/>').attr('id', 'block_' + b.id + '_select_handle' ).addClass('select_handle' ).append($('<span/>').addClass('ui-icon ui-icon-check' )).click(function(e) { e.preventDefault(); e.stopPropagation(); that.select_block(b.id); }))
233
236
  .prepend($('<a/>').attr('id', 'block_' + b.id + '_move_up_handle' ).addClass('move_up_handle' ).append($('<span/>').addClass('ui-icon ui-icon-arrow-1-n' )).click(function(e) { e.preventDefault(); e.stopPropagation(); that.move_block_up(b.id); }))
234
237
  .prepend($('<a/>').attr('id', 'block_' + b.id + '_move_down_handle' ).addClass('move_down_handle' ).append($('<span/>').addClass('ui-icon ui-icon-arrow-1-s' )).click(function(e) { e.preventDefault(); e.stopPropagation(); that.move_block_down(b.id); }))
235
238
  .prepend($('<a/>').attr('id', 'block_' + b.id + '_delete_handle' ).addClass('delete_handle' ).append($('<span/>').addClass('ui-icon ui-icon-close' )).click(function(e) { e.preventDefault(); e.stopPropagation(); that.delete_block(b.id); }));
236
-
237
239
  if (parent_allows_child_blocks && (!b.name || b.name.length == 0))
238
240
  {
239
241
  $('#block_' + b.id).before($('<div/>')
@@ -244,7 +246,7 @@ BlockContentController.prototype = {
244
246
  .html("New Block")
245
247
  .click(function(e) {
246
248
  e.preventDefault(); e.stopPropagation();
247
- that.new_block(parent_id, b.id);
249
+ that.new_block(parent_id, b.id, null);
248
250
  })
249
251
  )
250
252
  .mouseover(function(e) { $(this).removeClass('new_block_link').addClass('new_block_link_over'); e.stopPropagation(); })
@@ -268,15 +270,12 @@ BlockContentController.prototype = {
268
270
  );
269
271
  }
270
272
  }
271
-
272
- $('#block_' + b.id + ' *').attr('onclick', '').unbind('click');
273
273
  $('#block_' + b.id).attr('onclick','').unbind('click');
274
274
  $('#block_' + b.id).click(function(e) {
275
275
  e.preventDefault();
276
276
  e.stopPropagation();
277
277
  that.edit_block(b.id);
278
278
  });
279
-
280
279
  var show_mouseover = true;
281
280
  if (b.children && b.children.length > 0)
282
281
  {
@@ -10,6 +10,8 @@ var BlockModalController = ModalController.extend({
10
10
  new_block_on_init: false,
11
11
  assets_path: false,
12
12
  block_types: false,
13
+ before_id: false,
14
+ after_id: false,
13
15
  complex_field_types: ['block', 'richtext', 'image', 'file'],
14
16
 
15
17
  init: function(params)
@@ -165,14 +165,33 @@ var MediaModalController = BlockModalController.extend({
165
165
  $.each(that.media, function(i, m) {
166
166
  if (m.media_type == 'image' && m.processed == false)
167
167
  processing = true
168
- var li = $('<li/>')
168
+ // var li = $('<li/>')
169
+ // .attr('id', 'media' + m.id)
170
+ // .addClass('media')
171
+ // .data('media_id', m.id)
172
+ // .click(function(e) { that.print_media_detail($(this).data('media_id')); })
173
+ // .append($('<span/>').addClass('name').html(m.original_name));
174
+ // if (m.image_urls && m.image_urls != undefined)
175
+ // li.append($('<img/>').attr('src', m.image_urls.tiny_url + '?' + d));
176
+
177
+ var li = $('<li/>')
169
178
  .attr('id', 'media' + m.id)
170
- .addClass('media')
179
+ .addClass('media')
171
180
  .data('media_id', m.id)
172
181
  .click(function(e) { that.print_media_detail($(this).data('media_id')); })
173
182
  .append($('<span/>').addClass('name').html(m.original_name));
183
+ if (m.original_name && m.original_name.indexOf('png') > 0) {
184
+ li.addClass("png");
185
+ }
174
186
  if (m.image_urls && m.image_urls != undefined)
175
- li.append($('<img/>').attr('src', m.image_urls.tiny_url + '?' + d));
187
+ li.append($("<div/>").addClass("table").append($("<div/>").addClass("table-cell").append($('<img/>').attr('src', m.image_urls.tiny_url + '?' + d).attr("id","image-" + m.id))));
188
+ else if (m.original_name) {
189
+ var ext = m.original_name.match(/\.[0-9a-z]+$/i);
190
+ li.addClass('empty');
191
+ if (ext && ext.length > 0)
192
+ li.append($('<img/>').attr('src', '/assets/caboose/file_types/' + ext[0].replace(".","").toLowerCase() + '.png').addClass('file-icon').attr("width","80").attr("height","80"));
193
+ }
194
+
176
195
  //if (that.selected_media.indexOf(m.id) > -1)
177
196
  // li.addClass('selected ui-selected');
178
197
  if (m.id == that.media_id)
@@ -182,7 +201,7 @@ var MediaModalController = BlockModalController.extend({
182
201
  }
183
202
  else
184
203
  ul = $('<p/>').html("This category is empty.");
185
- $('#media').empty().append(ul);
204
+ $('#the_modal #media').empty().append(ul);
186
205
  if (that.refresh_unprocessed_images == true && processing)
187
206
  setTimeout(function() { that.refresh(); }, 2000);
188
207
  that.autosize();
@@ -219,7 +238,7 @@ var MediaModalController = BlockModalController.extend({
219
238
  }
220
239
 
221
240
  $('#top_controls').empty();
222
- $('#media').empty()
241
+ $('#the_modal #media').empty()
223
242
  .append($('<img/>').attr('id', 'detail_image').attr('src', m.image_urls ? m.image_urls.thumb_url : '//placehold.it/250x250'))
224
243
  .append($('<p/>').append($('<div/>').attr('id', 'media_' + media_id + '_media_category_id' )))
225
244
  .append($('<p/>').append($('<div/>').attr('id', 'media_' + media_id + '_name' )))
@@ -227,13 +246,13 @@ var MediaModalController = BlockModalController.extend({
227
246
  .append(image_urls);
228
247
  $('#modal_controls').empty()
229
248
  .append($('<p/>').css('clear', 'both')
230
- .append($('<input/>').attr('type', 'button').val('< Back' ).click(function(e) {
249
+ .append($('<input/>').attr('type', 'button').addClass('caboose-btn').val('< Back' ).click(function(e) {
231
250
  that.print_top_controls();
232
251
  that.print_media();
233
252
  that.print_controls();
234
253
  }))
235
- .append($('<input/>').attr('type', 'button').val('Select this Image' ).click(function(e) { that.select_media(media_id) }))
236
- .append($('<input/>').attr('type', 'button').val('Close' ).click(function(e) { that.parent_controller.render_blocks(); that.close(); }))
254
+ .append($('<input/>').attr('type', 'button').addClass('caboose-btn').val('Select this Image' ).click(function(e) { that.select_media(media_id) }))
255
+ .append($('<input/>').attr('type', 'button').addClass('caboose-btn').val('Close' ).click(function(e) { that.parent_controller.render_blocks(); that.close(); }))
237
256
  );
238
257
 
239
258
  var m = new ModelBinder({
@@ -52,9 +52,9 @@ var RichtextModalController = BlockModalController.extend({
52
52
  height: 300,
53
53
  fixed_placeholder: false,
54
54
  after_update: function() {
55
- tinymce.EditorManager.execCommand('mceRemoveEditor', true, 'block_' + that.block_id + '_value');
55
+ // tinymce.EditorManager.execCommand('mceRemoveEditor', true, 'block_' + that.block_id + '_value');
56
56
  that.parent_controller.render_blocks();
57
- that.close();
57
+ // that.close();
58
58
  },
59
59
  after_cancel: function() { that.parent_controller.render_blocks(); that.close(); }
60
60
  }]
@@ -5,106 +5,144 @@
5
5
  width: 370px;
6
6
  }
7
7
 
8
- #left_content {
9
- width: 200px;
10
- float: left;
11
- }
8
+ // #left_content {
9
+ // width: 200px;
10
+ // float: left;
11
+ // }
12
12
 
13
- #right_content {
14
- margin-left: 220px;
15
- max-height: 600px;
16
- overflow-y: scroll;
17
- }
13
+ // #right_content {
14
+ // margin-left: 220px;
15
+ // max-height: 600px;
16
+ // overflow-y: scroll;
17
+ // }
18
18
 
19
- #categories {
20
- ul {
21
- list-style: none;
22
- margin: 0;
23
- padding: 0;
19
+ // #categories {
20
+ // ul {
21
+ // list-style: none;
22
+ // margin: 0;
23
+ // padding: 0;
24
24
 
25
- li {
26
- list-style: none;
27
- margin: 0;
28
- padding: 0;
25
+ // li {
26
+ // list-style: none;
27
+ // margin: 0;
28
+ // padding: 0;
29
29
 
30
- a {
31
- display: block;
32
- margin: 0 0 2px 0;
33
- padding: 4px 8px;
34
- background: #ddd;
35
- border: #999 1px solid;
36
- color: #000;
37
- text-decoration: none;
30
+ // a {
31
+ // display: block;
32
+ // margin: 0 0 2px 0;
33
+ // padding: 4px 8px;
34
+ // background: #ddd;
35
+ // border: #999 1px solid;
36
+ // color: #000;
37
+ // text-decoration: none;
38
38
 
39
- &:hover {
40
- background-color: #fff799;
41
- }
42
- }
39
+ // &:hover {
40
+ // background-color: #fff799;
41
+ // }
42
+ // }
43
43
 
44
- &.selected {
45
- & > a {
46
- font-weight: bold;
47
- background-color: #90dbf9;
48
- }
49
- }
50
- &.cat_hover {
51
- a {
52
- background-color: #fff799 !important;
53
- }
54
- }
55
- }
56
- }
57
- }
44
+ // &.selected {
45
+ // & > a {
46
+ // font-weight: bold;
47
+ // background-color: #90dbf9;
48
+ // }
49
+ // }
50
+ // &.cat_hover {
51
+ // a {
52
+ // background-color: #fff799 !important;
53
+ // }
54
+ // }
55
+ // }
56
+ // }
57
+ // }
58
58
 
59
- #controls {
60
- #delete {
61
- p.delete_dropper {
62
- padding: 8px 8px;
63
- background: #ddd;
64
- border: #999 1px solid;
65
- color: #000;
66
- text-decoration: none;
67
- }
68
- &.hover {
69
- p.delete_dropper {
70
- background-color: #fff799 !important;
71
- }
72
- }
73
- }
74
- }
59
+ // #controls {
60
+ // #delete {
61
+ // p.delete_dropper {
62
+ // padding: 8px 8px;
63
+ // background: #ddd;
64
+ // border: #999 1px solid;
65
+ // color: #000;
66
+ // text-decoration: none;
67
+ // }
68
+ // &.hover {
69
+ // p.delete_dropper {
70
+ // background-color: #fff799 !important;
71
+ // }
72
+ // }
73
+ // }
74
+ // }
75
75
 
76
76
  #uploader {
77
77
  margin-bottom: 20px;
78
78
  }
79
79
 
80
- #media {
80
+ #cboxContent {
81
+ overflow-y: scroll;
82
+ }
83
+
84
+ // #media {
81
85
 
82
- ul.thumbnail_view {
86
+ // ul.thumbnail_view {
87
+ // list-style: none;
88
+ // margin: 0 0 20px 0;
89
+ // padding: 0;
90
+
91
+ // li {
92
+ // position: relative;
93
+ // list-style: none;
94
+ // margin: 4px;
95
+ // padding: 0;
96
+ // display: inline-block;
97
+ // width: 150px;
98
+ // height: 150px;
99
+ // overflow: hidden;
100
+ // background-color: #666;
101
+ // background-position: center;
102
+ // background-size: contain;
103
+ // background-repeat: no-repeat;
104
+ // border: #666 4px solid;
105
+
106
+ // span.name {
107
+ // display: block;
108
+ // position: absolute;
109
+ // bottom: 4px;
110
+ // width: 150px;
111
+ // text-align: center;
112
+ // color: #fff;
113
+ // text-decoration: none !important;
114
+ // }
115
+ // &:hover {
116
+ // background-color: #fff799;
117
+ // border: #fff799 4px solid;
118
+ // span { background-color: #fff799; color: #000; }
119
+ // }
120
+ // &.selected {
121
+ // background-color: #90dbf9;
122
+ // border: #90dbf9 4px solid;
123
+ // span { background-color: #90dbf9; color: #000; }
124
+ // }
125
+ // }
126
+ // }
127
+
128
+ ul.list_view {
83
129
  list-style: none;
84
- margin: 0 0 20px 0;
130
+ margin: 0;
85
131
  padding: 0;
86
132
 
87
133
  li {
88
134
  position: relative;
89
135
  list-style: none;
90
136
  margin: 4px;
91
- padding: 0;
92
- display: inline-block;
93
- width: 150px;
94
- height: 150px;
95
- overflow: hidden;
137
+ padding: 4px;
96
138
  background-color: #666;
97
139
  background-position: center;
98
140
  background-size: contain;
99
141
  background-repeat: no-repeat;
100
142
  border: #666 4px solid;
101
-
143
+
102
144
  span.name {
103
- display: block;
104
- position: absolute;
105
- bottom: 4px;
106
- width: 150px;
107
- text-align: center;
145
+ display: block;
108
146
  color: #fff;
109
147
  text-decoration: none !important;
110
148
  }
@@ -119,39 +157,227 @@
119
157
  span { background-color: #90dbf9; color: #000; }
120
158
  }
121
159
  }
122
- }
160
+ }
161
+ //}
162
+
163
+
164
+
165
+
166
+
167
+
168
+ // #categories {
169
+ // ul {
170
+ // list-style: none;
171
+ // margin: 0;
172
+ // padding: 0;
173
+
174
+ // li {
175
+ // list-style: none;
176
+ // margin: 0;
177
+ // padding: 0;
123
178
 
124
- ul.list_view {
179
+ // a {
180
+ // display: block;
181
+ // margin: 0 0 2px 0;
182
+ // padding: 4px 8px;
183
+ // font-size: 14px;
184
+ // line-height: 18px;
185
+ // background: #efefef;
186
+ // border: #c7c7c7 1px solid;
187
+ // color: #292929;
188
+ // text-decoration: none;
189
+ // &:focus {
190
+ // outline-width: 0;
191
+ // }
192
+ // &:hover {
193
+ // background-color: #fffcdb;
194
+ // }
195
+ // }
196
+
197
+ // &.selected {
198
+ // a {
199
+ // // font-weight: bold;
200
+ // background-color: #d1f2ff;
201
+ // }
202
+ // }
203
+ // &.cat_hover {
204
+ // a {
205
+ // background-color: #fffcdb !important;
206
+ // }
207
+ // }
208
+ // }
209
+ // }
210
+ // }
211
+
212
+ .caboose-btn {
213
+ background: #141516;
214
+ color: #f7f7f7;
215
+ text-align: center;
216
+ padding: 0 15px;
217
+ height: auto;
218
+ display: inline-block;
219
+ margin: 0 auto;
220
+ font-size: 15px;
221
+ line-height: 32px;
222
+ cursor: pointer;
223
+ border: 1px solid #fff;
224
+ -webkit-border-radius: 5px;
225
+ -moz-border-radius: 5px;
226
+ border-width: 0;
227
+ -webkit-appearance: none;
228
+ border-radius: 5px;
229
+ text-decoration: none;
230
+ margin-right: 8px;
231
+ }
232
+ .caboose-btn:focus {
233
+ outline-width: 0;
234
+ }
235
+ .caboose-btn:hover {
236
+ background: #4f4448;
237
+ }
238
+
239
+
240
+ #media {
241
+ ul {
125
242
  list-style: none;
126
- margin: 0;
243
+ margin: 0 0 20px 0;
127
244
  padding: 0;
128
-
129
- li {
245
+ display: -webkit-box;
246
+ display: -moz-box;
247
+ display: -ms-flexbox;
248
+ display: -webkit-flex;
249
+ display: flex;
250
+ -webkit-justify-content: space-between;
251
+ justify-content: space-between;
252
+ -webkit-align-items: stretch;
253
+ align-items: stretch;
254
+ flex-wrap: wrap;
255
+ li {
256
+ -webkit-box-flex: 0 1 150px;
257
+ -moz-box-flex: 0 1 150px;
258
+ -webkit-flex: 0 1 150px;
259
+ -ms-flex: 0 1 150px;
260
+ flex: 0 1 150px;
130
261
  position: relative;
131
262
  list-style: none;
132
- margin: 4px;
133
- padding: 4px;
134
- background-color: #666;
135
- background-position: center;
136
- background-size: contain;
137
- background-repeat: no-repeat;
138
- border: #666 4px solid;
263
+ margin: 0 10px 20px 0;
264
+ padding: 0 0 35px 0;
265
+ display: block;
266
+ overflow: hidden;
267
+ text-align: center;
268
+ // padding: 8px;
269
+ border: 1px solid #dadada;
270
+ &.png {
271
+ background-image: url('/assets/caboose/grid.png');
272
+ background-size: 16px;
273
+ background-color: #e4e4e4;
274
+ &.selected {
275
+ background-image: none;
276
+ }
277
+ }
278
+ &.empty {
279
+ background-color: #bdbdbd;
280
+ background-image: none;
281
+ }
282
+ .table {
283
+ display: table;
284
+ table-layout: fixed;
285
+ width: 100%;
286
+ height: 120px;
287
+ }
139
288
 
289
+ .table-cell {
290
+ display: table-cell;
291
+ vertical-align: middle;
292
+ width: 100%;
293
+ height: 100%;
294
+ }
295
+ img {
296
+ display: block;
297
+ margin: 0 auto 0 auto;
298
+ max-width: 100%;
299
+ max-height: 120px;
300
+ }
140
301
  span.name {
141
- display: block;
302
+ display: block;
303
+ position: relative;
304
+ // top: 0;
305
+ // left: 0;
306
+ height: auto;
307
+ overflow: hidden;
308
+ width: 100%;
309
+ font-size: 12px;
310
+ text-align: center;
311
+ background: rgba(0,0,0,0.7);
312
+ padding: 3px;
142
313
  color: #fff;
143
314
  text-decoration: none !important;
144
315
  }
316
+ .file-icon {
317
+ display: block;
318
+ width: 80px;
319
+ margin: 10px auto 0 auto;
320
+ }
321
+ .buttons {
322
+ margin-top: 10px;
323
+ // padding: 0 10px 6px 10px;
324
+ position: absolute;
325
+ left: 2%;
326
+ bottom: 3px;
327
+ width: 96%;
328
+ &::after {
329
+ content: ".";
330
+ visibility: hidden;
331
+ display: block;
332
+ height: 0;
333
+ clear: both;
334
+ }
335
+ }
336
+ a {
337
+ text-decoration: none;
338
+ cursor: pointer;
339
+ display: inline-block;
340
+ font-size: 11px;
341
+ text-align: center;
342
+ color: #000;
343
+ border-radius: 4px;
344
+ padding: 4px;
345
+ &:focus {
346
+ outline-width: 0;
347
+ }
348
+ &:first-of-type {
349
+ background: #516dbb;
350
+ color: #fff;
351
+ float: left;
352
+ &:hover {
353
+ background: shade(#516dbb, 10%);
354
+ }
355
+ }
356
+ &.dl {
357
+ // right: 8px;
358
+ left: initial;
359
+ float: right;
360
+ background: #51bd63;
361
+ color: #fff;
362
+ // width: 100%;
363
+ &:hover {
364
+ background: shade(#51bd63, 10%);
365
+ }
366
+ &.i {
367
+ width: auto;
368
+ }
369
+ }
370
+ }
145
371
  &:hover {
146
- background-color: #fff799;
147
- border: #fff799 4px solid;
148
- span { background-color: #fff799; color: #000; }
372
+ background-image: none;
373
+ background-color: #fffcdb;
374
+ // span { background-color: #fffcdb; color: #000; }
149
375
  }
150
376
  &.selected {
151
- background-color: #90dbf9;
152
- border: #90dbf9 4px solid;
377
+ background-color: #d1f2ff;
378
+ // border: #90dbf9 4px solid;
153
379
  span { background-color: #90dbf9; color: #000; }
154
380
  }
155
381
  }
156
- }
382
+ }
157
383
  }