summaryrefslogtreecommitdiff
path: root/app/views/nodes/edit.html.erb
diff options
context:
space:
mode:
Diffstat (limited to 'app/views/nodes/edit.html.erb')
-rw-r--r--app/views/nodes/edit.html.erb144
1 files changed, 83 insertions, 61 deletions
diff --git a/app/views/nodes/edit.html.erb b/app/views/nodes/edit.html.erb
index 25f15c2..fc1d18f 100644
--- a/app/views/nodes/edit.html.erb
+++ b/app/views/nodes/edit.html.erb
@@ -33,48 +33,17 @@
33 </div> 33 </div>
34 <% end %> 34 <% end %>
35 35
36 <details id="metadata_details"> 36 <%= fields_for @page do |d| %>
37 <summary>Metadata (slug, parent, tags, template, author, images)</summary> 37 <div id="edit_grid">
38 <div id="metadata">
39 <div class="node_description">Slug</div>
40 <div class="node_content">
41 <%= f.text_field(
42 :staged_slug, :value => @node.staged_slug || @node.slug
43 )
44 %>
45 </div>
46
47 <div class="node_description">parent</div>
48 <div class="node_content">
49 <%= text_field_tag :move_to_search_term, @node.parent.title rescue "" %>
50 <div id="move_to_search_results" class="search_results"></div>
51 <%= f.hidden_field(
52 :staged_parent_id,
53 :value => @node.staged_parent_id || @node.parent_id
54 )
55 %>
56 </div>
57
58 <%= fields_for @page do |d| %>
59 <div class="node_description">Tags - comma seperated</div>
60 <div class="node_content"><%= text_field_tag :tag_list, @page.tag_list.join(', ') %></div>
61
62 <div class="node_description">Publish at</div>
63 <div class="node_content"><%= d.datetime_select :published_at, :value => @page.published_at %></div>
64 38
65 <div class="node_description">Template</div> 39 <div id="main_fields">
66 <div class="node_content"> 40 <div class="node_description">Title</div>
67 <%= d.select :template_name, custom_page_templates, {:prompt => 'Select Template'} %> 41 <div class="node_content"><%= d.text_field :title %></div>
68 <span class="field_hint">Set automatically based on how this node was created - change it if needed.</span>
69 </div>
70 42
71 <div class="node_description">Author</div> 43 <div class="node_description">Abstract</div>
72 <div class="node_content"> 44 <div class="node_content"><%= d.text_area :abstract %></div>
73 <%= d.select :user_id, user_list,
74 :selected => @page.user_id || @node.draft&.user_id || @node.head&.user_id %>
75 </div>
76 45
77 <div class="node_description">Images</div> 46 <div class="node_description">Attachments</div>
78 <div class="node_content"> 47 <div class="node_content">
79 <div id="related_assets" 48 <div id="related_assets"
80 data-search-url="<%= search_node_related_assets_path(@node) %>" 49 data-search-url="<%= search_node_related_assets_path(@node) %>"
@@ -82,17 +51,27 @@
82 <ul id="related_asset_list" class="thumbnail_list"> 51 <ul id="related_asset_list" class="thumbnail_list">
83 <% @page.related_assets.includes(:asset).each do |related| %> 52 <% @page.related_assets.includes(:asset).each do |related| %>
84 <li data-url="<%= node_related_asset_path(@node, related) %>" 53 <li data-url="<%= node_related_asset_path(@node, related) %>"
54 data-asset-id="<%= related.asset.id %>"
85 data-large-url="<%= related.asset.upload.url(:large) %>" 55 data-large-url="<%= related.asset.upload.url(:large) %>"
86 data-original-url="<%= related.asset.upload.url %>" 56 data-original-url="<%= related.asset.upload.url %>"
87 data-name="<%= related.asset.name %>"> 57 data-name="<%= related.asset.name %>"
58 data-has-credit="<%= related.asset.show_credit? %>"
59 data-headline="<%= related.headline? %>"
60 class="<%= "is_headline" if related.headline? %>">
88 <span class="related_asset_handle"><%= icon("grip-vertical", library: "tabler", "aria-hidden": true) %></span> 61 <span class="related_asset_handle"><%= icon("grip-vertical", library: "tabler", "aria-hidden": true) %></span>
89 <%= image_tag related.asset.upload.url(:thumb) %> 62 <%= image_tag related.asset.upload.url(:thumb) %>
63 <button type="button" class="related_asset_set_headline"
64 aria-pressed="<%= related.headline? %>" aria-label="Set as headline image"
65 title="Use this photo as the page's headline image">
66 <%= icon("star", library: "tabler", "aria-hidden": true) %>
67 </button>
90 <button type="button" class="related_asset_remove" aria-label="Remove image"> 68 <button type="button" class="related_asset_remove" aria-label="Remove image">
91 <%= icon("x", library: "tabler", "aria-hidden": true) %> 69 <%= icon("x", library: "tabler", "aria-hidden": true) %>
92 </button> 70 </button>
93 </li> 71 </li>
94 <% end %> 72 <% end %>
95 </ul> 73 </ul>
74 <p class="field_hint">The starred image or PDF becomes this page's headline on the public site. If none is starred, visitors get a link to browse all attached images instead.</p>
96 <%= text_field_tag nil, nil, id: "related_asset_search_term", placeholder: "Search images to attach…", autocomplete: "off" %> 75 <%= text_field_tag nil, nil, id: "related_asset_search_term", placeholder: "Search images to attach…", autocomplete: "off" %>
97 <div id="related_asset_search_results" class="search_results"></div> 76 <div id="related_asset_search_results" class="search_results"></div>
98 </div> 77 </div>
@@ -102,38 +81,81 @@
102 <li> 81 <li>
103 <span class="related_asset_handle"><%= icon("grip-vertical", library: "tabler", "aria-hidden": true) %></span> 82 <span class="related_asset_handle"><%= icon("grip-vertical", library: "tabler", "aria-hidden": true) %></span>
104 <img src=""> 83 <img src="">
84 <button type="button" class="related_asset_set_headline" aria-pressed="false" aria-label="Set as headline image">
85 <%= icon("star", library: "tabler", "aria-hidden": true) %>
86 </button>
105 <button type="button" class="related_asset_remove" aria-label="Remove image"> 87 <button type="button" class="related_asset_remove" aria-label="Remove image">
106 <%= icon("x", library: "tabler", "aria-hidden": true) %> 88 <%= icon("x", library: "tabler", "aria-hidden": true) %>
107 </button> 89 </button>
108 </li> 90 </li>
109 </template> 91 </template>
110
111 </div> 92 </div>
112 </details>
113 93
114 <div id="content"> 94 <details id="metadata_details">
115 <div class="node_description">Title</div> 95 <summary>Metadata (slug, parent, tags, template, author, images)</summary>
116 <div class="node_content"><%= d.text_field :title %></div> 96 <div id="metadata">
97 <div class="node_description">Slug</div>
98 <div class="node_content">
99 <%= f.text_field(
100 :staged_slug, :value => @node.staged_slug || @node.slug
101 )
102 %>
103 </div>
117 104
118 <div class="node_description">Abstract</div> 105 <div class="node_description">parent</div>
119 <div class="node_content"><%= d.text_area :abstract %></div> 106 <div class="node_content">
107 <%= text_field_tag :move_to_search_term, @node.parent.title rescue "" %>
108 <p class="field_hint">Start typing to find a new parent for this node.</p>
109 <div id="move_to_search_results" class="search_results"></div>
110 <%= f.hidden_field(
111 :staged_parent_id,
112 :value => @node.staged_parent_id || @node.parent_id
113 )
114 %>
115 </div>
120 116
121 <div class="node_description">Body</div> 117 <div class="node_description">Tags</div>
122 <div class="body_toolbar_row"> 118 <div class="node_content">
123 <button type="button" id="preview_toggle" class="view_toggle" aria-pressed="false" aria-label="Toggle live preview" title="Toggle live preview"> 119 <%= text_field_tag :tag_list, @page.tag_list.join(', ') %>
124 <%= icon("layout-sidebar-right", library: "tabler", "aria-hidden": true) %> <span>Live preview</span> 120 <span class="field_hint">Comma separated.</span>
125 </button> 121 </div>
126 <button type="button" id="preview_force_render" class="view_toggle" style="display:none" aria-label="Force preview render" title="Force preview render"> 122
127 <%= icon("refresh", library: "tabler", "aria-hidden": true) %> <span>Force refresh</span> 123 <div class="node_description">Publish at</div>
128 </button> 124 <div class="node_content"><%= d.datetime_select :published_at, :value => @page.published_at %></div>
129 </div> 125
126 <div class="node_description">Template</div>
127 <div class="node_content">
128 <%= d.select :template_name, custom_page_templates, {:prompt => 'Select Template'} %>
129 <span class="field_hint">Set automatically based on how this node was created - change it if needed.</span>
130 </div>
130 131
131 <div id="editor_and_preview"> 132 <div class="node_description">Author</div>
132 <div class="preview_content"> 133 <div class="node_content">
133 <div class="node_content"><%= d.text_area :body, :class => 'with_editor' %></div> 134 <%= d.select :user_id, user_list,
135 :selected => @page.user_id || @node.draft&.user_id || @node.head&.user_id %>
136 </div>
137
138 </div>
139 </details>
140
141 <div id="content">
142 <div class="node_description">Body</div>
143 <div class="body_toolbar_row">
144 <button type="button" id="preview_toggle" class="view_toggle" aria-pressed="false" aria-label="Toggle live preview" title="Toggle live preview">
145 <%= icon("layout-sidebar-right", library: "tabler", "aria-hidden": true) %> <span>Live preview</span>
146 </button>
147 <button type="button" id="preview_force_render" class="view_toggle" style="display:none" aria-label="Force preview render" title="Force preview render">
148 <%= icon("refresh", library: "tabler", "aria-hidden": true) %> <span>Force refresh</span>
149 </button>
134 </div> 150 </div>
135 <div id="preview_panel" style="display:none"> 151
136 <iframe id="live_preview_iframe" title="Live preview" data-src="<%= preview_page_path(@page, :locale => I18n.default_locale) %>"></iframe> 152 <div id="editor_and_preview">
153 <div class="preview_content">
154 <div class="node_content"><%= d.text_area :body, :class => 'with_editor' %></div>
155 </div>
156 <div id="preview_panel" style="display:none">
157 <iframe id="live_preview_iframe" title="Live preview" data-src="<%= preview_page_path(@page, :locale => I18n.default_locale) %>"></iframe>
158 </div>
137 </div> 159 </div>
138 </div> 160 </div>
139 </div> 161 </div>