smithycms 0.6.1 → 0.6.2

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: 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