1 {if !$tagsetType or $tagsetType eq 'contact'}
2 {foreach from=$tagsetInfo_contact item=tagset}
3 <div class="crm-section tag-section contact-tagset-{$tagset.parentID}-section">
4 <label>{$tagset.parentName}</label>
5 <div{if $context EQ "contactTab"} style="margin-top:-15px;"{/if}>
6 {assign var=elemName value = $tagset.tagsetElementName}
7 {assign var=parID value = $tagset.parentID}
8 {assign var=editTagSet value=false}
9 {$form.$elemName.$parID.html}
11 {assign var=editTagSet value=true}
12 {if $action eq 16 and !($permission eq 'edit') }
13 {assign var=editTagSet value=false}
17 <script type="text/javascript">
19 var tagUrl = {/literal}"{$tagset.tagUrl}&key={crmKey name='civicrm/ajax/taglist'}"{literal};
20 var contactEntityTags = '';
21 {/literal}{if $tagset.entityTags}{literal}
22 eval( 'contactEntityTags = ' + {/literal}'{$tagset.entityTags}'{literal} );
23 {/literal}{/if}{literal}
24 var hintText = "{/literal}{ts escape='js'}Type in a partial or complete name of an existing tag.{/ts}{literal}";
26 cj( ".contact-tagset-{/literal}{$tagset.parentID}{literal}-section:not(.crm-processed-input) input")
27 .addClass("contact-taglist_{/literal}{$tagset.parentID}{literal}");
28 cj( ".contact-tagset-{/literal}{$tagset.parentID}{literal}-section:not(.crm-processed-input) .contact-taglist_{/literal}{$tagset.parentID}{literal}" )
29 .tokenInput( tagUrl, {
30 prePopulate: contactEntityTags,
33 onAdd: function ( item ) {
34 processContactTags_{/literal}{$tagset.parentID}{literal}( 'select', item.id );
36 //update count of tags in summary tab
37 if ( cj( '.ui-tabs-nav #tab_tag a' ).length ) {
38 var existingTagsInTagset = cj('.token-input-delete-token-facebook').length;
39 var tagCount = cj("#tagtree input:checkbox:checked").length + existingTagsInTagset;
40 cj( '.ui-tabs-nav #tab_tag a' ).html( 'Tags <em>' + tagCount + '</em>');
43 onDelete: function ( item ) {
44 processContactTags_{/literal}{$tagset.parentID}{literal}( 'delete', item.id );
46 //update count of tags in summary tab
47 if ( cj( '.ui-tabs-nav #tab_tag a' ).length ) {
48 var existingTagsInTagset = cj('.token-input-delete-token-facebook').length;
49 var tagCount = cj("#tagtree input:checkbox:checked").length + existingTagsInTagset;
50 cj( '.ui-tabs-nav #tab_tag a' ).html( 'Tags <em>' + tagCount + '</em>');
56 cj( ".contact-tagset-{/literal}{$tagset.parentID}{literal}-section:not(.crm-processed-input)").addClass("crm-processed-input");
58 function processContactTags_{/literal}{$tagset.parentID}{literal}( action, id ) {
59 var postUrl = "{/literal}{crmURL p='civicrm/ajax/processTags' h=0}{literal}";
60 var parentId = "{/literal}{$tagset.parentID}{literal}";
61 var entityId = "{/literal}{$tagset.entityId}{literal}";
62 var entityTable = "{/literal}{$tagset.entityTable}{literal}";
63 var skipTagCreate = "{/literal}{$tagset.skipTagCreate}{literal}";
64 var skipEntityAction = "{/literal}{$tagset.skipEntityAction}{literal}";
66 cj.post( postUrl, { action: action, tagID: id, parentId: parentId, entityId: entityId, entityTable: entityTable,
67 skipTagCreate: skipTagCreate, skipEntityAction: skipEntityAction, key: {/literal}"{crmKey name='civicrm/ajax/processTags'}"{literal} },
68 function ( response ) {
69 // update hidden element
71 var curVal = cj( ".contact-taglist_{/literal}{$tagset.parentID}{literal}" ).val( );
72 var valArray = curVal.split(',');
73 var setVal = Array( );
74 if ( response.action == 'delete' ) {
75 for ( x in valArray ) {
76 if ( valArray[x] != response.id ) {
77 setVal[x] = valArray[x];
81 else if ( response.action == 'select' ) {
83 setVal[ setVal.length ] = response.id;
86 var actualValue = setVal.join( ',' );
87 cj( ".contact-taglist_{/literal}{$tagset.parentID}{literal}" ).val( actualValue );
95 {if $tagset.entityTagsArray}
96 {foreach from=$tagset.entityTagsArray item=val name="tagsetList"}
97 {$val.name}{if !$smarty.foreach.tagsetList.last},{/if}
102 <div class="clear"></div>
106 {elseif $tagsetType eq 'activity'}
107 {foreach from=$tagsetInfo_activity item=tagset}
108 <div class="crm-section tag-section activity-tagset-{$tagset.parentID}-section">
110 <label>{$tagset.parentName}</label>
112 <div class="content">
113 {assign var=elemName value = $tagset.tagsetElementName}
114 {assign var=parID value = $tagset.parentID}
115 {assign var=editTagSet value=false}
116 {$form.$elemName.$parID.html}
118 {assign var=editTagSet value=true}
119 {if $action eq 16 and !($permission eq 'edit') }
120 {assign var=editTagSet value=false}
124 <script type="text/javascript">
126 var tagUrl = {/literal}"{$tagset.tagUrl}&key={crmKey name='civicrm/ajax/taglist'}"{literal};
127 var activityEntityTags = '';
128 {/literal}{if $tagset.entityTags}{literal}
129 eval( 'activityEntityTags = ' + {/literal}'{$tagset.entityTags}'{literal} );
130 {/literal}{/if}{literal}
131 var hintText = "{/literal}{ts escape='js'}Type in a partial or complete name of an existing tag.{/ts}{literal}";
133 cj( ".activity-tagset-{/literal}{$tagset.parentID}{literal}-section:not(.crm-processed-input) input")
134 .addClass("activity-taglist_{/literal}{$tagset.parentID}{literal}");
136 cj( ".activity-tagset-{/literal}{$tagset.parentID}{literal}-section:not(.crm-processed-input) .activity-taglist_{/literal}{$tagset.parentID}{literal}" )
137 .tokenInput( tagUrl, {
138 prePopulate: activityEntityTags,
141 onAdd: function ( item ) {
142 processActivityTags_{/literal}{$tagset.parentID}{literal}( 'select', item.id );
144 onDelete: function ( item ) {
145 processActivityTags_{/literal}{$tagset.parentID}{literal}( 'delete', item.id );
150 cj( ".activity-tagset-{/literal}{$tagset.parentID}{literal}-section:not(.crm-processed-input)").addClass("crm-processed-input");
151 function processActivityTags_{/literal}{$tagset.parentID}{literal}( action, id ) {
152 var postUrl = "{/literal}{crmURL p='civicrm/ajax/processTags' h=0}{literal}";
153 var parentId = "{/literal}{$tagset.parentID}{literal}";
154 var entityId = "{/literal}{$tagset.entityId}{literal}";
155 var entityTable = "{/literal}{$tagset.entityTable}{literal}";
156 var skipTagCreate = "{/literal}{$tagset.skipTagCreate}{literal}";
157 var skipEntityAction = "{/literal}{$tagset.skipEntityAction}{literal}";
159 cj.post( postUrl, { action: action, tagID: id, parentId: parentId, entityId: entityId, entityTable: entityTable,
160 skipTagCreate: skipTagCreate, skipEntityAction: skipEntityAction, key: {/literal}"{crmKey name='civicrm/ajax/processTags'}"{literal} },
161 function ( response ) {
162 // update hidden element
164 var curVal = cj( ".activity-taglist_{/literal}{$tagset.parentID}{literal}" ).val( );
165 var valArray = curVal.split(',');
166 var setVal = Array( );
167 if ( response.action == 'delete' ) {
168 for ( x in valArray ) {
169 if ( valArray[x] != response.id ) {
170 setVal[x] = valArray[x];
174 else if ( response.action == 'select' ) {
176 setVal[ setVal.length ] = response.id;
179 var actualValue = setVal.join( ',' );
180 cj( ".activity-taglist_{/literal}{$tagset.parentID}{literal}" ).val( actualValue );
188 {if $tagset.entityTagsArray}
189 {foreach from=$tagset.entityTagsArray item=val name="tagsetList"}
190 {$val.name}{if !$smarty.foreach.tagsetList.last},{/if}
195 <div class="clear"></div>
199 {elseif $tagsetType eq 'case'}
200 {foreach from=$tagsetInfo_case item=tagset}
201 <div class="crm-section tag-section case-tagset-{$tagset.parentID}-section">
203 <label>{$tagset.parentName}</label>
205 <div class="content">
206 {assign var=elemName value = $tagset.tagsetElementName}
207 {assign var=parID value = $tagset.parentID}
208 {assign var=editTagSet value=false}
209 {$form.$elemName.$parID.html}
210 {if $action ne 4 or $form.formName eq 'CaseView' }
211 {assign var=editTagSet value=true}
212 {if $action eq 16 and !($permission eq 'edit') }
213 {assign var=editTagSet value=false}
217 <script type="text/javascript">
219 var tagUrl = {/literal}"{$tagset.tagUrl}&key={crmKey name='civicrm/ajax/taglist'}"{literal};
220 var caseEntityTags = '';
221 {/literal}{if $tagset.entityTags}{literal}
222 eval( 'caseEntityTags = ' + {/literal}'{$tagset.entityTags}'{literal} );
223 {/literal}{/if}{literal}
224 var hintText = "{/literal}{ts escape='js'}Type in a partial or complete name of an existing tag.{/ts}{literal}";
226 cj( ".case-tagset-{/literal}{$tagset.parentID}{literal}-section:not(.crm-processed-input) input")
227 .addClass("case-taglist_{/literal}{$tagset.parentID}{literal}");
229 cj( ".case-tagset-{/literal}{$tagset.parentID}{literal}-section:not(.crm-processed-input) .case-taglist_{/literal}{$tagset.parentID}{literal}")
230 .tokenInput( tagUrl, {
231 prePopulate: caseEntityTags,
234 onAdd: function ( item ) {
235 processCaseTags_{/literal}{$tagset.parentID}{literal}( 'select', item.id );
237 onDelete: function ( item ) {
238 processCaseTags_{/literal}{$tagset.parentID}{literal}( 'delete', item.id );
243 cj( ".case-tagset-{/literal}{$tagset.parentID}{literal}-section:not(.crm-processed-input)").addClass("crm-processed-input");
245 function processCaseTags_{/literal}{$tagset.parentID}{literal}( action, id ) {
246 var postUrl = "{/literal}{crmURL p='civicrm/ajax/processTags' h=0}{literal}";
247 var parentId = "{/literal}{$tagset.parentID}{literal}";
248 var entityId = "{/literal}{$tagset.entityId}{literal}";
249 var entityTable = "{/literal}{$tagset.entityTable}{literal}";
250 var skipTagCreate = "{/literal}{$tagset.skipTagCreate}{literal}";
251 var skipEntityAction = "{/literal}{$tagset.skipEntityAction}{literal}";
253 cj.post( postUrl, { action: action, tagID: id, parentId: parentId, entityId: entityId, entityTable: entityTable,
254 skipTagCreate: skipTagCreate, skipEntityAction: skipEntityAction, key: {/literal}"{crmKey name='civicrm/ajax/processTags'}"{literal} },
255 function ( response ) {
256 // update hidden element
258 var curVal = cj( ".case-taglist_{/literal}{$tagset.parentID}{literal}" ).val( );
259 var valArray = curVal.split(',');
260 var setVal = Array( );
261 if ( response.action == 'delete' ) {
262 for ( x in valArray ) {
263 if ( valArray[x] != response.id ) {
264 setVal[x] = valArray[x];
268 else if ( response.action == 'select' ) {
270 setVal[ setVal.length ] = response.id;
273 var actualValue = setVal.join( ',' );
274 cj( ".case-taglist_{/literal}{$tagset.parentID}{literal}" ).val( actualValue );
282 {if $tagset.entityTagsArray}
283 {foreach from=$tagset.entityTagsArray item=val name="tagsetList"}
284 {$val.name}{if !$smarty.foreach.tagsetList.last},{/if}
289 <div class="clear"></div>
292 {elseif $tagsetType eq 'attachment'}
293 {assign var=tagset value = $tagsetInfo_attachment.$tagsetNumber}
294 <div class="crm-section tag-section attachment-tagset-{$tagset.parentID}-section">
295 <div class="crm-attachment-tagset-label">
296 <label>{$tagset.parentName}</label>
298 <div class="crm-attachment-tagset">
299 {assign var=elemName value = $tagset.tagsetElementName}
300 {assign var=parID value = $tagset.parentID}
301 {assign var=editTagSet value=false}
302 {$form.$elemName.$parID.html}
303 {if $action ne 4 or $form.formName eq 'CaseView' }
304 {assign var=editTagSet value=true}
305 {if $action eq 16 and !($permission eq 'edit') }
306 {assign var=editTagSet value=false}
310 <script type="text/javascript">
312 var tagUrl = {/literal}"{$tagset.tagUrl}&key={crmKey name='civicrm/ajax/taglist'}"{literal};
313 var attachmentEntityTags = '';
314 {/literal}{if $tagset.entityTags}{literal}
315 eval( 'attachmentEntityTags = ' + {/literal}'{$tagset.entityTags}'{literal} );
316 {/literal}{/if}{literal}
317 var hintText = "{/literal}{ts escape='js'}Type in a partial or complete name of an existing tag.{/ts}{literal}";
319 cj( ".attachment-tagset-{/literal}{$tagset.parentID}{literal}-section:not(.crm-processed-input) input")
320 .addClass("attachment-taglist_{/literal}{$tagset.parentID}{literal}");
322 cj( ".attachment-tagset-{/literal}{$tagset.parentID}{literal}-section:not(.crm-processed-input) .attachment-taglist_{/literal}{$tagset.parentID}{literal}")
323 .tokenInput( tagUrl, {
324 prePopulate: attachmentEntityTags,
327 onAdd: function ( item ) {
328 processAttachmentTags_{/literal}{$tagset.parentID}{literal}( 'select', item.id );
330 onDelete: function ( item ) {
331 processAttachmentTags_{/literal}{$tagset.parentID}{literal}( 'delete', item.id );
336 cj( ".attachment-tagset-{/literal}{$tagset.parentID}{literal}-section:not(.crm-processed-input)").addClass("crm-processed-input");
338 function processAttachmentTags_{/literal}{$tagset.parentID}{literal}( action, id ) {
339 var postUrl = "{/literal}{crmURL p='civicrm/ajax/processTags' h=0}{literal}";
340 var parentId = "{/literal}{$tagset.parentID}{literal}";
341 var entityId = "{/literal}{$tagset.entityId}{literal}";
342 var entityTable = "{/literal}{$tagset.entityTable}{literal}";
343 var skipTagCreate = "{/literal}{$tagset.skipTagCreate}{literal}";
344 var skipEntityAction = "{/literal}{$tagset.skipEntityAction}{literal}";
346 cj.post( postUrl, { action: action, tagID: id, parentId: parentId, entityId: entityId, entityTable: entityTable,
347 skipTagCreate: skipTagCreate, skipEntityAction: skipEntityAction, key: {/literal}"{crmKey name='civicrm/ajax/processTags'}"{literal} },
348 function ( response ) {
349 // update hidden element
351 var curVal = cj( ".attachment-taglist_{/literal}{$tagset.parentID}{literal}" ).val( );
352 var valArray = curVal.split(',');
353 var setVal = Array( );
354 if ( response.action == 'delete' ) {
355 for ( x in valArray ) {
356 if ( valArray[x] != response.id ) {
357 setVal[x] = valArray[x];
361 else if ( response.action == 'select' ) {
363 setVal[ setVal.length ] = response.id;
366 var actualValue = setVal.join( ',' );
367 cj( ".attachment-taglist_{/literal}{$tagset.parentID}{literal}" ).val( actualValue );
375 {if $tagset.entityTagsArray}
376 {foreach from=$tagset.entityTagsArray item=val name="tagsetList"}
377 {$val.name}{if !$smarty.foreach.tagsetList.last},{/if}
382 <div class="clear"></div>