DEV: apply coding standards (#9)
This commit is contained in:
parent
2f59883fb6
commit
8a5b3201b9
92
.eslintrc
92
.eslintrc
|
@ -1,93 +1,3 @@
|
||||||
{
|
{
|
||||||
"env": {
|
"extends": "eslint-config-discourse"
|
||||||
"jasmine": true,
|
|
||||||
"node": true,
|
|
||||||
"mocha": true,
|
|
||||||
"browser": true,
|
|
||||||
"builtin": true
|
|
||||||
},
|
|
||||||
"parserOptions": {
|
|
||||||
"ecmaVersion": 7,
|
|
||||||
"sourceType": "module"
|
|
||||||
},
|
|
||||||
"globals": {
|
|
||||||
"Ember": true,
|
|
||||||
"jQuery": true,
|
|
||||||
"$": true,
|
|
||||||
"QUnit": true,
|
|
||||||
"RSVP": true,
|
|
||||||
"Discourse": true,
|
|
||||||
"Handlebars": true,
|
|
||||||
"I18n": true,
|
|
||||||
"bootbox": true,
|
|
||||||
"moduleFor": true,
|
|
||||||
"moduleForComponent": true,
|
|
||||||
"Pretender": true,
|
|
||||||
"sandbox": true,
|
|
||||||
"controllerFor": true,
|
|
||||||
"test": true,
|
|
||||||
"visit": true,
|
|
||||||
"andThen": true,
|
|
||||||
"click": true,
|
|
||||||
"currentPath": true,
|
|
||||||
"currentRouteName": true,
|
|
||||||
"currentURL": true,
|
|
||||||
"fillIn": true,
|
|
||||||
"keyEvent": true,
|
|
||||||
"triggerEvent": true,
|
|
||||||
"count": true,
|
|
||||||
"exists": true,
|
|
||||||
"visible": true,
|
|
||||||
"invisible": true,
|
|
||||||
"asyncRender": true,
|
|
||||||
"asyncTestDiscourse": true,
|
|
||||||
"fixture": true,
|
|
||||||
"find": true,
|
|
||||||
"sinon": true,
|
|
||||||
"moment": true,
|
|
||||||
"_": true,
|
|
||||||
"alert": true,
|
|
||||||
"define": true,
|
|
||||||
"require": true,
|
|
||||||
"requirejs": true,
|
|
||||||
"hasModule": true,
|
|
||||||
"Blob": true,
|
|
||||||
"File": true
|
|
||||||
},
|
|
||||||
"rules": {
|
|
||||||
"block-scoped-var": 2,
|
|
||||||
"dot-notation": 0,
|
|
||||||
"eqeqeq": [2, "allow-null"],
|
|
||||||
"guard-for-in": 2,
|
|
||||||
"no-bitwise": 2,
|
|
||||||
"no-caller": 2,
|
|
||||||
"no-cond-assign": 0,
|
|
||||||
"no-debugger": 2,
|
|
||||||
"no-empty": 0,
|
|
||||||
"no-eval": 2,
|
|
||||||
"no-extend-native": 2,
|
|
||||||
"no-extra-parens": 0,
|
|
||||||
"no-inner-declarations": 2,
|
|
||||||
"no-irregular-whitespace": 2,
|
|
||||||
"no-iterator": 2,
|
|
||||||
"no-loop-func": 2,
|
|
||||||
"no-multi-str": 2,
|
|
||||||
"no-new": 2,
|
|
||||||
"no-plusplus": 0,
|
|
||||||
"no-proto": 2,
|
|
||||||
"no-script-url": 2,
|
|
||||||
"no-sequences": 2,
|
|
||||||
"no-shadow": 2,
|
|
||||||
"no-undef": 2,
|
|
||||||
"no-unused-vars": 2,
|
|
||||||
"no-with": 2,
|
|
||||||
"no-this-before-super": 2,
|
|
||||||
"semi": 2,
|
|
||||||
"strict": 0,
|
|
||||||
"valid-typeof": 2,
|
|
||||||
"wrap-iife": [2, "inside"],
|
|
||||||
"no-mixed-spaces-and-tabs": 2,
|
|
||||||
"no-trailing-spaces": 2
|
|
||||||
},
|
|
||||||
"parser": "babel-eslint"
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1 +1,4 @@
|
||||||
.rubocop-https---raw-githubusercontent-com-discourse-discourse-master--rubocop-yml
|
.rubocop-https---raw-githubusercontent-com-discourse-discourse-master--rubocop-yml
|
||||||
|
node_modules
|
||||||
|
yarn-error.log
|
||||||
|
.rubocop-https---raw-githubusercontent-com-discourse-*
|
||||||
|
|
|
@ -1 +1,2 @@
|
||||||
inherit_from: https://raw.githubusercontent.com/discourse/discourse/master/.rubocop.yml
|
inherit_gem:
|
||||||
|
rubocop-discourse: default.yml
|
||||||
|
|
|
@ -0,0 +1,4 @@
|
||||||
|
module.exports = {
|
||||||
|
plugins: ["ember-template-lint-plugin-discourse"],
|
||||||
|
extends: "discourse:recommended",
|
||||||
|
};
|
|
@ -10,6 +10,6 @@ export default Ember.Component.extend({
|
||||||
selectCategory() {
|
selectCategory() {
|
||||||
this.selectCategory(this.category);
|
this.selectCategory(this.category);
|
||||||
return false;
|
return false;
|
||||||
}
|
},
|
||||||
}
|
},
|
||||||
});
|
});
|
||||||
|
|
|
@ -3,13 +3,13 @@ import debounce from "discourse/lib/debounce";
|
||||||
export default Ember.Component.extend({
|
export default Ember.Component.extend({
|
||||||
classNames: "knowledge-explorer-search",
|
classNames: "knowledge-explorer-search",
|
||||||
|
|
||||||
debouncedSearch: debounce(function(term) {
|
debouncedSearch: debounce(function (term) {
|
||||||
this.onSearch(term);
|
this.onSearch(term);
|
||||||
}, 500),
|
}, 500),
|
||||||
|
|
||||||
actions: {
|
actions: {
|
||||||
onSearchTermChange(term) {
|
onSearchTermChange(term) {
|
||||||
this.debouncedSearch(term);
|
this.debouncedSearch(term);
|
||||||
}
|
},
|
||||||
}
|
},
|
||||||
});
|
});
|
||||||
|
|
|
@ -4,6 +4,6 @@ export default Ember.Component.extend({
|
||||||
selectTag() {
|
selectTag() {
|
||||||
this.selectTag(this.tag);
|
this.selectTag(this.tag);
|
||||||
return false;
|
return false;
|
||||||
}
|
},
|
||||||
}
|
},
|
||||||
});
|
});
|
||||||
|
|
|
@ -29,6 +29,6 @@ export default Ember.Component.extend({
|
||||||
sortListTitle() {
|
sortListTitle() {
|
||||||
this.sortBy("title");
|
this.sortBy("title");
|
||||||
return false;
|
return false;
|
||||||
}
|
},
|
||||||
}
|
},
|
||||||
});
|
});
|
||||||
|
|
|
@ -6,14 +6,14 @@ export default Ember.Component.extend({
|
||||||
|
|
||||||
originalPostContent: reads("post.cooked"),
|
originalPostContent: reads("post.cooked"),
|
||||||
|
|
||||||
post: computed("topic", function() {
|
post: computed("topic", function () {
|
||||||
return this.store.createRecord(
|
return this.store.createRecord(
|
||||||
"post",
|
"post",
|
||||||
this.topic.post_stream.posts.firstObject
|
this.topic.post_stream.posts.firstObject
|
||||||
);
|
);
|
||||||
}),
|
}),
|
||||||
|
|
||||||
model: computed("post", "topic", function() {
|
model: computed("post", "topic", function () {
|
||||||
const post = this.post;
|
const post = this.post;
|
||||||
|
|
||||||
if (!post.topic) {
|
if (!post.topic) {
|
||||||
|
@ -37,5 +37,5 @@ export default Ember.Component.extend({
|
||||||
document
|
document
|
||||||
.querySelector("body")
|
.querySelector("body")
|
||||||
.classList.remove("archetype-knowledge-explorer-topic");
|
.classList.remove("archetype-knowledge-explorer-topic");
|
||||||
}
|
},
|
||||||
});
|
});
|
||||||
|
|
|
@ -7,7 +7,7 @@ import { getOwner } from "@ember/application";
|
||||||
|
|
||||||
function mergeCategories(results) {
|
function mergeCategories(results) {
|
||||||
const categories = Category.list();
|
const categories = Category.list();
|
||||||
const topics = results.topics.topic_list.topics.map(t => {
|
const topics = results.topics.topic_list.topics.map((t) => {
|
||||||
t.category = categories.findBy("id", t.category_id);
|
t.category = categories.findBy("id", t.category_id);
|
||||||
return t;
|
return t;
|
||||||
});
|
});
|
||||||
|
@ -26,7 +26,7 @@ export default Ember.Controller.extend({
|
||||||
filterSolved: "solved",
|
filterSolved: "solved",
|
||||||
orderColumn: "order",
|
orderColumn: "order",
|
||||||
searchTerm: "search",
|
searchTerm: "search",
|
||||||
selectedTopic: "topic"
|
selectedTopic: "topic",
|
||||||
},
|
},
|
||||||
isLoading: false,
|
isLoading: false,
|
||||||
isLoadingMore: false,
|
isLoadingMore: false,
|
||||||
|
@ -107,15 +107,15 @@ export default Ember.Controller.extend({
|
||||||
setSelectedTopic(topicId) {
|
setSelectedTopic(topicId) {
|
||||||
this.setProperties({
|
this.setProperties({
|
||||||
isTopicLoading: true,
|
isTopicLoading: true,
|
||||||
selectedTopic: topicId
|
selectedTopic: topicId,
|
||||||
});
|
});
|
||||||
|
|
||||||
window.scrollTo(0, 0);
|
window.scrollTo(0, 0);
|
||||||
|
|
||||||
KnowledgeExplorer.getTopic(topicId).then(result => {
|
KnowledgeExplorer.getTopic(topicId).then((result) => {
|
||||||
this.setProperties({
|
this.setProperties({
|
||||||
topic: Topic.create(result),
|
topic: Topic.create(result),
|
||||||
isTopicLoading: false
|
isTopicLoading: false,
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
@ -140,7 +140,7 @@ export default Ember.Controller.extend({
|
||||||
|
|
||||||
this.setProperties({
|
this.setProperties({
|
||||||
filterTags: filter,
|
filterTags: filter,
|
||||||
selectedTopic: null
|
selectedTopic: null,
|
||||||
});
|
});
|
||||||
|
|
||||||
this.send("refreshModel");
|
this.send("refreshModel");
|
||||||
|
@ -160,7 +160,7 @@ export default Ember.Controller.extend({
|
||||||
|
|
||||||
this.setProperties({
|
this.setProperties({
|
||||||
filterCategories: filter,
|
filterCategories: filter,
|
||||||
selectedTopic: null
|
selectedTopic: null,
|
||||||
});
|
});
|
||||||
|
|
||||||
this.send("refreshModel");
|
this.send("refreshModel");
|
||||||
|
@ -179,7 +179,7 @@ export default Ember.Controller.extend({
|
||||||
|
|
||||||
this.setProperties({
|
this.setProperties({
|
||||||
searchTerm: term,
|
searchTerm: term,
|
||||||
selectedTopic: null
|
selectedTopic: null,
|
||||||
});
|
});
|
||||||
|
|
||||||
this.send("refreshModel");
|
this.send("refreshModel");
|
||||||
|
@ -204,14 +204,14 @@ export default Ember.Controller.extend({
|
||||||
if (this.canLoadMore && !this.isLoadingMore) {
|
if (this.canLoadMore && !this.isLoadingMore) {
|
||||||
this.set("isLoadingMore", true);
|
this.set("isLoadingMore", true);
|
||||||
|
|
||||||
KnowledgeExplorer.loadMore(this.loadMoreUrl).then(result => {
|
KnowledgeExplorer.loadMore(this.loadMoreUrl).then((result) => {
|
||||||
result = mergeCategories(result);
|
result = mergeCategories(result);
|
||||||
const topics = this.topics.concat(result.topics.topic_list.topics);
|
const topics = this.topics.concat(result.topics.topic_list.topics);
|
||||||
|
|
||||||
this.setProperties({
|
this.setProperties({
|
||||||
topics,
|
topics,
|
||||||
loadMoreUrl: result.topics.load_more_url || null,
|
loadMoreUrl: result.topics.load_more_url || null,
|
||||||
isLoadingMore: false
|
isLoadingMore: false,
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -229,11 +229,11 @@ export default Ember.Controller.extend({
|
||||||
"orderColumn"
|
"orderColumn"
|
||||||
);
|
);
|
||||||
|
|
||||||
KnowledgeExplorer.list(params).then(result => {
|
KnowledgeExplorer.list(params).then((result) => {
|
||||||
result = mergeCategories(result);
|
result = mergeCategories(result);
|
||||||
this.setProperties({
|
this.setProperties({
|
||||||
model: result,
|
model: result,
|
||||||
isLoading: false
|
isLoading: false,
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
@ -248,10 +248,8 @@ export default Ember.Controller.extend({
|
||||||
|
|
||||||
returnToList() {
|
returnToList() {
|
||||||
this.set("selectedTopic", null);
|
this.set("selectedTopic", null);
|
||||||
getOwner(this)
|
getOwner(this).lookup("router:main").transitionTo("knowledgeExplorer");
|
||||||
.lookup("router:main")
|
|
||||||
.transitionTo("knowledgeExplorer");
|
|
||||||
this.send("refreshModel");
|
this.send("refreshModel");
|
||||||
}
|
},
|
||||||
}
|
},
|
||||||
});
|
});
|
||||||
|
|
|
@ -5,7 +5,7 @@ function initialize(api) {
|
||||||
return {
|
return {
|
||||||
route: "knowledgeExplorer",
|
route: "knowledgeExplorer",
|
||||||
label: "knowledge_explorer.title",
|
label: "knowledge_explorer.title",
|
||||||
className: "knowledge-explorer-link"
|
className: "knowledge-explorer-link",
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -20,6 +20,6 @@ export default {
|
||||||
if (!siteSettings.knowledge_explorer_enabled) {
|
if (!siteSettings.knowledge_explorer_enabled) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
withPluginApi("0.8", api => initialize(api, container));
|
withPluginApi("0.8", (api) => initialize(api, container));
|
||||||
}
|
},
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
export default function() {
|
export default function () {
|
||||||
this.route("knowledgeExplorer", { path: "/docs" });
|
this.route("knowledgeExplorer", { path: "/docs" });
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,16 +20,16 @@ export default {
|
||||||
let promise = ajax(`/docs.json?${filters.join("&")}`);
|
let promise = ajax(`/docs.json?${filters.join("&")}`);
|
||||||
|
|
||||||
if (params.selectedTopic) {
|
if (params.selectedTopic) {
|
||||||
promise = promise.then(data => {
|
promise = promise.then((data) => {
|
||||||
return getTopic(params.selectedTopic).then(topic => {
|
return getTopic(params.selectedTopic).then((topic) => {
|
||||||
data.topic = Topic.create(topic);
|
data.topic = Topic.create(topic);
|
||||||
return data;
|
return data;
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
promise = promise.then(data => {
|
promise = promise.then((data) => {
|
||||||
data.topics.topic_list.topics = data.topics.topic_list.topics.map(
|
data.topics.topic_list.topics = data.topics.topic_list.topics.map(
|
||||||
topic => {
|
(topic) => {
|
||||||
topic = Topic.create(topic);
|
topic = Topic.create(topic);
|
||||||
return topic;
|
return topic;
|
||||||
}
|
}
|
||||||
|
@ -44,9 +44,9 @@ export default {
|
||||||
loadMore(loadMoreUrl) {
|
loadMore(loadMoreUrl) {
|
||||||
let promise = ajax(loadMoreUrl);
|
let promise = ajax(loadMoreUrl);
|
||||||
|
|
||||||
promise = promise.then(data => {
|
promise = promise.then((data) => {
|
||||||
data.topics.topic_list.topics = data.topics.topic_list.topics.map(
|
data.topics.topic_list.topics = data.topics.topic_list.topics.map(
|
||||||
topic => {
|
(topic) => {
|
||||||
topic = Topic.create(topic);
|
topic = Topic.create(topic);
|
||||||
return topic;
|
return topic;
|
||||||
}
|
}
|
||||||
|
@ -57,5 +57,5 @@ export default {
|
||||||
return promise;
|
return promise;
|
||||||
},
|
},
|
||||||
|
|
||||||
getTopic
|
getTopic,
|
||||||
};
|
};
|
||||||
|
|
|
@ -4,8 +4,8 @@ import KnowledgeExplorer from "discourse/plugins/discourse-knowledge-explorer/di
|
||||||
export default Ember.Route.extend({
|
export default Ember.Route.extend({
|
||||||
queryParams: {
|
queryParams: {
|
||||||
searchTerm: {
|
searchTerm: {
|
||||||
replace: true
|
replace: true,
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
model(params) {
|
model(params) {
|
||||||
|
@ -17,7 +17,7 @@ export default Ember.Route.extend({
|
||||||
|
|
||||||
let topics = model.topics.topic_list.topics;
|
let topics = model.topics.topic_list.topics;
|
||||||
|
|
||||||
topics = topics.map(t => {
|
topics = topics.map((t) => {
|
||||||
t.category = categories.findBy("id", t.category_id);
|
t.category = categories.findBy("id", t.category_id);
|
||||||
return t;
|
return t;
|
||||||
});
|
});
|
||||||
|
@ -26,5 +26,5 @@ export default Ember.Route.extend({
|
||||||
|
|
||||||
controller.set("topic", model.topic);
|
controller.set("topic", model.topic);
|
||||||
controller.set("model", model);
|
controller.set("model", model);
|
||||||
}
|
},
|
||||||
});
|
});
|
||||||
|
|
|
@ -0,0 +1,7 @@
|
||||||
|
{
|
||||||
|
"author": "Discourse",
|
||||||
|
"license": "MIT",
|
||||||
|
"devDependencies": {
|
||||||
|
"eslint-config-discourse": "latest"
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue