From c7b0817dabd1ea596086b03569d4480355e5f721 Mon Sep 17 00:00:00 2001 From: cash Date: Sat, 1 Oct 2011 12:42:00 -0400 Subject: using the menu system for the embed tabs and adding a reusable select list view --- mod/embed/views/default/embed/item.php | 31 ++++++++++++ mod/embed/views/default/embed/layout.php | 33 ++++++++++++ mod/embed/views/default/embed/list.php | 61 +++++++++++++++++++++++ mod/embed/views/default/js/embed/embed.php | 10 ++-- mod/embed/views/default/navigation/menu/embed.php | 21 ++++++++ 5 files changed, 150 insertions(+), 6 deletions(-) create mode 100644 mod/embed/views/default/embed/item.php create mode 100644 mod/embed/views/default/embed/layout.php create mode 100644 mod/embed/views/default/embed/list.php create mode 100644 mod/embed/views/default/navigation/menu/embed.php (limited to 'mod/embed/views') diff --git a/mod/embed/views/default/embed/item.php b/mod/embed/views/default/embed/item.php new file mode 100644 index 000000000..a64a67d8b --- /dev/null +++ b/mod/embed/views/default/embed/item.php @@ -0,0 +1,31 @@ +" . $entity->title . ""; + +$icon = "getIconURL('small')}\" />"; + +$embed_code = elgg_view('output/url', array( + 'href' => $entity->getURL(), + 'title' => $title, + 'text' => $icon, + 'encode_text' => FALSE +)); + + +echo "
getGUID()}\">"; +echo elgg_view_image_block($image, $body); +echo '
'; + +// @todo JS 1.8: is this approach better than inline js? +echo ""; diff --git a/mod/embed/views/default/embed/layout.php b/mod/embed/views/default/embed/layout.php new file mode 100644 index 000000000..73c26810d --- /dev/null +++ b/mod/embed/views/default/embed/layout.php @@ -0,0 +1,33 @@ +getData('tab_type')) { + case 'select': + $tab = elgg_list_entities( + embed_get_list_options($selected->getData('options')), + 'elgg_get_entities', + 'embed_list_items' + ); + if (!$tab) { + $tab = elgg_echo('embed:no_section_content'); + } + break; + case 'upload': + $tab = elgg_view($selected->getData('view'), $vars); + break; +} + +echo << + $title + $menu + $tab + +HTML; diff --git a/mod/embed/views/default/embed/list.php b/mod/embed/views/default/embed/list.php new file mode 100644 index 000000000..e36280e88 --- /dev/null +++ b/mod/embed/views/default/embed/list.php @@ -0,0 +1,61 @@ + element + * @uses $vars['item_class'] Additional CSS class for the
  • elements + */ + +$items = $vars['items']; +$offset = $vars['offset']; +$limit = $vars['limit']; +$count = $vars['count']; + +$offset_key = elgg_extract('offset_key', $vars, 'offset'); + +$list_class = 'elgg-list'; +if (isset($vars['list_class'])) { + $list_class = "$list_class {$vars['list_class']}"; +} + +$item_class = 'elgg-item'; +if (isset($vars['item_class'])) { + $item_class = "$item_class {$vars['item_class']}"; +} + +$html = ""; +$nav = ""; + +if ($count) { + $nav .= elgg_view('navigation/pagination', array( + 'offset' => $offset, + 'count' => $count, + 'limit' => $limit, + 'offset_key' => $offset_key, + )); +} + +if (is_array($items) && count($items) > 0) { + $html .= "'; +} + +$html .= $nav; + +echo $html; diff --git a/mod/embed/views/default/js/embed/embed.php b/mod/embed/views/default/js/embed/embed.php index e9e08f9a0..49c277b69 100644 --- a/mod/embed/views/default/js/embed/embed.php +++ b/mod/embed/views/default/js/embed/embed.php @@ -15,9 +15,9 @@ elgg.embed.init = function() { }); // special pagination helper for lightbox - $('.embed-wrapper .elgg-pagination a').live('click', elgg.embed.pagination); + $('.embed-wrapper .elgg-pagination a').live('click', elgg.embed.loadContent); - $('.embed-section').live('click', elgg.embed.loadTab); + $('.embed-section').live('click', elgg.embed.loadContent); $('.embed-upload .elgg-form').live('submit', elgg.embed.submit); } @@ -87,7 +87,7 @@ elgg.embed.submit = function(event) { * @param {Object} event * @return void */ -elgg.embed.pagination = function(event) { +elgg.embed.loadContent = function(event) { $('.embed-wrapper').parent().load($(this).attr('href')); event.preventDefault(); } @@ -99,9 +99,7 @@ elgg.embed.pagination = function(event) { * @return void */ elgg.embed.loadTab = function(event) { - var section = $(this).attr('id'); - var url = elgg.config.wwwroot + 'embed/embed?active_section=' + section; - $('.embed-wrapper').parent().load(url); + $('.embed-wrapper').parent().load($(this).attr('href')); event.preventDefault(); } diff --git a/mod/embed/views/default/navigation/menu/embed.php b/mod/embed/views/default/navigation/menu/embed.php new file mode 100644 index 000000000..36cedc47e --- /dev/null +++ b/mod/embed/views/default/navigation/menu/embed.php @@ -0,0 +1,21 @@ + $menu_item->getText(), + 'url' => 'embed/tab/' . $menu_item->getName(), + 'url_class' => 'embed-section', + 'selected' => $menu_item->getSelected(), + ); + } +} + +echo elgg_view('navigation/tabs', array('tabs' => $tabs)); -- cgit v1.2.3