summaryrefslogtreecommitdiff
path: root/client/js/models
diff options
context:
space:
mode:
authorShyam Sunder <sgsunder1@gmail.com>2020-06-05 18:03:37 -0400
committerShyam Sunder <sgsunder1@gmail.com>2020-06-06 08:58:23 -0400
commit57193b57157b7a42896c887a2d5930493ac7b290 (patch)
tree9555453a944caae64d8a00e4b073482d9e7fb244 /client/js/models
parentc06aaa63af977e64ef08bfba7829214f0f0ed38e (diff)
client+server: implement code autoformatting using prettier and black
Diffstat (limited to 'client/js/models')
-rw-r--r--client/js/models/abstract_list.js46
-rw-r--r--client/js/models/comment.js76
-rw-r--r--client/js/models/comment_list.js11
-rw-r--r--client/js/models/info.js28
-rw-r--r--client/js/models/note.js10
-rw-r--r--client/js/models/note_list.js11
-rw-r--r--client/js/models/point.js12
-rw-r--r--client/js/models/point_list.js8
-rw-r--r--client/js/models/pool.js92
-rw-r--r--client/js/models/pool_category.js61
-rw-r--r--client/js/models/pool_category_list.js46
-rw-r--r--client/js/models/pool_list.js34
-rw-r--r--client/js/models/post.js291
-rw-r--r--client/js/models/post_list.js52
-rw-r--r--client/js/models/settings.js22
-rw-r--r--client/js/models/snapshot.js6
-rw-r--r--client/js/models/snapshot_list.js33
-rw-r--r--client/js/models/tag.js96
-rw-r--r--client/js/models/tag_category.js61
-rw-r--r--client/js/models/tag_category_list.js46
-rw-r--r--client/js/models/tag_list.js42
-rw-r--r--client/js/models/top_navigation.js54
-rw-r--r--client/js/models/user.js68
-rw-r--r--client/js/models/user_list.js34
-rw-r--r--client/js/models/user_token.js74
25 files changed, 724 insertions, 590 deletions
diff --git a/client/js/models/abstract_list.js b/client/js/models/abstract_list.js
index fb4dec8..7cf518c 100644
--- a/client/js/models/abstract_list.js
+++ b/client/js/models/abstract_list.js
@@ -1,6 +1,6 @@
-'use strict';
+"use strict";
-const events = require('../events.js');
+const events = require("../events.js");
class AbstractList extends events.EventTarget {
constructor() {
@@ -13,13 +13,15 @@ class AbstractList extends events.EventTarget {
for (let item of response) {
const addedItem = this._itemClass.fromResponse(item);
if (addedItem.addEventListener) {
- addedItem.addEventListener('delete', e => {
+ addedItem.addEventListener("delete", (e) => {
ret.remove(addedItem);
});
- addedItem.addEventListener('change', e => {
- ret.dispatchEvent(new CustomEvent('change', {
- detail: e.detail,
- }));
+ addedItem.addEventListener("change", (e) => {
+ ret.dispatchEvent(
+ new CustomEvent("change", {
+ detail: e.detail,
+ })
+ );
});
}
ret._list.push(addedItem);
@@ -29,28 +31,32 @@ class AbstractList extends events.EventTarget {
sync(plainList) {
this.clear();
- for (let item of (plainList || [])) {
+ for (let item of plainList || []) {
this.add(this.constructor._itemClass.fromResponse(item));
}
}
add(item) {
if (item.addEventListener) {
- item.addEventListener('delete', e => {
+ item.addEventListener("delete", (e) => {
this.remove(item);
});
- item.addEventListener('change', e => {
- this.dispatchEvent(new CustomEvent('change', {
- detail: e.detail,
- }));
+ item.addEventListener("change", (e) => {
+ this.dispatchEvent(
+ new CustomEvent("change", {
+ detail: e.detail,
+ })
+ );
});
}
this._list.push(item);
const detail = {};
detail[this.constructor._itemName] = item;
- this.dispatchEvent(new CustomEvent('add', {
- detail: detail,
- }));
+ this.dispatchEvent(
+ new CustomEvent("add", {
+ detail: detail,
+ })
+ );
}
clear() {
@@ -67,9 +73,11 @@ class AbstractList extends events.EventTarget {
this._list.splice(index, 1);
const detail = {};
detail[this.constructor._itemName] = itemToRemove;
- this.dispatchEvent(new CustomEvent('remove', {
- detail: detail,
- }));
+ this.dispatchEvent(
+ new CustomEvent("remove", {
+ detail: detail,
+ })
+ );
return;
}
}
diff --git a/client/js/models/comment.js b/client/js/models/comment.js
index e292ec4..4707a3a 100644
--- a/client/js/models/comment.js
+++ b/client/js/models/comment.js
@@ -1,8 +1,8 @@
-'use strict';
+"use strict";
-const api = require('../api.js');
-const uri = require('../util/uri.js');
-const events = require('../events.js');
+const api = require("../api.js");
+const uri = require("../util/uri.js");
+const events = require("../events.js");
class Comment extends events.EventTarget {
constructor() {
@@ -31,7 +31,7 @@ class Comment extends events.EventTarget {
}
get text() {
- return this._text || '';
+ return this._text || "";
}
get user() {
@@ -63,47 +63,57 @@ class Comment extends events.EventTarget {
version: this._version,
text: this._text,
};
- let promise = this._id ?
- api.put(uri.formatApiLink('comment', this.id), detail) :
- api.post(uri.formatApiLink('comments'),
- Object.assign({postId: this._postId}, detail));
+ let promise = this._id
+ ? api.put(uri.formatApiLink("comment", this.id), detail)
+ : api.post(
+ uri.formatApiLink("comments"),
+ Object.assign({ postId: this._postId }, detail)
+ );
- return promise.then(response => {
+ return promise.then((response) => {
this._updateFromResponse(response);
- this.dispatchEvent(new CustomEvent('change', {
- detail: {
- comment: this,
- },
- }));
+ this.dispatchEvent(
+ new CustomEvent("change", {
+ detail: {
+ comment: this,
+ },
+ })
+ );
return Promise.resolve();
});
}
delete() {
- return api.delete(
- uri.formatApiLink('comment', this.id),
- {version: this._version})
- .then(response => {
- this.dispatchEvent(new CustomEvent('delete', {
- detail: {
- comment: this,
- },
- }));
+ return api
+ .delete(uri.formatApiLink("comment", this.id), {
+ version: this._version,
+ })
+ .then((response) => {
+ this.dispatchEvent(
+ new CustomEvent("delete", {
+ detail: {
+ comment: this,
+ },
+ })
+ );
return Promise.resolve();
});
}
setScore(score) {
- return api.put(
- uri.formatApiLink('comment', this.id, 'score'),
- {score: score})
- .then(response => {
+ return api
+ .put(uri.formatApiLink("comment", this.id, "score"), {
+ score: score,
+ })
+ .then((response) => {
this._updateFromResponse(response);
- this.dispatchEvent(new CustomEvent('changeScore', {
- detail: {
- comment: this,
- },
- }));
+ this.dispatchEvent(
+ new CustomEvent("changeScore", {
+ detail: {
+ comment: this,
+ },
+ })
+ );
return Promise.resolve();
});
}
diff --git a/client/js/models/comment_list.js b/client/js/models/comment_list.js
index a8e1150..bae2d7a 100644
--- a/client/js/models/comment_list.js
+++ b/client/js/models/comment_list.js
@@ -1,12 +1,11 @@
-'use strict';
+"use strict";
-const AbstractList = require('./abstract_list.js');
-const Comment = require('./comment.js');
+const AbstractList = require("./abstract_list.js");
+const Comment = require("./comment.js");
-class CommentList extends AbstractList {
-}
+class CommentList extends AbstractList {}
CommentList._itemClass = Comment;
-CommentList._itemName = 'comment';
+CommentList._itemName = "comment";
module.exports = CommentList;
diff --git a/client/js/models/info.js b/client/js/models/info.js
index 35ba867..6b03b38 100644
--- a/client/js/models/info.js
+++ b/client/js/models/info.js
@@ -1,22 +1,20 @@
-'use strict';
+"use strict";
-const api = require('../api.js');
-const uri = require('../util/uri.js');
-const Post = require('./post.js');
+const api = require("../api.js");
+const uri = require("../util/uri.js");
+const Post = require("./post.js");
class Info {
static get() {
- return api.get(uri.formatApiLink('info'))
- .then(response => {
- return Promise.resolve(Object.assign(
- {},
- response,
- {
- featuredPost: response.featuredPost ?
- Post.fromResponse(response.featuredPost) :
- undefined
- }));
- });
+ return api.get(uri.formatApiLink("info")).then((response) => {
+ return Promise.resolve(
+ Object.assign({}, response, {
+ featuredPost: response.featuredPost
+ ? Post.fromResponse(response.featuredPost)
+ : undefined,
+ })
+ );
+ });
}
}
diff --git a/client/js/models/note.js b/client/js/models/note.js
index 1709d44..87c8b3b 100644
--- a/client/js/models/note.js
+++ b/client/js/models/note.js
@@ -1,13 +1,13 @@
-'use strict';
+"use strict";
-const events = require('../events.js');
-const Point = require('./point.js');
-const PointList = require('./point_list.js');
+const events = require("../events.js");
+const Point = require("./point.js");
+const PointList = require("./point_list.js");
class Note extends events.EventTarget {
constructor() {
super();
- this._text = '…';
+ this._text = "…";
this._polygon = new PointList();
}
diff --git a/client/js/models/note_list.js b/client/js/models/note_list.js
index b54d7f3..10db435 100644
--- a/client/js/models/note_list.js
+++ b/client/js/models/note_list.js
@@ -1,12 +1,11 @@
-'use strict';
+"use strict";
-const AbstractList = require('./abstract_list.js');
-const Note = require('./note.js');
+const AbstractList = require("./abstract_list.js");
+const Note = require("./note.js");
-class NoteList extends AbstractList {
-}
+class NoteList extends AbstractList {}
NoteList._itemClass = Note;
-NoteList._itemName = 'note';
+NoteList._itemName = "note";
module.exports = NoteList;
diff --git a/client/js/models/point.js b/client/js/models/point.js
index bbb05ec..70b4961 100644
--- a/client/js/models/point.js
+++ b/client/js/models/point.js
@@ -1,6 +1,6 @@
-'use strict';
+"use strict";
-const events = require('../events.js');
+const events = require("../events.js");
class Point extends events.EventTarget {
constructor(x, y) {
@@ -19,12 +19,16 @@ class Point extends events.EventTarget {
set x(value) {
this._x = value;
- this.dispatchEvent(new CustomEvent('change', {detail: {point: this}}));
+ this.dispatchEvent(
+ new CustomEvent("change", { detail: { point: this } })
+ );
}
set y(value) {
this._y = value;
- this.dispatchEvent(new CustomEvent('change', {detail: {point: this}}));
+ this.dispatchEvent(
+ new CustomEvent("change", { detail: { point: this } })
+ );
}
}
diff --git a/client/js/models/point_list.js b/client/js/models/point_list.js
index 166e664..3ecd7d7 100644
--- a/client/js/models/point_list.js
+++ b/client/js/models/point_list.js
@@ -1,7 +1,7 @@
-'use strict';
+"use strict";
-const AbstractList = require('./abstract_list.js');
-const Point = require('./point.js');
+const AbstractList = require("./abstract_list.js");
+const Point = require("./point.js");
class PointList extends AbstractList {
get firstPoint() {
@@ -18,6 +18,6 @@ class PointList extends AbstractList {
}
PointList._itemClass = Point;
-PointList._itemName = 'point';
+PointList._itemName = "point";
module.exports = PointList;
diff --git a/client/js/models/pool.js b/client/js/models/pool.js
index 8a86e12..51fa8a0 100644
--- a/client/js/models/pool.js
+++ b/client/js/models/pool.js
@@ -1,13 +1,13 @@
-'use strict';
+"use strict";
-const api = require('../api.js');
-const uri = require('../util/uri.js');
-const events = require('../events.js');
-const misc = require('../util/misc.js');
+const api = require("../api.js");
+const uri = require("../util/uri.js");
+const events = require("../events.js");
+const misc = require("../util/misc.js");
class Pool extends events.EventTarget {
constructor() {
- const PostList = require('./post_list.js');
+ const PostList = require("./post_list.js");
super();
this._orig = {};
@@ -70,14 +70,13 @@ class Pool extends events.EventTarget {
}
static get(id) {
- return api.get(uri.formatApiLink('pool', id))
- .then(response => {
- return Promise.resolve(Pool.fromResponse(response));
- });
+ return api.get(uri.formatApiLink("pool", id)).then((response) => {
+ return Promise.resolve(Pool.fromResponse(response));
+ });
}
save() {
- const detail = {version: this._version};
+ const detail = { version: this._version };
// send only changed fields to avoid user privilege violation
if (misc.arraysDiffer(this._names, this._orig._names, true)) {
@@ -90,62 +89,71 @@ class Pool extends events.EventTarget {
detail.description = this._description;
}
if (misc.arraysDiffer(this._posts, this._orig._posts)) {
- detail.posts = this._posts.map(post => post.id);
+ detail.posts = this._posts.map((post) => post.id);
}
- let promise = this._id ?
- api.put(uri.formatApiLink('pool', this._id), detail) :
- api.post(uri.formatApiLink('pools'), detail);
- return promise
- .then(response => {
- this._updateFromResponse(response);
- this.dispatchEvent(new CustomEvent('change', {
+ let promise = this._id
+ ? api.put(uri.formatApiLink("pool", this._id), detail)
+ : api.post(uri.formatApiLink("pools"), detail);
+ return promise.then((response) => {
+ this._updateFromResponse(response);
+ this.dispatchEvent(
+ new CustomEvent("change", {
detail: {
pool: this,
},
- }));
- return Promise.resolve();
- });
+ })
+ );
+ return Promise.resolve();
+ });
}
merge(targetId, addAlias) {
- return api.get(uri.formatApiLink('pool', targetId))
- .then(response => {
- return api.post(uri.formatApiLink('pool-merge'), {
+ return api
+ .get(uri.formatApiLink("pool", targetId))
+ .then((response) => {
+ return api.post(uri.formatApiLink("pool-merge"), {
removeVersion: this._version,
remove: this._id,
mergeToVersion: response.version,
mergeTo: targetId,
});
- }).then(response => {
+ })
+ .then((response) => {
if (!addAlias) {
return Promise.resolve(response);
}
- return api.put(uri.formatApiLink('pool', targetId), {
+ return api.put(uri.formatApiLink("pool", targetId), {
version: response.version,
names: response.names.concat(this._names),
});
- }).then(response => {
+ })
+ .then((response) => {
this._updateFromResponse(response);
- this.dispatchEvent(new CustomEvent('change', {
- detail: {
- pool: this,
- },
- }));
+ this.dispatchEvent(
+ new CustomEvent("change", {
+ detail: {
+ pool: this,
+ },
+ })
+ );
return Promise.resolve();
});
}
delete() {
- return api.delete(
- uri.formatApiLink('pool', this._id),
- {version: this._version})
- .then(response => {
- this.dispatchEvent(new CustomEvent('delete', {
- detail: {
- pool: this,
- },
- }));
+ return api
+ .delete(uri.formatApiLink("pool", this._id), {
+ version: this._version,
+ })
+ .then((response) => {
+ this.dispatchEvent(
+ new CustomEvent("delete", {
+ detail: {
+ pool: this,
+ },
+ })
+ );
return Promise.resolve();
});
}
diff --git a/client/js/models/pool_category.js b/client/js/models/pool_category.js
index 1ce4b24..8c7df46 100644
--- a/client/js/models/pool_category.js
+++ b/client/js/models/pool_category.js
@@ -1,14 +1,14 @@
-'use strict';
+"use strict";
-const api = require('../api.js');
-const uri = require('../util/uri.js');
-const events = require('../events.js');
+const api = require("../api.js");
+const uri = require("../util/uri.js");
+const events = require("../events.js");
class PoolCategory extends events.EventTarget {
constructor() {
super();
- this._name = '';
- this._color = '#000000';
+ this._name = "";
+ this._color = "#000000";
this._poolCount = 0;
this._isDefault = false;
this._origName = null;
@@ -50,7 +50,7 @@ class PoolCategory extends events.EventTarget {
}
save() {
- const detail = {version: this._version};
+ const detail = { version: this._version };
if (this.name !== this._origName) {
detail.name = this.name;
@@ -63,34 +63,39 @@ class PoolCategory extends events.EventTarget {
return Promise.resolve();
}
- let promise = this._origName ?
- api.put(
- uri.formatApiLink('pool-category', this._origName),
- detail) :
- api.post(uri.formatApiLink('pool-categories'), detail);
+ let promise = this._origName
+ ? api.put(
+ uri.formatApiLink("pool-category", this._origName),
+ detail
+ )
+ : api.post(uri.formatApiLink("pool-categories"), detail);
- return promise
- .then(response => {
- this._updateFromResponse(response);
- this.dispatchEvent(new CustomEvent('change', {
+ return promise.then((response) => {
+ this._updateFromResponse(response);
+ this.dispatchEvent(
+ new CustomEvent("change", {
detail: {
poolCategory: this,
},
- }));
- return Promise.resolve();
- });
+ })
+ );
+ return Promise.resolve();
+ });
}
delete() {
- return api.delete(
- uri.formatApiLink('pool-category', this._origName),
- {version: this._version})
- .then(response => {
- this.dispatchEvent(new CustomEvent('delete', {
- detail: {
- poolCategory: this,
- },
- }));
+ return api
+ .delete(uri.formatApiLink("pool-category", this._origName), {
+ version: this._version,
+ })
+ .then((response) => {
+ this.dispatchEvent(
+ new CustomEvent("delete", {
+ detail: {
+ poolCategory: this,
+ },
+ })
+ );
return Promise.resolve();
});
}
diff --git a/client/js/models/pool_category_list.js b/client/js/models/pool_category_list.js
index 2699620..46b7838 100644
--- a/client/js/models/pool_category_list.js
+++ b/client/js/models/pool_category_list.js
@@ -1,9 +1,9 @@
-'use strict';
+"use strict";
-const api = require('../api.js');
-const uri = require('../util/uri.js');
-const AbstractList = require('./abstract_list.js');
-const PoolCategory = require('./pool_category.js');
+const api = require("../api.js");
+const uri = require("../util/uri.js");
+const AbstractList = require("./abstract_list.js");
+const PoolCategory = require("./pool_category.js");
class PoolCategoryList extends AbstractList {
constructor() {
@@ -11,7 +11,7 @@ class PoolCategoryList extends AbstractList {
this._defaultCategory = null;
this._origDefaultCategory = null;
this._deletedCategories = [];
- this.addEventListener('remove', e => this._evtCategoryDeleted(e));
+ this.addEventListener("remove", (e) => this._evtCategoryDeleted(e));
}
static fromResponse(response) {
@@ -27,12 +27,16 @@ class PoolCategoryList extends AbstractList {
}
static get() {
- return api.get(uri.formatApiLink('pool-categories'))
- .then(response => {
- return Promise.resolve(Object.assign(
- {},
- response,
- {results: PoolCategoryList.fromResponse(response.results)}));
+ return api
+ .get(uri.formatApiLink("pool-categories"))
+ .then((response) => {
+ return Promise.resolve(
+ Object.assign({}, response, {
+ results: PoolCategoryList.fromResponse(
+ response.results
+ ),
+ })
+ );
});
}
@@ -57,16 +61,18 @@ class PoolCategoryList extends AbstractList {
promises.push(
api.put(
uri.formatApiLink(
- 'pool-category',
+ "pool-category",
this._defaultCategory.name,
- 'default')));
+ "default"
+ )
+ )
+ );
}
- return Promise.all(promises)
- .then(response => {
- this._deletedCategories = [];
- return Promise.resolve();
- });
+ return Promise.all(promises).then((response) => {
+ this._deletedCategories = [];
+ return Promise.resolve();
+ });
}
_evtCategoryDeleted(e) {
@@ -77,6 +83,6 @@ class PoolCategoryList extends AbstractList {
}
PoolCategoryList._itemClass = PoolCategory;
-PoolCategoryList._itemName = 'poolCategory';
+PoolCategoryList._itemName = "poolCategory";
module.exports = PoolCategoryList;
diff --git a/client/js/models/pool_list.js b/client/js/models/pool_list.js
index 8a3b858..a8839bb 100644
--- a/client/js/models/pool_list.js
+++ b/client/js/models/pool_list.js
@@ -1,25 +1,27 @@
-'use strict';
+"use strict";
-const api = require('../api.js');
-const uri = require('../util/uri.js');
-const AbstractList = require('./abstract_list.js');
-const Pool = require('./pool.js');
+const api = require("../api.js");
+const uri = require("../util/uri.js");
+const AbstractList = require("./abstract_list.js");
+const Pool = require("./pool.js");
class PoolList extends AbstractList {
static search(text, offset, limit, fields) {
- return api.get(
- uri.formatApiLink(
- 'pools', {
+ return api
+ .get(
+ uri.formatApiLink("pools", {
query: text,
offset: offset,
limit: limit,
- fields: fields.join(','),
- }))
- .then(response => {
- return Promise.resolve(Object.assign(
- {},
- response,
- {results: PoolList.fromResponse(response.results)}));
+ fields: fields.join(","),
+ })
+ )
+ .then((response) => {
+ return Promise.resolve(
+ Object.assign({}, response, {
+ results: PoolList.fromResponse(response.results),
+ })
+ );
});
}
@@ -42,6 +44,6 @@ class PoolList extends AbstractList {
}
PoolList._itemClass = Pool;
-PoolList._itemName = 'pool';
+PoolList._itemName = "pool";
module.exports = PoolList;
diff --git a/client/js/models/post.js b/client/js/models/post.js
index a11d3cb..e90d0b2 100644
--- a/client/js/models/post.js
+++ b/client/js/models/post.js
@@ -1,15 +1,15 @@
-'use strict';
+"use strict";
-const api = require('../api.js');
-const uri = require('../util/uri.js');
-const tags = require('../tags.js');
-const events = require('../events.js');
-const TagList = require('./tag_list.js');
-const NoteList = require('./note_list.js');
-const CommentList = require('./comment_list.js');
-const PoolList = require('./pool_list.js');
-const Pool = require('./pool.js');
-const misc = require('../util/misc.js');
+const api = require("../api.js");
+const uri = require("../util/uri.js");
+const tags = require("../tags.js");
+const events = require("../events.js");
+const TagList = require("./tag_list.js");
+const NoteList = require("./note_list.js");
+const CommentList = require("./comment_list.js");
+const PoolList = require("./pool_list.js");
+const Pool = require("./pool.js");
+const misc = require("../util/misc.js");
class Post extends events.EventTarget {
constructor() {
@@ -67,7 +67,7 @@ class Post extends events.EventTarget {
}
get sourceSplit() {
- return this._source.split('\n');
+ return this._source.split("\n");
}
get canvasWidth() {
@@ -83,11 +83,11 @@ class Post extends events.EventTarget {
}
get newContent() {
- throw 'Invalid operation';
+ throw "Invalid operation";
}
get newThumbnail() {
- throw 'Invalid operation';
+ throw "Invalid operation";
}
get flags() {
@@ -99,7 +99,7 @@ class Post extends events.EventTarget {
}
get tagNames() {
- return this._tags.map(tag => tag.names[0]);
+ return this._tags.map((tag) => tag.names[0]);
}
get notes() {
@@ -174,32 +174,31 @@ class Post extends events.EventTarget {
static reverseSearch(content) {
let apiPromise = api.post(
- uri.formatApiLink('posts', 'reverse-search'),
+ uri.formatApiLink("posts", "reverse-search"),
{},
- {content: content});
- let returnedPromise = apiPromise
- .then(response => {
- if (response.exactPost) {
- response.exactPost = Post.fromResponse(response.exactPost);
- }
- for (let item of response.similarPosts) {
- item.post = Post.fromResponse(item.post);
- }
- return Promise.resolve(response);
- });
+ { content: content }
+ );
+ let returnedPromise = apiPromise.then((response) => {
+ if (response.exactPost) {
+ response.exactPost = Post.fromResponse(response.exactPost);
+ }
+ for (let item of response.similarPosts) {
+ item.post = Post.fromResponse(item.post);
+ }
+ return Promise.resolve(response);
+ });
returnedPromise.abort = () => apiPromise.abort();
return returnedPromise;
}
static get(id) {
- return api.get(uri.formatApiLink('post', id))
- .then(response => {
- return Promise.resolve(Post.fromResponse(response));
- });
+ return api.get(uri.formatApiLink("post", id)).then((response) => {
+ return Promise.resolve(Post.fromResponse(response));
+ });
}
_savePoolPosts() {
- const difference = (a, b) => a.filter(post => !b.hasPoolId(post.id));
+ const difference = (a, b) => a.filter((post) => !b.hasPoolId(post.id));
// find the pools where the post was added or removed
const added = difference(this.pools, this._orig._pools);
@@ -209,7 +208,7 @@ class Post extends events.EventTarget {
// update each pool's list of posts
for (let pool of added) {
- let op = Pool.get(pool.id).then(response => {
+ let op = Pool.get(pool.id).then((response) => {
if (!response.posts.hasPostId(this._id)) {
response.posts.addById(this._id);
return response.save();
@@ -221,7 +220,7 @@ class Post extends events.EventTarget {
}
for (let pool of removed) {
- let op = Pool.get(pool.id).then(response => {
+ let op = Pool.get(pool.id).then((response) => {
if (response.posts.hasPostId(this._id)) {
response.posts.removeById(this._id);
return response.save();
@@ -237,7 +236,7 @@ class Post extends events.EventTarget {
save(anonymous) {
const files = {};
- const detail = {version: this._version};
+ const detail = { version: this._version };
// send only changed fields to avoid user privilege violation
if (anonymous === true) {
@@ -250,14 +249,14 @@ class Post extends events.EventTarget {
detail.flags = this._flags;
}
if (misc.arraysDiffer(this._tags, this._orig._tags)) {
- detail.tags = this._tags.map(tag => tag.names[0]);
+ detail.tags = this._tags.map((tag) => tag.names[0]);
}
if (misc.arraysDiffer(this._relations, this._orig._relations)) {
detail.relations = this._relations;
}
if (misc.arraysDiffer(this._notes, this._orig._notes)) {
- detail.notes = this._notes.map(note => ({
- polygon: note.polygon.map(point => [point.x, point.y]),
+ detail.notes = this._notes.map((note) => ({
+ polygon: note.polygon.map((point) => [point.x, point.y]),
text: note.text,
}));
}
@@ -271,154 +270,187 @@ class Post extends events.EventTarget {
detail.source = this._source;
}
- let apiPromise = this._id ?
- api.put(uri.formatApiLink('post', this.id), detail, files) :
- api.post(uri.formatApiLink('posts'), detail, files);
+ let apiPromise = this._id
+ ? api.put(uri.formatApiLink("post", this.id), detail, files)
+ : api.post(uri.formatApiLink("posts"), detail, files);
- return apiPromise.then(response => {
- if (misc.arraysDiffer(this._pools, this._orig._pools)) {
- return this._savePoolPosts()
- .then(() => Promise.resolve(response));
- }
- return Promise.resolve(response);
- }).then(response => {
- this._updateFromResponse(response);
- this.dispatchEvent(
- new CustomEvent('change', {detail: {post: this}}));
- if (this._newContent) {
- this.dispatchEvent(
- new CustomEvent('changeContent', {detail: {post: this}}));
- }
- if (this._newThumbnail) {
- this.dispatchEvent(
- new CustomEvent('changeThumbnail', {detail: {post: this}}));
- }
+ return apiPromise
+ .then((response) => {
+ if (misc.arraysDiffer(this._pools, this._orig._pools)) {
+ return this._savePoolPosts().then(() =>
+ Promise.resolve(response)
+ );
+ }
+ return Promise.resolve(response);
+ })
+ .then(
+ (response) => {
+ this._updateFromResponse(response);
+ this.dispatchEvent(
+ new CustomEvent("change", { detail: { post: this } })
+ );
+ if (this._newContent) {
+ this.dispatchEvent(
+ new CustomEvent("changeContent", {
+ detail: { post: this },
+ })
+ );
+ }
+ if (this._newThumbnail) {
+ this.dispatchEvent(
+ new CustomEvent("changeThumbnail", {
+ detail: { post: this },
+ })
+ );
+ }
- return Promise.resolve();
- }, error => {
- if (error.response &&
- error.response.name === 'PostAlreadyUploadedError') {
- error.message =
- `Post already uploaded (@${error.response.otherPostId})`;
- }
- return Promise.reject(error);
- });
+ return Promise.resolve();
+ },
+ (error) => {
+ if (
+ error.response &&
+ error.response.name === "PostAlreadyUploadedError"
+ ) {
+ error.message = `Post already uploaded (@${error.response.otherPostId})`;
+ }
+ return Promise.reject(error);
+ }
+ );
}
feature() {
- return api.post(
- uri.formatApiLink('featured-post'),
- {id: this._id})
- .then(response => {
+ return api
+ .post(uri.formatApiLink("featured-post"), { id: this._id })
+ .then((response) => {
return Promise.resolve();
});
}
delete() {
- return api.delete(
- uri.formatApiLink('post', this.id),
- {version: this._version})
- .then(response => {
- this.dispatchEvent(new CustomEvent('delete', {
- detail: {
- post: this,
- },
- }));
+ return api
+ .delete(uri.formatApiLink("post", this.id), {
+ version: this._version,
+ })
+ .then((response) => {
+ this.dispatchEvent(
+ new CustomEvent("delete", {
+ detail: {
+ post: this,
+ },
+ })
+ );
return Promise.resolve();
});
}
merge(targetId, useOldContent) {
- return api.get(uri.formatApiLink('post', targetId))
- .then(response => {
- return api.post(uri.formatApiLink('post-merge'), {
+ return api
+ .get(uri.formatApiLink("post", targetId))
+ .then((response) => {
+ return api.post(uri.formatApiLink("post-merge"), {
removeVersion: this._version,
remove: this._id,
mergeToVersion: response.version,
mergeTo: targetId,
replaceContent: useOldContent,
});
- }).then(response => {
+ })
+ .then((response) => {
this._updateFromResponse(response);
- this.dispatchEvent(new CustomEvent('change', {
- detail: {
- post: this,
- },
- }));
+ this.dispatchEvent(
+ new CustomEvent("change", {
+ detail: {
+ post: this,
+ },
+ })
+ );
return Promise.resolve();
});
}
setScore(score) {
- return api.put(
- uri.formatApiLink('post', this.id, 'score'),
- {score: score})
- .then(response => {
+ return api
+ .put(uri.formatApiLink("post", this.id, "score"), { score: score })
+ .then((response) => {
const prevFavorite = this._ownFavorite;
this._updateFromResponse(response);
if (this._ownFavorite !== prevFavorite) {
- this.dispatchEvent(new CustomEvent('changeFavorite', {
+ this.dispatchEvent(
+ new CustomEvent("changeFavorite", {
+ detail: {
+ post: this,
+ },
+ })
+ );
+ }
+ this.dispatchEvent(
+ new CustomEvent("changeScore", {
detail: {
post: this,
},
- }));
- }
- this.dispatchEvent(new CustomEvent('changeScore', {
- detail: {
- post: this,
- },
- }));
+ })
+ );
return Promise.resolve();
});
}
addToFavorites() {
- return api.post(uri.formatApiLink('post', this.id, 'favorite'))
- .then(response => {
+ return api
+ .post(uri.formatApiLink("post", this.id, "favorite"))
+ .then((response) => {
const prevScore = this._ownScore;
this._updateFromResponse(response);
if (this._ownScore !== prevScore) {
- this.dispatchEvent(new CustomEvent('changeScore', {
+ this.dispatchEvent(
+ new CustomEvent("changeScore", {
+ detail: {
+ post: this,
+ },
+ })
+ );
+ }
+ this.dispatchEvent(
+ new CustomEvent("changeFavorite", {
detail: {
post: this,
},
- }));
- }
- this.dispatchEvent(new CustomEvent('changeFavorite', {
- detail: {
- post: this,
- },
- }));
+ })
+ );
return Promise.resolve();
});
}
removeFromFavorites() {
- return api.delete(uri.formatApiLink('post', this.id, 'favorite'))
- .then(response => {
+ return api
+ .delete(uri.formatApiLink("post", this.id, "favorite"))
+ .then((response) => {
const prevScore = this._ownScore;
this._updateFromResponse(response);
if (this._ownScore !== prevScore) {
- this.dispatchEvent(new CustomEvent('changeScore', {
+ this.dispatchEvent(
+ new CustomEvent("changeScore", {
+ detail: {
+ post: this,
+ },
+ })
+ );
+ }
+ this.dispatchEvent(
+ new CustomEvent("changeFavorite", {
detail: {
post: this,
},
- }));
- }
- this.dispatchEvent(new CustomEvent('changeFavorite', {
- detail: {
- post: this,
- },
- }));
+ })
+ );
return Promise.resolve();
});
}
mutateContentUrl() {
this._contentUrl =
- this._orig._contentUrl +
- '?bypass-cache=' +
- Math.round(Math.random() * 1000);
+ this._orig._contentUrl +
+ "?bypass-cache=" +
+ Math.round(Math.random() * 1000);
}
_updateFromResponse(response) {
@@ -431,15 +463,18 @@ class Post extends events.EventTarget {
_user: response.user,
_safety: response.safety,
_contentUrl: response.contentUrl,
- _fullContentUrl: new URL(response.contentUrl, document.getElementsByTagName('base')[0].href).href,
+ _fullContentUrl: new URL(
+ response.contentUrl,
+ document.getElementsByTagName("base")[0].href
+ ).href,
_thumbnailUrl: response.thumbnailUrl,
_source: response.source,
_canvasWidth: response.canvasWidth,
_canvasHeight: response.canvasHeight,
_fileSize: response.fileSize,
- _flags: [...response.flags || []],
- _relations: [...response.relations || []],
+ _flags: [...(response.flags || [])],
+ _relations: [...(response.relations || [])],
_score: response.score,
_commentCount: response.commentCount,
diff --git a/client/js/models/post_list.js b/client/js/models/post_list.js
index cd94e40..8c2c9d4 100644
--- a/client/js/models/post_list.js
+++ b/client/js/models/post_list.js
@@ -1,35 +1,37 @@
-'use strict';
+"use strict";
-const settings = require('../models/settings.js');
-const api = require('../api.js');
-const uri = require('../util/uri.js');
-const AbstractList = require('./abstract_list.js');
-const Post = require('./post.js');
+const settings = require("../models/settings.js");
+const api = require("../api.js");
+const uri = require("../util/uri.js");
+const AbstractList = require("./abstract_list.js");
+const Post = require("./post.js");
class PostList extends AbstractList {
static getAround(id, searchQuery) {
return api.get(
- uri.formatApiLink(
- 'post', id, 'around', {
- query: PostList._decorateSearchQuery(searchQuery || ''),
- fields: 'id',
- }));
+ uri.formatApiLink("post", id, "around", {
+ query: PostList._decorateSearchQuery(searchQuery || ""),
+ fields: "id",
+ })
+ );
}
static search(text, offset, limit, fields) {
- return api.get(
- uri.formatApiLink(
- 'posts', {
- query: PostList._decorateSearchQuery(text || ''),
+ return api
+ .get(
+ uri.formatApiLink("posts", {
+ query: PostList._decorateSearchQuery(text || ""),
offset: offset,
limit: limit,
- fields: fields.join(','),
- }))
- .then(response => {
- return Promise.resolve(Object.assign(
- {},
- response,
- {results: PostList.fromResponse(response.results)}));
+ fields: fields.join(","),
+ })
+ )
+ .then((response) => {
+ return Promise.resolve(
+ Object.assign({}, response, {
+ results: PostList.fromResponse(response.results),
+ })
+ );
});
}
@@ -43,7 +45,7 @@ class PostList extends AbstractList {
}
}
if (disabledSafety.length) {
- text = `-rating:${disabledSafety.join(',')} ${text}`;
+ text = `-rating:${disabledSafety.join(",")} ${text}`;
}
}
return text.trim();
@@ -63,7 +65,7 @@ class PostList extends AbstractList {
return;
}
- let post = Post.fromResponse({id: id});
+ let post = Post.fromResponse({ id: id });
this.add(post);
}
@@ -77,6 +79,6 @@ class PostList extends AbstractList {
}
PostList._itemClass = Post;
-PostList._itemName = 'post';
+PostList._itemName = "post";
module.exports = PostList;
diff --git a/client/js/models/settings.js b/client/js/models/settings.js
index 774aa0b..bd6ac5b 100644
--- a/client/js/models/settings.js
+++ b/client/js/models/settings.js
@@ -1,6 +1,6 @@
-'use strict';
+"use strict";
-const events = require('../events.js');
+const events = require("../events.js");
const defaultSettings = {
listPosts: {
@@ -12,7 +12,7 @@ const defaultSettings = {
endlessScroll: false,
keyboardShortcuts: true,
transparencyGrid: true,
- fitMode: 'fit-both',
+ fitMode: "fit-both",
tagSuggestions: true,
autoplayVideos: false,
postsPerPage: 42,
@@ -28,7 +28,7 @@ class Settings extends events.EventTarget {
_getFromLocalStorage() {
let ret = Object.assign({}, defaultSettings);
try {
- Object.assign(ret, JSON.parse(localStorage.getItem('settings')));
+ Object.assign(ret, JSON.parse(localStorage.getItem("settings")));
} catch (e) {
// continue regardless of error
}
@@ -37,14 +37,16 @@ class Settings extends events.EventTarget {
save(newSettings, silent) {
newSettings = Object.assign(this.cache, newSettings);
- localStorage.setItem('settings', JSON.stringify(newSettings));
+ localStorage.setItem("settings", JSON.stringify(newSettings));
this.cache = this._getFromLocalStorage();
if (silent !== true) {
- this.dispatchEvent(new CustomEvent('change', {
- detail: {
- settings: this.cache,
- },
- }));
+ this.dispatchEvent(
+ new CustomEvent("change", {
+ detail: {
+ settings: this.cache,
+ },
+ })
+ );
}
}
diff --git a/client/js/models/snapshot.js b/client/js/models/snapshot.js
index cf5a308..5f8e2ae 100644
--- a/client/js/models/snapshot.js
+++ b/client/js/models/snapshot.js
@@ -1,7 +1,7 @@
-'use strict';
+"use strict";
-const api = require('../api.js');
-const events = require('../events.js');
+const api = require("../api.js");
+const events = require("../events.js");
class Snapshot extends events.EventTarget {
constructor() {
diff --git a/client/js/models/snapshot_list.js b/client/js/models/snapshot_list.js
index 475b89a..9ea1bdd 100644
--- a/client/js/models/snapshot_list.js
+++ b/client/js/models/snapshot_list.js
@@ -1,24 +1,31 @@
-'use strict';
+"use strict";
-const api = require('../api.js');
-const uri = require('../util/uri.js');
-const AbstractList = require('./abstract_list.js');
-const Snapshot = require('./snapshot.js');
+const api = require("../api.js");
+const uri = require("../util/uri.js");
+const AbstractList = require("./abstract_list.js");
+const Snapshot = require("./snapshot.js");
class SnapshotList extends AbstractList {
static search(text, offset, limit) {
- return api.get(uri.formatApiLink(
- 'snapshots', {query: text, offset: offset, limit: limit}))
- .then(response => {
- return Promise.resolve(Object.assign(
- {},
- response,
- {results: SnapshotList.fromResponse(response.results)}));
+ return api
+ .get(
+ uri.formatApiLink("snapshots", {
+ query: text,
+ offset: offset,
+ limit: limit,
+ })
+ )
+ .then((response) => {
+ return Promise.resolve(
+ Object.assign({}, response, {
+ results: SnapshotList.fromResponse(response.results),
+ })
+ );
});
}
}
SnapshotList._itemClass = Snapshot;
-SnapshotList._itemName = 'snapshot';
+SnapshotList._itemName = "snapshot";
module.exports = SnapshotList;
diff --git a/client/js/models/tag.js b/client/js/models/tag.js
index b99c63f..a5632c8 100644
--- a/client/js/models/tag.js
+++ b/client/js/models/tag.js
@@ -1,13 +1,13 @@
-'use strict';
+"use strict";
-const api = require('../api.js');
-const uri = require('../util/uri.js');
-const events = require('../events.js');
-const misc = require('../util/misc.js');
+const api = require("../api.js");
+const uri = require("../util/uri.js");
+const events = require("../events.js");
+const misc = require("../util/misc.js");
class Tag extends events.EventTarget {
constructor() {
- const TagList = require('./tag_list.js');
+ const TagList = require("./tag_list.js");
super();
this._orig = {};
@@ -71,14 +71,13 @@ class Tag extends events.EventTarget {
}
static get(name) {
- return api.get(uri.formatApiLink('tag', name))
- .then(response => {
- return Promise.resolve(Tag.fromResponse(response));
- });
+ return api.get(uri.formatApiLink("tag", name)).then((response) => {
+ return Promise.resolve(Tag.fromResponse(response));
+ });
}
save() {
- const detail = {version: this._version};
+ const detail = { version: this._version };
// send only changed fields to avoid user privilege violation
if (misc.arraysDiffer(this._names, this._orig._names, true)) {
@@ -92,66 +91,77 @@ class Tag extends events.EventTarget {
}
if (misc.arraysDiffer(this._implications, this._orig._implications)) {
detail.implications = this._implications.map(
- relation => relation.names[0]);
+ (relation) => relation.names[0]
+ );
}
if (misc.arraysDiffer(this._suggestions, this._orig._suggestions)) {
detail.suggestions = this._suggestions.map(
- relation => relation.names[0]);
+ (relation) => relation.names[0]
+ );
}
- let promise = this._origName ?
- api.put(uri.formatApiLink('tag', this._origName), detail) :
- api.post(uri.formatApiLink('tags'), detail);
- return promise
- .then(response => {
- this._updateFromResponse(response);
- this.dispatchEvent(new CustomEvent('change', {
+ let promise = this._origName
+ ? api.put(uri.formatApiLink("tag", this._origName), detail)
+ : api.post(uri.formatApiLink("tags"), detail);
+ return promise.then((response) => {
+ this._updateFromResponse(response);
+ this.dispatchEvent(
+ new CustomEvent("change", {
detail: {
tag: this,
},
- }));
- return Promise.resolve();
- });
+ })
+ );
+ return Promise.resolve();
+ });
}
merge(targetName, addAlias) {
- return api.get(uri.formatApiLink('tag', targetName))
- .then(response => {
- return api.post(uri.formatApiLink('tag-merge'), {
+ return api
+ .get(uri.formatApiLink("tag", targetName))
+ .then((response) => {
+ return api.post(uri.formatApiLink("tag-merge"), {
removeVersion: this._version,
remove: this._origName,
mergeToVersion: response.version,
mergeTo: targetName,
});
- }).then(response => {
+ })
+ .then((response) => {
if (!addAlias) {
return Promise.resolve(response);
}
- return api.put(uri.formatApiLink('tag', targetName), {
+ return api.put(uri.formatApiLink("tag", targetName), {
version: response.version,
names: response.names.concat(this._names),
});
- }).then(response => {
+ })
+ .then((response) => {
this._updateFromResponse(response);
- this.dispatchEvent(new CustomEvent('change', {
- detail: {
- tag: this,
- },
- }));
+ this.dispatchEvent(
+ new CustomEvent("change", {
+ detail: {
+ tag: this,
+ },
+ })
+ );
return Promise.resolve();
});
}
delete() {
- return api.delete(
- uri.formatApiLink('tag', this._origName),
- {version: this._version})
- .then(response => {
- this.dispatchEvent(new CustomEvent('delete', {
- detail: {
- tag: this,
- },
- }));
+ return api
+ .delete(uri.formatApiLink("tag", this._origName), {
+ version: this._version,
+ })
+ .then((response) => {
+ this.dispatchEvent(
+ new CustomEvent("delete", {
+ detail: {
+ tag: this,
+ },
+ })
+ );
return Promise.resolve();
});
}
diff --git a/client/js/models/tag_category.js b/client/js/models/tag_category.js
index 42e54d8..a8d0e64 100644
--- a/client/js/models/tag_category.js
+++ b/client/js/models/tag_category.js
@@ -1,14 +1,14 @@
-'use strict';
+"use strict";
-const api = require('../api.js');
-const uri = require('../util/uri.js');
-const events = require('../events.js');
+const api = require("../api.js");
+const uri = require("../util/uri.js");
+const events = require("../events.js");
class TagCategory extends events.EventTarget {
constructor() {
super();
- this._name = '';
- this._color = '#000000';
+ this._name = "";
+ this._color = "#000000";
this._tagCount = 0;
this._isDefault = false;
this._origName = null;
@@ -50,7 +50,7 @@ class TagCategory extends events.EventTarget {
}
save() {
- const detail = {version: this._version};
+ const detail = { version: this._version };
if (this.name !== this._origName) {
detail.name = this.name;
@@ -63,34 +63,39 @@ class TagCategory extends events.EventTarget {
return Promise.resolve();
}
- let promise = this._origName ?
- api.put(
- uri.formatApiLink('tag-category', this._origName),
- detail) :
- api.post(uri.formatApiLink('tag-categories'), detail);
+ let promise = this._origName
+ ? api.put(
+ uri.formatApiLink("tag-category", this._origName),
+ detail
+ )
+ : api.post(uri.formatApiLink("tag-categories"), detail);
- return promise
- .then(response => {
- this._updateFromResponse(response);
- this.dispatchEvent(new CustomEvent('change', {
+ return promise.then((response) => {
+ this._updateFromResponse(response);
+ this.dispatchEvent(
+ new CustomEvent("change", {
detail: {
tagCategory: this,
},
- }));
- return Promise.resolve();
- });
+ })
+ );
+ return Promise.resolve();
+ });
}
delete() {
- return api.delete(
- uri.formatApiLink('tag-category', this._origName),
- {version: this._version})
- .then(response => {
- this.dispatchEvent(new CustomEvent('delete', {
- detail: {
- tagCategory: this,
- },
- }));
+ return api
+ .delete(uri.formatApiLink("tag-category", this._origName), {
+ version: this._version,
+ })
+ .then((response) => {
+ this.dispatchEvent(
+ new CustomEvent("delete", {
+ detail: {
+ tagCategory: this,
+ },
+ })
+ );
return Promise.resolve();
});
}
diff --git a/client/js/models/tag_category_list.js b/client/js/models/tag_category_list.js
index 6c1182f..2fc1522 100644
--- a/client/js/models/tag_category_list.js
+++ b/client/js/models/tag_category_list.js
@@ -1,9 +1,9 @@
-'use strict';
+"use strict";
-const api = require('../api.js');
-const uri = require('../util/uri.js');
-const AbstractList = require('./abstract_list.js');
-const TagCategory = require('./tag_category.js');
+const api = require("../api.js");
+const uri = require("../util/uri.js");
+const AbstractList = require("./abstract_list.js");
+const TagCategory = require("./tag_category.js");
class TagCategoryList extends AbstractList {
constructor() {
@@ -11,7 +11,7 @@ class TagCategoryList extends AbstractList {
this._defaultCategory = null;
this._origDefaultCategory = null;
this._deletedCategories = [];
- this.addEventListener('remove', e => this._evtCategoryDeleted(e));
+ this.addEventListener("remove", (e) => this._evtCategoryDeleted(e));
}
static fromResponse(response) {
@@ -27,12 +27,16 @@ class TagCategoryList extends AbstractList {
}
static get() {
- return api.get(uri.formatApiLink('tag-categories'))
- .then(response => {
- return Promise.resolve(Object.assign(
- {},
- response,
- {results: TagCategoryList.fromResponse(response.results)}));
+ return api
+ .get(uri.formatApiLink("tag-categories"))
+ .then((response) => {
+ return Promise.resolve(
+ Object.assign({}, response, {
+ results: TagCategoryList.fromResponse(
+ response.results
+ ),
+ })
+ );
});
}
@@ -57,16 +61,18 @@ class TagCategoryList extends AbstractList {
promises.push(
api.put(
uri.formatApiLink(
- 'tag-category',
+ "tag-category",
this._defaultCategory.name,
- 'default')));
+ "default"
+ )
+ )
+ );
}
- return Promise.all(promises)
- .then(response => {
- this._deletedCategories = [];
- return Promise.resolve();
- });
+ return Promise.all(promises).then((response) => {
+ this._deletedCategories = [];
+ return Promise.resolve();
+ });
}
_evtCategoryDeleted(e) {
@@ -77,6 +83,6 @@ class TagCategoryList extends AbstractList {
}
TagCategoryList._itemClass = TagCategory;
-TagCategoryList._itemName = 'tagCategory';
+TagCategoryList._itemName = "tagCategory";
module.exports = TagCategoryList;
diff --git a/client/js/models/tag_list.js b/client/js/models/tag_list.js
index 31a34fa..7e6b643 100644
--- a/client/js/models/tag_list.js
+++ b/client/js/models/tag_list.js
@@ -1,25 +1,27 @@
-'use strict';
+"use strict";
-const api = require('../api.js');
-const uri = require('../util/uri.js');
-const AbstractList = require('./abstract_list.js');
-const Tag = require('./tag.js');
+const api = require("../api.js");
+const uri = require("../util/uri.js");
+const AbstractList = require("./abstract_list.js");
+const Tag = require("./tag.js");
class TagList extends AbstractList {
static search(text, offset, limit, fields) {
- return api.get(
- uri.formatApiLink(
- 'tags', {
+ return api
+ .get(
+ uri.formatApiLink("tags", {
query: text,
offset: offset,
limit: limit,
- fields: fields.join(','),
- }))
- .then(response => {
- return Promise.resolve(Object.assign(
- {},
- response,
- {results: TagList.fromResponse(response.results)}));
+ fields: fields.join(","),
+ })
+ )
+ .then((response) => {
+ return Promise.resolve(
+ Object.assign({}, response, {
+ results: TagList.fromResponse(response.results),
+ })
+ );
});
}
@@ -45,10 +47,12 @@ class TagList extends AbstractList {
this.add(tag);
if (addImplications !== false) {
- return Tag.get(tagName).then(actualTag => {
+ return Tag.get(tagName).then((actualTag) => {
return Promise.all(
- actualTag.implications.map(
- relation => this.addByName(relation.names[0], true)));
+ actualTag.implications.map((relation) =>
+ this.addByName(relation.names[0], true)
+ )
+ );
});
}
@@ -67,6 +71,6 @@ class TagList extends AbstractList {
}
TagList._itemClass = Tag;
-TagList._itemName = 'tag';
+TagList._itemName = "tag";
module.exports = TagList;
diff --git a/client/js/models/top_navigation.js b/client/js/models/top_navigation.js
index 91b8976..a469a03 100644
--- a/client/js/models/top_navigation.js
+++ b/client/js/models/top_navigation.js
@@ -1,7 +1,7 @@
-'use strict';
+"use strict";
-const events = require('../events.js');
-const api = require('../api.js');
+const events = require("../events.js");
+const api = require("../api.js");
class TopNavigationItem {
constructor(accessKey, title, url, available, imageUrl) {
@@ -44,18 +44,20 @@ class TopNavigation extends events.EventTarget {
activate(key) {
this.activeItem = null;
- this.dispatchEvent(new CustomEvent('activate', {
- detail: {
- key: key,
- item: key ? this.get(key) : null,
- },
- }));
+ this.dispatchEvent(
+ new CustomEvent("activate", {
+ detail: {
+ key: key,
+ item: key ? this.get(key) : null,
+ },
+ })
+ );
}
setTitle(title) {
api.fetchConfig().then(() => {
document.oldTitle = null;
- document.title = api.getName() + (title ? (' – ' + title) : '');
+ document.title = api.getName() + (title ? " – " + title : "");
});
}
@@ -76,24 +78,22 @@ class TopNavigation extends events.EventTarget {
function _makeTopNavigation() {
const ret = new TopNavigation();
- ret.add('home', new TopNavigationItem('H', 'Home', ''));
- ret.add('posts', new TopNavigationItem('P', 'Posts', 'posts'));
- ret.add('upload', new TopNavigationItem('U', 'Upload', 'upload'));
- ret.add('comments', new TopNavigationItem('C', 'Comments', 'comments'));
- ret.add('tags', new TopNavigationItem('T', 'Tags', 'tags'));
- ret.add('pools', new TopNavigationItem('O', 'Pools', 'pools'));
- ret.add('users', new TopNavigationItem('S', 'Users', 'users'));
- ret.add('account', new TopNavigationItem('A', 'Account', 'user/{me}'));
- ret.add('register', new TopNavigationItem('R', 'Register', 'register'));
- ret.add('login', new TopNavigationItem('L', 'Log in', 'login'));
- ret.add('logout', new TopNavigationItem('O', 'Logout', 'logout'));
- ret.add('help', new TopNavigationItem('E', 'Help', 'help'));
+ ret.add("home", new TopNavigationItem("H", "Home", ""));
+ ret.add("posts", new TopNavigationItem("P", "Posts", "posts"));
+ ret.add("upload", new TopNavigationItem("U", "Upload", "upload"));
+ ret.add("comments", new TopNavigationItem("C", "Comments", "comments"));
+ ret.add("tags", new TopNavigationItem("T", "Tags", "tags"));
+ ret.add("pools", new TopNavigationItem("O", "Pools", "pools"));
+ ret.add("users", new TopNavigationItem("S", "Users", "users"));
+ ret.add("account", new TopNavigationItem("A", "Account", "user/{me}"));
+ ret.add("register", new TopNavigationItem("R", "Register", "register"));
+ ret.add("login", new TopNavigationItem("L", "Log in", "login"));
+ ret.add("logout", new TopNavigationItem("O", "Logout", "logout"));
+ ret.add("help", new TopNavigationItem("E", "Help", "help"));
ret.add(
- 'settings',
- new TopNavigationItem(
- null,
- '<i class=\'fa fa-cog\'></i>',
- 'settings'));
+ "settings",
+ new TopNavigationItem(null, "<i class='fa fa-cog'></i>", "settings")
+ );
return ret;
}
diff --git a/client/js/models/user.js b/client/js/models/user.js
index 40fbb14..28dc3ef 100644
--- a/client/js/models/user.js
+++ b/client/js/models/user.js
@@ -1,8 +1,8 @@
-'use strict';
+"use strict";
-const api = require('../api.js');
-const uri = require('../util/uri.js');
-const events = require('../events.js');
+const api = require("../api.js");
+const uri = require("../util/uri.js");
+const events = require("../events.js");
class User extends events.EventTarget {
constructor() {
@@ -64,11 +64,11 @@ class User extends events.EventTarget {
}
get avatarContent() {
- throw 'Invalid operation';
+ throw "Invalid operation";
}
get password() {
- throw 'Invalid operation';
+ throw "Invalid operation";
}
set name(value) {
@@ -102,15 +102,14 @@ class User extends events.EventTarget {
}
static get(name) {
- return api.get(uri.formatApiLink('user', name))
- .then(response => {
- return Promise.resolve(User.fromResponse(response));
- });
+ return api.get(uri.formatApiLink("user", name)).then((response) => {
+ return Promise.resolve(User.fromResponse(response));
+ });
}
save() {
const files = [];
- const detail = {version: this._version};
+ const detail = { version: this._version };
const transient = this._orig._name;
if (this._name !== this._orig._name) {
@@ -133,33 +132,40 @@ class User extends events.EventTarget {
detail.password = this._password;
}
- let promise = this._orig._name ?
- api.put(
- uri.formatApiLink('user', this._orig._name), detail, files) :
- api.post(uri.formatApiLink('users'), detail, files);
+ let promise = this._orig._name
+ ? api.put(
+ uri.formatApiLink("user", this._orig._name),
+ detail,
+ files
+ )
+ : api.post(uri.formatApiLink("users"), detail, files);
- return promise
- .then(response => {
- this._updateFromResponse(response);
- this.dispatchEvent(new CustomEvent('change', {
+ return promise.then((response) => {
+ this._updateFromResponse(response);
+ this.dispatchEvent(
+ new CustomEvent("change", {
detail: {
user: this,
},
- }));
- return Promise.resolve();
- });
+ })
+ );
+ return Promise.resolve();
+ });
}
delete() {
- return api.delete(
- uri.formatApiLink('user', this._orig._name),
- {version: this._version})
- .then(response => {
- this.dispatchEvent(new CustomEvent('delete', {
- detail: {
- user: this,
- },
- }));
+ return api
+ .delete(uri.formatApiLink("user", this._orig._name), {
+ version: this._version,
+ })
+ .then((response) => {
+ this.dispatchEvent(
+ new CustomEvent("delete", {
+ detail: {
+ user: this,
+ },
+ })
+ );
return Promise.resolve();
});
}
diff --git a/client/js/models/user_list.js b/client/js/models/user_list.js
index d44622c..c537f8f 100644
--- a/client/js/models/user_list.js
+++ b/client/js/models/user_list.js
@@ -1,25 +1,31 @@
-'use strict';
+"use strict";
-const api = require('../api.js');
-const uri = require('../util/uri.js');
-const AbstractList = require('./abstract_list.js');
-const User = require('./user.js');
+const api = require("../api.js");
+const uri = require("../util/uri.js");
+const AbstractList = require("./abstract_list.js");
+const User = require("./user.js");
class UserList extends AbstractList {
static search(text, offset, limit) {
- return api.get(
- uri.formatApiLink(
- 'users', {query: text, offset: offset, limit: limit}))
- .then(response => {
- return Promise.resolve(Object.assign(
- {},
- response,
- {results: UserList.fromResponse(response.results)}));
+ return api
+ .get(
+ uri.formatApiLink("users", {
+ query: text,
+ offset: offset,
+ limit: limit,
+ })
+ )
+ .then((response) => {
+ return Promise.resolve(
+ Object.assign({}, response, {
+ results: UserList.fromResponse(response.results),
+ })
+ );
});
}
}
UserList._itemClass = User;
-UserList._itemName = 'user';
+UserList._itemName = "user";
module.exports = UserList;
diff --git a/client/js/models/user_token.js b/client/js/models/user_token.js
index e49f5aa..c9d28a2 100644
--- a/client/js/models/user_token.js
+++ b/client/js/models/user_token.js
@@ -1,8 +1,8 @@
-'use strict';
+"use strict";
-const api = require('../api.js');
-const uri = require('../util/uri.js');
-const events = require('../events.js');
+const api = require("../api.js");
+const uri = require("../util/uri.js");
+const events = require("../events.js");
class UserToken extends events.EventTarget {
constructor() {
@@ -48,12 +48,12 @@ class UserToken extends events.EventTarget {
}
static fromResponse(response) {
- if (typeof response.results !== 'undefined') {
+ if (typeof response.results !== "undefined") {
let tokenList = [];
for (let responseToken of response.results) {
const token = new UserToken();
token._updateFromResponse(responseToken);
- tokenList.push(token)
+ tokenList.push(token);
}
return tokenList;
} else {
@@ -64,15 +64,16 @@ class UserToken extends events.EventTarget {
}
static get(userName) {
- return api.get(uri.formatApiLink('user-tokens', userName))
- .then(response => {
+ return api
+ .get(uri.formatApiLink("user-tokens", userName))
+ .then((response) => {
return Promise.resolve(UserToken.fromResponse(response));
});
}
static create(userName, note, expirationTime) {
let userTokenRequest = {
- enabled: true
+ enabled: true,
};
if (note) {
userTokenRequest.note = note;
@@ -80,43 +81,54 @@ class UserToken extends events.EventTarget {
if (expirationTime) {
userTokenRequest.expirationTime = expirationTime;
}
- return api.post(uri.formatApiLink('user-token', userName), userTokenRequest)
- .then(response => {
- return Promise.resolve(UserToken.fromResponse(response))
+ return api
+ .post(uri.formatApiLink("user-token", userName), userTokenRequest)
+ .then((response) => {
+ return Promise.resolve(UserToken.fromResponse(response));
});
}
save(userName) {
- const detail = {version: this._version};
+ const detail = { version: this._version };
if (this._note !== this._orig._note) {
detail.note = this._note;
}
- return api.put(
- uri.formatApiLink('user-token', userName, this._orig._token),
- detail)
- .then(response => {
+ return api
+ .put(
+ uri.formatApiLink("user-token", userName, this._orig._token),
+ detail
+ )
+ .then((response) => {
this._updateFromResponse(response);
- this.dispatchEvent(new CustomEvent('change', {
- detail: {
- userToken: this,
- },
- }));
+ this.dispatchEvent(
+ new CustomEvent("change", {
+ detail: {
+ userToken: this,
+ },
+ })
+ );
return Promise.resolve(this);
});
}
delete(userName) {
- return api.delete(
- uri.formatApiLink('user-token', userName, this._orig._token),
- {version: this._version})
- .then(response => {
- this.dispatchEvent(new CustomEvent('delete', {
- detail: {
- userToken: this,
- },
- }));
+ return api
+ .delete(
+ uri.formatApiLink("user-token", userName, this._orig._token),
+ {
+ version: this._version,
+ }
+ )
+ .then((response) => {
+ this.dispatchEvent(
+ new CustomEvent("delete", {
+ detail: {
+ userToken: this,
+ },
+ })
+ );
return Promise.resolve();
});
}