assets/javascripts/semantic_ui/definitions/modules/rating.js in less-rails-semantic_ui-2.1.8.2 vs assets/javascripts/semantic_ui/definitions/modules/rating.js in less-rails-semantic_ui-2.2.1.0
- old
+ new
@@ -1,20 +1,26 @@
/*!
* # Semantic UI - Rating
* http://github.com/semantic-org/semantic-ui/
*
*
- * Copyright 2015 Contributors
* Released under the MIT license
* http://opensource.org/licenses/MIT
*
*/
;(function ($, window, document, undefined) {
"use strict";
+window = (typeof window != 'undefined' && window.Math == Math)
+ ? window
+ : (typeof self != 'undefined' && self.Math == Math)
+ ? self
+ : Function('return this')()
+;
+
$.fn.rating = function(parameters) {
var
$allModules = $(this),
moduleSelector = $allModules.selector || '',
@@ -46,10 +52,11 @@
instance = $(this).data(moduleNamespace),
$module = $(this),
$icon = $module.find(selector.icon),
+ initialLoad,
module
;
module = {
@@ -64,11 +71,13 @@
module.enable();
}
else {
module.disable();
}
+ module.set.initialLoad();
module.set.rating( module.get.initialRating() );
+ module.remove.initialLoad();
module.instantiate();
},
instantiate: function() {
module.verbose('Instantiating module', settings);
@@ -168,10 +177,13 @@
events: function() {
module.verbose('Removing events');
$module
.off(eventNamespace)
;
+ },
+ initialLoad: function() {
+ initialLoad = false;
}
},
enable: function() {
module.debug('Setting rating to interactive mode');
@@ -187,10 +199,16 @@
$module
.addClass(className.disabled)
;
},
+ is: {
+ initialLoad: function() {
+ return initialLoad;
+ }
+ },
+
get: {
initialRating: function() {
if($module.data(metadata.rating) !== undefined) {
$module.removeData(metadata.rating);
return $module.data(metadata.rating);
@@ -230,25 +248,35 @@
;
if(rating > 0) {
module.verbose('Setting current rating to', rating);
$activeIcon
.prevAll()
- .andSelf()
+ .addBack()
.addClass(className.active)
;
}
- settings.onRate.call(element, rating);
+ if(!module.is.initialLoad()) {
+ settings.onRate.call(element, rating);
+ }
+ },
+ initialLoad: function() {
+ initialLoad = true;
}
},
setting: function(name, value) {
module.debug('Changing setting', name, value);
if( $.isPlainObject(name) ) {
$.extend(true, settings, name);
}
else if(value !== undefined) {
- settings[name] = value;
+ if($.isPlainObject(settings[name])) {
+ $.extend(true, settings[name], value);
+ }
+ else {
+ settings[name] = value;
+ }
}
else {
return settings[name];
}
},
@@ -262,34 +290,36 @@
else {
return module[name];
}
},
debug: function() {
- if(settings.debug) {
+ if(!settings.silent && settings.debug) {
if(settings.performance) {
module.performance.log(arguments);
}
else {
module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');
module.debug.apply(console, arguments);
}
}
},
verbose: function() {
- if(settings.verbose && settings.debug) {
+ if(!settings.silent && settings.verbose && settings.debug) {
if(settings.performance) {
module.performance.log(arguments);
}
else {
module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');
module.verbose.apply(console, arguments);
}
}
},
error: function() {
- module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');
- module.error.apply(console, arguments);
+ if(!settings.silent) {
+ module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');
+ module.error.apply(console, arguments);
+ }
},
performance: {
log: function(message) {
var
currentTime,
@@ -421,17 +451,20 @@
$.fn.rating.settings = {
name : 'Rating',
namespace : 'rating',
+ slent : false,
debug : false,
verbose : false,
performance : true,
initialRating : 0,
interactive : true,
maxRating : 4,
clearable : 'auto',
+
+ fireOnInit : false,
onRate : function(rating){},
error : {
method : 'The method you called is not defined',