Commit | Line | Data |
---|---|---|
6a488035 TO |
1 | {* |
2 | +--------------------------------------------------------------------+ | |
3 | | CiviCRM version 4.3 | | |
4 | +--------------------------------------------------------------------+ | |
5 | | Copyright CiviCRM LLC (c) 2004-2013 | | |
6 | +--------------------------------------------------------------------+ | |
7 | | This file is a part of CiviCRM. | | |
8 | | | | |
9 | | CiviCRM is free software; you can copy, modify, and distribute it | | |
10 | | under the terms of the GNU Affero General Public License | | |
11 | | Version 3, 19 November 2007 and the CiviCRM Licensing Exception. | | |
12 | | | | |
13 | | CiviCRM is distributed in the hope that it will be useful, but | | |
14 | | WITHOUT ANY WARRANTY; without even the implied warranty of | | |
15 | | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | | |
16 | | See the GNU Affero General Public License for more details. | | |
17 | | | | |
18 | | You should have received a copy of the GNU Affero General Public | | |
19 | | License and the CiviCRM Licensing Exception along | | |
20 | | with this program; if not, contact CiviCRM LLC | | |
21 | | at info[AT]civicrm[DOT]org. If you have questions about the | | |
22 | | GNU Affero General Public License or the licensing of CiviCRM, | | |
23 | | see the CiviCRM license FAQ at http://civicrm.org/licensing | | |
24 | +--------------------------------------------------------------------+ | |
25 | *} | |
26 | ||
27 | {* enclosed all tabs and its content in a block *} | |
28 | {* include wysiwyg related files*} | |
29 | {include file="CRM/common/wysiwyg.tpl" includeWysiwygEditor=true} | |
30 | ||
31 | <div class="crm-block crm-content-block"> | |
32 | {if $tabHeader and count($tabHeader) gt 1} | |
33 | <div id="mainTabContainer"> | |
34 | <ul> | |
35 | {foreach from=$tabHeader key=tabName item=tabValue} | |
36 | <li id="tab_{$tabName}" class="crm-tab-button ui-corner-all {if !$tabValue.valid}disabled{/if}"> | |
37 | {if $tabValue.link and $tabValue.active} | |
38 | <a href="{$tabValue.link}" title="{$tabValue.title}{if !$tabValue.valid} ({ts}disabled{/ts}){/if}">{$tabValue.title}</a> | |
39 | {else} | |
40 | <span {if !$tabValue.valid} title="{ts}disabled{/ts}"{/if}>{$tabValue.title}</span> | |
41 | {/if} | |
42 | </li> | |
43 | {/foreach} | |
44 | </ul> | |
45 | </div> | |
46 | {/if} | |
47 | <div class="clear"></div> | |
48 | </div> {* crm-content-block ends here *} | |
49 | ||
50 | <script type="text/javascript"> | |
51 | var selectedTab = 'EventInfo'; | |
52 | {if $selectedTab}selectedTab = "{$selectedTab}";{/if} | |
53 | var spinnerImage = '<img src="{$config->resourceBase}i/loading.gif" style="width:10px;height:10px"/>'; | |
54 | {literal} | |
55 | ||
56 | cj( function() { | |
57 | var tabIndex = cj('#tab_' + selectedTab).prevAll().length | |
58 | cj("#mainTabContainer").tabs( { | |
59 | selected: tabIndex, | |
60 | spinner: spinnerImage, | |
61 | select: function(event, ui) { | |
62 | // we need to change the action of parent form, so that form submits to correct page | |
63 | var url = ui.tab.href; | |
64 | ||
65 | {/literal}{if $config->userSystem->is_drupal}{literal} | |
66 | var actionUrl = url.split( '?' ); | |
67 | {/literal}{if $config->cleanURL}{literal} | |
68 | var actualUrl = actionUrl[0]; | |
69 | {/literal}{else}{literal} | |
70 | var getParams = actionUrl[1].split( '&' ); | |
71 | var actualUrl = actionUrl[0] + '?' + getParams[0]; | |
72 | {/literal}{/if}{literal} | |
73 | {/literal}{else}{literal} | |
74 | var actionUrl = url.split( '&' ); | |
75 | var actualUrl = actionUrl[0] + '&' + actionUrl[1]; | |
76 | {/literal}{/if}{literal} | |
77 | ||
78 | if ( !global_formNavigate ) { | |
79 | 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}'; | |
80 | if ( !confirm( message ) ) { | |
81 | return false; | |
82 | } else { | |
83 | global_formNavigate = true; | |
84 | } | |
85 | } | |
86 | cj(this).parents("form").attr("action", actualUrl ); | |
87 | ||
88 | return true; | |
89 | }, | |
90 | load: function(event, ui) { | |
91 | if ((typeof(Drupal) != 'undefined') && Drupal.attachBehaviors) { | |
92 | Drupal.attachBehaviors(ui.panel); | |
93 | } | |
94 | cj(ui.panel).trigger('crmFormLoad'); | |
95 | // FIXME - decouple scanProfileSelectors and TabHeader | |
96 | if (CRM.scanProfileSelectors) { | |
97 | CRM.scanProfileSelectors(); | |
98 | } | |
99 | } | |
100 | }); | |
101 | }); | |
102 | {/literal} | |
103 | </script> | |
104 |