silverstripe-framework/javascript/ToggleField.js
Ingo Schommer 35fb0cd0c5 #92 MoreLessField: Switch to ToggleField and remove
FEATURE Refactored MoreLessField->ToggleField
FEATURE Refactored TogglePanel->ToggleCompositeField
FEATURE Degrading gracefully (javascript), using behaviour+classes+prototype, partially i18ned, improved markup

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@43660 467b73ca-7a2a-4603-9d3b-597d59a354a9
2007-10-21 23:05:46 +00:00

29 lines
684 B
JavaScript

var ToggleField = Class.create();
ToggleField.prototype = {
initialize: function() {
var rules = {};
rules['#' + this.id + ' .triggerMore'] = {
onclick: function(e) {
this.toggle();
Event.stop(e); return false;
}.bind(this)
};
rules['#' + this.id + ' .triggerLess'] = {
onclick: function(e) {
this.toggle();
Event.stop(e); return false;
}.bind(this)
};
Behaviour.register(rules);
if(Element.hasClassName(this, 'startClosed')) {
this.toggle();
}
},
toggle: function() {
Element.toggle($$('#' + this.id + ' .contentLess')[0]);
Element.toggle($$('#' + this.id + ' .contentMore')[0]);
}
}
ToggleField.applyTo('div.toggleField');