From 378c1d576ba068b04a78a2f6fd574d9a022d7720 Mon Sep 17 00:00:00 2001
From: Roni Kantis <roni.kantis@gmail.com>
Date: Fri, 2 Mar 2012 16:12:00 +0200
Subject: [PATCH] Issue #1463834 by bfr,teroelonen: Integrated Context Accordion module to Context UI

---
 context_ui/context_ui.css              |  190 ++++++++++++++++++++------------
 context_ui/context_ui.js               |    5 +-
 theme/context_reaction_block.theme.inc |    2 +
 3 files changed, 123 insertions(+), 74 deletions(-)

diff --git a/context_ui/context_ui.css b/context_ui/context_ui.css
index 4c2231e..1a4e2e5 100644
--- a/context_ui/context_ui.css
+++ b/context_ui/context_ui.css
@@ -23,19 +23,17 @@ body.context-editing form.edited div.context-editor div.buttons { display:none;
 #admin-toolbar div.context-editor div.links a:hover {
   background:#eee;
   color:#000;
-  }
+}
 
 #admin-toolbar div.context-editor div.links a {
   float:left;
-
   padding:0px 10px;
   margin-right:5px;
-
   background:#222;
   font-size:11px;
   -moz-border-radius:10px;
   -webkit-border-radius:10px;
-  }
+}
 
 div.context-editor div.context-editable { padding:5px 0px; }
 
@@ -43,7 +41,7 @@ div.context-editor div.context-editable { padding:5px 0px; }
   padding:10px 0px;
   text-align:center;
   background:#111;
-  }
+}
 
 /**
  * Horizontal
@@ -53,12 +51,12 @@ div.context-editor div.context-editable { padding:5px 0px; }
   float:left;
   clear:left;
   width:30%;
-  }
+}
 
 #admin-toolbar.horizontal div.context-editor div.contexts {
   width:69.9%;
   float:right;
-  }
+}
 
 #admin-toolbar.horizontal div.context-editor div.context-editable { padding-left:20px }
 
@@ -70,7 +68,7 @@ table.context-admin td.tag { font-style:italic; }
 table.context-admin td.ctools-export-ui-name {
   width:75%;
   padding-left:20px;
-  }
+}
 
 table.context-admin td.ctools-export-ui-operations { white-space:nowrap; }
 
@@ -79,7 +77,7 @@ table.context-admin td.ctools-export-ui-storage { color:#999; }
 table.context-admin div.description {
   padding-left:10px;
   margin:0px;
-  }
+}
 
 table.context-admin input.form-text { width:90%; }
 
@@ -89,85 +87,131 @@ table.context-admin input.form-text { width:90%; }
 .context-plugins {
   position:relative;
   margin:0px 0px 10px;
-  }
+}
 
 .context-plugins .context-plugin-info {
   padding:10px 10px 9px;
   border-bottom:1px solid #e8e8e8;
-  }
+}
 
 .context-plugins .context-plugin-info div.description {
   margin:0px 0px 10px;
   padding:0px;
-  }
+}
 
 .context-plugins .context-plugin-selector {
   width:25%;
   background:#fff;
-  }
-
-  .context-plugins .context-plugin-list .disabled { display:none; }
-
-  .context-plugins .context-plugin-list ul {
-    margin:0px;
-    padding:0px;
-    }
-
-  .context-plugins .context-plugin-list li {
-    list-style:none;
-    list-style-image:none;
-    background:transparent;
-
-    padding:0px;
-    margin:0px;
-    border:0px;
-    }
-
-  .context-plugins .context-plugin-list li a {
-    display:block;
-    position:relative;
-    padding:5px 10px 4px;
-    border-bottom:1px solid #e8e8e8;
-    }
-
-  .context-plugins .context-plugin-list li a.active-form {
-    background:#f8f8f8;
-    color:#333;
-    font-weight:bold;
-    }
-
-  .context-plugins .context-plugin-list li span.remove {
-    display:none;
-    position:absolute;
-    top:5px;
-    right:10px;
-
-    font-size:9px;
-    font-weight:normal;
-
-    -moz-border-radius:5px;
-    -webkit-border-radius:5px;
-    padding:0px 5px;
-    background:#fff;
-    }
-
-    .context-plugins .context-plugin-list li a:hover span.remove { display:block; }
+}
+
+.context-plugins .context-plugin-list .disabled { display:none; }
+
+.context-plugins .context-plugin-list ul {
+  margin:0px;
+  padding:0px;
+}
+
+.context-plugins .context-plugin-list li {
+  list-style:none;
+  list-style-image:none;
+  background:transparent;
+  padding:0px;
+  margin:0px;
+  border:0px;
+}
+
+.context-plugins .context-plugin-list li a {
+  display:block;
+  position:relative;
+  padding:5px 10px 4px;
+  border-bottom:1px solid #e8e8e8;
+}
+
+.context-plugins .context-plugin-list li a.active-form {
+  background:#f8f8f8;
+  color:#333;
+  font-weight:bold;
+}
+
+.context-plugins .context-plugin-list li span.remove {
+  display:none;
+  position:absolute;
+  top:5px;
+  right:10px;
+  font-size:9px;
+  font-weight:normal;
+  -moz-border-radius:5px;
+  -webkit-border-radius:5px;
+  padding:0px 5px;
+  background:#fff;
+}
+
+.context-plugins .context-plugin-list li a:hover span.remove { display:block; }
 
 .context-plugins .context-plugin-forms {
   float:right;
   width:75%;
   background:#f8f8f8;
   min-height:200px;
-  }
-
-  .context-plugins .context-plugin-forms .context-plugin-form {
-    padding:10px;
-    display:none;
-    }
-
-  .context-plugins .context-plugin-forms .active-form { display:block; }
-
-  .context-plugins .context-plugin-form .form-checkboxes {
-    max-height:300px;
-    overflow:auto;
-    }
+}
+
+.context-plugins .context-plugin-forms .context-plugin-form {
+  padding:10px;
+  display:none;
+}
+
+.context-plugins .context-plugin-forms .active-form { display:block; }
+
+.context-plugins .context-plugin-form .form-checkboxes {
+  max-height:300px;
+  overflow:auto;
+}
+
+/** 
+ * Block-control accordion  =======================================================
+ **/
+.ui-accordion .ui-accordion-header .ui-icon {
+  position: static;
+	display: block;
+	float: left;
+	left: 0;
+	top: 0;
+	margin: 0;
+}
+
+.ui-accordion .ui-accordion-header {
+	background-color: #EEE;
+	border-top: 0 none;
+	border-left: 0 none;
+	border-right: 0 none;
+	color: #0074BD;
+	font-weight: normal;
+	padding: 6px 0;
+}
+
+.ui-accordion .ui-accordion-content {
+	border-bottom: 0 none;
+	border-left: 0 none;
+	border-right: 0 none;
+	border-top: 0 none;
+	max-height: none !important;
+}
+
+/** 
+ * Override default context styles
+ *
+ * TODO: If the CSS weight would be changed, we could get rid of the !important.
+ **/
+
+#context-blockform .context-blockform-selector {
+  height: 100% !important;
+}
+
+/** 
+ * Override possible admin theme styles
+ *
+ **/
+
+#context-blockform .selector {
+  vertical-align: top;
+}
\ No newline at end of file
diff --git a/context_ui/context_ui.js b/context_ui/context_ui.js
index e85407a..736f5c6 100644
--- a/context_ui/context_ui.js
+++ b/context_ui/context_ui.js
@@ -143,6 +143,9 @@ Drupal.behaviors.context_ui = { attach: function(context) {
           $('form.context-editor').addClass('edited');
         });
       });
-  }
+    }
+
+  // Add accordion to block-selector
+  $('#edit-reactions-plugins-block-selector').accordion({ header: '.form-type-checkboxes > label', autoHeight: false});
 }};
 })(jQuery);
diff --git a/theme/context_reaction_block.theme.inc b/theme/context_reaction_block.theme.inc
index 06c6bbe..91f92d1 100644
--- a/theme/context_reaction_block.theme.inc
+++ b/theme/context_reaction_block.theme.inc
@@ -29,6 +29,8 @@ function theme_context_block_regions_form($vars) {
   drupal_add_js('misc/tableheader.js');
   drupal_add_js(drupal_get_path('module', 'context') . '/plugins/context_reaction_block.js');
   drupal_add_css(drupal_get_path('module', 'context') . '/plugins/context_reaction_block.css');
+  // Add accordion
+  drupal_add_library('system', 'ui.accordion');
 
   $output = '';
 
-- 
1.7.3.5

