mutiny-rails 0.3.0 → 0.3.1

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.
@@ -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: