mirror of
https://github.com/silverstripe/silverstripe-framework
synced 2024-09-01 15:28:02 +02:00
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
26 lines
765 B
JavaScript
Executable File
26 lines
765 B
JavaScript
Executable File
var ToggleCompositeField = Class.create();
|
|
ToggleCompositeField.prototype = {
|
|
initialize: function() {
|
|
var rules = {};
|
|
rules['#' + this.id + ' .trigger'] = {
|
|
onclick: function(e) {
|
|
this.toggle();
|
|
Event.stop(e); return false;
|
|
}.bind(this)
|
|
};
|
|
Behaviour.register(rules);
|
|
|
|
// close content by default
|
|
if(Element.hasClassName(this, 'startClosed')) {
|
|
Element.toggle($$('#' + this.id + ' .contentMore')[0]);
|
|
}
|
|
Element.toggle($$('#' + this.id + ' .triggerClosed')[0]);
|
|
},
|
|
|
|
toggle: function() {
|
|
Element.toggle($$('#' + this.id + ' .contentMore')[0]);
|
|
Element.toggle($$('#' + this.id + ' .triggerClosed')[0]);
|
|
Element.toggle($$('#' + this.id + ' .triggerOpened')[0]);
|
|
}
|
|
}
|
|
ToggleCompositeField.applyTo('div.toggleCompositeField'); |