File "knockout-utilities.js"
Full path: /home/webcknlt/admissiontell.com/wp-content/plugins/mango-buttons/admin/js/inc/knockout-utilities.js
File
size: 2.09 B (2.09 KB bytes)
MIME-type: text/plain
Charset: utf-8
Download Open Edit Advanced Editor &nnbsp; Back
//http://knockoutjs.com/examples/animatedTransitions.html
// Here's a custom Knockout binding that makes elements shown/hidden via jQuery's fadeIn()/fadeOut() methods
// Could be stored in a separate utility library
ko.bindingHandlers.fadeVisible = {
init: function(element, valueAccessor) {
// Initially set the element to be instantly visible/hidden depending on the value
var value = valueAccessor();
jQuery(element).toggle(ko.unwrap(value)); // Use "unwrapObservable" so we can handle values that may or may not be observable
},
update: function(element, valueAccessor) {
// Whenever the value subsequently changes, slowly fade the element in or out
var value = valueAccessor();
ko.unwrap(value) ? jQuery(element).fadeIn(150) : jQuery(element).fadeOut(150);
}
};
ko.bindingHandlers.slowFadeVisible = {
init: function(element, valueAccessor) {
// Initially set the element to be instantly visible/hidden depending on the value
var value = valueAccessor();
jQuery(element).toggle(ko.unwrap(value)); // Use "unwrapObservable" so we can handle values that may or may not be observable
},
update: function(element, valueAccessor) {
// Whenever the value subsequently changes, slowly fade the element in or out
var value = valueAccessor();
ko.unwrap(value) ? jQuery(element).fadeIn(500) : jQuery(element).fadeOut(500);
}
};
/*BINDING FOR ENTER AND RETURN AND ARROW KEYS*/
ko.bindingHandlers.returnKey = {
init: function(element, valueAccessor, allBindingsAccessor, viewModel) {
ko.utils.registerEventHandler(element, 'keydown', function(evt) {
if (evt.which === 13) {
evt.preventDefault();
valueAccessor().call(viewModel, evt);
return evt.preventDefault();
}
});
}
};
ko.bindingHandlers.escKey = {
init: function(element, valueAccessor, allBindingsAccessor, viewModel) {
ko.utils.registerEventHandler(element, 'keydown', function(evt) {
if (evt.which === 27) {
evt.preventDefault();
valueAccessor().call(viewModel, evt);
return evt.preventDefault();
}
});
}
};