muck-engine 3.2.10 → 3.3.0

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.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 3.2.10
1
+ 3.3.0
@@ -5,6 +5,7 @@
5
5
  <div id="colorSelector<%=html_id%>" class="color-selector">
6
6
  <div id="colorSelectorDisplay<%=html_id%>" style="background-color:#<%=color%>;"></div>
7
7
  </div>
8
+ <% content_for :javascript do -%>
8
9
  <script type="text/javascript" language="JavaScript">
9
10
  jQuery(document).ready(function() {
10
11
  jQuery('#colorSelector<%=html_id%>').ColorPicker({
@@ -24,4 +25,5 @@
24
25
  });
25
26
  });
26
27
  </script>
28
+ <% end -%>
27
29
  </div>
@@ -15,5 +15,6 @@
15
15
  </div>
16
16
  </div>
17
17
  <%= render :partial => 'layouts/admin/footer' %>
18
+ <%= yield :javascript %>
18
19
  </body>
19
20
  </html>
@@ -1,7 +1,3 @@
1
1
  <div id="footer">
2
2
 
3
- </div>
4
-
5
- <script type="text/javascript" language="JavaScript">
6
- <%= yield :javascript %>
7
- </script>
3
+ </div>
@@ -1,20 +1,12 @@
1
1
  <title><%= @page_title || MuckEngine.configuration.application_name %></title>
2
2
  <meta http-equiv="content-type" content="text/xhtml; charset=utf-8" />
3
- <%= google_load_jquery_ui_css(http_protocol, 'smoothness', '1.8.9') %>
4
- <%= stylesheet_link_tag 'blueprint/print.css', :media => "print" %>
5
- <!--[if IE]><link rel="stylesheet" href="/stylesheets/blueprint/ie.css" type="text/css" media="screen, projection"><![endif]-->
6
- <%= stylesheet_link_tag %W{ reset styles blueprint/liquid_screen jquery/jquery.autocomplete jquery/jquery.fancybox admin }, :cache => 'admin_styles' %>
7
- <%= stylesheet_link_tag MuckEngine.configuration.muck_admin_css -%>
8
- <%= google_load_jquery(http_protocol, '1.5.1') %>
9
- <%= google_load_jquery_ui(http_protocol, '1.8.9') %>
10
- <%= javascript_include_tag %w{
11
- jquery/jquery.form.js
12
- jquery/jquery.jgrowl.js
13
- jquery/jquery.tips.js
14
- jquery/jquery.fancybox.js
15
- rails.js
16
- muck_admin.js
17
- muck.js
18
- application.js }, :cache => 'admin_js_cached' %>
3
+ <meta http-equiv="imagetoolbar" content="no" />
4
+ <meta name="distribution" content="all" />
5
+ <meta name="robots" content="all" />
6
+ <meta name="resource-type" content="document" />
7
+ <meta name="MSSmartTagsPreventParsing" content="true" />
8
+ <%= include_stylesheets :admin -%>
9
+ <%= include_javascripts :admin -%>
19
10
  <%= javascript_tag %[const AUTH_TOKEN = #{form_authenticity_token.inspect};] if protect_against_forgery? %>
20
- <%= yield :head -%>
11
+ <%= yield :head -%>
12
+ <%= csrf_meta_tag %>
@@ -5,25 +5,8 @@
5
5
  <meta name="robots" content="all" />
6
6
  <meta name="resource-type" content="document" />
7
7
  <meta name="MSSmartTagsPreventParsing" content="true" />
8
- <%= stylesheet_link_tag 'blueprint/print.css', :media => "print" %>
9
- <!--[if IE]><link rel="stylesheet" href="/stylesheets/blueprint/ie.css" type="text/css" media="screen, projection"><![endif]-->
10
- <% if MuckEngine.configuration.local_jquery -%>
11
- <link rel="stylesheet" href="/stylesheets/jquery/smoothness/jquery-ui-1.8.4.custom.css" type="text/css" />
12
- <script src="/javascripts/jquery/jquery.js" type="text/javascript"></script>
13
- <script src="/javascripts/jquery/jquery-ui-1.8.4.custom.min.js" type="text/javascript"></script>
14
- <% else -%>
15
- <%= google_load_jquery_ui_css(http_protocol, 'smoothness', '1.8.4') %>
16
- <%= google_load_jquery(http_protocol, '1.4.2') %>
17
- <%= google_load_jquery_ui(http_protocol, '1.8.4') %>
18
- <% end -%>
19
- <%= stylesheet_link_tag %W{ reset styles blueprint/screen.css default }, :cache => true %>
20
- <%= javascript_include_tag %w{
21
- jquery/jquery.form.js
22
- jquery/jquery.jgrowl.js
23
- jquery/jquery.tips.js
24
- jquery/jquery.easing.js
25
- jquery/jquery.fancybox.js
26
- muck.js
27
- application.js }, :cache => 'all_js_cached' %>
8
+ <%= include_stylesheets :common %>
9
+ <%= include_javascripts :common, :site %>
28
10
  <%= javascript_tag %[const AUTH_TOKEN = #{form_authenticity_token.inspect};] if protect_against_forgery? %>
29
- <%= yield :head -%>
11
+ <%= yield :head -%>
12
+ <%= csrf_meta_tag %>
@@ -1,3 +1,3 @@
1
- <% content_for :head do -%>
2
- <%= javascript_include_tag 'muck-countries' %>
1
+ <% content_for :javascript do -%>
2
+ <%= javascript_include_tag 'muck_countries' %>
3
3
  <% end -%>
@@ -1,4 +1,5 @@
1
- <script type="text/javascript">
1
+ <% content_for :javascript do -%>
2
+ <script type="text/javascript" language="JavaScript">
2
3
  // parseUri 1.2.2
3
4
  // (c) Steven Levithan <stevenlevithan.com>
4
5
  // MIT License
@@ -27,4 +28,5 @@ parseUri.options = {
27
28
  loose: /^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/
28
29
  }
29
30
  };
30
- </script>
31
+ </script>
32
+ <% end -%>
@@ -1,5 +1,6 @@
1
1
  <% if MuckEngine.configuration.growl_enabled -%>
2
- <script type="text/javascript">
2
+ <% content_for :javascript do -%>
3
+ <script type="text/javascript" language="JavaScript">
3
4
  jQuery(document).ready(function() {
4
5
  jQuery('#errorExplanation').hide();
5
6
  var message = jQuery('#errorExplanation').html();
@@ -13,4 +14,5 @@
13
14
  }
14
15
  });
15
16
  </script>
17
+ <% end -%>
16
18
  <% end -%>
@@ -1,3 +1,5 @@
1
1
  <% content_for :javascript do -%>
2
+ <script type="text/javascript" language="JavaScript">
2
3
  jQuery.jGrowl('<%=msg%>', <%=options%>);
4
+ </script>
3
5
  <% end -%>
@@ -69,15 +69,6 @@ module MuckEngine
69
69
  muck_dashboard_items << OpenStruct.new(:path => path,
70
70
  :locals => locals)
71
71
  end
72
-
73
- def muck_admin_css
74
- @@muck_admin_css ||= []
75
- end
76
-
77
- # Add css for the admin UI
78
- def add_muck_admin_css(css_file)
79
- muck_admin_css << css_file
80
- end
81
72
 
82
73
  def initialize
83
74
  self.application_url = 'localhost:3000'
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{muck-engine}
8
- s.version = "3.2.10"
8
+ s.version = "3.3.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Justin Ball", "Joel Duffin"]
12
- s.date = %q{2011-03-15}
12
+ s.date = %q{2011-03-19}
13
13
  s.description = %q{The base engine for the muck system. Contains common tables, custom for, css and javascript.}
14
14
  s.email = %q{justin@tatemae.com}
15
15
  s.extra_rdoc_files = [
@@ -151,10 +151,9 @@ Gem::Specification.new do |s|
151
151
  "lib/test/shoulda_macros/plugins.rb",
152
152
  "lib/test/shoulda_macros/scopes.rb",
153
153
  "muck-engine.gemspec",
154
- "public/javascripts/muck-countries.js",
155
- "public/javascripts/muck-src.js",
156
154
  "public/javascripts/muck.js",
157
155
  "public/javascripts/muck_admin.js",
156
+ "public/javascripts/muck_countries.js",
158
157
  "public/javascripts/muck_time/en.js",
159
158
  "public/stylesheets/admin.css",
160
159
  "public/stylesheets/reset.css",
@@ -1,5 +1,149 @@
1
- jQuery(document).ajaxSend(function(a,b,c){add_headers(b);if(!(c.type.toUpperCase()=="GET"||typeof AUTH_TOKEN=="undefined")){c.data=c.data||"";if(typeof AUTH_TOKEN!="undefined")c.data+=(c.data?"&":"")+"authenticity_token="+encodeURIComponent(AUTH_TOKEN)}});function apply_ajax_forms(){jQuery("form.ajax").ajaxForm({dataType:"script",beforeSend:add_headers});jQuery("form.ajax").append('<input type="hidden" name="format" value="js" />')}
2
- function add_headers(a){a.setRequestHeader("Accept","text/javascript");a.setRequestHeader("X-Requested-With","XMLHttpRequest")}
3
- jQuery(document).ready(function(){jQuery("a.ajax-delete").live("click",function(){var a=jQuery(this).attr("title"),b=true;if(a.length>0)b=confirm(a);b&&jQuery.post(this.href,{_method:"delete",format:"js"},null,"script");return false});jQuery("a.ajax-update").live("click",function(){jQuery.post(this.href,{_method:"put",format:"js"},null,"script");return false});jQuery(".submit-form").click(function(){jQuery(this).parent("form").submit()});apply_ajax_forms();jQuery("a.dialog-pop").live("click",function(){var a=
4
- jQuery('<div class="dialog"></div>').appendTo("body");a.dialog({modal:true,autoOpen:false,width:"auto",title:jQuery(this).attr("title")});a.load(jQuery(this).attr("href"),"",function(){a.dialog("open");apply_ajax_forms()});return false});jQuery(".submit-delete").live("click",function(){jQuery(this).parents(".delete-container").fadeOut();var a=jQuery(this).parents("form");jQuery.post(a.attr("action")+".json",a.serialize(),function(b){b=eval("("+b+")");b.success||jQuery.jGrowl.info(b.message)});return false});
5
- jQuery(".submit-delete-js").live("click",function(){jQuery(this).parents(".delete-container").fadeOut();var a=jQuery(this).parents("form");jQuery.post(a.attr("action")+".js",a.serialize(),function(){});return false});jQuery(document).ready(function(){jQuery(".waiting").hide();jQuery(".wait-button").click(function(){jQuery(".waiting").show();jQuery(this).hide()})})});
1
+ // compress with http://closure-compiler.appspot.com/home
2
+ //jQuery.noConflict();
3
+ jQuery(document).ajaxSend(function(event, request, settings) {
4
+ add_headers(request);
5
+ if (settings.type.toUpperCase() == 'GET' || typeof(AUTH_TOKEN) == "undefined") return; // for details see: http://www.justinball.com/2009/07/08/jquery-ajax-get-in-firefox-post-in-internet-explorer/
6
+ // settings.data is a serialized string like "foo=bar&baz=boink" (or null)
7
+ settings.data = settings.data || "";
8
+ if (typeof(AUTH_TOKEN) != "undefined")
9
+ settings.data += (settings.data ? "&" : "") + "authenticity_token=" + encodeURIComponent(AUTH_TOKEN);
10
+ });
11
+
12
+ function apply_ajax_forms() {
13
+ jQuery('form.ajax').ajaxForm({
14
+ dataType: 'script',
15
+ beforeSend: add_headers
16
+ });
17
+ jQuery('form.ajax').append('<input type="hidden" name="format" value="js" />');
18
+ }
19
+
20
+ function add_headers(xhr){
21
+ xhr.setRequestHeader("Accept", "text/javascript");
22
+ xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");
23
+ }
24
+
25
+ jQuery(document).ready(function() {
26
+
27
+ jQuery('a.ajax-delete').live('click', function() {
28
+ var title = jQuery(this).attr('title');
29
+ var do_delete = true;
30
+ if(title.length > 0){
31
+ do_delete = confirm(title);
32
+ }
33
+ if (do_delete){
34
+ jQuery.post(this.href, { _method: 'delete', format: 'js' }, null, "script");
35
+ }
36
+ return false;
37
+ });
38
+
39
+ jQuery('a.ajax-update').live('click', function() {
40
+ jQuery.post(this.href, { _method: 'put', format: 'js' }, null, "script");
41
+ return false;
42
+ });
43
+
44
+ jQuery(".submit-form").click(function() {
45
+ jQuery(this).parent('form').submit();
46
+ });
47
+
48
+ //jQuery("ul.drop-menu").menu();
49
+
50
+ apply_ajax_forms();
51
+
52
+ jQuery('a.dialog-pop').live('click', function() {
53
+ var d = jQuery('<div class="dialog"></div>').appendTo("body");
54
+ d.dialog({ modal: true, autoOpen: false, width: 'auto', title: jQuery(this).attr('title') });
55
+ d.load(jQuery(this).attr('href'), '', function(){
56
+ d.dialog("open");
57
+ apply_ajax_forms();
58
+ });
59
+ return false;
60
+ });
61
+
62
+ jQuery(".submit-delete").live('click', function() {
63
+ jQuery(this).parents('.delete-container').fadeOut();
64
+ var form = jQuery(this).parents('form');
65
+ jQuery.post(form.attr('action') + '.json', form.serialize(),
66
+ function(data){
67
+ var json = eval('(' + data + ')');
68
+ if(!json.success){
69
+ jQuery.jGrowl.info(json.message);
70
+ }
71
+ });
72
+ return false;
73
+ });
74
+
75
+ jQuery(".submit-delete-js").live('click', function() {
76
+ jQuery(this).parents('.delete-container').fadeOut();
77
+ var form = jQuery(this).parents('form');
78
+ jQuery.post(form.attr('action') + '.js', form.serialize(),
79
+ function(data){
80
+ });
81
+ return false;
82
+ });
83
+
84
+ jQuery(document).ready(function() {
85
+ jQuery('.waiting').hide();
86
+ jQuery(".wait-button").live('click', function() {
87
+ jQuery(this).siblings('.waiting').show();
88
+ jQuery(this).hide();
89
+ });
90
+ });
91
+
92
+ });
93
+
94
+ // String list methods. These are handy for dealing with comma delimited lists
95
+ // in text boxes such as a list of emails or tags.
96
+ // Given a comma delimited string add a new item if it isn't in the string
97
+ function add_to_list(items_string, new_item){
98
+ var items = split_list(items_string);
99
+ var add = true;
100
+ for(i=0;i<items.length;i++){
101
+ if(items[i] == new_item){ add = false; }
102
+ }
103
+ if(add){
104
+ items.push(new_item);
105
+ }
106
+ return items.join(', ');
107
+ }
108
+
109
+ // Given a comma delimited list remove an item from the string
110
+ function remove_from_list(items_string, remove_item){
111
+ var items = split_list(items_string);
112
+ var cleaned = [];
113
+ for(i=0;i<items.length;i++){
114
+ if(items[i] != remove_item){
115
+ cleaned.push(items[i]);
116
+ }
117
+ }
118
+ return cleaned.join(', ');
119
+ }
120
+
121
+ // Split a string on commas
122
+ function split_list(items_string){
123
+ if(undefined != items_string && items_string.length > 0){
124
+ var items = items_string.split(',');
125
+ } else {
126
+ var items = [];
127
+ }
128
+ var cleaned = [];
129
+ for(i=0;i<items.length;i++){
130
+ var cleaned_item = jQuery.trim(items[i]);
131
+ if(cleaned_item.length > 0){
132
+ cleaned.push(cleaned_item);
133
+ }
134
+ }
135
+ return cleaned;
136
+ }
137
+
138
+ function isEncodedHtml(str) {
139
+ if(str.search(/&amp;/g) != -1 || str.search(/&lt;/g) != -1 || str.search(/&gt;/g) != -1)
140
+ return true;
141
+ else
142
+ return false;
143
+ };
144
+
145
+ function decodeHtml(str){
146
+ if(isEncodedHtml(str))
147
+ return str.replace(/&amp;/g, '&').replace(/&lt;/g, '<').replace(/&gt;/g, '>');
148
+ return str;
149
+ }
@@ -1,13 +0,0 @@
1
- jQuery(function(){
2
- // BUTTONS
3
- jQuery('.fg-button').hover(
4
- function(){ jQuery(this).removeClass('ui-state-default').addClass('ui-state-focus'); },
5
- function(){ jQuery(this).removeClass('ui-state-focus').addClass('ui-state-default'); }
6
- );
7
- jQuery('.flat').each(function() {
8
- jQuery(this).menu({
9
- content: jQuery(this).next().html(), // grab content from this page
10
- showSpeed: 200
11
- });
12
- });
13
- });
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: muck-engine
3
3
  version: !ruby/object:Gem::Version
4
- hash: 27
4
+ hash: 11
5
5
  prerelease:
6
6
  segments:
7
7
  - 3
8
- - 2
9
- - 10
10
- version: 3.2.10
8
+ - 3
9
+ - 0
10
+ version: 3.3.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Justin Ball
@@ -16,7 +16,7 @@ autorequire:
16
16
  bindir: bin
17
17
  cert_chain: []
18
18
 
19
- date: 2011-03-15 00:00:00 -06:00
19
+ date: 2011-03-19 00:00:00 -06:00
20
20
  default_executable:
21
21
  dependencies:
22
22
  - !ruby/object:Gem::Dependency
@@ -418,10 +418,9 @@ files:
418
418
  - lib/test/shoulda_macros/plugins.rb
419
419
  - lib/test/shoulda_macros/scopes.rb
420
420
  - muck-engine.gemspec
421
- - public/javascripts/muck-countries.js
422
- - public/javascripts/muck-src.js
423
421
  - public/javascripts/muck.js
424
422
  - public/javascripts/muck_admin.js
423
+ - public/javascripts/muck_countries.js
425
424
  - public/javascripts/muck_time/en.js
426
425
  - public/stylesheets/admin.css
427
426
  - public/stylesheets/reset.css
@@ -1,149 +0,0 @@
1
- // compress with http://closure-compiler.appspot.com/home
2
- //jQuery.noConflict();
3
- jQuery(document).ajaxSend(function(event, request, settings) {
4
- add_headers(request);
5
- if (settings.type.toUpperCase() == 'GET' || typeof(AUTH_TOKEN) == "undefined") return; // for details see: http://www.justinball.com/2009/07/08/jquery-ajax-get-in-firefox-post-in-internet-explorer/
6
- // settings.data is a serialized string like "foo=bar&baz=boink" (or null)
7
- settings.data = settings.data || "";
8
- if (typeof(AUTH_TOKEN) != "undefined")
9
- settings.data += (settings.data ? "&" : "") + "authenticity_token=" + encodeURIComponent(AUTH_TOKEN);
10
- });
11
-
12
- function apply_ajax_forms() {
13
- jQuery('form.ajax').ajaxForm({
14
- dataType: 'script',
15
- beforeSend: add_headers
16
- });
17
- jQuery('form.ajax').append('<input type="hidden" name="format" value="js" />');
18
- }
19
-
20
- function add_headers(xhr){
21
- xhr.setRequestHeader("Accept", "text/javascript");
22
- xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");
23
- }
24
-
25
- jQuery(document).ready(function() {
26
-
27
- jQuery('a.ajax-delete').live('click', function() {
28
- var title = jQuery(this).attr('title');
29
- var do_delete = true;
30
- if(title.length > 0){
31
- do_delete = confirm(title);
32
- }
33
- if (do_delete){
34
- jQuery.post(this.href, { _method: 'delete', format: 'js' }, null, "script");
35
- }
36
- return false;
37
- });
38
-
39
- jQuery('a.ajax-update').live('click', function() {
40
- jQuery.post(this.href, { _method: 'put', format: 'js' }, null, "script");
41
- return false;
42
- });
43
-
44
- jQuery(".submit-form").click(function() {
45
- jQuery(this).parent('form').submit();
46
- });
47
-
48
- //jQuery("ul.drop-menu").menu();
49
-
50
- apply_ajax_forms();
51
-
52
- jQuery('a.dialog-pop').live('click', function() {
53
- var d = jQuery('<div class="dialog"></div>').appendTo("body");
54
- d.dialog({ modal: true, autoOpen: false, width: 'auto', title: jQuery(this).attr('title') });
55
- d.load(jQuery(this).attr('href'), '', function(){
56
- d.dialog("open");
57
- apply_ajax_forms();
58
- });
59
- return false;
60
- });
61
-
62
- jQuery(".submit-delete").live('click', function() {
63
- jQuery(this).parents('.delete-container').fadeOut();
64
- var form = jQuery(this).parents('form');
65
- jQuery.post(form.attr('action') + '.json', form.serialize(),
66
- function(data){
67
- var json = eval('(' + data + ')');
68
- if(!json.success){
69
- jQuery.jGrowl.info(json.message);
70
- }
71
- });
72
- return false;
73
- });
74
-
75
- jQuery(".submit-delete-js").live('click', function() {
76
- jQuery(this).parents('.delete-container').fadeOut();
77
- var form = jQuery(this).parents('form');
78
- jQuery.post(form.attr('action') + '.js', form.serialize(),
79
- function(data){
80
- });
81
- return false;
82
- });
83
-
84
- jQuery(document).ready(function() {
85
- jQuery('.waiting').hide();
86
- jQuery(".wait-button").live('click', function() {
87
- jQuery(this).siblings('.waiting').show();
88
- jQuery(this).hide();
89
- });
90
- });
91
-
92
- });
93
-
94
- // String list methods. These are handy for dealing with comma delimited lists
95
- // in text boxes such as a list of emails or tags.
96
- // Given a comma delimited string add a new item if it isn't in the string
97
- function add_to_list(items_string, new_item){
98
- var items = split_list(items_string);
99
- var add = true;
100
- for(i=0;i<items.length;i++){
101
- if(items[i] == new_item){ add = false; }
102
- }
103
- if(add){
104
- items.push(new_item);
105
- }
106
- return items.join(', ');
107
- }
108
-
109
- // Given a comma delimited list remove an item from the string
110
- function remove_from_list(items_string, remove_item){
111
- var items = split_list(items_string);
112
- var cleaned = [];
113
- for(i=0;i<items.length;i++){
114
- if(items[i] != remove_item){
115
- cleaned.push(items[i]);
116
- }
117
- }
118
- return cleaned.join(', ');
119
- }
120
-
121
- // Split a string on commas
122
- function split_list(items_string){
123
- if(undefined != items_string && items_string.length > 0){
124
- var items = items_string.split(',');
125
- } else {
126
- var items = [];
127
- }
128
- var cleaned = [];
129
- for(i=0;i<items.length;i++){
130
- var cleaned_item = jQuery.trim(items[i]);
131
- if(cleaned_item.length > 0){
132
- cleaned.push(cleaned_item);
133
- }
134
- }
135
- return cleaned;
136
- }
137
-
138
- function isEncodedHtml(str) {
139
- if(str.search(/&amp;/g) != -1 || str.search(/&lt;/g) != -1 || str.search(/&gt;/g) != -1)
140
- return true;
141
- else
142
- return false;
143
- };
144
-
145
- function decodeHtml(str){
146
- if(isEncodedHtml(str))
147
- return str.replace(/&amp;/g, '&').replace(/&lt;/g, '<').replace(/&gt;/g, '>');
148
- return str;
149
- }