smithycms 0.6.1 → 0.6.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9ef3603f75dac8deb5a376d8b940d80929f143ed
4
- data.tar.gz: daf866a5e6562242e7e68a856764e90010f7aa1b
3
+ metadata.gz: 018b01cf5ecc5da13736a8510d7b6f46896cbfd1
4
+ data.tar.gz: 64e2790ec5c0df3f046c09a6a590acdf6f2a0456
5
5
  SHA512:
6
- metadata.gz: cd32f70f38a4f1a51b03c56ae5d601314b6aee76131ae75271fdbcb1ad87171c4ce037fe69b68fb54838c2bab4b9f75975ebf15e219affab94551a726efc7a47
7
- data.tar.gz: ed284bb439bf70777fd51216ea4cd1a2ed183140d6f2fdd29673ae446f040a5e19a7c1f19f23814da9b89df69b39d917a70b5500a704294f396b837a285b054f
6
+ metadata.gz: 3fd38664b501d9fb6d06ef918d25fc479507df000393a21f624d8f760dd7c167a6d5c83b55563e71ea4e2ba29325217639739d225ca7c25b0ab71e16ec6499e7
7
+ data.tar.gz: 4454069334657b4d12569529fd9a9e88884252786bf9a679d9434efcf70a4b7028130f52baab27600d48292d47ddea115d0a2dd5540a181b0cee65126add86f8
@@ -1,35 +1,37 @@
1
1
  $upload_button = $('#choose-files')
2
2
  $upload_form = $upload_button.closest('form')
3
- $file_input = $('#presigned_upload_field').find('input[type="file"]')
3
+ file_input_selector = '#presigned_upload_field input[type="file"]'
4
4
  presigned_upload_field_url = $upload_button.attr('data-presigned-upload-field-url')
5
5
 
6
+ $progress_bar = $($upload_form).append('<div class="progress" style="display:none;"><div class="progress-bar" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width:0;"></div></div>').find('.progress-bar')
7
+
6
8
  $upload_button.on 'click', (e) ->
7
- $file_input.click();
9
+ $(file_input_selector).click();
10
+
11
+ total_uploaded = 0
12
+ total_size = 0
8
13
 
9
14
  upload_files = (e) ->
10
- files = e.target.files
15
+ total_uploaded = 0
16
+ file_input = e.target
17
+ $file_input = $(file_input)
18
+ files = file_input.files
11
19
  if files.length
12
- $upload_form.submit()
13
-
14
- # Reset the file input, so that it can be used again
15
- $.get presigned_upload_field_url, ->
16
- $file_input = $('#presigned_upload_field').find('input[type="file"]')
17
- bind_file_input()
18
-
19
- $progress_bar = $($upload_form).append('<div class="progress"><div class="progress-bar" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width:0;"></div></div>').find('.progress-bar')
20
20
  total_size = 0; (total_size += file.size for file in files)
21
- total_uploaded = 0
22
-
23
- $(this).find("input[type=submit]").attr("disabled", true)
24
- $(document).on "upload:success", $upload_form, (e) ->
25
- total_uploaded += e.originalEvent.detail.file.size
26
- progress = parseInt(total_uploaded/total_size * 100, 10)
27
- $progress_bar.css('width', "#{progress}%").attr('aria-valuenow', progress)
28
- setTimeout((-> $progress_bar.parent().remove()), 2000) !$upload_form.find("input.uploading").length
29
- $(document).on "upload:failed", $upload_form, (e) ->
30
- $(this).addClass("upload-failed").append("<p>Something went wrong, please check your connection and try again</p>")
31
-
32
- bind_file_input = ->
33
- $file_input.on 'change', upload_files
21
+ $progress_bar.parent().show()
34
22
 
35
- bind_file_input()
23
+ $(document).on 'change', file_input_selector, upload_files
24
+ $(document).on "upload:success", $upload_form, (e) ->
25
+ total_uploaded += e.originalEvent.detail.file.size
26
+ progress = parseInt(total_uploaded/total_size * 100, 10)
27
+ $progress_bar.css('width', "#{progress}%").attr('aria-valuenow', progress)
28
+ if !$upload_form.find("input.uploading").length
29
+ $upload_form.submit()
30
+ setTimeout((-> $progress_bar.css('width', "0%").parent().hide()), 1000)
31
+ $(document).on "upload:failure", $upload_form, (e) ->
32
+ $(this).addClass("upload-failed").append("<p>Something went wrong, please check your connection and try again</p>")
33
+ $(document).on "upload:complete", $upload_form, (e) ->
34
+ console.log("Complete")
35
+ if !$upload_form.find("input.uploading").length
36
+ # Reset the file input, so that it can be used again
37
+ $.get presigned_upload_field_url
@@ -46,7 +46,7 @@ create_ace_toolbar = (editor, assets_modal_url, pages_modal_url) ->
46
46
  ]
47
47
  actions = [
48
48
  $("<a href='javascript:void(0);' data-command='bold'><i class='fa fa-bold'></i></a>"),
49
- $("<a href='javascript:void(0);' data-command='bold'><i class='fa fa-italic'></i></a>"),
49
+ $("<a href='javascript:void(0);' data-command='italic'><i class='fa fa-italic'></i></a>"),
50
50
  heading_dropdown,
51
51
  $("<a href='javascript:void(0);'><i class='fa fa-link'></i></a>").click(-> open_link_selector(pages_modal_url, editor))
52
52
  $("<a href='javascript:void(0);'>Image</a>").click(-> open_asset_selector(assets_modal_url, editor))
@@ -89,10 +89,16 @@ open_link_selector = (url, editor) ->
89
89
  $form = $modal.find('form')
90
90
  $label_field = $form.find('input[name="label"]')
91
91
 
92
+ $label_field.on 'keypress', ->
93
+ $(this).data('custom-text', true)
94
+
92
95
  $modal.on 'shown.bs.modal', ->
93
- $label_field.val(editor.getSelectedText()) if !editor.selection.isEmpty()
96
+ $label_field.val(editor.getSelectedText()).trigger('keypress') if !editor.selection.isEmpty()
94
97
  .trigger('shown.bs.modal')
95
98
 
99
+ $modal.on 'hidden.bs.modal', ->
100
+ $modal.find('form').trigger('reset')
101
+
96
102
  $url_fields = $form.find('select[name="page"], input[name="url"]')
97
103
  $form.find('select[name="type"]').on 'change', (e) ->
98
104
  $url_fields.closest('.form-group').addClass('hidden')
@@ -100,7 +106,7 @@ open_link_selector = (url, editor) ->
100
106
  .change()
101
107
 
102
108
  $form.find('select[name="page"]').on 'change', (e) ->
103
- $label_field.val($(this).find('option:selected').text().replace(/^[- ]+/, '')) if !$label_field.val().length
109
+ $label_field.val($(this).find('option:selected').text().replace(/^[- ]+/, '')) if !$label_field.data('custom-text')
104
110
 
105
111
  $modal.find('.btn.select').click ->
106
112
  $form.submit()
@@ -113,7 +119,6 @@ open_link_selector = (url, editor) ->
113
119
  link_string = link_string + '{:target="_blank"}' if form.open_in_new_tab.checked
114
120
  editor.insert(link_string)
115
121
  $modal.modal('toggle')
116
- $form.trigger('reset')
117
122
  editor.focus()
118
123
  return false
119
124
 
@@ -3,7 +3,7 @@ module Smithy
3
3
  include AssetsHelper
4
4
  delegate :params, :link_to, :image_tag, :number_to_human_size, :attachment_url, :attachment_image_tag, :file_type_icon, :check_box_tag, :render, to: :@view
5
5
 
6
- def initialize(view, view_type)
6
+ def initialize(view, view_type='index_view')
7
7
  @view = view
8
8
  @view_type = view_type
9
9
  end
@@ -38,7 +38,8 @@ module Smithy
38
38
  asset_preview_link(asset),
39
39
  asset.name,
40
40
  number_to_human_size(asset.file_size),
41
- asset.file_content_type
41
+ asset.file_content_type,
42
+ asset.updated_at.strftime('%b %e, %Y %H:%M:%S')
42
43
  ]
43
44
  else
44
45
  [
@@ -47,6 +48,7 @@ module Smithy
47
48
  asset.name,
48
49
  number_to_human_size(asset.file_size),
49
50
  asset.file_content_type,
51
+ asset.updated_at.strftime('%b %e, %Y %H:%M:%S'),
50
52
  render(partial: '/smithy/assets/actions', formats: :html, locals: { asset: asset })
51
53
  ]
52
54
  end
@@ -75,7 +77,11 @@ module Smithy
75
77
  end
76
78
 
77
79
  def sort_column
78
- columns = %w[delete preview name file_size file_content_type actions]
80
+ if @view_type == 'selector_view'
81
+ columns = %w[url preview name file_size file_content_type updated_at]
82
+ else
83
+ columns = %w[delete preview name file_size file_content_type updated_at actions]
84
+ end
79
85
  columns[params[:order][:"0"][:column].to_i]
80
86
  end
81
87
 
@@ -1,3 +1,3 @@
1
- <%= link_to "Copy URL", asset.url, class: "btn btn-primary btn-xs copy-to-clipboard", data: { 'clipboard-text' => asset.url } %>
1
+ <%= link_to "Copy URL", asset_path(asset), class: "btn btn-primary btn-xs copy-to-clipboard", data: { 'clipboard-text' => asset_path(asset) } %>
2
2
  <%= link_to "Edit", [:edit, asset], class: "btn btn-primary btn-xs" %>
3
3
  <%= link_to "Delete", asset, class: "btn btn-danger btn-xs", method: :delete, data: { confirm: "Are you sure?" } %>
@@ -5,7 +5,7 @@
5
5
  <%= f.inputs do %>
6
6
  <a id="choose-files" data-presigned-upload-field-url="<%= presigned_upload_field_asset_source_path(@asset_source) %>" class="btn btn-default" href="javascript:void(0);"><%= icon('cloud-upload') %> Upload files</a>
7
7
  <div id="presigned_upload_field" style="display:none;"><%= f.attachment_field :assets_files, multiple: true, direct: true, presigned: true %></div>
8
- <%= f.action :submit, label: 'Upload All', button_html: { style: 'display:none;' } %>
8
+ <%= f.action :submit, button_html: { style: 'display:none;' } %>
9
9
  <% end %>
10
10
  <% end %>
11
11
  </div>
@@ -14,7 +14,7 @@
14
14
  <%= semantic_form_for 'Asset', as: "assets", url: batch_destroy_assets_path, remote: true do |f| %>
15
15
  <%= f.action :submit, label: 'Delete Selected', button_html: { id: "delete_selected_assets", class: 'btn btn-danger', style: "display:none;" } %>
16
16
 
17
- <%= content_tag :table, id: "assets", class: "table table-striped responsive no-wrap display", data: { source: "#{ assets_url(format: "json") }" } do %>
17
+ <%= content_tag :table, id: "assets", class: "table table-striped responsive no-wrap display", data: { source: "#{ assets_url(format: "json") }", order: '[[ 5, "desc" ]]' } do %>
18
18
  <thead>
19
19
  <tr>
20
20
  <%= content_tag :th, check_box_tag("assets_table_select_all"), class: 'column_delete', style: 'width:20px;', data: { orderable: false, searchable: false } %>
@@ -22,6 +22,7 @@
22
22
  <th>Name</th>
23
23
  <th>Size</th>
24
24
  <th>Type</th>
25
+ <th>Last Updated</th>
25
26
  <%= content_tag :th, "Actions", data: { orderable: false, searchable: false } %>
26
27
  </tr>
27
28
  </thead>
@@ -2,7 +2,7 @@
2
2
  Insert Image(s)
3
3
  <% end %>
4
4
  <div>
5
- <%= content_tag :table, id: "assets", class: "table table-striped no-wrap display", data: { source: "#{ assets_url(format: "json", type: :selector_view) }" } do %>
5
+ <%= content_tag :table, id: "assets", class: "table table-striped no-wrap display", data: { source: "#{ assets_url(format: "json", type: :selector_view) }", order: '[[ 5, "desc" ]]' } do %>
6
6
  <thead>
7
7
  <tr>
8
8
  <%= content_tag :th, "", data: { orderable: false, searchable: false, visible: false } %>
@@ -10,6 +10,7 @@
10
10
  <th>Name</th>
11
11
  <th>Size</th>
12
12
  <th>Type</th>
13
+ <th>Last Updated</th>
13
14
  </tr>
14
15
  </thead>
15
16
  <% end %>
@@ -1,3 +1,3 @@
1
1
  module Smithy
2
- VERSION = "0.6.1"
2
+ VERSION = "0.6.2"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: smithycms
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.1
4
+ version: 0.6.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tim Glen