diff options
Diffstat (limited to 'views')
| -rw-r--r-- | views/default/css.php | 12 | ||||
| -rw-r--r-- | views/default/layouts/widgets.php | 7 | ||||
| -rw-r--r-- | views/default/widgets/add_panel.php | 30 | 
3 files changed, 30 insertions, 19 deletions
diff --git a/views/default/css.php b/views/default/css.php index 286beeece..e0be90b2b 100644 --- a/views/default/css.php +++ b/views/default/css.php @@ -894,13 +894,19 @@ li.navigation_more ul li {  	float: left;  	margin: 2px 10px;  	list-style: none; -} -.widgets_add_panel li a { -	display: block;  	width: 200px;  	padding: 4px;  	background-color: #cccccc;  } +.widgets_add_panel li a { +	display: block; +} +.widget_available { +	cursor: pointer; +} +.widget_unavailable { +	color: #888888; +}  .widget {  	background-color: #dedede;  	padding: 2px; diff --git a/views/default/layouts/widgets.php b/views/default/layouts/widgets.php index 149e3d327..4b097dcf6 100644 --- a/views/default/layouts/widgets.php +++ b/views/default/layouts/widgets.php @@ -4,7 +4,7 @@   *   * @uses $vars['box'] Optional display box at the top of layout   * @uses $vars['num_columns'] Number of widget columns for this layout - * @uses $vars['show_add_widgets'] Display the add widgets button + * @uses $vars['show_add_widgets'] Display the add widgets button and panel   */  $box = elgg_get_array_value('box', $vars, ''); @@ -28,8 +28,6 @@ if (elgg_can_edit_widget_layout($context)) {  	echo elgg_view('widgets/add_panel', $params);  } -echo '<div class="widget_layout">'; -  echo $vars['box'];  $widget_class = "widget_{$num_columns}_columns"; @@ -45,7 +43,4 @@ for ($column_index = 1; $column_index <= $num_columns; $column_index++) {  	echo '</div>';  } -echo '<div class="clearfloat"></div>'; -echo '</div>'; -  elgg_pop_context();
\ No newline at end of file diff --git a/views/default/widgets/add_panel.php b/views/default/widgets/add_panel.php index 70d80f41c..09511487c 100644 --- a/views/default/widgets/add_panel.php +++ b/views/default/widgets/add_panel.php @@ -1,10 +1,17 @@  <?php  $widgets = $vars['widgets']; -$widget_types = elgg_get_widget_types(); -  $context = $vars['context']; +$widget_types = elgg_get_widget_types($context); + +$current_handlers = array(); +foreach ($widgets as $column_widgets) { +	foreach ($column_widgets as $widget) { +		$current_handlers[] = $widget->handler; +	} +} +  ?>  <div class="widgets_add_panel hidden">  	<p> @@ -12,14 +19,17 @@ $context = $vars['context'];  	</p>  	<ul>  <?php -		foreach ($widget_types as $handler => $widget_type) { -			$options = array( -				'text' => $widget_type->name, -				'href' => '#', -				'internalid' => $handler, -			); -			$link = elgg_view('output/url', $options); -			echo "<li>$link</li>"; +		foreach ($widget_types as $handler => $widget_type) {			 +			// check if widget added and only one instance allowed +			if ($widget_type->multiple == false && in_array($handler, $current_handlers)) { +				$class = 'widget_unavailable'; +				$tooltip = elgg_echo('widget:unavailable'); +			} else { +				$class = 'widget_available'; +				$tooltip = $widget_type->description; +			} + +			echo "<li title=\"$tooltip\" id=\"$handler\" class=\"$class\">$widget_type->name</li>";  		}  ?>  	</ul>  | 
