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 onDelete: function ( item ) {
37 processContactTags_{/literal}{$tagset.parentID}{literal}( 'delete', item.id );
42 cj( ".contact-tagset-{/literal}{$tagset.parentID}{literal}-section:not(.crm-processed-input)").addClass("crm-processed-input");
44 function processContactTags_{/literal}{$tagset.parentID}{literal}( action, id ) {
45 var postUrl = "{/literal}{crmURL p='civicrm/ajax/processTags' h=0}{literal}";
46 var parentId = "{/literal}{$tagset.parentID}{literal}";
47 var entityId = "{/literal}{$tagset.entityId}{literal}";
48 var entityTable = "{/literal}{$tagset.entityTable}{literal}";
49 var skipTagCreate = "{/literal}{$tagset.skipTagCreate}{literal}";
50 var skipEntityAction = "{/literal}{$tagset.skipEntityAction}{literal}";
52 cj.post( postUrl, { action: action, tagID: id, parentId: parentId, entityId: entityId, entityTable: entityTable,
53 skipTagCreate: skipTagCreate, skipEntityAction: skipEntityAction, key: {/literal}"{crmKey name='civicrm/ajax/processTags'}"{literal} },
54 function ( response ) {
55 // update hidden element
57 var curVal = cj( ".contact-taglist_{/literal}{$tagset.parentID}{literal}" ).val( );
58 var valArray = curVal.split(',');
59 var setVal = Array( );
60 if ( response.action == 'delete' ) {
61 for ( x in valArray ) {
62 if ( valArray[x] != response.id ) {
63 setVal[x] = valArray[x];
66 CRM.alert('', '{/literal}{ts escape='js'}Removed{/ts}{literal}', 'success');
69 CRM.alert('', '{/literal}{ts escape='js'}Saved{/ts}{literal}', 'success');
71 if ( response.action == 'select' ) {
73 setVal[ setVal.length ] = response.id;
76 var actualValue = setVal.join( ',' );
77 cj( ".contact-taglist_{/literal}{$tagset.parentID}{literal}" ).val( actualValue );
79 // update contact summary tab
80 if (CRM.updateContactSummaryTags) {
81 CRM.updateContactSummaryTags();
89 {if $tagset.entityTagsArray}
90 {foreach from=$tagset.entityTagsArray item=val name="tagsetList"}
91 {$val.name}{if !$smarty.foreach.tagsetList.last},{/if}
96 <div class="clear"></div>
100 {elseif $tagsetType eq 'activity'}
101 {foreach from=$tagsetInfo_activity item=tagset}
102 <div class="crm-section tag-section activity-tagset-{$tagset.parentID}-section">
104 <label>{$tagset.parentName}</label>
106 <div class="content">
107 {assign var=elemName value = $tagset.tagsetElementName}
108 {assign var=parID value = $tagset.parentID}
109 {assign var=editTagSet value=false}
110 {$form.$elemName.$parID.html}
112 {assign var=editTagSet value=true}
113 {if $action eq 16 and !($permission eq 'edit') }
114 {assign var=editTagSet value=false}
118 <script type="text/javascript">
120 var tagUrl = {/literal}"{$tagset.tagUrl}&key={crmKey name='civicrm/ajax/taglist'}"{literal};
121 var activityEntityTags = '';
122 {/literal}{if $tagset.entityTags}{literal}
123 eval( 'activityEntityTags = ' + {/literal}'{$tagset.entityTags}'{literal} );
124 {/literal}{/if}{literal}
125 var hintText = "{/literal}{ts escape='js'}Type in a partial or complete name of an existing tag.{/ts}{literal}";
127 cj( ".activity-tagset-{/literal}{$tagset.parentID}{literal}-section:not(.crm-processed-input) input")
128 .addClass("activity-taglist_{/literal}{$tagset.parentID}{literal}");
130 cj( ".activity-tagset-{/literal}{$tagset.parentID}{literal}-section:not(.crm-processed-input) .activity-taglist_{/literal}{$tagset.parentID}{literal}" )
131 .tokenInput( tagUrl, {
132 prePopulate: activityEntityTags,
135 onAdd: function ( item ) {
136 processActivityTags_{/literal}{$tagset.parentID}{literal}( 'select', item.id );
138 onDelete: function ( item ) {
139 processActivityTags_{/literal}{$tagset.parentID}{literal}( 'delete', item.id );
144 cj( ".activity-tagset-{/literal}{$tagset.parentID}{literal}-section:not(.crm-processed-input)").addClass("crm-processed-input");
145 function processActivityTags_{/literal}{$tagset.parentID}{literal}( action, id ) {
146 var postUrl = "{/literal}{crmURL p='civicrm/ajax/processTags' h=0}{literal}";
147 var parentId = "{/literal}{$tagset.parentID}{literal}";
148 var entityId = "{/literal}{$tagset.entityId}{literal}";
149 var entityTable = "{/literal}{$tagset.entityTable}{literal}";
150 var skipTagCreate = "{/literal}{$tagset.skipTagCreate}{literal}";
151 var skipEntityAction = "{/literal}{$tagset.skipEntityAction}{literal}";
153 cj.post( postUrl, { action: action, tagID: id, parentId: parentId, entityId: entityId, entityTable: entityTable,
154 skipTagCreate: skipTagCreate, skipEntityAction: skipEntityAction, key: {/literal}"{crmKey name='civicrm/ajax/processTags'}"{literal} },
155 function ( response ) {
156 // update hidden element
158 var curVal = cj( ".activity-taglist_{/literal}{$tagset.parentID}{literal}" ).val( );
159 var valArray = curVal.split(',');
160 var setVal = Array( );
161 if ( response.action == 'delete' ) {
162 for ( x in valArray ) {
163 if ( valArray[x] != response.id ) {
164 setVal[x] = valArray[x];
168 else if ( response.action == 'select' ) {
170 setVal[ setVal.length ] = response.id;
173 var actualValue = setVal.join( ',' );
174 cj( ".activity-taglist_{/literal}{$tagset.parentID}{literal}" ).val( actualValue );
182 {if $tagset.entityTagsArray}
183 {foreach from=$tagset.entityTagsArray item=val name="tagsetList"}
184 {$val.name}{if !$smarty.foreach.tagsetList.last},{/if}
189 <div class="clear"></div>
193 {elseif $tagsetType eq 'case'}
194 {foreach from=$tagsetInfo_case item=tagset}
195 <div class="crm-section tag-section case-tagset-{$tagset.parentID}-section">
197 <label>{$tagset.parentName}</label>
199 <div class="content">
200 {assign var=elemName value = $tagset.tagsetElementName}
201 {assign var=parID value = $tagset.parentID}
202 {assign var=editTagSet value=false}
203 {$form.$elemName.$parID.html}
204 {if $action ne 4 or $form.formName eq 'CaseView' }
205 {assign var=editTagSet value=true}
206 {if $action eq 16 and !($permission eq 'edit') }
207 {assign var=editTagSet value=false}
211 <script type="text/javascript">
213 var tagUrl = {/literal}"{$tagset.tagUrl}&key={crmKey name='civicrm/ajax/taglist'}"{literal};
214 var caseEntityTags = '';
215 {/literal}{if $tagset.entityTags}{literal}
216 eval( 'caseEntityTags = ' + {/literal}'{$tagset.entityTags}'{literal} );
217 {/literal}{/if}{literal}
218 var hintText = "{/literal}{ts escape='js'}Type in a partial or complete name of an existing tag.{/ts}{literal}";
220 cj( ".case-tagset-{/literal}{$tagset.parentID}{literal}-section:not(.crm-processed-input) input")
221 .addClass("case-taglist_{/literal}{$tagset.parentID}{literal}");
223 cj( ".case-tagset-{/literal}{$tagset.parentID}{literal}-section:not(.crm-processed-input) .case-taglist_{/literal}{$tagset.parentID}{literal}")
224 .tokenInput( tagUrl, {
225 prePopulate: caseEntityTags,
228 onAdd: function ( item ) {
229 processCaseTags_{/literal}{$tagset.parentID}{literal}( 'select', item.id );
231 onDelete: function ( item ) {
232 processCaseTags_{/literal}{$tagset.parentID}{literal}( 'delete', item.id );
237 cj( ".case-tagset-{/literal}{$tagset.parentID}{literal}-section:not(.crm-processed-input)").addClass("crm-processed-input");
239 function processCaseTags_{/literal}{$tagset.parentID}{literal}( action, id ) {
240 var postUrl = "{/literal}{crmURL p='civicrm/ajax/processTags' h=0}{literal}";
241 var parentId = "{/literal}{$tagset.parentID}{literal}";
242 var entityId = "{/literal}{$tagset.entityId}{literal}";
243 var entityTable = "{/literal}{$tagset.entityTable}{literal}";
244 var skipTagCreate = "{/literal}{$tagset.skipTagCreate}{literal}";
245 var skipEntityAction = "{/literal}{$tagset.skipEntityAction}{literal}";
247 cj.post( postUrl, { action: action, tagID: id, parentId: parentId, entityId: entityId, entityTable: entityTable,
248 skipTagCreate: skipTagCreate, skipEntityAction: skipEntityAction, key: {/literal}"{crmKey name='civicrm/ajax/processTags'}"{literal} },
249 function ( response ) {
250 // update hidden element
252 var curVal = cj( ".case-taglist_{/literal}{$tagset.parentID}{literal}" ).val( );
253 var valArray = curVal.split(',');
254 var setVal = Array( );
255 if ( response.action == 'delete' ) {
256 for ( x in valArray ) {
257 if ( valArray[x] != response.id ) {
258 setVal[x] = valArray[x];
262 else if ( response.action == 'select' ) {
264 setVal[ setVal.length ] = response.id;
267 var actualValue = setVal.join( ',' );
268 cj( ".case-taglist_{/literal}{$tagset.parentID}{literal}" ).val( actualValue );
276 {if $tagset.entityTagsArray}
277 {foreach from=$tagset.entityTagsArray item=val name="tagsetList"}
278 {$val.name}{if !$smarty.foreach.tagsetList.last},{/if}
283 <div class="clear"></div>
286 {elseif $tagsetType eq 'attachment'}
287 {assign var=tagset value = $tagsetInfo_attachment.$tagsetNumber}
288 <div class="crm-section tag-section attachment-tagset-{$tagset.parentID}-section">
289 <div class="crm-attachment-tagset-label">
290 <label>{$tagset.parentName}</label>
292 <div class="crm-attachment-tagset">
293 {assign var=elemName value = $tagset.tagsetElementName}
294 {assign var=parID value = $tagset.parentID}
295 {assign var=editTagSet value=false}
296 {$form.$elemName.$parID.html}
297 {if $action ne 4 or $form.formName eq 'CaseView' }
298 {assign var=editTagSet value=true}
299 {if $action eq 16 and !($permission eq 'edit') }
300 {assign var=editTagSet value=false}
304 <script type="text/javascript">
306 var tagUrl = {/literal}"{$tagset.tagUrl}&key={crmKey name='civicrm/ajax/taglist'}"{literal};
307 var attachmentEntityTags = '';
308 {/literal}{if $tagset.entityTags}{literal}
309 eval( 'attachmentEntityTags = ' + {/literal}'{$tagset.entityTags}'{literal} );
310 {/literal}{/if}{literal}
311 var hintText = "{/literal}{ts escape='js'}Type in a partial or complete name of an existing tag.{/ts}{literal}";
313 cj( ".attachment-tagset-{/literal}{$tagset.parentID}{literal}-section:not(.crm-processed-input) input")
314 .addClass("attachment-taglist_{/literal}{$tagset.parentID}{literal}");
316 cj( ".attachment-tagset-{/literal}{$tagset.parentID}{literal}-section:not(.crm-processed-input) .attachment-taglist_{/literal}{$tagset.parentID}{literal}")
317 .tokenInput( tagUrl, {
318 prePopulate: attachmentEntityTags,
321 onAdd: function ( item ) {
322 processAttachmentTags_{/literal}{$tagset.parentID}{literal}( 'select', item.id );
324 onDelete: function ( item ) {
325 processAttachmentTags_{/literal}{$tagset.parentID}{literal}( 'delete', item.id );
330 cj( ".attachment-tagset-{/literal}{$tagset.parentID}{literal}-section:not(.crm-processed-input)").addClass("crm-processed-input");
332 function processAttachmentTags_{/literal}{$tagset.parentID}{literal}( action, id ) {
333 var postUrl = "{/literal}{crmURL p='civicrm/ajax/processTags' h=0}{literal}";
334 var parentId = "{/literal}{$tagset.parentID}{literal}";
335 var entityId = "{/literal}{$tagset.entityId}{literal}";
336 var entityTable = "{/literal}{$tagset.entityTable}{literal}";
337 var skipTagCreate = "{/literal}{$tagset.skipTagCreate}{literal}";
338 var skipEntityAction = "{/literal}{$tagset.skipEntityAction}{literal}";
340 cj.post( postUrl, { action: action, tagID: id, parentId: parentId, entityId: entityId, entityTable: entityTable,
341 skipTagCreate: skipTagCreate, skipEntityAction: skipEntityAction, key: {/literal}"{crmKey name='civicrm/ajax/processTags'}"{literal} },
342 function ( response ) {
343 // update hidden element
345 var curVal = cj( ".attachment-taglist_{/literal}{$tagset.parentID}{literal}" ).val( );
346 var valArray = curVal.split(',');
347 var setVal = Array( );
348 if ( response.action == 'delete' ) {
349 for ( x in valArray ) {
350 if ( valArray[x] != response.id ) {
351 setVal[x] = valArray[x];
355 else if ( response.action == 'select' ) {
357 setVal[ setVal.length ] = response.id;
360 var actualValue = setVal.join( ',' );
361 cj( ".attachment-taglist_{/literal}{$tagset.parentID}{literal}" ).val( actualValue );
369 {if $tagset.entityTagsArray}
370 {foreach from=$tagset.entityTagsArray item=val name="tagsetList"}
371 {$val.name}{if !$smarty.foreach.tagsetList.last},{/if}
376 <div class="clear"></div>