refactor to be a bit cleaner...rename reset() to init() and allow
authorMichael J. Rubinsky <mrubinsk@horde.org>
Fri, 3 Apr 2009 05:51:12 +0000 (01:51 -0400)
committerMichael J. Rubinsky <mrubinsk@horde.org>
Fri, 3 Apr 2009 05:52:12 +0000 (01:52 -0400)
passing an array of tags to add to the tagger before the edit form
is shown.

kronolith/js/src/kronolith.js
kronolith/js/src/taggerAutoCompleter.js

index d85a07c..7908cbf 100644 (file)
@@ -1159,12 +1159,12 @@ KronolithCore = {
         };
 
         this.doAction('ListTopTags', {}, this._topTags);
-        $('kronolithTagACTrigger').kronolithTagger.reset();
         if (id) {
             RedBox.loading();
             this.doAction('GetEvent', { 'cal': calendar, 'id': id }, this._editEvent.bind(this));
         } else {
             var d = new Date();
+            $('kronolithTagACTrigger').kronolithTagger.init();
             $('kronolithEventForm').enable();
             $('kronolithEventForm').reset();
             $('kronolithEventId').value = '';
@@ -1215,7 +1215,7 @@ KronolithCore = {
             $('kronolithEventStartTime').value = ev.st;
             $('kronolithEventEndDate').value = ev.ed;
             $('kronolithEventEndTime').value = ev.et;
-            $('kronolithEventTags').value = ev.tg.join(', ');
+            $('kronolithTagACTrigger').kronolithTagger.init(ev.tg);
             if (ev.r) {
                 // @todo: refine
                 $A($('kronolithEventRecurrence').options).find(function(option) {
index 1059a84..34c8847 100644 (file)
@@ -29,24 +29,26 @@ var KronolithTagger = Class.create({
 
             // Prepopulate the tags and the container elements?
             if (this.p.existing) {
-               for (var i = 0, l = this.p.existing.length; i < l; i++) {
-                    this.addNewTagNode(this.p.existing[i]);
-                }
+                this.init(this.p.existing);
             }
 
         },
 
-        reset: function(e)
+        init: function(existing)
         {
             // TODO: Resize the trigger field to fill the current line?
-            //$(this.p.trigger).value = '';
-
-            // Clear the hidden input field
-            //$(this.p.tags).value = '';
-
+            // Clear any existing values
             if (this.p.selectedTags.length) {
                 $('kronolithTagACBox').select('li.kronolithTagACListItem').each(function(item) {this.removeTagNode(item) }.bind(this));
             }
+
+            // Add any initial values
+            if (typeof existing != 'undefined' && existing.length) {
+                for (var i = 0, l = existing.length; i < l; i++) {
+                    this.addNewTagNode(existing[i]);
+                }
+            }
+
         },
 
         _onKeyDown: function(e)