http://www.mediawiki.org/wiki/Special:Code/MediaWiki/89943

Revision: 89943
Author:   yaron
Date:     2011-06-13 02:38:46 +0000 (Mon, 13 Jun 2011)
Log Message:
-----------
New JS, CSS and PNG files for 'collapsible fieldset' functionality, currently 
used only in Special:CreateForm

Added Paths:
-----------
    trunk/extensions/SemanticForms/libs/SF_collapsible.js
    trunk/extensions/SemanticForms/skins/SF_collapsible.css
    trunk/extensions/SemanticForms/skins/collapse-minus.png
    trunk/extensions/SemanticForms/skins/collapse-plus.png

Added: trunk/extensions/SemanticForms/libs/SF_collapsible.js
===================================================================
--- trunk/extensions/SemanticForms/libs/SF_collapsible.js                       
        (rev 0)
+++ trunk/extensions/SemanticForms/libs/SF_collapsible.js       2011-06-13 
02:38:46 UTC (rev 89943)
@@ -0,0 +1,55 @@
+/**
+ * SF_collapsible.js
+ *
+ * Allows for collapsible fieldsets.
+ *
+ * Based on the 'coolfieldset' jQuery plugin:
+ * http://w3shaman.com/article/jquery-plugin-collapsible-fieldset
+ */
+
+function sfHideFieldsetContent(obj, options){
+       obj.find('div').slideUp(options.speed);
+       obj.removeClass("sfExpandedFieldset");
+       obj.addClass("sfCollapsedFieldset");
+}
+
+function sfShowFieldsetContent(obj, options){
+       obj.find('div').slideDown(options.speed);
+       obj.removeClass("sfCollapsedFieldset");
+       obj.addClass("sfExpandedFieldset");
+}
+
+jQuery.fn.sfMakeCollapsible = function(options){
+       var setting = { collapsed: true, speed: 'medium' };
+       jQuery.extend(setting, options);
+
+       this.each(function(){
+               var fieldset = jQuery(this);
+               var legend = fieldset.children('legend');
+               if ( setting.collapsed == true ) {
+                       legend.toggle(
+                               function(){
+                                       sfShowFieldsetContent(fieldset, 
setting);
+                               },
+                               function(){
+                                       sfHideFieldsetContent(fieldset, 
setting);
+                               }
+                       )
+
+                       sfHideFieldsetContent(fieldset, {animation:false});
+               } else {
+                       legend.toggle(
+                               function(){
+                                       sfHideFieldsetContent(fieldset, 
setting);
+                               },
+                               function(){
+                                       sfShowFieldsetContent(fieldset, 
setting);
+                               }
+                       )
+               }
+       });
+}
+
+jQuery(document).ready(function() {
+       jQuery('.sfCollapsibleFieldset').sfMakeCollapsible();
+});

Added: trunk/extensions/SemanticForms/skins/SF_collapsible.css
===================================================================
--- trunk/extensions/SemanticForms/skins/SF_collapsible.css                     
        (rev 0)
+++ trunk/extensions/SemanticForms/skins/SF_collapsible.css     2011-06-13 
02:38:46 UTC (rev 89943)
@@ -0,0 +1,12 @@
+.sfCollapsibleFieldset legend {
+       cursor: pointer;
+       padding-left: 20px;
+}
+
+.sfCollapsedFieldset legend {
+       background: transparent url(collapse-plus.png) no-repeat center left;
+}
+
+.sfExpandedFieldset legend {
+       background: transparent url(collapse-minus.png) no-repeat center left;
+}

Added: trunk/extensions/SemanticForms/skins/collapse-minus.png
===================================================================
(Binary files differ)


Property changes on: trunk/extensions/SemanticForms/skins/collapse-minus.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/extensions/SemanticForms/skins/collapse-plus.png
===================================================================
(Binary files differ)


Property changes on: trunk/extensions/SemanticForms/skins/collapse-plus.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream


_______________________________________________
MediaWiki-CVS mailing list
MediaWiki-CVS@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs

Reply via email to