CRM-13611 - Add tabbed interface to report UI
authorColeman Watts <coleman@civicrm.org>
Tue, 2 Dec 2014 16:18:45 +0000 (11:18 -0500)
committerColeman Watts <coleman@civicrm.org>
Tue, 2 Dec 2014 16:18:45 +0000 (11:18 -0500)
templates/CRM/Report/Form/Criteria.tpl
templates/CRM/Report/Form/Fields.tpl
templates/CRM/Report/Form/Instance.tpl

index d7549294ae38f23e679ac395fbaae26da504955a..904ec15822112a81c064b940dd6d3bfdb2c7085a 100644 (file)
@@ -25,7 +25,7 @@
 *}
 {* Report form criteria section *}
     {if $colGroups}
-      <div id="col-groups" class="civireport-criteria" >
+  <div id="report-tab-col-groups" class="civireport-criteria ui-tabs-panel ui-widget-content ui-corner-bottom">
         {if $componentName eq 'Grant'}
             <h3>{ts}Include these Statistics{/ts}</h3>
         {else}
@@ -64,7 +64,7 @@
     {/if}
 
     {if $groupByElements}
-        <div id="group-by-elements" class="civireport-criteria" >
+        <div id="report-tab-group-by-elements" class="civireport-criteria ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide">
         <h3>{ts}Group by Columns{/ts}</h3>
         {assign  var="count" value="0"}
         <table class="report-layout">
@@ -90,7 +90,7 @@
     {/if}
 
     {if $orderByOptions}
-      <div id="order-by-elements" class="civireport-criteria" >
+      <div id="report-tab-order-by-elements" class="civireport-criteria ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide">
         <h3>{ts}Order by Columns{/ts}</h3>
 
   <table id="optionField">
     {/if}
 
     {if $otherOptions}
-        <div id="other-options" class="civireport-criteria" >
+        <div id="report-tab-other-options" class="civireport-criteria ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide">
         <h3>{ts}Other Options{/ts}</h3>
         <table class="report-layout">
           {assign var="optionCount" value=0}
     {/if}
 
     {if $filters}
-  <div id="set-filters" class="civireport-criteria" >
+  <div id="report-tab-set-filters" class="civireport-criteria ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide">
         <h3>{ts}Set Filters{/ts}</h3>
         <table class="report-layout">
       {assign var="counter" value=1}
     </script>
     {/literal}
 
-    <div>{$form.buttons.html}</div>
index 1db83d656913e0ea9cc434fab34e7ac498b57f73..c66ac250bef24517ca465f1ed4aa9656432acb6a 100644 (file)
 *}
 {if !$printOnly} {* NO print section starts *}
 {if $criteriaForm}
-<div> {* criteria section starts *}
-<div class="crm-accordion-wrapper crm-report_criteria-accordion {if $rows}collapsed{/if}">
- <div class="crm-accordion-header">
-    {ts}Report Criteria{/ts}
-   </div><!-- /.crm-accordion-header -->
- <div class="crm-accordion-body">
-        <div id="id_{$formTpl}"> {* search section starts *}
+<div class="crm-report-criteria"> {* criteria section starts *}
+      <div id="mainTabContainer">
+        {*tab navigation bar*}
+        <ul class="ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all">
+          {if $colGroups}
+            <li class="ui-state-default ui-corner-all ui-tabs-selected ui-state-active">
+              <a title="Columns" href="#report-tab-col-groups">{ts}Columns{/ts}</a>
+            </li>
+          {/if}
+          {if $groupByElements}
+            <li class="ui-state-default ui-corner-all">
+              <a title="Group By" href="#report-tab-group-by-elements">{ts}Grouping{/ts}</a>
+            </li>
+          {/if}
+          {if $orderByOptions}
+            <li class="ui-state-default ui-corner-all">
+              <a title="Order By" href="#report-tab-order-by-elements">{ts}Sorting{/ts}</a>
+            </li>
+          {/if}
+          {if $form.options.html}
+            <li class="ui-state-default ui-corner-all">
+              <a title="Other Options" href="#report-tab-other-options">{ts}Options{/ts}</a>
+            </li>
+          {/if}
+          {if $filters}
+            <li class="ui-state-default ui-corner-all">
+              <a title="Filters" href="#report-tab-set-filters">{ts}Filters{/ts}</a>
+            </li>
+          {/if}
+          {if $instanceForm OR $instanceFormError}
+            <li id="tab_settings" class="ui-state-default ui-corner-all">
+              <a title="Settings" href="#report-tab-settings">{ts}Display{/ts}</a>
+            </li>
+            <li class="ui-state-default ui-corner-all">
+              <a title="Email" href="#report-tab-email">{ts}Email{/ts}</a>
+            </li>
+            <li class="ui-state-default ui-corner-all">
+              <a title="Other" href="#report-tab-other">{ts}Access{/ts}</a>
+            </li>
+          {/if}
+        </ul>
+
+        {*criteria*}
                 {include file="CRM/Report/Form/Criteria.tpl"}
-        </div> {* search div section ends *}
-  </div><!-- /.crm-accordion-body -->
-</div><!-- /.crm-accordion-wrapper -->
-</div> {* criteria section ends *}
+
+        {*settings*}
+        {if $instanceForm OR $instanceFormError}
+          {include file="CRM/Report/Form/Instance.tpl"}
 {/if}
+      </div> {* end mainTabContainer *}
 
-{if $instanceForm OR $instanceFormError} {* settings section starts *}
-<div class="crm-accordion-wrapper crm-report_setting-accordion {if $rows}collapsed{/if}">
- <div class="crm-accordion-header" {if $updateReportButton} onclick="cj('#update-button').hide(); return false;" {/if} >
-    {if $mode eq 'template'}{ts}Create Report{/ts}{else}{ts}Report Settings{/ts}{/if}
-     </div><!-- /.crm-accordion-header -->
- <div class="crm-accordion-body">
-        <div id="id_{$instanceForm}">
-                <div id="instanceForm">
-                    {include file="CRM/Report/Form/Instance.tpl"}
                     {assign var=save value="_qf_"|cat:$form.formName|cat:"_submit_save"}
                     {assign var=next value="_qf_"|cat:$form.formName|cat:"_submit_next"}
                         <div class="crm-submit-buttons">
+                            {$form.buttons.html}
                             {$form.$save.html}
                             {if $mode neq 'template' && $form.$next}
                                 {$form.$next.html}
                             {/if}
                         </div>
-                </div>
-        </div>
- </div><!-- /.crm-accordion-body -->
-</div><!-- /.crm-accordion-wrapper -->
-{if $updateReportButton}
-<div id='update-button' class="crm-submit-buttons">
-   {$form.$save.html}
-   {if $mode neq 'template' && $form.$next} {* Removed Save a Copy button here since user doesn't have chance to set a new title. *}
-       <span class="description">{ts}To save a copy with updated criteria click Report Settings above and update the Report Title. Then click Save a Copy.{/ts}</span>
+</div> {* criteria section ends *}
    {/if}
-</div>
-{/if}
-{/if} {* settings section ends *}
+
+{literal}
+<script type="text/javascript">
+CRM.$(function($) {
+  $("#mainTabContainer").tabs();
+});
+
+</script>
+{/literal}
 
 {/if} {* NO print section ends *}
index 0e6e1e73620b848e1acaa8d502617dfb52fbcb29..203f72182e8214dacc9caeeb477e3c83771a791e 100644 (file)
@@ -23,7 +23,8 @@
  | see the CiviCRM license FAQ at http://civicrm.org/licensing        |
  +--------------------------------------------------------------------+
 *}
-<h3>{ts}General Settings{/ts}</h3>
+<div id="report-tab-settings" class="civireport-criteria ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide">
+<h3>{ts}Display Settings{/ts}</h3>
 <table class="form-layout">
     <tr class="crm-report-instanceForm-form-block-title">
         <td class="report-label" width="20%">{$form.title.label} {help id="id-report_title" file="CRM/Report/Form/Settings.hlp"}</td>
         <td>{$form.report_footer.html}</td>
     </tr>
 </table>
-<br/>
+</div>
 
-<h3>{ts}Email Delivery Settings{/ts} {help id="id-email_settings" file="CRM/Report/Form/Settings.hlp"}</h3>
-<table class="form-layout">
+<div id="report-tab-email" class="civireport-criteria ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide">
+  <h3 class="email-delivery-settings-title">{ts}Email Delivery Settings{/ts} {help id="id-email_settings" file="CRM/Report/Form/Settings.hlp"}</h3>
+  <table class="form-layout email-delivery-settings-fields">
     <tr class="crm-report-instanceForm-form-block-email_subject">
         <td class="report-label" width="20%">{$form.email_subject.label}</td>
         <td>{$form.email_subject.html|crmAddClass:huge}</td>
         <td>{$form.email_cc.html|crmAddClass:huge}</td>
     </tr>
 </table>
-<br/>
+</div>
 
-<h3>{ts}Other Settings{/ts}</h3>
+<div id="report-tab-other" class="civireport-criteria ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide">
+<h3>{ts}User Access{/ts}</h3>
 <table class="form-layout">
     <tr class="crm-report-instanceForm-form-block-is_navigation">
   <td class="report-label">{$form.is_navigation.label}</td>
       <td>{$form.row_count.html}</td>
     </tr>
 </table>
+</div>
 
 {include file="CRM/common/showHideByFieldValue.tpl"
     trigger_field_id    ="is_navigation"