summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
Diffstat (limited to 'app')
-rw-r--r--app/controllers/related_assets_controller.rb3
-rw-r--r--app/models/node.rb1
-rw-r--r--app/views/layouts/admin.html.erb1
-rw-r--r--app/views/nodes/edit.html.erb39
-rw-r--r--app/views/nodes/show.html.erb11
5 files changed, 40 insertions, 15 deletions
diff --git a/app/controllers/related_assets_controller.rb b/app/controllers/related_assets_controller.rb
index ae37d2f..479ebec 100644
--- a/app/controllers/related_assets_controller.rb
+++ b/app/controllers/related_assets_controller.rb
@@ -26,7 +26,8 @@ class RelatedAssetsController < ApplicationController
26 id: related.id, 26 id: related.id,
27 asset_id: asset.id, 27 asset_id: asset.id,
28 name: asset.name, 28 name: asset.name,
29 thumb_url: asset.upload.url(:thumb) 29 thumb_url: asset.upload.url(:thumb),
30 url: node_related_asset_path(@node, related)
30 } 31 }
31 end 32 end
32 33
diff --git a/app/models/node.rb b/app/models/node.rb
index 0361c1e..6f435ee 100644
--- a/app/models/node.rb
+++ b/app/models/node.rb
@@ -80,6 +80,7 @@ class Node < ApplicationRecord
80 80
81 unless self.autosave 81 unless self.autosave
82 self.autosave = Page.create!(:editor => current_user) 82 self.autosave = Page.create!(:editor => current_user)
83 self.autosave.assets = (self.draft || self.head).assets if self.draft || self.head
83 self.save! 84 self.save!
84 end 85 end
85 self.autosave.assign_attributes(attributes) 86 self.autosave.assign_attributes(attributes)
diff --git a/app/views/layouts/admin.html.erb b/app/views/layouts/admin.html.erb
index 5ae363f..8bbc0d5 100644
--- a/app/views/layouts/admin.html.erb
+++ b/app/views/layouts/admin.html.erb
@@ -13,6 +13,7 @@
13 <link rel="stylesheet" href="/stylesheets/admin.css"> 13 <link rel="stylesheet" href="/stylesheets/admin.css">
14 <script src="/javascripts/admin_search.js"></script> 14 <script src="/javascripts/admin_search.js"></script>
15 <script src="/javascripts/admin_interface.js"></script> 15 <script src="/javascripts/admin_interface.js"></script>
16 <script src="/javascripts/related_assets.js"></script>
16 <script> 17 <script>
17 var ADMIN_SEARCH_URL = "<%= admin_search_path %>"; 18 var ADMIN_SEARCH_URL = "<%= admin_search_path %>";
18 var ADMIN_MENU_SEARCH_URL = "<%= admin_menu_search_path %>"; 19 var ADMIN_MENU_SEARCH_URL = "<%= admin_menu_search_path %>";
diff --git a/app/views/nodes/edit.html.erb b/app/views/nodes/edit.html.erb
index 1ac05e0..e0e51d8 100644
--- a/app/views/nodes/edit.html.erb
+++ b/app/views/nodes/edit.html.erb
@@ -76,24 +76,35 @@
76 76
77 <div class="node_description">Images</div> 77 <div class="node_description">Images</div>
78 <div class="node_content"> 78 <div class="node_content">
79 <ul id="image_box" rel="<%= @page.id %>"> 79 <div id="related_assets"
80 <% @page.assets.images.each do |image| %> 80 data-search-url="<%= search_node_related_assets_path(@node) %>"
81 <li rel="images_<%= image.id %>"> 81 data-create-url="<%= node_related_assets_path(@node) %>">
82 <%= image_tag(image.upload.url(:thumb)) %> 82 <ul id="related_asset_list" class="thumbnail_list">
83 </li> 83 <% @page.related_assets.includes(:asset).each do |related| %>
84 <% end %> 84 <li data-url="<%= node_related_asset_path(@node, related) %>">
85 </ul> 85 <span class="related_asset_handle"><%= icon("grip-vertical", library: "tabler", "aria-hidden": true) %></span>
86 <div class="clear_left right"> 86 <%= image_tag related.asset.upload.url(:thumb) %>
87 <a id="image_browser_toggle" class="unselected" href="#">image browser</a> 87 <button type="button" class="related_asset_remove" aria-label="Remove image">
88 </div> 88 <%= icon("x", library: "tabler", "aria-hidden": true) %>
89 <div id="image_browser"> 89 </button>
90 <ul> 90 </li>
91 <% Asset.images.each do |image| %>
92 <li rel="images_<%= image.id %>"><%= image_tag(image.upload.url(:thumb)) %></li>
93 <% end %> 91 <% end %>
94 </ul> 92 </ul>
93 <%= text_field_tag nil, nil, id: "related_asset_search_term", placeholder: "Search images to attach…", autocomplete: "off" %>
94 <div id="related_asset_search_results" class="search_results"></div>
95 </div> 95 </div>
96 </div> 96 </div>
97
98 <template id="related_asset_template">
99 <li>
100 <span class="related_asset_handle"><%= icon("grip-vertical", library: "tabler", "aria-hidden": true) %></span>
101 <img src="">
102 <button type="button" class="related_asset_remove" aria-label="Remove image">
103 <%= icon("x", library: "tabler", "aria-hidden": true) %>
104 </button>
105 </li>
106 </template>
107
97 </div> 108 </div>
98 </details> 109 </details>
99 110
diff --git a/app/views/nodes/show.html.erb b/app/views/nodes/show.html.erb
index 280e492..8ea03cd 100644
--- a/app/views/nodes/show.html.erb
+++ b/app/views/nodes/show.html.erb
@@ -152,6 +152,17 @@
152 <div class="node_description">Tags</div> 152 <div class="node_description">Tags</div>
153 <div class="node_content node_info_group"><%= @page.tag_list %></div> 153 <div class="node_content node_info_group"><%= @page.tag_list %></div>
154 154
155 <% if @page.assets.images.any? %>
156 <div class="node_description">Images</div>
157 <div class="node_content node_info_group">
158 <ul class="thumbnail_list">
159 <% @page.assets.images.each do |asset| %>
160 <li><%= link_to image_tag(asset.upload.url(:thumb)), asset_path(asset) %></li>
161 <% end %>
162 </ul>
163 </div>
164 <% end %>
165
155 <div class="node_description">Events</div> 166 <div class="node_description">Events</div>
156 <div class="node_content node_info_group"> 167 <div class="node_content node_info_group">
157 <ul> 168 <ul>