mutiny-rails 0.3.0 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,5 +1,5 @@
1
1
  module Mutiny
2
2
  module Rails
3
- VERSION = '0.3.0'
3
+ VERSION = '0.3.1'
4
4
  end
5
5
  end
@@ -1,4 +1,4 @@
1
- /*! Mutiny v0.3.0 - http://mutinyjs.com/ */
1
+ /*! Mutiny v0.3.1 - http://mutinyjs.com/ */
2
2
  (function(window, undefined) {
3
3
  $(function(){
4
4
  if(Mutiny.options.initOnReady) {
@@ -215,45 +215,58 @@ Mutiny.widgets.slider = {
215
215
  }
216
216
  };
217
217
 
218
+ function toggleFunc($e, style, classes){
219
+ if($e.length === 0){
220
+ return function(){};
221
+ } else if(style) {
222
+ var noStyle = {};
223
+ for(var key in style) {
224
+ noStyle[key] = $e.css(key);
225
+ }
226
+ return function(on) {
227
+ $e.css(on ? style : noStyle);
228
+ };
229
+ } else {
230
+ classes = classes.split(' ');
231
+ return function(on) {
232
+ $e.toggleClass(classes[0], !on);
233
+ $e.toggleClass(classes[1], on);
234
+ };
235
+ }
236
+ }
237
+
218
238
  Mutiny.widgets.toggler = {
219
239
  'defaults': {'classes': 'inactive active', 'preventDefault': false},
220
240
  'stringArg': 'target',
221
241
  'init': function($instigator, options){
222
242
  var $target = $(options.target);
223
243
 
224
- var toggleFunc;
225
- if(options.style) {
226
- var noStyle = {};
227
- for(var key in options.style) {
228
- noStyle[key] = $instigator.css(key);
229
- }
230
-
231
- toggleFunc = function(on) {
232
- $instigator.css(on ? options.style : noStyle);
233
- $target.css(on ? options.style : noStyle);
234
- };
235
- } else {
236
- var classes = options.classes.split(' ');
237
- toggleFunc = function(on) {
238
- $instigator.toggleClass(classes[0], !on);
239
- $instigator.toggleClass(classes[1], on);
240
- $target.toggleClass(classes[0], !on);
241
- $target.toggleClass(classes[1], on);
242
- };
243
- }
244
+ var instigatorFunc = toggleFunc($instigator, options.style, options.classes);
245
+ var targetFunc = toggleFunc($target, options.targetStyle, options.targetClasses || options.classes);
244
246
 
245
247
  if($instigator.is('input[type=radio]')) {
246
248
  var name = $instigator.attr("name");
247
- toggleFunc($instigator.is(':checked'));
249
+ instigatorFunc($instigator.is(':checked'));
250
+ targetFunc($instigator.is(':checked'));
248
251
  $(format('input[name="{0}"]', name)).change(function(event){
249
- toggleFunc($instigator.is(':checked'));
252
+ instigatorFunc($instigator.is(':checked'));
253
+ targetFunc($instigator.is(':checked'));
254
+ });
255
+ } else if($instigator.is('input[type=checkbox]')) {
256
+ instigatorFunc($instigator.is(':checked'));
257
+ targetFunc($instigator.is(':checked'));
258
+ $instigator.change(function(event){
259
+ instigatorFunc($instigator.is(':checked'));
260
+ targetFunc($instigator.is(':checked'));
250
261
  });
251
262
  } else {
252
263
  var active = false;
253
- toggleFunc(active);
264
+ instigatorFunc(active);
265
+ targetFunc(active);
254
266
  $instigator.click(function(event) {
255
267
  active = !active;
256
- toggleFunc(active);
268
+ instigatorFunc(active);
269
+ targetFunc(active);
257
270
 
258
271
  if(options.preventDefault) {
259
272
  event.preventDefault();
@@ -1,2 +1,2 @@
1
- /*! Mutiny v0.3.0 - http://mutinyjs.com/ */
2
- !function(a,b){function c(a,b){return a?a.filter(b):$(b)}function d(a,c,d){var e=h.widgets[c]||h[c];if(e===b)throw i('"{0}" not found',c);if(d=d||{},f(d)){var g={};if(e.string_arg)g[e.string_arg]=d;else{if(!e.stringArg)throw i('"{0}" cannot parse "{1}"',c,d);g[e.stringArg]=d}d=g}return d.called?void 0:(e.init(a,$.extend({},e.defaults,d)),d.called=!0,d)}function e(a){return $.map(a.split(/(?=[A-Z])/),function(a){return a.toLowerCase()}).join("-")}function f(a){return!!a.substring}function g(a,b,c){var d=a.replace("%s",i("<span>{0}</span>",b||"&nbsp;"));return c?i('<span class="{0}">{1}</span>',c,d):i("<span>{0}</span>",d)}$(function(){h.options.initOnReady&&h.init()});var h=a.Mutiny={options:{initOnReady:!0},widgets:{},init:function(a,g){g=g||"mutiny",c(a,i("[data-{0}]",g)).each(function(a,b){var c=$(b),e=c.data(g);if(f(e))d(c,e,{});else{if("object"!=typeof p)throw"Unsupported data";for(var h in e)d(c,h,e[h])}});var j=[];for(var k in h.widgets)j.push(i("[data-{0}-{1}]",g,e(k)));for(var l=c(a,j.join(",")),m=0;m<l.length;m++){var n=$(l[m]);for(k in h.widgets){var o=i("{0}-{1}",g,k),p=n.data(o);if(p!==b){var q=d(n,k,p);q&&n.data(o,q)}}}}},i=function(){for(var a=[],b=0;10>b;b++)a[b]=new RegExp("\\{"+b+"\\}","gm");return function(){for(var b=arguments[0],c=1;c<arguments.length;c++)b=b.replace(a[c-1],arguments[c]);return b}}();h.widgets.accordion={defaults:{},init:function(b,c){var d=a.location.hash;d&&b.find(d).length>0&&(c.active=d),b.accordion(c),$(a).on("hashchange",function(){var c=a.location.hash;c&&b.find(c).length>0&&b.accordion("activate",c)})}},h.widgets.datepicker={init:function(a,b){a.datepicker(b)}},h.widgets.slider={defaults:{range:"min"},init:function(a,b){var c;if(b.target)c=$(b.target);else{var d=a.attr("id");c=d?$(i('<div id="{0}-mutiny-slider"></div>',d)):$("<div></div>"),c.insertAfter(a)}if(b.value=a.val(),b.slide=function(b,c){a.val(c.value).change()},a.is("select")){var e=a.find("option");b.min=Number(e.first().val()),b.max=Number(e.last().val()),b.step=(b.max-b.min)/(e.length-1)}else $.each(["min","max","step"],function(c,d){b[d]=Number(b[d]||a.attr(d)||a.data(d))});if(a.change(function(){var d=Number(a.val());d>b.max&&(d=b.max),d<b.min&&(d=b.min),isNaN(d)&&(d=b.value),a.val(d),c.slider("value",d)}),b.minLabel&&c.append(g(b.minLabel,b.min,"min-label")),b.maxLabel&&c.append(g(b.maxLabel,b.max,"max-label")),c.slider(b),b.valueLabel){var f=$(g(b.valueLabel,b.value,"value-label")).appendTo(c.find(".ui-slider-handle")),h=f.find("span");a.change(function(){h.html(a.val())})}}},h.widgets.toggler={defaults:{classes:"inactive active",preventDefault:!1},stringArg:"target",init:function(a,b){var c,d=$(b.target);if(b.style){var e={};for(var f in b.style)e[f]=a.css(f);c=function(c){a.css(c?b.style:e),d.css(c?b.style:e)}}else{var g=b.classes.split(" ");c=function(b){a.toggleClass(g[0],!b),a.toggleClass(g[1],b),d.toggleClass(g[0],!b),d.toggleClass(g[1],b)}}if(a.is("input[type=radio]")){var h=a.attr("name");c(a.is(":checked")),$(i('input[name="{0}"]',h)).change(function(){c(a.is(":checked"))})}else{var j=!1;c(j),a.click(function(a){j=!j,c(j),b.preventDefault&&a.preventDefault()})}}}}(window);
1
+ /*! Mutiny v0.3.1 - http://mutinyjs.com/ */
2
+ !function(a,b){function c(a,b){return a?a.filter(b):$(b)}function d(a,c,d){var e=i.widgets[c]||i[c];if(e===b)throw j('"{0}" not found',c);if(d=d||{},f(d)){var g={};if(e.string_arg)g[e.string_arg]=d;else{if(!e.stringArg)throw j('"{0}" cannot parse "{1}"',c,d);g[e.stringArg]=d}d=g}return d.called?void 0:(e.init(a,$.extend({},e.defaults,d)),d.called=!0,d)}function e(a){return $.map(a.split(/(?=[A-Z])/),function(a){return a.toLowerCase()}).join("-")}function f(a){return!!a.substring}function g(a,b,c){var d=a.replace("%s",j("<span>{0}</span>",b||"&nbsp;"));return c?j('<span class="{0}">{1}</span>',c,d):j("<span>{0}</span>",d)}function h(a,b,c){if(0===a.length)return function(){};if(b){var d={};for(var e in b)d[e]=a.css(e);return function(c){a.css(c?b:d)}}return c=c.split(" "),function(b){a.toggleClass(c[0],!b),a.toggleClass(c[1],b)}}$(function(){i.options.initOnReady&&i.init()});var i=a.Mutiny={options:{initOnReady:!0},widgets:{},init:function(a,g){g=g||"mutiny",c(a,j("[data-{0}]",g)).each(function(a,b){var c=$(b),e=c.data(g);if(f(e))d(c,e,{});else{if("object"!=typeof p)throw"Unsupported data";for(var h in e)d(c,h,e[h])}});var h=[];for(var k in i.widgets)h.push(j("[data-{0}-{1}]",g,e(k)));for(var l=c(a,h.join(",")),m=0;m<l.length;m++){var n=$(l[m]);for(k in i.widgets){var o=j("{0}-{1}",g,k),p=n.data(o);if(p!==b){var q=d(n,k,p);q&&n.data(o,q)}}}}},j=function(){for(var a=[],b=0;10>b;b++)a[b]=new RegExp("\\{"+b+"\\}","gm");return function(){for(var b=arguments[0],c=1;c<arguments.length;c++)b=b.replace(a[c-1],arguments[c]);return b}}();i.widgets.accordion={defaults:{},init:function(b,c){var d=a.location.hash;d&&b.find(d).length>0&&(c.active=d),b.accordion(c),$(a).on("hashchange",function(){var c=a.location.hash;c&&b.find(c).length>0&&b.accordion("activate",c)})}},i.widgets.datepicker={init:function(a,b){a.datepicker(b)}},i.widgets.slider={defaults:{range:"min"},init:function(a,b){var c;if(b.target)c=$(b.target);else{var d=a.attr("id");c=d?$(j('<div id="{0}-mutiny-slider"></div>',d)):$("<div></div>"),c.insertAfter(a)}if(b.value=a.val(),b.slide=function(b,c){a.val(c.value).change()},a.is("select")){var e=a.find("option");b.min=Number(e.first().val()),b.max=Number(e.last().val()),b.step=(b.max-b.min)/(e.length-1)}else $.each(["min","max","step"],function(c,d){b[d]=Number(b[d]||a.attr(d)||a.data(d))});if(a.change(function(){var d=Number(a.val());d>b.max&&(d=b.max),d<b.min&&(d=b.min),isNaN(d)&&(d=b.value),a.val(d),c.slider("value",d)}),b.minLabel&&c.append(g(b.minLabel,b.min,"min-label")),b.maxLabel&&c.append(g(b.maxLabel,b.max,"max-label")),c.slider(b),b.valueLabel){var f=$(g(b.valueLabel,b.value,"value-label")).appendTo(c.find(".ui-slider-handle")),h=f.find("span");a.change(function(){h.html(a.val())})}}},i.widgets.toggler={defaults:{classes:"inactive active",preventDefault:!1},stringArg:"target",init:function(a,b){var c=$(b.target),d=h(a,b.style,b.classes),e=h(c,b.targetStyle,b.targetClasses||b.classes);if(a.is("input[type=radio]")){var f=a.attr("name");d(a.is(":checked")),e(a.is(":checked")),$(j('input[name="{0}"]',f)).change(function(){d(a.is(":checked")),e(a.is(":checked"))})}else if(a.is("input[type=checkbox]"))d(a.is(":checked")),e(a.is(":checked")),a.change(function(){d(a.is(":checked")),e(a.is(":checked"))});else{var g=!1;d(g),e(g),a.click(function(a){g=!g,d(g),e(g),b.preventDefault&&a.preventDefault()})}}}}(window);
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mutiny-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors: