Permalink
Browse files

fixed nested_form dependencies, added gmap3

  • Loading branch information...
1 parent 3c17735 commit 41f6b2526f516a6acf51989ccddc6e43bb310932 @Crunch09 committed Mar 23, 2013
@@ -120,13 +120,9 @@
:delete_title => t('delete', :scope => 'refinery.reports.admin.reports.report'),
:delete_confirmation => t('message', :scope => 'refinery.admin.delete', :title => @report.keyword) %>
<% end -%>
-<% content_for :stylesheets do %>
- <%= stylesheet_link_tag 'reports' %>
-<% end %>
<% content_for :javascripts do %>
<script src="https://maps.googleapis.com/maps/api/js?keyAIzaSyAn0P5CUJVzdB7fOEYAt6Sz1gEkUtB_leg&sensor=false"
type="text/javascript"></script>
- <%= javascript_include_tag 'gmap3.min' %>
<script>
$(document).ready(function(){
@@ -1,4 +1,6 @@
Refinery::Core.configure do |config|
- config.register_javascript "admin"
+ config.register_javascript "reports"
+ config.register_javascript "jquery_nested_form"
+ config.register_javascript "gmap3.min"
config.register_stylesheet "reports", :media => 'screen'
end
@@ -1 +1,2 @@
require 'refinery/reports'
+require 'nested_form'
@@ -13,6 +13,8 @@ Gem::Specification.new do |s|
# Runtime dependencies
s.add_dependency 'refinerycms-core', '~> 2.0.8'
+ s.add_dependency 'nested_form'
+ s.add_dependency 'carrierwave'
# Development dependencies (usually used for testing)
s.add_development_dependency 'refinerycms-testing', '~> 2.0.8'
@@ -1,106 +0,0 @@
-jQuery(function($) {
- window.NestedFormEvents = function() {
- this.addFields = $.proxy(this.addFields, this);
- this.removeFields = $.proxy(this.removeFields, this);
- };
-
- NestedFormEvents.prototype = {
- addFields: function(e) {
- // Setup
- var link = e.currentTarget;
- var assoc = $(link).data('association'); // Name of child
- var blueprint = $('#' + $(link).data('blueprint-id'));
- var content = blueprint.data('blueprint'); // Fields template
-
- // Make the context correct by replacing <parents> with the generated ID
- // of each of the parent objects
- var context = ($(link).closest('.fields').closestChild('input, textarea, select').eq(0).attr('name') || '').replace(new RegExp('\[[a-z_]+\]$'), '');
-
- // context will be something like this for a brand new form:
- // project[tasks_attributes][1255929127459][assignments_attributes][1255929128105]
- // or for an edit form:
- // project[tasks_attributes][0][assignments_attributes][1]
- if (context) {
- var parentNames = context.match(/[a-z_]+_attributes/g) || [];
- var parentIds = context.match(/[0-9]+/g) || [];
-
- for(var i = 0; i < parentNames.length; i++) {
- if(parentIds[i]) {
- content = content.replace(
- new RegExp('(_' + parentNames[i] + ')_.+?_', 'g'),
- '$1_' + parentIds[i] + '_');
-
- content = content.replace(
- new RegExp('(\\[' + parentNames[i] + '\\])\\[.+?\\]', 'g'),
- '$1[' + parentIds[i] + ']');
- }
- }
- }
-
- // Make a unique ID for the new child
- var regexp = new RegExp('new_' + assoc, 'g');
- var new_id = new Date().getTime();
- content = content.replace(regexp, new_id);
-
- var field = this.insertFields(content, assoc, link);
- // bubble up event upto document (through form)
- field
- .trigger({ type: 'nested:fieldAdded', field: field })
- .trigger({ type: 'nested:fieldAdded:' + assoc, field: field });
- return false;
- },
- insertFields: function(content, assoc, link) {
- return $(content).insertBefore(link);
- },
- removeFields: function(e) {
- var $link = $(e.currentTarget),
- assoc = $link.data('association'); // Name of child to be removed
-
- var hiddenField = $link.prev('input[type=hidden]');
- hiddenField.val('1');
-
- var field = $link.closest('.fields');
- field.hide();
-
- field
- .trigger({ type: 'nested:fieldRemoved', field: field })
- .trigger({ type: 'nested:fieldRemoved:' + assoc, field: field });
- return false;
- }
- };
-
- window.nestedFormEvents = new NestedFormEvents();
- $(document)
- .delegate('form a.add_nested_fields', 'click', nestedFormEvents.addFields)
- .delegate('form a.remove_nested_fields', 'click', nestedFormEvents.removeFields);
-});
-
-// http://plugins.jquery.com/project/closestChild
-/*
- * Copyright 2011, Tobias Lindig
- *
- * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
- * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
- *
- */
-(function($) {
- $.fn.closestChild = function(selector) {
- // breadth first search for the first matched node
- if (selector && selector != '') {
- var queue = [];
- queue.push(this);
- while(queue.length > 0) {
- var node = queue.shift();
- var children = node.children();
- for(var i = 0; i < children.length; ++i) {
- var child = $(children[i]);
- if (child.is(selector)) {
- return child; //well, we found one
- }
- queue.push(child);
- }
- }
- }
- return $();//nothing found
- };
-})(jQuery);

Large diffs are not rendered by default.

Oops, something went wrong.
@@ -12,5 +12,4 @@
//
//= require jquery
//= require jquery_ujs
-//= require jquery_nested_form
//= require_tree .

0 comments on commit 41f6b25

Please sign in to comment.