calendar = calendar.split('|');
var type = calendar[0];
calendar = calendar.length == 1 ? null : calendar[1];
- this.doAction('listTopTags', {update: 'kronolithCalendarinternalTopTags'}, this.topTagsCallback);
+ this.doAction('listTopTags', {tagclass: 'kronolithCalendarTag'}, this.topTagsCallback);
var form = $('kronolithCalendarForm' + type),
firstTab = form.down('.tabset a.kronolithTabLink'),
info;
e.stop();
return;
+ case 'kronolithCalendarTag':
+ $('kronolithCalendarinternalTags').autocompleter.addNewItemNode(elt.getText());
+ e.stop();
+ return;
+
case 'kronolithEventGeo':
this.ensureMap();
this.geocode($F('kronolithEventLocation'));
$('kronolithEventSave').show();
$('kronolithEventDelete').show();
$('kronolithEventForm').down('.kronolithFormActions .kronolithSeparator').show();
- this.doAction('listTopTags', {update: 'kronolithEventTopTags'}, this.topTagsCallback);
+ this.doAction('listTopTags', {tagclass: 'kronolithEventTag'}, this.topTagsCallback);
if (id) {
RedBox.loading();
this.doAction('getEvent', { cal: calendar, id: id, date: date }, this.editEventCallback.bind(this));
topTagsCallback: function(r)
{
+ var update = (r.response.tagclass == 'kronolithEventTag') ? 'kronolithEventTopTags' : 'kronolithCalendarinternalTopTags';
if (!r.response.tags) {
- $(r.response.update).update();
+ $(update).update();
return;
}
t = new Element('div');
r.response.tags.each(function(tag) {
- t.insert(new Element('span', { className: 'kronolithEventTag' }).update(tag.escapeHTML()));
+ t.insert(new Element('span', { className: r.response.tagclass }).update(tag.escapeHTML()));
});
- $(r.response.update).update(t);
+ $(update).update(t);
return;
},
/**
* Generate a list of most frequently used tags for the current user.
- * Takes a 'update' parameter that gets passed back to indicate what element
+ * Takes a 'tagclass' parameter that gets passed back to indicate what element
* to update.
*/
public function listTopTags()
$tagger = new Kronolith_Tagger();
$result = new stdClass;
$result->tags = array();
- $result->update = $this->_vars->update;
+ $result->tagclass = $this->_vars->tagclass;
$tags = $tagger->getCloud(Horde_Auth::getAuth(), 10);
foreach ($tags as $tag) {
$result->tags[] = $tag['tag_name'];
</div>
<?php
-$ctac = Horde_Ajax_Imple::factory(array('kronolith', 'TagAutoCompleter'), array('triggerId' => 'kronolithCalendarinternalTags', 'box' => 'kronolithCalendarinternalACBox', 'pretty' => true, 'no_onload' => true));
+$ctac = Horde_Ajax_Imple::factory(array('kronolith', 'TagAutoCompleter'),
+ array('triggerId' => 'kronolithCalendarinternalTags',
+ 'triggerContainer' => 'kronolithACCalendarTriggerContainer',
+ 'box' => 'kronolithCalendarinternalACBox',
+ 'pretty' => true,
+ 'no_onload' => true));
$ctac->attach();