Skip to content

Commit

Permalink
eigenschema fixes, moves meta editor templates into central dir
Browse files Browse the repository at this point in the history
  • Loading branch information
molily committed Dec 1, 2009
1 parent aec0190 commit 34f1a0c
Show file tree
Hide file tree
Showing 6 changed files with 185 additions and 12 deletions.
24 changes: 14 additions & 10 deletions app/views/vrame/categories/edit_eigenvalues.html.erb
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,20 @@

<% form_for [:vrame, @category] do |f| %>

<fieldset>
<% @category.eigenschema.fields.each do |field| %>
<%= render :partial => 'vrame/documents/meta_field', :locals => { :parent => @category, :parent_name => 'category', :field => field } %>
<% end %>
</fieldset>
<fieldset>
<% @category.eigenschema.fields.each do |field| %>
<%= render :partial => 'vrame/shared/meta_editor/meta_field', :locals => {
:parent => @category,
:parent_name => 'category',
:field => field
} %>
<% end %>
</fieldset>

<ul>
<li class="last">
<%= f.submit 'Speichern', :class => 'submit' %> oder <%= link_to '« zurück', vrame_categories_path %>
</li>
</ul>
<ul>
<li class="last">
<%= f.submit 'Speichern', :class => 'submit' %> oder <%= link_to '« zurück', vrame_categories_path %>
</li>
</ul>

<% end %>
7 changes: 5 additions & 2 deletions app/views/vrame/documents/_form.html.erb
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,11 @@
<h3>Meta-Informationen</h3>
<ul id="meta-fields">
<% category.schema.fields.each do |field| %>
<%= render :partial => 'meta_field',
:locals => { :parent => document, :parent_name => 'document', :field => field } %>
<%= render :partial => 'vrame/shared/meta_editor/meta_field', :locals => {
:parent => document,
:parent_name => 'document',
:field => field
} %>
<% end %>
</ul>
</fieldset>
Expand Down
54 changes: 54 additions & 0 deletions app/views/vrame/shared/meta_editor/_file_upload.html.erb
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
<% if defined?(asset) :
type = 'asset'
assets = [asset]
id = asset.try(:id)
elsif defined?(collection) :
type = 'collection'
assets = collection.is_a?(Collection) ? collection.assets : []
id = collection.try(:id)
end %>

<% parent_name = parent.class.to_s %>
<% parent_name_lowercase = parent_name.downcase %>

<div
class = "file-upload"
data-upload-token = "<%= current_user.single_access_token %>"
data-parent-id = "<%= parent.id %>"
data-parent-type = "<%= parent_name %>"
data-upload-type = "<%= type %>"
<% if defined?(uid) %> <%# TODO Dirty Hack %>
data-schema-class = "Category"
data-schema-id = "<%= parent.is_a?(Category) ? parent.id : parent.category.id %>"
data-schema-attr = "schema"
data-schema-uid = "<%= uid %>"
<% end %>
<% if type == 'collection' and id -%>
data-collection-id = "<%= id %>"
<%- end %>
>

<%# ****** Field with child id (asset or collection)%>
<input type="text" name="<%= field_name %>" value="<%= id %>" class="<%= type %>-id" />

<%# ****** Field to set up child-to-parent relation %>
<input type="text" name="<%=h parent_name_lowercase %>[<%= type %>_ids][]" value="<%= id %>" class="<%= type %>-id" />

<%# ****** Placeholder element for Flash upload button %>
<% defined?(@upload_button_number) ? @upload_button_number += 1 : @upload_button_number = 1 %>
<p class="upload-button" id="upload-button-<%= @upload_button_number %>">
Bitte aktivieren Sie Flash für den Datei-Upload.
</p>

<%# ****** Upload Queue %>
<ol class="upload-queue"></ol>

<%# ****** Collection sorting %>
<% if type == 'collection' && id %>
<p id="rearrange-collection"><%= link_to "Assets sortieren", rearrange_vrame_collection_path(collection), :class => 'smaller button invert' %></p>
<% end %>

<%# ****** Asset list %>
<%= render :partial => 'vrame/shared/asset_list', :locals => { :assets => assets } %>

</div><!-- /.file-upload -->
81 changes: 81 additions & 0 deletions app/views/vrame/shared/meta_editor/_meta_field.html.erb
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
<% field_name = parent_name + "[meta[#{field.uid}]]" %>
<% field_id = parent_name + "-meta-#{field.uid}" %>
<% value = parent.meta[field.name] %>

<li class="meta-field clearfix">

<h3><label for="<%= field_id %>"><%= h field.title %></label></h3>

<% unless field.description.blank? %>
<p class="meta-field-description"><%=h field.description %></p>
<% end %>

<div class="input-container">

<% case field when JsonObject::Types::String %>

<input type="text" name="<%= field_name %>" id="<%= field_id %>" value="<%= h value %>" />

<% when JsonObject::Types::Text %>

<textarea name="<%= field_name %>" id="<%= field_id %>" class="rte-zone"><%= value %></textarea>

<% when JsonObject::Types::Bool %>

<%= hidden_field_tag field_name, 0 %>
<label>
<%= check_box_tag field_name, '1', value %>
Aktivieren
</label>

<% when JsonObject::Types::Datetime %>

<input type="text" name="<%= field_name %>" id="<%= field_id %>" value="<%= value %>" class="datepicker" />

<% when JsonObject::Types::Select %>

<%= render :partial => 'vrame/shared/meta_editor/select_options', :locals => {
:field => field,
:field_name => field_name,
:value => value
} %>

<% when JsonObject::Types::MultiSelect %>

<%= render :partial => 'vrame/shared/meta_editor/select_options', :locals => {
:field => field,
:field_name => field_name,
:value => value
} %>

<% when JsonObject::Types::Asset %>

<%= render :partial => 'vrame/shared/meta_editor/file_upload', :locals => {
:field_name => field_name,
:uid => field.uid,
:asset => value,
:parent => parent
} %>

<% when JsonObject::Types::Collection %>

<%= render :partial => 'vrame/shared/meta_editor/file_upload', :locals => {
:field_name => field_name,
:uid => field.uid,
:collection => value,
:parent => parent
} %>

<% when JsonObject::Types::Placemark %>

<%= render :partial => 'placemark', :locals => {
:field_name => field_name,
:field_id => field_id,
:parent => parent,
:value => value
} %>

<% end %>

</div><!-- /.input-container -->
</li><!-- /li.meta-field -->
12 changes: 12 additions & 0 deletions app/views/vrame/shared/meta_editor/_placemark.html.erb
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<% parent_name = parent.class.to_s %>
<% parent_name_lowercase = parent_name.downcase %>

<div class="placemark" id="<%= field_id %>" data-parent-id="<%=h parent.id %>" data-parent-type="<%=h parent_name %>">
<input type="text" class="address">
(<a href="javascript:GMap.update('<%= field_id %>')">Karte aktualisieren</a>)
<img src="/vrame/images/admin/ajax-loading-white.gif" style="display:none; vertical-align: text-bottom" id="geolocation_spinner">
<br/><br/>
<div class="map_canvas" style="width:50%; height:300px"></div><br/>
<input type="hidden" name="<%= field_name %>" class="json_string" value="<%= h value %>">

</div>
19 changes: 19 additions & 0 deletions app/views/vrame/shared/meta_editor/_select_options.html.erb
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
<ol class="select-options">
<% field.options.each do |option| %>
<li>
<label>
<input
<% if field.is_a? JsonObject::Types::MultiSelect %>
type="checkbox"
<%= 'checked="checked"' if value.is_a?(Array) && value.include?(option) %>
<% else %>
type="radio"
<%= 'checked="checked"' if value == option %>
<% end %>
name="<%= field_name %>"
value="<%=h option %>">
<%= h option %>
</label>
</li>
<% end %>
</ol>

0 comments on commit 34f1a0c

Please sign in to comment.