From bfcf0a98bfe0516d4783ca61e4b6555d4b50958b Mon Sep 17 00:00:00 2001 From: "Michael J. Rubinsky" Date: Fri, 3 Apr 2009 01:51:12 -0400 Subject: [PATCH] refactor to be a bit cleaner...rename reset() to init() and allow passing an array of tags to add to the tagger before the edit form is shown. --- kronolith/js/src/kronolith.js | 4 ++-- kronolith/js/src/taggerAutoCompleter.js | 20 +++++++++++--------- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/kronolith/js/src/kronolith.js b/kronolith/js/src/kronolith.js index d85a07c35..7908cbf24 100644 --- a/kronolith/js/src/kronolith.js +++ b/kronolith/js/src/kronolith.js @@ -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) { diff --git a/kronolith/js/src/taggerAutoCompleter.js b/kronolith/js/src/taggerAutoCompleter.js index 1059a8451..34c884720 100644 --- a/kronolith/js/src/taggerAutoCompleter.js +++ b/kronolith/js/src/taggerAutoCompleter.js @@ -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) -- 2.11.0