diff --git a/assets/javascripts/discourse/components/knowledge-explorer-tag.js.es6 b/assets/javascripts/discourse/components/knowledge-explorer-tag.js.es6 new file mode 100644 index 0000000..744460f --- /dev/null +++ b/assets/javascripts/discourse/components/knowledge-explorer-tag.js.es6 @@ -0,0 +1,13 @@ +import computed from "ember-addons/ember-computed-decorators"; +import DiscourseURL from "discourse/lib/url"; + +export default Ember.Component.extend({ + @computed("category", "tag") + href(category, tag) { + return "/knowledge-explorer"; + }, + + click() { + DiscourseURL.routeTo(this.href, { replaceURL: true }); + } +}); diff --git a/assets/javascripts/discourse/components/knowledge-explorer-tags.js.es6 b/assets/javascripts/discourse/components/knowledge-explorer-tags.js.es6 new file mode 100644 index 0000000..a55a109 --- /dev/null +++ b/assets/javascripts/discourse/components/knowledge-explorer-tags.js.es6 @@ -0,0 +1,23 @@ +import computed from "ember-addons/ember-computed-decorators"; +import { on, observes } from "ember-addons/ember-computed-decorators"; +import { ajax } from "discourse/lib/ajax"; + +function sortAlpha(a, b) { + let aName = a.id.toLowerCase(); + let bName = b.id.toLowerCase(); + return aName < bName ? -1 : aName > bName ? 1 : 0; +} + +function sortCount(a, b) { + let aCount = a.count; + let bCount = b.count; + + return bCount - aCount || a.id.localeCompare(b.id); +} + +let cachedResults = null; +let lastFetchDate = null; + +export default Ember.Component.extend({ + classNames: "knowledge-explorer-tags" +}); diff --git a/assets/javascripts/discourse/templates/components/knowledge-explorer-tag.hbs b/assets/javascripts/discourse/templates/components/knowledge-explorer-tag.hbs new file mode 100644 index 0000000..60dcdad --- /dev/null +++ b/assets/javascripts/discourse/templates/components/knowledge-explorer-tag.hbs @@ -0,0 +1,9 @@ +