Merge pull request #5298 from colemanw/CRM-16019-b
[civicrm-core.git] / templates / CRM / common / TabHeader.tpl
index c4f58522fca47fb11e5cbb66e924c90be66ad46d..78e2cdac3324bcd02db1920f281fd53ad576e45f 100644 (file)
@@ -1,8 +1,8 @@
 {*
  +--------------------------------------------------------------------+
- | CiviCRM version 4.3                                                |
+ | CiviCRM version 4.6                                                |
  +--------------------------------------------------------------------+
- | Copyright CiviCRM LLC (c) 2004-2013                                |
+ | Copyright CiviCRM LLC (c) 2004-2014                                |
  +--------------------------------------------------------------------+
  | This file is a part of CiviCRM.                                    |
  |                                                                    |
  +--------------------------------------------------------------------+
 *}
 
-{* enclosed all tabs and its content in a block *}
 {* include wysiwyg related files*}
 {include file="CRM/common/wysiwyg.tpl" includeWysiwygEditor=true}
 
+{* enclose all tabs and its content in a block *}
 <div class="crm-block crm-content-block">
-  {if $tabHeader and count($tabHeader) gt 1}
+  {if $tabHeader and count($tabHeader)}
     <div id="mainTabContainer">
     <ul>
        {foreach from=$tabHeader key=tabName item=tabValue}
-          <li id="tab_{$tabName}" class="crm-tab-button ui-corner-all {if !$tabValue.valid}disabled{/if}">
-          {if $tabValue.link and $tabValue.active}
-             <a href="{$tabValue.link}" title="{$tabValue.title}{if !$tabValue.valid} ({ts}disabled{/ts}){/if}">{$tabValue.title}</a>
+          <li id="tab_{$tabName}" class="crm-tab-button ui-corner-all{if !$tabValue.valid} disabled{/if}{if isset($tabValue.class)} {$tabValue.class}{/if}" {$tabValue.extra}>
+          {if $tabValue.active}
+             <a href="{if !empty($tabValue.template)}#panel_{$tabName}{else}{$tabValue.link}{/if}" title="{$tabValue.title}{if !$tabValue.valid} ({ts}disabled{/ts}){/if}">{$tabValue.title}{if isset($tabValue.count)} <em>{$tabValue.count}</em>{/if}</a>
           {else}
              <span {if !$tabValue.valid} title="{ts}disabled{/ts}"{/if}>{$tabValue.title}</span>
           {/if}
           </li>
        {/foreach}
     </ul>
+      {foreach from=$tabHeader key=tabName item=tabValue}
+        {if !empty($tabValue.template)}
+          <div id="#panel_{$tabName}">
+            {include file=$tabValue.template}
+          </div>
+        {/if}
+      {/foreach}
     </div>
   {/if}
   <div class="clear"></div>
 </div> {* crm-content-block ends here *}
-
-<script type="text/javascript">
-   var selectedTab = 'EventInfo';
-   {if $selectedTab}selectedTab = "{$selectedTab}";{/if}
-   var spinnerImage = '<img src="{$config->resourceBase}i/loading.gif" style="width:10px;height:10px"/>';
-{literal}
-
-cj( function() {
-    var tabIndex = cj('#tab_' + selectedTab).prevAll().length
-    cj("#mainTabContainer").tabs( {
-        selected: tabIndex,
-        spinner: spinnerImage,
-        select: function(event, ui) {
-            // we need to change the action of parent form, so that form submits to correct page
-            var url = ui.tab.href;
-
-            {/literal}{if $config->userSystem->is_drupal}{literal}
-                var actionUrl = url.split( '?' );
-                {/literal}{if $config->cleanURL}{literal}
-                  var actualUrl = actionUrl[0];
-                {/literal}{else}{literal}
-                  var getParams = actionUrl[1].split( '&' );
-                  var actualUrl = actionUrl[0] + '?' + getParams[0];
-                {/literal}{/if}{literal}
-            {/literal}{else}{literal}
-                var actionUrl = url.split( '&' );
-                var actualUrl = actionUrl[0] + '&' + actionUrl[1];
-            {/literal}{/if}{literal}
-
-            if ( !global_formNavigate ) {
-              var message = '{/literal}{ts escape="js"}Are you sure you want to navigate away from this tab?{/ts}' + '\n\n' + '{ts escape="js"}You have unsaved changes.{/ts}' + '\n\n' + '{ts escape="js"}Press OK to continue, or Cancel to stay on the current tab.{/ts}{literal}';
-              if ( !confirm( message ) ) {
-                return false;
-              } else {
-                global_formNavigate = true;
-              }
-            }
-            cj(this).parents("form").attr("action", actualUrl );
-
-            return true;
-        },
-        load: function(event, ui) {
-          if ((typeof(Drupal) != 'undefined') && Drupal.attachBehaviors) {
-            Drupal.attachBehaviors(ui.panel);
-          }
-          cj(ui.panel).trigger('crmFormLoad');
-          // FIXME - decouple scanProfileSelectors and TabHeader
-          if (CRM.scanProfileSelectors) {
-            CRM.scanProfileSelectors();
-          }
-        }
-    });
-});
-{/literal}
-</script>
-