DEV: apply coding standards (#9)

This commit is contained in:
Joffrey JAFFEUX 2020-09-04 13:22:46 +02:00 committed by GitHub
parent 2f59883fb6
commit 8a5b3201b9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
16 changed files with 1654 additions and 136 deletions

View File

@ -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"
} }

3
.gitignore vendored
View File

@ -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-*

View File

@ -1 +1,2 @@
inherit_from: https://raw.githubusercontent.com/discourse/discourse/master/.rubocop.yml inherit_gem:
rubocop-discourse: default.yml

4
.template-lintrc.js Normal file
View File

@ -0,0 +1,4 @@
module.exports = {
plugins: ["ember-template-lint-plugin-discourse"],
extends: "discourse:recommended",
};

View File

@ -10,6 +10,6 @@ export default Ember.Component.extend({
selectCategory() { selectCategory() {
this.selectCategory(this.category); this.selectCategory(this.category);
return false; return false;
} },
} },
}); });

View File

@ -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);
} },
} },
}); });

View File

@ -4,6 +4,6 @@ export default Ember.Component.extend({
selectTag() { selectTag() {
this.selectTag(this.tag); this.selectTag(this.tag);
return false; return false;
} },
} },
}); });

View File

@ -29,6 +29,6 @@ export default Ember.Component.extend({
sortListTitle() { sortListTitle() {
this.sortBy("title"); this.sortBy("title");
return false; return false;
} },
} },
}); });

View File

@ -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");
} },
}); });

View File

@ -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");
} },
} },
}); });

View File

@ -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));
} },
}; };

View File

@ -1,3 +1,3 @@
export default function() { export default function () {
this.route("knowledgeExplorer", { path: "/docs" }); this.route("knowledgeExplorer", { path: "/docs" });
} }

View File

@ -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,
}; };

View File

@ -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);
} },
}); });

7
package.json Normal file
View File

@ -0,0 +1,7 @@
{
"author": "Discourse",
"license": "MIT",
"devDependencies": {
"eslint-config-discourse": "latest"
}
}

1595
yarn.lock Normal file

File diff suppressed because it is too large Load Diff