comfortable_mexican_sofa 1.12.2 → 1.12.3
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 +4 -4
- data/app/assets/javascripts/comfortable_mexican_sofa/admin/application.js +1 -1
- data/app/assets/javascripts/comfortable_mexican_sofa/application.js.coffee +50 -57
- data/app/assets/javascripts/comfortable_mexican_sofa/cms/files.js.coffee +29 -0
- data/app/assets/javascripts/comfortable_mexican_sofa/cms/uploader.js.coffee +139 -0
- data/app/assets/stylesheets/comfortable_mexican_sofa/admin/application.css +1 -1
- data/app/assets/stylesheets/comfortable_mexican_sofa/application.css.sass +1 -0
- data/app/assets/stylesheets/comfortable_mexican_sofa/base.css.sass +67 -84
- data/app/controllers/comfy/admin/cms/base_controller.rb +11 -8
- data/app/controllers/comfy/admin/cms/categories_controller.rb +10 -9
- data/app/controllers/comfy/admin/cms/files_controller.rb +38 -69
- data/app/controllers/comfy/admin/cms/layouts_controller.rb +4 -3
- data/app/controllers/comfy/admin/cms/pages_controller.rb +17 -11
- data/app/controllers/comfy/admin/cms/revisions_controller.rb +10 -9
- data/app/controllers/comfy/admin/cms/sites_controller.rb +2 -1
- data/app/controllers/comfy/admin/cms/snippets_controller.rb +3 -2
- data/app/controllers/comfy/cms/assets_controller.rb +17 -9
- data/app/controllers/comfy/cms/content_controller.rb +20 -14
- data/app/models/comfy/cms/file.rb +16 -15
- data/app/models/comfy/cms/page.rb +2 -1
- data/app/models/comfy/cms/site.rb +5 -0
- data/app/views/comfy/admin/cms/files/_file.html.haml +26 -13
- data/app/views/comfy/admin/cms/files/_form.html.haml +8 -5
- data/app/views/comfy/admin/cms/files/_modal.html.haml +4 -0
- data/app/views/comfy/admin/cms/files/create.js.erb +1 -0
- data/app/views/comfy/admin/cms/files/destroy.js.coffee +2 -2
- data/app/views/comfy/admin/cms/files/index.html.haml +33 -31
- data/app/views/comfy/admin/cms/layouts/_form.html.haml +2 -5
- data/app/views/comfy/admin/cms/pages/_form.html.haml +7 -8
- data/app/views/comfy/admin/cms/pages/_form_blocks.html.haml +3 -3
- data/app/views/comfy/admin/cms/sites/_form.html.haml +2 -2
- data/app/views/comfy/admin/cms/sites/index.html.haml +1 -2
- data/app/views/comfy/admin/cms/snippets/_form.html.haml +5 -8
- data/app/views/kaminari/comfy/_paginator.html.haml +10 -11
- data/app/views/layouts/comfy/admin/cms.html.haml +3 -2
- data/app/views/layouts/comfy/admin/cms/_body.html.haml +8 -7
- data/app/views/layouts/comfy/admin/cms/{_center.html.haml → _flash.html.haml} +0 -3
- data/app/views/layouts/comfy/admin/cms/_footer_js.html.haml +0 -4
- data/app/views/layouts/comfy/admin/cms/_left.html.haml +10 -5
- data/comfortable_mexican_sofa.gemspec +9 -8
- data/config/cms_routes.rb +2 -2
- data/config/initializers/comfortable_mexican_sofa.rb +31 -13
- data/config/initializers/plupload.rb +9 -0
- data/config/locales/en.yml +18 -16
- data/db/upgrade_migrations/08_upgrade_to_1_12_0.rb +3 -0
- data/lib/comfortable_mexican_sofa.rb +6 -5
- data/lib/comfortable_mexican_sofa/access_control/admin_authentication.rb +20 -0
- data/lib/comfortable_mexican_sofa/access_control/admin_authorization.rb +8 -0
- data/lib/comfortable_mexican_sofa/access_control/public_authentication.rb +8 -0
- data/lib/comfortable_mexican_sofa/configuration.rb +11 -3
- data/lib/comfortable_mexican_sofa/engine.rb +1 -0
- data/lib/comfortable_mexican_sofa/fixture.rb +7 -5
- data/lib/comfortable_mexican_sofa/fixture/category.rb +10 -3
- data/lib/comfortable_mexican_sofa/form_builder.rb +1 -1
- data/lib/comfortable_mexican_sofa/routes/cms.rb +3 -0
- data/lib/comfortable_mexican_sofa/version.rb +1 -1
- data/lib/generators/comfy/cms/assets_generator.rb +15 -0
- data/lib/generators/comfy/cms/cms_generator.rb +19 -12
- data/lib/generators/comfy/cms/controllers_generator.rb +13 -0
- data/lib/generators/comfy/cms/models_generator.rb +13 -0
- data/lib/generators/comfy/cms/views_generator.rb +13 -0
- data/test/controllers/comfy/admin/cms/files_controller_test.rb +22 -95
- data/test/controllers/comfy/admin/cms/layouts_controller_test.rb +9 -10
- data/test/controllers/comfy/admin/cms/pages_controller_test.rb +26 -27
- data/test/controllers/comfy/admin/cms/snippets_controller_test.rb +7 -8
- data/test/controllers/comfy/cms/content_controller_test.rb +30 -4
- data/test/gemfiles/Gemfile.rails.4.0 +3 -2
- data/test/gemfiles/Gemfile.rails.4.1 +3 -2
- data/test/gemfiles/Gemfile.rails.master +3 -2
- data/test/generators/cms_assets_generator_test.rb +13 -0
- data/test/generators/cms_controllers_generator_test.rb +12 -0
- data/test/generators/cms_generator_test.rb +10 -8
- data/test/generators/cms_models_generator_test.rb +12 -0
- data/test/generators/cms_views_generator_test.rb +12 -0
- data/test/generators/scaffold_generator_test.rb +6 -7
- data/test/integration/access_control_test.rb +141 -0
- data/test/integration/routing_test.rb +19 -0
- data/test/lib/configuration_test.rb +8 -7
- data/test/lib/fixtures/categories_test.rb +1 -0
- data/test/lib/fixtures/files_test.rb +5 -0
- data/test/lib/fixtures/pages_test.rb +17 -1
- data/test/lib/fixtures/snippets_test.rb +5 -0
- data/test/models/page_test.rb +6 -0
- data/test/models/site_test.rb +9 -0
- data/test/test_helper.rb +28 -19
- metadata +82 -48
- data/app/views/comfy/admin/cms/files/_index.html.haml +0 -11
- data/lib/comfortable_mexican_sofa/authentication/dummy_auth.rb +0 -8
- data/lib/comfortable_mexican_sofa/authentication/http_auth.rb +0 -25
- data/test/integration/authentication_test.rb +0 -48
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 6288406fcc2f264c4289e644ef4968d45c1c127e
|
|
4
|
+
data.tar.gz: 1e60695eae961a65244861eaeed32016d8d399aa
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: d006542f2574fa558cc49b4d4c1a2ac048cc76360598cad83de2becf828c577231a12b5ebc9f85eaaaf49a719389cf2448f4acaf3315e1346843e6258ecab9a6
|
|
7
|
+
data.tar.gz: 6b20e59908397502960f98e1699356b488e8fc8ba0bb1891979d636e8d6c038c2723446fc4ccbdf07366ef27aff85ce714ae505f99020ae9a39f78e1238f756f
|
|
@@ -1 +1 @@
|
|
|
1
|
-
// Overwrite this file in your application /app/assets/javascripts/comfortable_mexican_sofa/admin/application.js
|
|
1
|
+
// Overwrite this file in your application /app/assets/javascripts/comfortable_mexican_sofa/admin/application.js
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
#= require jquery
|
|
2
|
+
#= require bootstrap-sprockets
|
|
2
3
|
#= require jquery_ujs
|
|
3
4
|
#= require jquery-ui
|
|
4
5
|
#= require tinymce-jquery
|
|
@@ -12,28 +13,29 @@
|
|
|
12
13
|
#= require bootstrap
|
|
13
14
|
#= require comfortable_mexican_sofa/lib/bootstrap-datetimepicker
|
|
14
15
|
#= require comfortable_mexican_sofa/lib/diff
|
|
16
|
+
#= require comfortable_mexican_sofa/cms/uploader
|
|
17
|
+
#= require comfortable_mexican_sofa/cms/files
|
|
18
|
+
|
|
19
|
+
window.CMS ||= {}
|
|
20
|
+
|
|
21
|
+
window.CMS.current_path = window.location.pathname
|
|
22
|
+
window.CMS.code_mirror_instances = [ ]
|
|
15
23
|
|
|
16
24
|
$ ->
|
|
17
25
|
CMS.init()
|
|
18
26
|
|
|
19
|
-
window.CMS =
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
CMS.page_update_preview()
|
|
32
|
-
CMS.page_update_publish()
|
|
33
|
-
CMS.categories()
|
|
34
|
-
CMS.uploader()
|
|
35
|
-
CMS.uploaded_files()
|
|
36
|
-
|
|
27
|
+
window.CMS.init = ->
|
|
28
|
+
CMS.slugify()
|
|
29
|
+
CMS.wysiwyg()
|
|
30
|
+
CMS.codemirror()
|
|
31
|
+
CMS.sortable_list()
|
|
32
|
+
CMS.timepicker()
|
|
33
|
+
CMS.page_blocks()
|
|
34
|
+
CMS.mirrors()
|
|
35
|
+
CMS.page_update_preview()
|
|
36
|
+
CMS.page_update_publish()
|
|
37
|
+
CMS.categories()
|
|
38
|
+
CMS.files()
|
|
37
39
|
|
|
38
40
|
window.CMS.slugify = ->
|
|
39
41
|
slugify = (str) ->
|
|
@@ -46,19 +48,22 @@ window.CMS.slugify = ->
|
|
|
46
48
|
str = str.replace(chars_to_replace_with_delimiter, '-')
|
|
47
49
|
chars_to_remove = new RegExp('[^a-zA-Z0-9 -]', 'g')
|
|
48
50
|
str = str.replace(chars_to_remove, '').replace(/\s+/g, '-').toLowerCase()
|
|
49
|
-
|
|
51
|
+
|
|
50
52
|
$('input[data-slugify=true]').bind 'keyup.cms', ->
|
|
51
53
|
$('input[data-slug=true]').val(slugify($(this).val()))
|
|
52
54
|
|
|
53
55
|
|
|
54
56
|
window.CMS.wysiwyg = ->
|
|
55
57
|
tinymce.init
|
|
56
|
-
selector:
|
|
57
|
-
plugins:
|
|
58
|
-
toolbar:
|
|
59
|
-
menubar:
|
|
60
|
-
statusbar:
|
|
61
|
-
relative_urls:
|
|
58
|
+
selector: 'textarea[data-cms-rich-text]'
|
|
59
|
+
plugins: ['link', 'image', 'code', 'autoresize']
|
|
60
|
+
toolbar: 'undo redo | styleselect | bullist numlist | link unlink image | code'
|
|
61
|
+
menubar: false
|
|
62
|
+
statusbar: false
|
|
63
|
+
relative_urls: false
|
|
64
|
+
entity_encoding : 'raw'
|
|
65
|
+
autoresize_bottom_margin : 0
|
|
66
|
+
|
|
62
67
|
|
|
63
68
|
window.CMS.codemirror = ->
|
|
64
69
|
$('textarea[data-cms-cm-mode]').each (i, element) ->
|
|
@@ -75,8 +80,7 @@ window.CMS.codemirror = ->
|
|
|
75
80
|
$('a[data-toggle="tab"]').on 'shown', ->
|
|
76
81
|
for cm in CMS.code_mirror_instances
|
|
77
82
|
cm.refresh()
|
|
78
|
-
|
|
79
|
-
return
|
|
83
|
+
|
|
80
84
|
|
|
81
85
|
window.CMS.sortable_list = ->
|
|
82
86
|
$('.sortable').sortable
|
|
@@ -103,12 +107,15 @@ window.CMS.page_blocks = ->
|
|
|
103
107
|
url: $(this).data('url'),
|
|
104
108
|
data:
|
|
105
109
|
layout_id: $(this).val()
|
|
110
|
+
beforeSend: ->
|
|
111
|
+
tinymce.remove()
|
|
106
112
|
complete: ->
|
|
107
113
|
CMS.wysiwyg()
|
|
108
114
|
CMS.timepicker()
|
|
109
115
|
CMS.codemirror()
|
|
110
116
|
CMS.reinitialize_page_blocks() if CMS.reinitialize_page_blocks?
|
|
111
117
|
|
|
118
|
+
|
|
112
119
|
window.CMS.mirrors = ->
|
|
113
120
|
$('#mirrors select').change ->
|
|
114
121
|
window.location = $(this).val()
|
|
@@ -125,7 +132,7 @@ window.CMS.page_update_publish = ->
|
|
|
125
132
|
widget = $('#form-save')
|
|
126
133
|
$('input', widget).prop('checked', $('input#page_is_published').is(':checked'))
|
|
127
134
|
$('button', widget).html($('input[name=commit]').val())
|
|
128
|
-
|
|
135
|
+
|
|
129
136
|
$('input', widget).click ->
|
|
130
137
|
$('input#page_is_published').prop('checked', $(this).is(':checked'))
|
|
131
138
|
$('input#page_is_published').click ->
|
|
@@ -143,32 +150,18 @@ window.CMS.categories = ->
|
|
|
143
150
|
$('.done', '.categories-widget').toggle()
|
|
144
151
|
|
|
145
152
|
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
i.document
|
|
162
|
-
|
|
163
|
-
if d.body.innerHTML
|
|
164
|
-
raw_string = d.body.innerHTML
|
|
165
|
-
json_string = raw_string.match(/\{(.|\n)*\}/)[0]
|
|
166
|
-
json = $.parseJSON(json_string)
|
|
167
|
-
files = $('<div/>').html(json.view).hide()
|
|
168
|
-
$('.uploaded-files').prepend(files)
|
|
169
|
-
files.map ->
|
|
170
|
-
$(this).fadeIn()
|
|
171
|
-
|
|
172
|
-
window.CMS.uploaded_files = ->
|
|
173
|
-
$('.uploaded-files').on 'click', 'input', ->
|
|
174
|
-
$(this).select()
|
|
153
|
+
# If we are inside an iframe remove the columns and just keep the center column content.
|
|
154
|
+
# This is used for the files widget that opens in a modal window.
|
|
155
|
+
window.CMS.set_iframe_layout = ->
|
|
156
|
+
in_iframe = ->
|
|
157
|
+
try
|
|
158
|
+
return window.self != window.top
|
|
159
|
+
catch e
|
|
160
|
+
return true
|
|
161
|
+
|
|
162
|
+
$('body').ready ->
|
|
163
|
+
if in_iframe()
|
|
164
|
+
$('body').addClass('in-iframe')
|
|
165
|
+
|
|
166
|
+
# Triggering this right away to prevent flicker
|
|
167
|
+
window.CMS.set_iframe_layout()
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
(($) ->
|
|
2
|
+
window.CMS or (window.CMS = {})
|
|
3
|
+
window.CMS.files = ->
|
|
4
|
+
modal = $('.cms-files-modal')
|
|
5
|
+
$('.cms-files-open-modal').on 'click', (e) ->
|
|
6
|
+
modal.on 'show.bs.modal', ->
|
|
7
|
+
iframe = modal.find('iframe')
|
|
8
|
+
iframeSrc = modal.data('iframe-src')
|
|
9
|
+
if iframe.attr('src') != iframeSrc
|
|
10
|
+
iframe.attr('src', iframeSrc)
|
|
11
|
+
|
|
12
|
+
modal.modal(show: true)
|
|
13
|
+
e.preventDefault()
|
|
14
|
+
|
|
15
|
+
# Make the files library modal window fill the browsers available height.
|
|
16
|
+
modal.on 'show.bs.modal', (e) ->
|
|
17
|
+
height = $(window).height() - 60
|
|
18
|
+
$(e.target).find('.modal-content').css('height', "#{height}px")
|
|
19
|
+
|
|
20
|
+
$(window).on 'resize', ->
|
|
21
|
+
height = $(window).height() - 60
|
|
22
|
+
modal.find('.modal-content').css('height', "#{height}px")
|
|
23
|
+
|
|
24
|
+
# When clicking a file path in the file list select it to make
|
|
25
|
+
# it easy to copy&paste.
|
|
26
|
+
$(document).on 'click', '.cms-uploader-filelist input[type=text]', ->
|
|
27
|
+
$(this).select()
|
|
28
|
+
|
|
29
|
+
) jQuery
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
# CMS Uploader using plupload http://www.plupload.com/. Code inspired by
|
|
2
|
+
# plupload queue widget https://github.com/moxiecode/plupload/tree/master/js/jquery.plupload.queue
|
|
3
|
+
#
|
|
4
|
+
#= require moxie
|
|
5
|
+
#= require plupload.dev
|
|
6
|
+
|
|
7
|
+
(($, o) ->
|
|
8
|
+
window.CMS or (window.CMS = {})
|
|
9
|
+
window.CMS.uploader = (target, settings) ->
|
|
10
|
+
|
|
11
|
+
# Add a file to the file list.
|
|
12
|
+
addFile = (file) ->
|
|
13
|
+
fileList = $(".cms-uploader-filelist", target)
|
|
14
|
+
|
|
15
|
+
fileList.prepend("
|
|
16
|
+
<tr id='#{file.id}' class='temp'>
|
|
17
|
+
<td><div class='icon'></div></td>
|
|
18
|
+
<td class='main' colspan=2>
|
|
19
|
+
<div class='progress'>
|
|
20
|
+
<div class='progress-bar progress-bar-striped active'>
|
|
21
|
+
<span>#{file.name}</span>
|
|
22
|
+
</div>
|
|
23
|
+
</div>
|
|
24
|
+
</td>
|
|
25
|
+
<td>
|
|
26
|
+
<a class='btn btn-sm btn-danger pull-right cms-uploader-file-delete' href='#'>Delete</a>
|
|
27
|
+
</td>
|
|
28
|
+
</tr>
|
|
29
|
+
")
|
|
30
|
+
|
|
31
|
+
$("#" + file.id + " a.cms-uploader-file-delete").click (e) ->
|
|
32
|
+
uploader.removeFile(file)
|
|
33
|
+
e.preventDefault()
|
|
34
|
+
|
|
35
|
+
updateFileStatus(file)
|
|
36
|
+
|
|
37
|
+
# Remove a file from the file list.
|
|
38
|
+
removeFile = (file) ->
|
|
39
|
+
$("#" + file.id).remove()
|
|
40
|
+
|
|
41
|
+
# Update a files upload status in the file list.
|
|
42
|
+
updateFileStatus = (file) ->
|
|
43
|
+
progress_bar = $("##{file.id} .progress-bar", target)
|
|
44
|
+
if file.status == plupload.UPLOADING
|
|
45
|
+
progress_bar.css('width', "#{file.percent}%")
|
|
46
|
+
if file.status == plupload.FAILED
|
|
47
|
+
progress_bar.css('width', '100%').addClass('progress-bar-danger')
|
|
48
|
+
$('span', progress_bar).html(file.error_message)
|
|
49
|
+
|
|
50
|
+
uploader = undefined
|
|
51
|
+
id = target.attr("id")
|
|
52
|
+
|
|
53
|
+
unless id
|
|
54
|
+
id = plupload.guid()
|
|
55
|
+
target.attr('id', id)
|
|
56
|
+
|
|
57
|
+
settings = $.extend(
|
|
58
|
+
runtimes: "html5,browserplus,silverlight,flash,gears"
|
|
59
|
+
dragdrop: true
|
|
60
|
+
drop_element: "#{id}-drag-drop-target"
|
|
61
|
+
browse_button: "#{id}-browse"
|
|
62
|
+
container: id
|
|
63
|
+
file_data_name: "file[file]"
|
|
64
|
+
headers:
|
|
65
|
+
Accept: "text/plupload"
|
|
66
|
+
, settings)
|
|
67
|
+
|
|
68
|
+
uploader = new plupload.Uploader(settings)
|
|
69
|
+
uploader.bind "PostInit", (up) ->
|
|
70
|
+
|
|
71
|
+
# Show drag and drop info and attach events if drag and drop is
|
|
72
|
+
# supported and enabled.
|
|
73
|
+
if up.settings.dragdrop and up.features.dragdrop
|
|
74
|
+
drop_element = $(up.settings.drop_element)
|
|
75
|
+
|
|
76
|
+
# When dragging over the document add a class to the drop target
|
|
77
|
+
# that puts it ontop of every element and remove that class when
|
|
78
|
+
# dropping or leaving the drop target. Otherwise the dragleave
|
|
79
|
+
# event would fire whenever we dragging over a child element inside
|
|
80
|
+
# the drop target such as text nodes or stuff.
|
|
81
|
+
$(document).bind 'dragenter', (e) ->
|
|
82
|
+
drop_element.addClass('cms-uploader-drag-drop-target-active')
|
|
83
|
+
|
|
84
|
+
drop_element.bind 'drop dragleave', (e) ->
|
|
85
|
+
drop_element.removeClass('cms-uploader-drag-drop-target-active')
|
|
86
|
+
|
|
87
|
+
else
|
|
88
|
+
$('.cms-uploader-drag-drop-info', target).hide()
|
|
89
|
+
|
|
90
|
+
# Need to bind this before initialization to handle initialization errors too.
|
|
91
|
+
uploader.bind 'Error', (up, err) ->
|
|
92
|
+
file = err.file
|
|
93
|
+
message = undefined
|
|
94
|
+
|
|
95
|
+
if file
|
|
96
|
+
# Get error message from the server response. Not all runtimes
|
|
97
|
+
# support this though.
|
|
98
|
+
message = err.response
|
|
99
|
+
|
|
100
|
+
# If no error message is in the server response get standard
|
|
101
|
+
# plupload error messages. This will have descriptive error message
|
|
102
|
+
# for something like file size or file format errors but for
|
|
103
|
+
# server errors it will only display a general error message.
|
|
104
|
+
unless message
|
|
105
|
+
message = err.message
|
|
106
|
+
if err.details
|
|
107
|
+
message += " (#{err.details})"
|
|
108
|
+
file.status = plupload.FAILED
|
|
109
|
+
file.error_message = message
|
|
110
|
+
updateFileStatus file
|
|
111
|
+
|
|
112
|
+
if err.code == plupload.INIT_ERROR
|
|
113
|
+
alert _('Error: Initialisation error. Reload to try again.')
|
|
114
|
+
|
|
115
|
+
uploader.init()
|
|
116
|
+
uploader.bind 'FilesAdded', (up, files) ->
|
|
117
|
+
$.each files, (i, file) ->
|
|
118
|
+
addFile file
|
|
119
|
+
|
|
120
|
+
# Auto start upload when files are added.
|
|
121
|
+
uploader.start()
|
|
122
|
+
|
|
123
|
+
uploader.bind 'UploadProgress', (up, file) ->
|
|
124
|
+
updateFileStatus(file)
|
|
125
|
+
|
|
126
|
+
uploader.bind "FileUploaded", (up, file, info) ->
|
|
127
|
+
# Replace the dummy file entry in the file list with the the entry
|
|
128
|
+
# from the server response.
|
|
129
|
+
$("tr##{file.id}").replaceWith(info.response)
|
|
130
|
+
|
|
131
|
+
uploader.bind 'FilesRemoved', (up, files) ->
|
|
132
|
+
$.each files, (i, file) ->
|
|
133
|
+
removeFile file
|
|
134
|
+
|
|
135
|
+
# Call setup function
|
|
136
|
+
if settings.setup
|
|
137
|
+
settings.setup(uploader)
|
|
138
|
+
|
|
139
|
+
) jQuery, mOxie
|
|
@@ -1 +1 @@
|
|
|
1
|
-
/* Overwrite this file in your application /app/assets/stylesheets/comfortable_mexican_sofa/admin/application.css */
|
|
1
|
+
/* Overwrite this file in your application /app/assets/stylesheets/comfortable_mexican_sofa/admin/application.css */
|
|
@@ -11,10 +11,18 @@
|
|
|
11
11
|
|
|
12
12
|
html, body#comfy
|
|
13
13
|
height: 100%
|
|
14
|
-
|
|
14
|
+
|
|
15
|
+
body#comfy.in-iframe
|
|
16
|
+
background: transparent
|
|
17
|
+
.left-column, .right-column, .body-footer
|
|
18
|
+
display: none
|
|
19
|
+
.body-wrapper .center-column
|
|
20
|
+
background: transparent
|
|
21
|
+
margin: 0
|
|
22
|
+
|
|
15
23
|
body#comfy
|
|
16
24
|
background-color: #252525
|
|
17
|
-
|
|
25
|
+
|
|
18
26
|
// -- Containers ----------------------------------------------------------
|
|
19
27
|
.body-wrapper
|
|
20
28
|
height: 100%
|
|
@@ -39,7 +47,7 @@ body#comfy
|
|
|
39
47
|
padding: 25px 10px
|
|
40
48
|
width: 250px
|
|
41
49
|
position: fixed
|
|
42
|
-
|
|
50
|
+
|
|
43
51
|
// -- Navigation ----------------------------------------------------------
|
|
44
52
|
.left-column-content ul.navigation
|
|
45
53
|
list-style: none
|
|
@@ -64,16 +72,20 @@ body#comfy
|
|
|
64
72
|
position: absolute
|
|
65
73
|
top: 10px
|
|
66
74
|
right: 0px
|
|
67
|
-
z-index:
|
|
75
|
+
z-index: 2
|
|
68
76
|
content: ''
|
|
69
77
|
display: block
|
|
78
|
+
a.cms-files-open-modal
|
|
79
|
+
float: right
|
|
80
|
+
position: relative
|
|
81
|
+
z-index: 2
|
|
70
82
|
ul
|
|
71
83
|
list-style: none
|
|
72
84
|
margin: 0
|
|
73
85
|
padding: 0
|
|
74
86
|
a
|
|
75
87
|
padding: 7px 15px 7px 30px
|
|
76
|
-
|
|
88
|
+
|
|
77
89
|
// -- Right Side Boxes ----------------------------------------------------
|
|
78
90
|
.right-column-content
|
|
79
91
|
.box
|
|
@@ -88,71 +100,7 @@ body#comfy
|
|
|
88
100
|
#form-save
|
|
89
101
|
label
|
|
90
102
|
padding-top: 0
|
|
91
|
-
|
|
92
|
-
// -- File Uploads --------------------------------------------------------
|
|
93
|
-
.right-column-content .file-uploader
|
|
94
|
-
form
|
|
95
|
-
margin-bottom: 5px
|
|
96
|
-
.btn-file
|
|
97
|
-
width: 100%
|
|
98
|
-
position: relative
|
|
99
|
-
overflow: hidden
|
|
100
|
-
input
|
|
101
|
-
position: absolute
|
|
102
|
-
top: 0
|
|
103
|
-
left: 0
|
|
104
|
-
margin: 0
|
|
105
|
-
font-size: 23px
|
|
106
|
-
cursor: pointer
|
|
107
|
-
opacity: 0
|
|
108
|
-
.uploaded-files
|
|
109
|
-
margin: 0 -5px
|
|
110
|
-
max-height: 500px
|
|
111
|
-
overflow: auto
|
|
112
|
-
padding: 0 5px
|
|
113
|
-
.file
|
|
114
|
-
overflow: hidden
|
|
115
|
-
padding-bottom: 2px
|
|
116
|
-
&:hover .file-info
|
|
117
|
-
display: block
|
|
118
|
-
.file-name
|
|
119
|
-
overflow: hidden
|
|
120
|
-
border: 1px solid #ddd
|
|
121
|
-
border-radius: 3px
|
|
122
|
-
padding: 0 7px
|
|
123
|
-
&:hover
|
|
124
|
-
background-color: #f5f5f5
|
|
125
|
-
a.filename
|
|
126
|
-
display: block
|
|
127
|
-
margin-right: 20px
|
|
128
|
-
white-space: nowrap
|
|
129
|
-
overflow: hidden
|
|
130
|
-
font-size: 11px
|
|
131
|
-
a.delete
|
|
132
|
-
float: right
|
|
133
|
-
.file-info
|
|
134
|
-
display: none
|
|
135
|
-
padding: 1px 0
|
|
136
|
-
.thumb
|
|
137
|
-
height: 60px
|
|
138
|
-
width: 80px
|
|
139
|
-
float: left
|
|
140
|
-
background: url(image-path("comfortable_mexican_sofa/checkerboard.gif"))
|
|
141
|
-
.details
|
|
142
|
-
margin-left: 85px
|
|
143
|
-
font-size: 11px
|
|
144
|
-
line-height: 16px
|
|
145
|
-
input
|
|
146
|
-
padding: 2px
|
|
147
|
-
margin: 0
|
|
148
|
-
font-size: 11px
|
|
149
|
-
width: 100%
|
|
150
|
-
line-height: 12px
|
|
151
|
-
&:hover
|
|
152
|
-
cursor: default
|
|
153
|
-
iframe#file-upload-frame
|
|
154
|
-
display: none
|
|
155
|
-
|
|
103
|
+
|
|
156
104
|
// -- Common Elements -----------------------------------------------------
|
|
157
105
|
table.table, ul.list
|
|
158
106
|
.icon
|
|
@@ -186,7 +134,7 @@ body#comfy
|
|
|
186
134
|
.item-meta
|
|
187
135
|
font-size: 11px
|
|
188
136
|
line-height: 14px
|
|
189
|
-
|
|
137
|
+
|
|
190
138
|
.cms-partial
|
|
191
139
|
background-color: #252525
|
|
192
140
|
color: #fff
|
|
@@ -197,7 +145,7 @@ body#comfy
|
|
|
197
145
|
margin: 3px
|
|
198
146
|
background-image: linear-gradient(-45deg, rgba(255, 255, 255, .05) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .05) 50%, rgba(255, 255, 255, .05) 75%, transparent 75%, transparent)
|
|
199
147
|
background-size: 50px 50px
|
|
200
|
-
|
|
148
|
+
|
|
201
149
|
// -- Sofa Version --------------------------------------------------------
|
|
202
150
|
.center-column .body-footer
|
|
203
151
|
position: absolute
|
|
@@ -215,7 +163,7 @@ body#comfy
|
|
|
215
163
|
span.version
|
|
216
164
|
color: #f1f1f1
|
|
217
165
|
margin-left: 2px
|
|
218
|
-
|
|
166
|
+
|
|
219
167
|
// -- Categories Widget ---------------------------------------------------
|
|
220
168
|
.categories-widget
|
|
221
169
|
background: #f5f5f5
|
|
@@ -259,7 +207,7 @@ body#comfy
|
|
|
259
207
|
padding: 3px
|
|
260
208
|
font-size: 11px
|
|
261
209
|
line-height: 11px
|
|
262
|
-
|
|
210
|
+
|
|
263
211
|
// -- Sortable List -------------------------------------------------------
|
|
264
212
|
ul.list
|
|
265
213
|
padding: 0
|
|
@@ -300,12 +248,12 @@ body#comfy
|
|
|
300
248
|
list-style: none
|
|
301
249
|
padding: 0
|
|
302
250
|
margin: 0 0 0 28px
|
|
303
|
-
|
|
251
|
+
|
|
304
252
|
// -- Sites ---------------------------------------------------------------
|
|
305
253
|
&.c-comfy-admin-cms-sites
|
|
306
254
|
table .icon
|
|
307
255
|
background: url(image-path("comfortable_mexican_sofa/icon_site.gif"))
|
|
308
|
-
|
|
256
|
+
|
|
309
257
|
// -- Layouts -------------------------------------------------------------
|
|
310
258
|
&.c-comfy-admin-cms-layouts
|
|
311
259
|
ul.list
|
|
@@ -314,14 +262,13 @@ body#comfy
|
|
|
314
262
|
background: url(image-path("comfortable_mexican_sofa/icon_layout.gif"))
|
|
315
263
|
.item-content
|
|
316
264
|
margin-left: 35px
|
|
317
|
-
|
|
265
|
+
|
|
318
266
|
// -- Pages ---------------------------------------------------------------
|
|
319
267
|
&.c-comfy-admin-cms-pages
|
|
320
268
|
#form-blocks
|
|
321
269
|
ul.nav-tabs
|
|
322
|
-
margin-
|
|
270
|
+
margin-bottom: 10px
|
|
323
271
|
.no-tags
|
|
324
|
-
margin-left: 180px
|
|
325
272
|
text-align: center
|
|
326
273
|
padding: 10px
|
|
327
274
|
background-color: #f5f5f5
|
|
@@ -335,17 +282,53 @@ body#comfy
|
|
|
335
282
|
padding: 0 5px
|
|
336
283
|
margin-bottom: 5px
|
|
337
284
|
font-size: 12px
|
|
338
|
-
|
|
285
|
+
|
|
339
286
|
// -- Snippets ------------------------------------------------------------
|
|
340
287
|
&.c-comfy-admin-cms-snippets
|
|
341
288
|
table .icon
|
|
342
289
|
background: url(image-path("comfortable_mexican_sofa/icon_snippet.gif"))
|
|
343
|
-
|
|
290
|
+
|
|
344
291
|
// -- Files ---------------------------------------------------------------
|
|
292
|
+
.cms-files-modal iframe
|
|
293
|
+
width: 100%
|
|
294
|
+
height: 100%
|
|
295
|
+
border: 0
|
|
296
|
+
|
|
345
297
|
&.c-comfy-admin-cms-files
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
298
|
+
.file-image img
|
|
299
|
+
width: 100%
|
|
300
|
+
table
|
|
301
|
+
.icon
|
|
302
|
+
background: url(image-path("comfortable_mexican_sofa/icon_file.gif"))
|
|
303
|
+
.content-type
|
|
304
|
+
font-size: 9px
|
|
305
|
+
text-transform: uppercase
|
|
306
|
+
input.file-path
|
|
307
|
+
width: 400px
|
|
308
|
+
font-size: 10px
|
|
309
|
+
|
|
310
|
+
tr.temp td.main
|
|
311
|
+
vertical-align: middle
|
|
312
|
+
.progress
|
|
313
|
+
margin: 0
|
|
314
|
+
box-shadow: none
|
|
315
|
+
background-color: #424242
|
|
316
|
+
.progress-bar
|
|
317
|
+
text-align: left
|
|
318
|
+
padding-left: 8px
|
|
319
|
+
span
|
|
320
|
+
white-space: nowrap
|
|
321
|
+
|
|
322
|
+
.cms-uploader-drag-drop-target-active
|
|
323
|
+
position: fixed !important
|
|
324
|
+
z-index: 1000
|
|
325
|
+
top: 0
|
|
326
|
+
left: 0
|
|
327
|
+
width: 100%
|
|
328
|
+
height: 100%
|
|
329
|
+
border: dotted #ccc 1px
|
|
330
|
+
background-color: rgba(255, 255, 255, 0.7)
|
|
331
|
+
|
|
349
332
|
// -- Revisions -----------------------------------------------------------
|
|
350
333
|
&.c-comfy-admin-cms-revisions
|
|
351
334
|
td.with-table
|